Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf-front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yuzhenWang
yd-csf-front
Commits
a83b446e
Commit
a83b446e
authored
Sep 23, 2025
by
Sweet Zhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test' into sw
parents
c890936c
04ebe0be
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
273 additions
and
169 deletions
+273
-169
src/api/common.js
+16
-0
src/api/sign/fna.js
+30
-1
src/formJson/fnaForm.js
+0
-0
src/main.js
+2
-1
src/store/modules/dict.js
+56
-49
src/utils/1.js
+49
-63
src/utils/2.js
+0
-0
src/utils/date.js
+2
-1
src/utils/dict.js
+20
-1
src/views/sign/FnaList/components/customer.vue
+26
-12
src/views/sign/FnaList/components/fanForm.vue
+0
-0
src/views/sign/FnaList/edit.vue
+52
-0
src/views/sign/FnaList/index.vue
+20
-41
No files found.
src/api/common.js
View file @
a83b446e
...
@@ -47,3 +47,19 @@ export function getSearchCountry(name) {
...
@@ -47,3 +47,19 @@ export function getSearchCountry(name) {
method
:
'get'
method
:
'get'
})
})
}
}
// 查询租户用户关系列表
export
function
listTenantUser
(
data
)
{
return
request
({
url
:
'/user/api/relTenantUser/page'
,
method
:
'post'
,
data
:
data
})
}
// 查询多个字典列表
export
function
getMoreDicts
(
data
)
{
return
request
({
url
:
'/user/api/sysDict/type/list'
,
method
:
'post'
,
data
:
data
})
}
src/api/sign/fna.js
View file @
a83b446e
...
@@ -72,7 +72,7 @@ export function editCustomer(data) {
...
@@ -72,7 +72,7 @@ export function editCustomer(data) {
data
:
data
data
:
data
})
})
}
}
//
修改客户
信息
//
获取客户列表
信息
export
function
getCustomerList
(
data
)
{
export
function
getCustomerList
(
data
)
{
return
request
({
return
request
({
url
:
'/csf/api/Customer/list/page/vo'
,
url
:
'/csf/api/Customer/list/page/vo'
,
...
@@ -83,6 +83,35 @@ export function getCustomerList(data) {
...
@@ -83,6 +83,35 @@ export function getCustomerList(data) {
/*
/*
客户模块接口结束
客户模块接口结束
*/
*/
/*
fanForm模块接口开始
*/
// 新增fanForm信息
export
function
addfanForm
(
data
)
{
return
request
({
url
:
'/csf/api/FnaForm/add'
,
method
:
'post'
,
data
:
data
})
}
// 获取fanForm信息详情
export
function
getfanFormDetail
(
fnaFormBizId
)
{
return
request
({
url
:
`/csf/api/FnaForm/get/vo?fnaFormBizId=
${
fnaFormBizId
}
`
,
method
:
'get'
})
}
// 修改客户信息
export
function
editFanForm
(
data
)
{
return
request
({
url
:
'/csf/api/FnaForm/update'
,
method
:
'post'
,
data
:
data
})
}
/*
fanForm模块接口结束
*/
// 修改角色
// 修改角色
export
function
roleUpdate
(
data
)
{
export
function
roleUpdate
(
data
)
{
return
request
({
return
request
({
...
...
src/formJson/fnaForm.js
View file @
a83b446e
This diff is collapsed.
Click to expand it.
src/main.js
View file @
a83b446e
...
@@ -27,7 +27,7 @@ import elementIcons from '@/components/SvgIcon/svgicon'
...
@@ -27,7 +27,7 @@ import elementIcons from '@/components/SvgIcon/svgicon'
import
'./permission'
// permission control
import
'./permission'
// permission control
import
{
useDict
}
from
'@/utils/dict'
import
{
useDict
,
useDictLists
}
from
'@/utils/dict'
import
{
getConfigKey
}
from
'@/api/system/config'
import
{
getConfigKey
}
from
'@/api/system/config'
import
{
import
{
parseTime
,
parseTime
,
...
@@ -57,6 +57,7 @@ const app = createApp(App)
...
@@ -57,6 +57,7 @@ const app = createApp(App)
// 全局方法挂载
// 全局方法挂载
app
.
config
.
globalProperties
.
useDict
=
useDict
app
.
config
.
globalProperties
.
useDict
=
useDict
app
.
config
.
globalProperties
.
useDictLists
=
useDictLists
app
.
config
.
globalProperties
.
download
=
download
app
.
config
.
globalProperties
.
download
=
download
app
.
config
.
globalProperties
.
parseTime
=
parseTime
app
.
config
.
globalProperties
.
parseTime
=
parseTime
app
.
config
.
globalProperties
.
getNowTime
=
getNowTime
app
.
config
.
globalProperties
.
getNowTime
=
getNowTime
...
...
src/store/modules/dict.js
View file @
a83b446e
const
useDictStore
=
defineStore
(
const
useDictStore
=
defineStore
(
'dict'
,
{
'dict'
,
state
:
()
=>
({
{
dict
:
new
Array
(),
state
:
()
=>
({
tenantUserList
:
[],
dict
:
new
Array
()
dictTypeLists
:
[]
//字典列表,根据请求得不同会变化,所以使用之前需要使用useDictLists请求数据
}),
}),
actions
:
{
actions
:
{
// 获取字典
// 获取字典
getDict
(
_key
)
{
getDict
(
_key
)
{
if
(
_key
==
null
&&
_key
==
""
)
{
if
(
_key
==
null
&&
_key
==
''
)
{
return
null
return
null
}
}
try
{
try
{
for
(
let
i
=
0
;
i
<
this
.
dict
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
this
.
dict
.
length
;
i
++
)
{
if
(
this
.
dict
[
i
].
key
==
_key
)
{
if
(
this
.
dict
[
i
].
key
==
_key
)
{
return
this
.
dict
[
i
].
value
return
this
.
dict
[
i
].
value
}
}
}
}
catch
(
e
)
{
return
null
}
},
// 设置字典
setDict
(
_key
,
value
)
{
if
(
_key
!==
null
&&
_key
!==
""
)
{
this
.
dict
.
push
({
key
:
_key
,
value
:
value
})
}
}
},
}
catch
(
e
)
{
// 删除字典
return
null
removeDict
(
_key
)
{
}
var
bln
=
false
},
try
{
// 设置字典
for
(
let
i
=
0
;
i
<
this
.
dict
.
length
;
i
++
)
{
setDict
(
_key
,
value
)
{
if
(
this
.
dict
[
i
].
key
==
_key
)
{
if
(
_key
!==
null
&&
_key
!==
''
)
{
this
.
dict
.
splice
(
i
,
1
)
this
.
dict
.
push
({
return
true
key
:
_key
,
}
value
:
value
})
}
},
// 删除字典
removeDict
(
_key
)
{
var
bln
=
false
try
{
for
(
let
i
=
0
;
i
<
this
.
dict
.
length
;
i
++
)
{
if
(
this
.
dict
[
i
].
key
==
_key
)
{
this
.
dict
.
splice
(
i
,
1
)
return
true
}
}
}
catch
(
e
)
{
bln
=
false
}
}
return
bln
}
catch
(
e
)
{
},
bln
=
false
// 清空字典
cleanDict
()
{
this
.
dict
=
new
Array
()
},
// 初始字典
initDict
()
{
}
}
return
bln
},
// 清空字典
cleanDict
()
{
this
.
dict
=
new
Array
()
},
// 初始字典
initDict
()
{},
// 设置租户用户列表
setTenantUserList
(
user
)
{
this
.
tenantUserList
=
user
},
// 设置字典列表
setDictTypeLists
(
typeList
)
{
this
.
dictTypeLists
=
typeList
}
}
})
}
})
export
default
useDictStore
export
default
useDictStore
src/utils/1.js
View file @
a83b446e
{
{
"id"
:
12
,
"id"
:
5
,
"customerBizId"
:
"customer_XQH9OmZsSNafYMhc"
,
"fnaFormBizId"
:
"fna_form_8VXGgMskIU3uZWG7"
,
"customCode"
:
null
,
"customerBizId"
:
"customer_bkr6dz9BkYGar48o"
,
"lastName"
:
"11"
,
"personalData"
:
{
"firstName"
:
"11"
,
"accountName"
:
"user_1002"
,
"name"
:
"11"
,
"registrationNumber"
:
"11"
,
"lastNamePinyin"
:
"11"
,
"number"
:
null
,
"firstNamePinyin"
:
"11"
,
"customerName"
:
"11"
,
"pinyin"
:
"11"
,
"taxCountry"
:
"11"
,
"title"
:
"Dr"
,
"employment"
:
"PRAT_TIME"
,
"gender"
:
"2"
,
"otherEmployment"
:
null
,
"birthdate"
:
null
,
"isRetired"
:
"1"
,
"abnormal"
:
null
,
"retiredAge"
:
null
"age"
:
"12"
,
},
"areaCode"
:
"+86"
,
"familyMembers"
:
[
"phone"
:
"11111"
,
"email"
:
"11111"
,
"smoke"
:
"1"
,
"smokeQuantity"
:
"10"
,
"companyType"
:
"11111"
,
"source"
:
null
,
"idType"
:
"passport"
,
"idCard"
:
"555"
,
"passport"
:
null
,
"eepCode"
:
null
,
"marriage"
:
"MARRIED"
,
"birthplace"
:
"11111111"
,
"education"
:
"UNIVERSITY"
,
"customerExpandBizId"
:
"customer_expand_l3eOcWeqGd1IFDJg"
,
"country"
:
"CHINESE"
,
"countryName"
:
"中国"
,
"createTime"
:
"2025-09-16T11:40:58.000+08:00"
,
"customerType"
:
null
,
"residenceAreaCode"
:
"+44"
,
"residenceTelephone"
:
"22222"
,
"longtimeAbroad"
:
"1"
,
"addressList"
:
[
{
{
"type"
:
"residenceAddress"
,
"type"
:
"1"
,
"region"
:
"111"
,
"needProvide"
:
"1"
,
"city"
:
"222"
,
"age"
:
"11"
"street"
:
"333"
,
"location"
:
"444"
},
},
{
{
"type"
:
"residentialAddress"
,
"type"
:
"2"
,
"region"
:
"111"
,
"needProvide"
:
"1"
,
"city"
:
"222"
,
"age"
:
"11"
"street"
:
"333"
,
"location"
:
"444"
},
},
{
{
"type"
:
"mailingAddress"
,
"type"
:
"3"
,
"region"
:
"333"
,
"needProvide"
:
"1"
,
"city"
:
"333"
,
"age"
:
"11"
"street"
:
"444"
,
"location"
:
"555"
},
},
{
{
"type"
:
"companyAddress"
,
"type"
:
"4"
,
"region"
:
"666"
,
"needProvide"
:
"1"
,
"city"
:
"777"
,
"age"
:
"11"
"street"
:
"888"
,
"location"
:
"999"
}
}
],
],
"companyName"
:
"444"
,
"existingSecurityOwner"
:
[],
"companyAreaCode"
:
"+65"
,
"existingSecurityInsured"
:
[],
"companyTelephone"
:
"5555"
,
"incomeExpense"
:
{
"position"
:
"555"
,
"monthlyIncome"
:
null
,
"workYear"
:
"55"
,
"monthlyExpense"
:
null
"salary"
:
55555
},
"liquidAssets"
:
{
"liquidAssets"
:
null
,
"liquidAssetType"
:
null
,
"otherLiquidAsset"
:
null
},
"primaryResidence"
:
null
,
"investment"
:
null
,
"companyBusinessData"
:
{
"averageNetProfit"
:
null
,
"estimatedTotalAssets"
:
null
,
"currency"
:
null
,
"assetPercentage"
:
null
},
"other"
:
{
"premiumFundingSource"
:
null
}
}
}
src/utils/2.js
0 → 100644
View file @
a83b446e
src/utils/date.js
View file @
a83b446e
...
@@ -6,12 +6,12 @@ export function formatIsoToDateTime(isoStr) {
...
@@ -6,12 +6,12 @@ export function formatIsoToDateTime(isoStr) {
// 替换 T 为空格,返回 "YYYY-MM-DD HH:mm:ss"
// 替换 T 为空格,返回 "YYYY-MM-DD HH:mm:ss"
return
isoStr
.
replace
(
'T'
,
' '
)
return
isoStr
.
replace
(
'T'
,
' '
)
}
}
console
.
log
(
dayjs
)
const
DATE_TIME_FORMAT
=
'YYYY-MM-DD HH:mm:ss'
const
DATE_TIME_FORMAT
=
'YYYY-MM-DD HH:mm:ss'
const
DATE_FORMAT
=
'YYYY-MM-DD'
const
DATE_FORMAT
=
'YYYY-MM-DD'
export
function
formatToDateTime
(
date
,
format
=
DATE_TIME_FORMAT
)
{
export
function
formatToDateTime
(
date
,
format
=
DATE_TIME_FORMAT
)
{
if
(
!
date
)
return
''
return
dayjs
(
date
).
format
(
format
)
return
dayjs
(
date
).
format
(
format
)
}
}
...
@@ -20,5 +20,6 @@ export function formatToDate(date, format = DATE_FORMAT) {
...
@@ -20,5 +20,6 @@ export function formatToDate(date, format = DATE_FORMAT) {
return
dayjs
(
date
).
format
(
format
)
return
dayjs
(
date
).
format
(
format
)
}
}
export
const
getNowTime
=
(
format
=
DATE_TIME_FORMAT
)
=>
{
export
const
getNowTime
=
(
format
=
DATE_TIME_FORMAT
)
=>
{
if
(
!
date
)
return
''
return
dayjs
().
format
(
format
)
return
dayjs
().
format
(
format
)
}
}
src/utils/dict.js
View file @
a83b446e
import
useDictStore
from
'@/store/modules/dict'
import
useDictStore
from
'@/store/modules/dict'
import
{
getDicts
}
from
'@/api/system/dict/data'
import
{
getDicts
}
from
'@/api/system/dict/data'
import
{
getMoreDicts
}
from
'@/api/common'
/**
/**
* 获取字典数据
* 获取字典数据
...
@@ -22,7 +23,25 @@ export function useDict(...args) {
...
@@ -22,7 +23,25 @@ export function useDict(...args) {
return
toRefs
(
res
.
value
)
return
toRefs
(
res
.
value
)
})()
})()
}
}
/**
* 获取多个字典数据
*/
export
function
useDictLists
(
typeLists
)
{
let
params
=
{
typeList
:
typeLists
}
let
dictArray
=
[]
getMoreDicts
(
params
).
then
(
resp
=>
{
if
(
resp
.
code
===
200
)
{
dictArray
=
resp
.
data
.
map
(
item
=>
{
item
.
dictItemList
.
forEach
(
dict
=>
{
dict
.
label
=
dict
.
itemLabel
dict
.
value
=
dict
.
itemValue
})
return
item
})
useDictStore
().
setDictTypeLists
(
dictArray
)
}
})
}
// /**
// /**
// * 获取字典数据
// * 获取字典数据
// */
// */
...
...
src/views/sign/FnaList/components/customer.vue
View file @
a83b446e
...
@@ -104,15 +104,11 @@
...
@@ -104,15 +104,11 @@
<div>
<div>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"客户姓名"
prop=
"name"
>
<el-form-item
label=
"客户姓名"
prop=
"name"
>
<el-input
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入姓名"
@
input=
"customerList"
/>
v-model=
"queryParams.name"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter=
"customerList"
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"Search"
circle
@
click=
"customerList"
/>
<el-button
type=
"primary"
icon=
"Search"
circle
@
click=
"customerList"
/>
<el-button
type=
"info"
icon=
"Refresh"
circle
@
click=
"resetCustomerList"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"customerBox"
>
<div
class=
"customerBox"
>
...
@@ -187,7 +183,8 @@ import Address from '@/views/components/address'
...
@@ -187,7 +183,8 @@ import Address from '@/views/components/address'
import
{
getDicts
}
from
'@/api/system/dict/data'
import
{
getDicts
}
from
'@/api/system/dict/data'
import
{
watch
,
nextTick
}
from
'vue'
import
{
watch
,
nextTick
}
from
'vue'
import
{
addCustomer
,
getCustomerDetail
,
editCustomer
,
getCustomerList
}
from
'@/api/sign/fna'
import
{
addCustomer
,
getCustomerDetail
,
editCustomer
,
getCustomerList
}
from
'@/api/sign/fna'
import
useDictStore
from
'@/store/modules/dict'
const
dictStore
=
useDictStore
()
//获取字典数据
const
props
=
defineProps
({
const
props
=
defineProps
({
activeName
:
{
type
:
String
,
default
:
''
},
//tab名称
activeName
:
{
type
:
String
,
default
:
''
},
//tab名称
fearthStatus
:
{
type
:
String
,
default
:
''
},
//父组件状态,新增、修改
fearthStatus
:
{
type
:
String
,
default
:
''
},
//父组件状态,新增、修改
...
@@ -279,6 +276,14 @@ const data = reactive({
...
@@ -279,6 +276,14 @@ const data = reactive({
}
}
})
})
const
{
form
,
rules
,
processedCustomerData
,
queryParams
,
oldCustomerData
}
=
toRefs
(
data
)
const
{
form
,
rules
,
processedCustomerData
,
queryParams
,
oldCustomerData
}
=
toRefs
(
data
)
const
resetCustomerList
=
()
=>
{
queryParams
.
value
=
{
pageNo
:
1
,
pageSize
:
4
,
name
:
undefined
}
customerList
()
}
const
exportInfo
=
()
=>
{
const
exportInfo
=
()
=>
{
if
(
props
.
customerBizId
&&
editStatus
.
value
)
{
if
(
props
.
customerBizId
&&
editStatus
.
value
)
{
...
@@ -289,6 +294,8 @@ const exportInfo = () => {
...
@@ -289,6 +294,8 @@ const exportInfo = () => {
customerList
()
customerList
()
}
}
const
customerList
=
()
=>
{
const
customerList
=
()
=>
{
console
.
log
(
'触发了'
)
tableLoading
.
value
=
true
tableLoading
.
value
=
true
getCustomerList
(
queryParams
.
value
).
then
(
res
=>
{
getCustomerList
(
queryParams
.
value
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
...
@@ -306,10 +313,15 @@ const handleExport = row => {
...
@@ -306,10 +313,15 @@ const handleExport = row => {
}
}
// 获取字典数据
// 获取字典数据
const
fetchDictData
=
async
dictType
=>
{
const
fetchDictData
=
dictType
=>
{
let
options
=
[]
try
{
try
{
const
resp
=
await
getDicts
(
dictType
)
dictStore
.
dictTypeLists
.
forEach
(
item
=>
{
return
resp
.
data
.
map
(
p
=>
({
label
:
p
.
itemLabel
,
value
:
p
.
itemValue
}))
if
(
item
.
dictType
==
dictType
)
{
options
=
item
.
dictItemList
}
})
return
options
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
'获取字典数据失败:'
,
error
)
console
.
error
(
'获取字典数据失败:'
,
error
)
return
[]
return
[]
...
@@ -336,7 +348,7 @@ const processFormData = async () => {
...
@@ -336,7 +348,7 @@ const processFormData = async () => {
for
(
const
field
of
section
.
data
)
{
for
(
const
field
of
section
.
data
)
{
if
(
field
.
dictType
)
{
if
(
field
.
dictType
)
{
// 获取字典数据
// 获取字典数据
field
.
options
=
await
fetchDictData
(
field
.
dictType
)
field
.
options
=
fetchDictData
(
field
.
dictType
)
}
}
if
(
field
.
required
)
{
if
(
field
.
required
)
{
if
(
field
.
key
===
'firstNamePinyin'
)
{
if
(
field
.
key
===
'firstNamePinyin'
)
{
...
@@ -487,6 +499,8 @@ const handleSelectChange = child => {
...
@@ -487,6 +499,8 @@ const handleSelectChange = child => {
// 改变编辑状态
// 改变编辑状态
const
handleEditStatus
=
()
=>
{
const
handleEditStatus
=
()
=>
{
editStatus
.
value
=
!
editStatus
.
value
editStatus
.
value
=
!
editStatus
.
value
console
.
log
(
'触发了编辑状态'
,
editStatus
.
value
)
// 深拷贝原始数据
// 深拷贝原始数据
const
processedData
=
JSON
.
parse
(
JSON
.
stringify
(
processedCustomerData
.
value
))
const
processedData
=
JSON
.
parse
(
JSON
.
stringify
(
processedCustomerData
.
value
))
for
(
const
section
of
processedData
)
{
for
(
const
section
of
processedData
)
{
...
@@ -730,12 +744,12 @@ const resetForm = () => {
...
@@ -730,12 +744,12 @@ const resetForm = () => {
.
then
(
function
()
{
.
then
(
function
()
{
if
(
props
.
customerBizId
)
{
if
(
props
.
customerBizId
)
{
form
.
value
=
{
...
oldObjInfo
.
value
}
form
.
value
=
{
...
oldObjInfo
.
value
}
editStatus
.
value
=
true
}
else
{
}
else
{
resetShow
(
'smokeQuantity'
,
false
)
resetShow
(
'smokeQuantity'
,
false
)
proxy
.
$refs
[
'customerRef'
].
resetFields
()
proxy
.
$refs
[
'customerRef'
].
resetFields
()
}
}
processedCustomerData
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
oldCustomerData
.
value
))
processedCustomerData
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
oldCustomerData
.
value
))
console
.
log
(
'processedCustomerData.value'
,
processedCustomerData
.
value
)
})
})
.
catch
(()
=>
{})
.
catch
(()
=>
{})
...
...
src/views/sign/FnaList/components/fanForm.vue
View file @
a83b446e
This diff is collapsed.
Click to expand it.
src/views/sign/FnaList/edit.vue
View file @
a83b446e
...
@@ -104,6 +104,8 @@
...
@@ -104,6 +104,8 @@
:activeName=
"activeName"
:activeName=
"activeName"
:fearthStatus=
"route.query.type"
:fearthStatus=
"route.query.type"
:fnaFormBizId=
"processInfo.fnaFormBizId"
:fnaFormBizId=
"processInfo.fnaFormBizId"
:customerBizId=
"processInfo.customerBizId"
:dictTypeLists=
"dictTypeLists"
@
handleSuccess=
"handleSuccess"
@
handleSuccess=
"handleSuccess"
/>
/>
</div>
</div>
...
@@ -119,12 +121,15 @@
...
@@ -119,12 +121,15 @@
</
template
>
</
template
>
<
script
setup
name=
"FnaEdit"
>
<
script
setup
name=
"FnaEdit"
>
import
useUserStore
from
'@/store/modules/user'
import
useUserStore
from
'@/store/modules/user'
import
useDictStore
from
'@/store/modules/dict'
import
{
addFna
,
getProcessDetail
,
updateProcess
}
from
'@/api/sign/fna'
import
{
addFna
,
getProcessDetail
,
updateProcess
}
from
'@/api/sign/fna'
import
{
listTenantUser
}
from
'@/api/common'
import
Customer
from
'./components/customer'
import
Customer
from
'./components/customer'
import
FanForm
from
'./components/fanForm'
import
FanForm
from
'./components/fanForm'
import
{
Check
}
from
'@element-plus/icons-vue'
import
{
Check
}
from
'@element-plus/icons-vue'
import
{
ref
}
from
'vue'
import
{
ref
}
from
'vue'
const
userStore
=
useUserStore
()
const
userStore
=
useUserStore
()
const
dictStore
=
useDictStore
()
const
{
proxy
}
=
getCurrentInstance
()
const
{
proxy
}
=
getCurrentInstance
()
const
route
=
useRoute
()
const
route
=
useRoute
()
const
router
=
useRouter
()
const
router
=
useRouter
()
...
@@ -136,6 +141,7 @@ const processInfo = ref({
...
@@ -136,6 +141,7 @@ const processInfo = ref({
customerName
:
userStore
.
name
customerName
:
userStore
.
name
})
// 流程详情信息
})
// 流程详情信息
const
updateStatus
=
ref
(
false
)
const
updateStatus
=
ref
(
false
)
const
dictTypeLists
=
ref
([])
const
tabsList
=
ref
([
const
tabsList
=
ref
([
{
{
label
:
'总览'
,
label
:
'总览'
,
...
@@ -180,6 +186,34 @@ const tabsList = ref([
...
@@ -180,6 +186,34 @@ const tabsList = ref([
])
])
const
{
csf_fna_status
}
=
proxy
.
useDict
(
'csf_fna_status'
)
const
{
csf_fna_status
}
=
proxy
.
useDict
(
'csf_fna_status'
)
// 获取各个流程所需要得字典数据
const
getDictsData
=
async
()
=>
{
// 获取租户用户列表
const
params
=
{
tenantBizId
:
userStore
.
projectInfo
.
tenantBizId
,
pageNo
:
1
,
pageSize
:
10
}
const
response
=
await
listTenantUser
(
params
)
if
(
response
.
code
==
200
)
{
dictStore
.
setTenantUserList
(
response
.
data
.
records
)
}
// 请求每个流程中所涉及到的字典值数据
proxy
.
useDictLists
([
'csf_employment'
,
'sys_no_yes'
,
'bx_currency_type'
,
'csf_liquid_asset_type'
,
'csf_premium_funding_source'
,
'csf_customer_type'
,
'csf_customer_title'
,
'sys_gender'
,
'csf_marriage'
,
'csf_education'
,
'csf_id_type'
])
}
// 更新流程
// 更新流程
const
processUpdate
=
(
data
,
status
)
=>
{
const
processUpdate
=
(
data
,
status
)
=>
{
updateProcess
(
data
).
then
(
res
=>
{
updateProcess
(
data
).
then
(
res
=>
{
...
@@ -293,6 +327,23 @@ const handleSuccess = info => {
...
@@ -293,6 +327,23 @@ const handleSuccess = info => {
break
break
case
'fnaform'
:
case
'fnaform'
:
if
(
info
.
type
==
'add'
)
{
//客户提交成功,更新流程
processUpdate
(
{
fnaBizId
:
processInfo
.
value
.
fnaBizId
,
customerBizId
:
info
.
customerBizId
,
fnaFormBizId
:
info
.
fnaFormBizId
},
'appointment'
)
}
else
{
processUpdate
({
fnaBizId
:
processInfo
.
value
.
fnaBizId
,
customerBizId
:
info
.
customerBizId
,
fnaFormBizId
:
info
.
fnaFormBizId
})
}
break
break
case
'newpolicy'
:
case
'newpolicy'
:
break
break
...
@@ -302,6 +353,7 @@ const handleSuccess = info => {
...
@@ -302,6 +353,7 @@ const handleSuccess = info => {
break
break
}
}
}
}
getDictsData
()
// handleDomData()
// handleDomData()
// 1.通过新建流程进来的,要请求创建/csf/api/Fna/add拿到头部dom等信息
// 1.通过新建流程进来的,要请求创建/csf/api/Fna/add拿到头部dom等信息
//2.每次进来要请求根据id获取/csf/api/Fna/get/vo,根据流程BizId获取进行到哪一步了,还可以拿到头部dom等信息
//2.每次进来要请求根据id获取/csf/api/Fna/get/vo,根据流程BizId获取进行到哪一步了,还可以拿到头部dom等信息
...
...
src/views/sign/FnaList/index.vue
View file @
a83b446e
...
@@ -78,7 +78,8 @@
...
@@ -78,7 +78,8 @@
v-loading=
"loading"
v-loading=
"loading"
:data=
"tenantList"
:data=
"tenantList"
@
selection-change=
"tableSelect"
@
selection-change=
"tableSelect"
:default-sort=
"
{ prop: 'createTime', order: 'descending' }"
@
sort-change=
"sortChange"
>
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
label=
"流程编号"
align=
"center"
prop=
"fnaNo"
width=
"200"
/>
<el-table-column
label=
"流程编号"
align=
"center"
prop=
"fnaNo"
width=
"200"
/>
...
@@ -97,12 +98,12 @@
...
@@ -97,12 +98,12 @@
><span
style=
"color: #43cf7c"
class=
"iconfont icon-yiwancheng"
></span>
已完成
><span
style=
"color: #43cf7c"
class=
"iconfont icon-yiwancheng"
></span>
已完成
</span>
</span>
<span
v-if=
"scope.row.status == 'DRAFT'"
<span
v-if=
"scope.row.status == 'DRAFT'"
><span
style=
"color: #86909
C
"
class=
"iconfont icon-genjinjilu"
></span>
草稿
><span
style=
"color: #86909
c
"
class=
"iconfont icon-genjinjilu"
></span>
草稿
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!-- sortable 后端未做 -->
<!-- sortable 后端未做 -->
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
>
<el-table-column
label=
"创建时间"
sortable
align=
"center"
prop=
"createTime"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</
template
>
...
@@ -116,13 +117,7 @@
...
@@ -116,13 +117,7 @@
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"primary"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button>
<el-button
link
type=
"primary"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button>
<!-- v-if="scope.row.status == 'COMPLETED'" -->
<!-- v-if="scope.row.status == 'COMPLETED'" -->
<el-button
<el-button
link
type=
"primary"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
v-if=
"scope.row.status == 'COMPLETED'"
link
type=
"primary"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -142,17 +137,6 @@
...
@@ -142,17 +137,6 @@
<
script
setup
name=
"FnaList"
>
<
script
setup
name=
"FnaList"
>
import
Step
from
'@/views/components/moduleStep'
import
Step
from
'@/views/components/moduleStep'
import
useAppStore
from
'@/store/modules/app'
import
{
changeUserStatus
,
listTenant
,
resetUserPwd
,
delUser
,
getTenant
,
updateTenant
,
addTenant
,
changeTenantStatus
}
from
'@/api/system/tenant'
import
{
getFnaList
,
deleteFna
}
from
'@/api/sign/fna'
import
{
getFnaList
,
deleteFna
}
from
'@/api/sign/fna'
import
useUserStore
from
'@/store/modules/user'
import
useUserStore
from
'@/store/modules/user'
...
@@ -171,12 +155,9 @@ const { sys_status, csf_fna_status, sys_no_yes } = proxy.useDict(
...
@@ -171,12 +155,9 @@ const { sys_status, csf_fna_status, sys_no_yes } = proxy.useDict(
)
)
const
tenantList
=
ref
([])
const
tenantList
=
ref
([])
const
open
=
ref
(
false
)
const
loading
=
ref
(
true
)
const
loading
=
ref
(
true
)
const
showSearch
=
ref
(
true
)
const
showSearch
=
ref
(
true
)
const
ids
=
ref
([])
const
ids
=
ref
([])
const
single
=
ref
(
true
)
const
multiple
=
ref
(
true
)
const
total
=
ref
(
0
)
const
total
=
ref
(
0
)
const
dateRange
=
ref
([])
const
dateRange
=
ref
([])
const
selectIdsList
=
ref
([])
const
selectIdsList
=
ref
([])
...
@@ -186,15 +167,27 @@ const data = reactive({
...
@@ -186,15 +167,27 @@ const data = reactive({
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
8
,
pageSize
:
8
,
startTime
:
''
,
startTime
:
''
,
endTime
:
''
endTime
:
''
,
sortField
:
''
,
sortOrder
:
''
}
}
})
})
const
{
queryParams
,
form
,
rules
}
=
toRefs
(
data
)
const
{
queryParams
,
form
,
rules
}
=
toRefs
(
data
)
const
sortChange
=
({
prop
,
order
})
=>
{
if
(
order
==
'ascending'
)
{
queryParams
.
value
.
sortOrder
=
'ascend'
}
else
{
queryParams
.
value
.
sortOrder
=
'descend'
}
if
(
prop
)
{
queryParams
.
value
.
sortField
=
prop
}
getList
()
}
/** 多选框选中数据 */
/** 多选框选中数据 */
function
tableSelect
(
selection
)
{
function
tableSelect
(
selection
)
{
selectIdsList
.
value
=
selection
.
map
(
item
=>
item
.
projectBizId
)
//
selectIdsList.value = selection.map(item => item.projectBizId)
}
}
const
goToAppointment
=
()
=>
{
const
goToAppointment
=
()
=>
{
router
.
push
({
path
:
'/sign/appointment'
})
router
.
push
({
path
:
'/sign/appointment'
})
...
@@ -252,20 +245,6 @@ function handleDelete(row) {
...
@@ -252,20 +245,6 @@ function handleDelete(row) {
.
catch
(()
=>
{})
.
catch
(()
=>
{})
}
}
/** 租户状态修改 */
function
handleStatusChange
(
row
,
event
)
{
let
text
=
row
.
status
===
0
?
'停用'
:
'启用'
const
tenantName
=
row
.
tenantName
proxy
.
$modal
.
confirm
(
`确认要
${
text
}
"
${
tenantName
}
"租户吗?`
)
.
then
(()
=>
changeTenantStatus
({
tenantBizId
:
row
.
tenantBizId
,
status
:
row
.
status
}))
.
then
(()
=>
proxy
.
$modal
.
msgSuccess
(
`
${
text
}
成功`
))
.
catch
(()
=>
{
// 操作取消时恢复原状态
row
.
status
=
row
.
status
===
0
?
1
:
0
})
}
/** 重置操作表单 */
/** 重置操作表单 */
function
reset
()
{
function
reset
()
{
form
.
value
=
{
form
.
value
=
{
...
...
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