Commit 4c322233 authored by dcy's avatar dcy

Merge remote-tracking branch 'origin/dev' into dev

parents 392f6865 35d212d3
...@@ -34,6 +34,15 @@ export function getNode(id) { ...@@ -34,6 +34,15 @@ export function getNode(id) {
}) })
} }
// 获得服务网点分页
export function getNodeList(query) {
return request({
url: '/ecw/node/list',
method: 'get',
params: query
})
}
// 获得服务网点分页 // 获得服务网点分页
export function getNodePage(query) { export function getNodePage(query) {
return request({ return request({
......
...@@ -91,6 +91,16 @@ export const constantRoutes = [ ...@@ -91,6 +91,16 @@ export const constantRoutes = [
meta: {title: '字典数据', icon: '', activeMenu: '/system/dict'} meta: {title: '字典数据', icon: '', activeMenu: '/system/dict'}
} }
] ]
}, {
path: '/c',
component: Layout,
hidden: true,
children: [{
path: 'ecw/customer/edit/:customerId(\\d+)',
component: (resolve) => require(['@/views/ecw/customer/edit'], resolve),
name: 'Data',
meta: {title: '字典数据', icon: '', activeMenu: '/system/dict'}
}]
}, { }, {
path: '/job', path: '/job',
component: Layout, component: Layout,
......
<template>
<div>
<el-row type="flex" style="margin-top: 15px;margin-bottom: 15px" justify="center">
<el-col :xs="24" :sm="24" :md="24" :lg="20" :xl="16">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="客户名称" prop="name">
<el-input v-model="form.name" placeholder="请输入客户名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="国家" prop="country">
<el-select v-model="form.country" placeholder="请选择国家">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COUNTRY)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户等级" prop="level">
<el-select v-model="form.level" placeholder="请选择客户等级">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址" prop="address">
<el-input v-model="form.address" placeholder="请输入联系地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户类别" prop="type">
<el-select v-model="form.type" placeholder="请选择客户类别">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="所属代理" prop="agentId">-->
<!-- <el-select v-model="form.agentId" placeholder="请选择所属代理">-->
<!-- <el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"-->
<!-- :key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12">
<el-form-item label="常用提货网点" prop="pickupPoint">
<el-select v-model="form.pickupPoint" placeholder="请输入常用提货网点">
<el-option v-for="node in nodeList"
:key="node.id" :label="node.titleZh" :value="node.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司名称" prop="company">
<el-input v-model="form.company" placeholder="请输入公司名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户生日" prop="birthday">
<el-date-picker
v-model="form.birthday"
type="date"
value-format="timestamp"
placeholder="请输入客户生日">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="主营类别" prop="productType">
<el-cascader :options="productTypeList" :props="{label: 'titleZh', value: 'id', lazy: true, lazyLoad}"></el-cascader>
<el-row :gutter="10">
<el-col :span="11">
<el-select v-model="form.productType" placeholder="请选择产品类别">
<!-- <el-option label="请选择字典生成" value="" />-->
</el-select>
</el-col>
<el-col :span="11">
<el-select v-model="form.productType" placeholder="请选择主营类别">
<!-- <el-option label="请选择字典生成" value="" />-->
</el-select>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户来源" prop="source">
<el-select v-model="form.source" placeholder="请选择客户来源">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="结算方式" prop="balance">
<el-select v-model="form.balance" placeholder="请选择结算方式">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="跟进客服" prop="customerService">
<el-select v-model="form.customerService" placeholder="请选择跟进客服">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="图片" prop="picture">
<upload v-model="form.picture" :limit="1"></upload>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户状态" prop="status">
<el-select v-model="form.status" placeholder="请选择客户状态">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="推介人" prop="promoter">
<el-input v-model="form.promoter" placeholder="请输入推介人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建人" prop="founder">
<el-input v-model="form.founder" placeholder="请输入创建人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建时间" prop="founder">
<el-date-picker
v-model="form.createTime"
type="datetime"
value-format="timestamp"
placeholder="选择创建时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="到仓确认" prop="arrivalConfirm">
<el-switch v-model="form.arrivalConfirm" :active-value="0" :inactive-value="1" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="重货标准(CBM)" prop="weightUnit">
<el-input v-model="form.weightUnit" placeholder="请输入重货标准(CBM)" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="指定线路" prop="line">
<el-switch v-model="showLine"></el-switch>
<el-table
v-show="showLine"
border
:data="form.customerLines"
style="width: 500px">
<el-table-column
prop="departureId"
label="始发地">
</el-table-column>
<el-table-column
prop="objectiveId"
label="目的地">
</el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-row>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>联系人</span>
<el-button style="float: right;" size="small" type="primary" @click="form.customerContacts.push({department: undefined})">+</el-button>
</div>
<el-table
:data="form.customerContacts"
style="width: 100%"
>
<el-table-column
prop="department"
label="部门"
width=""
>
<template v-slot="{ row, column, $index }">
<el-input v-model="row.department" placeholder="请输入部门" size="mini"/>
</template>
</el-table-column>
<el-table-column
prop="position"
label="职位"
width=""
>
<template v-slot="{row}">
<el-input v-model="row.position" placeholder="请输入职位" size="mini"/>
</template>
</el-table-column>
<el-table-column
prop="name"
label="联系人"
>
<template v-slot:header>
联系人 <span style="color: #ff0000">*</span>
</template>
<template v-slot="{row}">
<el-input v-model="row.name" placeholder="请输入联系人" size="mini"/>
</template>
</el-table-column>
<el-table-column
prop="areaCode"
label="区号"
>
<template v-slot:header>
区号 <span style="color: #ff0000">*</span>
</template>
<template v-slot="{row}">
<el-select v-model="row.areaCode" placeholder="请选择区号">
<el-option v-for="dict in getDictDatas(DICT_TYPE.AREA_CODE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</template>
</el-table-column>
<el-table-column
prop="phoneNew"
label="联系方式"
>
<template v-slot:header>
联系方式 <span style="color: #ff0000">*</span>
</template>
<template v-slot="{row}">
<el-input v-model="row.phoneNew" placeholder="请输入联系方式" size="mini"/>
</template>
</el-table-column>
<el-table-column
prop=""
label="关联账号"
>
</el-table-column>
<el-table-column
prop="social"
label="社交软件"
>
<template v-slot="{row}">
<el-select v-model="row.social" placeholder="请选择社交软件">
<el-option v-for="dict in getDictDatas(DICT_TYPE.SOCIAL)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</template>
</el-table-column>
<el-table-column
prop="socialNumber"
label="社交软件号码"
>
<template v-slot="{row}">
<el-input v-model="row.socialNumber" placeholder="请输入社交软件号码" size="mini"/>
</template>
</el-table-column>
<el-table-column
prop="email"
label="邮箱"
>
<template v-slot="{row}">
<el-input v-model="row.email" placeholder="请输入邮箱" size="mini"/>
</template>
</el-table-column>
<el-table-column
prop="isDefault"
label="设为默认"
>
<template v-slot="{row}">
<el-select v-model="row.isDefault" placeholder="设为默认">
<el-option v-for="dict in getDictDatas(DICT_TYPE.IS_DEFAULT)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.isDefault)" />
</el-select>
</template>
</el-table-column>
<el-table-column
prop="name"
label="操作"
>
<template v-slot="{ row, column, $index }">
<el-button type="danger" @click="form.customerContacts.splice($index, 1)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
<el-row :gutter="10" style="margin-top: 15px">
<el-col :span="12">
<el-form-item label="发票抬头" prop="invoiceTitle">
<el-input v-model="form.invoiceTitle" placeholder="请输入发票抬头" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纳税人识别号" prop="licenseNumber">
<el-input v-model="form.licenseNumber" placeholder="请输入纳税人识别号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户行" prop="bank">
<el-input v-model="form.bank" placeholder="请输入开户行" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="账户" prop="bankNumber">
<el-input v-model="form.bankNumber" placeholder="请输入账户" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目" prop="project">
<el-input v-model="form.project" placeholder="请输入项目" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开票地址" prop="billingAddress">
<el-input v-model="form.billingAddress" placeholder="请输入开票地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开票电话" prop="billingTell">
<el-input v-model="form.billingTell" placeholder="请输入开票电话" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="税率" prop="taxRate">
<el-input v-model="form.taxRate" placeholder="请输入税率" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="text-align: right">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import upload from '@/components/ImageUpload'
import {createCustomer, getCustomer, updateCustomer} from '@/api/ecw/customer'
import {getNodeList} from "@/api/ecw/node"
import { getProductTypeList } from '@/api/ecw/productType'
export default {
name: "edit",
components: {
upload
},
created() {
this.customerId = this.$route.params && this.$route.params.customerId;
console.log(this.customerId)
if(!!this.customerId)
this.getCustomer(this.customerId)
getNodeList().then(r => {
this.nodeList = r.data
})
getProductTypeList().then(r => {
this.productTypeList = r.data
})
},
data(){
return {
customerId: undefined,
getDictDatas,
DICT_TYPE,
// 表单参数
form: {},
// 表单校验
rules: {
name: [{ required: true, message: "客户名称不能为空", trigger: "blur" }],
country: [{ required: true, message: "国家不能为空", trigger: "blur" }],
level: [{ required: true, message: "客户等级不能为空", trigger: "blur" }],
type: [{ required: true, message: "客户类别不能为空", trigger: "blur" }],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
source: [{ required: true, message: "客户来源不能为空", trigger: "blur" }],
customerService: [{ required: true, message: "跟进客服不能为空", trigger: "blur" }],
status: [{ required: true, message: "客户状态不能为空", trigger: "blur" }],
founder: [{ required: true, message: "创建人不能为空", trigger: "blur" }],
},
// 网点
nodeList: [],
productTypeList: [],
showLine: false
}
},
methods: {
lazyLoad(node, resolve) {
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
// return;
}
// 修改的提交
if (this.form.id != null) {
updateCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
// 添加的提交
createCustomer(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
number: undefined,
name: undefined,
level: undefined,
country: undefined,
type: undefined,
agentId: undefined,
company: undefined,
address: undefined,
productType: undefined,
productId: undefined,
pickupPoint: undefined,
memberId: undefined,
birthday: undefined,
balance: undefined,
source: undefined,
picture: undefined,
customerService: undefined,
customerContacts: [],
customerLines: [],
promoter: undefined,
status: undefined,
founder: undefined,
department: undefined,
invoiceTitle: undefined,
licenseNumber: undefined,
bank: undefined,
bankNumber: undefined,
project: undefined,
billingAddress: undefined,
billingTell: undefined,
taxRate: undefined,
remarks: undefined,
arrivalConfirm: undefined,
weightUnit: undefined,
};
this.resetForm("form");
},
getCustomer(id) {
this.reset();
getCustomer(id).then(response => {
this.form = { ...this.form, ...response.data };
this.open = true;
this.title = "修改客户";
});
},
}
}
</script>
<style scoped>
</style>
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
</el-table-column> </el-table-column>
<el-table-column label="国家" align="center" prop="country"> <el-table-column label="国家" align="center" prop="country">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.country" /> <dict-tag :type="DICT_TYPE.COUNTRY" :value="scope.row.country" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="跟进客服" align="center" prop="customerService"> <el-table-column label="跟进客服" align="center" prop="customerService">
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
@pagination="getList"/> @pagination="getList"/>
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false"> <el-dialog :title="title" :visible.sync="open" width="90%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="150px"> <el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="12"> <el-col :span="12">
...@@ -127,14 +127,6 @@ ...@@ -127,14 +127,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="所属代理" prop="agentId">
<el-select v-model="form.agentId" placeholder="请选择所属代理">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系地址" prop="address"> <el-form-item label="联系地址" prop="address">
<el-input v-model="form.address" placeholder="请输入联系地址" /> <el-input v-model="form.address" placeholder="请输入联系地址" />
...@@ -148,10 +140,19 @@ ...@@ -148,10 +140,19 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="12">-->
<!-- <el-form-item label="所属代理" prop="agentId">-->
<!-- <el-select v-model="form.agentId" placeholder="请选择所属代理">-->
<!-- <el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"-->
<!-- :key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="常用提货网点" prop="pickupPoint"> <el-form-item label="常用提货网点" prop="pickupPoint">
<el-select v-model="form.pickupPoint" placeholder="请输入常用提货网点"> <el-select v-model="form.pickupPoint" placeholder="请输入常用提货网点">
<el-option label="请选择字典生成" value="" /> <el-option v-for="node in nodeList"
:key="node.value" :label="node.label" :value="node.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -164,21 +165,31 @@ ...@@ -164,21 +165,31 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户生日" prop="birthday"> <el-form-item label="客户生日" prop="birthday">
<el-input v-model="form.birthday" placeholder="请输入客户生日" /> <el-date-picker
v-model="form.birthday"
type="date"
value-format="timestamp"
placeholder="请输入客户生日">
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="产品类型" prop="productType"> <el-form-item label="主营类别" prop="productType">
<el-select v-model="form.productType" placeholder="请选择产品类型"> <el-row :gutter="10">
<el-option label="请选择字典生成" value="" /> <el-col :span="11">
</el-select> <el-select v-model="form.productType" placeholder="请选择产品类别">
</el-form-item> <!-- <el-option label="请选择字典生成" value="" />-->
<el-form-item label="产品id" prop="productId"> </el-select>
<el-input v-model="form.productId" placeholder="请输入产品id" /> </el-col>
<el-col :span="11">
<el-select v-model="form.productType" placeholder="请选择主营类别">
<!-- <el-option label="请选择字典生成" value="" />-->
</el-select>
</el-col>
</el-row>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户来源" prop="source"> <el-form-item label="客户来源" prop="source">
<el-select v-model="form.source" placeholder="请选择客户来源"> <el-select v-model="form.source" placeholder="请选择客户来源">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
...@@ -187,7 +198,6 @@ ...@@ -187,7 +198,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="结算方式" prop="balance"> <el-form-item label="结算方式" prop="balance">
<el-select v-model="form.balance" placeholder="请选择结算方式"> <el-select v-model="form.balance" placeholder="请选择结算方式">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
...@@ -196,7 +206,6 @@ ...@@ -196,7 +206,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="跟进客服" prop="customerService"> <el-form-item label="跟进客服" prop="customerService">
<el-select v-model="form.customerService" placeholder="请选择跟进客服"> <el-select v-model="form.customerService" placeholder="请选择跟进客服">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)" <el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
...@@ -205,9 +214,8 @@ ...@@ -205,9 +214,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="图片" prop="picture"> <el-form-item label="图片" prop="picture">
<el-input v-model="form.picture" placeholder="请输入图片" /> <upload v-model="form.picture" :limit="1"></upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -231,7 +239,12 @@ ...@@ -231,7 +239,12 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="创建时间" prop="founder"> <el-form-item label="创建时间" prop="founder">
<el-input v-model="form.founder" placeholder="请输入创建人" /> <el-date-picker
v-model="form.createTime"
type="datetime"
value-format="timestamp"
placeholder="选择创建时间">
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -249,16 +262,27 @@ ...@@ -249,16 +262,27 @@
<el-input v-model="form.weightUnit" placeholder="请输入重货标准(CBM)" /> <el-input v-model="form.weightUnit" placeholder="请输入重货标准(CBM)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24">
<el-form-item label="指定线路" prop="line">
<el-switch v-model="showLine"></el-switch>
<el-table
v-show="showLine"
border
:data="form.customerLines"
style="width: 500px">
<el-table-column
prop="departureId"
label="始发地">
</el-table-column>
<el-table-column
prop="objectiveId"
label="目的地">
</el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-form-item label="关联会员账号" prop="memberId">
<el-input v-model="form.memberId" placeholder="请输入关联会员账号" />
</el-form-item>
<el-form-item label="部门" prop="department">
<el-input v-model="form.department" placeholder="请输入部门" />
</el-form-item>
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>联系人</span> <span>联系人</span>
...@@ -290,6 +314,9 @@ ...@@ -290,6 +314,9 @@
prop="name" prop="name"
label="联系人" label="联系人"
> >
<template v-slot:header>
联系人 <span style="color: #ff0000">*</span>
</template>
<template v-slot="{row}"> <template v-slot="{row}">
<el-input v-model="row.name" placeholder="请输入联系人" size="mini"/> <el-input v-model="row.name" placeholder="请输入联系人" size="mini"/>
</template> </template>
...@@ -298,6 +325,9 @@ ...@@ -298,6 +325,9 @@
prop="areaCode" prop="areaCode"
label="区号" label="区号"
> >
<template v-slot:header>
区号 <span style="color: #ff0000">*</span>
</template>
<template v-slot="{row}"> <template v-slot="{row}">
<el-select v-model="row.areaCode" placeholder="请选择区号"> <el-select v-model="row.areaCode" placeholder="请选择区号">
<el-option v-for="dict in getDictDatas(DICT_TYPE.AREA_CODE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.AREA_CODE)"
...@@ -309,6 +339,9 @@ ...@@ -309,6 +339,9 @@
prop="phoneNew" prop="phoneNew"
label="联系方式" label="联系方式"
> >
<template v-slot:header>
联系方式 <span style="color: #ff0000">*</span>
</template>
<template v-slot="{row}"> <template v-slot="{row}">
<el-input v-model="row.phoneNew" placeholder="请输入联系方式" size="mini"/> <el-input v-model="row.phoneNew" placeholder="请输入联系方式" size="mini"/>
</template> </template>
...@@ -367,30 +400,48 @@ ...@@ -367,30 +400,48 @@
</el-table> </el-table>
</el-card> </el-card>
<el-form-item label="发票抬头" prop="invoiceTitle"> <el-row :gutter="10" style="margin-top: 15px">
<el-input v-model="form.invoiceTitle" placeholder="请输入发票抬头" /> <el-col :span="12">
</el-form-item> <el-form-item label="发票抬头" prop="invoiceTitle">
<el-form-item label="纳税人识别号" prop="licenseNumber"> <el-input v-model="form.invoiceTitle" placeholder="请输入发票抬头" />
<el-input v-model="form.licenseNumber" placeholder="请输入纳税人识别号" /> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="开户行" prop="bank"> <el-col :span="12">
<el-input v-model="form.bank" placeholder="请输入开户行" /> <el-form-item label="纳税人识别号" prop="licenseNumber">
</el-form-item> <el-input v-model="form.licenseNumber" placeholder="请输入纳税人识别号" />
<el-form-item label="账户" prop="bankNumber"> </el-form-item>
<el-input v-model="form.bankNumber" placeholder="请输入账户" /> </el-col>
</el-form-item> <el-col :span="12">
<el-form-item label="项目" prop="project"> <el-form-item label="开户行" prop="bank">
<el-input v-model="form.project" placeholder="请输入项目" /> <el-input v-model="form.bank" placeholder="请输入开户行" />
</el-form-item> </el-form-item>
<el-form-item label="开票地址" prop="billingAddress"> </el-col>
<el-input v-model="form.billingAddress" placeholder="请输入开票地址" /> <el-col :span="12">
</el-form-item> <el-form-item label="账户" prop="bankNumber">
<el-form-item label="开票电话" prop="billingTell"> <el-input v-model="form.bankNumber" placeholder="请输入账户" />
<el-input v-model="form.billingTell" placeholder="请输入开票电话" /> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="税率" prop="taxRate"> <el-col :span="12">
<el-input v-model="form.taxRate" placeholder="请输入税率" /> <el-form-item label="项目" prop="project">
</el-form-item> <el-input v-model="form.project" placeholder="请输入项目" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开票地址" prop="billingAddress">
<el-input v-model="form.billingAddress" placeholder="请输入开票地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开票电话" prop="billingTell">
<el-input v-model="form.billingTell" placeholder="请输入开票电话" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="税率" prop="taxRate">
<el-input v-model="form.taxRate" placeholder="请输入税率" />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
...@@ -407,10 +458,13 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict'; ...@@ -407,10 +458,13 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import {CommonStatusEnum} from '@/utils/constants' import {CommonStatusEnum} from '@/utils/constants'
import { uploadFile } from "@/api/infra/file"; import { uploadFile } from "@/api/infra/file";
import upload from '@/components/ImageUpload'
import {getNodeList} from "@/api/ecw/node"
export default { export default {
name: "Customer", name: "Customer",
components: { components: {
upload
}, },
data() { data() {
return { return {
...@@ -448,12 +502,25 @@ export default { ...@@ -448,12 +502,25 @@ export default {
// 表单校验 // 表单校验
rules: { rules: {
name: [{ required: true, message: "客户名称不能为空", trigger: "blur" }], name: [{ required: true, message: "客户名称不能为空", trigger: "blur" }],
weightUnit: [{ required: true, message: "重货标准(CBM)不能为空", trigger: "blur" }], country: [{ required: true, message: "国家不能为空", trigger: "blur" }],
} level: [{ required: true, message: "客户等级不能为空", trigger: "blur" }],
type: [{ required: true, message: "客户类别不能为空", trigger: "blur" }],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
source: [{ required: true, message: "客户来源不能为空", trigger: "blur" }],
customerService: [{ required: true, message: "跟进客服不能为空", trigger: "blur" }],
status: [{ required: true, message: "客户状态不能为空", trigger: "blur" }],
founder: [{ required: true, message: "创建人不能为空", trigger: "blur" }],
},
// 网点
nodeList: [],
showLine: false
}; };
}, },
created() { created() {
this.getList(); this.getList();
// getNodeList().then(r => {
// this.nodeList = r.data
// })
}, },
methods: { methods: {
/** 查询列表 */ /** 查询列表 */
...@@ -496,6 +563,7 @@ export default { ...@@ -496,6 +563,7 @@ export default {
picture: undefined, picture: undefined,
customerService: undefined, customerService: undefined,
customerContacts: [], customerContacts: [],
customerLines: [],
promoter: undefined, promoter: undefined,
status: undefined, status: undefined,
founder: undefined, founder: undefined,
...@@ -527,25 +595,27 @@ export default { ...@@ -527,25 +595,27 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset(); this.$router.push('/customer/edit/0')
this.open = true; // this.reset();
this.title = "添加客户"; // this.open = true;
// this.title = "添加客户";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.$router.push('/customer/edit/' + row.id)
const id = row.id; // this.reset();
getCustomer(id).then(response => { // const id = row.id;
this.form = { ...this.form, ...response.data }; // getCustomer(id).then(response => {
this.open = true; // this.form = { ...this.form, ...response.data };
this.title = "修改客户"; // this.open = true;
}); // this.title = "修改客户";
// });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (!valid) { if (!valid) {
return; // return;
} }
// 修改的提交 // 修改的提交
if (this.form.id != null) { if (this.form.id != null) {
......
<template>
<view>
<el-row type="flex" style="margin-top: 15px;margin-bottom: 15px" justify="center">
<el-col :xs="24" :sm="24" :md="24" :lg="20" :xl="16">
<h2></h2>
<el-row :gutter="10">
<el-col>
<h2>查看</h2>
</el-col>
<el-col>
<el-button type="primary">主要按钮</el-button>
<el-button type="primary">主要按钮</el-button>
<el-button type="primary">主要按钮</el-button>
<el-button type="primary">主要按钮</el-button>
<el-button type="primary">主要按钮</el-button>
<el-button type="danger">危险按钮</el-button>
</el-col>
</el-row>
</el-col>
</el-row>
</view>
</template>
<script>
export default {
name: 'view'
}
</script>
<style scoped>
</style>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
<el-form-item label="品牌中文标题" prop="titleZh"> <el-form-item label="品牌中文标题" prop="titleZh">
<el-input v-model="queryParams.titleZh" placeholder="请输入品牌中文标题" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.titleZh" placeholder="请输入品牌中文标题" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="是否备案" prop="filing"> <el-form-item label="是否备案" prop="filing">
<el-select v-model="queryParams.filing" placeholder="请选择是否备案" clearable size="small"> <el-select v-model="queryParams.filing" placeholder="请选择是否备案" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BRAND_REG_TYPE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.BRAND_REG_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value" /> :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -79,8 +79,8 @@ ...@@ -79,8 +79,8 @@
@pagination="getList"/> @pagination="getList"/>
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="品牌中文标题" prop="titleZh"> <el-form-item label="品牌中文标题" prop="titleZh">
<el-input v-model="form.titleZh" placeholder="请输入品牌中文标题" /> <el-input v-model="form.titleZh" placeholder="请输入品牌中文标题" />
</el-form-item> </el-form-item>
...@@ -98,12 +98,32 @@ ...@@ -98,12 +98,32 @@
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="是否备案" prop="filing"> <el-form-item label="是否备案" prop="filing">
<el-select v-model="form.filing" placeholder="请选择是否备案"> <el-select v-model="form.filing" placeholder="请选择是否备案">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BRAND_REG_TYPE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.BRAND_REG_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value" /> :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<h3>包含商标列表</h3>
<el-form ref="form" :model="brand" label-width="80px" v-for="(brand, index) in brands" :key="index">
<el-form-item label="商标">
<el-input v-model="brand.name" placeholder="商标"></el-input>
</el-form-item>
<el-form-item label="商标分类">
<el-select v-model="brand.type" placeholder="placeholder">
<el-option
v-for="item in []"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
...@@ -124,6 +144,8 @@ export default { ...@@ -124,6 +144,8 @@ export default {
}, },
data() { data() {
return { return {
getDictDatas,
DICT_TYPE,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -154,6 +176,7 @@ export default { ...@@ -154,6 +176,7 @@ export default {
rules: { rules: {
}, },
recordStatus: getDictDatas(DICT_TYPE.BRAND_REG_TYPE), recordStatus: getDictDatas(DICT_TYPE.BRAND_REG_TYPE),
brands: [{name: '', type: ''}]
}; };
}, },
created() { created() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment