wangqiang 1 éve
szülő
commit
1bba0ab260

+ 7 - 0
src/api/human/depart/DepartRegistrationService.js

@@ -51,4 +51,11 @@ export default {
 			params: {}
 		})
 	},
+	selectContractStartDate () {
+		return request({
+			url: prefix + '/departRegistration/selectContractStartDate',
+			method: 'get',
+			params: {}
+		})
+	},
 }

+ 2 - 2
src/views/calendar/MyCalendar.vue

@@ -11,8 +11,7 @@
 					<el-tag
 						@click.stop="handleEventClick(event)"
 						v-if="
-							moment(data.day).format('YYYY-MM-DD HH:mm:ss') ===
-							event.startDate
+							data.day === event.startDate.substring(0, 10)
 						"
 					>
 						{{ event.title }}
@@ -60,6 +59,7 @@ export default {
 		},
 		refreshList() {
 			myCalendarService.list().then((data) => {
+				console.log('data', data)
 				this.calendarEvents = data;
 			});
 		},

+ 8 - 0
src/views/human/depart/registration/DepartRegistrationAddForm.vue

@@ -236,6 +236,14 @@
 						if (this.commonJS.isEmpty(this.inputForm.department)){
 							this.inputForm.department = this.$store.state.user.office.id
 						}
+
+						if (this.commonJS.isEmpty(this.inputForm.arrivalDate)) {
+							//去后台查询他入职登记时的入职日期
+							departRegistrationService.selectContractStartDate().then((data) => {
+								this.inputForm.arrivalDate = data
+							})
+						}
+
 						this.loading = false
 					})
 				})

+ 423 - 10
src/views/human/enrollment/registration/EnrollmentRegistrationEditForm.vue

@@ -285,7 +285,7 @@
 								</el-row>
 							</el-form>
 							<el-form v-else-if="inputForm.type !== '0'" style="width: 100%" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
-
+									:disabled="true"
 									 label-width="110px" @submit.native.prevent>
 								<el-row :gutter="26">
 									<el-col :span="12">
@@ -570,6 +570,221 @@
 								</el-form-item>
 							</el-col>
 						</el-row>
+						<el-divider content-position="left"><i class="el-icon-document"></i> 中信银行卡信息</el-divider>
+						<el-row :gutter="26">
+							<el-col :span="12">
+								<el-form-item label="中信银行卡号" prop="zxBankCardNumber" :rules="[{required: true, message: '中信银行卡号不能为空', trigger: 'blur'}]">
+									<el-input v-model="inputForm.zxBankCardNumber" @change="checkBankNumber(inputForm.zxBankCardNumber,'zx')" maxlength="19"></el-input>
+								</el-form-item>
+							</el-col>
+							<el-col :span="12">
+								<el-form-item label="开户行" prop="zxAccountHolder" :rules="[{required: true, message: '开户行不能为空', trigger: 'blur'}]">
+									<el-input v-model="inputForm.zxAccountHolder" ></el-input>
+								</el-form-item>
+							</el-col>
+							<el-col :span="12">
+								<el-form-item label="银行卡正面" prop="accountHolderFront" :rules="[
+						{required: true, message: '银行卡正面不能为空', trigger: 'blur'}
+					]">
+									<el-upload :action="`${$http.BASE_URL}/public-modules-server/oss/file/webUpload/upload`"
+											   :limit="limitNum"
+											   :disabled="bankHideUploadEdit"
+											   list-type="picture-card"
+											   :auto-upload="true"
+											   :on-success="bankHandleUploadSuccess"
+											   v-model:file-list="bankFileList"
+									>
+										<el-icon><Plus /></el-icon>
+
+										<template #file="{ file }">
+											<div>
+												<img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
+												<span class="el-upload-list__item-actions">
+										  <span
+											  class="el-upload-list__item-preview"
+											  @click="bankHandlePictureCardPreview(file)"
+										  >
+											<el-icon><zoom-in /></el-icon>
+										  </span>
+										  <span
+											  v-if="!disabled"
+											  class="el-upload-list__item-delete"
+											  @click="bankHandleDownload(file)"
+										  >
+											<el-icon><Download /></el-icon>
+										  </span>
+										  <span
+											  v-if="!(method === 'view')"
+											  class="el-upload-list__item-delete"
+											  @click="bankHandleRemove(file,fileList)"
+										  >
+											<el-icon><Delete /></el-icon>
+										  </span>
+									</span>
+											</div>
+										</template>
+									</el-upload>
+									<el-dialog v-model="bankDialogVisible">
+										<img w-full :src="inputForm.accountHolderFrontUrl" alt="Preview Image" :style="{ maxWidth: '100%', maxHeight: '100%' }"/>
+									</el-dialog>
+								</el-form-item>
+							</el-col>
+							<el-col :span="12">
+								<el-form-item label="银行卡反面" prop="accountHolderOpposite" :rules="[
+						{required: true, message: '银行卡反面不能为空', trigger: 'blur'}
+					]">
+									<el-upload :action="`${$http.BASE_URL}/public-modules-server/oss/file/webUpload/upload`"
+											   :limit="limitNum"
+											   :disabled="bankHideUploadEdit2"
+											   list-type="picture-card"
+											   :auto-upload="true"
+											   :on-success="bankHandleUploadSuccess2"
+											   v-model:file-list="bankFileList2"
+									>
+										<el-icon><Plus /></el-icon>
+
+										<template #file="{ file }">
+											<div>
+												<img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
+												<span class="el-upload-list__item-actions">
+										  <span
+											  class="el-upload-list__item-preview"
+											  @click="bankHandlePictureCardPreview2(file)"
+										  >
+											<el-icon><zoom-in /></el-icon>
+										  </span>
+										  <span
+											  v-if="!disabled"
+											  class="el-upload-list__item-delete"
+											  @click="bankHandleDownload2(file)"
+										  >
+											<el-icon><Download /></el-icon>
+										  </span>
+										  <span
+											  v-if="!(method === 'view')"
+											  class="el-upload-list__item-delete"
+											  @click="bankHandleRemove2(file,fileList)"
+										  >
+											<el-icon><Delete /></el-icon>
+										  </span>
+									</span>
+											</div>
+										</template>
+									</el-upload>
+									<el-dialog v-model="bankDialogVisible2">
+										<img w-full :src="inputForm.accountHolderOppositeUrl" alt="Preview Image" :style="{ maxWidth: '100%', maxHeight: '100%' }"/>
+									</el-dialog>
+								</el-form-item>
+							</el-col>
+						</el-row>
+						<el-divider content-position="left"><i class="el-icon-document"></i> 工商银行卡信息</el-divider>
+						<el-row :gutter="26">
+							<el-col :span="12">
+								<el-form-item label="工商银行卡号" prop="gsBankCardNumber" :rules="[{required: true, message: '工商银行卡号不能为空', trigger: 'blur'}]">
+									<el-input v-model="inputForm.gsBankCardNumber" @change="checkBankNumber(inputForm.gsBankCardNumber,'gs')" maxlength="19"></el-input>
+								</el-form-item>
+							</el-col>
+							<el-col :span="12">
+								<el-form-item label="开户行" prop="gsAccountHolder" :rules="[{required: true, message: '开户行不能为空', trigger: 'blur'}]">
+									<el-input v-model="inputForm.gsAccountHolder" ></el-input>
+								</el-form-item>
+							</el-col>
+							<el-col :span="12">
+								<el-form-item label="银行卡正面" prop="gsAccountHolderFront" :rules="[
+						{required: true, message: '银行卡正面不能为空', trigger: 'blur'}
+					]">
+									<el-upload :action="`${$http.BASE_URL}/public-modules-server/oss/file/webUpload/upload`"
+											   :limit="limitNum"
+											   :disabled="gsHideUploadEdit"
+											   list-type="picture-card"
+											   :auto-upload="true"
+											   :on-success="gsHandleUploadSuccess"
+											   v-model:file-list="gsFileList"
+									>
+										<el-icon><Plus /></el-icon>
+
+										<template #file="{ file }">
+											<div>
+												<img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
+												<span class="el-upload-list__item-actions">
+										  <span
+											  class="el-upload-list__item-preview"
+											  @click="gsHandlePictureCardPreview(file)"
+										  >
+											<el-icon><zoom-in /></el-icon>
+										  </span>
+										  <span
+											  v-if="!disabled"
+											  class="el-upload-list__item-delete"
+											  @click="gsHandleDownload(file)"
+										  >
+											<el-icon><Download /></el-icon>
+										  </span>
+										  <span
+											  v-if="!(method === 'view')"
+											  class="el-upload-list__item-delete"
+											  @click="gsHandleRemove(file,fileList)"
+										  >
+											<el-icon><Delete /></el-icon>
+										  </span>
+									</span>
+											</div>
+										</template>
+									</el-upload>
+									<el-dialog v-model="gsDialogVisible">
+										<img w-full :src="inputForm.gsAccountHolderFrontUrl" alt="Preview Image" :style="{ maxWidth: '100%', maxHeight: '100%' }"/>
+									</el-dialog>
+								</el-form-item>
+							</el-col>
+							<el-col :span="12">
+								<el-form-item label="银行卡反面" prop="gsAccountHolderOpposite" :rules="[
+						{required: true, message: '银行卡反面不能为空', trigger: 'blur'}
+					]">
+									<el-upload :action="`${$http.BASE_URL}/public-modules-server/oss/file/webUpload/upload`"
+											   :limit="limitNum"
+											   :disabled="gsHideUploadEdit2"
+											   list-type="picture-card"
+											   :auto-upload="true"
+											   :on-success="gsHandleUploadSuccess2"
+											   v-model:file-list="gsFileList2"
+									>
+										<el-icon><Plus /></el-icon>
+
+										<template #file="{ file }">
+											<div>
+												<img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
+												<span class="el-upload-list__item-actions">
+										  <span
+											  class="el-upload-list__item-preview"
+											  @click="gsHandlePictureCardPreview2(file)"
+										  >
+											<el-icon><zoom-in /></el-icon>
+										  </span>
+										  <span
+											  v-if="!disabled"
+											  class="el-upload-list__item-delete"
+											  @click="gsHandleDownload2(file)"
+										  >
+											<el-icon><Download /></el-icon>
+										  </span>
+										  <span
+											  v-if="!(method === 'view')"
+											  class="el-upload-list__item-delete"
+											  @click="gsHandleRemove2(file,fileList)"
+										  >
+											<el-icon><Delete /></el-icon>
+										  </span>
+									</span>
+											</div>
+										</template>
+									</el-upload>
+									<el-dialog v-model="gsDialogVisible2">
+										<img w-full :src="inputForm.gsAccountHolderOppositeUrl" alt="Preview Image" :style="{ maxWidth: '100%', maxHeight: '100%' }"/>
+									</el-dialog>
+								</el-form-item>
+							</el-col>
+						</el-row>
+
 					</el-form>				</el-row>
 			</el-row>
 			<template #footer>
@@ -608,6 +823,19 @@
 		},
 		data () {
 			return {
+				bankHideUploadEdit: false, //控制上传点击
+				bankHideUploadEdit2: false, //控制上传点击
+				bankFileList: [],
+				bankFileList2: [],
+				bankDialogVisible: false,
+				bankDialogVisible2: false,
+				gsDialogVisible: false,
+				gsDialogVisible2: false,
+				gsHideUploadEdit: false, //控制上传点击
+				gsHideUploadEdit2: false, //控制上传点击
+				gsFileList: [],
+				gsFileList2: [],
+
 				hideUploadEdit: false, //隐藏上传按钮
 				hideUploadEdit2: false, //隐藏上传按钮
 				limitNum: 1,
@@ -623,6 +851,19 @@
 				loading: false,
 				showViewer: false,
 				inputForm: {
+					zxBankCardNumber: '',//银行卡信息
+					zxAccountHolder: '',
+					accountHolderFront: '',
+					accountHolderFrontUrl: '',
+					accountHolderOpposite: '',
+					accountHolderOppositeUrl: '',
+					gsAccountHolder: '',
+					gsBankCardNumber: '',
+					gsAccountHolderFront: '',
+					gsAccountHolderFrontUrl: '',
+					gsAccountHolderOpposite: '',
+					gsAccountHolderOppositeUrl: '',
+
 					id: '',
 					userId: '',
 					name: '',
@@ -763,6 +1004,18 @@
 			init (method, id) {
 				this.method = method
 				this.inputForm = {
+					zxBankCardNumber: '',//银行卡信息
+					zxAccountHolder: '',
+					accountHolderFront: '',
+					accountHolderFrontUrl: '',
+					accountHolderOpposite: '',
+					accountHolderOppositeUrl: '',
+					gsAccountHolder: '',
+					gsBankCardNumber: '',
+					gsAccountHolderFront: '',
+					gsAccountHolderFrontUrl: '',
+					gsAccountHolderOpposite: '',
+					gsAccountHolderOppositeUrl: '',
 					id: '',
 					userId: '',
 					name: '',
@@ -822,22 +1075,53 @@
 						this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
 						if (this.commonJS.isNotEmpty(this.inputForm.socialSecurityPictureFront)){
 							await this.ossService.getTemporaryUrl(this.inputForm.socialSecurityPictureFront).then((data) => {
-								console.log('data', data)
 								let file = {
 									url: data
 								}
 								this.fileList.push(file)
-								// this.inputForm.socialSecurityPictureFrontUrl = data
 							})
 						}
 						if (this.commonJS.isNotEmpty(this.inputForm.socialSecurityPictureOpposite)){
-							console.log('123')
 							await this.ossService.getTemporaryUrl(this.inputForm.socialSecurityPictureOpposite).then((data) => {
 								let file = {
 									url: data
 								}
 								this.fileList2.push(file)
-								// this.inputForm.socialSecurityPictureFrontUrl = data
+							})
+						}
+						if (this.commonJS.isNotEmpty(this.inputForm.accountHolderFront)){
+
+							await this.ossService.getTemporaryUrl(this.inputForm.accountHolderFront).then((data) => {
+								console.log('data', data)
+								let file = {
+									url: data
+								}
+								this.bankFileList.push(file)
+							})
+						}
+						if (this.commonJS.isNotEmpty(this.inputForm.accountHolderOpposite)){
+							console.log('123')
+							await this.ossService.getTemporaryUrl(this.inputForm.accountHolderOpposite).then((data) => {
+								let file = {
+									url: data
+								}
+								this.bankFileList2.push(file)
+							})
+						}
+						if (this.commonJS.isNotEmpty(this.inputForm.gsAccountHolderFront)){
+							await this.ossService.getTemporaryUrl(this.inputForm.gsAccountHolderFront).then((data) => {
+								let file = {
+									url: data
+								}
+								this.gsFileList.push(file)
+							})
+						}
+						if (this.commonJS.isNotEmpty(this.inputForm.gsAccountHolderOpposite)){
+							await this.ossService.getTemporaryUrl(this.inputForm.gsAccountHolderOpposite).then((data) => {
+								let file = {
+									url: data
+								}
+								this.gsFileList2.push(file)
 							})
 						}
 						this.loading = false
@@ -892,6 +1176,10 @@
 				this.$refs.inputForm.resetFields()
 				this.fileList = []
 				this.fileList2 = []
+				this.bankFileList = []
+				this.bankFileList2 = []
+				this.gsFileList = []
+				this.gsFileList2 = []
 				this.visible = false
 			},
 			reapplyForm (callback) {
@@ -1044,11 +1332,19 @@
 				})
 
 			},
-			checkBankNumber(bankNumber) {
+			checkBankNumber(bankNumber,type) {
 				if (!this.validateXG.isBankNum(bankNumber)) {
-					this.$message.error('请输入正确的社保银行卡号')
-					this.inputForm.socialSecurityBankNumber = ''
-					throw new Error('请输入正确的社保银行卡号')
+					if (type === 'zx' ){
+						this.inputForm.zxBankCardNumber = ''
+					} else if (type === 'gs') {
+						this.inputForm.gsBankCardNumber = ''
+					} else {
+						this.$message.error('请输入正确的社保银行卡号')
+						this.inputForm.socialSecurityBankNumber = ''
+						throw new Error('请输入正确的社保银行卡号')
+					}
+					this.$message.error('请输入正确的银行卡号')
+					throw new Error('请输入正确的银行卡号')
 				}
 			},
 			handleAvatarSuccess (res, file, fileList, index, val) {
@@ -1083,7 +1379,124 @@
 			validateInput() {
 				// 使用正则表达式验证输入内容,禁止中文
 				this.inputForm.socialSecurityNumber = this.inputForm.socialSecurityNumber.replace(/[\u4e00-\u9fa5]/g, '');
-			}
+			},
+			bankHandleUploadSuccess(response, file,fileList) {
+				return this.bankHandleAvatarSuccess(response,file,fileList,null,'front')
+			},
+			bankHandleAvatarSuccess (res, file, fileList, index, val) {
+				if (val === 'front') {
+					this.inputForm.accountHolderFront = '/' +res.url
+					this.inputForm.accountHolderFrontUrl = res.lsUrl
+				}
+				this.bankHideUploadEdit = true
+				this.$forceUpdate()
+			},
+			bankHandlePictureCardPreview(file) {
+				this.inputForm.accountHolderFrontUrl = file.url
+				this.bankDialogVisible = true;
+			},
+			bankHandleDownload(file) {
+				let file2 = {
+					url: this.inputForm.accountHolderFront
+				}
+				toHref(file2)
+			},
+			bankHandleRemove(file, fileList) {
+				this.bankHideUploadEdit = false
+				// 如果需要删除图片信息,可以根据file或其他标识从相应的数据结构中删除信息
+				const fileIndex = this.bankFileList.indexOf(file);
+				if (fileIndex !== -1) {
+					this.bankFileList.splice(fileIndex, 1); // 从fileList中删除该图片信息
+				}
+			},
+			bankHandleUploadSuccess2(response, file,fileList) {
+				return this.bankHandleAvatarSuccess2(response,file,fileList,null,'front')
+			},
+			bankHandleAvatarSuccess2 (res, file, fileList, index, val) {
+				if (val === 'front') {
+					this.inputForm.accountHolderOpposite = '/' +res.url
+					this.inputForm.accountHolderOppositeUrl = res.lsUrl
+				}
+				this.bankHideUploadEdit2 = true
+				this.$forceUpdate()
+			},
+			bankHandlePictureCardPreview2(file) {
+				this.inputForm.accountHolderOppositeUrl = file.url
+				this.bankDialogVisible2 = true;
+			},
+			bankHandleDownload2(file) {
+				let file2 = {
+					url: this.inputForm.accountHolderOpposite
+				}
+				toHref(file2)
+			},
+			bankHandleRemove2(file, fileList) {
+				this.hideUploadEdit2 = false
+				// 如果需要删除图片信息,可以根据file或其他标识从相应的数据结构中删除信息
+				const fileIndex = this.bankFileList2.indexOf(file);
+				if (fileIndex !== -1) {
+					this.bankFileList2.splice(fileIndex, 1); // 从fileList中删除该图片信息
+				}
+			},
+			gsHandleUploadSuccess(response, file,fileList) {
+				return this.gsHandleAvatarSuccess(response,file,fileList,null,'front')
+			},
+			gsHandleUploadSuccess2(response, file,fileList) {
+				return this.gsHandleAvatarSuccess2(response,file,fileList,null,'front')
+			},
+			gsHandleAvatarSuccess (res, file, fileList, index, val) {
+				if (val === 'front') {
+					this.inputForm.gsAccountHolderFront = '/' +res.url
+					this.inputForm.gsAccountHolderFrontUrl = res.lsUrl
+				}
+				this.hideUploadEdit = true
+				this.$forceUpdate()
+			},
+			gsHandleAvatarSuccess2 (res, file, fileList, index, val) {
+				if (val === 'front') {
+					this.inputForm.gsAccountHolderOpposite = '/' +res.url
+					this.inputForm.gsAccountHolderOppositeUrl = res.lsUrl
+				}
+				this.hideUploadEdit2 = true
+				this.$forceUpdate()
+			},
+			gsHandlePictureCardPreview(file) {
+				this.dialogImageUrl = file.url;
+				this.inputForm.gsAccountHolderFrontUrl = file.url
+				this.gsDialogVisible = true;
+			},
+			gsHandlePictureCardPreview2(file) {
+				this.inputForm.gsAccountHolderOppositeUrl = file.url
+				this.gsDialogVisible2 = true;
+			},
+			gsHandleDownload(file) {
+				let file2 = {
+					url: this.inputForm.gsAccountHolderFront
+				}
+				toHref(file2)
+			},
+			gsHandleDownload2(file) {
+				let file2 = {
+					url: this.inputForm.gsAccountHolderOpposite
+				}
+				toHref(file2)
+			},
+			gsHandleRemove(file, fileList) {
+				this.gsHideUploadEdit = false
+				// 如果需要删除图片信息,可以根据file或其他标识从相应的数据结构中删除信息
+				const fileIndex = this.gsFileList.indexOf(file);
+				if (fileIndex !== -1) {
+					this.gsFileList.splice(fileIndex, 1); // 从fileList中删除该图片信息
+				}
+			},
+			gsHandleRemove2(file, fileList) {
+				this.gsHideUploadEdit2 = false
+				// 如果需要删除图片信息,可以根据file或其他标识从相应的数据结构中删除信息
+				const fileIndex = this.gsFileList2.indexOf(file);
+				if (fileIndex !== -1) {
+					this.gsFileList2.splice(fileIndex, 1); // 从fileList中删除该图片信息
+				}
+			},
 		}
 	}
 </script>

+ 17 - 7
src/views/human/enrollment/registration/WageCardInfoAddForm.vue

@@ -56,7 +56,7 @@
 											<el-icon><Download /></el-icon>
 										  </span>
 										  <span
-											  v-if="!(status === 'audit' || status === 'taskFormDetail')"
+											  v-if="!testDisabledFlag"
 											  class="el-upload-list__item-delete"
 											  @click="handleRemove(file,fileList)"
 										  >
@@ -112,7 +112,7 @@
 											<el-icon><Download /></el-icon>
 										  </span>
 										  <span
-											  v-if="!(status === 'audit' || status === 'taskFormDetail')"
+											  v-if="!testDisabledFlag"
 											  class="el-upload-list__item-delete"
 											  @click="handleRemove2(file,fileList)"
 										  >
@@ -181,7 +181,7 @@
 											<el-icon><Download /></el-icon>
 										  </span>
 										  <span
-											  v-if="!(status === 'audit' || status === 'taskFormDetail')"
+											  v-if="!testDisabledFlag"
 											  class="el-upload-list__item-delete"
 											  @click="gsHandleRemove(file,fileList)"
 										  >
@@ -237,7 +237,7 @@
 											<el-icon><Download /></el-icon>
 										  </span>
 										  <span
-											  v-if="!(status === 'audit' || status === 'taskFormDetail')"
+											  v-if="!testDisabledFlag"
 											  class="el-upload-list__item-delete"
 											  @click="gsHandleRemove2(file,fileList)"
 										  >
@@ -286,6 +286,7 @@
 				title: '',
 				method: '',
 				testFlag: false,
+				testDisabledFlag: false,
 				dialogVisible: false,
 				dialogVisible2: false,
 				hideUploadEdit: false, //控制上传点击
@@ -372,7 +373,7 @@
 				}
 			},
 			handleRemove2(file, fileList) {
-				this.hideUploadEdit = false
+				this.hideUploadEdit2 = false
 				// 如果需要删除图片信息,可以根据file或其他标识从相应的数据结构中删除信息
 				const fileIndex = this.fileList2.indexOf(file);
 				if (fileIndex !== -1) {
@@ -388,7 +389,7 @@
 				}
 			},
 			gsHandleRemove2(file, fileList) {
-				this.gsHideUploadEdit = false
+				this.gsHideUploadEdit2 = false
 				// 如果需要删除图片信息,可以根据file或其他标识从相应的数据结构中删除信息
 				const fileIndex = this.gsFileList2.indexOf(file);
 				if (fileIndex !== -1) {
@@ -472,7 +473,7 @@
 					this.inputForm.gsAccountHolderFront = '/' +res.url
 					this.inputForm.gsAccountHolderFrontUrl = res.lsUrl
 				}
-				this.hideUploadEdit = true
+				this.gsHideUploadEdit = true
 				this.$forceUpdate()
 			},
 			gsHandleAvatarSuccess2 (res, file, fileList, index, val) {
@@ -519,6 +520,8 @@
 					enrollmentWageCardService.findWageCardById(this.inputForm.id).then( async (data) => {
 						this.fileList = []
 						this.fileList2 = []
+						this.gsFileList = []
+						this.gsFileList2 = []
 						if (this.status === 'audit' || this.status === 'taskFormDetail') {
 							method = 'view'
 						}
@@ -566,6 +569,13 @@
 								// this.inputForm.socialSecurityPictureFrontUrl = data
 							})
 						}
+						await this.commonApi.getTaskNameByProcInsId(this.inputForm.procInsId).then((data) => {
+							if (this.commonJS.isNotEmpty(data)) {
+								if (data === '审核') {
+									this.testDisabledFlag = true
+								}
+							}
+						})
 						this.loading = false
 					})
 				})

+ 198 - 3
src/views/human/practice/register/RegistrationBankAddForm.vue

@@ -16,6 +16,98 @@
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
+					<el-form-item label="银行卡正面" prop="accountHolderFront" :rules="[
+						{required: true, message: '银行卡正面不能为空', trigger: 'blur'}
+					]">
+						<el-upload :action="`${$http.BASE_URL}/public-modules-server/oss/file/webUpload/upload`"
+								   :limit="limitNum"
+								   :disabled="hideUploadEdit"
+								   list-type="picture-card"
+								   :auto-upload="true"
+								   :on-success="handleUploadSuccess"
+								   v-model:file-list="fileList"
+						>
+							<el-icon><Plus /></el-icon>
+
+							<template #file="{ file }">
+								<div>
+									<img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
+									<span class="el-upload-list__item-actions">
+										  <span
+											  class="el-upload-list__item-preview"
+											  @click="handlePictureCardPreview(file)"
+										  >
+											<el-icon><zoom-in /></el-icon>
+										  </span>
+										  <span
+											  v-if="!disabled"
+											  class="el-upload-list__item-delete"
+											  @click="handleDownload(file)"
+										  >
+											<el-icon><Download /></el-icon>
+										  </span>
+										  <span
+											  class="el-upload-list__item-delete"
+											  @click="handleRemove(file,fileList)"
+										  >
+											<el-icon><Delete /></el-icon>
+										  </span>
+									</span>
+								</div>
+							</template>
+						</el-upload>
+						<el-dialog v-model="dialogVisible">
+							<img w-full :src="inputForm.accountHolderFrontUrl" alt="Preview Image" :style="{ maxWidth: '100%', maxHeight: '100%' }"/>
+						</el-dialog>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="银行卡反面" prop="accountHolderOpposite" :rules="[
+						{required: true, message: '银行卡反面不能为空', trigger: 'blur'}
+					]">
+						<el-upload :action="`${$http.BASE_URL}/public-modules-server/oss/file/webUpload/upload`"
+								   :limit="limitNum"
+								   :disabled="hideUploadEdit2"
+								   list-type="picture-card"
+								   :auto-upload="true"
+								   :on-success="handleUploadSuccess2"
+								   v-model:file-list="fileList2"
+						>
+							<el-icon><Plus /></el-icon>
+
+							<template #file="{ file }">
+								<div>
+									<img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
+									<span class="el-upload-list__item-actions">
+										  <span
+											  class="el-upload-list__item-preview"
+											  @click="handlePictureCardPreview2(file)"
+										  >
+											<el-icon><zoom-in /></el-icon>
+										  </span>
+										  <span
+											  v-if="!disabled"
+											  class="el-upload-list__item-delete"
+											  @click="handleDownload2(file)"
+										  >
+											<el-icon><Download /></el-icon>
+										  </span>
+										  <span
+											  class="el-upload-list__item-delete"
+											  @click="handleRemove2(file,fileList)"
+										  >
+											<el-icon><Delete /></el-icon>
+										  </span>
+									</span>
+								</div>
+							</template>
+						</el-upload>
+						<el-dialog v-model="dialogVisible2">
+							<img w-full :src="inputForm.accountHolderOppositeUrl" alt="Preview Image" :style="{ maxWidth: '100%', maxHeight: '100%' }"/>
+						</el-dialog>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
 					<el-form-item label="简介" prop="remarks" :rules="[]">
 						<el-input type="textarea"
 								  maxlength="200" placeholder="请输入简介"
@@ -28,6 +120,11 @@
 </template>
 
 <script>
+	import OSSSerivce, {
+		httpRequest,
+		fileName,
+		toHref,
+	} from '@/api/sys/OSSService'
 	import registerBankService from '@/api/human/register/RegisterBankService'
 
 	export default {
@@ -50,13 +147,26 @@
 				title: '',
 				method: '',
 				visible: false,
+				testDisabledFlag: false,
 				loading: false,
+				limitNum: 1,
+				disabled: false,
+				dialogVisible: false,
+				dialogVisible2: false,
+				hideUploadEdit: false, //控制上传点击
+				hideUploadEdit2: false, //控制上传点击
+				fileList: [],
+				fileList2: [],
 				inputForm: {
 					userId: '',
 					remarks: '',
 					type: '',
 					bankCardNumber: '',
 					name: '',
+					accountHolderFront: '',
+					accountHolderFrontUrl: '',
+					accountHolderOpposite: '',
+					accountHolderOppositeUrl: '',
 				},
 				keyWatch: '',
 				amountKey: '',
@@ -64,6 +174,7 @@
 			}
 		},
 		created () {
+			this.ossService = new OSSSerivce()
 		},
 		components: {
 		},
@@ -122,6 +233,10 @@
 					type: '',
 					bankCardNumber: '',
 					name: '',
+					accountHolderFront: '',
+					accountHolderFrontUrl: '',
+					accountHolderOpposite: '',
+					accountHolderOppositeUrl: '',
 				}
 				if (method === 'add') {
 					this.title = `新建实习登记`
@@ -133,7 +248,9 @@
 				this.loading = false
 				this.$nextTick(() => {
 					this.loading = true
-					registerBankService.findById(this.inputForm.id).then((data) => {
+					registerBankService.findById(this.inputForm.id).then( async (data) => {
+						this.fileList = []
+						this.fileList2 = []
 						if (this.status === 'audit' || this.status === 'taskFormDetail') {
 							method = 'view'
 						}
@@ -143,7 +260,25 @@
 						if (this.commonJS.isEmpty(this.inputForm.name)) {
 							this.inputForm.name = this.$store.state.user.name
 						}
+						if (this.commonJS.isNotEmpty(this.inputForm.accountHolderFront)){
 
+							await this.ossService.getTemporaryUrl(this.inputForm.accountHolderFront).then((data) => {
+								let file = {
+									url: data
+								}
+								this.fileList.push(file)
+								this.hideUploadEdit = true
+							})
+						}
+						if (this.commonJS.isNotEmpty(this.inputForm.accountHolderOpposite)){
+							await this.ossService.getTemporaryUrl(this.inputForm.accountHolderOpposite).then((data) => {
+								let file = {
+									url: data
+								}
+								this.fileList2.push(file)
+								this.hideUploadEdit2 = true
+							})
+						}
 						this.loading = false
 					})
 				})
@@ -168,8 +303,8 @@
 			},
 			close () {
 				this.$refs.inputForm.resetFields()
-				this.inputForm.experiences = []
-				this.inputForm.familyMembers = []
+				this.fileList = []
+				this.fileList2 = []
 				this.visible = false
 			},
 			reapplyForm (callback) {
@@ -281,6 +416,66 @@
 					})
 				}
 			},
+			handleUploadSuccess(response, file,fileList) {
+				return this.handleAvatarSuccess(response,file,fileList,null,'front')
+			},
+			handleUploadSuccess2(response, file,fileList) {
+				return this.handleAvatarSuccess2(response,file,fileList,null,'front')
+			},
+			handleAvatarSuccess (res, file, fileList, index, val) {
+				if (val === 'front') {
+					this.inputForm.accountHolderFront = '/' +res.url
+					this.inputForm.accountHolderFrontUrl = res.lsUrl
+				}
+				this.hideUploadEdit = true
+				this.$forceUpdate()
+			},
+			handleAvatarSuccess2 (res, file, fileList, index, val) {
+				if (val === 'front') {
+					this.inputForm.accountHolderOpposite = '/' +res.url
+					this.inputForm.accountHolderOppositeUrl = res.lsUrl
+				}
+				this.hideUploadEdit2 = true
+				this.$forceUpdate()
+			},
+			handlePictureCardPreview(file) {
+				this.dialogImageUrl = file.url;
+				this.inputForm.accountHolderFrontUrl = file.url
+				this.dialogVisible = true;
+			},
+			handlePictureCardPreview2(file) {
+				this.dialogImageUrl = file.url;
+				this.inputForm.accountHolderOppositeUrl = file.url
+				this.dialogVisible2 = true;
+			},
+			handleDownload(file) {
+				let file2 = {
+					url: this.inputForm.accountHolderFront
+				}
+				toHref(file2)
+			},
+			handleDownload2(file) {
+				let file2 = {
+					url: this.inputForm.accountHolderOpposite
+				}
+				toHref(file2)
+			},
+			handleRemove(file, fileList) {
+				this.hideUploadEdit = false
+				// 如果需要删除图片信息,可以根据file或其他标识从相应的数据结构中删除信息
+				const fileIndex = this.fileList.indexOf(file);
+				if (fileIndex !== -1) {
+					this.fileList.splice(fileIndex, 1); // 从fileList中删除该图片信息
+				}
+			},
+			handleRemove2(file, fileList) {
+				this.hideUploadEdit2 = false
+				// 如果需要删除图片信息,可以根据file或其他标识从相应的数据结构中删除信息
+				const fileIndex = this.fileList2.indexOf(file);
+				if (fileIndex !== -1) {
+					this.fileList2.splice(fileIndex, 1); // 从fileList中删除该图片信息
+				}
+			},
 		}
 	}
 </script>

+ 1 - 1
src/views/materialManagement/collect/CollectForm.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
+    <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="(status === 'audit' || status === 'taskFormDetail')"
              label-width="100px" @submit.native.prevent>
 
       <el-divider content-position="left"><i class="el-icon-document"></i> 基础信息</el-divider>