Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
罗超
confucius
Commits
d4979ab2
Commit
d4979ab2
authored
Sep 24, 2021
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
客户阶段的新增
parent
81bd283b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
385 additions
and
182 deletions
+385
-182
wechat.js
src/api/system/wechat.js
+11
-0
addPhase.vue
src/pages/enterprise/customer/CSChild/addPhase.vue
+194
-11
choiceapprovalorbranch.vue
...se/customer/CSChild/components/choiceapprovalorbranch.vue
+109
-79
stageManagement.vue
src/pages/enterprise/customer/CSChild/stageManagement.vue
+71
-92
No files found.
src/api/system/wechat.js
View file @
d4979ab2
...
@@ -503,6 +503,17 @@ export function SetSynvEduEmployee(data) {
...
@@ -503,6 +503,17 @@ export function SetSynvEduEmployee(data) {
})
})
}
}
/**
* 保存客户阶段流程
*
*/
export
function
setCustomerStageFlowInfo
(
data
)
{
return
request
({
url
:
'/QYCustomer/SetCustomerStageFlowInfo'
,
method
:
'post'
,
data
})
}
...
...
src/pages/enterprise/customer/CSChild/addPhase.vue
View file @
d4979ab2
...
@@ -21,9 +21,45 @@
...
@@ -21,9 +21,45 @@
border-left
:
3px
solid
#3470ff
;
border-left
:
3px
solid
#3470ff
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
margin-left
:
-20px
;
margin-left
:
-20px
;
padding-left
:
20px
;
padding
:
0
20px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
}
.addPhase
.all-stage
{
width
:
300px
;
padding
:
20px
45px
;
border
:
1px
solid
#d7d7d7
;
border-radius
:
8px
;
min-height
:
260px
;
}
.addPhase
.select-item-title
{
font-size
:
14px
;
font-weight
:
800
;
padding-bottom
:
10px
;
}
.addPhase
.right-arrow
{
width
:
28px
;
height
:
28px
;
background
:
#e7e7e7
;
border-radius
:
50%
;
align-self
:
center
;
line-height
:
28px
;
text-align
:
center
;
color
:
#fff
;
font-size
:
16px
;
margin
:
0
30px
;
}
.addPhase
.user_lists
{
width
:
100%
;
display
:
flex
;
flex-wrap
:
wrap
;
margin-top
:
20px
;
}
</
style
>
</
style
>
<
template
>
<
template
>
...
@@ -36,16 +72,55 @@
...
@@ -36,16 +72,55 @@
<div
class=
"box"
>
<div
class=
"box"
>
<div
class=
"bold"
>
阶段适用范围
</div>
<div
class=
"bold"
>
阶段适用范围
</div>
<q-btn
class=
"q-mr-md"
label=
"选择部门/成员"
@
click=
"outerVisible = true"
/>
<q-btn
class=
"q-mr-md"
label=
"选择部门/成员"
@
click=
"outerVisible = true"
/>
<div
class=
"user_lists"
v-if=
"showMember && showMember.length>0"
>
<div
v-for=
"(x,y) in showMember"
:key=
'y'
>
<el-tag
style=
"margin-right: 15px;"
v-if=
"x.DataType==1"
><i
class=
"el-icon-folder"
style=
"margin-right: 3px;"
></i>
{{
x
.
DeptName
}}
</el-tag>
<el-tag
style=
"margin-right: 15px;"
type=
"success"
v-if=
"x.DataType==2"
><i
class=
"el-icon-user-solid"
style=
"margin-right: 3px;"
></i>
{{
x
.
DeptName
}}
</el-tag>
</div>
</div>
</div>
</div>
<div
class=
"box"
>
<div
class=
"box"
>
<div
class=
"bold"
>
选择使用阶段
</div>
<div
class=
"bold"
>
选择使用阶段
<span
style=
"font-size: 14px;font-weight: 300;color:rgb(133, 133, 152);"
>
若没有找到可选项,请前往
<span
style=
"color:#3470ff;cursor: pointer;"
@
click=
"stageManagement"
>
"阶段管理"
</span>
进行
</span>
</div>
<div
style=
"display:flex;align-items: center;"
>
<div
style=
"display:flex;align-items: center;"
>
<div
class=
"all-stage"
:style=
"
{height:getheight+'px'}">
<p
class=
"select-item-title"
>
全部阶段
</p>
<div
class=
""
v-for=
"(x,y) in StageList"
:key=
'y'
v-if=
"x.Type==1"
>
<q-checkbox
v-model=
"addMsg.UseStage"
:val=
"x.Id"
:label=
"x.Name"
:disable=
"x.IsDefault==0?false:true"
@
input=
"getusestageName"
/>
</div>
</div>
<div
class=
"right-arrow"
><i
class=
"el-icon-arrow-right"
></i></div>
<div
class=
"all-stage"
:style=
"
{height:getheight+'px'}">
<p
class=
"select-item-title"
>
已选阶段
</p>
<div
style=
"height:40px;line-height: 40px;"
v-for=
"(x,y) in UseStageName"
:key=
'y'
v-if=
"x.IsDefault==0"
>
<span>
{{
x
.
Name
}}
</span>
</div>
<div
style=
"height:40px;line-height: 40px;"
v-for=
"(x,y) in UseStageName"
:key=
'y'
v-if=
"x.IsDefault==1"
>
<span
style=
"color: #ccc;"
>
{{
x
.
Name
}}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
v-if=
"StageList"
>
<div
v-if=
"StageList"
>
<div
class=
"box"
v-for=
"(x,y) in StageList"
v-if=
"x.Type==2"
>
<div
class=
"box"
v-for=
"(x,y) in StageList"
v-if=
"x.Type==2"
>
<div
class=
"bold"
v-if=
"x.Name=='已输单'"
>
选择输单原因
</div>
<div
class=
"bold"
v-if=
"x.Name=='已输单'"
>
选择输单原因
<div
class=
"bold"
v-if=
"x.Name=='无效'"
>
选择无效原因
</div>
<span
style=
"font-size: 14px;font-weight: 300;color:rgb(133, 133, 152);"
>
若没有找到可选项,请前往
<span
style=
"color:#3470ff;cursor: pointer;"
@
click=
"stageManagement"
>
"阶段管理"
</span>
进行
</span>
</div>
<div
class=
"bold"
v-if=
"x.Name=='无效'"
>
选择无效原因
<span
style=
"font-size: 14px;font-weight: 300;color:rgb(133, 133, 152);"
>
若没有找到可选项,请前往
<span
style=
"color:#3470ff;cursor: pointer;"
@
click=
"stageManagement"
>
"阶段管理"
</span>
进行
</span>
</div>
<div
style=
"display:flex;align-items: center;flex-wrap: wrap;"
>
<div
style=
"display:flex;align-items: center;flex-wrap: wrap;"
>
<q-checkbox
v-model=
"addMsg.LoseCause"
v-if=
"x.Name=='已输单'"
v-for=
"(item,index) in x.OptionsList"
:key=
'index'
<q-checkbox
v-model=
"addMsg.LoseCause"
v-if=
"x.Name=='已输单'"
v-for=
"(item,index) in x.OptionsList"
:key=
'index'
:val=
"item.Id"
:label=
"item.Name"
/>
:val=
"item.Id"
:label=
"item.Name"
/>
...
@@ -63,8 +138,8 @@
...
@@ -63,8 +138,8 @@
</q-card-actions>
</q-card-actions>
</div>
</div>
<!-- 人员/部门选择 -->
<!-- 人员/部门选择 -->
<choiceapprovalorbranch
v-if=
"outerVisible"
@
close=
"outerVisible = false"
@
success=
"getsuccess2"
:
byval=
'showMember'
<choiceapprovalorbranch
v-if=
"outerVisible"
@
close=
"outerVisible = false"
@
success=
"getsuccess2"
:
list=
showMember
cptype=
"1"
></choiceapprovalorbranch>
:byval=
'defaultlist'
cptype=
"1"
></choiceapprovalorbranch>
</div>
</div>
</
template
>
</
template
>
...
@@ -72,7 +147,7 @@
...
@@ -72,7 +147,7 @@
import
choiceapprovalorbranch
from
'./components/choiceapprovalorbranch'
import
choiceapprovalorbranch
from
'./components/choiceapprovalorbranch'
import
{
import
{
getCustomerStageList
,
getCustomerStageList
,
setCustomerStageFlowInfo
}
from
'../../../../api/system/wechat'
;
}
from
'../../../../api/system/wechat'
;
export
default
{
export
default
{
meta
:
{
meta
:
{
...
@@ -88,14 +163,19 @@
...
@@ -88,14 +163,19 @@
loading
:
false
,
loading
:
false
,
outerVisible
:
false
,
outerVisible
:
false
,
addMsg
:
{
addMsg
:
{
Id
:
0
,
FlowName
:
''
,
FlowName
:
''
,
DeptEmpList
:
[],
DeptEmpList
:
[],
UseStage
:
''
,
UseStage
:
[]
,
LoseCause
:
[],
LoseCause
:
[],
InvalidCause
:
[],
InvalidCause
:
[],
},
},
showMember
:
[],
showMember
:
[],
defaultlist
:
[],
StageList
:
[],
StageList
:
[],
UseStageName
:
[],
getheight
:
270
,
gettypeoneList
:
[],
//跟进阶段的数量
}
}
},
},
created
()
{
created
()
{
...
@@ -105,19 +185,122 @@
...
@@ -105,19 +185,122 @@
goblck
()
{
//返回上一个页面
goblck
()
{
//返回上一个页面
this
.
$router
.
go
(
-
1
);
//返回上一层
this
.
$router
.
go
(
-
1
);
//返回上一层
},
},
savemove
()
{},
savemove
()
{
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addMsg
))
if
(
data
.
FlowName
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
'请填写名称'
,
position
:
'top'
})
return
}
if
(
this
.
showMember
.
length
==
0
)
{
//判断部门
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
'请选择阶段适用范围'
,
position
:
'top'
})
return
}
else
{
data
.
DeptEmpList
=
[];
if
(
this
.
showMember
&&
this
.
showMember
.
length
>
0
)
{
this
.
showMember
.
forEach
(
x
=>
{
let
obj
=
{
Id
:
x
.
DeptId
,
Name
:
x
.
DeptName
,
Type
:
x
.
DataType
,
}
data
.
DeptEmpList
.
push
(
obj
)
})
}
}
if
(
data
.
UseStage
.
length
>
0
)
{
data
.
UseStage
=
data
.
UseStage
.
join
(
','
)
}
else
{
data
.
UseStage
=
''
}
if
(
data
.
LoseCause
.
length
>
0
)
{
data
.
LoseCause
=
data
.
LoseCause
.
join
(
','
)
}
else
{
data
.
LoseCause
=
''
}
if
(
data
.
InvalidCause
.
length
>
0
)
{
data
.
InvalidCause
=
data
.
InvalidCause
.
join
(
','
)
}
else
{
data
.
InvalidCause
=
''
}
console
.
log
(
data
)
this
.
loading
=
true
setCustomerStageFlowInfo
(
data
).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
this
.
goblck
()
}
})
},
getCustomerStageList
()
{
getCustomerStageList
()
{
getCustomerStageList
({}).
then
(
res
=>
{
getCustomerStageList
({}).
then
(
res
=>
{
this
.
loading
=
false
this
.
loading
=
false
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
this
.
StageList
=
res
.
Data
this
.
StageList
=
res
.
Data
;
this
.
gettypeoneList
=
[]
this
.
StageList
.
forEach
(
x
=>
{
if
(
x
.
Type
==
1
)
{
if
(
x
.
IsDefault
==
1
)
{
this
.
addMsg
.
UseStage
.
push
(
x
.
Id
)
}
this
.
gettypeoneList
.
push
(
x
)
}
})
if
(
this
.
gettypeoneList
.
length
>
5
)
{
//阶段数量大于5个的时候
this
.
getheight
=
71
+
Number
(
this
.
gettypeoneList
.
length
)
*
40
}
this
.
getusestageName
()
}
}
})
})
},
},
getsuccess2
(
list
,
type
)
{
getsuccess2
(
list
,
defaultlist
)
{
this
.
showMember
=
list
this
.
showMember
=
list
this
.
outerVisible
=
false
this
.
outerVisible
=
false
this
.
defaultlist
=
defaultlist
},
stageManagement
()
{
//跳转到阶段管理
this
.
$router
.
push
({
path
:
'/enterprise/customer/CSChild/stageManagement'
,
});
},
},
compare
(
property
)
{
return
function
(
a
,
b
)
{
var
value1
=
a
[
property
];
var
value2
=
b
[
property
];
return
value1
-
value2
;
}
},
getusestageName
()
{
this
.
UseStageName
=
[]
if
(
this
.
addMsg
.
UseStage
&&
this
.
addMsg
.
UseStage
.
length
>
0
)
{
this
.
addMsg
.
UseStage
.
forEach
(
x
=>
{
this
.
StageList
.
forEach
(
j
=>
{
if
(
x
==
j
.
Id
)
{
this
.
UseStageName
.
push
(
j
)
}
})
})
this
.
UseStageName
=
this
.
UseStageName
.
sort
(
this
.
compare
(
'Sort'
))
}
}
}
}
}
}
</
script
>
</
script
>
\ No newline at end of file
src/pages/enterprise/customer/CSChild/components/choiceapprovalorbranch.vue
View file @
d4979ab2
This diff is collapsed.
Click to expand it.
src/pages/enterprise/customer/CSChild/stageManagement.vue
View file @
d4979ab2
...
@@ -28,48 +28,53 @@
...
@@ -28,48 +28,53 @@
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
margin-top
:
24px
;
margin-top
:
24px
;
margin-left
:
56px
;
;
margin-left
:
56px
;
;
margin-bottom
:
30px
;
margin-bottom
:
30px
;
}
}
</
style
>
</
style
>
<
template
>
<
template
>
<div
class=
"stageManagement"
style=
"background: transparent;"
>
<div
class=
"stageManagement"
style=
"background: transparent;"
>
<div
class=
"box"
>
<div
class=
"box"
>
<div
class=
"bold"
style=
"margin-bottom: 30px;"
>
跟进阶段
</div>
<div
class=
"bold"
style=
"margin-bottom: 30px;"
>
跟进阶段
</div>
<ul
v-for=
"(x,y) in addMsg"
:key=
"y"
v-if=
"x.Type==1"
>
<draggable
v-model=
"followupStage"
>
<div
v-if=
"x.IsDefault==0"
>
<ul
v-for=
"(x,y) in followupStage"
:key=
"y"
>
<draggable
v-model=
"x.OptionsList"
>
<div
v-if=
"x.IsDefault==0"
>
<li
v-for=
"(item,index) in x.OptionsList"
:key=
"index"
>
<li>
<div
style=
"width: 57px;"
>
<div
style=
"width: 57px;"
>
<i
class=
"iconfont icon-weiyi"
style=
"font-size: 14px;color: #777;margin: 0 10px;"
></i>
<i
class=
"iconfont icon-weiyi"
style=
"font-size: 14px;color: #777;margin: 0 10px;"
></i>
</div>
</div>
<q-input
clearable
debounce
filled
maxlength=
"10"
counter
v-model=
"
item
.Name"
style=
"width:500px"
<q-input
clearable
debounce
filled
maxlength=
"10"
counter
v-model=
"
x
.Name"
style=
"width:500px"
@
input=
"$forceUpdate()"
placeholder=
"名称"
:rules=
"[val => !!val || '不能为空']"
/>
@
input=
"$forceUpdate()"
placeholder=
"名称"
:rules=
"[val => !!val || '不能为空']"
/>
<q-btn
flat
size=
"sm"
icon=
"delete"
color=
"negative"
class=
"q-mr-xs"
style=
"margin-left: 10px;"
label=
""
<q-btn
flat
size=
"sm"
icon=
"delete"
color=
"negative"
class=
"q-mr-xs"
style=
"margin-left: 10px;"
label=
""
@
click=
"
addMsg[y].OptionsList.splice(index
,1)"
/>
@
click=
"
followupStage.splice(y
,1)"
/>
</li>
</li>
</draggable>
<div
class=
"btn"
>
<q-btn
v-if=
"x.OptionsList.length
<30
"
color=
"accent"
class=
"q-mr-md"
label=
"添加"
icon=
'add'
@
click=
"addMsg[y].OptionsList.push(
{Id:0,Name:'',disable:false}),$forceUpdate()" style="width: 100px;" />
<span
style=
"color:#858598"
>
已设/可设上限:
{{
x
.
OptionsList
.
length
}}
/30
</span>
</div>
</div>
</
div
>
</
ul
>
<div
v-if=
"x.IsDefault==1"
>
</draggable
>
<li
v-for=
"(item,index) in x.OptionsList"
:key=
"index"
>
<ul
>
<div
style=
"width: 57px;
"
>
<li
v-for=
"(x,y) in followupStage_d"
:key=
"y
"
>
</div
>
<div
style=
"width: 57px;"
>
<q-input
clearable
debounce
filled
v-model=
"item.Name"
style=
"width:500px"
disable
@
input=
"$forceUpdate()"
</div>
placeholder=
"名称"
:rules=
"[val => !!val || '不能为空']"
/>
<q-input
clearable
debounce
filled
v-model=
"x.Name"
style=
"width:500px"
disable
@
input=
"$forceUpdate()"
</li
>
placeholder=
"名称"
:rules=
"[val => !!val || '不能为空']"
/
>
</
div
>
</
li
>
</ul>
</ul>
<div
class=
"btn"
>
<q-btn
v-if=
"followupStage.length
<30
"
color=
"accent"
class=
"q-mr-md"
label=
"添加"
icon=
'add'
@
click=
"followupStage.push(
{Id: 0,
IsDefault: 0,
Name: '',
OptionsList: [],
Sort: 0,
Type: 1}),$forceUpdate()" style="width: 100px;" />
<span
style=
"color:#858598"
>
已设/可设上限:
{{
followupStage
.
length
}}
/30
</span>
</div>
</div>
</div>
<div
class=
"box"
>
<div
class=
"box"
>
<div
class=
"bold"
>
结束跟进
</div>
<div
class=
"bold"
>
结束跟进
</div>
<div
v-for=
"(x,y) in
addMsg
"
:key=
"y"
v-if=
"x.Type==2"
>
<div
v-for=
"(x,y) in
reasonList
"
:key=
"y"
v-if=
"x.Type==2"
>
<ul
style=
"margin-left: 30px;margin-top: 10px;"
>
<ul
style=
"margin-left: 30px;margin-top: 10px;"
>
<li>
<li>
<q-input
clearable
filled
debounce
placeholder=
"名称"
v-model=
"x.Name"
style=
"width:500px"
disable
/>
<q-input
clearable
filled
debounce
placeholder=
"名称"
v-model=
"x.Name"
style=
"width:500px"
disable
/>
...
@@ -84,13 +89,14 @@
...
@@ -84,13 +89,14 @@
<q-input
clearable
debounce
filled
maxlength=
"10"
counter
v-model=
"item.Name"
style=
"width:500px"
<q-input
clearable
debounce
filled
maxlength=
"10"
counter
v-model=
"item.Name"
style=
"width:500px"
@
input=
"$forceUpdate()"
placeholder=
"名称"
:rules=
"[val => !!val || '不能为空']"
/>
@
input=
"$forceUpdate()"
placeholder=
"名称"
:rules=
"[val => !!val || '不能为空']"
/>
<q-btn
flat
size=
"sm"
icon=
"delete"
color=
"negative"
class=
"q-mr-xs"
style=
"margin-left: 10px;"
label=
""
<q-btn
flat
size=
"sm"
icon=
"delete"
color=
"negative"
class=
"q-mr-xs"
style=
"margin-left: 10px;"
label=
""
@
click=
"
addMsg
[y].OptionsList.splice(index,1)"
/>
@
click=
"
reasonList
[y].OptionsList.splice(index,1)"
/>
</li>
</li>
</draggable>
</draggable>
</ul>
</ul>
<div
class=
"btn"
style=
"margin-left: 61px"
>
<div
class=
"btn"
style=
"margin-left: 61px"
>
<q-btn
v-if=
"x.OptionsList.length
<30
"
color=
"accent"
class=
"q-mr-md"
label=
"添加"
icon=
'add'
<q-btn
v-if=
"x.OptionsList.length
<30
"
color=
"accent"
class=
"q-mr-md"
label=
"添加"
icon=
'add'
@
click=
"addMsg[y].OptionsList.push(
{Id:0,Name:'',disable:false}),$forceUpdate()" style="width: 100px;" />
@
click=
"reasonList[y].OptionsList.push(
{Id:0,Name:'',disable:false}),$forceUpdate()"
style="width: 100px;" />
<span
style=
"color:#858598"
>
已设/可设上限:
{{
x
.
OptionsList
.
length
}}
/30
</span>
<span
style=
"color:#858598"
>
已设/可设上限:
{{
x
.
OptionsList
.
length
}}
/30
</span>
</div>
</div>
</div>
</div>
...
@@ -124,6 +130,9 @@
...
@@ -124,6 +130,9 @@
return
{
return
{
loading
:
false
,
loading
:
false
,
addMsg
:
[],
addMsg
:
[],
followupStage
:
[],
followupStage_d
:
[],
reasonList
:
[]
}
}
},
},
created
()
{
created
()
{
...
@@ -135,25 +144,23 @@
...
@@ -135,25 +144,23 @@
this
.
loading
=
false
this
.
loading
=
false
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
this
.
addMsg
=
res
.
Data
this
.
addMsg
=
res
.
Data
let
num
=
0
this
.
followupStage
=
[];
let
isexistence
=
false
this
.
followupStage_d
=
[];
this
.
reasonList
=
[]
let
orderEntered
=
false
//判读是否有已输单
let
orderEntered
=
false
//判读是否有已输单
let
invalid
=
false
//无效
let
invalid
=
false
//无效
this
.
addMsg
.
forEach
(
x
=>
{
let
list
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addMsg
))
list
.
forEach
(
x
=>
{
if
(
x
.
Type
==
1
)
{
if
(
x
.
Type
==
1
)
{
num
++
if
(
x
.
IsDefault
==
0
)
{
if
(
x
.
OptionsList
&&
x
.
OptionsList
.
length
>
0
)
{
this
.
followupStage
.
push
(
x
)
for
(
let
j
=
0
;
j
<
x
.
OptionsList
.
length
;
j
++
)
{
}
else
{
let
z
=
x
.
OptionsList
[
j
]
this
.
followupStage_d
.
push
(
x
)
if
(
z
.
Name
==
'成交'
)
{
//判断是否有默认值
isexistence
=
true
break
}
}
}
}
}
}
if
(
x
.
Type
==
2
)
{
if
(
x
.
Type
==
2
)
{
this
.
reasonList
.
push
(
x
)
if
(
x
.
Name
==
'已输单'
)
{
if
(
x
.
Name
==
'已输单'
)
{
orderEntered
=
true
orderEntered
=
true
}
}
...
@@ -162,49 +169,7 @@
...
@@ -162,49 +169,7 @@
}
}
}
}
})
})
if
(
num
==
0
)
{
//判断没有type==1的时候加2条数据
let
obj
=
[{
Id
:
0
,
IsDefault
:
0
,
Name
:
'跟进阶段'
,
OptionsList
:
[],
Sort
:
0
,
Type
:
1
},
{
Id
:
0
,
IsDefault
:
1
,
Name
:
'跟进阶段'
,
OptionsList
:
[{
Id
:
0
,
Name
:
'成交'
},
{
Id
:
0
,
Name
:
'多次成交'
},
],
Sort
:
0
,
Type
:
1
},
]
this
.
addMsg
=
this
.
addMsg
.
concat
(
obj
)
}
if
(
num
>
0
&&
isexistence
==
false
)
{
//判断type==1有 但是没有默认值
let
obj
=
{
Id
:
0
,
IsDefault
:
1
,
Name
:
'跟进阶段'
,
OptionsList
:
[{
Id
:
0
,
Name
:
'成交'
},
{
Id
:
0
,
Name
:
'多次成交'
},
],
Sort
:
0
,
Type
:
1
};
this
.
addMsg
.
unshift
(
obj
)
}
if
(
orderEntered
==
false
)
{
//没有的话 加一个已输单
if
(
orderEntered
==
false
)
{
//没有的话 加一个已输单
let
obj
=
{
let
obj
=
{
Id
:
0
,
Id
:
0
,
...
@@ -214,7 +179,7 @@
...
@@ -214,7 +179,7 @@
Sort
:
0
,
Sort
:
0
,
Type
:
2
Type
:
2
};
};
this
.
addMsg
.
push
(
obj
)
this
.
reasonList
.
push
(
obj
)
}
}
if
(
invalid
==
false
)
{
//没有的话 加一个无效
if
(
invalid
==
false
)
{
//没有的话 加一个无效
let
obj
=
{
let
obj
=
{
...
@@ -225,7 +190,7 @@
...
@@ -225,7 +190,7 @@
Sort
:
0
,
Sort
:
0
,
Type
:
2
Type
:
2
};
};
this
.
addMsg
.
push
(
obj
)
this
.
reasonList
.
push
(
obj
)
}
}
}
}
})
})
...
@@ -235,30 +200,44 @@
...
@@ -235,30 +200,44 @@
},
},
savemove
()
{
savemove
()
{
let
show
=
false
let
show
=
false
for
(
let
i
=
0
;
i
<
this
.
addMsg
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
this
.
followupStage
.
length
;
i
++
)
{
//判断根据阶段的值填写没有
let
x
=
this
.
addMsg
[
i
]
let
x
=
this
.
followupStage
[
i
]
if
(
x
.
Name
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
'请填写跟进阶段列表选项值'
,
position
:
'top'
})
return
break
}
}
for
(
let
i
=
0
;
i
<
this
.
reasonList
.
length
;
i
++
)
{
let
x
=
this
.
reasonList
[
i
]
if
(
show
==
true
)
{
if
(
show
==
true
)
{
return
break
break
}
}
for
(
let
j
=
0
;
j
<
x
.
OptionsList
.
length
;
j
++
)
{
for
(
let
j
=
0
;
j
<
x
.
OptionsList
.
length
;
j
++
)
{
let
z
=
x
.
OptionsList
[
j
]
let
z
=
x
.
OptionsList
[
j
]
z
.
Id
=
j
+
1
if
(
z
.
Name
==
''
)
{
if
(
z
.
Name
==
''
)
{
let
message
=
''
if
(
x
.
Type
==
1
)
{
message
=
'请填写跟进阶段列表选项值'
}
else
{
message
=
'请填写结束跟进列表选项值'
}
this
.
$q
.
notify
({
this
.
$q
.
notify
({
type
:
'negative'
,
type
:
'negative'
,
message
:
message
,
message
:
'请填写'
+
x
.
Name
+
'原因值'
,
position
:
'top'
position
:
'top'
})
})
show
=
true
show
=
true
return
break
break
}
}
}
}
}
}
this
.
addMsg
=
[]
this
.
addMsg
=
(
this
.
followupStage
.
concat
(
this
.
followupStage_d
)).
concat
(
this
.
reasonList
)
this
.
addMsg
.
forEach
((
x
,
i
)
=>
{
x
.
Sort
=
i
+
1
})
this
.
loading
=
true
this
.
loading
=
true
setCustomerStageInfo
(
this
.
addMsg
).
then
(
res
=>
{
setCustomerStageInfo
(
this
.
addMsg
).
then
(
res
=>
{
this
.
loading
=
false
this
.
loading
=
false
...
...
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