From 7132270dbcb01808e205e108ad6bb87270dbe4b8 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Wed, 05 Feb 2025 13:42:43 +0800
Subject: [PATCH] 资质证书上传修改
---
src/layout/components/Register/index.vue | 73 ++++++++++++++++++++++++++----------
1 files changed, 52 insertions(+), 21 deletions(-)
diff --git a/src/layout/components/Register/index.vue b/src/layout/components/Register/index.vue
index de6d5b9..b386538 100644
--- a/src/layout/components/Register/index.vue
+++ b/src/layout/components/Register/index.vue
@@ -12,7 +12,7 @@
<el-form-item prop="agency.name" label="机构名称">
<el-input
:disabled="isAbleEdit"
- v-model="registerForm.agency.name"
+ v-model.trim="registerForm.agency.name"
size="large"
placeholder="请输入机构名称"
>
@@ -23,7 +23,7 @@
<el-form-item prop="agency.creditCode" label="社会信用代码">
<el-input
:disabled="isAbleEdit"
- v-model="registerForm.agency.creditCode"
+ v-model.trim="registerForm.agency.creditCode"
size="large"
placeholder="请输入社会信用代码"
>
@@ -55,7 +55,7 @@
<el-col :span="12">
<el-form-item prop="agency.address" label="实际经营地址">
<el-input
- v-model="registerForm.agency.address"
+ v-model.trim="registerForm.agency.address"
size="large"
placeholder="请输入实际经营地址"
/>
@@ -66,7 +66,7 @@
<el-col :span="12">
<el-form-item prop="agency.legalPerson" label="法定代表人">
<el-input
- v-model="registerForm.agency.legalPerson"
+ v-model.trim="registerForm.agency.legalPerson"
size="large"
placeholder="请输入法定代表人"
/>
@@ -75,7 +75,7 @@
<el-col :span="12">
<el-form-item prop="agency.legalPhone" label="法人电话">
<el-input
- v-model="registerForm.agency.legalPhone"
+ v-model.trim="registerForm.agency.legalPhone"
size="large"
placeholder="请输入法人电话"
/>
@@ -86,7 +86,7 @@
<el-col :span="12">
<el-form-item prop="agency.manager" label="机构负责人">
<el-input
- v-model="registerForm.agency.manager"
+ v-model.trim="registerForm.agency.manager"
size="large"
placeholder="请输入机构负责人"
/>
@@ -95,7 +95,7 @@
<el-col :span="12">
<el-form-item prop="agency.managerPhone" label="负责人电话">
<el-input
- v-model="registerForm.agency.managerPhone"
+ v-model.trim="registerForm.agency.managerPhone"
size="large"
placeholder="请输入负责人电话"
/>
@@ -106,7 +106,7 @@
<el-col :span="8">
<el-form-item prop="agency.certNumber" label="资质证书编号">
<el-input
- v-model="registerForm.agency.certNumber"
+ v-model.trim="registerForm.agency.certNumber"
size="large"
placeholder="请输入资质证书编号"
/>
@@ -115,7 +115,7 @@
<el-col :span="8">
<el-form-item prop="agency.issueDate" label="发证日期">
<el-date-picker
- v-model="registerForm.agency.issueDate"
+ v-model.trim="registerForm.agency.issueDate"
type="date"
placeholder="请选择发证日期"
value-format="YYYY-MM-DD 00:00:00"
@@ -127,7 +127,7 @@
<el-col :span="8">
<el-form-item prop="agency.validDate" label="有效日期">
<el-date-picker
- v-model="registerForm.agency.validDate"
+ v-model.trim="registerForm.agency.validDate"
type="date"
placeholder="请选择有效日期"
value-format="YYYY-MM-DD 00:00:00"
@@ -138,12 +138,12 @@
</el-col>
</el-row>
<el-row :gutter="30">
- <el-col :span="8">
+ <el-col :span="12">
<el-form-item prop="agency.certPath" label="资质证书">
<el-upload accept="image/*" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,'证书')" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='state.imgLimit' v-model:file-list="state.certList" list-type="picture-card" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,'证书')" >
<el-icon><Plus /></el-icon>
<template #tip>
- <div class="el-upload__tip">上传jpg/png图片尺寸小于5M,最多可上传1张</div>
+ <div class="el-upload__tip">上传jpg/png图片尺寸小于5M,最多可上传5张</div>
</template>
</el-upload>
</el-form-item>
@@ -153,7 +153,7 @@
<el-col :span="8">
<el-form-item prop="agency.assetValue" label="固定资产总值">
<el-input
- v-model="registerForm.agency.assetValue"
+ v-model.trim="registerForm.agency.assetValue"
type="number"
size="large"
placeholder="请输入固定资产总值"
@@ -164,7 +164,7 @@
<el-form-item prop="agency.workArea" label="工作场所建筑面积">
<el-input
type="number"
- v-model="registerForm.agency.workArea"
+ v-model.trim="registerForm.agency.workArea"
size="large"
placeholder="请输入工作场所建筑面积"
><template #append>㎡</template></el-input>
@@ -174,7 +174,7 @@
<el-form-item prop="agency.archiveArea" label="档案室面积">
<el-input
type="number"
- v-model="registerForm.agency.archiveArea"
+ v-model.trim="registerForm.agency.archiveArea"
size="large"
placeholder="请输入档案室面积"
><template #append>㎡</template></el-input>
@@ -185,7 +185,7 @@
<el-col :span="8">
<el-form-item prop="agency.regAddress" label="注册地址">
<el-input
- v-model="registerForm.agency.regAddress"
+ v-model.trim="registerForm.agency.regAddress"
size="large"
placeholder="请输入注册地址"
/>
@@ -334,7 +334,7 @@
busList: [],
fileList: [],
certList: [],
- imgLimit: 1,
+ imgLimit: 5,
uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile',
header: {
Authorization: 'Bearer ' + getToken()
@@ -502,6 +502,7 @@
{ required: true, validator: equalToPassword, trigger: "blur" }
]
};
+const cert = ref([])
const loading = ref(false)
const dialogVisible = ref(false)
@@ -559,7 +560,18 @@
state.fileList = imgUrl ? imgUrl.split(',').map(url => {return {url} }) : []
}
if(res.data.certPath) {
- const imgUrl = import.meta.env.VITE_APP_BASE_API + "/" + res.data.certPath
+ // cert.value.push(res.data.certPath)
+ const imgList = res.data.certPath.split(',')
+ cert.value = imgList
+ imgList.forEach((item,index) => {
+ if(item.includes(import.meta.env.VITE_APP_BASE_API)){
+
+ }else{
+ imgList[index] = import.meta.env.VITE_APP_BASE_API + "/" + item
+ }
+
+ })
+ const imgUrl = imgList.join(',')
state.certList = imgUrl ? imgUrl.split(',').map(url => {return {url} }) : []
}
@@ -615,6 +627,10 @@
}
const changeAttr=()=>{
+ state.registerForm.agency.area = []
+ state.registerForm.agency.province = ''
+ state.registerForm.agency.city = ''
+ state.registerForm.agency.district = ''
getArea()
}
@@ -648,7 +664,9 @@
if(type === '上报表'){
state.registerForm.agency.reportPath = res.data.path
}else {
- state.registerForm.agency.certPath = res.data.path
+ cert.value.push(res.data.path)
+ state.registerForm.agency.certPath = cert.value.join(',')
+ console.log('cert',cert.value)
}
}else{
@@ -660,11 +678,16 @@
}
const handleRemove = async (file, uploadFiles,type) => {
+ if(file && file.status == 'success'){
let path = '';
if(type === '上报表'){
path = state.registerForm.agency.reportPath;
}else {
- path = state.registerForm.agency.certPath;
+ path = file.url.substring(file.url.indexOf('upload'))
+ console.log('cert',cert.value)
+ cert.value = cert.value.filter(url => !file.url.includes(url))
+ state.registerForm.agency.certPath = cert.value.join(',')
+
}
const res = await delPic({path: path})
if(res.code == 200){
@@ -673,10 +696,12 @@
message: '文件已删除'
})
}else{
+
ElMessage({
type: 'warning',
message: res.message
})
+ }
}
}
@@ -688,6 +713,8 @@
const {confirmPassword,id, ...data} = JSON.parse(JSON.stringify(state.registerForm))
data.password = Base64.encode(data.password)
data.agency.business = data.agency.business.join(',')
+ const cert = state.certList.map(item => item.response ?item.response.data.path:item.url)
+ data.agency.certPath = cert.join(',')
delete data.agency.area
delete data.agency.id
register(data).then(res => {
@@ -721,11 +748,14 @@
const {confirmPassword, ...data} = JSON.parse(JSON.stringify(state.registerForm))
data.password = Base64.encode(data.password)
data.agency.business = data.agency.business.join(',')
+ console.log('rea',state.certList)
+ const cert = state.certList.map(item => item.response ?item.response.data.path:item.url)
+ data.agency.certPath = cert.join(',')
if(isReject.value) {
data.state = 1;
}
// delete data.agency.area
- console.log('data',data)
+ // console.log('data',data)
editAgency(data).then(res => {
if(res.code == 200){
ElMessage({
@@ -761,6 +791,7 @@
proxy.$refs.registerRef.clearValidate()
state.fileList = []
state.certList = []
+ cert.value = []
}
defineExpose({
--
Gitblit v1.9.2