Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
Y
yishuju-ui
Project
Project
Details
Activity
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
何远江
yishuju-ui
Commits
ee79a169
Commit
ee79a169
authored
Mar 12, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
整理审批的权限
parent
dc7263d4
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
550 additions
and
41 deletions
+550
-41
customer.js
src/api/customer.js
+8
-0
callDrawer.vue
...s/business-approval/audit-apply/components/callDrawer.vue
+1
-1
splitDrawer.vue
...iness-approval/by-stages-apply/components/splitDrawer.vue
+4
-4
index.vue
src/views/business-approval/by-stages-apply/index.vue
+3
-1
reduceDrawer.vue
...ness-approval/reduction-apply/components/reduceDrawer.vue
+3
-3
index.vue
src/views/business-approval/reduction-apply/index.vue
+3
-2
index.vue
src/views/business-approval/repair-approve/index.vue
+2
-2
index.vue
src/views/business-approval/repayment-approve/index.vue
+15
-14
addModel.vue
src/views/infoGather/constant/components/addModel.vue
+347
-0
index.vue
src/views/infoGather/constant/index.vue
+158
-0
index.vue
src/views/infoGather/customerStatisis/index.vue
+0
-7
callDrawer.vue
src/views/property/audit-manage/components/callDrawer.vue
+1
-1
callDrawer.vue
src/views/property/case-detail/components/callDrawer.vue
+1
-1
reduceDrawer.vue
src/views/property/case-detail/components/reduceDrawer.vue
+1
-1
splitDrawer.vue
src/views/property/case-detail/components/splitDrawer.vue
+2
-2
index.vue
src/views/property/case-manage/index.vue
+0
-1
callDrawer.vue
src/views/workplace/audit/components/callDrawer.vue
+1
-1
No files found.
src/api/customer.js
View file @
ee79a169
...
...
@@ -15,3 +15,11 @@ export const getgetByIdCustomer = (id) => {
export
const
getDebtInfo
=
(
id
)
=>
{
return
request
.
get
(
'/debt_info/getDebtInfo?idCard='
+
id
);
};
// 获取合同列表
export
const
getContractPage
=
(
params
)
=>
{
return
request
.
get
(
'/Contract/page'
,
params
);
};
// 保存合同
export
const
saveContract
=
(
data
)
=>
{
return
request
.
post
(
'/Contract/saveContract'
,
data
);
};
\ No newline at end of file
src/views/business-approval/audit-apply/components/callDrawer.vue
View file @
ee79a169
...
...
@@ -430,7 +430,7 @@
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_merger_case
'
),
showOverflow
:
'tooltip'
,
width
:
120
,
slots
:
{
...
...
src/views/business-approval/by-stages-apply/components/splitDrawer.vue
View file @
ee79a169
...
...
@@ -246,8 +246,8 @@
<
template
#
footer
>
<div
style=
"flex: auto"
>
<el-button
@
click=
"showModal = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('fail')"
v-if=
"currentDetail.flowStatus === 'pending'"
>
不通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('pass')"
v-if=
"currentDetail.flowStatus === 'pending'"
>
通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('fail')"
v-if=
"currentDetail.flowStatus === 'pending'"
v-permission=
"'stages_apply_btn'"
>
不通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('pass')"
v-if=
"currentDetail.flowStatus === 'pending'"
v-permission=
"'stages_apply_btn'"
>
通过
</el-button>
</div>
</
template
>
<el-dialog
v-model=
"dialogVisible"
>
...
...
@@ -508,7 +508,7 @@
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_merger_case
'
),
showOverflow
:
'tooltip'
,
width
:
120
,
slots
:
{
...
...
@@ -519,7 +519,7 @@
},
{
field
:
'canStages'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_can_stages
'
),
title
:
'分期是否可修改'
,
showOverflow
:
'tooltip'
,
width
:
120
,
...
...
src/views/business-approval/by-stages-apply/index.vue
View file @
ee79a169
...
...
@@ -57,6 +57,8 @@
import
{
getTenantPage
}
from
'@/api/tenant'
;
import
{
useDict
}
from
'@/hooks/useDict'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
useAuthStore
}
from
'@/stores/modules/auth'
;
const
{
authButtonListGet
}
=
useAuthStore
();
// 获取用户权限列表
const
envs
=
getAppEnvConfig
();
const
srcList
=
ref
([]);
const
RefImage
=
ref
(
false
);
...
...
@@ -364,7 +366,7 @@
return
(
<>
<
ElButton
type
=
"primary"
onClick
=
{()
=>
changeStatus
(
row
)}
>
{
row
.
flowStatus
===
'pending'
?
'查看并审核'
:
'查看'
}
{
row
.
flowStatus
===
'pending'
&&
authButtonListGet
.
includes
(
'stages_apply_btn'
)
?
'查看并审核'
:
'查看'
}
<
/ElButton
>
<
/
>
);
...
...
src/views/business-approval/reduction-apply/components/reduceDrawer.vue
View file @
ee79a169
...
...
@@ -186,8 +186,8 @@
<
template
#
footer
>
<div
style=
"flex: auto"
>
<el-button
@
click=
"showModal = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('fail')"
v-if=
"currentDetail.flowStatus === 'pending'"
>
不通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('pass')"
v-if=
"currentDetail.flowStatus === 'pending'"
>
通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('fail')"
v-if=
"currentDetail.flowStatus === 'pending'
&& authButtonListGet.includes('reduction_apply_btn')
"
>
不通过
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('pass')"
v-if=
"currentDetail.flowStatus === 'pending'
&& authButtonListGet.includes('reduction_apply_btn')
"
>
通过
</el-button>
</div>
</
template
>
<el-dialog
v-model=
"dialogVisible"
>
...
...
@@ -350,7 +350,7 @@
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_merger_case
'
),
showOverflow
:
'tooltip'
,
width
:
120
,
slots
:
{
...
...
src/views/business-approval/reduction-apply/index.vue
View file @
ee79a169
...
...
@@ -57,9 +57,10 @@
import
{
useDict
}
from
'@/hooks/useDict'
;
import
{
Download
}
from
'@element-plus/icons-vue'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
useAuthStore
}
from
'@/stores/modules/auth'
;
const
envs
=
getAppEnvConfig
();
const
reduceDrawerRef
=
ref
();
const
{
authButtonListGet
}
=
useAuthStore
();
// 获取用户权限列表
const
{
PhoneResultStatus
,
ReduceType
,
FlowStatus
,
FollowStatus
,
CaseStatus
}
=
useDict
(
"PhoneResultStatus"
,
"ReduceType"
,
"FlowStatus"
,
"FollowStatus"
,
"CaseStatus"
);
const
downloadfile
=
inject
(
'download'
);
const
ProTableRef
=
ref
();
...
...
@@ -318,7 +319,7 @@
return
(
<>
<
ElButton
type
=
"primary"
onClick
=
{()
=>
changeStatus
(
row
)}
>
{
row
.
flowStatus
===
'pending'
?
'查看并审核'
:
'查看'
}
{
row
.
flowStatus
===
'pending'
&&
authButtonListGet
.
includes
(
'reduction_apply_btn'
)
?
'查看并审核'
:
'查看'
}
<
/ElButton
>
<
/
>
);
...
...
src/views/business-approval/repair-approve/index.vue
View file @
ee79a169
...
...
@@ -295,7 +295,7 @@
width
:
120
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
if
(
activeName
.
value
===
'pending'
&&
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
))
{
if
(
activeName
.
value
===
'pending'
&&
authButtonListGet
.
includes
(
'
repair_apply_btn
'
))
{
return
(
<>
<
ElButton
type
=
"primary"
onClick
=
{()
=>
changeStatus
(
row
)}
>
...
...
@@ -313,7 +313,7 @@
<
/
>
);
}
else
{
if
(
row
.
downloadStatus
===
'pending'
&&
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
))
{
if
(
row
.
downloadStatus
===
'pending'
&&
authButtonListGet
.
includes
(
'
repair_apply_btn
'
))
{
return
(
<>
<
ElButton
type
=
"primary"
onClick
=
{()
=>
changeStatus
(
row
)}
>
...
...
src/views/business-approval/repayment-approve/index.vue
View file @
ee79a169
...
...
@@ -24,6 +24,7 @@
type=
"primary"
@
click=
"changeStatus"
v-if=
"activeName==='pending'"
v-permission=
"'repayment_apply_btn'"
:disabled=
"!selectdList || !selectdList.length"
>
审批
</el-button>
...
...
@@ -68,6 +69,9 @@
import
{
ElMessageBox
,
ElMessage
,
ElButton
}
from
'element-plus'
;
import
{
useDict
}
from
'@/hooks/useDict'
;
import
{
getTenantPage
}
from
'@/api/tenant'
;
import
{
useAuthStore
}
from
'@/stores/modules/auth'
;
const
{
authButtonListGet
}
=
useAuthStore
();
// 获取用户权限列表
const
{
RepayType
,
FlowStatus
}
=
useDict
(
"RepayType"
,
"FlowStatus"
);
const
ProTableRef
=
ref
();
const
showModal
=
ref
(
false
);
...
...
@@ -277,9 +281,7 @@
{
field
:
'loanPlatform'
,
title
:
'借款平台'
,
showOverflow
:
'tooltip'
,
// search:
{
el
:
'input'
,
key
:
'payOrg'
,
labelWidth
:
90
}
,
width
:
100
,
showOverflow
:
'tooltip'
}
,
{
field
:
'flowStatus'
,
...
...
@@ -304,8 +306,7 @@
{
field
:
'code'
,
title
:
'操作'
,
width
:
120
,
visible
:
activeName
.
value
===
'pending'
?
true
:
false
,
visible
:
activeName
.
value
===
'pending'
&&
authButtonListGet
.
includes
(
'repair_apply_btn'
)
?
true
:
false
,
slots
:
{
default
:
({
row
,
rowIndex
}
)
=>
{
return
(
...
...
@@ -315,7 +316,7 @@
<
/ElButton
>
<
/
>
);
}
,
}
}
,
}
],
...
...
src/views/infoGather/constant/components/addModel.vue
0 → 100644
View file @
ee79a169
<
template
>
<vxe-modal
resize
v-model=
"showModal"
title=
"合同详情"
height=
"612"
width=
"1303"
show-footer
esc-closable
>
<div
class=
"card content-box addModel"
>
<div
class=
"mb-5 w-full flex justify-end"
>
<el-button
type=
"default"
@
click=
"showModal = false"
>
取消
</el-button>
<template
v-if=
"showEdit"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
保存
</el-button>
</
template
>
<el-button
type=
"primary"
@
click=
"showEdit = true"
v-if=
"currentRow"
>
修改
</el-button>
<!-- <el-button type="danger" @click="delItem" v-if="currentRow">删除</el-button> -->
</div>
<div
class=
"w-full"
>
<el-form
ref=
"formRef"
:model=
"form"
label-position=
"top"
:rules=
"rules"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"合同编号:"
prop=
"name"
>
<el-input
v-model=
"form.contractNo"
:disabled=
"!showEdit"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"合同签订主体:"
prop=
"code"
>
<el-input
v-model=
"form.contractSignBody"
:disabled=
"!showEdit"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"业务名称:"
prop=
"code"
>
<el-input
v-model=
"form.businessName"
:disabled=
"!showEdit"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"客户名称:"
prop=
"code"
>
<el-input
v-model=
"form.customerName"
:disabled=
"!showEdit"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"身份证号:"
prop=
"code"
>
<el-input
v-model=
"form.idCard"
:disabled=
"!showEdit"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"缴费形式:"
prop=
"name"
>
<el-select
v-model=
"form.paymentForm"
placeholder=
"请选择"
:disabled=
"!showEdit"
>
<el-option
v-for=
"item in PaymentForm"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:disabled=
"item.disabled"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"服务费总额:"
prop=
"code"
>
<el-input
v-model=
"form.serviceFeeTotal"
:disabled=
"!showEdit"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"服务期限:"
prop=
"code"
>
<el-input
v-model=
"form.serviceTerm"
:disabled=
"!showEdit"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"合同状态:"
prop=
"name"
>
<el-select
v-model=
"form.contractStatus"
placeholder=
"请选择"
:disabled=
"!showEdit"
>
<el-option
v-for=
"item in ContractStatus"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:disabled=
"item.disabled"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
class=
"w-full"
label=
"合同附件"
prop=
"code"
>
<el-upload
:action=
"url"
:headers=
"{timeout:180000}"
v-if=
"showModal"
v-model:file-list=
"form.contractScanFileList"
list-type=
"picture-card"
ref=
"mypictureRef"
class=
"mypicture"
:on-preview=
"handlePictureCardPreview"
:on-success=
"handleFileSuccess1"
:on-remove=
"handleRemove1"
>
<div
class=
"text-center"
>
<el-icon><Plus
/></el-icon>
<div>
合同相关附件
</div>
</div>
<
template
#
file=
"{ file }"
>
<img
class=
"el-upload-list__item-thumbnail"
:src=
"updataIf(file) ? getImageUrl() :file.url"
alt=
""
>
<span
class=
"el-upload-list__item-actions"
>
<!--
<span
class=
"el-upload-list__item-delete"
>
<el-icon
@
click=
"handleRemove1(file)"
>
<Delete
/>
</el-icon>
</span>
-->
<span
class=
"el-upload-list__item-preview"
>
<el-icon
v-if=
"updataIf(file)"
@
click=
"download(file.url)"
>
<Download
/>
</el-icon>
<el-icon
v-else
@
click=
"handlePictureCardPreview(file)"
>
<ZoomIn
/>
</el-icon>
</span>
</span>
</
template
>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<el-dialog
v-model=
"dialogVisible"
>
<img
w-full
:src=
"dialogImageUrl"
alt=
"Preview Image"
/>
</el-dialog>
</vxe-modal>
</template>
<
script
setup
name=
"credit"
>
import
{
ref
,
computed
}
from
'vue'
;
import
{
useDict
}
from
'@/hooks/useDict'
;
import
{
ElMessage
}
from
'element-plus'
;
import
{
inject
,
reactive
}
from
'vue'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
const
showEdit
=
ref
(
false
);
const
dialogImageUrl
=
ref
(
''
);
const
dialogVisible
=
ref
(
false
);
import
{
saveContract
}
from
'@/api/customer'
;
const
downloadfile
=
inject
(
'download'
);
import
{
useUserStore
}
from
'@/stores/modules/user'
;
const
showModal
=
ref
(
false
);
const
{
PaymentForm
,
ContractStatus
}
=
useDict
(
"PaymentForm"
,
"ContractStatus"
);
const
emits
=
defineEmits
([
'success'
]);
const
currentRow
=
ref
(
null
);
const
currentIndex
=
ref
(
null
);
const
props
=
defineProps
({
mergerCase
:
String
,
returnConfig
:
Array
,
returnData
:
Array
});
const
userStore
=
useUserStore
();
const
envs
=
getAppEnvConfig
();
const
url
=
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/upload'
;
const
form
=
reactive
({
contractNo
:
''
,
contractSignBody
:
''
,
businessName
:
''
,
customerName
:
''
,
paymentForm
:
''
,
serviceFeeTotal
:
''
,
serviceTerm
:
''
,
contractScanFile
:
''
,
contractStatus
:
''
,
contractScanFileList
:
[]
});
const
handlePictureCardPreview
=
(
uploadFile
)
=>
{
dialogImageUrl
.
value
=
uploadFile
.
url
;
dialogVisible
.
value
=
true
;
};
const
download
=
(
item
)
=>
{
const
name
=
item
.
slice
(
item
.
lastIndexOf
(
'/'
)
+
1
,
item
.
length
);
downloadfile
(
item
.
replace
(
envs
.
VITE_GLOB_API_URL_PREFIX
,
''
),
{},
name
);
};
const
handleFileSuccess1
=
(
response
,
file
,
fileList
)
=>
{
if
(
file
.
uid
)
{
const
item
=
form
.
contractScanFileList
.
find
((
v
)
=>
v
.
uid
===
file
.
uid
);
item
.
url
=
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/static/'
+
response
.
message
;
}
};
const
getImageUrl
=
()
=>
{
return
new
URL
(
`@/assets/images/file.svg`
,
import
.
meta
.
url
).
href
;
}
const
handleRemove1
=
(
uploadFile
,
uploadFiles
)
=>
{
const
index
=
form
.
images
.
findIndex
((
v
)
=>
v
.
name
===
uploadFile
.
name
);
form
.
images
.
splice
(
index
,
1
);
};
const
updataIf
=
(
e
)
=>
{
if
(
e
.
fileName
)
{
if
(
e
.
fileName
.
split
(
'.'
)[
1
]
===
'png'
||
e
.
fileName
.
split
(
'.'
)[
1
]
===
'jpeg'
||
e
.
fileName
.
split
(
'.'
)[
1
]
===
'jpg'
)
{
return
false
}
else
{
return
true
}
}
else
{
if
(
e
.
name
.
split
(
'.'
)[
1
]
===
'png'
||
e
.
name
.
split
(
'.'
)[
1
]
===
'jpeg'
||
e
.
name
.
split
(
'.'
)[
1
]
===
'jpg'
)
{
return
false
}
else
{
return
true
}
}
}
const
submitForm
=
async
()
=>
{
// if(!form.bank && form.bank !== 0) {
// return ElMessage.warning({
// message: '请填写发卡银行',
// plain: true,
// });
// }
// if(!form.quota && form.quota !== 0) {
// return ElMessage.warning({
// message: '请填写授信额度',
// plain: true,
// });
// }
let
images
=
JSON
.
parse
(
JSON
.
stringify
(
form
.
contractScanFileList
.
map
((
v
)
=>
v
.
url
)));
images
=
images
.
map
((
v
)
=>
{
return
v
.
replace
(
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/static/'
,
''
);
});
const
params
=
JSON
.
parse
(
JSON
.
stringify
({
...
form
,
contractScanFile
:
images
.
join
(
','
),
user
:
userStore
.
userInfo
}))
delete
params
.
contractScanFileList
saveContract
(
params
).
then
(
res
=>
{
if
(
res
.
success
)
{
return
ElMessage
.
success
({
message
:
'保存成功'
,
plain
:
true
,
});
showEdit
.
value
=
false
showModal
.
value
=
false
;
emits
(
'success'
);
}
})
};
const
delItem
=
()
=>
{
emits
(
'success'
,
form
,
currentIndex
.
value
,
'del'
);
showModal
.
value
=
false
;
}
const
openModal
=
(
row
,
index
)
=>
{
if
(
row
)
{
showEdit
.
value
=
false
form
=
JSON
.
parse
(
JSON
.
stringify
(
row
))
const
arr
=
form
.
contractScanFileList
.
split
(
','
)
form
.
contractScanFileList
=
arr
?
arr
.
map
((
v
)
=>
({
name
:
v
.
slice
(
v
.
lastIndexOf
(
'/'
)
+
1
,
v
.
length
),
url
:
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/static/'
+
v
,
}))
:
[];
}
else
{
showEdit
.
value
=
true
form
.
contractNo
=
''
form
.
contractSignBody
=
''
form
.
businessName
=
''
form
.
customerName
=
''
form
.
paymentForm
=
''
form
.
serviceFeeTotal
=
''
form
.
serviceTerm
=
''
form
.
contractScanFile
=
''
form
.
contractStatus
=
''
form
.
contractScanFileList
=
[]
}
currentRow
.
value
=
row
currentIndex
.
value
=
index
showModal
.
value
=
true
;
};
defineExpose
({
openModal
,
});
</
script
>
<
style
lang=
"scss"
scoped
>
table
{
width
:
calc
(
100%
);
border-collapse
:
collapse
;
}
td
{
border
:
1px
solid
rgba
(
5
,
5
,
5
,
0
.06
);
background
:
#fff
;
color
:
#606268
;
// width: 240px;
line-height
:
11px
;
height
:
40px
;
font-size
:
14px
;
padding-left
:
5px
;
&
.label
{
text-align
:
center
;
background
:
rgb
(
222
,
233
,
244
);
width
:
175px
;
color
:
#000
;
}
}
.addModel
{
:deep
(
.el-form-item__label
)
{
justify-content
:
flex-start
!
important
;
}
}
</
style
>
\ No newline at end of file
src/views/infoGather/constant/index.vue
0 → 100644
View file @
ee79a169
<
template
>
<div
class=
"table-box"
>
<ProTable
ref=
"proTable"
:config=
"config"
:api=
"getContractPage"
:paramCallback=
"paramCallback"
:selectdList=
"selectdList"
>
<template
#
left_buttons
>
<el-button
type=
"primary"
@
click=
"addConstant()"
>
新建合同
</el-button>
</
template
>
</ProTable>
<addModel
ref=
"addModelRef"
@
success=
"query"
></addModel>
</div>
</template>
<
script
setup
lang=
"jsx"
name=
"platformManage"
>
import
{
ref
,
reactive
,
onMounted
}
from
'vue'
;
import
{
Plus
,
Delete
,
Edit
,
Setting
}
from
'@element-plus/icons-vue'
;
import
{
getContractPage
}
from
'@/api/customer'
;
import
{
ElMessageBox
,
ElMessage
,
ElButton
,
ElTag
}
from
'element-plus'
;
import
{
useRouter
}
from
'vue-router'
;
import
addModel
from
'./components/addModel.vue'
;
import
{
useDict
}
from
'@/hooks/useDict'
;
const
{
PaymentForm
,
ContractStatus
}
=
useDict
(
"PaymentForm"
,
"ContractStatus"
);
const
addModelRef
=
ref
()
const
proTable
=
ref
(
null
);
const
selectdList
=
ref
([]);
const
onCheckboxChange
=
(
row
)
=>
{
selectdList
.
value
=
row
.
records
;
};
const
router
=
useRouter
();
const
paramCallback
=
(
param
)
=>
{
const
obj
=
JSON
.
parse
(
JSON
.
stringify
(
param
));
if
(
obj
[
'createTime'
])
{
if
(
obj
[
'createTime'
][
0
])
obj
[
'createTimeBegin'
]
=
obj
[
'createTime'
][
0
];
if
(
obj
[
'createTime'
][
1
])
obj
[
'createTimeEnd'
]
=
obj
[
'createTime'
][
1
];
delete
obj
[
'createTime'
];
}
return
obj
;
};
const
onCheckboxAll
=
(
flag
)
=>
{
if
(
flag
.
checked
)
{
selectdList
.
value
=
flag
.
records
;
}
else
{
selectdList
.
value
=
[];
}
};
const
addConstant
=
(
row
)
=>
{
addModelRef
.
value
.
openModal
(
row
);
};
const
config
=
reactive
({
onCheckboxChange
:
onCheckboxChange
,
onCheckboxAll
:
onCheckboxAll
,
columns
:
[
// { type: 'checkbox', width: 60,fixed: 'left' },
{
field
:
'id'
,
title
:
'档案编号'
,
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
return
(
<>
{
rowIndex
+
1
}
<
/
>
);
},
}
},
{
field
:
'id'
,
title
:
'合同编号'
,
search
:
{
labelWidth
:
85
,
el
:
'input'
},
slots
:
{
default
:
({
row
,
rowIndex
})
=>
{
return
(
<>
<
div
onClick
=
{()
=>
addConstant
(
row
)}
className
=
" text-blue-400 cursor-pointer inline-block"
>
{
row
.
contractNo
}
<
/div
>
<
/
>
);
},
}
},
{
field
:
'contractSignBody'
,
title
:
'合同签订主体'
,
search
:
{
labelWidth
:
85
,
el
:
'input'
}
},
{
field
:
'businessName'
,
title
:
'业务名称'
,
search
:
{
el
:
'input'
,
labelWidth
:
85
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'customerName'
,
title
:
'客户名称'
,
search
:
{
labelWidth
:
85
,
el
:
'input'
}
},
{
field
:
'idCard'
,
title
:
'身份证号'
,
search
:
{
labelWidth
:
85
,
el
:
'input'
}
},
{
field
:
'paymentForm'
,
title
:
'缴费形式'
,
showOverflow
:
'tooltip'
,
width
:
80
,
enum
:
PaymentForm
,
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
return
(
<>
{
row
.
paymentForm
?
PaymentForm
.
value
?.
find
((
v
)
=>
v
.
value
===
row
.
paymentForm
)?.
label
:
''
}
<
/
>
);
},
},
},
{
field
:
'serviceFeeTotal'
,
title
:
'服务费总额'
,
search
:
{
labelWidth
:
85
,
el
:
'input'
}
},
{
field
:
'serviceTerm'
,
title
:
'服务期限'
,
search
:
{
labelWidth
:
85
,
el
:
'input'
}
},
{
field
:
'contractScanFile'
,
title
:
'合同扫描件'
,
search
:
{
labelWidth
:
85
,
el
:
'input'
}
},
{
field
:
'createTime'
,
title
:
'创建日期'
,
search
:
{
el
:
'date-picker'
,
labelWidth
:
85
,
props
:
{
type
:
'daterange'
,
valueFormat
:
'YYYY-MM-DD'
},
},
},
{
field
:
'createBy'
,
title
:
'创建人'
},
{
field
:
'contractStatus'
,
title
:
'合同状态'
,
showOverflow
:
'tooltip'
,
width
:
80
,
enum
:
ContractStatus
,
fieldNames
:
{
label
:
'label'
,
value
:
'value'
},
slots
:
{
default
:
({
row
})
=>
{
return
(
<>
{
row
.
contractStatus
?
ContractStatus
.
value
?.
find
((
v
)
=>
v
.
value
===
row
.
contractStatus
)?.
label
:
''
}
<
/
>
);
},
},
},
{
field
:
'remark'
,
title
:
'操作'
,
fixed
:
'right'
,
slots
:
{
default
({
row
})
{
return
(
<>
<
ElButton
type
=
"primary"
link
onClick
=
{()
=>
addConstant
(
row
)}
>
修改
<
/ElButton
>
<
/
>
);
},
},
},
],
});
const
query
=
()
=>
proTable
.
value
?.
search
();
onMounted
(()
=>
{
query
();
});
</
script
>
src/views/infoGather/customerStatisis/index.vue
deleted
100644 → 0
View file @
dc7263d4
<
template
>
<div
class=
"card content-box"
>
<span
class=
"text"
>
客户信息统计表(待完善) 🍓🍇🍈🍉
</span>
</div>
</
template
>
<
script
setup
name=
"dictManage"
></
script
>
src/views/property/audit-manage/components/callDrawer.vue
View file @
ee79a169
...
...
@@ -431,7 +431,7 @@
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
showOverflow
:
'tooltip'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_merger_case
'
),
width
:
120
,
slots
:
{
default
:
({
row
})
=>
{
...
...
src/views/property/case-detail/components/callDrawer.vue
View file @
ee79a169
...
...
@@ -426,7 +426,7 @@
// {
// field: 'mergerCase',
// title: '是否共案处理',
// visible: authButtonListGet.includes('
allcation_for_tenant
'),
// visible: authButtonListGet.includes('
show_merger_case
'),
// showOverflow: 'tooltip',
// width: 120,
// slots: {
...
...
src/views/property/case-detail/components/reduceDrawer.vue
View file @
ee79a169
...
...
@@ -299,7 +299,7 @@
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_merger_case
'
),
showOverflow
:
'tooltip'
,
width
:
120
,
slots
:
{
...
...
src/views/property/case-detail/components/splitDrawer.vue
View file @
ee79a169
...
...
@@ -413,7 +413,7 @@
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_merger_case
'
),
showOverflow
:
'tooltip'
,
width
:
100
,
slots
:
{
...
...
@@ -426,7 +426,7 @@
field
:
'canStages'
,
title
:
'分期是否可修改'
,
showOverflow
:
'tooltip'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_can_stages
'
),
width
:
100
,
slots
:
{
default
:
({
row
})
=>
{
...
...
src/views/property/case-manage/index.vue
View file @
ee79a169
...
...
@@ -462,7 +462,6 @@
},
},
enum
:
()
=>
getTenantPage
({
current
:
1
,
size
:
999999999
,
status
:
'enable'
}),
search
:
authButtonListGet
.
includes
(
'allcation_for_tenant'
)
?
{
el
:
'select'
,
props
:
{
filterable
:
true
},
key
:
'tenant'
,
labelWidth
:
90
}
:
null
,
fieldNames
:
{
label
:
'name'
,
value
:
'id'
},
title
:
'调解中心'
,
width
:
100
,
...
...
src/views/workplace/audit/components/callDrawer.vue
View file @
ee79a169
...
...
@@ -438,7 +438,7 @@
{
field
:
'mergerCase'
,
title
:
'是否共案处理'
,
visible
:
authButtonListGet
.
includes
(
'
allcation_for_tenant
'
),
visible
:
authButtonListGet
.
includes
(
'
show_merger_case
'
),
showOverflow
:
'tooltip'
,
width
:
120
,
slots
:
{
...
...
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