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
d625d224
Commit
d625d224
authored
Oct 26, 2024
by
1483922988@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
6
parent
4af4e00f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
495 additions
and
1017 deletions
+495
-1017
edit.vue
src/views/ecw/customer/edit.vue
+370
-906
query.vue
src/views/ecw/customer/query.vue
+24
-9
index.vue
src/views/ecw/offer/index.vue
+11
-7
logList.vue
src/views/ecw/offer/logList.vue
+90
-95
No files found.
src/views/ecw/customer/edit.vue
View file @
d625d224
<
template
xmlns=
""
>
<el-row
type=
"flex"
style=
"margin: 15px 0"
justify=
"center"
>
<el-row
type=
"flex"
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"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"title-text"
>
{{
$t
(
'
基本
'
)
}}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"showBaseFlag = !showBaseFlag"
>
{{
showBaseFlag
?
$t
(
'
隐藏
'
)
:
$t
(
'
更多
'
)
}}
</el-button
>
<span
class=
"title-text"
>
{{
$t
(
"
基本
"
)
}}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"showBaseFlag = !showBaseFlag"
>
{{
showBaseFlag
?
$t
(
"
隐藏
"
)
:
$t
(
"
更多
"
)
}}
</el-button>
</div>
<el-row
:gutter=
"10"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户名称')"
prop=
"name"
>
<el-input
v-model=
"form.name"
:placeholder=
"$t('请输入客户名称')"
/>
<el-input
v-model=
"form.name"
:placeholder=
"$t('请输入客户名称')"
/>
</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-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
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
v-model=
"form.country"
:placeholder=
"$t('请选择国家')"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"isChinese ? dict.nameZh : dict.nameEn"
:value=
"parseInt(dict.id)"
/>
<el-select
filterable
clearable
v-model=
"form.country"
:placeholder=
"$t('请选择国家')"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"isChinese ? dict.nameZh : dict.nameEn"
:value=
"parseInt(dict.id)"
/>
</el-select>
</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-option
v-for=
"item in !(
(customerId !== '0' &&
$route.name !== 'allocatedCustomerEdit') ||
isCustomerServiceConfirmed
)
? serviceUserList
: allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
<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('推介人')"
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
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.remarks"
:placeholder=
"$t('请输入备注')"
/>
<el-input
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-input
show-word-limit
v-model=
"form.inquiry"
:rows=
"3"
type=
"textarea"
:maxlength=
"500"
></el-input>
</el-form-item>
</el-col>
...
...
@@ -141,33 +66,19 @@
<el-row
:gutter=
"10"
v-show=
"showBaseFlag"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('联系地址')"
prop=
"address"
>
<el-input
v-model=
"form.address"
:placeholder=
"$t('请输入联系地址')"
/>
<el-input
v-model=
"form.address"
: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-date-picker>
<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('业绩类型')"
>
<el-switch
v-model=
"form.isNew"
disabled
active-text=
"新客户"
inactive-text=
"老客户"
>
</el-switch>
<el-switch
v-model=
"form.isNew"
disabled
active-text=
"新客户"
inactive-text=
"老客户"
>
</el-switch>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
...
...
@@ -178,158 +89,76 @@
<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
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>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户状态')"
prop=
"status"
>
<el-select
v-model=
"form.status"
:placeholder=
"$t('请选择客户状态')"
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)"
/>
<el-select
v-model=
"form.status"
:placeholder=
"$t('请选择客户状态')"
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)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('首次成交时间')"
>
<el-date-picker
v-model=
"form.firstDealTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
disabled
/>
<el-date-picker
v-model=
"form.firstDealTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
disabled
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('掉入公海时间')"
>
<el-date-picker
v-model=
"enterOpenSeaTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
disabled
/>
<el-date-picker
v-model=
"enterOpenSeaTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
disabled
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('获取方式')"
prop=
"getMethod"
>
<el-select
v-model=
"form.getMethod"
:placeholder=
"$t('请选择')"
disabled
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
<el-select
v-model=
"form.getMethod"
:placeholder=
"$t('请选择')"
disabled
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)"
: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=
"createFrom"
>
<el-select
v-model=
"form.createFrom"
:placeholder=
"$t('请选择')"
disabled
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
<el-select
v-model=
"form.createFrom"
:placeholder=
"$t('请选择')"
disabled
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)"
: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-date-picker
v-model=
"form.catchTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
disabled
/>
<el-date-picker
v-model=
"form.catchTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
disabled
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('归属时间')"
>
<el-date-picker
v-model=
"form.customerServiceConfirmedTime"
type=
"datetime"
disabled
:placeholder=
"$t('请选择')"
>
</el-date-picker>
<el-date-picker
v-model=
"form.customerServiceConfirmedTime"
type=
"datetime"
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 allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
<el-option
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=
"createTime"
>
<el-date-picker
v-model=
"form.createTime"
type=
"datetime"
value-format=
"timestamp"
disabled
:placeholder=
"$t('选择创建时间')"
>
</el-date-picker>
<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('最后更新人')"
>
<el-select
v-model=
"form.updater"
disabled
>
<el-option
v-for=
"item in allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
<el-option
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('最后更新时间')"
>
<el-date-picker
v-model=
"form.updateTime"
type=
"datetime"
value-format=
"timestamp"
disabled
>
</el-date-picker>
<el-date-picker
v-model=
"form.updateTime"
type=
"datetime"
value-format=
"timestamp"
disabled
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -337,54 +166,25 @@
<el-card
style=
"margin-top: 15px"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"title-text"
>
{{
$t
(
'
发货信息
'
)
}}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"showShippingFlag = !showShippingFlag"
>
{{
showShippingFlag
?
$t
(
'
隐藏
'
)
:
$t
(
'
更多
'
)
}}
</el-button
>
<span
class=
"title-text"
>
{{
$t
(
"
发货信息
"
)
}}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"showShippingFlag = !showShippingFlag"
>
{{
showShippingFlag
?
$t
(
"
隐藏
"
)
:
$t
(
"
更多
"
)
}}
</el-button>
</div>
<el-row
:gutter=
"10"
v-show=
"showShippingFlag"
>
<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>
<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=
"$t('角色')"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_ROLE"
form-type=
"checkbox"
multiple
v-model=
"form.roles"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_ROLE"
form-type=
"checkbox"
multiple
v-model=
"form.roles"
></dict-selector>
</el-form-item>
</el-col>
<el-col
:span=
"13"
v-show=
"form.roles && form.roles.indexOf('2') !== -1"
>
<el-col
:span=
"13"
v-show=
"form.roles && form.roles.indexOf('2') !== -1"
>
<el-form-item
:label=
"$t('所属代理')"
prop=
"agentId"
>
<el-select
filterable
clearable
v-model=
"form.agentId"
:placeholder=
"$t('请选择所属代理')"
>
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
<el-select
filterable
clearable
v-model=
"form.agentId"
:placeholder=
"$t('请选择所属代理')"
>
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -393,45 +193,22 @@
<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
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=
"12"
>
<el-form-item
:label=
"$t('常用提货网点')"
prop=
"pickupPoints"
>
<el-select
multiple
v-model=
"form.pickupPoints"
>
<el-option
v-for=
"item in getNodeLists"
:key=
"item.id"
:value=
"item.id"
:label=
"isChinese ? item.titleZh : item.titleEn"
></el-option>
<el-option
v-for=
"item in getNodeLists"
:key=
"item.id"
: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=
"busiCountryIds"
>
<el-select
multiple
clearable
v-model=
"form.busiCountryIds"
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"isChinese ? dict.nameZh : dict.nameEn"
:value=
"parseInt(dict.id)"
/>
<el-select
multiple
clearable
v-model=
"form.busiCountryIds"
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"isChinese ? dict.nameZh : dict.nameEn"
:value=
"parseInt(dict.id)"
/>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -439,33 +216,13 @@
<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=
"isChinese ? item.titleZh : item.titleEn"
:value=
"item.id"
v-for=
"item in productTypeList"
:key=
"item.id"
/>
<el-select
@
change=
"change"
v-model=
"form.productType"
:placeholder=
"$t('请选择产品类别')"
>
<el-option
:label=
"isChinese ? item.titleZh : item.titleEn"
:value=
"item.id"
v-for=
"item in productTypeList"
:key=
"item.id"
/>
</el-select>
</el-col>
<el-col
:span=
"11"
>
<el-select
multiple
filterable
clearable
v-model=
"form.productIds"
:placeholder=
"$t('请选择')"
>
<el-option
:label=
"item.titleZh"
:value=
"parseInt(item.id)"
v-for=
"item in productList"
:key=
"item.id"
/>
<el-select
multiple
filterable
clearable
v-model=
"form.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>
...
...
@@ -479,22 +236,9 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('主要竞争对手')"
prop=
"competitorIds"
>
<el-select
clearable
v-model=
"form.competitorIds"
:placeholder=
"$t('请选择')"
@
change=
"changeCompetitor"
>
<el-option
v-for=
"item in competitorList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
:label=
"$t('其他')"
:value=
"0"
/>
<el-select
clearable
v-model=
"form.competitorIds"
:placeholder=
"$t('请选择')"
@
change=
"changeCompetitor"
>
<el-option
v-for=
"item in competitorList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
:label=
"$t('其他')"
:value=
"0"
/>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -503,61 +247,36 @@
<el-input-number
v-model=
"form.numYearly"
:min=
"1"
/>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-form>
<el-card
class=
"box-card"
style=
"margin-top: 15px
;
"
>
<el-card
class=
"box-card"
style=
"margin-top: 15px"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"title-text"
>
{{
$t
(
"
联系人
"
)
}}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"handleAddContact"
>
+
</el-button
>
<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-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-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
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
: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>
...
...
@@ -567,62 +286,25 @@
</
template
>
<
template
v-slot=
"{ row, cellValue, $index }"
>
<el-form-item
label=
""
>
<el-input
v-model=
"row.nameEn"
:placeholder=
"$t('请输入联系人英文名称')"
size=
"mini"
/>
<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
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-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
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"
@
input=
"row.phoneNew=row.phoneNew.replace(/\s+/g, '')"
/>
<el-form-item
:rules=
"contactRules.phoneNew"
:prop=
"'customerContacts.' + $index + '.phoneNew'"
label=
""
>
<el-input
v-model.trim=
"row.phoneNew"
:placeholder=
"$t('请输入联系方式')"
size=
"mini"
@
input=
"row.phoneNew = row.phoneNew.replace(/\s+/g, '')"
/>
</el-form-item>
</
template
>
</el-table-column>
...
...
@@ -639,67 +321,26 @@
<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
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('社交软件号码')"
>
<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-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=
""
>
<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
>
<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
>
...
...
@@ -707,18 +348,8 @@
<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
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
>
...
...
@@ -726,12 +357,7 @@
<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-button
type=
"danger"
@
click=
"handleDeleteContact($index)"
size=
"mini"
>
{{
$t
(
"
删除
"
)
}}
</el-button>
</el-form-item>
</
template
>
</el-table-column>
...
...
@@ -739,18 +365,12 @@
</el-form>
</el-card>
<el-card
class=
"box-card"
style=
"margin-top: 15px
;
"
>
<el-card
class=
"box-card"
style=
"margin-top: 15px"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"title-text"
>
{{ $t('设置') }}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"showSettingFlag = !showSettingFlag"
>
{{showSettingFlag ? $t('隐藏') : $t('更多')}}
</el-button
>
<span
class=
"title-text"
>
{{ $t("设置") }}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"showSettingFlag = !showSettingFlag"
>
{{ showSettingFlag ? $t("隐藏") : $t("更多") }}
</el-button>
</div>
<el-form
ref=
"setForm"
label-width=
"150px"
v-if=
"showSettingFlag"
>
<el-form
ref=
"setForm"
label-width=
"150px"
v-if=
"showSettingFlag"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('是否显示提单价格')"
prop=
"isShowTidanPrice"
>
...
...
@@ -759,22 +379,14 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('到仓确认')"
prop=
"arrivalConfirm"
>
<el-switch
v-model=
"form.arrivalConfirm"
:active-value=
"1"
:inactive-value=
"0"
/>
<el-switch
v-model=
"form.arrivalConfirm"
:active-value=
"1"
:inactive-value=
"0"
/>
</el-form-item>
</el-col>
<el-col
:span=
"13"
>
<el-form-item
:label=
"$t('重货标准')"
prop=
"weightUnit"
>
<el-switch
v-model=
"showZhong"
/>
<el-input
v-model=
"form.weightUnit"
:placeholder=
"$t('请输入重货标准')"
v-show=
"showZhong"
>
<el-input
v-model=
"form.weightUnit"
:placeholder=
"$t('请输入重货标准')"
v-show=
"showZhong"
>
<
template
slot=
"append"
>
kg/cbm
</
template
>
</el-input>
</el-form-item>
...
...
@@ -782,24 +394,14 @@
<el-col
:span=
"24"
v-show=
"showZhong"
>
<el-form-item
:label=
"$t('指定线路')"
prop=
"line"
>
<el-switch
v-model=
"showZhong1"
></el-switch>
<customer-line-table
v-if=
"showZhong1"
:warehouse-list=
"warehouseList"
:import-city-list=
"importCityList"
v-model=
"zhongLines"
:zhong-pao-type=
"1"
></customer-line-table>
<customer-line-table
v-if=
"showZhong1"
:warehouse-list=
"warehouseList"
:import-city-list=
"importCityList"
v-model=
"zhongLines"
:zhong-pao-type=
"1"
></customer-line-table>
</el-form-item>
</el-col>
<el-col
:span=
"13"
>
<el-form-item
:label=
"$t('泡货标准')"
prop=
"lightUnit"
>
<el-switch
v-model=
"showPao"
/>
<el-input
v-model=
"form.lightUnit"
:placeholder=
"$t('请输入泡货标准')"
v-show=
"showPao"
>
<el-input
v-model=
"form.lightUnit"
:placeholder=
"$t('请输入泡货标准')"
v-show=
"showPao"
>
<
template
slot=
"append"
>
kg/cbm
</
template
>
</el-input>
</el-form-item>
...
...
@@ -807,13 +409,7 @@
<el-col
:span=
"24"
v-show=
"showPao"
>
<el-form-item
:label=
"$t('指定线路')"
prop=
"line"
>
<el-switch
v-model=
"showPao1"
></el-switch>
<customer-line-table
v-if=
"showPao1"
:warehouse-list=
"warehouseList"
:import-city-list=
"importCityList"
v-model=
"paoLines"
:zhong-pao-type=
"2"
></customer-line-table>
<customer-line-table
v-if=
"showPao1"
:warehouse-list=
"warehouseList"
:import-city-list=
"importCityList"
v-model=
"paoLines"
:zhong-pao-type=
"2"
></customer-line-table>
</el-form-item>
</el-col>
...
...
@@ -832,146 +428,91 @@
<el-switch
v-model=
"form.defaultBilling"
disabled
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card
class=
"box-card"
style=
"margin-top: 15px
;
"
>
<el-card
class=
"box-card"
style=
"margin-top: 15px"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"title-text"
>
{{ $t('财务') }}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"showFinanceFlag = !showFinanceFlag"
>
{{showFinanceFlag ? $t('隐藏') : $t('更多')}}
</el-button
>
<span
class=
"title-text"
>
{{ $t("财务") }}
</span>
<el-button
style=
"float: right"
size=
"small"
type=
"primary"
@
click=
"showFinanceFlag = !showFinanceFlag"
>
{{ showFinanceFlag ? $t("隐藏") : $t("更多") }}
</el-button>
</div>
<el-form
ref=
"financeForm"
label-width=
"150px"
v-if=
"showFinanceFlag"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('公司名称')"
prop=
"company"
>
<el-input
v-model=
"form.company"
:placeholder=
"$t('请输入公司名称')"
/>
<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-input
v-model=
"form.companyEn"
:placeholder=
"$t('请输入客户英文名称')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
v-hasPermi=
"['ecw:customer:edit-card']"
:label=
"$t('身份证号码')"
>
<el-col
:span=
"12"
>
<el-form-item
v-hasPermi=
"['ecw:customer:edit-card']"
:label=
"$t('身份证号码')"
>
<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('身份证姓名')"
>
<el-form-item
v-hasPermi=
"['ecw:customer:edit-card']"
:label=
"$t('身份证姓名')"
>
<el-input
v-model=
"form.carName"
></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
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-input
v-model=
"form.payerName"
:placeholder=
"$t('请输入付款人姓名')"
></el-input>
</el-form-item>
</el-col>
<h3
style=
"font-size: 15px
;"
>
{{$t('开票信息')
}}
</h3>
<h3
style=
"font-size: 15px
"
>
{{ $t("开票信息")
}}
</h3>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('发票抬头')"
prop=
"invoiceTitle"
>
<el-input
v-model=
"form.invoiceTitle"
:placeholder=
"$t('请输入发票抬头')"
/>
<el-input
v-model=
"form.invoiceTitle"
:placeholder=
"$t('请输入发票抬头')"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('纳税人识别号')"
prop=
"licenseNumber"
>
<el-input
v-model=
"form.licenseNumber"
:placeholder=
"$t('请输入纳税人识别号')"
/>
<el-input
v-model=
"form.licenseNumber"
:placeholder=
"$t('请输入纳税人识别号')"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('开户行')"
prop=
"bank"
>
<el-input
v-model=
"form.bank"
:placeholder=
"$t('请输入开户行')"
/>
<el-input
v-model=
"form.bank"
:placeholder=
"$t('请输入开户行')"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('账户')"
prop=
"bankNumber"
>
<el-input
v-model=
"form.bankNumber"
:placeholder=
"$t('请输入账户')"
/>
<el-input
v-model=
"form.bankNumber"
:placeholder=
"$t('请输入账户')"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('项目')"
prop=
"project"
>
<el-input
v-model=
"form.project"
:placeholder=
"$t('请输入项目')"
/>
<el-input
v-model=
"form.project"
:placeholder=
"$t('请输入项目')"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('开票地址')"
prop=
"billingAddress"
>
<el-input
v-model=
"form.billingAddress"
:placeholder=
"$t('请输入开票地址')"
/>
<el-input
v-model=
"form.billingAddress"
:placeholder=
"$t('请输入开票地址')"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('开票电话')"
prop=
"billingTell"
>
<el-input
v-model=
"form.billingTell"
:placeholder=
"$t('请输入开票电话')"
maxlength=
"50"
/>
<el-input
v-model=
"form.billingTell"
:placeholder=
"$t('请输入开票电话')"
maxlength=
"50"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('税率')"
prop=
"taxRate"
>
<el-input
v-model=
"form.taxRate"
:placeholder=
"$t('请输入税率')"
/>
<el-input
v-model=
"form.taxRate"
:placeholder=
"$t('请输入税率')"
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -979,74 +520,41 @@
<el-form
ref=
"bankForm"
:model=
"form"
v-if=
"showFinanceFlag"
>
<el-row
type=
"flex"
class=
"row-bg"
justify=
"space-between"
>
<span
style=
"font-size: 15px; line-height: 30px"
>
{{$t('银行信息')}}
</span>
<el-button
size=
"small"
type=
"primary"
@
click=
"addBankData"
>
+
</el-button
>
<span
style=
"font-size: 15px; line-height: 30px"
>
{{ $t("银行信息") }}
</span>
<el-button
size=
"small"
type=
"primary"
@
click=
"addBankData"
>
+
</el-button>
</el-row>
<el-table
border
:data=
"form.customerBanks"
style=
"margin-top: 10px"
>
<el-table-column
:label=
"$t('序号')"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('序号')"
type=
"index"
></el-table-column>
<el-table-column>
<div
slot=
"header"
>
{{ $t("账户名称") }}
<span
style=
"color: red"
>
*
</span>
</div>
<div
slot=
"header"
>
{{ $t("账户名称") }}
<span
style=
"color: red"
>
*
</span></div>
<
template
v-slot=
"{ row, $index }"
>
<el-form-item
:rules=
"
{ required: true, message: $t('请输入账户名称') }"
:prop="'customerBanks.' + $index + '.accountName'"
>
<el-form-item
:rules=
"
{ required: true, message: $t('请输入账户名称') }" :prop="'customerBanks.' + $index + '.accountName'">
<el-input
size=
"mini"
v-model=
"row.accountName"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('币别')"
>
<div
slot=
"header"
>
{{ $t("币别") }}
<span
style=
"color: red"
>
*
</span>
</div>
<div
slot=
"header"
>
{{ $t("币别") }}
<span
style=
"color: red"
>
*
</span></div>
<
template
v-slot=
"{ row, $index }"
>
<el-form-item
:prop=
"'customerBanks.' + $index + '.currency'"
:rules=
"
{ required: true, message: $t('请输入币别') }"
>
<el-form-item
:prop=
"'customerBanks.' + $index + '.currency'"
:rules=
"
{ required: true, message: $t('请输入币别') }">
<el-select
v-model=
"row.currency"
>
<el-option
v-for=
"item in currecyList"
:label=
"$l(item, 'title')"
:value=
"item.id.toString()"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in currecyList"
:label=
"$l(item, 'title')"
:value=
"item.id.toString()"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('银行名称')"
>
<div
slot=
"header"
>
{{ $t("银行名称") }}
<span
style=
"color: red"
>
*
</span>
</div>
<div
slot=
"header"
>
{{ $t("银行名称") }}
<span
style=
"color: red"
>
*
</span></div>
<
template
v-slot=
"{ row, $index }"
>
<el-form-item
:prop=
"'customerBanks.' + $index + '.bankName'"
:rules=
"
{ required: true, message: $t('银行名称') }"
>
<el-form-item
:prop=
"'customerBanks.' + $index + '.bankName'"
:rules=
"
{ required: true, message: $t('银行名称') }">
<el-input
v-model=
"row.bankName"
size=
"mini"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('银行账户')"
>
<div
slot=
"header"
>
{{ $t("银行账户") }}
<span
style=
"color: red"
>
*
</span>
</div>
<div
slot=
"header"
>
{{ $t("银行账户") }}
<span
style=
"color: red"
>
*
</span></div>
<
template
v-slot=
"{ row, $index }"
>
<el-form-item
:prop=
"`customerBanks.$
{$index}.bankAccount`"
:rules="{ required: true, message: $t('请输入银行账户') }"
>
<el-form-item
:prop=
"`customerBanks.$
{$index}.bankAccount`" :rules="{ required: true, message: $t('请输入银行账户') }">
<el-input
v-model=
"row.bankAccount"
size=
"mini"
></el-input>
</el-form-item>
</
template
>
...
...
@@ -1087,9 +595,7 @@
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ $index }"
>
<el-button
@
click=
"deleteBankData($index)"
>
{{
$t
(
"
删除
"
)
}}
</el-button>
<el-button
@
click=
"deleteBankData($index)"
>
{{
$t
(
"
删除
"
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -1097,9 +603,7 @@
</el-card>
<div
style=
"margin-top: 15px; text-align: center"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t("确 定")
}}
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{ $t("确 定") }}
</el-button>
<el-button
@
click=
"cancel"
>
{{ $t("取 消") }}
</el-button>
</div>
</el-col>
...
...
@@ -1107,42 +611,25 @@
</template>
<
script
>
import
{
getDictDatas
,
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
upload
from
"
@/components/ImageUpload
"
;
import
{
createCustomer
,
getCustomer
,
getCustomerList
,
getCustomerPage
,
memberUserList
,
updateCustomer
,
userMemberUserList
,
getCustomerLines
,
fillupCustomeInfo
,
getServiceNetwork
,
addCompetitor
,
competitorListAll
}
from
"
@/api/ecw/customer
"
;
import
{
getNodeList
}
from
"
@/api/ecw/node
"
;
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
;
import
{
getProductList
}
from
"
@/api/ecw/product
"
;
import
{
getTradeCityList
}
from
"
@/api/ecw/region
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
CustomerLineTable
from
"
@/components/CustomerLineTable
"
;
import
{
getCustomerSelect
}
from
"
@/api/ecw/customer
"
;
import
{
listAllSimpl
,
listServiceUser
,
listSimpleUsers
,
}
from
"
@/api/system/user
"
;
import
{
getZhongPaoBest
,
getZhongPaoPage
}
from
"
@/api/ecw/zhongPao
"
;
import
{
getCustomerContactsListByCustomer
}
from
"
@/api/ecw/customerContacts
"
;
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
Template
from
"
@/views/cms/template
"
;
import
{
validatorMobile
}
from
"
@/api/ecw/validate
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
"
@/utils/dict
"
import
upload
from
"
@/components/ImageUpload
"
import
{
createCustomer
,
getCustomer
,
getCustomerList
,
getCustomerPage
,
memberUserList
,
updateCustomer
,
userMemberUserList
,
getCustomerLines
,
fillupCustomeInfo
,
getServiceNetwork
,
addCompetitor
,
competitorListAll
}
from
"
@/api/ecw/customer
"
import
{
getNodeList
}
from
"
@/api/ecw/node
"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
getTradeCityList
}
from
"
@/api/ecw/region
"
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
CustomerLineTable
from
"
@/components/CustomerLineTable
"
import
{
getCustomerSelect
}
from
"
@/api/ecw/customer
"
import
{
listAllSimpl
,
listServiceUser
,
listSimpleUsers
}
from
"
@/api/system/user
"
import
{
getZhongPaoBest
,
getZhongPaoPage
}
from
"
@/api/ecw/zhongPao
"
import
{
getCustomerContactsListByCustomer
}
from
"
@/api/ecw/customerContacts
"
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
import
Template
from
"
@/views/cms/template
"
import
{
validatorMobile
}
from
"
@/api/ecw/validate
"
// import {customerDropDownList} from "@/api/ecw/customerCommissionInfo";
import
MemberSelector
from
"
@/components/MemberSelector
"
;
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
;
import
MemberSelector
from
"
@/components/MemberSelector
"
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
export
default
{
name
:
"
EcwCustomerEdit
"
,
...
...
@@ -1151,46 +638,41 @@ export default {
Template
,
upload
,
CustomerLineTable
,
MemberSelector
,
MemberSelector
},
created
()
{
getCurrencyList
().
then
((
response
)
=>
{
this
.
currecyList
=
response
.
data
;
});
this
.
isCustomerServiceConfirmed
=
this
.
$route
.
query
.
isCustomerServiceConfirmed
?
true
:
false
;
this
.
getCustomerSelect
();
this
.
reset
();
this
.
currecyList
=
response
.
data
})
this
.
isCustomerServiceConfirmed
=
this
.
$route
.
query
.
isCustomerServiceConfirmed
?
true
:
false
this
.
getCustomerSelect
()
this
.
reset
()
// this.getUserMemberUserFn()
if
(
this
.
customerId
!==
"
0
"
)
{
let
customerId
=
this
.
customerId
;
let
customerId
=
this
.
customerId
// 编辑客户
this
.
getCustomer
(
this
.
customerId
).
then
(()
=>
{
getCustomerContactsListByCustomer
({
customerId
:
customerId
}).
then
(
(
r
)
=>
{
this
.
form
.
customerContacts
=
r
.
data
;
this
.
form
.
customerContacts
.
forEach
((
item
)
=>
{
if
(
item
.
email
)
{
item
.
email
=
item
.
email
.
split
(
"
,
"
);
}
else
{
item
.
email
=
[
""
];
}
});
}
);
getCustomerContactsListByCustomer
({
customerId
:
customerId
}).
then
((
r
)
=>
{
this
.
form
.
customerContacts
=
r
.
data
this
.
form
.
customerContacts
.
forEach
((
item
)
=>
{
if
(
item
.
email
)
{
item
.
email
=
item
.
email
.
split
(
"
,
"
)
}
else
{
item
.
email
=
[
""
]
}
})
})
if
(
this
.
form
.
promoter
)
{
getCustomerList
({
ids
:
this
.
form
.
promoter
}).
then
((
r
)
=>
{
this
.
recommended
=
r
.
data
;
})
;
this
.
recommended
=
r
.
data
})
}
// 打开重泡货开关
if
(
this
.
form
.
weightUnit
)
{
this
.
showZhong
=
true
;
this
.
showZhong
=
true
}
if
(
this
.
form
.
lightUnit
)
{
this
.
showPao
=
true
;
this
.
showPao
=
true
}
// 掉入公海时间
this
.
enterOpenSeaTime
=
this
.
form
.
estimateEnterOpenSeaTime
||
this
.
form
.
enterOpenSeaTime
||
undefined
...
...
@@ -1198,46 +680,46 @@ export default {
if
(
customerId
)
{
// 获取重泡货路线
getCustomerLines
(
customerId
).
then
((
res
)
=>
{
this
.
zhongLines
=
res
.
data
.
filter
((
item
)
=>
item
.
zhongPaoType
==
1
)
;
this
.
paoLines
=
res
.
data
.
filter
((
item
)
=>
item
.
zhongPaoType
==
2
)
;
if
(
this
.
zhongLines
.
length
)
this
.
showZhong1
=
true
;
if
(
this
.
paoLines
.
length
)
this
.
showPao1
=
true
;
this
.
zhongLines
=
res
.
data
.
filter
((
item
)
=>
item
.
zhongPaoType
==
1
)
this
.
paoLines
=
res
.
data
.
filter
((
item
)
=>
item
.
zhongPaoType
==
2
)
if
(
this
.
zhongLines
.
length
)
this
.
showZhong1
=
true
if
(
this
.
paoLines
.
length
)
this
.
showPao1
=
true
// /admin-api/customer-line/get-by-customer
// /admin-api/customer-line/get-by-customer?customerId=29564
})
;
})
}
})
;
})
}
else
{
this
.
getZhongPao
()
;
this
.
getZhongPao
()
// 新建客户
this
.
handleAddContact
()
;
this
.
handleAddContact
()
if
(
this
.
isCustomerServiceConfirmed
)
{
this
.
form
.
customerService
=
this
.
userId
;
this
.
form
.
customerService
=
this
.
userId
}
}
getNodeList
().
then
((
r
)
=>
{
this
.
getNodeLists
=
r
.
data
;
})
;
this
.
getNodeLists
=
r
.
data
})
getProductTypeList
().
then
((
r
)
=>
{
this
.
productTypeList
=
r
.
data
;
})
;
this
.
productTypeList
=
r
.
data
})
getTradeCityList
({
type
:
1
}).
then
((
r
)
=>
{
this
.
importCityList
=
r
.
data
.
filter
((
item
)
=>
item
.
type
===
"
1
"
)
;
})
;
this
.
importCityList
=
r
.
data
.
filter
((
item
)
=>
item
.
type
===
"
1
"
)
})
getWarehouseList
().
then
((
r
)
=>
{
this
.
warehouseList
=
r
.
data
;
})
;
this
.
warehouseList
=
r
.
data
})
listServiceUser
().
then
((
r
)
=>
{
this
.
serviceUserList
=
r
.
data
;
})
;
this
.
serviceUserList
=
r
.
data
})
listAllSimpl
().
then
((
r
)
=>
{
this
.
allSimplList
=
r
.
data
;
})
;
this
.
allSimplList
=
r
.
data
})
getCountryListAll
().
then
((
r
)
=>
{
this
.
countryList
=
r
.
data
;
})
;
this
.
countryList
=
r
.
data
})
this
.
getCompetitorList
()
},
data
()
{
...
...
@@ -1255,89 +737,85 @@ export default {
{
required
:
true
,
message
:
this
.
$t
(
"
客户名称不能为空
"
),
trigger
:
"
blur
"
,
},
],
country
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
国家不能为空
"
),
trigger
:
"
blur
"
},
trigger
:
"
blur
"
}
],
country
:
[{
required
:
true
,
message
:
this
.
$t
(
"
国家不能为空
"
),
trigger
:
"
blur
"
}],
level
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
客户等级不能为空
"
),
trigger
:
"
blur
"
,
}
,
trigger
:
"
blur
"
}
],
type
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
客户类别不能为空
"
),
trigger
:
"
blur
"
,
}
,
trigger
:
"
blur
"
}
],
createTime
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
创建时间不能为空
"
),
trigger
:
"
blur
"
,
}
,
trigger
:
"
blur
"
}
],
source
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
客户来源不能为空
"
),
trigger
:
"
blur
"
,
}
,
trigger
:
"
blur
"
}
],
customerService
:
[
{
required
:
this
.
customerId
===
"
0
"
,
message
:
this
.
$t
(
"
客户经理不能为空
"
),
trigger
:
"
blur
"
,
}
,
trigger
:
"
blur
"
}
],
status
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
客户状态不能为空
"
),
trigger
:
"
blur
"
,
}
,
trigger
:
"
blur
"
}
],
busiCountryIds
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
请选择业务国家
"
),
trigger
:
"
blur
"
,
}
,
trigger
:
"
blur
"
}
],
competitorIds
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
请选择主要竞争对手
"
),
trigger
:
"
change
"
,
}
,
trigger
:
"
change
"
}
],
pickupPoints
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
请选择常用提货网点
"
),
trigger
:
"
change
"
,
}
,
trigger
:
"
change
"
}
],
productType
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
请选择产品类别
"
),
trigger
:
"
change
"
,
}
,
]
,
trigger
:
"
change
"
}
]
},
contactRules
:
{
name
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
请输入联系人
"
),
trigger
:
"
blur
"
},
],
name
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请输入联系人
"
),
trigger
:
"
blur
"
}],
areaCode
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
请选择区号
"
),
trigger
:
"
change
"
}
,
{
required
:
true
,
message
:
this
.
$t
(
"
请选择区号
"
),
trigger
:
"
change
"
}
/*{
required: true,
trigger: "change",
...
...
@@ -1348,9 +826,9 @@ export default {
{
required
:
true
,
trigger
:
"
blur
"
,
validator
:
this
.
phoneValidator
,
}
,
]
,
validator
:
this
.
phoneValidator
}
]
},
// 网点
nodeList
:
[],
...
...
@@ -1379,28 +857,28 @@ export default {
showShippingFlag
:
true
,
showSettingFlag
:
true
,
showFinanceFlag
:
true
,
competitorList
:
[]
,
}
;
competitorList
:
[]
}
},
methods
:
{
addEmail
(
row
)
{
row
.
push
(
""
)
;
row
.
push
(
""
)
},
deleteEmail
(
row
,
index
)
{
row
.
splice
(
index
,
1
)
;
row
.
splice
(
index
,
1
)
},
change
(
val
)
{
this
.
form
.
productIds
=
[]
;
this
.
getProductListFn
(
val
)
;
this
.
form
.
productIds
=
[]
this
.
getProductListFn
(
val
)
},
getProductListFn
(
val
)
{
getProductList
({
typeId
:
val
}).
then
((
r
)
=>
{
this
.
productList
=
r
.
data
;
})
;
this
.
productList
=
r
.
data
})
},
deleteBankData
(
index
)
{
this
.
form
.
customerBanks
.
splice
(
index
,
1
)
;
this
.
form
.
customerBanks
.
splice
(
index
,
1
)
},
//添加银行卡
addBankData
()
{
...
...
@@ -1412,10 +890,10 @@ export default {
accountType
:
null
,
status
:
null
,
currency
:
""
,
accountName
:
""
,
}
;
accountName
:
""
}
this
.
form
.
customerBanks
=
[...
this
.
form
.
customerBanks
,
p
]
;
this
.
form
.
customerBanks
=
[...
this
.
form
.
customerBanks
,
p
]
},
/* getUserMemberUserFn(val){
userMemberUserList({pageNo:1,pageSize:100,searchKey:val}).then(r => {
...
...
@@ -1423,87 +901,80 @@ export default {
})
}, */
remoteMethod
(
val
)
{
this
.
getCustomerSelect
(
val
)
;
this
.
getCustomerSelect
(
val
)
},
getCustomerSelect
(
val
=
""
)
{
getCustomerSelect
({
pageNo
:
1
,
pageSize
:
30
,
searchKey
:
val
}).
then
(
(
res
)
=>
{
this
.
customerSelect
=
res
.
data
.
list
;
}
);
getCustomerSelect
({
pageNo
:
1
,
pageSize
:
30
,
searchKey
:
val
}).
then
((
res
)
=>
{
this
.
customerSelect
=
res
.
data
.
list
})
},
phoneValidator
(
rule
,
value
,
callback
)
{
if
(
!
value
)
{
return
callback
(
new
Error
(
this
.
$t
(
"
请输入联系方式
"
)))
;
return
callback
(
new
Error
(
this
.
$t
(
"
请输入联系方式
"
)))
}
let
areaCode
=
this
.
form
.
customerContacts
.
find
(
(
e
)
=>
e
.
phoneNew
===
value
).
areaCode
;
let
areaCode
=
this
.
form
.
customerContacts
.
find
((
e
)
=>
e
.
phoneNew
===
value
).
areaCode
if
(
areaCode
)
{
validatorMobile
({
code
:
areaCode
,
mobile
:
value
,
mobile
:
value
})
.
then
((
r
)
=>
{
if
(
r
.
data
)
{
callback
()
;
callback
()
}
else
{
callback
(
new
Error
(
r
.
msg
||
this
.
$t
(
"
手机号验证失败
"
)))
;
callback
(
new
Error
(
r
.
msg
||
this
.
$t
(
"
手机号验证失败
"
)))
}
})
.
catch
((
e
)
=>
{
console
.
error
(
e
)
;
callback
(
new
Error
(
this
.
$t
(
"
手机号验证失败
"
)))
;
})
;
console
.
error
(
e
)
callback
(
new
Error
(
this
.
$t
(
"
手机号验证失败
"
)))
})
}
},
codeValidator
(
rule
,
value
,
callback
)
{
let
index
=
+
rule
.
field
.
split
(
"
.
"
)[
1
]
;
let
phone
=
this
.
form
.
customerContacts
[
index
].
phoneNew
;
let
index
=
+
rule
.
field
.
split
(
"
.
"
)[
1
]
let
phone
=
this
.
form
.
customerContacts
[
index
].
phoneNew
if
(
phone
)
{
validatorMobile
({
code
:
value
,
mobile
:
phone
,
mobile
:
phone
})
.
then
((
r
)
=>
{
if
(
r
.
data
)
{
callback
()
;
callback
()
}
else
{
callback
()
;
this
.
$message
.
error
(
r
.
msg
||
this
.
$t
(
"
手机号验证失败
"
))
;
callback
()
this
.
$message
.
error
(
r
.
msg
||
this
.
$t
(
"
手机号验证失败
"
))
}
})
.
catch
((
e
)
=>
{
console
.
error
(
e
)
;
callback
()
;
this
.
$message
.
error
(
this
.
$t
(
"
手机号验证失败
"
))
;
})
;
console
.
error
(
e
)
callback
()
this
.
$message
.
error
(
this
.
$t
(
"
手机号验证失败
"
))
})
}
},
handleDefaultChange
(
$index
)
{
// 只有一个联系人,设置成非默认
if
(
this
.
form
.
customerContacts
.
length
===
1
&&
this
.
form
.
customerContacts
[
0
].
isDefault
===
0
)
{
this
.
$modal
.
msgWarning
(
this
.
$t
(
"
至少拥有一个默认联系人
"
));
this
.
form
.
customerContacts
[
0
].
isDefault
=
1
;
return
;
if
(
this
.
form
.
customerContacts
.
length
===
1
&&
this
.
form
.
customerContacts
[
0
].
isDefault
===
0
)
{
this
.
$modal
.
msgWarning
(
this
.
$t
(
"
至少拥有一个默认联系人
"
))
this
.
form
.
customerContacts
[
0
].
isDefault
=
1
return
}
// 设置默认联系人
if
(
this
.
form
.
customerContacts
[
$index
].
isDefault
===
1
)
{
// 其他的置否
let
i
=
0
;
let
i
=
0
this
.
form
.
customerContacts
.
forEach
((
e
)
=>
{
if
(
i
!==
$index
)
{
e
.
isDefault
=
0
;
e
.
isDefault
=
0
}
i
++
;
})
;
i
++
})
}
else
{
// 第一个置是
this
.
form
.
customerContacts
[
0
].
isDefault
=
1
;
this
.
form
.
customerContacts
[
0
].
isDefault
=
1
}
},
/* selectBD(val){
...
...
@@ -1518,49 +989,49 @@ export default {
}, */
/** 取消按钮 */
cancel
()
{
this
.
$tab
.
closePage
()
;
this
.
open
=
false
;
this
.
reset
()
;
this
.
$tab
.
closePage
()
this
.
open
=
false
this
.
reset
()
},
/** 提交按钮 */
submitForm
()
{
if
(
this
.
form
.
customerContacts
.
length
===
0
)
{
this
.
$modal
.
alert
(
this
.
$t
(
"
至少添加一位联系人
"
))
;
return
;
this
.
$modal
.
alert
(
this
.
$t
(
"
至少添加一位联系人
"
))
return
}
this
.
$refs
[
"
contactForm
"
].
validate
((
valid1
,
err1
)
=>
{
this
.
$refs
[
"
form
"
].
validate
((
valid2
,
err2
)
=>
{
this
.
$refs
.
bankForm
.
validate
((
valid3
,
err3
)
=>
{
console
.
log
(
valid3
,
"
valid3
"
)
;
console
.
log
(
valid3
,
"
valid3
"
)
if
(
!
valid1
||
!
valid2
||
!
valid3
)
{
this
.
$showFormValidateErrors
({
...
err1
,
...
err2
,
...
err3
})
;
return
;
this
.
$showFormValidateErrors
({
...
err1
,
...
err2
,
...
err3
})
return
}
if
(
this
.
form
.
customerContacts
.
length
===
0
)
{
this
.
$modal
.
msgError
(
this
.
$t
(
"
至少填写一个联系人信息
"
))
;
return
;
this
.
$modal
.
msgError
(
this
.
$t
(
"
至少填写一个联系人信息
"
))
return
}
if
(
this
.
form
.
competitorIds
==
0
)
{
this
.
$modal
.
msgError
(
this
.
$t
(
"
请重新选择主要竞争对手
"
))
;
return
;
this
.
$modal
.
msgError
(
this
.
$t
(
"
请重新选择主要竞争对手
"
))
return
}
// 重货标准和泡货标准,未打开就不传,提交前清空一下
if
(
!
this
.
showZhong
)
{
this
.
form
.
weightUnit
=
null
;
this
.
zhongLines
=
[]
;
this
.
form
.
weightUnit
=
null
this
.
zhongLines
=
[]
}
if
(
!
this
.
showZhong1
)
{
this
.
zhongLines
=
[]
;
this
.
zhongLines
=
[]
}
if
(
!
this
.
showPao
)
{
this
.
form
.
lightUnit
=
null
;
this
.
paoLines
=
[]
;
this
.
form
.
lightUnit
=
null
this
.
paoLines
=
[]
}
if
(
!
this
.
showPao1
)
{
this
.
paoLines
=
[]
;
this
.
paoLines
=
[]
}
this
.
updateCustomerLines
()
;
this
.
updateCustomerLines
()
const
form
=
{
...
this
.
form
,
type
:
this
.
form
.
type
?.
join
(
"
,
"
),
...
...
@@ -1572,65 +1043,63 @@ export default {
busiCountryIds
:
(
this
.
form
.
busiCountryIds
||
[])?.
join
(
"
,
"
),
noConsignee
:
undefined
,
defaultPay
:
undefined
,
defaultBilling
:
undefined
,
};
form
.
customerContacts
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
.
customerContacts
)
);
defaultBilling
:
undefined
}
form
.
customerContacts
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
.
customerContacts
))
form
.
customerContacts
.
forEach
((
e
)
=>
{
e
.
email
=
[...
e
.
email
].
filter
((
i
)
=>
i
!==
""
).
join
(
"
,
"
)
;
})
;
e
.
email
=
[...
e
.
email
].
filter
((
i
)
=>
i
!==
""
).
join
(
"
,
"
)
})
// 检查路线是否启用了但是没选择目的仓
let
errors
=
0
;
let
errors
=
0
form
.
customerLines
.
forEach
((
line
)
=>
{
if
(
!
line
.
objectiveIds
||
line
.
objectiveIds
==
""
)
{
errors
++
;
errors
++
}
})
;
})
if
(
errors
)
{
return
this
.
$message
.
error
(
"
有两条路线未选择目的地
"
)
;
return
this
.
$message
.
error
(
"
有两条路线未选择目的地
"
)
}
//我的客户页面跳转直接,完善客户
if
(
this
.
isCustomerServiceConfirmed
)
{
form
.
isCustomerServiceConfirmed
=
this
.
isCustomerServiceConfirmed
;
form
.
isCustomerServiceConfirmed
=
this
.
isCustomerServiceConfirmed
}
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
this
.
form
.
customerContacts
.
forEach
((
e
)
=>
{
e
.
customerId
=
this
.
customerId
;
})
;
e
.
customerId
=
this
.
customerId
})
console
.
log
(
this
.
form
)
if
(
this
.
$route
.
name
===
"
perfect
"
)
{
fillupCustomeInfo
(
form
).
then
((
r
)
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
))
;
this
.
open
=
false
;
const
obj
=
{
path
:
"
/customer/customer
"
}
;
this
.
$tab
.
closeOpenPage
(
obj
)
;
})
;
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
))
this
.
open
=
false
const
obj
=
{
path
:
"
/customer/customer
"
}
this
.
$tab
.
closeOpenPage
(
obj
)
})
}
else
{
updateCustomer
(
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
))
;
this
.
open
=
false
;
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
))
this
.
open
=
false
// this.getList();
const
obj
=
{
path
:
"
/customer/customer
"
}
;
this
.
$tab
.
closeOpenPage
(
obj
)
;
})
;
const
obj
=
{
path
:
"
/customer/customer
"
}
this
.
$tab
.
closeOpenPage
(
obj
)
})
}
return
;
return
}
// 添加的提交
createCustomer
(
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
新增成功
"
))
;
this
.
open
=
false
;
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
新增成功
"
))
this
.
open
=
false
// this.getList();
const
obj
=
{
path
:
"
/customer/customer
"
}
;
this
.
$tab
.
closeOpenPage
(
obj
)
;
})
;
})
;
})
;
})
;
const
obj
=
{
path
:
"
/customer/customer
"
}
this
.
$tab
.
closeOpenPage
(
obj
)
})
})
})
})
},
/** 表单重置 */
reset
()
{
...
...
@@ -1683,63 +1152,60 @@ export default {
carName
:
undefined
,
carNo
:
undefined
,
customerBanks
:
[],
isNew
:
true
,
// 业绩类型
firstDealTime
:
undefined
,
// 首次成交时间
isNew
:
true
,
// 业绩类型
firstDealTime
:
undefined
,
// 首次成交时间
// estimateEnterOpenSeaTime: undefined,// 掉入公海时间
getMethod
:
undefined
,
// 获取方式
createFrom
:
undefined
,
// 创建入口
catchTime
:
undefined
,
//捞取时间
customerServiceConfirmedTime
:
undefined
,
//归属时间
updater
:
this
.
$store
.
getters
.
userId
,
// 更新人
updateTime
:
undefined
,
// 更新时间
roles
:
undefined
,
// 客户角色
busiCountryIds
:
undefined
,
// 业务国家
competitorIds
:
undefined
,
// 主要竞争对手
weightYearly
:
undefined
,
// 年度发货量
numYearly
:
undefined
,
// 年度发货次数
noConsignee
:
false
,
// 控制无收货人
defaultPay
:
false
,
// 默认付款
defaultBilling
:
false
,
// 默认开票
}
;
this
.
form
.
createTime
=
new
Date
().
getTime
()
;
this
.
form
.
updateTime
=
new
Date
().
getTime
()
;
this
.
resetForm
(
"
form
"
)
;
getMethod
:
undefined
,
// 获取方式
createFrom
:
undefined
,
// 创建入口
catchTime
:
undefined
,
//捞取时间
customerServiceConfirmedTime
:
undefined
,
//归属时间
updater
:
this
.
$store
.
getters
.
userId
,
// 更新人
updateTime
:
undefined
,
// 更新时间
roles
:
undefined
,
// 客户角色
busiCountryIds
:
undefined
,
// 业务国家
competitorIds
:
undefined
,
// 主要竞争对手
weightYearly
:
undefined
,
// 年度发货量
numYearly
:
undefined
,
// 年度发货次数
noConsignee
:
false
,
// 控制无收货人
defaultPay
:
false
,
// 默认付款
defaultBilling
:
false
// 默认开票
}
this
.
form
.
createTime
=
new
Date
().
getTime
()
this
.
form
.
updateTime
=
new
Date
().
getTime
()
this
.
resetForm
(
"
form
"
)
},
getCustomer
(
id
)
{
return
getCustomer
(
id
).
then
((
response
)
=>
{
console
.
log
(
response
,
"
response
"
)
;
console
.
log
(
response
,
"
response
"
)
this
.
form
=
{
...
this
.
form
,
...
response
.
data
,
id
:
this
.
customerId
,
transportType
:
response
.
data
.
transportType
&&
response
.
data
.
transportType
!==
""
?
response
.
data
.
transportType
.
split
(
"
,
"
)
:
[],
transportType
:
response
.
data
.
transportType
&&
response
.
data
.
transportType
!==
""
?
response
.
data
.
transportType
.
split
(
"
,
"
)
:
[],
customerBanks
:
response
.
data
.
customerBankBackVOList
,
roles
:
response
.
data
.
roles
?
response
.
data
.
roles
.
split
(
"
,
"
)
:
[],
roles
:
response
.
data
.
roles
?
response
.
data
.
roles
.
split
(
"
,
"
)
:
[],
pickupPoints
:
this
.
stringArrToNumberArr
(
response
.
data
.
pickupPoints
),
productIds
:
this
.
stringArrToNumberArr
(
response
.
data
.
productIds
),
busiCountryIds
:
this
.
stringArrToNumberArr
(
response
.
data
.
busiCountryIds
),
competitorIds
:
Number
(
response
.
data
.
competitorIds
)
}
;
}
if
(
this
.
form
.
productType
)
{
console
.
log
(
"
1231
"
,
this
.
form
.
productType
)
;
this
.
getProductListFn
(
this
.
form
.
productType
)
;
console
.
log
(
"
1231
"
,
this
.
form
.
productType
)
this
.
getProductListFn
(
this
.
form
.
productType
)
}
console
.
log
(
this
.
form
)
this
.
open
=
true
;
this
.
title
=
this
.
$t
(
"
修改客户
"
)
;
this
.
open
=
true
this
.
title
=
this
.
$t
(
"
修改客户
"
)
this
.
$forceUpdate
()
this
.
getZhongPao
()
;
})
;
this
.
getZhongPao
()
})
},
stringArrToNumberArr
(
data
)
{
if
(
data
)
{
const
strArr
=
data
.
split
(
"
,
"
)
const
numArr
=
strArr
.
map
(
item
=>
Number
(
item
))
const
numArr
=
strArr
.
map
(
(
item
)
=>
Number
(
item
))
return
numArr
}
else
{
return
[]
...
...
@@ -1747,14 +1213,14 @@ export default {
},
updateCustomerLines
()
{
let
zhongLines
=
[],
paoLines
=
[]
;
paoLines
=
[]
if
(
this
.
zhongLines
.
length
>
0
)
{
zhongLines
=
this
.
zhongLines
;
zhongLines
=
this
.
zhongLines
}
if
(
this
.
paoLines
.
length
>
0
)
{
paoLines
=
this
.
paoLines
;
paoLines
=
this
.
paoLines
}
this
.
form
.
customerLines
=
[...
zhongLines
,
...
paoLines
]
;
this
.
form
.
customerLines
=
[...
zhongLines
,
...
paoLines
]
},
handleAddContact
()
{
this
.
form
.
customerContacts
.
push
({
...
...
@@ -1769,46 +1235,46 @@ export default {
social
:
undefined
,
socialNumber
:
""
,
userid
:
undefined
,
nameEn
:
""
,
nameEn
:
""
// "username": ""
})
;
})
},
handleDeleteContact
(
$index
)
{
this
.
form
.
customerContacts
.
splice
(
$index
,
1
)
;
this
.
form
.
customerContacts
.
splice
(
$index
,
1
)
if
(
this
.
form
.
customerContacts
.
length
>
0
)
{
this
.
$refs
[
"
contactForm
"
].
clearValidate
()
;
this
.
$refs
[
"
contactForm
"
].
clearValidate
()
if
(
!
this
.
form
.
customerContacts
.
find
((
e
)
=>
e
.
isDefault
))
{
this
.
form
.
customerContacts
[
0
].
isDefault
=
1
;
this
.
form
.
customerContacts
[
0
].
isDefault
=
1
}
}
},
getZhongPao
()
{
getZhongPaoBest
({
customerId
:
this
.
customerId
,
customerId
:
this
.
customerId
// departureId: this.departureId,
// objectiveId: this.objectiveId
}).
then
((
r
)
=>
{
if
(
!
this
.
form
.
weightUnit
)
this
.
form
.
weightUnit
=
r
.
data
.
zhongEdge
;
if
(
!
this
.
form
.
lightUnit
)
this
.
form
.
lightUnit
=
r
.
data
.
paoEdge
;
})
;
if
(
!
this
.
form
.
weightUnit
)
this
.
form
.
weightUnit
=
r
.
data
.
zhongEdge
if
(
!
this
.
form
.
lightUnit
)
this
.
form
.
lightUnit
=
r
.
data
.
paoEdge
})
},
getCompetitorList
()
{
competitorListAll
().
then
((
r
)
=>
{
this
.
competitorList
=
r
.
data
;
this
.
competitorList
=
r
.
data
})
},
changeCompetitor
(
val
)
{
if
(
val
==
0
)
{
this
.
$prompt
(
"
请输入主要竞争对手
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
cancelButtonText
:
"
取消
"
}).
then
((
data
)
=>
{
console
.
log
(
data
)
addCompetitor
({
name
:
data
.
value
}).
then
(
_
=>
{
this
.
$message
.
success
(
'
添加成功!
'
)
}).
then
(
(
_
)
=>
{
this
.
$message
.
success
(
"
添加成功!
"
)
this
.
getCompetitorList
()
})
})
...
...
@@ -1817,13 +1283,13 @@ export default {
},
computed
:
{
isChinese
()
{
return
this
.
$i18n
.
locale
===
"
zh_CN
"
;
return
this
.
$i18n
.
locale
===
"
zh_CN
"
},
userId
()
{
return
this
.
$store
.
state
.
user
.
id
;
return
this
.
$store
.
state
.
user
.
id
},
customerId
()
{
return
this
.
$route
.
params
.
customerId
;
return
this
.
$route
.
params
.
customerId
},
/* userMemberUser(){
let list = this.memberList.filter(item => {
...
...
@@ -1832,33 +1298,31 @@ export default {
return [...this.selectMemberList,...list]
}, */
productListFilter
()
{
return
this
.
productList
.
filter
((
p
)
=>
p
.
typeId
===
this
.
form
.
productType
)
;
return
this
.
productList
.
filter
((
p
)
=>
p
.
typeId
===
this
.
form
.
productType
)
},
customerSelectFn
()
{
if
(
this
.
recommended
.
length
>
0
)
{
let
i
=
this
.
customerSelect
.
find
(
(
item
)
=>
item
.
id
===
this
.
recommended
[
0
].
id
);
let
i
=
this
.
customerSelect
.
find
((
item
)
=>
item
.
id
===
this
.
recommended
[
0
].
id
)
if
(
!
i
)
{
this
.
customerSelect
.
push
(
this
.
recommended
[
0
])
;
this
.
customerSelect
.
push
(
this
.
recommended
[
0
])
}
return
this
.
customerSelect
;
return
this
.
customerSelect
}
else
{
return
this
.
customerSelect
;
return
this
.
customerSelect
}
}
,
}
},
watch
:
{
zhongLines
()
{
console
.
log
(
"
zhongLines
"
,
this
.
zhongLines
)
;
this
.
updateCustomerLines
()
;
console
.
log
(
"
zhongLines
"
,
this
.
zhongLines
)
this
.
updateCustomerLines
()
},
paoLines
()
{
console
.
log
(
"
paoLines
"
,
this
.
paoLines
)
;
this
.
updateCustomerLines
()
;
}
,
}
,
}
;
console
.
log
(
"
paoLines
"
,
this
.
paoLines
)
this
.
updateCustomerLines
()
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
@@ -1877,7 +1341,7 @@ export default {
}
}
.title-text
{
font-size
:
18px
;
font-size
:
18px
;
color
:
#111
;
}
</
style
>
src/views/ecw/customer/query.vue
View file @
d625d224
...
...
@@ -337,6 +337,28 @@
<
el
-
card
class
=
"
box-card
"
>
<
div
slot
=
"
header
"
class
=
"
clearfix
"
>
<
el
-
form
size
=
"
small
"
:
inline
=
"
true
"
label
-
width
=
"
100px
"
>
<
el
-
form
-
item
:
label
=
"
$t('编号')
"
prop
=
"
number
"
>
<
el
-
input
v
-
model
.
trim
=
"
followForm.number
"
clearable
@
keyup
.
enter
.
native
=
"
handleQuery
"
/>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('报价单号')
"
prop
=
"
offerNumber
"
>
<
el
-
input
v
-
model
.
trim
=
"
followForm.offerNumber
"
clearable
@
keyup
.
enter
.
native
=
"
handleQuery
"
/>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('联系人')
"
prop
=
"
contactName
"
>
<
el
-
input
v
-
model
.
trim
=
"
followForm.contactName
"
clearable
@
keyup
.
enter
.
native
=
"
handleQuery
"
/>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('联系方式')
"
prop
=
"
contactPhone
"
>
<
el
-
input
v
-
model
.
trim
=
"
followForm.contactPhone
"
clearable
@
keyup
.
enter
.
native
=
"
handleQuery
"
/>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('客户经理')
"
prop
=
"
salesmanIds
"
>
<
user
-
selector
v
-
model
=
"
followForm.salesmanIds
"
multiple
clearable
@
change
=
"
handleQuery
"
/>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('下次跟进时间')
"
>
<
el
-
date
-
picker
v
-
model
=
"
followFormTmp.nextTime
"
type
=
"
datetimerange
"
range
-
separator
=
"
-
"
:
start
-
placeholder
=
"
$t('开始日期')
"
:
end
-
placeholder
=
"
$t('结束日期')
"
value
-
format
=
"
yyyy-MM-dd HH:mm:ss
"
@
change
=
"
handleQuery
"
>
<
/el-date-picker
>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('关联跟进记录')
"
prop
=
"
parentNumber
"
>
<
el
-
input
v
-
model
.
trim
=
"
followForm.parentNumber
"
clearable
@
keyup
.
enter
.
native
=
"
handleQuery
"
/>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('跟进类型')
"
>
<
dict
-
selector
clearable
:
type
=
"
DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE
"
v
-
model
=
"
followForm.followType
"
@
change
=
"
handleQuery
"
><
/dict-selector
>
<
/el-form-item
>
...
...
@@ -353,14 +375,6 @@
<
el
-
option
v
-
for
=
"
dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_STATUS)
"
:
key
=
"
dict.value
"
:
label
=
"
isChinese ? dict.label : dict.labelEn
"
:
value
=
"
dict.value
"
/>
<
/el-select
>
<
/el-form-item
>
<!--
<
el
-
form
-
item
:
label
=
"
$t('跟进时间')
"
>
<
el
-
date
-
picker
type
=
"
datetimerange
"
clearable
v
-
model
=
"
followTime
"
style
=
"
width: 320px
"
value
-
format
=
"
yyyy-MM-dd HH:mm:ss
"
range
-
separator
=
"
-
"
:
start
-
placeholder
=
"
$t('开始跟进时间')
"
:
end
-
placeholder
=
"
$t('结束跟进时间')
"
/>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('下次跟进时间')
"
>
<
el
-
date
-
picker
type
=
"
datetimerange
"
clearable
v
-
model
=
"
nextTime
"
style
=
"
width: 320px
"
value
-
format
=
"
yyyy-MM-dd HH:mm:ss
"
range
-
separator
=
"
-
"
:
start
-
placeholder
=
"
$t('开始下次跟进时间')
"
:
end
-
placeholder
=
"
$t('结束下次跟进时间')
"
/>
<
/el-form-item
>
-->
<
el
-
form
-
item
>
<
el
-
button
type
=
"
primary
"
icon
=
"
el-icon-search
"
@
click
=
"
getCustomerFollowList
"
>
{{
$t
(
"
搜索
"
)
}}
<
/el-button
>
<
el
-
button
...
...
@@ -423,7 +437,7 @@
<
/el-table-column
>
<
el
-
table
-
column
width
=
"
150px
"
:
label
=
"
$t('操作')
"
align
=
"
center
"
fixed
=
"
right
"
class
-
name
=
"
small-padding fixed-width
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
handleCustomerFollow(scope.row, scope.row.status === 0)
"
v
-
hasPermi
=
"
['ecw:customer:follow-update']
"
>
{{
$t
(
"
编辑
"
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
v
-
if
=
"
!scope.row.status
"
@
click
=
"
handleCustomerFollow(scope.row, scope.row.status === 0)
"
v
-
hasPermi
=
"
['ecw:customer:follow-update']
"
>
{{
$t
(
"
编辑
"
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-collection
"
@
click
=
"
handleCustomerFollow(scope.row, true)
"
v
-
has
-
permi
=
"
['ecw:customer:follow-add-plan']
"
>
{{
$t
(
"
增加计划
"
)
}}
<
/el-button
>
<
/template
>
<
/el-table-column
>
...
...
@@ -991,6 +1005,7 @@ export default {
pageNo
:
1
,
pageSize
:
10
}
,
followFormTmp
:
{
}
,
followTime
:
[],
nextTime
:
[],
customerFollowTotal
:
0
,
...
...
src/views/ecw/offer/index.vue
View file @
d625d224
...
...
@@ -7,11 +7,11 @@
</el-form-item>
<el-form-item
:label=
"$t('客户')"
prop=
"searchCustomer"
>
<el-input
v-model.trim=
"queryParams.searchCustomer"
:placeholder=
"$t('请输入客户')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model.trim=
"queryParams.searchCustomer"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
prop=
"relationPhone"
>
<el-input
v-model.trim=
"queryParams.relationPhone"
:placeholder=
"$t('请输入客户')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.relationPhone = queryParams.relationPhone.replace(/\s+/g, '')"
/>
<el-input
v-model.trim=
"queryParams.relationPhone"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.relationPhone = queryParams.relationPhone.replace(/\s+/g, '')"
/>
</el-form-item>
<el-form-item
:label=
"$t('区号')"
prop=
"relationAreaCode"
>
...
...
@@ -111,14 +111,18 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
border
>
<el-table-column
:label=
"$t('报价单号')"
align=
"left"
prop=
"number"
width=
"
200px
"
>
<el-table-column
:label=
"$t('报价单号')"
align=
"left"
prop=
"number"
width=
"
150
"
>
<template
slot-scope=
"
{ row }">
<el-link
type=
"primary"
@
click.native=
"$router.push('detail?offerId=' + row.offerId)"
>
{{
row
.
number
}}
</el-link>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('订单编号')"
align=
"left"
prop=
"orderNo"
/>
<el-table-column
:label=
"$t('联系人')"
align=
"left"
prop=
"relationName"
width=
"180"
/>
<el-table-column
:label=
"$t('联系电话')"
align=
"left"
prop=
"relationPhone"
/>
<el-table-column
:label=
"$t('订单编号')"
align=
"left"
width=
"120"
>
<
template
slot-scope=
"{ row }"
>
<a
class=
"el-link el-link--primary is-underline"
href=
"javascript:;"
@
click=
"$router.push(`/order/detail?orderId=$
{row.orderId}`)">
{{
row
.
orderNo
}}
</a>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('联系人')"
align=
"left"
prop=
"relationName"
width=
"120"
/>
<el-table-column
:label=
"$t('联系电话')"
align=
"left"
prop=
"relationPhone"
width=
"150"
/>
<el-table-column
:label=
"$t('重要程序')"
align=
"center"
prop=
"importance"
/>
<el-table-column
:label=
"$t('始发地')"
align=
"left"
prop=
"departureName"
/>
<el-table-column
:label=
"$t('目的地')"
align=
"center"
prop=
"objectiveName"
/>
...
...
@@ -568,7 +572,7 @@ export default {
/** 导出按钮操作 */
handleExport
()
{
// 处理查询参数
let
params
=
{
...
this
.
queryParams
}
let
params
=
{
...
this
.
queryParams
,
...
this
.
formatQuery
()
}
params
.
pageNo
=
undefined
params
.
pageSize
=
undefined
// 执行导出
...
...
src/views/ecw/offer/logList.vue
View file @
d625d224
<
template
>
<div
class=
"app-container"
>
<el-card>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
跟进记录列表
'
)
}}
</div>
<!-- 列表 -->
<div
class=
"offer-header"
>
<span
style=
"font-size: 15px;"
>
{{
$t
(
'
报价单号
'
)
}}
:
{{
number
}}
</span>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
{{
$t
(
'
新增
'
)
}}
</el-button>
</div>
<el-card>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
"
跟进记录列表
"
)
}}
</div>
<!-- 列表 -->
<div
class=
"offer-header"
>
<span
style=
"font-size: 15px"
>
{{
$t
(
"
报价单号
"
)
}}
:
{{
number
}}
</span>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
{{
$t
(
"
新增
"
)
}}
</el-button>
</div>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('跟进类型')"
align=
"center"
prop=
"type"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_TYPE"
:value=
"scope.row.type"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('联系人')"
align=
"center"
prop=
"contactName"
/>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('跟进类型')"
align=
"center"
prop=
"type"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_TYPE"
:value=
"scope.row.type"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('联系人')"
align=
"center"
prop=
"contactName"
/>
<el-table-column
:label=
"$t('跟进方式')"
align=
"center"
prop=
"followUpMethod"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_FOLLOW_METHOD"
:value=
"scope.row.followUpMethod"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('跟进时间')"
align=
"center"
prop=
"followUpTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
followUpTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户反馈')"
align=
"center"
prop=
"customerFeedback"
/>
<el-table-column
:label=
"$t('处理结果')"
align=
"center"
prop=
"processingResults"
/>
<el-table-column
:label=
"$t('客户经理')"
align=
"center"
prop=
"followUpSalesmanName"
>
<
template
slot-scope=
"scope"
>
<span>
{{
getCustomerService
(
scope
.
row
.
followUpSalesmanId
)
}}
</span>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"params.page"
:limit.sync=
"params.rows"
@
pagination=
"getList"
/>
</el-card>
<el-table-column
:label=
"$t('跟进方式')"
align=
"center"
prop=
"followUpMethod"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_FOLLOW_METHOD"
:value=
"scope.row.followUpMethod"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('跟进时间')"
align=
"center"
prop=
"followUpTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
followUpTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户反馈')"
align=
"center"
prop=
"customerFeedback"
/>
<el-table-column
:label=
"$t('处理结果')"
align=
"center"
prop=
"processingResults"
/>
<el-table-column
:label=
"$t('客户经理')"
align=
"center"
prop=
"followUpSalesmanName"
>
<
template
slot-scope=
"scope"
>
<span>
{{
getCustomerService
(
scope
.
row
.
followUpSalesmanId
)
}}
</span>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"params.page"
:limit.sync=
"params.rows"
@
pagination=
"getList"
/>
</el-card>
</div>
</template>
<
script
>
import
{
getOfferLogPage
}
from
"
@/api/ecw/offerLog
"
;
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getOffer
}
from
'
@/api/ecw/offer
'
import
{
userList
}
from
"
@/api/system/user
"
import
{
getOfferLogPage
}
from
"
@/api/ecw/offerLog
"
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
import
{
getOffer
}
from
"
@/api/ecw/offer
"
import
{
userList
}
from
"
@/api/system/user
"
export
default
{
name
:
"
OfferLog
"
,
components
:
{
},
components
:
{},
data
()
{
return
{
// 遮罩层
loading
:
true
,
list
:
[],
total
:
0
,
params
:{
page
:
1
,
rows
:
20
,
offerId
:
0
,
type
:
2
total
:
0
,
params
:
{
page
:
1
,
rows
:
20
,
offerId
:
0
,
type
:
2
},
number
:
''
,
relationId
:
0
,
creatorName
:
'
test
'
,
creatorData
:[]
}
;
number
:
""
,
relationId
:
0
,
creatorName
:
"
test
"
,
creatorData
:
[]
}
},
created
()
{
if
(
this
.
$route
.
query
.
offerId
)
{
if
(
this
.
$route
.
query
.
offerId
)
{
this
.
params
.
offerId
=
this
.
$route
.
query
.
offerId
this
.
getList
()
;
this
.
getList
()
this
.
getRelationID
()
}
userList
(
'
customer service
'
).
then
(
res
=>
this
.
creatorData
=
res
.
data
)
userList
(
"
customer service
"
).
then
((
res
)
=>
(
this
.
creatorData
=
res
.
data
)
)
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
let
params
=
{
...
this
.
params
};
this
.
loading
=
true
let
params
=
{
...
this
.
params
}
// 执行查询
getOfferLogPage
(
params
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
getOfferLogPage
(
params
).
then
((
response
)
=>
{
this
.
list
=
response
.
data
.
list
this
.
total
=
response
.
data
.
total
this
.
loading
=
false
})
},
getCustomerService
(
id
){
var
user
=
this
.
creatorData
.
find
(
item
=>
item
.
id
==
id
)
if
(
user
)
return
user
.
nickname
return
''
getCustomerService
(
id
)
{
var
user
=
this
.
creatorData
.
find
((
item
)
=>
item
.
id
==
id
)
if
(
user
)
return
user
.
nickname
return
""
},
getRelationID
(){
getOffer
(
this
.
params
.
offerId
).
then
(
response
=>
{
this
.
relationId
=
response
.
data
.
consignorId
;
this
.
number
=
response
.
data
.
number
;
})
getRelationID
()
{
getOffer
(
this
.
params
.
offerId
).
then
(
(
response
)
=>
{
this
.
relationId
=
response
.
data
.
consignorId
this
.
number
=
response
.
data
.
number
})
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
$router
.
push
({
path
:
"
/offer/createLog
"
,
query
:{
offerId
:
this
.
params
.
offerId
,
number
:
this
.
number
query
:
{
offerId
:
this
.
params
.
offerId
,
number
:
this
.
number
}
})
;
}
,
})
}
}
}
;
}
</
script
>
<
style
scoped
>
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
}
.offer-header
{
padding-bottom
:
16px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
}
.offer-header
{
padding-bottom
:
16px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
</
style
>
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