From b1ed46fcf0b28fa9278fc87e95410f7063ce4340 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 25 一月 2024 10:13:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue | 462 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 248 insertions(+), 214 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
index 4326828..f850c83 100644
--- a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
+++ b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
@@ -1,19 +1,22 @@
<template>
- <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">
+ <basic-container>
+ <avue-crud ref="crud" v-model="form" :data="data" :option="option" :page.sync="page" @on-load="onLoad"
+ @row-save="rowSave" @row-update="rowUpdate" @row-del="rowDel">
<template slot="menu" slot-scope="{ row, index }">
<el-button
- type="text"
- size="small"
+ v-if="permissionList.editBtn"
icon="el-icon-edit"
+ size="small"
+ type="text"
@click="handleEdit(row, index)"
>
缂栬緫
</el-button>
<el-button
- type="text"
- size="small"
+ v-if="permissionList.delBtn"
icon="el-icon-delete"
+ size="small"
+ type="text"
@click="handleDel(row, index)"
>
鍒犻櫎
@@ -36,111 +39,78 @@
getremove,
combination
} from "@/api/system/passwords";
+import {mapGetters} from "vuex";
+
export default {
name: "passwords.vue",
data() {
- // 鏈�灏忛暱搴︽鍒欑粦瀹氬��
- let validatePass=""
- //鏈�澶ч暱搴︽鍒欑粦瀹氬��
- let validatePass1=""
- //杩囨湡鏃堕棿姝e垯缁戝畾鍊�
- let validatePass2=""
- //鎻愰啋鏃堕棿姝e垯缁戝畾鍊�
- let validatePass3=""
- //閿佸畾娆℃暟姝e垯缁戝畾鍊�
- let validatePass4=""
- //閿佸畾鏃堕棿姝e垯缁戝畾鍊�
- let validatePass5=""
- //鏈�灏忛暱搴︾粦瀹歷alue
- let values=""
- //鏈�澶ч暱搴︾粦瀹歷alue
- let values1=""
- //鏈�灏忛暱搴︽鍒欐柟娉�
- validatePass = (rule, value,callback) => {
- values=value*1
- if(value == ""){
- 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 == ""){
- 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:{},
+ //鏈�灏忛暱搴︾粦瀹歷alue
+ values: "",
+ //鏈�澶ч暱搴︾粦瀹歷alue
+ values1: "",
+ form: {},
page: {
pageSize: 10,
currentPage: 1,
total: 100
},
data: [],
- option: {
+
+ //娣诲姞瀛樻斁澶氶�夌殑鍙橀噺,鐢ㄤ簬涓嬫媺鑿滃崟鐨勭鐢ㄦ晥鏋滃拰蹇呭~绉嶇被鏄惁澶т簬缁勫悎鏂瑰紡鐒跺悗鎻愮ず鐢ㄦ埛閲嶆柊閫夋嫨
+ checkboxlength: "",
+ //杩欎釜鏄笅鎷夎彍鍗曠殑鏁版嵁鍙橀噺
+ selectlength: "",
+ //杩欎釜鏄敤浜庨槻姝hange鏃堕棿鍐掓场,鍑虹幇涓ゆ寮圭獥瀹氫箟鐨勫彉閲�
+ checkboxlist: "",
+ //鐢ㄤ簬棣栨鐐瑰嚮缂栬緫锛屽垽鏂粍鍚堟柟寮忔槸鍚﹀皬浜庡繀濉绫荤殑鍙橀噺
+ checkboxNumber: "",
+ selectNumber: "",
+ //杩欎釜涔熸槸瀛樻斁澶氶�夌殑鍙橀噺,鏁堟灉涓�鏍�,鍙槸鐢ㄤ綔鍦ㄧ紪杈戞ā鍧�
+ checkboxedit: "",
+ // 鐢ㄤ簬鍒ゆ柇鏄惁鏄紪杈�
+ editFlag: false
+ }
+
+ },
+ computed: {
+ ...mapGetters(["permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.password.password_add, false),
+ //viewBtn: this.vaildData(this.permission.password.user_view, false),
+ delBtn: this.vaildData(this.permission.password.password_delete, false),
+ editBtn: this.vaildData(this.permission.password.password_edit, false),
+ };
+ },
+ platformPermissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.password.password_add, false),
+ //viewBtn: this.vaildData(this.permission.password.user_view, false),
+ delBtn: this.vaildData(this.permission.password.password_delete, false),
+ editBtn: this.vaildData(this.permission.password.password_edit, false),
+ };
+ },
+ option() {
+ return {
+ height: 'auto',
+ calcHeight: 20,
headerAlign: 'center',
align: 'center',
- columnBtn:false,
+ columnBtn: false,
border: true,
index: true,
- rowKey:'id',
- editBtn:false,
- height:700,
- delBtn:false,
+ rowKey: 'id',
+ addBtn: this.permissionList.addBtn,
+ editBtn: false,
+ delBtn: false,
+ refreshBtn: false,
column: [
{
label: '绛栫暐鍚嶇О',
prop: 'strategyName',
align: 'left',
- span:24,
+ span: 24,
labelWidth: "11%",
rules: [{
required: true,
@@ -151,22 +121,44 @@
{
label: '瀵嗙爜鏈�灏忛暱搴�',
prop: 'minPwdLen',
- span:12,
- labelWidth:"22%",
+ span: 12,
+ labelWidth: "22%",
rules: [{
required: true,
- validator:validatePass,
+ validator: (rule, value, callback) => {
+ this.values = value * 1
+ if (value == "") {
+ callback(new Error('璇疯緭鍏ュ瘑鐮佹渶灏忛暱搴�'));
+ } else if (/[^\d]/g.test(value)) {
+ callback(new Error('瀵嗙爜鏈�灏忛暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�'));
+ } else if (this.values >= this.values1 && this.values1 != 0) {
+ callback(new Error('瀵嗙爜鏈�灏忛暱搴︿笉鑳藉ぇ浜庡瘑鐮佹渶澶ч暱搴�'))
+ } else {
+ callback();
+ }
+ },
trigger: 'blur'
}]
},
{
label: '瀵嗙爜鏈�澶ч暱搴�',
prop: 'maxPwdLen',
- span:12,
- labelWidth:"25%",
+ span: 12,
+ labelWidth: "25%",
rules: [{
required: true,
- validator:validatePass1,
+ validator: (rule, value, callback) => {
+ this.values1 = value * 1
+ if (value == "") {
+ callback(new Error('璇疯緭鍏ュ瘑鐮佹渶澶ч暱搴�'));
+ } else if (this.values1 <= this.values) {
+ callback(new Error('瀵嗙爜鏈�澶ч暱搴︿笉鑳藉皬浜庡瘑鐮佹渶澶ч暱搴�'));
+ } else if (/[^\d]/g.test(value)) {
+ callback(new Error('瀵嗙爜鏈�澶ч暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�'));
+ } else {
+ callback();
+ }
+ },
trigger: 'change'
}]
},
@@ -174,17 +166,17 @@
label: '缁勫悎鏂规硶',
prop: 'combinationNames',
labelWidth: 91,
- display:false,
+ display: false,
},
{
label: '缁勫悎鏂规硶',
prop: 'combinationIds',
type: "checkbox",
- span:12,
- labelWidth:"22%",
- id:5,
- hide:true,
+ span: 12,
+ labelWidth: "22%",
+ id: 5,
+ hide: true,
change: this.handleCheckboxChange,
rules: [{
required: true,
@@ -202,87 +194,119 @@
label: '蹇呭~绉嶇被',
prop: 'requiredType',
type: 'select',
- span:12,
- labelWidth:"25%",
- change:this.handleSelectChange,
+ span: 12,
+ labelWidth: "25%",
+ change: this.handleSelectChange,
rules: [{
required: true,
message: "璇烽�夋嫨蹇呭~绉嶇被",
trigger: "blur"
}],
- dicData:[{
- label:'1绉�',
- value:1,
- disabled:false
+ dicData: [{
+ label: '1绉�',
+ value: 1,
+ disabled: false
+ },
+ {
+ label: '2绉�',
+ value: 2,
+ disabled: false
},
{
- label:'2绉�',
- value:2,
- disabled:false
+ label: '3绉�',
+ value: 3,
+ disabled: false
},
{
- label:'3绉�',
- value:3,
- disabled:false
- },
- {
- label:'4绉�',
- value:4,
- disabled:false
+ label: '4绉�',
+ value: 4,
+ disabled: false
}
]
},
{
label: '杩囨湡鏃堕棿(澶�)',
- prop:'expirationTime',
- span:12,
- labelWidth:"22%",
+ prop: 'expirationTime',
+ span: 12,
+ labelWidth: "22%",
rules: [{
required: true,
- validator:validatePass2,
+ validator: (rule, value, callback) => {
+ if (value == "") {
+ callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�'));
+ } else if (/[^\d]/g.test(value)) {
+ callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
+ } else {
+ callback();
+ }
+ },
trigger: 'blur'
}]
},
{
label: '鎻愰啋鏃堕棿(澶�)',
- prop:'reminderTime',
- span:12,
- labelWidth:"25%",
+ prop: 'reminderTime',
+ span: 12,
+ labelWidth: "25%",
rules: [{
required: true,
- validator:validatePass3,
+ validator: (rule, value, callback) => {
+ if (value == "") {
+ callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�'));
+ } else if (/[^\d]/g.test(value)) {
+ callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
+ } else {
+ callback();
+ }
+ },
trigger: 'blur'
}]
},
{
label: '閿佸畾娆℃暟(娆�)',
- prop:'lockingNum',
- span:12,
- labelWidth:"22%",
+ prop: 'lockingNum',
+ span: 12,
+ labelWidth: "22%",
rules: [{
required: true,
- validator:validatePass4,
+ validator: (rule, value, callback) => {
+ if (value == "") {
+ callback(new Error('璇疯緭鍏ラ攣瀹氭鏁�'));
+ } else if (/[^\d]/g.test(value)) {
+ callback(new Error('閿佸畾娆℃暟鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
+ } else {
+ callback();
+ }
+ },
trigger: 'blur'
}]
},
{
label: '閿佸畾鏃堕棿(鍒嗛挓)',
- prop:'lockingTime',
- span:12,
- labelWidth:"25%",
+ prop: 'lockingTime',
+ span: 12,
+ labelWidth: "25%",
rules: [{
required: true,
- validator:validatePass5,
+ validator: (rule, value, callback) => {
+ if (value == "") {
+ callback(new Error('璇疯緭鍏ラ攣瀹氭椂闂�'));
+ } else if (/[^\d]/g.test(value)) {
+ callback(new Error('閿佸畾鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
+ } else {
+ callback();
+ }
+ },
trigger: 'blur'
}]
},
{
label: '鎻忚堪',
- prop:'desc',
+ prop: 'desc',
type: 'textarea',
- span:12,
- labelWidth:"22%",
+ span: 12,
+ labelWidth: "22%",
rows: 5,
},
{
@@ -290,81 +314,94 @@
prop: 'isDefault',
type: 'switch',
labelWidth: 132,
- dicData:[{
- label:'鍚�',
- value:0
- },{
- label:'鏄�',
- value:1
+ dicData: [{
+ label: '鍚�',
+ value: 0
+ }, {
+ label: '鏄�',
+ value: 1
}]
}
],
- },
- //娣诲姞瀛樻斁澶氶�夌殑鍙橀噺,鐢ㄤ簬涓嬫媺鑿滃崟鐨勭鐢ㄦ晥鏋滃拰蹇呭~绉嶇被鏄惁澶т簬缁勫悎鏂瑰紡鐒跺悗鎻愮ず鐢ㄦ埛閲嶆柊閫夋嫨
- checkboxlength:"",
- //杩欎釜鏄笅鎷夎彍鍗曠殑鏁版嵁鍙橀噺
- selectlength:"",
- //杩欎釜鏄敤浜庨槻姝hange鏃堕棿鍐掓场,鍑虹幇涓ゆ寮圭獥瀹氫箟鐨勫彉閲�
- checkboxlist:"",
- //鐢ㄤ簬棣栨鐐瑰嚮缂栬緫锛屽垽鏂粍鍚堟柟寮忔槸鍚﹀皬浜庡繀濉绫荤殑鍙橀噺
- checkboxNumber:"",
- selectNumber:"",
- //杩欎釜涔熸槸瀛樻斁澶氶�夌殑鍙橀噺,鏁堟灉涓�鏍�,鍙槸鐢ㄤ綔鍦ㄧ紪杈戞ā鍧�
- checkboxedit:"",
- // 鐢ㄤ簬鍒ゆ柇鏄惁鏄紪杈�
- editFlag:false
+ }
}
-
},
created() {
this.onLoad()
- combination().then(res=>{
- // console.log("111",res)
- })
},
- methods:{
- handleSelectChange(val){
- this.selectlength=val
- // if(val.value >= this.checkboxlength.value.length && this.checkboxlength.value.length > 0){
- // console.log("澶т簬")
- // }
+ methods: {
+ handleSelectChange(val) {
+ this.selectlength = val
},
handleCheckboxChange(val) {
- console.log("val",val);
const arr = this.option.column[5];
this.checkboxlength = val.value;
- console.log("this.checkboxlength",this.checkboxlength);
this.checkboxedit = this.checkboxlength.toString().split(",");
- if (val.value != undefined && val.value != null) {
- if (this.checkboxlist == val.value) {
+ if (val.value !== undefined && val.value !== null) {
+ if (this.checkboxlist === val.value) {
+ return;
} else {
this.checkboxlist = val.value;
if (
- this.selectlength.value >= val.value.length &&
+ this.selectlength.value > val.value.length &&
val.value.length > 0
) {
- this.showMessage("蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�");
+ this.showWarningMessage();
} else if (
- this.selectlength.value >= this.checkboxedit.length &&
+ this.selectlength.value > this.checkboxedit.length &&
this.checkboxedit.length > 0
) {
- this.showMessage("蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�");
+ this.showWarningMessage();
}
}
}
- const disabledCount = Math.min(this.checkboxedit.length, 4);
- for (let i = 0; i < arr.dicData.length; i++) {
- arr.dicData[i].disabled = i >= disabledCount;
+
+ if (val.value !== undefined && val.value !== null) {
+ if (val.value.length === 1) {
+ this.setDisabled(arr, [0]);
+ } else if (val.value.length === 2) {
+ this.setDisabled(arr, [0, 1]);
+ } else if (val.value.length === 3) {
+ this.setDisabled(arr, [0, 1, 2]);
+ } else if (val.value.length === 4) {
+ this.setDisabled(arr, [0, 1, 2, 3]);
+ } else if (val.value.length === 0) {
+ this.setDisabled(arr, [-1]);
+ }
+ } else if (this.checkboxNumber.length !== 0) {
+ this.setDisabled(arr, [0, 1, 2, 3]);
}
- 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;
+
+ if (this.editFlag) {
+ if (this.checkboxedit.length === 1) {
+ this.setDisabled(arr, [0]);
+ } else if (this.checkboxedit.length === 2) {
+ this.setDisabled(arr, [0, 1]);
+ } else if (this.checkboxedit.length === 3) {
+ this.setDisabled(arr, [0, 1, 2]);
+ } else if (this.checkboxedit.length === 4) {
+ this.setDisabled(arr, [0, 1, 2, 3]);
+ } else if (this.checkboxedit.length === 0) {
+ this.setDisabled(arr, [-1]);
}
}
},
- rowDel(row){
+
+ setDisabled(arr, indices) {
+ arr.dicData.forEach((item, index) => {
+ item.disabled = !indices.includes(index);
+ });
+ },
+
+ showWarningMessage() {
+ this.$message({
+ message: '蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�',
+ type: 'warning',
+ showClose: true,
+ });
+ },
+ rowDel(row) {
this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
@@ -379,15 +416,15 @@
message: "鎿嶄綔鎴愬姛!"
});
this.onLoad();
- }).catch(res=>{
+ }).catch(res => {
// console.log(res)
})
},
- rowSave(row,done){
+ rowSave(row, done) {
//灏嗗瘑鐮佺粍鍚堟柟寮忕殑鏁版嵁杞崲涓哄瓧绗︿覆
- const spliceId= row.combinationIds.toString()
- row.combinationIds=spliceId
- getadd(row).then((res)=>{
+ const spliceId = row.combinationIds.toString()
+ row.combinationIds = spliceId
+ getadd(row).then((res) => {
// this.onLoad(this.page);
this.$message({
type: "success",
@@ -395,40 +432,37 @@
});
done(row)
this.onLoad()
- }).catch((res)=>{
+ }).catch((res) => {
this.$message.warning(res)
})
},
- rowEdit(row){
+ rowEdit(row) {
// console.log("鎵撳紑缂栬緫edit",row)
},
- handleDel(row){
- this.$refs.crud.rowDel(row,row.$index);
+ 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:"蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�"
- })
- }
+ handleEdit(row) {
+ this.$refs.crud.rowEdit(row, row.$index);
+ this.editFlag = true;
+ this.checkboxNumber = row.combinationIds.split(",")
+ this.selectNumber = row.requiredType
+ if (this.checkboxNumber.length < this.selectNumber) {
+ this.$message({
+ type: "warning",
+ message: "蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�"
+ })
+ }
},
- rowUpdate(row,index,done){
- getupdata(row).then(()=>{
+ rowUpdate(row, index, done) {
+ getupdata(row).then(() => {
this.onLoad()
this.$message({
type: "success",
message: "淇敼鎴愬姛!"
});
done()
- }).catch(res=>{
+ }).catch(res => {
// console.log(res)
})
},
@@ -441,8 +475,8 @@
// this.loading = false;
// this.selectionClear();
// console.log(res)
- this.page.total=res.data.data.total
- this.data=res.data.data.records
+ this.page.total = res.data.data.total
+ this.data = res.data.data.records
});
}
}
--
Gitblit v1.10.0