From df18b23b4569828d6be32fb64c80492241e1fc46 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 16 十月 2023 20:31:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue | 283 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 218 insertions(+), 65 deletions(-) diff --git a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue index 864b72c..e64436d 100644 --- a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue +++ b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue @@ -1,6 +1,25 @@ <template> - <basic-container> + <basic-container > <avue-crud v-model="form" :option="option" :data="data" ref="crud" @on-load="onLoad" @row-save="rowSave" @row-update="rowUpdate" @row-del="rowDel" :page.sync="page"> + <template slot="menu" slot-scope="{ row, index }"> + <el-button + type="text" + size="small" + icon="el-icon-edit" + @click="handleEdit(row, index)" + > + 缂栬緫 + </el-button> + <el-button + type="text" + size="small" + icon="el-icon-delete" + @click="handleDel(row, index)" + > + 鍒犻櫎 + </el-button> + </template> + <template slot="icon" slot-scope="scope"> <i :class="scope.row.icon" style="font-size:24px"></i> </template> @@ -14,7 +33,8 @@ // getOnesearch, getadd, getupdata, - getremove + getremove, + combination } from "@/api/system/passwords"; export default { name: "passwords.vue", @@ -23,6 +43,14 @@ let validatePass="" //鏈�澶ч暱搴︽鍒欑粦瀹氬�� let validatePass1="" + //杩囨湡鏃堕棿姝e垯缁戝畾鍊� + let validatePass2="" + //鎻愰啋鏃堕棿姝e垯缁戝畾鍊� + let validatePass3="" + //閿佸畾娆℃暟姝e垯缁戝畾鍊� + let validatePass4="" + //閿佸畾鏃堕棿姝e垯缁戝畾鍊� + let validatePass5="" //鏈�灏忛暱搴︾粦瀹歷alue let values="" //鏈�澶ч暱搴︾粦瀹歷alue @@ -30,21 +58,65 @@ //鏈�灏忛暱搴︽鍒欐柟娉� validatePass = (rule, value,callback) => { values=value*1 - if(value === ""){ + if(value == ""){ callback(new Error('璇疯緭鍏ュ瘑鐮佹渶灏忛暱搴�')); - }else if(values >= values1*1){ - callback(new Error('瀵嗙爜鏈�灏忛暱搴︿笉鑳藉ぇ浜庡瘑鐮佹渶澶ч暱搴�')); + // }else if(values >= values1*1){ + // callback(new Error('瀵嗙爜鏈�灏忛暱搴︿笉鑳藉ぇ浜庡瘑鐮佹渶澶ч暱搴�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('瀵嗙爜鏈�灏忛暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�')); + }else { + callback(); } }; //鏈�澶ч暱搴︽鍒欐柟娉� validatePass1= (rule, value,callback) =>{ values1=value*1 - if(value === ""){ + if(value == ""){ callback(new Error('璇疯緭鍏ュ瘑鐮佹渶澶ч暱搴�')); }else if(values1 <= values){ callback(new Error('瀵嗙爜鏈�澶ч暱搴︿笉鑳藉皬浜庡瘑鐮佹渶澶ч暱搴�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('瀵嗙爜鏈�澶ч暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�')); + }else { + callback(); } - } + }; + validatePass2 = (rule, value,callback) => { + if(value == ""){ + callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); + }else { + callback(); + } + }; + validatePass3 = (rule, value,callback) => { + if(value == ""){ + callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); + }else { + callback(); + } + }; + validatePass4 = (rule, value,callback) => { + if(value == ""){ + callback(new Error('璇疯緭鍏ラ攣瀹氭鏁�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('閿佸畾娆℃暟鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); + }else { + callback(); + } + }; + validatePass5 = (rule, value,callback) => { + if(value == ""){ + callback(new Error('璇疯緭鍏ラ攣瀹氭椂闂�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('閿佸畾鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); + }else { + callback(); + } + }; return { form:{}, page: { @@ -56,15 +128,20 @@ option: { headerAlign: 'center', align: 'center', + columnBtn:false, border: true, index: true, rowKey:'id', + editBtn:false, + height:700, + delBtn:false, column: [ { label: '绛栫暐鍚嶇О', prop: 'strategyName', align: 'left', span:24, + labelWidth: "11%", rules: [{ required: true, message: "璇疯緭鍏ョ瓥鐣ュ悕绉�", @@ -74,68 +151,60 @@ { label: '瀵嗙爜鏈�灏忛暱搴�', prop: 'minPwdLen', - labelWidth:118, span:12, + labelWidth:"22%", rules: [{ required: true, validator:validatePass, - trigger: "blur" - + trigger: 'blur' }] }, { label: '瀵嗙爜鏈�澶ч暱搴�', prop: 'maxPwdLen', - labelWidth:118, span:12, + labelWidth:"25%", rules: [{ required: true, validator:validatePass1, - trigger: "blur" + trigger: 'change' }] }, { label: '缁勫悎鏂规硶', prop: 'combinationNames', labelWidth: 91, - display:false + display:false, + }, { - //鍐欎袱涓粍鍚堟柟娉曟槸鍥犱负id鍜宯ame涓嶈兘鍚屾椂缁戝畾杩欎釜prop鏉ユ覆鏌擄紝涓�涓〃鏍煎仛闅愯棌鏉ユ暟鎹搷浣滐紙琛ㄥ崟闅愯棌锛夛紝鍙︿竴涓〃鏍煎仛鏄剧ず鍙樉绀哄湪椤甸潰锛堣〃鍗曢殣钘忥級銆� label: '缁勫悎鏂规硶', prop: 'combinationIds', type: "checkbox", - labelWidth:91, + span:12, + labelWidth:"22%", + id:5, hide:true, + change:this.handleCheckboxChange, rules: [{ required: true, message: "璇烽�夋嫨缁勫悎鏂规硶", trigger: "blur" }], - dicData: [ - { - label: "鏁板瓧", - value: '1638024706425188354' - }, - { - label: "绗﹀彿", - value: '1638097837516926977' - }, - { - label: "灏忓啓瀛楁瘝", - value: '1638097772983365634' - }, - { - label: "澶у啓瀛楁瘝", - value: '1638097733707902977' - }, - ], + dicUrl: '/api/ubcs-system/combination/select', + dicMethod: 'get', + props: { + value: "ID", + label: "NAME", + }, }, { label: '蹇呭~绉嶇被', prop: 'requiredType', type: 'select', - labelWidth: 91, + span:12, + labelWidth:"25%", + change:this.handleSelectChange, rules: [{ required: true, message: "璇烽�夋嫨蹇呭~绉嶇被", @@ -143,19 +212,23 @@ }], dicData:[{ label:'1绉�', - value:0 - }, + value:1, + disabled:false + }, { label:'2绉�', - value:1 + value:2, + disabled:false }, { label:'3绉�', - value:2 + value:3, + disabled:false }, { label:'4绉�', - value:3 + value:4, + disabled:false } ] @@ -163,53 +236,54 @@ { label: '杩囨湡鏃堕棿(澶�)', prop:'expirationTime', - labelWidth:115, + span:12, + labelWidth:"22%", rules: [{ required: true, - message: "璇疯緭鍏ヨ繃鏈熸椂闂�", - trigger: "blur" + validator:validatePass2, + trigger: 'blur' }] }, { label: '鎻愰啋鏃堕棿(澶�)', prop:'reminderTime', - labelWidth:113, + span:12, + labelWidth:"25%", rules: [{ required: true, - message: "璇疯緭鍏ユ彁閱掓椂闂�", - trigger: "blur" + validator:validatePass3, + trigger: 'blur' }] }, { label: '閿佸畾娆℃暟(娆�)', prop:'lockingNum', - labelWidth:116, + span:12, + labelWidth:"22%", rules: [{ required: true, - message: "璇疯緭鍏ラ攣瀹氭鏁�", - trigger: "blur" + validator:validatePass4, + trigger: 'blur' }] }, { label: '閿佸畾鏃堕棿(鍒嗛挓)', prop:'lockingTime', - labelWidth:128, + span:12, + labelWidth:"25%", rules: [{ required: true, - message: "璇疯緭鍏ラ攣瀹氭椂闂�", - trigger: "blur" + validator:validatePass5, + trigger: 'blur' }] }, { label: '鎻忚堪', prop:'desc', type: 'textarea', + span:12, + labelWidth:"22%", rows: 5, - rules: [{ - required: true, - message: "璇风畝鎷弿杩�", - trigger: "blur" - }] }, { label: '鏄惁涓洪粯璁ょ瓥鐣�', @@ -225,18 +299,71 @@ }] } ], - } + }, + //娣诲姞瀛樻斁澶氶�夌殑鍙橀噺,鐢ㄤ簬涓嬫媺鑿滃崟鐨勭鐢ㄦ晥鏋滃拰蹇呭~绉嶇被鏄惁澶т簬缁勫悎鏂瑰紡鐒跺悗鎻愮ず鐢ㄦ埛閲嶆柊閫夋嫨 + checkboxlength:"", + //杩欎釜鏄笅鎷夎彍鍗曠殑鏁版嵁鍙橀噺 + selectlength:"", + //杩欎釜鏄敤浜庨槻姝hange鏃堕棿鍐掓场,鍑虹幇涓ゆ寮圭獥瀹氫箟鐨勫彉閲� + checkboxlist:"", + //鐢ㄤ簬棣栨鐐瑰嚮缂栬緫锛屽垽鏂粍鍚堟柟寮忔槸鍚﹀皬浜庡繀濉绫荤殑鍙橀噺 + checkboxNumber:"", + selectNumber:"", + //杩欎釜涔熸槸瀛樻斁澶氶�夌殑鍙橀噺,鏁堟灉涓�鏍�,鍙槸鐢ㄤ綔鍦ㄧ紪杈戞ā鍧� + checkboxedit:"", + // 鐢ㄤ簬鍒ゆ柇鏄惁鏄紪杈� + editFlag:false } }, created() { this.onLoad() - + combination().then(res=>{ + console.log("111",res) + }) }, mount() { - }, methods:{ + handleSelectChange(val){ + this.selectlength=val + // if(val.value >= this.checkboxlength.value.length && this.checkboxlength.value.length > 0){ + // console.log("澶т簬") + // } + }, + handleCheckboxChange(val) { + const arr = this.option.column[5]; + this.checkboxlength = val.value; + this.checkboxedit = this.checkboxlength.toString().split(","); + + if (val.value != undefined && val.value != null) { + if (this.checkboxlist == val.value) { + } else { + this.checkboxlist = val.value; + if ( + this.selectlength.value >= val.value.length && + val.value.length > 0 + ) { + this.showMessage("蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�"); + } else if ( + this.selectlength.value >= this.checkboxedit.length && + this.checkboxedit.length > 0 + ) { + this.showMessage("蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�"); + } + } + } + const disabledCount = Math.min(this.checkboxedit.length, 4); + for (let i = 0; i < arr.dicData.length; i++) { + arr.dicData[i].disabled = i >= disabledCount; + } + if (this.editFlag == true) { + const disabledCount = Math.min(this.checkboxedit.length, 4); + for (let i = 0; i < arr.dicData.length; i++) { + arr.dicData[i].disabled = i >= disabledCount; + } + } + }, rowDel(row){ this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { confirmButtonText: "纭畾", @@ -252,13 +379,15 @@ message: "鎿嶄綔鎴愬姛!" }); this.onLoad(); - }); + }).catch(res=>{ + console.log(res) + }) }, rowSave(row,done){ //灏嗗瘑鐮佺粍鍚堟柟寮忕殑鏁版嵁杞崲涓哄瓧绗︿覆 const spliceId= row.combinationIds.toString() row.combinationIds=spliceId - getadd(row).then(()=>{ + getadd(row).then((res)=>{ // this.onLoad(this.page); this.$message({ type: "success", @@ -267,8 +396,29 @@ done(row) this.onLoad() }).catch((res)=>{ - console.log(res) + this.$message.warning(res) }) + }, + rowEdit(row){ + console.log("鎵撳紑缂栬緫edit",row) + }, + handleDel(row){ + this.$refs.crud.rowDel(row,row.$index); + }, + handleEdit(row){ + this.$refs.crud.rowEdit(row,row.$index); + this.editFlag=true; + // const arr=this.option.column[5]; + this.checkboxNumber=row.combinationIds.split(",") + this.selectNumber=row.requiredType + console.log(this.checkboxNumber, this.selectNumber) + // 鎵撳紑缂栬緫棣栧厛鍒ゆ柇锛岀粍鍚堟柟娉曟槸鍚﹀皬浜庡繀濉绫伙紝濡傛灉灏忎簬缁欎簣鎻愰啋淇敼 + if(this.checkboxNumber.length<=this.selectNumber){ + this.$message({ + type:"warning", + message:"蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�" + }) + } }, rowUpdate(row,index,done){ getupdata(row).then(()=>{ @@ -278,6 +428,8 @@ message: "淇敼鎴愬姛!" }); done() + }).catch(res=>{ + console.log(res) }) }, onLoad(page, params = {}) { @@ -288,7 +440,9 @@ // this.data = data.records; // this.loading = false; // this.selectionClear(); - this.data=res.data.data.content + console.log(res) + this.page.total=res.data.data.total + this.data=res.data.data.records }); } } @@ -296,6 +450,5 @@ } </script> -<style scoped> - +<style lang="scss" scoped> </style> -- Gitblit v1.9.3