From 9ff66017debadfc89bc0c1b796684a4d1dbe2bc3 Mon Sep 17 00:00:00 2001 From: fangyuan <527392886@qq.com> Date: 星期五, 16 十二月 2022 10:00:02 +0800 Subject: [PATCH] 已上报到市批量操作按钮隐藏 --- src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue | 434 ++++++++++++++++++++--------------------------------- 1 files changed, 166 insertions(+), 268 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 108127b..952bb4a 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 @@ -3,17 +3,19 @@ <div class="evidence-title">璋冩煡鍙栬瘉</div> <div class="evidence-form"> <el-form ref="evidenceForm" label-width="160px" :model="evidence" :rules="evidenceRules" autoComplete="on"> - <!-- 鎵垮姙闃熷憳 --> - <el-form-item label="鎵垮姙闃熷憳:" prop="undertaker"> - <el-input v-model="evidence.undertaker" placeholder="璇疯緭鍏ュ鍚�"></el-input> - </el-form-item> - <!-- 鍗忓姙闃熷憳 --> - <el-form-item label="鍗忓姙闃熷憳:" prop="assistant"> - <el-input v-model="evidence.assistant" placeholder="璇疯緭鍏ュ鍚�"></el-input> - </el-form-item> + <div class="evidence-item"> + <!-- 鎵垮姙闃熷憳 --> + <el-form-item label="鎵垮姙闃熷憳:" prop="undertaker"> + <el-input v-model="evidence.undertaker" placeholder="璇疯緭鍏ュ鍚�"></el-input> + </el-form-item> + <!-- 鍗忓姙闃熷憳 --> + <el-form-item label="鍗忓姙闃熷憳:" label-width="100px" prop="assistant"> + <el-input v-model="evidence.assistant" placeholder="璇疯緭鍏ュ鍚�"></el-input> + </el-form-item> + </div> <!-- 鏃堕棿 --> <el-form-item label="鏃堕棿:" prop="investigationTime"> - <el-date-picker v-model="evidence.investigationTime" type="datetime" placeholder="閫夋嫨鏃堕棿"> + <el-date-picker v-model="evidence.investigationTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="閫夋嫨鏃堕棿"> </el-date-picker> </el-form-item> <!-- 鍦板潃 --> @@ -25,27 +27,18 @@ <el-input v-model="evidence.caseAction" placeholder="璇疯緭鍏ユ鐢�"></el-input> </el-form-item> <!-- 褰撲簨浜轰俊鎭� --> - <el-form-item label="褰撲簨浜轰俊鎭�:" prop="userInfo"> - <el-input suffix-icon="el-icon-s-order" @focus="openDialog"></el-input> + <el-form-item label="褰撲簨浜轰俊鎭�:" prop="userInfo" class="sp-user-info"> + <el-input suffix-icon="el-icon-s-order" v-model="evidence.userInfo" @focus="openDialog"></el-input> </el-form-item> <!-- 鎯呭喌鎻忚堪 --> - <el-form-item label="鎯呭喌鎻忚堪:" prop="description"> - <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="200" show-word-limit - v-model="evidence.description" placeholder="璇疯緭鍏ユ儏鍐垫弿杩�,闄愬埗200瀛椾互鍐�"></el-input> + <el-form-item label="澶勭疆缁撴灉:" prop="description"> + <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit + v-model="evidence.description" placeholder="璇疯緭鍏ュ缃粨鏋�,闄愬埗200瀛椾互鍐�"></el-input> </el-form-item> <!-- 鐓х墖闄勪欢 --> - <el-form-item label="鐓х墖闄勪欢:" prop="photo"> + <el-form-item label="鐓х墖闄勪欢:" prop="pic"> <div class="upImg"> - <div class="img-list"> - <img :src="item" alt="" v-for="(item,index) in evidence.pic" :key="index"> - </div> - <div class="upload" v-if="evidence.pic.length<4"> - <el-upload :file-list="fileList" class="upload-demo" - action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false" - :limit="4" :on-success="handleSuccess2" :headers="getToken()"> - <i class="el-icon-plus"></i> - </el-upload> - </div> + <MyUpload :picture-list="evidence.pic" @setPictureUrl="setPicUrl" @delPictureUrl="delPicUrl"></MyUpload> <div class="tip">{{evidence.pic.length}} / 4</div> </div> </el-form-item> @@ -59,12 +52,8 @@ <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 label="绫诲瀷:" prop="illegalType" :disabled="true"> + <el-input v-model="user.illegalType"></el-input> </el-form-item> <!-- 濮撳悕銆佹墜鏈哄彿 --> <div class="user-item"> @@ -81,8 +70,8 @@ <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 v-for="item in cardOptions" :key="item.id" :label="item.name" + :value="item.id"> </el-option> </el-select> </el-form-item> @@ -95,8 +84,8 @@ <!-- 鏂囧寲绋嬪害 --> <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 v-for="item in degreeOptions" :key="item.id" :label="item.name" + :value="item.id"> </el-option> </el-select> </el-form-item> @@ -113,7 +102,11 @@ <div class="user-item"> <!-- 姘戞棌 --> <el-form-item label="姘戞棌:" prop="nation"> - <el-input v-model="user.nation"></el-input> + <el-select v-model="user.nation" placeholder="璇烽�夋嫨"> + <el-option v-for="item in nationOptions" :key="item.id" :label="item.name" + :value="item.id"> + </el-option> + </el-select> </el-form-item> <!-- 绫嶈疮 --> <el-form-item label="绫嶈疮:" prop="nativePlace"> @@ -132,80 +125,37 @@ </div> <div class="user-form-footer"> <el-button type="primary" @click="checkUser">纭畾</el-button> - <el-button>杩斿洖</el-button> + <el-button @click="userFlag = false">杩斿洖</el-button> </div> </div> </div> </template> <script> +import { deepClone, getTypeList } from '@/utils/helper' +import { validateName, validatePhone, validateCardId } from '@/utils/validate' +import MyUpload from "@/components/myUpload" export default { + components: { + MyUpload + }, data() { - const checkName = (rule, value, callback) => { - if (value) { - callback() - } else { - callback(new Error('鎵垮姙闃熷憳鍚嶅瓧涓嶈兘涓虹┖')); - } - } - const checkName2 = (rule, value, callback) => { - if (value) { - callback() - } else { - callback(new Error('鍗忓姙闃熷憳鍚嶅瓧涓嶈兘涓虹┖')); - } - } - const checkTime2 = (rule, value, callback) => { - if (value) { - callback() - } else { - callback(new Error('姝ゅ鏃堕棿涓嶈兘涓虹┖')); - } - } - const checkAddress2 = (rule, value, callback) => { - if (value) { - callback() - } else { - callback(new Error('姝ゅ鍦板潃涓嶈兘涓虹┖')); - } - } - const checkCase = (rule, value, callback) => { - if (value) { - callback() - } else { - callback(new Error('妗堢敱涓嶈兘绌�')); - } - } - const checkDesc = (rule, value, callback) => { - if (value) { - callback() - } else { - callback(new Error('鎯呭喌鎻忚堪涓嶈兘涓虹┖')); - } - } const checkPic = (rule, value, callback) => { - if (value) { + if (value.length !== 0) { callback() } else { - callback(); + callback(new Error('璇蜂笂浼犵収鐗囬檮浠�')); } } - const checkIll = (rule, value, callback) => { + const checkUserName = (rule, value, callback) => { if (value) { - callback() - } else { - callback(new Error('妗堜欢绫诲瀷涓嶈兘涓虹┖')); - } - } - const checkName3 = (rule, value, callback) => { - if (value) { - callback() + validateName(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑濮撳悕')) } else { callback(new Error('褰撲簨浜哄鍚嶄笉鑳戒负绌�')); } } const checkPhone = (rule, value, callback) => { if (value) { - callback() + validatePhone(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙风爜')) } else { callback(new Error('鎵嬫満鍙风爜涓嶈兘涓虹┖')); } @@ -219,58 +169,9 @@ } const checkCode = (rule, value, callback) => { if (value) { - callback() + validateCardId(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑璇佷欢鍙风爜')) } 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) => { @@ -282,55 +183,31 @@ } return { evidence: { + undertaker: null, + assistant: null, + investigationTime: null, + address: null, + caseAction: null, + description: null, pic: [], - userInfo: false, + userInfo: null }, evidenceRules: { - userInfo: [ - { trigger: 'change', validator: checkFlag } - ], - undertaker: [ - { - trigger: 'blur', validator: checkName - } - ], - assistant: [ - { - trigger: 'blur', validator: checkName2 - } - ], - investigationTime: [ - { - trigger: 'change', validator: checkTime2 - } - ], - address: [ - { - trigger: 'blur', validator: checkAddress2 - } - ], - caseAction: [ - { - trigger: 'blur', validator: checkCase - } - ], - description: [ - { - trigger: 'blur', validator: checkDesc - } - ], - pic: [ - { - trigger: 'blur', validator: checkPic - } - ], + userInfo: [{ trigger: ['change', 'blur'], validator: checkFlag }], + undertaker: [{ trigger: ['change', 'blur'], message: '鎵垮姙闃熷憳鍚嶅瓧涓嶈兘涓虹┖', required: true }], + assistant: [{ trigger: ['change', 'blur'], message: '鍗忓姙闃熷憳鍚嶅瓧涓嶈兘涓虹┖', required: true }], + investigationTime: [{ trigger: ['change', 'blur'], message: '姝ゅ鏃堕棿涓嶈兘涓虹┖', required: true }], + address: [{ trigger: ['change', 'blur'], message: '姝ゅ鍦板潃涓嶈兘涓虹┖', required: true }], + caseAction: [{ trigger: ['change', 'blur'], message: '妗堢敱涓嶈兘绌�', required: true }], + description: [{ trigger: ['change', 'blur'], message: '鎯呭喌鎻忚堪涓嶈兘涓虹┖', required: true }], + pic: [{ trigger: ['change', 'blur'], validator: checkPic }], }, fileList: [], user: { illegalType: '', name: '', phoneCode: '', - certificateType: '', + certificateType: 703, certificateCode: '', educationDegree: '', career: '', @@ -341,66 +218,14 @@ 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 - } - ], + illegalType: [{ trigger: ['change', 'blur'], message: '妗堜欢绫诲瀷涓嶈兘涓虹┖', required: true }], + name: [{ required: true,trigger: ['change', 'blur'], validator: checkUserName }], + phoneCode: [{ required: true,trigger: ['change', 'blur'], validator: checkPhone }], + certificateType: [{ trigger: ['change', 'blur'], validator: checkCard }], + certificateCode: [{ required: true,trigger: ['change', 'blur'], validator: checkCode }], + educationDegree: [{ required: true, trigger: ['change', 'blur'], message: '鏂囧寲绋嬪害涓嶈兘涓虹┖' }], + nation: [{ required: true, trigger: ['change', 'blur'], message: '姘戞棌涓嶈兘涓虹┖' }], + liveAddress: [{ required: true, trigger: ['change', 'blur'], message: '鐜颁綇鍧�涓嶈兘涓虹┖' }], }, userFlag: false, typeOptions: [ @@ -413,6 +238,7 @@ value: 2 } ], + nationOptions: [], cardOptions: [ { label: '韬唤璇�', @@ -423,31 +249,42 @@ value: 2 } ], - degreeOptions:[ + degreeOptions: [ { - label:'灏忓', - value:1 + label: '灏忓', + value: 1 }, { - label:'鍒濅腑', - value:2 + label: '鍒濅腑', + value: 2 }, { - label:'楂樹腑', - value:3 + label: '楂樹腑', + value: 3 }, { - label:'澶у鍙婁互涓�', - value:4 + label: '澶у鍙婁互涓�', + value: 4 }, - ] + ], + basecase: null } }, - props:['getEvidence'], + async created() { + await this.getCardTypeList(); + await this.getSchoolList(); + await this.getNationList(); + this.$set(this.user, 'illegalType', this.illegalType); + if (this.evidenceData) { + this.evidence = deepClone(this.evidenceData); + this.evidence.pic = this.evidenceData.pic.split(','); + this.user = this.evidence.partyInfo; + this.evidence.userInfo = this.evidence.partyInfo.name; + } + }, methods: { handleSuccess2(res, file, filelist) { const baseUrl = 'http://140.143.152.226:8410/'; - console.log(res); if (this.evidence.pic.length < 4) { this.evidence.pic.push(baseUrl + res.data.url1) } @@ -463,37 +300,68 @@ openDialog(e) { this.userFlag = true; this.userInfo = true; + this.$set(this.user, 'illegalType', this.illegalType); }, // 妫�楠寀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; + this.evidence.userInfo = this.user.name + '...'; + this.userFlag = false; } else { - this.evidence.userInfo = false; - return false; + this.evidence.userInfo = null; + this.$message.warning('璇锋鏌ュ繀濉」'); } }) }, // 鍏抽棴褰撲簨浜轰俊鎭晫闈� - closeUserForm(){ + closeUserForm() { this.userFlag = false; }, // 杩斿洖褰撳墠evidence鍜寀ser瀵硅薄 - backData(){ - const {user,evidence} = this; - this.$emit('getEvidence',{user,evidence}); + backData() { + const { user, evidence } = this; + this.$emit('getEvidence', { user, evidence }); + }, + // 鍒犻櫎鍥剧墖 + handleRemove(index) { + this.evidence.pic.splice(index, 1); + }, + // 鑾峰彇璇佷欢绫诲瀷 + async getCardTypeList() { + this.cardOptions = await getTypeList(1, '03'); + }, + // 鑾峰彇瀛﹀巻 + async getSchoolList() { + this.degreeOptions = await getTypeList(1, '04'); + }, + // 鑾峰彇姘戞棌鍒楄〃 + async getNationList() { + this.nationOptions = await getTypeList(1, '05'); + }, + // 璁剧疆涓婁紶鎴愬姛涔嬪悗鐨勫浘鐗囧湴鍧� + setPicUrl({ url }) { + const baseUrl = 'http://140.143.152.226:8410/'; + if (this.evidence.pic.length < 4) { + this.evidence.pic.push(baseUrl + url); + } + }, + //鍒犻櫎鍥剧墖 + delPicUrl({url}){ + const baseUrl = 'http://140.143.152.226:8410/'; + this.evidence.pic.splice(this.evidence.pic.indexOf(baseUrl + url),1); } - } + }, + props:['evidenceData', 'illegalType'] } </script> <style lang="scss" scoped> .evidence { line-height: 60px; position: relative; + .evidence-item{ + display: flex; + } .evidence-title { line-height: 60px; font-weight: 650; @@ -515,12 +383,25 @@ } .img-list { - height: 80px; + height: 60px; position: relative; + display: flex; img { width: 60px; height: 60px; + } + + .img { + height: 60px; + position: relative; + } + + .myicon { + position: absolute; + top: 0px; + right: 0px; + color: #4b9bb7; } } } @@ -535,12 +416,14 @@ background-color: #fbfdff; border-radius: 4px; } -.user-form{ + +.user-form { position: absolute; top: 0; z-index: 3000; background-color: #06122c; - .user-form-header{ + + .user-form-header { background-color: #fff; color: #4b9bb7; display: flex; @@ -548,17 +431,32 @@ align-items: center; padding: 0 20px; } + padding-bottom: 60px; } +.sp-user-info{ + ::v-deep .el-input{ + width: 200px; + } +} .user-form-content { - padding-top:20px; + padding-top: 20px; .user-item { display: flex; + justify-content: flex-start; .el-input { flex: 1; } + + .el-select { + flex: 1; + + :deep(.el-input__inner){ + padding: 0px 15px; + } + } } ::v-deep .el-textarea__inner { -- Gitblit v1.8.0