Quellcode durchsuchen

Merge remote-tracking branch 'origin/2025北京诚祥' into 2025北京诚祥

wangxy vor 1 Monat
Ursprung
Commit
0658c380bc

+ 12 - 0
api/jiazheng.js

@@ -417,3 +417,15 @@ export function chaxunNumberKecheng(data = {}) {
     timeout: 20000
   })
 }
+
+export function jiazhengKaozhengAdds(data = {}) {
+  return request({
+    url: '/app/user/jiazheng/kaozheng/adds',
+    headers: {
+      isToken: true
+    },
+    method: 'post',
+    data,
+    timeout: 20000
+  })
+}

+ 4 - 2
common/styles/global/pages.scss

@@ -724,6 +724,8 @@
 	.content-footer-box{flex-shrink: 0;}
 	.form-top-margin{margin-top: 20rpx;}
 	.upload-img-box{background-color: #fff;padding: 20rpx 0;margin: 20rpx 0;}
+	.upload-img-mask-box{position: relative;}
+	.upload-img-mask-box::before{content:'';position: absolute;left: 0;right: 0;top: 0;bottom: 0;z-index: 9;}
 	// 个人资料
 	.form-textarea-box{width: 100%;height: 160rpx;padding: 10rpx;border: 1rpx solid #e5e5e5;border-radius: 4px;}
 	.agree-section-box{
@@ -1157,8 +1159,8 @@
 			font-size: 32rpx;text-align: center;color: #333;padding: 24rpx 0;margin: 0 24rpx;
 			.num-btn{font-size: 26rpx;padding: 8rpx 20rpx;border-radius: 8rpx;line-height: 1.1;flex-shrink: 0;
 			// background-color: #fff;color: #3fd2a1;border: 1rpx solid #3fd2a1;
-			font-size: 28rpx;background-color: #3fd2a1;color: #fff;
-			margin-left: auto;}
+			font-size: 28rpx;background-color: #3fd2a1;color: #fff;margin-left: auto;}
+			>view{@include single-line-ellipsis();}
 		}
 		.num-item-box:nth-child(4){border-bottom: 0;}
 	}

+ 3 - 0
manifest.json

@@ -7,6 +7,9 @@
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {
+        "compatible" : {
+            "ignoreVersion" : true
+        },
         "usingComponents" : true,
         "nvueStyleCompiler" : "uni-app",
         "compilerVersion" : 3,

+ 36 - 13
pages/admin/Jiazheng/banzhengXinxi.vue

@@ -80,9 +80,12 @@
 					</radio-group>
 				</view>
 				<view v-if="isZijiazheng !='true'" class="page-btn-box">
-					<button type="default" v-if="piliang !=1&&isZijiazheng !='true'" @click="goBack" class="phone-white-btn">返回</button>
-					<button type="default" v-if="piliang ==1&&isZijiazheng !='true'" @click="piliangBaocun" class="phone-green-btn">保存</button>
-					<button type="default" v-if="piliang !=1&&isZijiazheng !='true'" @click="addSaveForm" class="phone-green-btn">添加</button>
+					<button type="default" v-if="piliang !=1&&isZijiazheng !='true'" @click="goBack"
+						class="phone-white-btn">返回</button>
+					<button type="default" v-if="piliang ==1&&isZijiazheng !='true'" @click="piliangBaocun"
+						class="phone-green-btn">确认</button>
+					<button type="default" v-if="piliang !=1&&isZijiazheng !='true'" @click="addSaveForm"
+						class="phone-green-btn">添加</button>
 				</view>
 				<view v-if="piliangArray.length>0" v-for="(item,index) in piliangArray" :key="index"
 					class="bzsm-tip-box form-top-margin">
@@ -97,8 +100,9 @@
 
 
 			</view>
-			<view v-if="isZijiazheng !='true'" class="page-btn-box content-footer-box">
-				<button type="default" v-if="piliang ==1&&isZijiazheng !='true'" @click="goBack" class="phone-white-btn">返回</button>
+			<view v-if="isZijiazheng !='true' &&piliang ==1" class="page-btn-box content-footer-box">
+				<button type="default" v-if="piliang ==1&&isZijiazheng !='true'" @click="goBack"
+					class="phone-white-btn">返回</button>
 				<button type="default" v-if="piliang ==1&&isZijiazheng !='true'" @click="addSaveFormPiliang"
 					class="phone-green-btn">添加</button>
 			</view>
@@ -182,6 +186,9 @@
 			},
 			isPiliang(data) {
 				this.piliang = data
+				if (data == 0) {
+					this.piliangArray = []
+				}
 			},
 			goBack() {
 				this.isJgFlag = true
@@ -190,7 +197,7 @@
 				this.$emit('goBack');
 			},
 			editinfo(data, index) {
-
+				this.piliangArray = []
 				console.log('123123', data);
 				this.$nextTick(() => {
 					if (!data) {
@@ -303,6 +310,7 @@
 				this.formData.banzhengInfoFlag = false
 				this.isJgFlag = true
 				this.isZyFlag = true
+					this.piliangArray = []
 
 			},
 			// 报证机构选择
@@ -474,7 +482,6 @@
 					id: this.formData.id,
 					createTime: dayjs().format("YYYY-MM-DD HH:mm:ss")
 				}
-				console.log('statusstatusstatus', this.status);
 				if (this.status == 'add' || this.localStatus == 'editadd' || this.localStatus == 'addEdit') {
 					req.createTime = dayjs().format("YYYY-MM-DD HH:mm:ss")
 				}
@@ -494,12 +501,29 @@
 					});
 					return false
 				}
-				if (this.piliangArray.length == 0) {
-					this.$emit('addSavePiliang', req);
-				} else {
-					console.log('this.piliangArray', this.piliangArray);
-					this.$emit('addSavePiliang', this.piliangArray)
+
+
+				console.log('this.status', this.status);
+				console.log('this.localStatus', this.localStatus);
+
+				if (this.localStatus == 'editAdd') {
+					if (this.piliangArray.length == 0) {
+						this.$emit('editSavePiliang', req);
+					} else {
+						console.log('this.piliangArray', this.piliangArray);
+						this.$emit('editSavePiliang', this.piliangArray)
+					}
+
+				} else if (this.status == 'add') {
+					if (this.piliangArray.length == 0) {
+						this.$emit('addSavePiliang', req);
+					} else {
+						console.log('this.piliangArray', this.piliangArray);
+						this.$emit('addSavePiliang', this.piliangArray)
+					}
 				}
+			
+
 			},
 			// 提交表单
 			addSaveForm() {
@@ -577,7 +601,6 @@
 
 					return false
 				}
-
 			}
 		}
 	};

+ 5 - 5
pages/admin/Jiazheng/banzhengXinxiList.vue

@@ -23,15 +23,15 @@
 					</view>
 				</view>
 			</view>
-			<view v-if="list.length>0 && status!='edit'" class="bzxx-btn-box">
+		<!-- 	<view v-if="list.length>0 && status!='edit'" class="bzxx-btn-box">
 				<button type="default" v-if="status!='edit'&&isZijiazheng !='true'" @click="saveBanzheng" class="phone-green-btn">保存</button>
-			</view>
+			</view> -->
 			<view v-if="list.length==0" class="bzxx-add-btn-box">
 				<view @click="addBanzheng" class="bzxx-add-btn"><text>+</text>添加办证信息</view>
 				<view @click="addBanzhengPiliang" class="bzxx-add-btn"><text>+</text>批量添加办证信息</view>
 
 			</view>
-			<view v-if="status =='add'&&isZijiazheng !='true'" class="page-btn-box">
+			<view v-if="status =='add'&&isZijiazheng !='true'" class="bzxx-btn-box">
 				<button type="default" @click="saveBanzheng" class="phone-green-btn">保存</button>
 			</view>
 		</view>
@@ -83,14 +83,14 @@
 
 				console.log('item', item);
 				if (item.statusBanzheng != '未办证' && this.status == 'edit') {
-					toast("非未办证状态,禁止修改")
+					toast("已提交办证申请,禁止修改")
 					return false
 				}
 				this.$emit('editBanzheng', item, index);
 			},
 			deleteFun(item, index) {
 				if (item.statusBanzheng != '未办证' && this.status == 'edit') {
-					toast("非未办证状态,禁止删除")
+					toast("已提交办证申请,禁止删除")
 					return false
 				}
 				this.$emit('deleteBanzheng', item, index);

+ 119 - 60
pages/admin/Jiazheng/jiazhengUserManager.vue

@@ -6,16 +6,18 @@
 		</view>
 		<v-tabs v-model="current" :tabs="tabs" :scroll="false" @change="changeTab" field="name"
 			class="admin-tab-box"></v-tabs>
-		<gerenZiliao ref="gerenZiliao" :status='status' :isZijiazheng='isZijiazheng' :statusFlag="statusFlag" @idCardBlur="idCardBlur"
-			@finishDom='finishDom' @editSave="editSaveGerenziliao" @goNext="gerenziliaoNext" v-show="current ==0">
+		<gerenZiliao ref="gerenZiliao" :status='status' :isZijiazheng='isZijiazheng' :statusFlag="statusFlag"
+			@idCardBlur="idCardBlur" @finishDom='finishDom' @editSave="editSaveGerenziliao" @goNext="gerenziliaoNext"
+			v-show="current ==0">
 		</gerenZiliao>
-		<qiuzhiXinxi ref="qiuzhiXinxi" :isZijiazheng='isZijiazheng' :status='status' @editSave="editSaveQiuzhixinxi" @goNext="goNextQiuzhixinxi"
-			v-show="current ==1">
+		<qiuzhiXinxi ref="qiuzhiXinxi" :isZijiazheng='isZijiazheng' :status='status' @editSave="editSaveQiuzhixinxi"
+			@goNext="goNextQiuzhixinxi" v-show="current ==1">
 		</qiuzhiXinxi>
-		<zhaopianZiliao ref="zhaopianZiliao" :isZijiazheng='isZijiazheng' :status='status' @editSave="editSaveZhaopianziliao" 
-			@goNext="goNextZhaopianZiliao" v-show="current ==2"></zhaopianZiliao>
-		<banzhengXinxi ref="banzhengXinxi" :isZijiazheng='isZijiazheng' :status='status' @goBack="goBack" @addEdit='addEdit' @addSave="addSave" @addSavePiliang="addSavePiliang"
-			@editSave="editSave" v-show="banzhengXinxiFlag">
+		<zhaopianZiliao ref="zhaopianZiliao" :isZijiazheng='isZijiazheng' :status='status' :statusFlag="statusFlag"
+			@editSave="editSaveZhaopianziliao" @goNext="goNextZhaopianZiliao" v-show="current ==2"></zhaopianZiliao>
+		<banzhengXinxi ref="banzhengXinxi" :isZijiazheng='isZijiazheng' :status='status' @goBack="goBack"
+			@addEdit='addEdit' @addSave="addSave" @addSavePiliang="addSavePiliang" @editSave="editSave"
+			@editSavePiliang="editSavePiliang" v-show="banzhengXinxiFlag">
 		</banzhengXinxi>
 		<banzhengXinxiList :isZijiazheng='isZijiazheng' :status='status' :list="editInfo.kaozhengList"
 			v-show="current ==3&&!banzhengXinxiFlag&&!banzhengXinxiFlagPiliang" @saveBanzheng="saveBanzheng"
@@ -42,6 +44,7 @@
 		jiazhengAdd,
 		jiazhengUpdate,
 		jiazhengKaozhengAdd,
+		jiazhengKaozhengAdds,
 		jiazhengKaozhengDelete,
 		jiazhengKaozhengUpdate
 	} from "@/api/jiazheng.js";
@@ -102,8 +105,8 @@
 				deleteId: '',
 				from: '',
 				statusFlag: null,
-				isZijiazheng:"false",
-				userIdList:''
+				isZijiazheng: "false",
+				userIdList: ''
 			}
 		},
 		components: {
@@ -144,6 +147,7 @@
 				console.log('dataasdf', data);
 				this.current = 3
 				this.banzhengXinxiFlag = true
+				this.$refs.banzhengXinxi.isPiliang(0)
 				if (this.status == 'edit') {
 					this.$refs.banzhengXinxi.editinfo(data, index)
 					this.$refs.banzhengXinxi.currentMove('edit')
@@ -154,6 +158,15 @@
 
 			},
 			addBanzheng(data, index) {
+				if (this.allData.icon == '') {
+					uni.showToast({
+						title: "当录入办证信息时候,头像必填",
+						icon: 'none',
+						duration: 2000
+					});
+					this.allData.kaozhengList = []
+					return false;
+				}
 				this.banzhengXinxiFlag = true
 				this.$refs.banzhengXinxi.resetFun()
 				this.$refs.banzhengXinxi.isPiliang(0)
@@ -165,6 +178,15 @@
 
 			},
 			addBanzhengPiliang(data, index) {
+				if (this.allData.icon == '') {
+					uni.showToast({
+						title: "当录入办证信息时候,头像必填",
+						icon: 'none',
+						duration: 2000
+					});
+					this.allData.kaozhengList = []
+					return false;
+				}
 				this.banzhengXinxiFlag = true
 				this.$refs.banzhengXinxi.resetFun()
 				this.$refs.banzhengXinxi.isPiliang(1)
@@ -175,6 +197,7 @@
 				}
 
 			},
+
 			deleteBanzheng(data, index) {
 				this.deleteId = data.id
 				this.deleteIndex = index
@@ -206,6 +229,9 @@
 							this.editInfo.kaozhengList.splice(this.deleteIndex, 1);
 							if (this.editInfo.kaozhengList.length == 0) {
 								this.banzhengXinxiFlag = true
+								this.$refs.banzhengXinxi.resetFun()
+								this.allData.kaozhengList = []
+								this.$refs.banzhengXinxi.isPiliang(0)
 							}
 						}
 					})
@@ -302,7 +328,7 @@
 				return kaozhengList.every(item => item.statusBanzheng == "未办证");
 			},
 			changeTab(data) {
-				
+
 				this.banzhengXinxiFlag = false
 
 				if (this.$refs.zhaopianZiliao) {
@@ -473,8 +499,8 @@
 			editSaveZhaopianziliao(data) {
 				this.zhaopianziliaoDataHandle(data, 'edit')
 			},
-			addSavePiliang(data){
-				console.log('data',data);
+			addSavePiliang(data) {
+				console.log('data', data);
 				//  有可能是一个数组
 				this.submitJiazheng(data)
 			},
@@ -488,48 +514,48 @@
 				this.submitJiazheng(data)
 			},
 			submitJiazheng(data) {
-			    console.log('this.allData', this.allData);
-			    
-			    // 处理数组情况
-			    const dataToProcess = Array.isArray(data) ? data : [data];
-			    
-			    // 检查重复项
-			    for (const item of dataToProcess) {
-			        if (this.allData.kaozhengList.length > 0) {
-			            const isDuplicate = this.allData.kaozhengList.some(existingItem => {
-			                return existingItem.jgId == item.jgId &&
-			                    existingItem.zyLevelName == item.zyLevelName &&
-			                    existingItem.zyName == item.zyName;
-			            });
-			            
-			            if (isDuplicate) {
-			                uni.showToast({
-			                    title: '此用户的职业等级系统已存在,如想继续添加,请联系管理员处理!',
-			                    icon: 'none',
-			                    duration: 2000
-			                });
-			                return false;
-			            }
-			        }
-			    }
-			    
-			    // 检查头像是否为空(如果有数据要添加)
-			    if (dataToProcess.length > 0 && this.allData.icon == '') {
-			        uni.showToast({
-			            title: "当录入办证信息时候,头像必填",
-			            icon: 'none',
-			            duration: 2000
-			        });
+				console.log('this.allData', this.allData);
+
+				// 处理数组情况
+				const dataToProcess = Array.isArray(data) ? data : [data];
+
+				// 检查重复项
+				for (const item of dataToProcess) {
+					if (this.allData.kaozhengList.length > 0) {
+						const isDuplicate = this.allData.kaozhengList.some(existingItem => {
+							return existingItem.jgId == item.jgId &&
+								existingItem.zyLevelName == item.zyLevelName &&
+								existingItem.zyName == item.zyName;
+						});
+
+						if (isDuplicate) {
+							uni.showToast({
+								title: '此用户的职业等级系统已存在,如想继续添加,请联系管理员处理!',
+								icon: 'none',
+								duration: 2000
+							});
+							return false;
+						}
+					}
+				}
+
+				// 检查头像是否为空(如果有数据要添加)
+				if (dataToProcess.length > 0 && this.allData.icon == '') {
+					uni.showToast({
+						title: "当录入办证信息时候,头像必填",
+						icon: 'none',
+						duration: 2000
+					});
 					this.allData.kaozhengList = []
-			        return false;
-			    }
-			    
-			    // 添加所有数据项
-			    this.allData.kaozhengList.push(...dataToProcess);
-			    this.editInfo.kaozhengList = [...this.allData.kaozhengList];
-			    this.banzhengXinxiFlag = false;
+					return false;
+				}
+
+				// 添加所有数据项
+				this.allData.kaozhengList.push(...dataToProcess);
+				this.editInfo.kaozhengList = [...this.allData.kaozhengList];
+				this.banzhengXinxiFlag = false;
 			},
-			
+
 			// submitJiazheng(data) {
 			// 	//	debugger
 			// 	console.log('this.allData', this.allData);
@@ -624,9 +650,8 @@
 				console.log('this.allData', this.allData);
 				console.log('this.editInfo', this.editInfo);
 				data.userId = this.userId
-
 				if (flag == 'edit' && this.allData.kaozhengList.length > 0) {
-					
+
 					jiazhengKaozhengUpdate(data).then(res => {
 						if (res.code == 0) {
 							uni.showToast({
@@ -645,7 +670,7 @@
 							this.editInfo.kaozhengList[index].shicaochengji = data.shicaochengji
 							this.editInfo.kaozhengList[index].statusKaoshi = data.statusKaoshi
 							this.editInfo.kaozhengList[index].zongkeshi = data.zongkeshi
-							this.editInfo.kaozhengList[index].id = data.id	
+							this.editInfo.kaozhengList[index].id = data.id
 							this.editInfo.kaozhengList[index].zyId = data.zyId
 							this.editInfo.kaozhengList[index].zyLevel = data.zyLevel
 							this.editInfo.kaozhengList[index].zyLevelName = data.zyLevelName
@@ -667,6 +692,7 @@
 					jiazhengKaozhengAdd(data).then(res => {
 						if (res.code == 0) {
 							data.id = res.data
+							data.statusBanzheng = '未办证'
 							this.allData.kaozhengList.push(data)
 							this.editInfo.kaozhengList.push(data)
 							console.log('this.editInfo.kaozhengList', this.editInfo.kaozhengList);
@@ -686,6 +712,7 @@
 					jiazhengKaozhengAdd(data).then(res => {
 						if (res.code == 0) {
 							data.id = res.data
+							data.statusBanzheng = '未办证'
 							this.allData.kaozhengList.push(data)
 							this.editInfo.kaozhengList.push(data)
 							console.log('this.editInfo.kaozhengList', this.editInfo.kaozhengList);
@@ -703,17 +730,49 @@
 
 				// }
 			},
+			editSavePiliang(data) {
+
+				console.log('data', data);
+				const updatedData = data.map(item => ({
+					...item, // 展开原有属性
+					userId: this.userId // 添加新字段
+				}));
+				if (this.allData.icon == '') {
+					uni.showToast({
+						title: "当录入办证信息时候,头像必填",
+						icon: 'none',
+						duration: 2000
+					})
+					return false
+				}
+				jiazhengKaozhengAdds(updatedData).then(res => {
+					if (res.code == 0) {
+						//	data.id = res.data
+						const dataWithIds = updatedData.map((item, index) => ({
+							...item,
+							statusBanzheng: '未办证',
+							id: res.data[index]
+						}));
+						this.allData.kaozhengList = [...this.allData.kaozhengList, ...dataWithIds];
+						this.editInfo.kaozhengList = [...this.editInfo.kaozhengList, ...dataWithIds];
+						// console.log('this.editInfo.kaozhengList', this.editInfo.kaozhengList);
+						this.banzhengXinxiFlag = false
+						console.log('this.allData.kaozhengList', this.allData.kaozhengList);
+					}
+				})
+
+			},
 			goUpPage() {
 				if (this.from == 'banzheng') {
 					uni.redirectTo({
 						url: "/pages/admin/banzheng/list"
 					})
 				} else {
-			
+
 					uni.redirectTo({
-					  url: "/pages/admin/Jiazheng/index" +
-					       "?isZijiazheng=" + this.isZijiazheng +
-					       "&userIdList=" + this.userIdList
+						url: "/pages/admin/Jiazheng/index" +
+							"?isZijiazheng=" + this.isZijiazheng +
+							"&userIdList=" + this.userIdList
 					})
 				}
 

+ 21 - 4
pages/admin/Jiazheng/zhaopianZiliao.vue

@@ -1,7 +1,8 @@
 <template>
 	<view class="jz-content-box">
 		<view :class="isZijiazheng=='true'?'mask-view':''">
-			<view class="upload-img-box">
+			<view class="upload-img-box" :class="String(statusFlag) =='false'?'upload-img-mask-box':''"
+				@click="touxiangTishi">
 				<jiazhengUpload @getFileUrl="getTouxiang" :img='icon' bottomText="上传头像"></jiazhengUpload>
 			</view>
 			<view class="form-label-switch">
@@ -105,8 +106,10 @@
 		</view> -->
 
 			<view v-if="isZijiazheng !='true'" class="page-btn-box">
-				<button type="default" v-if="status =='add'&&isZijiazheng !='true'" @click="goNext" class="phone-green-btn">下一步</button>
-				<button type="default" v-if="status =='edit'&&isZijiazheng !='true'" @click="editSave" class="phone-green-btn">保存</button>
+				<button type="default" v-if="status =='add'&&isZijiazheng !='true'" @click="goNext"
+					class="phone-green-btn">下一步</button>
+				<button type="default" v-if="status =='edit'&&isZijiazheng !='true'" @click="editSave"
+					class="phone-green-btn">保存</button>
 			</view>
 		</view>
 	</view>
@@ -144,12 +147,26 @@
 			},
 			isZijiazheng: {
 				type: String,
-			}
+			},
+			statusFlag: {
+				type: Boolean,
+			},
 		},
 		components: {
 			jiazhengUpload
 		},
 		methods: {
+			touxiangTishi() {
+
+				if (String(this.statusFlag) == 'false') {
+					uni.showToast({
+						title: '已提交办证申请,禁止修改',
+						icon: 'none'
+					});
+					return false
+				}
+
+			},
 			changeZhankai() {
 				this.zhankaiFlag = !this.zhankaiFlag
 				console.log('this.changeZhankai', this.changeZhankai);

+ 12 - 6
unpackage/dist/cache/.vite/deps/_metadata.json

@@ -2,30 +2,36 @@
   "hash": "7375ca5a",
   "configHash": "fdaa8c6f",
   "lockfileHash": "e3b0c442",
-  "browserHash": "0905010f",
+  "browserHash": "a03215b9",
   "optimized": {
     "ts-md5/dist/md5": {
       "src": "../../../../../node_modules/ts-md5/dist/md5.js",
       "file": "ts-md5_dist_md5.js",
-      "fileHash": "215e17fa",
+      "fileHash": "4b0b2f57",
       "needsInterop": true
     },
     "jsonp": {
       "src": "../../../../../node_modules/jsonp/index.js",
       "file": "jsonp.js",
-      "fileHash": "bb4a5317",
+      "fileHash": "9c9be88c",
       "needsInterop": true
     },
     "dayjs": {
       "src": "../../../../../node_modules/dayjs/dayjs.min.js",
       "file": "dayjs.js",
-      "fileHash": "046961b5",
+      "fileHash": "781efe4c",
       "needsInterop": true
+    },
+    "axios": {
+      "src": "../../../../../node_modules/axios/index.js",
+      "file": "axios.js",
+      "fileHash": "25330cef",
+      "needsInterop": false
     }
   },
   "chunks": {
-    "chunk-Y2F7D3TJ": {
-      "file": "chunk-Y2F7D3TJ.js"
+    "chunk-P2LSHJDD": {
+      "file": "chunk-P2LSHJDD.js"
     }
   }
 }