Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
horse
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
向伟
horse
Commits
dc8c5e16
Commit
dc8c5e16
authored
Nov 24, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
74e9e55a
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
194 additions
and
142 deletions
+194
-142
axios.ts
src/api/axios.ts
+4
-4
departmentStaff.vue
src/components/common/departmentStaff.vue
+28
-29
request-group.vue
src/components/customer/request-group.vue
+59
-60
editRuleModule.ts
src/module/editor/editRuleModule.ts
+26
-7
clueRule.vue
src/pages/customer/components/clueRule.vue
+65
-39
editRule.vue
src/pages/editor/editRule.vue
+12
-3
No files found.
src/api/axios.ts
View file @
dc8c5e16
...
...
@@ -121,12 +121,12 @@ service.interceptors.response.use(
position
:
"top"
})
if
(
response
.
data
.
Code
===
10000
||
response
.
data
.
Code
===
10001
)
{
console
.
log
(
124
,
response
.
data
)
localStorage
.
clear
()
router
.
replace
({
path
:
'/auth/login'
setTimeout
(()
=>
{
router
.
replace
({
path
:
'/auth/login'
})
})
location
.
reload
()
}
}
}
else
{
...
...
src/components/common/departmentStaff.vue
View file @
dc8c5e16
...
...
@@ -43,7 +43,7 @@
:tick-strategy=
"strategy"
:default-expand-all=
"defaultExpandAll"
no-connectors
v-model:ticked=
"
defaultArray
"
v-model:ticked=
"
ticketArr
"
@
update:ticked=
"tickedTree"
:filter=
"filter"
:filter-method=
"myFilterMethod"
...
...
@@ -75,13 +75,13 @@
<q-card-actions
align=
"right"
class=
"bg-white text-teal"
>
<q-btn
flat
label=
"取消"
v-close-popup
/>
<q-btn
color=
"primary"
@
click=
"goback"
label=
"确定"
/>
<q-btn
color=
"primary"
@
click=
"goback"
label=
"确定"
/>
</q-card-actions>
</q-card>
</q-dialog>
</template>
<
script
lang=
"ts"
>
import
{
ref
,
watch
}
from
'vue'
import
{
ref
}
from
'vue'
interface
parmas
{
[
key
:
string
]:
any
...
...
@@ -89,7 +89,7 @@ interface parmas {
interface
SelectParams
{
Id
:
string
,
Name
:
string
,
Type
:
number
Type
:
number
}
export
default
{
props
:
{
...
...
@@ -142,6 +142,7 @@ export default {
let
tree
=
ref
<
any
>
(
null
);
let
keys
=
ref
<
Array
<
string
>>
([])
let
selectArray
=
ref
<
Array
<
SelectParams
>>
([])
let
ticketArr
=
ref
<
Array
<
any
>>
([])
let
hideDialog
=
()
=>
{
ctx
.
emit
(
"update:modelValue"
,
false
)
}
...
...
@@ -155,25 +156,27 @@ export default {
let
clearInput
=
()
=>
{
filter
.
value
=
''
}
// 有默认值-----start-------
let
flag
=
true
let
initDefault
=
()
=>
{
selectArray
.
value
=
[]
if
(
props
.
defaultArray
&&
props
.
defaultArray
.
length
>
0
)
{
if
(
props
.
defaultArray
&&
props
.
defaultArray
.
length
>
0
&&
flag
)
{
props
.
defaultArray
.
map
((
e
,
i
)
=>
{
setTimeout
(()
=>
{
if
(
e
.
slice
(
0
,
1
)
==
1
)
{
const
node
=
tree
.
value
.
getNodeByKey
(
e
)
if
(
node
[
props
.
childrenKey
]
&&
node
[
props
.
childrenKey
].
length
>
0
)
{
// eslint-disable-next-line vue/no-mutating-props
props
.
defaultArray
.
splice
(
i
,
1
)
findChild
(
node
[
props
.
childrenKey
])
}
else
{
// eslint-disable-next-line vue/no-mutating-props
props
.
defaultArray
.
push
(
node
.
DataType
+
'-'
+
node
.
DeptId
)
}
if
(
e
.
slice
(
0
,
1
)
==
1
)
{
const
node
=
tree
.
value
.
getNodeByKey
(
e
)
if
(
node
[
props
.
childrenKey
]
&&
node
[
props
.
childrenKey
].
length
>
0
)
{
ticketArr
.
value
.
splice
(
i
,
1
)
findChild
(
node
[
props
.
childrenKey
])
}
else
{
ticketArr
.
value
.
push
(
node
.
DataType
+
'-'
+
node
.
DeptId
)
}
},
100
)
}
else
{
ticketArr
.
value
.
push
(
e
)
}
})
flag
=
false
}
}
let
findChild
=
(
arr
:
Array
<
parmas
>
)
=>
{
...
...
@@ -181,22 +184,22 @@ export default {
if
(
e
[
props
.
childrenKey
]
&&
e
[
props
.
childrenKey
].
length
>
0
)
{
findChild
(
e
[
props
.
childrenKey
])
}
else
{
// eslint-disable-next-line vue/no-mutating-props
props
.
defaultArray
.
push
(
e
.
DataType
+
'-'
+
e
.
DeptId
)
ticketArr
.
value
.
push
(
e
.
DataType
+
'-'
+
e
.
DeptId
)
}
})
}
// 有默认值----end--------
let
showDialog
=
()
=>
{
initDefault
()
getselectArray
(
props
.
treeData
)
}
//处理选中值-------------
const
getselectArray
=
(
arr
:
parmas
[])
=>
{
for
(
var
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
let
j
=
arr
[
i
]
let
flag
=
tree
.
value
.
isTicked
(
j
[
props
.
nodeKey
])
if
(
flag
==
true
)
{
selectArray
.
value
.
push
({
Id
:
j
[
props
.
nodeKey
],
Name
:
j
.
DeptName
,
Type
:
j
.
DataType
})
selectArray
.
value
.
push
({
Id
:
j
[
props
.
nodeKey
],
Name
:
j
.
DeptName
,
Type
:
j
.
DataType
})
}
else
{
if
(
j
[
props
.
childrenKey
]
&&
j
[
props
.
childrenKey
].
length
>
0
)
{
getselectArray
(
j
[
props
.
childrenKey
])
...
...
@@ -205,9 +208,8 @@ export default {
}
}
let
tickedTree
=
(
val
)
=>
{
ctx
.
emit
(
"update:defaultArray"
,
val
)
let
filt
=
val
.
filter
(
e
=>
e
.
slice
(
0
,
1
)
==
2
).
length
ctx
.
emit
(
'getNum'
,
filt
)
ctx
.
emit
(
'getNum'
,
filt
)
setTimeout
(()
=>
{
selectArray
.
value
=
[]
getselectArray
(
props
.
treeData
)
...
...
@@ -246,14 +248,11 @@ export default {
tree
.
value
.
setTicked
(
keys
.
value
,
false
)
selectArray
.
value
.
splice
(
i
,
1
)
}
watch
(()
=>
[...
selectArray
.
value
],
(
val
)
=>
{
ctx
.
emit
(
'select'
,
[...
val
])
},
{
deep
:
true
})
let
goback
=
()
=>
{
ctx
.
emit
(
'select_t'
,
selectArray
.
value
)
// eslint-disable-next-line vue/no-mutating-props
let
goback
=
()
=>
{
ctx
.
emit
(
'select'
,
selectArray
.
value
)
}
return
{
ticketArr
,
myFilterMethod
,
filter
,
filterRef
,
...
...
src/components/customer/request-group.vue
View file @
dc8c5e16
...
...
@@ -121,26 +121,15 @@
<div
v-if=
"x.Name == '标签' && (x.Direction == 1 || x.Direction == 2 || x.Direction == 3 || x.Direction == '')"
class=
"input_label"
@
click=
"showlabel(y)"
@
click=
"showlabel(
x,
y)"
>
<div
style=
"display: flex;"
v-if=
"x.StartValue && x.StartValue.length > 0"
>
<div
style=
"display: flex;"
v-if=
"lableList && lableList.length > 0"
>
<div
class=
"text-clamp-1 tag-select-input"
>
{{
lableList
[
0
].
Name
}}
</div>
<div
class=
"text-clamp-1 tag-select-input"
style=
"max-width:110px;"
>
{{
x
.
StartValue
[
0
].
Name
}}
</div>
<div
v-if=
"x.StartValue.length > 1"
v-if=
"lableList.length > 1"
class=
"tag-select-input"
style=
"margin-left: 5px;"
>
{{
x
.
StartValue
.
length
-
1
}}
+
</div>
</div>
<div
v-if=
"x.StartValue && x.StartValue.length > 0"
class=
"lablec"
>
<i
style=
"font-size: 16px;"
class=
"el-icon-error"
@
click
.
stop=
"addMsg[y].StartValue = []"
></i>
>
{{
lableList
.
length
-
1
}}
+
</div>
</div>
</div>
<div
...
...
@@ -241,7 +230,7 @@
</div>
<labelgroup
v-if=
"isshowlabel"
:list=
"
L
ableList"
:list=
"
l
ableList"
@
close=
"isshowlabel = false"
@
submit=
"getlabel"
></labelgroup>
...
...
@@ -264,7 +253,7 @@ interface params {
IsCustom
:
number
Type
:
number
|
string
Id
?:
number
|
string
Direction
?:
string
|
number
Direction
?:
string
|
number
StartValue
?:
string
|
Array
<
any
>
EndValue
?:
string
disable
?:
boolean
...
...
@@ -285,6 +274,10 @@ export default defineComponent({
type
:
Number
,
default
:
1
},
defaultData
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
components
:
{
labelgroup
,
...
...
@@ -293,10 +286,11 @@ export default defineComponent({
let
rangeArr
=
ref
<
Dayjs
[]
>
([])
let
birthday
=
ref
([])
//只有一个
let
filedList
=
ref
<
Array
<
params
>>
([]);
//客户字段数组
let
addMsg
=
ref
<
Array
<
params
>>
([])
//筛选数组
let
addMsg
=
ref
<
Array
<
any
>>
([])
//筛选数组
let
isshowlabel
=
ref
(
false
)
//标签弹出显示
let
selectindex
=
ref
(
0
)
//现在筛选数组 索引
let
LableList
=
ref
<
Array
<
any
>
|
string
>
([])
//标签的数组
let
lables
=
ref
<
Array
<
any
>>
([])
//标签的数组
let
lableList
=
ref
<
Array
<
any
>>
([])
//标签的数组
//日期数组
let
dateOptions
=
ref
<
Array
<
dateParams
>>
([])
let
year
:
any
=
new
Date
().
getFullYear
()
...
...
@@ -363,7 +357,13 @@ export default defineComponent({
Id
:
5
,
Name
:
'小于等于'
},]
const
init
=
()
=>
{
console
.
log
(
'props.defaultData'
)
console
.
log
(
1
,
props
.
defaultData
)
if
(
props
.
defaultData
.
length
>
0
)
{
// addMsg.value=props.defaultData
}
}
let
changeAddCondition
=
(
val
)
=>
{
ctx
.
emit
(
'update:addCondition'
,
val
)
}
...
...
@@ -396,16 +396,19 @@ export default defineComponent({
IsCustom
:
2
}
filedList
.
value
.
unshift
(
obj2
)
addMsg
.
value
.
push
({
Id
:
'标签'
,
Name
:
'标签'
,
Type
:
1
,
Direction
:
''
,
StartValue
:
''
,
EndValue
:
''
,
IsCustom
:
2
,
directionList
:
directionList1
})
if
(
props
.
defaultData
.
length
===
0
)
{
addMsg
.
value
.
push
({
Id
:
'标签'
,
Name
:
'标签'
,
Type
:
1
,
Direction
:
''
,
StartValue
:
''
,
EndValue
:
''
,
IsCustom
:
2
,
directionList
:
directionList1
})
}
console
.
log
(
"标签"
,
filedList
.
value
)
})
}
...
...
@@ -426,19 +429,16 @@ export default defineComponent({
addMsg
.
value
.
push
(
obj
)
}
const
showlabel
=
(
y
)
=>
{
const
showlabel
=
(
x
,
y
)
=>
{
console
.
log
(
x
,
y
)
selectindex
.
value
=
y
;
if
(
addMsg
.
value
[
y
].
StartValue
==
''
)
{
//为空赋值为数组
LableList
.
value
=
[]
}
else
{
LableList
.
value
=
addMsg
.
value
[
y
].
StartValue
||
''
}
isshowlabel
.
value
=
true
}
const
getlabel
=
(
list
)
=>
{
isshowlabel
.
value
=
false
;
addMsg
.
value
[
selectindex
.
value
].
StartValue
=
list
lableList
.
value
=
list
addMsg
.
value
[
selectindex
.
value
].
StartValue
=
list
.
map
(
e
=>
e
.
Id
).
toString
()
}
//----------------------------------------------------------------------------
// 禁用标签
...
...
@@ -502,7 +502,6 @@ export default defineComponent({
if
(
find
)
{
addMsg
.
value
[
y
].
Name
=
find
.
Name
}
console
.
log
(
500
,
find
)
switch
(
find
.
Type
)
{
case
1
:
{
addMsg
.
value
[
y
].
directionList
=
directionList2
...
...
@@ -564,36 +563,35 @@ export default defineComponent({
addMsg
.
value
[
y
].
EndValue
=
b
}
const
checkRule
=
(
val
:
params
[])
=>
{
const
checkRule
=
(
val
:
params
[])
=>
{
let
flag
=
false
flag
=
val
.
every
(
e
=>
{
if
(
e
.
Type
==
1
)
{
if
(
e
.
Direction
==
1
||
e
.
Direction
==
2
||
e
.
Direction
==
3
)
{
if
(
e
.
Type
==
1
)
{
if
(
e
.
Direction
==
1
||
e
.
Direction
==
2
||
e
.
Direction
==
3
)
{
return
!!
e
.
Id
&&
!!
e
.
StartValue
}
else
{
return
!!
e
.
Id
&&
e
.
Direction
}
else
{
return
!!
e
.
Id
&&
e
.
Direction
}
}
else
if
(
e
.
Type
==
2
){
console
.
log
(
222222222222
)
if
(
e
.
Direction
==
1
||
e
.
Direction
==
2
){
}
else
if
(
e
.
Type
==
2
)
{
if
(
e
.
Direction
==
1
||
e
.
Direction
==
2
)
{
return
!!
e
.
Id
&&
!!
e
.
StartValue
}
else
{
return
e
.
Id
&&
e
.
Direction
}
else
{
return
e
.
Id
&&
e
.
Direction
}
}
else
if
(
e
.
Type
==
3
)
{
return
e
.
Id
&&
e
.
StartValue
}
else
if
(
e
.
Type
==
4
)
{
return
e
.
Id
&&
e
.
StartValue
&&
e
.
EndValue
}
else
{
return
e
.
Id
&&
e
.
Direction
&&
e
.
StartValue
}
else
if
(
e
.
Type
==
3
)
{
return
e
.
Id
&&
e
.
StartValue
}
else
if
(
e
.
Type
==
4
)
{
return
e
.
Id
&&
e
.
StartValue
&&
e
.
EndValue
}
else
{
return
e
.
Id
&&
e
.
Direction
&&
e
.
StartValue
}
})
if
(
!
flag
)
{
Notify
.
create
({
type
:
'warning'
,
position
:
'top'
,
type
:
'warning'
,
position
:
'top'
,
message
:
'规则适用范围不可空'
})
}
...
...
@@ -616,11 +614,11 @@ export default defineComponent({
delete
item
.
isSelect
newVal
.
push
(
item
)
})
console
.
log
(
'watch'
,
newVal
)
ctx
.
emit
(
'change'
,
newVal
)
},
{
deep
:
true
})
onMounted
(()
=>
{
//进入页面就调用
getCustomerFiledList
();
//获取客户字段
init
()
})
return
{
birthday
,
...
...
@@ -633,7 +631,8 @@ export default defineComponent({
addsList
,
isshowlabel
,
selectindex
,
LableList
,
lables
,
lableList
,
showlabel
,
getlabel
,
changeName
,
...
...
src/module/editor/editRuleModule.ts
View file @
dc8c5e16
...
...
@@ -2,11 +2,12 @@ import { ref, reactive } from 'vue'
import
customerService
from
'@/api/customer'
import
customerService2
from
'@/api/customer2'
import
router
from
'@/router/index'
import
message
from
'@/utils/message'
interface
dataParams
{
showDialog
:
boolean
shape
:
number
dataTree
:
Array
<
any
>
defaultArray
:
Array
<
number
|
string
>
//
defaultArray: Array<number | string>
editMsg
:
any
peopleNum
:
number
}
...
...
@@ -18,11 +19,12 @@ const msg = () => {
}
}
const
condition
=
ref
<
any
>
(
null
)
let
defaultArray
:
Array
<
any
>=
[]
const
data
=
reactive
<
dataParams
>
({
showDialog
:
false
,
shape
:
0
,
dataTree
:
[],
defaultArray
:
[],
editMsg
:
{
Id
:
0
,
RuleSelectType
:
1
,
//客户的查询类型 1并且 2或者
...
...
@@ -44,7 +46,12 @@ const data = reactive<dataParams>({
// )
const
jumpBeforePage
=
()
=>
{
router
.
go
(
-
1
)
router
.
push
({
path
:
'/customerSetup'
,
query
:
{
type
:
'clue'
}
})
}
const
changeDialog
=
()
=>
{
...
...
@@ -58,6 +65,7 @@ const editRuleModule = () => {
}
//获取已选部门成员
const
getdpt
=
val
=>
{
data
.
showDialog
=
false
data
.
editMsg
.
DeptList
=
[]
data
.
editMsg
.
EmpList
=
[]
val
.
map
(
e
=>
{
...
...
@@ -73,6 +81,7 @@ const editRuleModule = () => {
})
}
})
console
.
log
(
val
,
'dpt'
)
}
//获取已选人数
const
getNum
=
(
n
)
=>
{
...
...
@@ -81,7 +90,7 @@ const editRuleModule = () => {
//获取线索详情
const
getDetail
=
()
=>
{
customerService
.
getCustomerClueRuleDetail
(
msg
()).
then
(
res
=>
{
d
ata
.
d
efaultArray
=
[]
defaultArray
=
[]
const
d
=
res
.
data
.
Data
data
.
editMsg
.
DeptList
=
d
.
DeptList
data
.
editMsg
.
EmpList
=
d
.
EmpList
...
...
@@ -95,8 +104,8 @@ const editRuleModule = () => {
const
Emp
=
d
.
EmpList
.
map
(
e
=>
{
return
'2-'
+
e
.
Id
})
d
ata
.
d
efaultArray
=
[...
Dep
,
...
Emp
]
console
.
log
(
data
.
defaultArray
,
'数据2
'
)
defaultArray
=
[...
Dep
,
...
Emp
]
console
.
log
(
defaultArray
,
'ConditionList
'
)
})
}
//获取部门数据
...
...
@@ -129,12 +138,22 @@ const editRuleModule = () => {
console
.
log
(
94
,
data
.
editMsg
)
// if (!flag) return
customerService
.
setCustomerClueRuleInfo
(
data
.
editMsg
).
then
(
res
=>
{
console
.
log
(
'setCustomerClueRuleInfo'
,
res
)
message
.
successMsg
(
res
.
data
.
Message
)
setTimeout
(()
=>
{
router
.
push
({
path
:
'/customerSetup'
,
query
:
{
type
:
'clue'
}
})
},
2000
)
})
}
return
{
msg
,
condition
,
defaultArray
,
data
,
getDetail
,
getEmployeeData
,
...
...
src/pages/customer/components/clueRule.vue
View file @
dc8c5e16
...
...
@@ -27,14 +27,12 @@
<table
class=
"payTable"
>
<thead>
<tr>
<th>
序号
</th>
<th>
排序
</th>
<th>
查询类型
</th>
<th>
是否默认
</th>
<th>
部门列表
</th>
<th>
人员列表
</th>
<th>
分配方式
</th>
<th>
条件描述
</th>
<th>
排序
</th>
<th
width=
"10%"
>
编辑
</th>
<th
width=
"5%"
></th>
</tr>
...
...
@@ -49,15 +47,12 @@
<span
v-if=
"item.RuleSelectType === 1"
>
并且
</span>
<span
v-if=
"item.RuleSelectType === 2"
>
或者
</span>
</td>
<td>
<span
v-if=
"item.IsDefault == 1"
>
是
</span>
<span
v-else
>
否
</span>
</td>
<td>
<span>
{{
item
.
DeptList
.
join
(
','
)
}}
</span>
<div
v-for=
"(e) in item.DeptList"
:key=
"e.DeptId"
>
{{
e
.
DeptName
}}
</div>
</td>
<td>
<
span>
{{
item
.
EmpList
.
join
(
','
)
}}
</span
>
<
div
v-for=
"(e) in item.EmpList"
:key=
"e.Id"
>
{{
e
.
EmployeeName
}}
</div
>
</td>
<td>
<span
v-if=
"item.RuleAllotWay === 1"
>
依次轮流
</span>
...
...
@@ -66,9 +61,6 @@
<td>
<span>
未匹配设定规则的客户
</span>
</td>
<td>
<span>
{{
item
.
Sort
}}
</span>
</td>
<td>
<q-btn
flat
...
...
@@ -89,23 +81,25 @@
item-key=
"Id"
@
update=
"datadragEnd"
v-if=
"data.length > 0"
:move=
"getDragId"
>
<
template
#
item=
"{ element
, index
}"
>
<
template
#
item=
"{ element }"
>
<tr>
<td>
{{
index
+
1
}}
</td>
<td>
<span
v-if=
"element.RuleSelectType === 1"
>
并且
</span>
<span
v-if=
"element.RuleSelectType === 2"
>
或者
</span>
<span
style=
"color:#606266"
>
{{
element
.
Sort
+
1
}}
</span>
</td>
<td>
<span
v-if=
"element.
IsDefault == 1"
>
是
</span>
<span
v-
else
>
否
</span>
<span
v-if=
"element.
RuleSelectType === 1"
>
并且
</span>
<span
v-
if=
"element.RuleSelectType === 2"
>
或者
</span>
</td>
<td>
<span>
{{
element
.
DeptList
.
join
(
','
)
}}
</span>
<div
v-for=
"(e) in element.DeptList"
:key=
"e.DeptId"
>
{{
e
.
DeptName
}}
</div>
</td>
<td>
<
span>
{{
element
.
EmpList
.
join
(
','
)
}}
</span
>
<
div
v-for=
"(e) in element.EmpList"
:key=
"e.Id"
>
{{
e
.
EmployeeName
}}
</div
>
</td>
<td>
<span
v-if=
"element.RuleAllotWay === 1"
>
依次轮流
</span>
...
...
@@ -114,9 +108,7 @@
<td>
<span>
{{
element
.
ConditionStrList
.
join
(
','
)
}}
</span>
</td>
<td>
<span>
{{
element
.
Sort
}}
</span>
</td>
<td>
<q-btn
flat
...
...
@@ -135,7 +127,7 @@
color=
"negative"
class=
"q-mr-xs"
label=
"删除"
@
click=
"
godelete(element, 3, index
)"
@
click=
"
del(element.Id
)"
/>
</td>
<td>
...
...
@@ -174,11 +166,14 @@
</template>
<
script
lang=
"ts"
>
import
{
ref
,
defineComponent
,
reactive
,
onMounted
}
from
'vue'
import
draggable
from
"vuedraggable"
;
import
{
Dialog
}
from
'quasar'
import
message
from
'@/utils/message'
import
customerService
from
'@/api/customer'
;
import
router
from
'@/router/index'
...
...
@@ -203,23 +198,35 @@ export default defineComponent({
draggable
,
},
setup
()
{
let
stateMsg
=
{
RuleId
:
0
,
Type
:
1
,
// 1移动规则 2删除
TargetId
:
0
,
//移动至目标的后面 0 表示移动至第一个
let
defaultData
=
ref
<
Array
<
dataType
>>
([])
let
data
=
ref
<
Array
<
dataType
>>
([])
let
dragId
=
ref
(
0
)
const
getDragId
=
(
e
:
any
)
=>
{
dragId
.
value
=
e
.
draggedContext
.
element
.
Id
}
let
defaultData
:
Array
<
dataType
>
=
reactive
([])
let
data
:
Array
<
dataType
>
=
reactive
([])
const
datadragEnd
=
(
e
:
any
)
=>
{
console
.
log
(
'拖动结束'
,
e
)
let
olddragId
=
0
if
(
e
.
newIndex
>
0
)
{
olddragId
=
data
.
value
[
e
.
newIndex
-
1
].
Id
}
else
{
olddragId
=
0
}
let
msg
=
{
RuleId
:
dragId
.
value
,
Type
:
1
,
TargetId
:
olddragId
,
}
setState
(
msg
)
}
const
getClueList
=
()
=>
{
defaultData
.
value
=
[]
data
.
value
=
[]
customerService
.
getCustomerClueRuleList
({}).
then
(
res
=>
{
res
.
data
.
Data
.
map
((
item
:
dataType
)
=>
{
if
(
item
.
IsDefault
===
1
)
{
defaultData
.
push
(
item
)
defaultData
.
value
.
push
(
item
)
}
else
{
data
.
push
(
item
)
data
.
value
.
push
(
item
)
}
})
})
...
...
@@ -243,15 +250,33 @@ export default defineComponent({
}
})
}
const
del
=
(
id
)
=>
{
Dialog
.
create
({
title
:
"提示"
,
message
:
"确认删除?"
,
cancel
:
'取消'
,
ok
:
"确认"
}).
onOk
(()
=>
{
console
.
log
(
'>>>> OK'
,
id
)
let
msg
=
{
RuleId
:
id
,
Type
:
2
,
}
setState
(
msg
)
})
}
const
configChange
=
()
=>
{
customerService
.
setCustomerClueRuleConfig
(
configMsg
).
then
(
res
=>
{
console
.
log
(
228
,
res
.
data
)
})
}
const
setState
=
()
=>
{
customerService
.
setCustomerClueRuleState
(
stateMsg
).
then
(
res
=>
{
console
.
log
(
232
,
res
.
data
)
const
setState
=
(
msg
)
=>
{
customerService
.
setCustomerClueRuleState
(
msg
).
then
(
res
=>
{
message
.
successMsg
(
res
.
data
.
Message
)
if
(
msg
.
Type
==
2
){
getClueList
()
}
})
}
onMounted
(()
=>
{
...
...
@@ -259,13 +284,14 @@ export default defineComponent({
getCustomerClueRuleConfig
();
})
return
{
getDragId
,
configChange
,
defaultData
,
data
,
datadragEnd
,
jumpPage
,
configMsg
,
setState
del
}
}
})
...
...
@@ -279,7 +305,7 @@ export default defineComponent({
.payTable
tr
th
{
background
:
#fff
;
height
:
4
0px
;
height
:
6
0px
;
font-size
:
12px
;
font-weight
:
bold
;
color
:
#2d2d2d
;
...
...
@@ -289,7 +315,7 @@ export default defineComponent({
.payTable
tr
{
background
:
#fff
;
text-align
:
center
;
height
:
4
0px
;
height
:
6
0px
;
}
.payTable
tr
td
{
...
...
src/pages/editor/editRule.vue
View file @
dc8c5e16
...
...
@@ -11,7 +11,7 @@
<div
class=
"content-block"
>
<div
class=
"fission-title"
>
选择待分配客户
</div>
<div
class=
"fission-subtitle"
>
当待分配客户符合以下条件时
</div>
<requestGroup
v-model:addCondition=
"editMsg.RuleSelectType"
ref=
"condition"
@
change=
"getCondition"
/>
<requestGroup
v-model:addCondition=
"editMsg.RuleSelectType"
:defaultData=
"editMsg.ConditionList"
ref=
"condition"
@
change=
"getCondition"
/>
</div>
<div
class=
"content-block mt20"
>
<div
class=
"fission-title"
>
分配给以下部门/成员
</div>
...
...
@@ -42,7 +42,7 @@
</div>
<departmentStaff
v-model=
"showDialog"
v-model
:defaultArray=
"defaultArray"
:defaultArray=
"defaultArray"
nodeKey=
"newId"
labelKey=
"DeptName"
childrenKey=
"ChildList"
...
...
@@ -73,6 +73,7 @@ export default defineComponent({
changeDialog
,
msg
,
data
,
defaultArray
,
condition
,
getDetail
,
getEmployeeData
,
...
...
@@ -83,8 +84,15 @@ export default defineComponent({
}
=
editRuleModule
();
onMounted
(()
=>
{
if
(
msg
().
RuleId
>
0
)
{
console
.
log
(
'getDetail'
,
msg
())
data
.
editMsg
.
Id
=
msg
().
RuleId
getDetail
()
}
else
{
data
.
editMsg
.
DeptList
=
[]
data
.
editMsg
.
EmpList
=
[]
data
.
editMsg
.
ConditionList
=
[]
data
.
editMsg
.
RuleSelectType
=
1
data
.
editMsg
.
RuleAllotWay
=
1
defaultArray
=
[]
}
getEmployeeData
()
})
...
...
@@ -93,6 +101,7 @@ export default defineComponent({
changeDialog
,
condition
,
...
toRefs
(
data
),
defaultArray
,
setCustomerClueRuleInfo
,
getCondition
,
getdpt
,
...
...
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