Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-app-operator-master
Commits
eeea2886
Commit
eeea2886
authored
Aug 20, 2024
by
yujinyao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改客户相关信息字段
parent
82936447
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
631 additions
and
438 deletions
+631
-438
dict.js
src/store/modules/dict.js
+1
-0
dict.js
src/utils/dict.js
+5
-0
edit.vue
src/views/ecw/customer/edit.vue
+624
-437
index.vue
src/views/ecw/customer/index.vue
+1
-1
No files found.
src/store/modules/dict.js
View file @
eeea2886
...
...
@@ -39,6 +39,7 @@ const actions = {
cssClass
:
dictData
.
cssClass
,
})
})
console
.
log
(
dictDataMap
)
// 存储到 Store 中
commit
(
'
SET_DICT_DATAS
'
,
dictDataMap
)
})
...
...
src/utils/dict.js
View file @
eeea2886
...
...
@@ -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
'
,
//产品备案属性
...
...
src/views/ecw/customer/edit.vue
View file @
eeea2886
<
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=
"i
tem.nickname
"
:value=
"
item.id
"
v-for=
"
dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)
"
:key=
"
dict.value
"
:label=
"i
sChinese ? 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.n
ickn
ame"
: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.carN
ame
"
></el-input>
<el-input
v-model=
"form.carN
o
"
></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.carN
o
"
></el-input>
<el-input
v-model=
"form.carN
ame
"
></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
)
...
...
src/views/ecw/customer/index.vue
View file @
eeea2886
...
...
@@ -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"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment