From 008245cbe95c63a80f9a255378a5ffbe25d15085 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期三, 16 七月 2025 21:16:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/system/modules/PasswordModal.vue |   53 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 13 deletions(-)

diff --git a/src/views/system/modules/PasswordModal.vue b/src/views/system/modules/PasswordModal.vue
index f9f897e..83c3df4 100644
--- a/src/views/system/modules/PasswordModal.vue
+++ b/src/views/system/modules/PasswordModal.vue
@@ -31,6 +31,7 @@
 
 <script>
   import {changePassword} from '@/api/api'
+  import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
 
   export default {
     name: "PasswordModal",
@@ -40,15 +41,15 @@
         confirmLoading: false,
         confirmDirty: false,
         validatorRules:{
-          password:{
-            rules: [{
-              required: true,
-              pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
-              message: '瀵嗙爜鐢�8浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!'
-            }, {
-              validator: this.validateToNextPassword,
-            }],
-          },
+          // password:{
+          //   rules: [{
+          //     required: true,
+          //     pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
+          //     message: '瀵嗙爜鐢�8浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!'
+          //   }, {
+          //     validator: this.validateToNextPassword,
+          //   }],
+          // },
           confirmpassword:{
             rules: [{
               required: true, message: '璇烽噸鏂拌緭鍏ョ櫥褰曞瘑鐮�!',
@@ -69,6 +70,13 @@
           sm: { span: 16 },
         },
         form:this.$form.createForm(this)
+      }
+    },
+    watch:{
+      visible:{
+        handler(value){
+          if(value) this.initDictData('password_length')
+        }
       }
     },
     created () {
@@ -97,11 +105,17 @@
             this.confirmLoading = true;
             let formData = Object.assign(this.model, values);
             changePassword(formData).then((res)=>{
-              if(res.success){
-                this.$message.success(res.message);
+              if(res.success){;
+                this.$notification.success({
+                  message:'娑堟伅',
+                  description:res.message
+                });
                 this.$emit('ok');
               }else{
-                this.$message.warning(res.message);
+                this.$notification.warning({
+                  message:'娑堟伅',
+                  description:res.message
+                });
               }
             }).finally(() => {
               this.confirmLoading = false;
@@ -136,7 +150,20 @@
       handleConfirmBlur  (e) {
         const value = e.target.value
         this.confirmDirty = this.confirmDirty || !!value
-      }
+      },
+      initDictData(dictCode) {
+        //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
+        ajaxGetDictItems(dictCode, null).then((res) => {
+          if (res.success) {
+            const regExp = new RegExp("^(?=.*[a-zA-Z])(?=.*\\\d)(?=.*[~!@#$%^&*()_+`\\-={}:\";'<>?,./]).{"+Number(res.result[0].value)+",}$");
+            this.validatorRules.password.rules[0]={
+              required:true,
+              pattern: regExp,
+              message: `瀵嗙爜鐢�${res.result[0].value}浣嶆暟瀛椼�佸ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙风粍鎴�!`,
+            }
+          }
+        })
+      },
     }
   }
 </script>
\ No newline at end of file

--
Gitblit v1.9.3