From 797cc9c1a5c90f413d46c5cb88e1ee5e3a84b071 Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期二, 04 十月 2022 11:51:05 +0800 Subject: [PATCH] 修改用户只能分配单一角色 --- src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue | 389 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 370 insertions(+), 19 deletions(-) diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue index c46a150..d6606bb 100644 --- a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue +++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue @@ -25,7 +25,7 @@ <el-input v-model="evidence.caseAction" placeholder="璇疯緭鍏ユ鐢�"></el-input> </el-form-item> <!-- 褰撲簨浜轰俊鎭� --> - <el-form-item label="褰撲簨浜轰俊鎭�"> + <el-form-item label="褰撲簨浜轰俊鎭�:" prop="userInfo"> <el-input suffix-icon="el-icon-s-order" @focus="openDialog"></el-input> </el-form-item> <!-- 鎯呭喌鎻忚堪 --> @@ -51,11 +51,89 @@ </el-form-item> </el-form> </div> - <div class="user-form"> - <el-dialog :visible.sync="dialogUser" width="80%" title="璋冨害淇℃伅" v-if="dialogUser" :before-close="handleClose" - append-to-body> - 11111 - </el-dialog> + <div class="user-form" v-show="userFlag"> + <div class="user-form-header"> + <span>璋冨害淇℃伅</span> + <i class="el-icon-close" @click="closeUserForm"></i> + </div> + <div class="user-form-content"> + <el-form ref="userForm" label-width="120px" :model="user" :rules="userRules" autoComplete="on"> + <!-- 杩濇硶绫诲瀷 --> + <el-form-item label="绫诲瀷:" prop="illegalType"> + <el-select v-model="user.illegalType" placeholder="璇烽�夋嫨"> + <el-option v-for="item in typeOptions" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <!-- 濮撳悕銆佹墜鏈哄彿 --> + <div class="user-item"> + <!-- 濮撳悕 --> + <el-form-item label="褰撲簨浜哄鍚�:" prop="name"> + <el-input v-model="user.name"></el-input> + </el-form-item> + <!-- 鎵嬫満鍙� --> + <el-form-item label="鎵嬫満鍙风爜:" prop="phoneCode"> + <el-input v-model="user.phoneCode"></el-input> + </el-form-item> + </div> + <!-- 璇佷欢 --> + <div class="user-item"> + <el-form-item label="璇佷欢绫诲瀷:" prop="certificateType"> + <el-select v-model="user.certificateType" placeholder="璇烽�夋嫨"> + <el-option v-for="item in cardOptions" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="璇佷欢鍙风爜:" prop="certificateCode"> + <el-input v-model="user.certificateCode"></el-input> + </el-form-item> + </div> + <!-- 鏂囧寲绋嬪害\鑱屼笟 --> + <div class="user-item"> + <!-- 鏂囧寲绋嬪害 --> + <el-form-item label="鏂囧寲绋嬪害:" prop="educationDegree"> + <el-select v-model="user.educationDegree" placeholder="璇烽�夋嫨"> + <el-option v-for="item in degreeOptions" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <!-- 鑱屼笟 --> + <el-form-item label="鑱屼笟:" prop="career"> + <el-input v-model="user.career"></el-input> + </el-form-item> + </div> + <!-- 宸ヤ綔鍗曚綅鍙婅亴鍔� --> + <el-form-item label="宸ヤ綔鍗曚綅鍙婅亴鍔�:" prop="work"> + <el-input v-model="user.work"></el-input> + </el-form-item> + <!-- 姘戞棌\绫嶈疮 --> + <div class="user-item"> + <!-- 姘戞棌 --> + <el-form-item label="姘戞棌:" prop="nation"> + <el-input v-model="user.nation"></el-input> + </el-form-item> + <!-- 绫嶈疮 --> + <el-form-item label="绫嶈疮:" prop="nativePlace"> + <el-input v-model="user.nativePlace"></el-input> + </el-form-item> + </div> + <!-- 鐜颁綇鍧� --> + <el-form-item label="鐜颁綇鍧�:" prop="liveAddress"> + <el-input v-model="user.liveAddress"></el-input> + </el-form-item> + <!-- 鎴风睄鎵�鍦ㄥ湴 --> + <el-form-item label="鎴风睄鎵�鍦ㄥ湴:" prop="registerAddress"> + <el-input v-model="user.registerAddress"></el-input> + </el-form-item> + </el-form> + </div> + <div class="user-form-footer"> + <el-button type="primary" @click="checkUser">纭畾</el-button> + <el-button>杩斿洖</el-button> + </div> </div> </div> </template> @@ -111,11 +189,106 @@ callback(); } } + const checkIll = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('妗堜欢绫诲瀷涓嶈兘涓虹┖')); + } + } + const checkName3 = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('褰撲簨浜哄鍚嶄笉鑳戒负绌�')); + } + } + const checkPhone = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('鎵嬫満鍙风爜涓嶈兘涓虹┖')); + } + } + const checkCard = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('璇佷欢绫诲瀷涓嶈兘涓虹┖')); + } + } + const checkCode = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('璇佷欢鍙风爜涓嶈兘涓虹┖')); + } + } + const checkWh = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('鏂囧寲绋嬪害涓嶈兘涓虹┖')); + } + } + const checkCareer = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('鑱屼笟涓嶈兘涓虹┖')); + } + } + const checkWork = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('宸ヤ綔鍗曚綅鍙婅亴鍔′笉鑳戒负绌�')); + } + } + const checkNation = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('姘戞棌涓嶈兘涓虹┖')); + } + } + const checkNaP = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('绫嶈疮涓嶈兘涓虹┖')); + } + } + const checkLiveAdd = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('鐜颁綇鍧�涓嶈兘涓虹┖')); + } + } + const checkRegAdd = (rule, value, callback) => { + if (value) { + callback() + } else { + callback(new Error('鎴风睄鎵�鍦ㄥ湴涓嶈兘涓虹┖')); + } + } + const checkFlag = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('鐢ㄦ埛淇℃伅涓嶈兘涓虹┖')) + } + } return { evidence: { - pic: [] + pic: [], + userInfo: false, }, evidenceRules: { + userInfo: [ + { trigger: 'change', validator: checkFlag } + ], undertaker: [ { trigger: 'blur', validator: checkName @@ -153,10 +326,124 @@ ], }, fileList: [], - user: {}, - dialogUser: false, + user: { + illegalType: '', + name: '', + phoneCode: '', + certificateType: '', + certificateCode: '', + educationDegree: '', + career: '', + work: '', + nation: '', + nativePlace: '', + liveAddress: '', + registerAddress: '', + }, + userRules: { + illegalType: [ + { + trigger: 'change', validator: checkIll, + } + ], + name: [ + { + trigger: 'blur', validator: checkName3 + } + ], + phoneCode: [ + { + trigger: 'blur', validator: checkPhone + } + ], + certificateType: [ + { + trigger: 'change', validator: checkCard + } + ], + certificateCode: [ + { + trigger: 'blur', validator: checkCode + } + ], + educationDegree: [ + { + trigger: 'change', validator: checkWh + } + ], + career: [ + { + trigger: 'blur', validator: checkCareer + } + ], + work: [ + { + trigger: 'blur', validator: checkWork + } + ], + nation: [ + { + trigger: 'blur', validator: checkNation + } + ], + nativePlace: [ + { + trigger: 'blur', validator: checkNaP + } + ], + liveAddress: [ + { + trigger: 'blur', validator: checkLiveAdd + } + ], + registerAddress: [ + { + trigger: 'blur', validator: checkRegAdd + } + ], + }, + userFlag: false, + typeOptions: [ + { + label: '杩濇硶', + value: 1, + }, + { + label: '杩濆缓', + value: 2 + } + ], + cardOptions: [ + { + label: '韬唤璇�', + value: 1, + }, + { + label: '鍏朵粬', + value: 2 + } + ], + degreeOptions:[ + { + label:'灏忓', + value:1 + }, + { + label:'鍒濅腑', + value:2 + }, + { + label:'楂樹腑', + value:3 + }, + { + label:'澶у鍙婁互涓�', + value:4 + }, + ] } }, + props:['getEvidence'], methods: { handleSuccess2(res, file, filelist) { const baseUrl = 'http://140.143.152.226:8410/'; @@ -174,24 +461,39 @@ }, // 鎵撳紑褰撲簨浜轰俊鎭~鍐欒〃 openDialog(e) { - this.dialogUser = true + this.userFlag = true; + this.userInfo = true; }, - // 鍏抽棴褰撲簨浜轰俊鎭� - handleClose(done) { - this.$confirm('纭鍏抽棴锛�') - .then(_ => { - this.dialogUser = false; - done(); - }) - .catch(_ => { }); + // 妫�楠寀ser + checkUser() { + // console.log(this.$refs.userForm.validate); + this.$refs.userForm.validate((valid) => { + console.log(valid); + if (valid) { + this.evidence.userInfo = true; + this.userFlag = false; + } else { + this.evidence.userInfo = false; + return false; + } + }) }, + // 鍏抽棴褰撲簨浜轰俊鎭晫闈� + closeUserForm(){ + this.userFlag = false; + }, + // 杩斿洖褰撳墠evidence鍜寀ser瀵硅薄 + backData(){ + const {user,evidence} = this; + this.$emit('getEvidence',{user,evidence}); + } } } </script> <style lang="scss" scoped> .evidence { line-height: 60px; - + position: relative; .evidence-title { line-height: 60px; font-weight: 650; @@ -233,6 +535,55 @@ background-color: #fbfdff; border-radius: 4px; } +.user-form{ + position: absolute; + top: 0; + z-index: 3000; + background-color: #06122c; + .user-form-header{ + background-color: #fff; + color: #4b9bb7; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + } + padding-bottom: 60px; +} +.user-form-content { + padding-top:20px; + + .user-item { + display: flex; + + .el-input { + flex: 1; + } + } + + ::v-deep .el-textarea__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + + ::v-deep .el-input__count { + background-color: #09152f; + } + + ::v-deep .el-form-item__label { + color: #4b9bb7; + } + + ::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; + } +} + +.user-form-footer { + display: flex; + justify-content: flex-end; +} ::v-deep .el-textarea__inner { background-color: #09152f; -- Gitblit v1.8.0