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
647a7c43
Commit
647a7c43
authored
Feb 28, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分期审批和减免审批
parent
8a5f2628
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
21 deletions
+59
-21
splitDrawer.vue
...iness-approval/by-stages-apply/components/splitDrawer.vue
+16
-12
reduceDrawer.vue
...ness-approval/reduction-apply/components/reduceDrawer.vue
+36
-8
reduceDrawer.vue
src/views/property/case-detail/components/reduceDrawer.vue
+7
-0
splitDrawer.vue
src/views/property/case-detail/components/splitDrawer.vue
+0
-1
No files found.
src/views/business-approval/by-stages-apply/components/splitDrawer.vue
View file @
647a7c43
...
...
@@ -57,13 +57,20 @@
</VxeTooltip>
</td>
<td
class=
"label"
>
调解中心
</td>
<td><VxeTooltip
<td
v-if=
"currentDetail?.tenant?.name"
><VxeTooltip
:content=
"currentDetail?.tenant?.name"
>
<VxeTextEllipsis
:content=
"currentDetail?.tenant?.name"
></VxeTextEllipsis>
</VxeTooltip></td>
<td
v-else
><VxeTooltip
:content=
"Array.from(new Set(currentDetail.loans.map((v) => v?.tenant?.name))).join(',')"
>
<VxeTextEllipsis
:content=
"Array.from(new Set(currentDetail.loans.map((v) => v?.tenant?.name))).join(',')"
></VxeTextEllipsis>
</VxeTooltip></td>
</tr>
<tr>
<td
class=
"label"
>
申请CPE
</td>
...
...
@@ -617,17 +624,14 @@
caselistBy
=
res1
.
result
}
const
caselist
=
detail
.
loans
||
[]
if
(
caselist
.
length
!==
caselistBy
.
length
)
{
caselistBy
.
forEach
(
case1
=>
{
const
item
=
caselist
.
find
(
aa
=>
aa
.
id
===
case1
.
id
)
if
(
item
)
{
item
[
'checked'
]
=
true
}
else
{
caselist
.
push
(
case1
)
}
})
}
caselistBy
.
forEach
(
case1
=>
{
const
item
=
caselist
.
find
(
aa
=>
aa
.
id
===
case1
.
id
)
if
(
item
)
{
item
[
'checked'
]
=
true
}
else
{
caselist
.
push
(
case1
)
}
})
const
selectArr
=
caselist
.
filter
(
v
=>
v
.
checked
)
console
.
log
(
'selectArr'
,
selectArr
)
showModal
.
value
=
true
;
...
...
src/views/business-approval/reduction-apply/components/reduceDrawer.vue
View file @
647a7c43
...
...
@@ -21,18 +21,18 @@
<div
:class=
"{nopending: currentDetail.flowStatus !== 'pending'}"
>
<el-timeline
style=
"max-width: 600px"
>
<el-timeline-item
:timestamp=
"currentDetail?.
create
Time"
:timestamp=
"currentDetail?.
apply
Time"
color=
"#234ca3"
>
<p
class=
" font-bold text-sm"
>
发起人
</p>
<span
class=
"text-xs bg-gray-200 rounded-sm text-slate-900 px-2"
>
{{currentDetail?.
cpe
?.username}}
</span>
<span
class=
"text-xs bg-gray-200 rounded-sm text-slate-900 px-2"
>
{{currentDetail?.
applyUser
?.username}}
</span>
</el-timeline-item>
<el-timeline-item
:timestamp=
"currentDetail?.
create
Time"
:timestamp=
"currentDetail?.
repair
Time"
:color=
"currentDetail.flowStatus !== 'pending' ? '#234ca3' : null"
>
<p
class=
" font-bold text-sm"
>
平台审批环节
</p>
<span
class=
"text-xs bg-gray-200 rounded-sm text-slate-900 px-2"
>
{{currentDetail?.createBy
}}
</span>
<span
class=
"text-xs bg-gray-200 rounded-sm text-slate-900 px-2"
v-if=
"currentDetail.flowStatus !== 'pending'"
>
{{currentDetail?.repairUser?.username
}}
</span>
</el-timeline-item>
</el-timeline>
</div>
...
...
@@ -202,12 +202,19 @@
import
{
saveReduce
}
from
'@/api/property'
;
import
{
ElMessage
,
ElTag
}
from
'element-plus'
;
import
{
Download
,
ZoomIn
}
from
'@element-plus/icons-vue'
;
import
{
listByBorrower
}
from
'@/api/property'
;
import
{
onMounted
}
from
'vue'
;
import
{
watch
}
from
'vue'
;
import
Decimal
from
'decimal.js'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
useDict
}
from
'@/hooks/useDict'
;
import
{
inject
}
from
'vue'
;
import
{
useUserStore
}
from
'@/stores/modules/user'
;
const
userStore
=
useUserStore
();
const
envs
=
getAppEnvConfig
();
const
{
PhoneResultStatus
,
ReduceType
,
FlowStatus
,
FollowStatus
,
AuditStatus
,
CaseStatus
}
=
useDict
(
"PhoneResultStatus"
,
"ReduceType"
,
"FlowStatus"
,
"FollowStatus"
,
"AuditStatus"
,
"CaseStatus"
);
const
emits
=
defineEmits
([
'success'
]);
...
...
@@ -424,8 +431,22 @@
);
});
};
const
openModal
=
(
detail
)
=>
{
const
openModal
=
async
(
detail
)
=>
{
let
caselistBy
=
[]
const
res1
=
await
listByBorrower
(
detail
?.
borrower
?.
id
)
if
(
res1
.
success
&&
res1
.
result
)
{
caselistBy
=
res1
.
result
.
map
(
v
=>
({
loan
:
v
,
caseId
:
v
.
caseId
,
reduceAmount
:
0
}))
}
const
caselist
=
detail
.
reduceRecords
caselistBy
.
forEach
(
case1
=>
{
const
item
=
caselist
.
find
(
aa
=>
aa
.
loan
.
id
===
case1
.
loan
.
id
)
if
(
item
)
{
item
[
'checked'
]
=
true
}
else
{
caselist
.
push
(
case1
)
}
})
const
selectArr
=
caselist
.
filter
(
v
=>
v
.
checked
)
showModal
.
value
=
true
;
currentDetail
.
value
=
detail
;
form
.
totalReduceAmount
=
detail
.
totalReduceAmount
;
...
...
@@ -441,16 +462,18 @@
url
:
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/static/'
+
v
,
}))
:
[];
selectArr
.
forEach
((
item
)
=>
{
form
[
'commissionAmount'
]
=
Decimal
(
form
[
'commissionAmount'
]).
add
(
Decimal
(
item
.
loan
.
commissionAmount
))
});
caselist
.
forEach
((
item
)
=>
{
item
[
'payAmount'
]
=
Decimal
(
item
.
loan
.
remainingAmount
).
sub
(
Decimal
(
item
.
reduceAmount
));
form
[
'commissionAmount'
]
=
Decimal
(
form
[
'commissionAmount'
]).
add
(
Decimal
(
item
.
loan
.
commissionAmount
))
});
tabledata
.
value
=
caselist
;
form
.
totalNumber
=
detail
.
totalNumber
;
setTimeout
(()
=>
{
if
(
ProTableRef
.
value
.
element
)
{
ProTableRef
.
value
.
element
.
set
AllCheckboxRow
(
true
);
selectdList
.
value
=
caselist
;
ProTableRef
.
value
.
element
.
set
CheckboxRow
(
selectArr
,
true
);
selectdList
.
value
=
selectArr
;
}
},
500
);
};
...
...
@@ -468,6 +491,11 @@
const
params
=
{
...
currentDetail
.
value
,
askForStatus
:
'Pending'
,
repairTime
:
dayjs
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
repairUser
:
{
username
:
userStore
.
userInfo
?.
username
,
id
:
userStore
.
userInfo
?.
id
,
},
flowStatus
:
type
,
...
form
,
images
:
images
.
length
>
0
?
images
:
null
,
...
...
src/views/property/case-detail/components/reduceDrawer.vue
View file @
647a7c43
...
...
@@ -158,8 +158,10 @@
import
Decimal
from
'decimal.js'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
{
useDict
}
from
'@/hooks/useDict'
;
import
{
useUserStore
}
from
'@/stores/modules/user'
;
import
{
inject
}
from
'vue'
;
const
envs
=
getAppEnvConfig
();
const
userStore
=
useUserStore
();
const
{
PhoneResultStatus
,
ReduceType
,
FlowStatus
,
FollowStatus
,
AuditStatus
,
CaseStatus
}
=
useDict
(
"PhoneResultStatus"
,
"ReduceType"
,
"FlowStatus"
,
"FollowStatus"
,
"AuditStatus"
,
"CaseStatus"
);
const
emits
=
defineEmits
([
'success'
]);
const
url
=
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/upload'
;
...
...
@@ -423,6 +425,11 @@
askForStatus
:
'Pending'
,
flowStatus
:
'pending'
,
...
form
,
applyTime
:
dayjs
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
applyUser
:
{
username
:
userStore
.
userInfo
?.
username
,
id
:
userStore
.
userInfo
?.
id
,
},
images
:
images
.
length
>
0
?
images
:
null
,
reduceRecords
:
list
,
};
...
...
src/views/property/case-detail/components/splitDrawer.vue
View file @
647a7c43
...
...
@@ -190,7 +190,6 @@
const
userStore
=
useUserStore
();
const
{
PhoneResultStatus
,
RepayStatus
,
FlowStatus
,
FollowStatus
,
AuditStatus
,
CaseStatus
}
=
useDict
(
"PhoneResultStatus"
,
"RepayStatus"
,
"FlowStatus"
,
"FollowStatus"
,
"AuditStatus"
,
"CaseStatus"
);
const
envs
=
getAppEnvConfig
();
const
username
=
computed
(()
=>
userStore
.
userInfo
?.
username
);
const
url
=
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/upload'
;
const
ProTableRef
=
ref
();
...
...
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