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
abd750cd
Commit
abd750cd
authored
Jan 03, 2025
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
部分接口对接
parent
1c863f1d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
824 additions
and
223 deletions
+824
-223
property.js
src/api/property.js
+21
-0
index.vue
src/views/business-approval/repair-approve/index.vue
+43
-3
callDrawer.vue
src/views/property/case-detail/components/callDrawer.vue
+124
-55
repairModal.vue
src/views/property/case-detail/components/repairModal.vue
+7
-26
returnModal.vue
src/views/property/case-detail/components/returnModal.vue
+311
-0
index.vue
src/views/property/case-detail/index.vue
+230
-103
index.vue
src/views/property/case-manage/index.vue
+65
-23
index.vue
src/views/property/import/index.vue
+23
-13
No files found.
src/api/property.js
0 → 100644
View file @
abd750cd
import
request
from
'@/utils/http/index'
;
export
const
saveUser
=
(
data
)
=>
{
return
request
.
post
(
'/login/save'
,
data
);
};
export
const
getCreditPage
=
(
params
)
=>
{
return
request
.
get
(
'/Credit/page'
,
params
);
};
export
const
getCredit
=
(
id
)
=>
{
return
request
.
get
(
'/Credit/getById?id='
+
id
);
};
export
const
getTrackRecordPage
=
(
params
)
=>
{
return
request
.
get
(
'/TrackRecord/page'
,
params
);
};
export
const
saveTrackRecord
=
(
data
)
=>
{
return
request
.
post
(
'/TrackRecord/save'
,
data
);
};
src/views/business-approval/repair-approve/index.vue
View file @
abd750cd
<
template
>
<div
class=
"card content-box"
>
<span
class=
"text"
>
修复审批 🍓🍇🍈🍉
</span>
<div
class=
"table-box"
>
<ProTable
:config=
"config"
:data=
"tabledata"
:showPagination=
"false"
:showToolBar=
"true"
>
<template
#
left_buttons
>
<el-button
type=
"primary"
>
下载申请
</el-button>
<el-button
type=
"primary"
>
审批
</el-button>
<el-button
type=
"primary"
>
下载
</el-button>
<el-button
type=
"primary"
>
批量修复上传
</el-button>
</
template
>
</ProTable>
</div>
</template>
<
script
setup
name=
"systemLog"
></
script
>
<
script
setup
name=
"systemLog"
lang=
"jsx"
>
import
{
computed
}
from
'vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
const
tabledata
=
ref
([]);
const
config
=
computed
(()
=>
{
return
{
columns
:
[
{
type
:
'checkbox'
,
width
:
50
},
{
type
:
'seq'
,
width
:
50
},
{
field
:
'code'
,
title
:
'联系人姓名'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'code'
,
title
:
'与债权人关系'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'code'
,
title
:
'号码类型'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
],
};
});
tabledata
.
value
=
[
{
name
:
'admin'
,
code
:
'admin'
,
role
:
'superadmin'
,
num
:
1
},
{
name
:
'account1'
,
code
:
'account1'
,
role
:
'user'
,
num
:
1
},
{
name
:
'account2'
,
code
:
'account2'
,
role
:
'user'
,
num
:
1
},
{
name
:
'account3'
,
code
:
'account3'
,
role
:
'user'
,
num
:
1
},
];
</
script
>
src/views/property/case-detail/components/callDrawer.vue
View file @
abd750cd
This diff is collapsed.
Click to expand it.
src/views/property/case-detail/components/repairModal.vue
View file @
abd750cd
...
...
@@ -14,12 +14,12 @@
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
>
<el-form-item
class=
"w-full"
label=
"姓名:"
prop=
"name"
label-width=
"72px"
>
{{
current
Account
.
peopl
e
}}
{{
current
Detail
?.
borrower
?.
nam
e
}}
</el-form-item>
</el-col>
<el-col
:span=
"9"
>
<el-form-item
class=
"w-full"
label=
"身份证号:"
prop=
"code"
label-width=
"85px"
>
{{
current
Account
.
people
}}
{{
current
Detail
?.
borrower
?.
idCard
}}
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
...
...
@@ -44,21 +44,11 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"w-full"
label=
"修复前联系号码:"
prop=
"role"
label-width=
"140px"
>
{{
current
Account
.
people
}}
{{
current
Detail
.
people
}}
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
class=
"flex-1"
>
<ProTable
:config=
"config"
:data=
"tabledata"
:showPagination=
"false"
:showToolBar=
"true"
>
<template
#
left_buttons
>
<el-button
type=
"primary"
>
下载申请
</el-button>
<el-button
type=
"primary"
>
审批
</el-button>
<el-button
type=
"primary"
>
下载
</el-button>
<el-button
type=
"primary"
>
批量修复上传
</el-button>
</
template
>
</ProTable>
</div>
</div>
<template
#
footer
>
<el-button
type=
"default"
@
click=
"showModal = false"
>
取消
</el-button>
...
...
@@ -75,30 +65,21 @@
const
tabledata
=
ref
([]);
const
showModal
=
ref
(
false
);
const
current
Account
=
ref
({
people
:
0
,
case
:
0
,
money
:
0
});
const
current
Detail
=
ref
({
people
:
0
,
case
:
0
,
money
:
0
});
const
form
=
reactive
({
name
:
''
,
relation
:
''
,
});
const
radio
=
ref
(
0
);
const
step
=
ref
(
0
);
const
onHide
=
()
=>
{
current
Account
.
value
=
{
people
:
0
,
case
:
0
,
money
:
0
};
current
Detail
.
value
=
{
people
:
0
,
case
:
0
,
money
:
0
};
};
const
openModal
=
(
account
)
=>
{
showModal
.
value
=
true
;
currentAccount
.
value
=
{
people
:
333
,
case
:
44
,
money
:
1111
};
step
.
value
=
0
;
radio
.
value
=
0
;
currentDetail
.
value
=
{
people
:
333
,
case
:
44
,
money
:
1111
};
};
const
submitForm
=
()
=>
{
if
(
step
.
value
||
radio
.
value
===
0
)
{
}
else
{
step
.
value
=
1
;
}
};
const
submitForm
=
()
=>
{};
const
options
=
[
{
value
:
'Option1'
,
...
...
src/views/property/case-detail/components/returnModal.vue
0 → 100644
View file @
abd750cd
<
template
>
<vxe-modal
v-model=
"showModal"
:title=
"currentInfo.title"
@
hide=
"onHide"
height=
"482"
width=
"1003"
show-footer
esc-closable
>
<div
class=
"w-full px-3 h-full overflow-auto flex-col flex mytable"
>
<template
v-if=
"currentInfo.title === '结清减免还款' || currentInfo.title === '直接还款'"
>
<table
style=
"margin-bottom: 10px"
v-if=
"currentInfo.title === '结清减免还款'"
>
<tr>
<td
class=
"label"
>
减免类型
</td>
<td>
结清减免
</td>
<td
class=
"label"
>
减免申请ID
</td>
<td>
30
</td>
<td
class=
"label"
>
减免申请时间
</td>
<td>
30
</td>
</tr>
<tr>
<td
class=
"label"
>
减免金额(总计)
</td>
<td>
johndoe@example.com
</td>
<td
class=
"label"
>
减免案件数
</td>
<td>
johndoe@example.com
</td>
<td
class=
"label"
>
减免生效时间
</td>
<td>
johndoe@example.com
</td>
</tr>
<tr>
<td
class=
"label"
>
应还金额
</td>
<td
colspan=
"5"
>
John Doe
</td>
</tr>
<!-- Add more rows as needed -->
</table>
<table
style=
"margin-bottom: 10px"
v-else
>
<tr>
<td
class=
"label"
>
案件ID
</td>
<td>
1111
</td>
<td
class=
"label"
>
借款平台
</td>
<td>
30
</td>
<td
class=
"label"
>
资管公司
</td>
<td>
30
</td>
</tr>
<tr>
<td
class=
"label"
>
委案金额
</td>
<td>
johndoe@example.com
</td>
<td
class=
"label"
>
累计减免金额
</td>
<td>
johndoe@example.com
</td>
<td
class=
"label"
>
分期生效时间
</td>
<td>
johndoe@example.com
</td>
</tr>
<tr>
<td
class=
"label"
>
剩余待还金额
</td>
<td>
John Doe
</td>
<td
class=
"label"
>
累计还款金额
</td>
<td
colspan=
"3"
>
John Doe
</td>
</tr>
<!-- Add more rows as needed -->
</table>
<div>
<el-form
ref=
"formRef"
inline
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
class=
"w-full"
label=
"实际还款金额:"
prop=
"name"
>
<div>
<el-input
v-model=
"form.name"
placeholder=
"请输入"
style=
"width: 100%"
/>
<div
class=
"text-red-500"
>
*金额必须等于应还金额
</div>
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"w-full"
label=
"实际还款时间:"
prop=
"name"
>
<el-date-picker
v-model=
"form.datetime"
class=
"w-full"
format=
"YYYY-MM-DD HH:mm:ss"
type=
"datetime"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
v-if=
"currentInfo.title === '结清减免还款'"
>
<el-form-item
class=
"w-full"
label=
"付款凭证:"
prop=
"name"
>
<el-upload
v-model:file-list=
"form.files"
:action=
"url"
list-type=
"picture-card"
class=
"mypicture"
:on-success=
"handleFileSuccess"
:auto-upload=
"true"
:on-remove=
"handleRemove"
>
<div
class=
"text-center"
>
<el-icon><Plus
/></el-icon>
<div>
付款相关附件
</div>
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</
template
>
<
template
v-if=
"currentInfo.title === '分期还款'"
>
<table
style=
"margin-bottom: 10px"
>
<tr>
<td
class=
"label"
>
分期申请ID
</td>
<td>
1111
</td>
<td
class=
"label"
>
还款总额
</td>
<td>
30
</td>
<td
class=
"label"
>
分期申请时间
</td>
<td>
30
</td>
</tr>
<tr>
<td
class=
"label"
>
还款期数
</td>
<td>
johndoe@example.com
</td>
<td
class=
"label"
>
首期还款日
</td>
<td>
johndoe@example.com
</td>
<td
class=
"label"
>
分期生效时间
</td>
<td>
johndoe@example.com
</td>
</tr>
<tr>
<td
class=
"label"
>
期次
</td>
<td>
111
</td>
<td
class=
"label"
>
期次还款到期日
</td>
<td
colspan=
"3"
>
John Doe
</td>
</tr>
<tr>
<td
class=
"label"
>
期次应还金额
</td>
<td>
111
</td>
<td
class=
"label"
>
期次还款状态
</td>
<td
colspan=
"3"
>
John Doe
</td>
</tr>
</table>
<div
class=
"flex"
>
<div
class=
"w-2/5 pr-11"
>
<el-form
ref=
"formRef"
inline
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
class=
"w-full"
label=
"实际还款时间:"
prop=
"name"
>
<el-date-picker
v-model=
"form.datetime"
class=
"w-full"
format=
"YYYY-MM-DD HH:mm:ss"
type=
"datetime"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
class=
"w-full"
label=
"实际还款金额:"
prop=
"name"
>
<div
class=
"w-full"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入"
class=
"w-full"
/>
<div
class=
"text-red-500"
>
*金额必须等于应还金额
</div>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div
class=
"w-3/5"
>
<ProTable
:config=
"config"
:data=
"tabledata"
:showPagination=
"false"
:showToolBar=
"false"
/>
</div>
</div>
</
template
>
</div>
<
template
#
footer
>
<el-button
type=
"default"
@
click=
"showModal = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确定
</el-button>
</
template
>
</vxe-modal>
</template>
<
script
setup
lang=
"jsx"
name=
"allocationModal"
>
import
{
computed
}
from
'vue'
;
import
dayjs
from
'dayjs'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
const
envs
=
getAppEnvConfig
();
const
data
=
ref
([]);
const
mytransfer
=
ref
();
const
tabledata
=
ref
([]);
const
url
=
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/upload'
;
const
showModal
=
ref
(
false
);
const
currentInfo
=
ref
({
title
:
'结清减免还款'
,
case
:
0
,
money
:
0
});
const
form
=
reactive
({
name
:
''
,
files
:
[],
datetime
:
dayjs
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
});
const
radio
=
ref
(
0
);
const
step
=
ref
(
0
);
const
onHide
=
()
=>
{
currentInfo
.
value
=
{
title
:
'结清减免还款'
,
case
:
0
,
money
:
0
};
};
const
openModal
=
(
account
)
=>
{
showModal
.
value
=
true
;
currentInfo
.
value
=
{
title
:
'分期还款'
,
case
:
44
,
money
:
1111
};
step
.
value
=
0
;
radio
.
value
=
0
;
};
const
submitForm
=
()
=>
{
if
(
step
.
value
||
radio
.
value
===
0
)
{
}
else
{
step
.
value
=
1
;
}
};
const
handleRemove
=
(
uploadFile
,
uploadFiles
)
=>
{
console
.
log
(
uploadFile
,
uploadFiles
);
};
const
handlePictureCardPreview
=
(
uploadFile
)
=>
{
dialogImageUrl
.
value
=
uploadFile
.
url
;
dialogVisible
.
value
=
true
;
};
const
options
=
[
{
value
:
'Option1'
,
label
:
'Option1'
,
},
{
value
:
'Option2'
,
label
:
'Option2'
,
},
{
value
:
'Option3'
,
label
:
'Option3'
,
},
{
value
:
'Option4'
,
label
:
'Option4'
,
},
{
value
:
'Option5'
,
label
:
'Option5'
,
},
];
const
handleFileSuccess
=
(
response
,
file
,
fileList
)
=>
{
console
.
log
(
'888877'
,
response
,
file
,
fileList
);
};
const
config
=
computed
(()
=>
{
return
{
toolbarConfig
:
{
enabled
:
false
},
columns
:
[
{
field
:
'code'
,
title
:
'案件ID'
,
},
{
field
:
'code'
,
title
:
'借款机构'
,
},
{
field
:
'code'
,
title
:
'剩余待还金额'
,
},
],
};
});
tabledata
.
value
=
[
{
name
:
'admin'
,
code
:
'admin'
,
role
:
'superadmin'
,
num
:
1
},
{
name
:
'account1'
,
code
:
'account1'
,
role
:
'user'
,
num
:
1
},
{
name
:
'account2'
,
code
:
'account2'
,
role
:
'user'
,
num
:
1
},
{
name
:
'account3'
,
code
:
'account3'
,
role
:
'user'
,
num
:
1
},
];
defineExpose
({
openModal
,
});
</
script
>
<
style
lang=
"scss"
scoped
>
.box-title
{
font-weight
:
600
;
font-size
:
18px
;
color
:
#000000
;
line-height
:
45px
;
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.06
);
margin-bottom
:
10px
;
}
.mytable
{
.el-form-item
{
margin-right
:
0
;
}
table
{
width
:
100%
;
border-collapse
:
collapse
;
}
td
{
border
:
1px
solid
rgba
(
5
,
5
,
5
,
0
.06
);
background
:
#fff
;
padding
:
8px
;
width
:
240px
;
&
.label
{
width
:
160px
;
background
:
#f5f7f9
;
}
}
}
.mypicture
{
:deep
(
.el-upload--picture-card
)
{
width
:
100px
;
height
:
100px
;
}
}
</
style
>
src/views/property/case-detail/index.vue
View file @
abd750cd
This diff is collapsed.
Click to expand it.
src/views/property/case-manage/index.vue
View file @
abd750cd
<
template
>
<div
class=
"card content-box"
>
<div
class=
"table-inner"
>
<ProTable
:config=
"config"
:data=
"data"
ref=
"caseLRef"
>
<template
#
table_top
>
<ProTable
:config=
"config"
ref=
"caseLRef"
:api=
"getCreditPage"
>
<!--
<ProTable
:config=
"config"
ref=
"caseLRef"
:data=
"data"
>
-->
<!--
<template
#
table_top
>
<div
class=
"topgrp"
>
<div
class=
"topbox"
>
<div
class=
"topinner"
>
...
...
@@ -11,105 +12,145 @@
</div>
</div>
</div>
</
template
>
</
template
>
-->
</ProTable>
</div>
<caseModal
ref=
"caseModalRef"
/>
</div>
</template>
<
script
setup
name=
"case-manage"
>
<
script
setup
name=
"case-manage"
lang=
"jsx"
>
import
caseModal
from
'./components/caseModal.vue'
;
import
{
useRouter
}
from
'vue-router'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
getCreditPage
}
from
'@/api/property'
;
const
caseModalRef
=
ref
();
const
caseLRef
=
ref
();
import
{
onMounted
}
from
'vue'
;
const
router
=
useRouter
();
const
options
=
ref
([]);
const
onCellClick
=
({
row
,
rowIndex
})
=>
{
let
obj
=
JSON
.
stringify
(
row
);
router
.
push
({
path
:
'/property/case-detail'
,
query
:
{
i
tem
:
obj
},
//这里不能直接写成 query: JSON.stringify(item)
query
:
{
i
d
:
row
.
id
},
//这里不能直接写成 query: JSON.stringify(item)
});
};
const
config
=
reactive
({
columns
:
[
{
field
:
'
name'
,
title
:
'案件ID'
,
search
:
{
el
:
'input'
}
},
{
field
:
'
id'
,
title
:
'案件ID'
,
search
:
{
el
:
'input'
},
width
:
80
},
{
field
:
'code'
,
title
:
'借款机构'
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'code'
,
title
:
'资管公司'
,
width
:
100
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'role'
,
title
:
'借款人姓名'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
width
:
120
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
slots
:
{
default
:
({
row
})
=>
{
return
<>
{
row
?.
borrower
?.
name
}
<
/>
;
},
},
},
},
{
field
:
'role'
,
title
:
'身份证'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
width
:
140
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
slots
:
{
default
:
({
row
})
=>
{
return
<>
{
row
?.
borrower
?.
idCard
}
<
/>
;
},
},
},
},
{
field
:
'role'
,
title
:
'手机号'
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'role'
,
width
:
140
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
},
slots
:
{
default
:
({
row
})
=>
{
return
<>
{
row
?.
borrower
?.
phone
}
<
/>
;
},
},
},
},
{
field
:
'loanAmount'
,
title
:
'委案金额'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'role'
,
title
:
'累计还款金额'
,
width
:
110
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'role'
,
title
:
'累计减免金额'
,
width
:
110
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'role'
,
title
:
'剩余待还金额'
,
width
:
110
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'role'
,
title
:
'CPE'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'role'
,
title
:
'分配CPE日期'
,
width
:
110
,
search
:
{
el
:
'date-picker'
,
props
:
{
type
:
'date'
,
valueFormat
:
'YYYY-MM-DD'
}
},
},
{
field
:
'
rol
e'
,
field
:
'
principalBalanc
e'
,
title
:
'本金余额'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'
role
'
,
field
:
'
debitInterest
'
,
title
:
'欠息额'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'
role
'
,
field
:
'
commission
'
,
title
:
'手续费'
,
width
:
80
,
search
:
{
el
:
'input'
,
props
:
{
clearable
:
true
}
},
},
{
field
:
'role'
,
title
:
'跟进结果'
,
width
:
80
,
enum
:
options
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
fieldNames
:
{
label
:
'genderLabel'
,
value
:
'genderValue'
},
...
...
@@ -117,13 +158,15 @@
{
field
:
'role'
,
title
:
'跟进状态'
,
width
:
80
,
enum
:
options
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
fieldNames
:
{
label
:
'genderLabel'
,
value
:
'genderValue'
},
},
{
field
:
'
role
'
,
field
:
'
creditStatus
'
,
title
:
'案件状态'
,
width
:
80
,
enum
:
options
,
search
:
{
el
:
'select'
,
props
:
{
filterable
:
true
},
span
:
1
},
fieldNames
:
{
label
:
'genderLabel'
,
value
:
'genderValue'
},
...
...
@@ -141,12 +184,11 @@
console
.
log
(
'111'
,
caseLRef
.
value
.
element
.
getCheckboxRecords
());
caseModalRef
.
value
.
openModal
(
JSON
.
parse
(
JSON
.
stringify
(
row
)));
};
const
data
=
[
{
name
:
'admin'
,
code
:
'admin'
,
role
:
'superadmin'
},
{
name
:
'account1'
,
code
:
'account1'
,
role
:
'user'
},
{
name
:
'account2'
,
code
:
'account2'
,
role
:
'user'
},
{
name
:
'account3'
,
code
:
'account3'
,
role
:
'user'
},
];
const
query
=
()
=>
caseLRef
.
value
?.
search
();
onMounted
(()
=>
{
query
();
});
</
script
>
<
style
lang=
"scss"
scoped
>
.table-inner
{
...
...
src/views/property/import/index.vue
View file @
abd750cd
<
template
>
<div
class=
"table-box"
>
<div
class=
"card flex mb-2"
>
<div
class=
"flex-1"
>
<div
class=
"flex-1
pr-3
"
>
<div
class=
"mb-1"
>
1、上传文件
</div>
<div>
<el-upload
...
...
@@ -12,7 +12,8 @@
accept=
".xls, .xlsx"
:limit=
"1"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
:on-remove=
"handleRemove"
:auto-upload=
"true"
:on-progress=
"uploadVideoProcess"
>
<el-button
type=
"primary"
plain
:icon=
"Upload"
>
上传文件
</el-button>
...
...
@@ -27,7 +28,7 @@
<div
class=
"mb-1"
>
2、检查数据
</div>
<div>
<div
class=
"flex items-center"
>
<el-button
type=
"danger"
>
检查
</el-button>
<el-button
type=
"danger"
:disabled=
"!form.path"
@
click=
"checkData"
>
检查
</el-button>
<span
class=
"ml-2"
>
通过
</span>
</div>
<!-- 进度条 -->
...
...
@@ -53,16 +54,16 @@
</el-select>
</el-form-item>
</el-form>
<el-button
type=
"primary"
>
上传
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
>
上传
</el-button>
</div>
</div>
</div>
<div>
<ProTable
:config=
"config"
:data=
"data"
>
<!-- 表格 header 按钮 -->
<template
#
left_buttons
>
<
!--
<
template
#
left_buttons
>
<el-button
type=
"primary"
>
新增菜单
</el-button>
</
template
>
</
template
>
-->
</ProTable>
</div>
<caseDetailModal
ref=
"caseDetailModalRef"
/>
...
...
@@ -70,11 +71,14 @@
</template>
<
script
setup
lang=
"jsx"
name=
"import"
>
import
{
getAppEnvConfig
}
from
'@/utils/env'
;
import
caseDetailModal
from
'./components/caseDetailModal.vue'
;
import
{
reactive
,
ref
}
from
'vue'
;
import
{
computed
}
from
'vue'
;
import
{
ElButton
}
from
'element-plus'
;
import
{
Upload
,
Delete
}
from
'@element-plus/icons-vue'
;
const
envs
=
getAppEnvConfig
();
const
progressFlag
=
ref
(
false
);
const
proTable
=
ref
(
undefined
);
const
options
=
ref
([]);
...
...
@@ -171,25 +175,31 @@
],
});
const
form
=
reactive
({
name
:
''
,
path
:
''
,
code
:
''
,
role
:
''
,
});
const
upload
=
reactive
({
// 是否禁用上传
isUploading
:
false
,
// 设置上传的请求头部
// headers: { Authorization: "Bearer " + getToken() },
headers
:
{},
// 上传的地址
url
:
'/mes/dv/machinery/importData
'
,
url
:
envs
.
VITE_GLOB_API_URL_PREFIX
+
'/sys/upload
'
,
});
console
.
log
(
'upload'
,
upload
);
const
uploadVideoProcess
=
(
event
,
file
,
fileList
)
=>
{
upload
.
isUploading
=
true
;
};
const
checkData
=
()
=>
{};
const
submitData
=
()
=>
{
uploadRef
.
value
.
clearFiles
();
form
.
path
=
''
;
};
const
handleFileSuccess
=
(
response
,
file
,
fileList
)
=>
{
form
.
path
=
response
.
message
;
upload
.
isUploading
=
false
;
uploadRef
.
value
.
clearFiles
();
};
const
handleRemove
=
()
=>
{
form
.
path
=
''
;
};
const
linkZK
=
(
row
)
=>
{
caseDetailModalRef
.
value
.
openModal
(
JSON
.
parse
(
JSON
.
stringify
(
row
)));
...
...
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