Commit eeea2886 authored by yujinyao's avatar yujinyao

修改客户相关信息字段

parent 82936447
......@@ -39,6 +39,7 @@ const actions = {
cssClass: dictData.cssClass,
})
})
console.log(dictDataMap)
// 存储到 Store 中
commit('SET_DICT_DATAS', dictDataMap)
})
......
......@@ -159,6 +159,11 @@ export const DICT_TYPE = {
CUSTOMER_LEVEL_RULE_TYPE: 'customer_level_rule_type',
CUSTOMER_ESOURCE_TYPE:'customer_resource_type',//客户资源类型
CUSTOMER_OPERATE_TYPE:'customer_operate_type',
CUSTOMER_GET_METHOD: 'customer_get_method', //获取方式
CUSTOMER_FROM: 'customer_from', //创建入口
CUSTOMER_ROLE: 'customer_role', //角色
MAJOR_COMPETITORS: 'major_competitors', //主要竞争对手
// order
ORDER_TYPE: 'order_type', // 订单类型
PRODUCT_RECORD_ATTRIBUTE: 'product_record_attribute', //产品备案属性
......
<template xmlns="">
<div>
<el-row
type="flex"
style="margin-top: 15px; margin-bottom: 15px"
style="margin: 15px 0"
justify="center"
>
<el-col :xs="24" :sm="24" :md="24" :lg="22" :xl="20">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<h2>{{ $t('基本') }}</h2>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('客户名称')" prop="name">
......@@ -17,7 +18,30 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('国家')" prop="country">
<el-form-item :label="$t('客户英文名称')">
<el-input
v-model="form.nameEn"
:placeholder="$t('请输入客户英文名称')"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户来源')" prop="source">
<el-select
v-model="form.source"
:placeholder="$t('请选择客户来源')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('国籍')" prop="country">
<el-select
filterable
clearable
......@@ -34,37 +58,78 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户英文名称')">
<el-input
v-model="form.nameEn"
:placeholder="$t('请输入客户英文名称')"
></el-input>
<el-form-item :label="$t('客户经理')" prop="customerService">
<el-select
v-model="form.customerService"
:placeholder="$t('请选择客户经理')"
:disabled="
(customerId !== '0' &&
$route.name !== 'allocatedCustomerEdit') ||
isCustomerServiceConfirmed
"
>
<el-option
v-for="item in !(
(customerId !== '0' &&
$route.name !== 'allocatedCustomerEdit') ||
isCustomerServiceConfirmed
)
? serviceUserList
: allSimplList"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('付款人姓名')">
<el-form-item :label="$t('推介人')" prop="promoter">
<el-select
clearable
remote
:remote-method="remoteMethod"
v-model="form.promoter"
:placeholder="$t('请输入推介人')"
filterable
>
<el-option
v-for="item in customerSelectFn"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('备注')" prop="remarks">
<el-input
v-model="form.payerName"
:placeholder="$t('请输入付款人姓名')"
v-model="form.remarks"
:placeholder="$t('请输入备注')"
/>
</el-form-item>
<el-form-item :label="$t('询盘信息')">
<el-input
show-word-limit
v-model="form.inquiry"
:rows="3"
type="textarea"
:maxlength="500"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户等级')" prop="level">
<el-select
v-model="form.level"
:placeholder="$t('请选择客户等级')"
disabled
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
<el-form-item :label="$t('图片')" prop="picture">
<upload v-model="form.picture" :limit="1"></upload>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('联系地址')" prop="address">
<el-input
......@@ -75,133 +140,93 @@
</el-col>
<el-col :span="12">
<el-form-item :label="$t('出货渠道')" prop="transportType">
<!-- <dict-selector :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" form-type="checkbox" multiple v-model="form.transportType"></dict-selector>-->
<el-checkbox-group v-model="form.transportType">
<el-checkbox
v-for="item in getDictDatas(
DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE
)"
:key="item.value"
:label="item.value"
:disabled="[3].includes(+item.value)"
>{{ item.label }}</el-checkbox
>
</el-checkbox-group>
<el-form-item :label="$t('客户生日')" prop="birthday">
<el-date-picker
v-model="form.birthday"
type="date"
value-format="timestamp"
:placeholder="$t('请输入客户生日')"
>
</el-date-picker>
</el-form-item>
</el-col>
<!--
<el-col :span="12">
<el-form-item :label="$t('客户类别')" prop="type">
<dict-selector
:type="DICT_TYPE.CUSTOMER_TYPE"
form-type="checkbox"
multiple
v-model="form.type"
></dict-selector>
<el-form-item :label="$t('业绩类型')">
<el-switch
v-model="form.isNew"
active-text="新客户"
inactive-text="老客户">
</el-switch>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-form-item :label="$t('资源类型')" prop="remarks">-->
<!-- <dict-selector :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="form.resourceType" formatter="number"></dict-selector>-->
<!-- </el-form-item>-->
<el-form-item :label="$t('常用提货网点')" prop="remarks">
<el-select v-model="form.pickupPoint">
<el-option
v-for="item in getNodeLists"
:value="item.id"
:label="isChinese ? item.titleZh : item.titleEn"
></el-option>
</el-select>
<el-form-item :label="$t('资源类型')" prop="remarks">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="form.resourceType" formatter="number"></dict-selector>
</el-form-item>
</el-col>
<el-col
:span="13"
v-show="form.type && form.type.indexOf('2') !== -1"
>
<el-form-item :label="$t('所属代理')" prop="agentId">
-->
<el-col :span="12">
<el-form-item :label="$t('客户等级')" prop="level">
<el-select
filterable
clearable
v-model="form.agentId"
:placeholder="$t('请选择所属代理')"
v-model="form.level"
:placeholder="$t('请选择客户等级')"
disabled
>
<el-option
v-for="item in serviceUserList"
:key="item.id"
:label="item.nickname"
:value="item.id"
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('公司名称')" prop="company">
<el-input
v-model="form.company"
:placeholder="$t('请输入公司名称')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户生日')" prop="birthday">
<el-date-picker
v-model="form.birthday"
type="date"
value-format="timestamp"
:placeholder="$t('请输入客户生日')"
<el-form-item :label="$t('客户状态')" prop="status">
<el-select
v-model="form.status"
:placeholder="$t('请选择客户状态')"
disabled
>
</el-date-picker>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('公司英文名称')">
<el-input
v-model="form.companyEn"
:placeholder="$t('请输入客户英文名称')"
></el-input>
<el-form-item label="首次成交时间">
<el-date-picker
v-model="form.time"
type="datetime"
:placeholder="$t('请选择')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('主营类别')" prop="productType">
<el-row :gutter="10">
<el-col :span="11">
<el-select
@change="change"
v-model="form.productType"
:placeholder="$t('请选择产品类别')"
>
<el-option
:label="item.titleZh"
:value="item.id"
v-for="item in productTypeList"
:key="item.id"
/>
</el-select>
</el-col>
<el-col :span="11">
<el-select
v-model="form.productId"
:placeholder="$t('请选择')"
>
<el-option
:label="item.titleZh"
:value="parseInt(item.id)"
v-for="item in productList"
:key="item.id"
/>
</el-select>
</el-col>
</el-row>
<el-form-item label="掉入公海时间">
<el-date-picker
v-model="form.time"
type="datetime"
:placeholder="$t('请选择')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户来源')" prop="source">
<el-form-item label="获取方式">
<el-select
v-model="form.source"
:placeholder="$t('请选择客户来源')"
v-model="form.getMethod"
:placeholder="$t('请选择')"
disabled
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
......@@ -210,13 +235,14 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('结算方式')" prop="balance">
<el-form-item label="创建入口">
<el-select
v-model="form.balance"
:placeholder="$t('请选择结算方式')"
v-model="form.createFrom"
:placeholder="$t('请选择')"
disabled
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
......@@ -225,122 +251,208 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户经理')" prop="customerService">
<el-select
v-model="form.customerService"
:placeholder="$t('请选择客户经理')"
:disabled="
(customerId !== '0' &&
$route.name !== 'allocatedCustomerEdit') ||
isCustomerServiceConfirmed
"
<el-form-item label="捞取时间">
<el-date-picker
v-model="form.time"
type="datetime"
:placeholder="$t('请选择')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属时间">
<el-date-picker
v-model="form.customerServiceConfirmedTime"
type="datetime"
value-format="timestamp"
disabled
:placeholder="$t('请选择')"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('创建人')" prop="founder">
<el-select v-model="form.founder" disabled>
<el-option
v-for="item in !(
(customerId !== '0' &&
$route.name !== 'allocatedCustomerEdit') ||
isCustomerServiceConfirmed
)
? serviceUserList
: allSimplList"
v-for="item in allSimplList"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('图片')" prop="picture">
<upload v-model="form.picture" :limit="1"></upload>
<el-form-item :label="$t('创建时间')" prop="createTime">
<el-date-picker
v-model="form.createTime"
type="datetime"
value-format="timestamp"
disabled
:placeholder="$t('选择创建时间')"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户状态')" prop="status">
<el-select
v-model="form.status"
:placeholder="$t('请选择客户状态')"
<el-form-item label="最后更新时间">
<el-date-picker
v-model="form.updateTime"
type="datetime"
value-format="timestamp"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最后更新人">
<el-select v-model="form.updater" disabled>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
v-for="item in allSimplList"
:key="item.id"
:label="item.nickname"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<h2>发货信息</h2>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('推介人')" prop="promoter">
<el-form-item :label="$t('客户类别')" prop="type">
<dict-selector
:type="DICT_TYPE.CUSTOMER_TYPE"
form-type="checkbox"
multiple
v-model="form.type"
></dict-selector>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色">
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('出货渠道')" prop="transportType">
<!-- <dict-selector :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" form-type="checkbox" multiple v-model="form.transportType"></dict-selector>-->
<el-checkbox-group v-model="form.transportType">
<el-checkbox
v-for="item in getDictDatas(
DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE
)"
:key="item.value"
:label="item.value"
:disabled="[3].includes(+item.value)"
>{{ item.label }}</el-checkbox
>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col
:span="13"
v-show="form.type && form.type.indexOf('2') !== -1"
>
<el-form-item :label="$t('所属代理')" prop="agentId">
<el-select
clearable
remote
:remote-method="remoteMethod"
v-model="form.promoter"
:placeholder="$t('请输入推介人')"
filterable
clearable
v-model="form.agentId"
:placeholder="$t('请选择所属代理')"
>
<el-option
v-for="item in customerSelectFn"
v-for="item in serviceUserList"
:key="item.id"
:label="item.name"
:label="item.nickname"
:value="item.id"
>
</el-option>
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('创建人')" prop="founder">
<el-select v-model="form.founder" disabled>
<el-option
v-for="item in allSimplList"
:key="item.id"
:label="item.nickname"
:value="item.id"
>
</el-option>
</el-select>
<el-form-item :label="$t('常用提货网点')" prop="pickupPoints">
<el-select v-model="pickupPoints">
<el-option
multiple
v-for="item in getNodeLists"
:value="item.id"
:label="isChinese ? item.titleZh : item.titleEn"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('主营类别')" prop="productType">
<el-row :gutter="10">
<el-col :span="11">
<el-select
@change="change"
v-model="form.productType"
:placeholder="$t('请选择产品类别')"
>
<el-option
:label="item.titleZh"
:value="item.id"
v-for="item in productTypeList"
:key="item.id"
/>
</el-select>
</el-col>
<el-col :span="11">
<el-select
v-model="productIds"
:placeholder="$t('请选择')"
>
<el-option
:label="item.titleZh"
:value="parseInt(item.id)"
v-for="item in productList"
:key="item.id"
/>
</el-select>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="业务国家">
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('创建时间')" prop="createTime">
<el-date-picker
v-model="form.createTime"
type="datetime"
value-format="timestamp"
disabled
:placeholder="$t('选择创建时间')"
>
</el-date-picker>
<el-form-item label="年度发货量">
<el-input-number v-model="form.weightYearly" :min="1" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('备注')" prop="remarks">
<el-input
v-model="form.remarks"
:placeholder="$t('请输入备注')"
/>
<el-form-item label="主要竞争对手" prop="competitorIds">
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('是否显示提单价格')" prop="remarks">
<el-switch v-model="form.isShowTidanPrice"></el-switch>
<el-form-item label="年度发货次数">
<el-input-number v-model="form.numYearly" :min="1" />
</el-form-item>
</el-col>
</el-row>
<h2>设置</h2>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('询盘信息')">
<el-input
show-word-limit
v-model="form.inquiry"
:rows="3"
type="textarea"
:maxlength="500"
></el-input>
<el-form-item :label="$t('是否显示提单价格')" prop="isShowTidanPrice">
<el-switch v-model="form.isShowTidanPrice"></el-switch>
</el-form-item>
</el-col>
<el-col :span="24">
<el-col :span="12">
<el-form-item :label="$t('到仓确认')" prop="arrivalConfirm">
<el-switch
v-model="form.arrivalConfirm"
......@@ -349,6 +461,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="13">
<el-form-item :label="$t('重货标准')" prop="weightUnit">
<el-switch v-model="showZhong" />
......@@ -373,6 +486,7 @@
></customer-line-table>
</el-form-item>
</el-col>
<el-col :span="13">
<el-form-item :label="$t('泡货标准')" prop="lightUnit">
<el-switch v-model="showPao" />
......@@ -397,252 +511,87 @@
></customer-line-table>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="控货无收货人">
<el-switch v-model="form.noConsignee" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="默认付款">
<el-switch v-model="form.defaultPay" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="默认开票">
<el-switch v-model="form.defaultBilling" />
</el-form-item>
</el-col>
</el-row>
<h2>财务</h2>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item :label="$t('公司名称')" prop="company">
<el-input
v-model="form.company"
:placeholder="$t('请输入公司名称')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('公司英文名称')">
<el-input
v-model="form.companyEn"
:placeholder="$t('请输入客户英文名称')"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('结算方式')" prop="balance">
<el-select
v-model="form.balance"
:placeholder="$t('请选择结算方式')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('付款人姓名')">
<el-input
v-model="form.payerName"
:placeholder="$t('请输入付款人姓名')"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
v-hasPermi="['ecw:customer:edit-card']"
:label="$t('身份证姓名')"
:label="$t('身份证号码')"
>
<el-input v-model="form.carName"></el-input>
<el-input v-model="form.carNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
v-hasPermi="['ecw:customer:edit-card']"
:label="$t('身份证号码')"
:label="$t('身份证姓名')"
>
<el-input v-model="form.carNo"></el-input>
<el-input v-model="form.carName"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>{{ $t("联系人") }}</span>
<el-button
style="float: right"
size="small"
type="primary"
@click="handleAddContact"
>+</el-button
>
</div>
<el-form ref="contactForm" :rules="contactRules" :model="form">
<el-table :data="form.customerContacts" style="width: 100%">
<el-table-column prop="department" :label="$t('部门')" width="">
<template v-slot="{ row }">
<el-form-item label="">
<el-input
v-model="row.department"
:placeholder="$t('请输入部门')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="position" :label="$t('职位')" width="">
<template v-slot="{ row }">
<el-form-item label="">
<el-input
v-model="row.position"
:placeholder="$t('请输入职位')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="name" :label="$t('联系人')">
<template slot="header">
{{ $t("联系人") }} <span style="color: #ff0000">*</span>
</template>
<template v-slot="{ row, cellValue, $index }">
<el-form-item
:rules="contactRules.name"
:prop="'customerContacts.' + $index + '.name'"
label=""
>
<el-input
v-model="row.name"
:placeholder="$t('请输入联系人')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column>
<template slot="header">
{{ $t("联系人英文名称") }}
</template>
<template v-slot="{ row, cellValue, $index }">
<el-form-item label="">
<el-input
v-model="row.nameEn"
:placeholder="$t('请输入联系人英文名称')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="areaCode" :label="$t('区号')">
<template slot="header">
{{ $t("区号") }} <span style="color: #ff0000">*</span>
</template>
<template v-slot="{ row, cellValue, $index }">
<el-form-item
:rules="contactRules.areaCode"
:prop="'customerContacts.' + $index + '.areaCode'"
label=""
>
<el-select
v-model="row.areaCode"
:placeholder="$t('请选择区号')"
filterable
size="mini"
>
<el-option
v-for="(item, index) in countryList"
:key="index"
:label="
item.nameShort +
(isChinese ? item.nameZh : item.nameEn) +
'(' +
item.tel +
')'
"
:value="item.tel"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="phoneNew" :label="$t('联系方式')">
<template slot="header">
{{ $t("联系方式") }} <span style="color: #ff0000">*</span>
</template>
<template v-slot="{ row, cellValue, $index }">
<el-form-item
:rules="contactRules.phoneNew"
:prop="'customerContacts.' + $index + '.phoneNew'"
label=""
>
<el-input
v-model="row.phoneNew"
:placeholder="$t('请输入联系方式')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('关联账号')">
<template v-slot="{ row }">
<el-form-item label="">
<!-- <el-select v-model="row.userid" clearable remote :remote-method="getUserMemberUserFn" @change="selectBD" size="mini" filterable>
<el-option v-for="(item,index) in userMemberUser" :value="item.id" :key="index" :label="item.nickname + '(' + item.mobile + ')'" ></el-option>
</el-select> -->
<MemberSelector v-model="row.userid" size="mini" />
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="social" :label="$t('社交软件')">
<template v-slot="{ row }">
<el-form-item label="">
<el-select
v-model="row.social"
:placeholder="$t('请选择社交软件')"
size="mini"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.SOCIAL)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="socialNumber"
:label="$t('社交软件号码')"
>
<template v-slot="{ row }">
<el-form-item label="">
<el-input
v-model="row.socialNumber"
:placeholder="$t('请输入社交软件号码')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column width="260px" prop="email" :label="$t('邮箱')">
<template v-slot="{ row }">
<el-form-item
v-for="(item, index) in row.email"
:key="index"
label=""
>
<div style="display: flex; align-items: center">
<el-input
v-model="row.email[index]"
:placeholder="$t('请输入邮箱')"
size="mini"
/>
<el-button
@click="deleteEmail(row.email, index)"
v-if="row.email.length !== 1"
style="height: 25px; margin-left: 5px"
type="danger"
size="mini"
>删除</el-button
>
<el-button
@click="addEmail(row.email)"
style="height: 25px; margin-left: 5px"
v-if="
index === row.email.length - 1 &&
row.email.length < 5
"
size="mini"
type="primary"
>添加</el-button
>
</div>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="isDefault" :label="$t('设为默认')">
<template v-slot="{ row, column, $index }">
<el-form-item label="">
<el-select
v-model="row.isDefault"
:placeholder="$t('设为默认')"
@change="handleDefaultChange($index)"
size="mini"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.IS_DEFAULT)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="Number(dict.value)"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="name" :label="$t('操作')">
<template v-slot="{ row, column, $index }">
<el-form-item label="">
<el-button
type="danger"
@click="handleDeleteContact($index)"
size="mini"
>{{ $t("删除") }}</el-button
>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
</el-card>
<h3>开票信息</h3>
<el-row :gutter="10" style="margin-top: 15px">
<el-col :span="12">
<el-form-item :label="$t('发票抬头')" prop="invoiceTitle">
......@@ -660,6 +609,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('开户行')" prop="bank">
<el-input
......@@ -709,8 +659,9 @@
/>
</el-form-item>
</el-col>
</el-row>
</el-row>
</el-form>
<el-card>
<div slot="header" class="clearfix">
<span>{{ $t("银行信息") }}</span>
......@@ -831,7 +782,239 @@
</el-table>
</el-form>
</el-card>
<div style="text-align: center">
<el-card class="box-card" style="margin-top: 15px;">
<div slot="header" class="clearfix">
<span>{{ $t("联系人") }}</span>
<el-button
style="float: right"
size="small"
type="primary"
@click="handleAddContact"
>+</el-button
>
</div>
<el-form ref="contactForm" :rules="contactRules" :model="form">
<el-table :data="form.customerContacts" style="width: 100%">
<el-table-column prop="department" :label="$t('部门')" width="">
<template v-slot="{ row }">
<el-form-item label="">
<el-input
v-model="row.department"
:placeholder="$t('请输入部门')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="position" :label="$t('职位')" width="">
<template v-slot="{ row }">
<el-form-item label="">
<el-input
v-model="row.position"
:placeholder="$t('请输入职位')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="name" :label="$t('联系人')">
<template slot="header">
{{ $t("联系人") }} <span style="color: #ff0000">*</span>
</template>
<template v-slot="{ row, cellValue, $index }">
<el-form-item
:rules="contactRules.name"
:prop="'customerContacts.' + $index + '.name'"
label=""
>
<el-input
v-model="row.name"
:placeholder="$t('请输入联系人')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column>
<template slot="header">
{{ $t("联系人英文名称") }}
</template>
<template v-slot="{ row, cellValue, $index }">
<el-form-item label="">
<el-input
v-model="row.nameEn"
:placeholder="$t('请输入联系人英文名称')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="areaCode" :label="$t('区号')">
<template slot="header">
{{ $t("区号") }} <span style="color: #ff0000">*</span>
</template>
<template v-slot="{ row, cellValue, $index }">
<el-form-item
:rules="contactRules.areaCode"
:prop="'customerContacts.' + $index + '.areaCode'"
label=""
>
<el-select
v-model="row.areaCode"
:placeholder="$t('请选择区号')"
filterable
size="mini"
>
<el-option
v-for="(item, index) in countryList"
:key="index"
:label="
item.nameShort +
(isChinese ? item.nameZh : item.nameEn) +
'(' +
item.tel +
')'
"
:value="item.tel"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="phoneNew" :label="$t('联系方式')">
<template slot="header">
{{ $t("联系方式") }} <span style="color: #ff0000">*</span>
</template>
<template v-slot="{ row, cellValue, $index }">
<el-form-item
:rules="contactRules.phoneNew"
:prop="'customerContacts.' + $index + '.phoneNew'"
label=""
>
<el-input
v-model.trim="row.phoneNew"
:placeholder="$t('请输入联系方式')"
size="mini"
onkeyup="this.value=this.value.replace(/\s+/g, '')"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('关联账号')">
<template v-slot="{ row }">
<el-form-item label="">
<!-- <el-select v-model="row.userid" clearable remote :remote-method="getUserMemberUserFn" @change="selectBD" size="mini" filterable>
<el-option v-for="(item,index) in userMemberUser" :value="item.id" :key="index" :label="item.nickname + '(' + item.mobile + ')'" ></el-option>
</el-select> -->
<MemberSelector v-model="row.userid" size="mini" />
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="social" :label="$t('社交软件')">
<template v-slot="{ row }">
<el-form-item label="">
<el-select
v-model="row.social"
:placeholder="$t('请选择社交软件')"
size="mini"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.SOCIAL)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="socialNumber"
:label="$t('社交软件号码')"
>
<template v-slot="{ row }">
<el-form-item label="">
<el-input
v-model="row.socialNumber"
:placeholder="$t('请输入社交软件号码')"
size="mini"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column width="260px" prop="email" :label="$t('邮箱')">
<template v-slot="{ row }">
<el-form-item
v-for="(item, index) in row.email"
:key="index"
label=""
>
<div style="display: flex; align-items: center">
<el-input
v-model="row.email[index]"
:placeholder="$t('请输入邮箱')"
size="mini"
/>
<el-button
@click="deleteEmail(row.email, index)"
v-if="row.email.length !== 1"
style="height: 25px; margin-left: 5px"
type="danger"
size="mini"
>删除</el-button
>
<el-button
@click="addEmail(row.email)"
style="height: 25px; margin-left: 5px"
v-if="
index === row.email.length - 1 &&
row.email.length < 5
"
size="mini"
type="primary"
>添加</el-button
>
</div>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="isDefault" :label="$t('设为默认')">
<template v-slot="{ row, column, $index }">
<el-form-item label="">
<el-select
v-model="row.isDefault"
:placeholder="$t('设为默认')"
@change="handleDefaultChange($index)"
size="mini"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.IS_DEFAULT)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="Number(dict.value)"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="name" :label="$t('操作')">
<template v-slot="{ row, column, $index }">
<el-form-item label="">
<el-button
type="danger"
@click="handleDeleteContact($index)"
size="mini"
>{{ $t("删除") }}</el-button
>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
</el-card>
<div style="margin-top: 15px; text-align: center">
<el-button type="primary" @click="submitForm">{{
$t("确 定")
}}</el-button>
......@@ -839,7 +1022,7 @@
</div>
</el-col>
</el-row>
</div>
</template>
<script>
......@@ -1076,6 +1259,8 @@ export default {
serviceNetworkList: [], //网点列表
allSimplList: [],
currecyList: [],
pickupPoints: [],// 常用提货网点
productIds: [],// 主营产品
};
},
......@@ -1258,6 +1443,8 @@ export default {
type: this.form.type?.join(","),
transportType: (this.form.transportType || [])?.join(","),
taxRate: Number(this.form.taxRate),
pickupPoints: this.form.pickupPoints?.join(","),
productIds: this.form.productIds?.join(","),
};
form.customerContacts = JSON.parse(
JSON.stringify(this.form.customerContacts)
......
......@@ -47,7 +47,7 @@
<el-input
:placeholder="$t('请输入联系方式')"
v-model.trim="queryParams.defaultContactPhone"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
onkeyup="this.value=this.value.replace(/\s+/g, '')"
></el-input>
</el-form-item>
<el-form-item :label="$t('客户类别')" prop="level">
......
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