From e220a11760bb56f12da82a18e0b441dfdc588fac Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: 星期四, 07 十二月 2023 15:30:25 +0800
Subject: [PATCH] bug修改

---
 src/permission.js                                                               |    3 
 src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue       |   34 ++++++-
 src/views/safetyReview/userManage/superviseUsers/components/superviseDialog.vue |   21 +++--
 src/api/backManage/notice.js                                                    |    6 +
 src/views/safetyReview/notice/components/noticeDialog.vue                       |   32 +++++++-
 src/utils/preReClick.js                                                         |   14 +++
 src/views/safetyReview/law/components/lawDialog.vue                             |   37 +++++++-
 src/api/backManage/law.js                                                       |    5 
 src/views/components/publish.vue                                                |    2 
 src/views/safetyReview/law/law.vue                                              |    7 +
 src/layout/components/Register/index.vue                                        |   10 +-
 src/utils/request.js                                                            |   14 ++-
 src/views/components/notice.vue                                                 |    2 
 src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue           |    2 
 src/views/safetyReview/baseSet/business/components/businessDialog.vue           |    2 
 src/main.js                                                                     |    3 
 src/views/components/laws.vue                                                   |   19 +++-
 src/views/components/details.vue                                                |   20 ++++
 src/views/safetyReview/baseSet/area/components/areaDialog.vue                   |    2 
 19 files changed, 177 insertions(+), 58 deletions(-)

diff --git a/src/api/backManage/law.js b/src/api/backManage/law.js
index 0be7898..cda56f2 100644
--- a/src/api/backManage/law.js
+++ b/src/api/backManage/law.js
@@ -1,9 +1,10 @@
 import request from '@/utils/request'
 
-export function getLawList() {
+export function getLawList(params) {
     return request({
         url: '/system/law/lawList',
-        method: 'get'
+        method: 'get',
+        params: params
     })
 }
 
diff --git a/src/api/backManage/notice.js b/src/api/backManage/notice.js
index cda746e..ac92d87 100644
--- a/src/api/backManage/notice.js
+++ b/src/api/backManage/notice.js
@@ -1,9 +1,11 @@
 import request from '@/utils/request'
 
-export function getNoticeList() {
+export function getNoticeList(params) {
     return request({
         url: '/system/notice/noticeList',
-        method: 'get'
+        method: 'get',
+        params: params
+
     })
 }
 
diff --git a/src/layout/components/Register/index.vue b/src/layout/components/Register/index.vue
index a643b20..7f5adf9 100644
--- a/src/layout/components/Register/index.vue
+++ b/src/layout/components/Register/index.vue
@@ -276,6 +276,7 @@
             type="primary"
             style="width:40%;margin: 0 auto"
             @click.prevent="handleRegister"
+            v-preReClick
           >
             <div v-if="state.title == '新增/注册'">
               <span v-if="!loading">注 册</span>
@@ -472,10 +473,11 @@
     }
 
   getBusiness()
-  watchEffect(() => {
-    // 在副作用中调用 getArea()
-    getArea();
-  });
+    getArea()
+  // watchEffect(() => {
+  //   // 在副作用中调用 getArea()
+  //   getArea();
+  // });
 })
 const isAbleEdit = ref(false);
 const openDialog=(type, value)=>{
diff --git a/src/main.js b/src/main.js
index 1e46077..c765f8f 100644
--- a/src/main.js
+++ b/src/main.js
@@ -43,6 +43,8 @@
 // 字典标签组件
 import DictTag from '@/components/DictTag'
 
+import preReClick from "@/utils/preReClick";
+
 import { Boot } from '@wangeditor/editor'
 import attachmentModule from '@wangeditor/plugin-upload-attachment'
 import loadMore from '@/utils/selectLoadMoreDirective'
@@ -73,6 +75,7 @@
 app.use(store)
 app.use(plugins)
 app.use(elementIcons)
+app.use(preReClick)
 app.component('svg-icon', SvgIcon)
 app.directive('loadMore',loadMore)
 directive(app)
diff --git a/src/permission.js b/src/permission.js
index f13cc3c..dc79d74 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -52,7 +52,8 @@
       // 在免登录白名单,直接进入
       next()
     } else {
-      next(`/homePage?redirect=${to.fullPath}`) // 否则全部重定向到登录页
+      // next(`/homePage?redirect=${to.fullPath}`) // 否则全部重定向到登录页
+      next('/homePage')
       NProgress.done()
     }
   }
diff --git a/src/utils/preReClick.js b/src/utils/preReClick.js
new file mode 100644
index 0000000..c6d31d2
--- /dev/null
+++ b/src/utils/preReClick.js
@@ -0,0 +1,14 @@
+export default (app) => {
+    app.directive('preReClick', {
+        mounted(el, binding) {
+            el.addEventListener('click', () => {
+                if (!el.disabled) {
+                    el.disabled = true;
+                    setTimeout(() => {
+                        el.disabled = false;
+                    }, binding.value || 2000)
+                }
+            })
+        }
+    })
+}
diff --git a/src/utils/request.js b/src/utils/request.js
index a782727..7806b7b 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -1,6 +1,6 @@
 import axios from 'axios'
 import { ElNotification , ElMessageBox, ElMessage, ElLoading } from 'element-plus'
-import { getToken } from '@/utils/auth'
+import {getToken, removeToken} from '@/utils/auth'
 import errorCode from '@/utils/errorCode'
 import { tansParams, blobValidate } from '@/utils/ruoyi'
 import cache from '@/plugins/cache'
@@ -87,11 +87,13 @@
           isRelogin.show = true;
           ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
             isRelogin.show = false;
-            useUserStore().logOut().then(() => {
-              // router.push('/homePage')
-
-              location.href = '/homePage';
-            })
+            removeToken()
+            location.href = '/homePage';
+            // useUserStore().logOut().then(() => {
+            //   // router.push('/homePage')
+            //
+            //   location.href = '/homePage';
+            // })
           }).catch(() => {
             isRelogin.show = false
           });
diff --git a/src/views/components/details.vue b/src/views/components/details.vue
index 2daf2e7..b360786 100644
--- a/src/views/components/details.vue
+++ b/src/views/components/details.vue
@@ -19,7 +19,7 @@
       <div class="title">{{state.content.title}}</div>
       <el-divider border-style="dashed"/>
       <div class="time">更新时间:{{state.content.updateTime?state.content.updateTime:state.content.createTime}}</div>
-      <div v-html="state.content.content" @click="showFile($event)"></div>
+      <div v-html="state.content.content" class="reviewTable" @click="showFile($event)"></div>
     </div>
     <div class="main" v-if="state.firstClass == '法律法规'">
       <div class="title">{{state.content.title}}</div>
@@ -27,7 +27,7 @@
       <div class="info"><span>法律法规类别:{{state.content.lawType}}</span><span>颁布机构:{{state.content.pubAgency}}</span><span>颁布日期:{{state.content.pubDate}}</span></div>
       <el-divider border-style="dashed"/>
       <div class="time">更新时间:{{state.content.updateTime?state.content.updateTime:state.content.createTime}}</div>
-      <div v-html="state.content.content"></div>
+      <div v-html="state.content.content" class="reviewTable" @click="showFile($event)"></div>
     </div>
     <div class="main" v-if="state.firstClass == '机构公示'">
       <div class="title">{{state.content.name}}</div>
@@ -96,7 +96,7 @@
 })
 const emit = defineEmits(['backJump'])
 onMounted(()=>{
-  getBusiness()
+  // getBusiness()
 })
 
 onUnmounted(()=>{
@@ -301,5 +301,19 @@
       }
     }
   }
+    .reviewTable {
+        :deep(table){
+            border: 1px solid #ccc;
+            text-align: center;
+        }
+        :deep(table td){
+            border: 1px solid #ccc;
+            text-align: center;
+            padding: 0 5px;
+        }
+        :deep(table th){
+            border: 1px solid #ccc;
+        }
+    }
 }
 </style>
diff --git a/src/views/components/laws.vue b/src/views/components/laws.vue
index caf54c1..d5a811d 100644
--- a/src/views/components/laws.vue
+++ b/src/views/components/laws.vue
@@ -7,8 +7,8 @@
             <el-input v-model="state.querys.title" />
           </el-form-item>
         </el-form>
-        <el-button type="primary" :icon="Search" class="searchBtn">搜索</el-button>
-        <el-button type="primary" :icon="Refresh" class="resetBtn">重置</el-button>
+        <el-button type="primary" :icon="Search" class="searchBtn" v-model="state.querys.title" @click="search">搜索</el-button>
+        <el-button type="primary" :icon="Refresh" class="resetBtn" @click="reset">重置</el-button>
       </div>
       <div class="list">
         <div v-for="item in state.dataList" @click="openDetails('法律法规',item.id)">
@@ -23,8 +23,6 @@
       </div>
       <div class="pag-container" v-if="state.total&&state.total>0">
         <el-pagination
-            v-model:current-page="state.querys.pageNum"
-            v-model:page-size="state.querys.pageSize"
             :page-sizes="[10,15,20,25]"
             layout="total, sizes, prev, pager, next, jumper"
             :total="state.total"
@@ -89,7 +87,18 @@
   state.querys.pageNum = val
   getData()
 }
-
+const search = () => {
+    getData()
+}
+const reset = () => {
+    state.querys = {
+        title: '',
+        content: '',
+        pageNum: 1,
+        pageSize: 10
+    }
+    getData()
+}
 const openDetails = (type,id)=>{
   emit('openDetails',type,id)
 }
diff --git a/src/views/components/notice.vue b/src/views/components/notice.vue
index 7aa8f3c..66e5b2d 100644
--- a/src/views/components/notice.vue
+++ b/src/views/components/notice.vue
@@ -14,8 +14,6 @@
       </div>
       <div class="pag-container" v-if="state.total&&state.total>0">
         <el-pagination
-            v-model:current-page="state.querys.pageNum"
-            v-model:page-size="state.querys.pageSize"
             :page-sizes="[10,15,20,25]"
             layout="total, sizes, prev, pager, next, jumper"
             :total="state.total"
diff --git a/src/views/components/publish.vue b/src/views/components/publish.vue
index 73b219c..aff26e1 100644
--- a/src/views/components/publish.vue
+++ b/src/views/components/publish.vue
@@ -35,8 +35,6 @@
       </div>
       <div class="pag-container" v-if="state.total&&state.total>0">
         <el-pagination
-            v-model:current-page="state.querys.pageNum"
-            v-model:page-size="state.querys.pageSize"
             :page-sizes="[10,15,20,25]"
             layout="total, sizes, prev, pager, next, jumper"
             :total="state.total"
diff --git a/src/views/safetyReview/baseSet/area/components/areaDialog.vue b/src/views/safetyReview/baseSet/area/components/areaDialog.vue
index a220b59..352715d 100644
--- a/src/views/safetyReview/baseSet/area/components/areaDialog.vue
+++ b/src/views/safetyReview/baseSet/area/components/areaDialog.vue
@@ -36,7 +36,7 @@
             <template #footer>
                     <span class="dialog-footer">
                         <el-button @click="handleClose" size="default">取 消</el-button>
-                        <el-button type="primary"  @click="onSubmit" size="default">确认</el-button>
+                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>
                     </span>
             </template>
         </el-dialog>
diff --git a/src/views/safetyReview/baseSet/business/components/businessDialog.vue b/src/views/safetyReview/baseSet/business/components/businessDialog.vue
index c225f04..e6fa96f 100644
--- a/src/views/safetyReview/baseSet/business/components/businessDialog.vue
+++ b/src/views/safetyReview/baseSet/business/components/businessDialog.vue
@@ -14,7 +14,7 @@
             <template #footer>
                     <span class="dialog-footer">
                         <el-button @click="handleClose" size="default">取 消</el-button>
-                        <el-button type="primary"  @click="onSubmit" size="default">确认</el-button>
+                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>
                     </span>
             </template>
         </el-dialog>
diff --git a/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue b/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
index d4543a5..e403442 100644
--- a/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
+++ b/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
@@ -14,7 +14,7 @@
             <template #footer>
                     <span class="dialog-footer">
                         <el-button @click="handleClose" size="default">取 消</el-button>
-                        <el-button type="primary"  @click="onSubmit" size="default">确认</el-button>
+                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>
                     </span>
             </template>
         </el-dialog>
diff --git a/src/views/safetyReview/law/components/lawDialog.vue b/src/views/safetyReview/law/components/lawDialog.vue
index 45e3868..2f6cd50 100644
--- a/src/views/safetyReview/law/components/lawDialog.vue
+++ b/src/views/safetyReview/law/components/lawDialog.vue
@@ -32,20 +32,20 @@
                     <el-date-picker
                         v-if="!isReview"
                         v-model="state.form.pubDate"
-                        type="datetime"
-                        value-format="YYYY-MM-DD hh:mm:ss"
+                        type="date"
+                        value-format="YYYY-MM-DD"
                         placeholder="请选择日期"
                         size="default"
                     />
                     <span v-else>{{state.form.pubDate}}</span>
                 </el-form-item>
-                <el-form-item label="内容:" v-if="showEditor"  prop="content">
+                <el-form-item label="内容:" v-if="showEditor"  required>
                     <we-editor ref="myEditor"  :propData="state.form.content" @childFn="getEditorData" />
                 </el-form-item>
                 <el-form-item label="内容:" v-else>
                     <div class="ql-container ql-snow" style="height: 500px;width: 100%;margin-top: 10px;" >
                         <div class="ql-editor">
-                            <div v-html="state.form.content"  @click="showFile($event)"></div>
+                            <div v-html="state.form.content" class="reviewTable"  @click="showFile($event)"></div>
                         </div>
                     </div>
                 </el-form-item>
@@ -53,7 +53,7 @@
             <template #footer v-if="!isReview">
                     <span class="dialog-footer">
                         <el-button @click="handleClose" size="default">取 消</el-button>
-                        <el-button type="primary"  @click="onSubmit" size="default">确认发布</el-button>
+                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认发布</el-button>
                     </span>
             </template>
         </el-dialog>
@@ -89,7 +89,7 @@
     formRules:{
         title: [{ required: true, message: '请填写标题', trigger: 'blur' }],
         pubAgency: [{ required: true, message: '请填写颁布机构', trigger: 'blur' }],
-        content: [{ required: true, message: '请输入内容', trigger: 'change' }],
+        // content: [{ required: true, message: '11', trigger: 'blur' }],
         pubDate:[{ required: true, message: '请选择颁布日期', trigger: 'blur' }],
     },
 
@@ -109,6 +109,7 @@
             if(type === 'edit') {
                 law.value = res.data.lawType === '法律' ? 1 : res.data.lawType === '法规' ? 2 :res.data.lawType === '地方性规定'? 3 : 4
             }
+            state.form.pubDate = res.data.pubDate.substring(0,10)
         }else{
             ElMessage.warning(res.message)
         }
@@ -170,12 +171,19 @@
     myEditor.value.submit();
     const valid = await lawRef.value.validate();
     if(valid){
+        if(state.form.content == "") {
+            ElMessage({
+                type: 'warning',
+                message: '请输入内容'
+            });
+            return;
+        }
         if(title.value === '新增'){
             const param = {
                 content: state.form.content,
                 lawType: state.form.lawType,
                 pubAgency: state.form.pubAgency,
-                pubDate: state.form.pubDate,
+                pubDate: state.form.pubDate.concat(" 00:00:00"),
                 subTitle: state.form.subTitle,
                 title: state.form.title
             }
@@ -194,6 +202,7 @@
             lawRef.value.clearValidate();
             dialogVisible.value = false;
         }else if(title.value === '编辑') {
+            state.form.pubDate = state.form.pubDate.concat(" 00:00:00")
             const res = await editLaw(state.form)
             if(res.code === 200){
                 ElMessage({
@@ -251,4 +260,18 @@
         align-items: flex-start;
     }
 }
+.reviewTable {
+    :deep(table){
+        border: 1px solid #ccc;
+        text-align: center;
+    }
+    :deep(table td){
+        border: 1px solid #ccc;
+        text-align: center;
+        padding: 0 5px;
+    }
+    :deep(table th){
+        border: 1px solid #ccc;
+    }
+}
 </style>
diff --git a/src/views/safetyReview/law/law.vue b/src/views/safetyReview/law/law.vue
index 646c922..052d4c0 100644
--- a/src/views/safetyReview/law/law.vue
+++ b/src/views/safetyReview/law/law.vue
@@ -66,7 +66,12 @@
     loading.value = true;
     const res = await getLawList(data.queryParams);
     if(res.code === 200){
-        dataList.value = res.data.list
+        dataList.value = res.data.list.map(item => {
+            return {
+                ...item,
+                pubDate: item.pubDate.substring(0,10)
+            }
+        })
         total.value = res.data.total
     }else{
         ElMessage.warning(res.message)
diff --git a/src/views/safetyReview/notice/components/noticeDialog.vue b/src/views/safetyReview/notice/components/noticeDialog.vue
index 91814b2..69294e7 100644
--- a/src/views/safetyReview/notice/components/noticeDialog.vue
+++ b/src/views/safetyReview/notice/components/noticeDialog.vue
@@ -11,13 +11,13 @@
                     <el-input v-model.trim="state.noticeForm.noticeTitle" v-if="!isReview" ></el-input>
                     <span v-else>{{state.noticeForm.noticeTitle}}</span>
                 </el-form-item>
-                <el-form-item label="公告内容:" v-if="showEditor"  prop="noticeContent">
+                <el-form-item label="公告内容:" v-if="showEditor"  required>
                     <we-editor ref="myEditor"  :propData="state.noticeForm.noticeContent" @childFn="getEditorData" />
                 </el-form-item>
                 <el-form-item label="公告内容:" v-else>
                     <div class="ql-container ql-snow" style="height: 500px;width: 100%;margin-top: 10px;" >
                         <div class="ql-editor">
-                            <div v-html="state.noticeForm.noticeContent"  @click="showFile($event)"></div>
+                            <div class="reviewTable" v-html="state.noticeForm.noticeContent"  @click="showFile($event)"></div>
                         </div>
                     </div>
                 </el-form-item>
@@ -25,7 +25,7 @@
             <template #footer v-if="!isReview">
                     <span class="dialog-footer">
                         <el-button @click="handleClose" size="default">取 消</el-button>
-                        <el-button type="primary"  @click="onSubmit" size="default">确认发布</el-button>
+                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认发布</el-button>
                     </span>
             </template>
         </el-dialog>
@@ -60,7 +60,7 @@
     },
     formRules:{
         noticeTitle: [{ required: true, message: '请填写公告标题', trigger: 'blur' }],
-        noticeContent: [{ required: true, message: '请输入公告内容', trigger: 'blur' }],
+        // noticeContent: [{ required: true, message: '请输入公告内容', trigger: 'blur' }],
     },
 
 })
@@ -135,9 +135,17 @@
     }
 }
 const onSubmit = async () => {
+    console.log("点击提交")
     myEditor.value.submit();
     const valid = await noticeRef.value.validate();
     if(valid){
+        if(state.noticeForm.noticeContent == "") {
+            ElMessage({
+                type: 'warning',
+                message: '请输入公告内容'
+            });
+            return;
+        }
         if(title.value === '新增'){
             const param = {
                 content: state.noticeForm.noticeContent,
@@ -216,4 +224,20 @@
         align-items: flex-start;
     }
 }
+.reviewTable {
+    :deep(table){
+        border: 1px solid #ccc;
+        text-align: center;
+    }
+    :deep(table td){
+        border: 1px solid #ccc;
+        text-align: center;
+        padding: 0 5px;
+    }
+    :deep(table th){
+        border: 1px solid #ccc;
+    }
+}
+
+
 </style>
diff --git a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
index adcc458..1c002f1 100644
--- a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
+++ b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
@@ -24,7 +24,7 @@
                 <el-row :gutter="22">
                     <el-col :span="11">
                         <el-form-item label="用户名:"  prop="username" v-if="state.title !== '修改密码'">
-                            <el-input v-model.trim="state.form.username" ></el-input>
+                            <el-input v-model.trim="state.form.username" :disabled="state.title === '编辑'"></el-input>
                         </el-form-item>
                     </el-col>
                     <el-col :span="11">
@@ -149,7 +149,7 @@
             <template #footer >
                     <span class="dialog-footer">
                         <el-button @click="handleClose" size="default">取 消</el-button>
-                        <el-button type="primary"  @click="onSubmit" size="default">确认</el-button>
+                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>
                     </span>
             </template>
             <el-dialog v-model="state.dialogImg">
@@ -159,7 +159,7 @@
     </div>
 </template>
 <script setup>
-import {reactive, ref, toRefs, defineEmits, onMounted} from 'vue'
+import {reactive, ref, toRefs, defineEmits, onMounted, nextTick} from 'vue'
 import { View } from "@element-plus/icons-vue";
 import {ElMessage} from "element-plus";
 import {verifyPhone, verifyPwd, verifyUsername} from "../../../../../utils/validate";
@@ -368,7 +368,7 @@
                 ElMessage.success(res.message)
                 emit('getList')
                 superRef.value.clearValidate();
-                superRef.value.resetFields();
+                reset()
                 dialogVisible.value = false;
             }else{
                 ElMessage.warning(res.message)
@@ -382,7 +382,7 @@
                 ElMessage.success(res.message)
                 emit('getList')
                 superRef.value.clearValidate();
-                superRef.value.resetFields();
+                reset()
                 dialogVisible.value = false;
             }else{
                 ElMessage.warning(res.message)
@@ -393,12 +393,32 @@
 
 const handleClose = () => {
     superRef.value.clearValidate();
-    superRef.value.resetFields()
+    reset()
     dialogVisible.value = false;
+
+
+}
+const reset = () => {
+   state.form = {
+       id: null,
+       name: '',
+       username: '',
+       sex: 0,
+       phone: '',
+       agencyId: '',
+       socialAttach: [],
+       medicalAttach: [],
+       salaryAttach: [],
+       post: '',
+       jobTitle: '',
+       major: '',
+       expertType: 1,
+       password: '',
+       confirmPassword: '',
+   }
     state.salaryList = [];
     state.medicalList = [];
     state.socialList = [];
-
 }
 const picSize = async (rawFile) => {
     if(rawFile.size / 1024 / 1024 > 5){
diff --git a/src/views/safetyReview/userManage/superviseUsers/components/superviseDialog.vue b/src/views/safetyReview/userManage/superviseUsers/components/superviseDialog.vue
index ad401b3..ddbcd89 100644
--- a/src/views/safetyReview/userManage/superviseUsers/components/superviseDialog.vue
+++ b/src/views/safetyReview/userManage/superviseUsers/components/superviseDialog.vue
@@ -3,7 +3,7 @@
         <el-dialog
             v-model="dialogVisible"
             :title="state.title"
-            width="500px"
+            width="550px"
             :before-close="handleClose"
         >
             <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="110px" >
@@ -11,7 +11,7 @@
                     <el-input v-model.trim="state.form.name" ></el-input>
                 </el-form-item>
                 <el-form-item label="用户名:"  prop="username" v-if="state.title !== '修改密码'">
-                    <el-input v-model.trim="state.form.username" ></el-input>
+                    <el-input v-model.trim="state.form.username" :disabled="state.title =='编辑'" ></el-input>
                 </el-form-item>
                 <el-form-item label="密码:" prop="password" v-if="state.title == '新增' || state.title == '修改密码'">
                     <el-input v-model.trim="state.form.password" type="password" show-password placeholder="请输入密码"></el-input>
@@ -42,14 +42,14 @@
             <template #footer >
                     <span class="dialog-footer">
                         <el-button @click="handleClose" size="default">取 消</el-button>
-                        <el-button type="primary"  @click="onSubmit" size="default">确认</el-button>
+                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>
                     </span>
             </template>
         </el-dialog>
     </div>
 </template>
 <script setup>
-import {reactive, ref, toRefs, defineEmits} from 'vue'
+import {reactive, ref, toRefs, defineEmits, nextTick} from 'vue'
 import { View } from "@element-plus/icons-vue";
 import {ElMessage} from "element-plus";
 import {verifyPhone, verifyPwd, verifyUsername} from "../../../../../utils/validate";
@@ -147,11 +147,14 @@
     getArea()
     state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : type ==='pwd' ? '修改密码' : '查看' ;
     if(type === 'edit') {
-        for(let i in state.form){
-          if(validKey(i,value)){
-              state.form[i] = value[i]
-          }
-        }
+        nextTick(() => {
+            for(let i in state.form){
+                if(validKey(i,value)){
+                    state.form[i] = value[i]
+                }
+            }
+        })
+
     }
     if(type == 'pwd'){
       state.form.id = value.id

--
Gitblit v1.9.2