sunxuewei 2 年 前
コミット
f69ed7ad87

+ 9 - 6
src/api/index.ts

@@ -130,7 +130,9 @@ request.interceptors.response.use(
130 130
   },
131 131
   (error) => {
132 132
     NProgress.done();
133
-    if (error.response.status === 424) {
133
+    const status = error.response.status;
134
+    const msg = error.response.data.msg;
135
+    if (status === 424) {
134 136
       ElMessageBox.confirm("令牌状态已过期,请点击重新登录", "系统提示", {
135 137
         confirmButtonText: "重新登录",
136 138
         cancelButtonText: "取消",
@@ -143,17 +145,18 @@ request.interceptors.response.use(
143 145
       });
144 146
       return Promise.reject(error);
145 147
     }
148
+
146 149
     // let { message } = error;
147 150
     // if (message === "Network Error") {
148 151
     //   message = "后端接口连接异常";
149 152
     // } else if (message.includes("timeout")) {
150 153
     //   message = "系统接口请求超时";
151 154
     // } else if (message.includes("Request failed with status code")) {
152
-    // ElMessage({
153
-    //   message: message,
154
-    //   type: "error",
155
-    //   duration: 5 * 1000
156
-    // });
155
+    ElMessage({
156
+      message: msg,
157
+      type: "error",
158
+      duration: 5 * 1000
159
+    });
157 160
     // }
158 161
     return Promise.reject(error);
159 162
   }

+ 3 - 3
src/permission.ts

@@ -42,9 +42,9 @@ router.beforeEach(async (to, from, next) => {
42 42
     if (to.path === "/login" || to.path === "/shuju") {
43 43
       next();
44 44
     } else {
45
-      if (to.path !== "/") {
46
-        ElMessage.warning("请先登录后再访问其他页面!");
47
-      }
45
+      // if (to.path !== "/") {
46
+      //   ElMessage.warning("请先登录后再访问其他页面!");
47
+      // }
48 48
       next(`/login`); // 否则全部重定向到登录页
49 49
     }
50 50
     NProgress.done();

+ 4 - 0
src/styles/diyClass.scss

@@ -32,5 +32,9 @@
32 32
     margin: 0;
33 33
     margin-left: 5px;
34 34
     padding: 0;
35
+    border-color: transparent;
36
+    background: 0 0;
37
+    color: var(--el-color-primary);
35 38
   }
36 39
 }
40
+

+ 13 - 11
src/views/admin/dept/index.vue

@@ -42,22 +42,20 @@
42 42
         <el-table-column label="操作" width="220" align="center" class-name="small-padding fixed-width">
43 43
           <template #default="{ row }">
44 44
             <div class="table_btn">
45
-              <el-button size="small" type="text" :icon="Plus" @click="addOrUpdateHandle(false, row.id)">
46
-                新增
47
-              </el-button>
48
-              <el-button size="small" type="text" :icon="Edit" @click="addOrUpdateHandle(true, row.id)">编辑</el-button>
49
-              <el-button size="small" type="text" :icon="Delete" @click="handleDelete(row)">删除</el-button>
45
+              <el-button size="small" :icon="Plus" @click="addOrUpdateHandle(false, row.id)"> 新增 </el-button>
46
+              <el-button size="small" :icon="Edit" @click="addOrUpdateHandle(true, row.id)">编辑</el-button>
47
+              <el-button size="small" :icon="Delete" @click="handleDelete(row)">删除</el-button>
50 48
             </div>
51 49
           </template>
52 50
         </el-table-column>
53 51
       </el-table>
54
-      <pagination
52
+      <!-- <pagination
55 53
         v-show="tablePage.total > 0"
56 54
         v-model:page="tablePage.currentPage"
57 55
         v-model:limit="tablePage.pageSize"
58 56
         :total="tablePage.total"
59 57
         @pagination="getList"
60
-      />
58
+      /> -->
61 59
 
62 60
       <el-dialog v-model="dialogVisible" :title="title" width="50%" :before-close="dialogClose">
63 61
         <el-form :model="form" ref="formRef" :rules="formRules" label-width="80px">
@@ -171,8 +169,8 @@ import type { FormInstance, FormRules } from "element-plus";
171 169
 import { Search, EditPen, Plus, Edit, Delete } from "@element-plus/icons-vue";
172 170
 
173 171
 import { useDict } from "@/hooks/dict";
174
-import { timestampToTime, getValueLabel, getValueListLabel } from "@/utils/util";
175 172
 import { ITablePage } from "@/const/interface_type";
173
+import { timestampToTime, getValueLabel, getValueListLabel } from "@/utils/util";
176 174
 import { getDeptList, getDeptObj, addDeptObj, putDeptObj, delDeptObj } from "@/api/admin";
177 175
 
178 176
 interface ISearchList {
@@ -224,7 +222,7 @@ const getList = () => {
224 222
   getDeptList(payload).then((res: any) => {
225 223
     if (res.code === 0) {
226 224
       tableData.value = res.data;
227
-      tablePage.value.total = res.data.total;
225
+      // tablePage.value.total = res.data.total;
228 226
       tableLoading.value = false;
229 227
     }
230 228
   });
@@ -252,8 +250,12 @@ const deptTypeChange = (val: string) => {
252 250
 const addOrUpdateHandle = (isEdit: boolean, id?: string) => {
253 251
   // 获取菜单信息
254 252
   getDeptList().then((res: any) => {
255
-    const menu = [{ id: "0", name: "根菜单", children: res.data }];
256
-    deptOptions.value = filterList(menu);
253
+    if (res.data[0].parentId === "0") {
254
+      const menu = [{ id: "0", name: "根菜单", children: res.data }];
255
+      deptOptions.value = filterList(menu);
256
+    } else {
257
+      deptOptions.value = filterList(res.data);
258
+    }
257 259
   });
258 260
   if (isEdit && id) {
259 261
     title.value = "修改";

+ 5 - 5
src/views/admin/dict/index.vue

@@ -40,9 +40,9 @@
40 40
         <el-table-column label="操作" width="220" align="center" class-name="small-padding fixed-width">
41 41
           <template #default="{ row }">
42 42
             <div class="table_btn">
43
-              <el-button size="small" type="text" :icon="EditPen" @click="addOrUpdateHandle(row)">编辑</el-button>
44
-              <el-button size="small" type="text" :icon="Delete" @click="handleDelete(row)">删除</el-button>
45
-              <el-button size="small" type="text" :icon="Menu" @click="openDictItem(row)">字典项</el-button>
43
+              <el-button size="small" :icon="EditPen" @click="addOrUpdateHandle(row)">编辑</el-button>
44
+              <el-button size="small" :icon="Delete" @click="handleDelete(row)">删除</el-button>
45
+              <el-button size="small" :icon="Menu" @click="openDictItem(row)">字典项</el-button>
46 46
             </div>
47 47
           </template>
48 48
         </el-table-column>
@@ -115,8 +115,8 @@
115 115
           <el-table-column label="操作" width="160" align="center" class-name="small-padding fixed-width">
116 116
             <template #default="{ row }">
117 117
               <div class="table_btn">
118
-                <el-button size="small" type="text" :icon="EditPen" @click="openDictItemDialog(row)">编辑</el-button>
119
-                <el-button size="small" type="text" :icon="Delete" @click="deldictItem(row)">删除</el-button>
118
+                <el-button size="small" :icon="EditPen" @click="openDictItemDialog(row)">编辑</el-button>
119
+                <el-button size="small" :icon="Delete" @click="deldictItem(row)">删除</el-button>
120 120
               </div>
121 121
             </template>
122 122
           </el-table-column>

+ 3 - 5
src/views/admin/menu/index.vue

@@ -42,11 +42,9 @@
42 42
       <el-table-column label="操作" width="170" align="center" class-name="small-padding fixed-width">
43 43
         <template #default="{ row }">
44 44
           <div class="table_btn">
45
-            <el-button size="small" type="text" :icon="Plus" @click="addOrUpdateHandle(false, row.id)">
46
-              新增
47
-            </el-button>
48
-            <el-button size="small" type="text" :icon="Edit" @click="addOrUpdateHandle(true, row.id)">修改 </el-button>
49
-            <el-button size="small" type="text" :icon="Delete" @click="handleDelete(row)">删除 </el-button>
45
+            <el-button size="small" :icon="Plus" @click="addOrUpdateHandle(false, row.id)"> 新增 </el-button>
46
+            <el-button size="small" :icon="Edit" @click="addOrUpdateHandle(true, row.id)">修改 </el-button>
47
+            <el-button size="small" :icon="Delete" @click="handleDelete(row)">删除 </el-button>
50 48
           </div>
51 49
         </template>
52 50
       </el-table-column>

+ 4 - 4
src/views/admin/role/index.vue

@@ -45,10 +45,10 @@
45 45
         <el-table-column label="操作" width="220" align="center" class-name="small-padding fixed-width">
46 46
           <template #default="{ row }">
47 47
             <div class="table_btn">
48
-              <el-button size="small" type="text" :icon="View" @click="addOrUpdateHandle(1, row)">查看</el-button>
49
-              <el-button size="small" type="text" :icon="Edit" @click="addOrUpdateHandle(2, row)">编辑</el-button>
50
-              <el-button size="small" type="text" :icon="Delete" @click="handleDelete(row)">删除</el-button>
51
-              <el-button size="small" type="text" :icon="Plus" @click="handlePermission(row)">权限</el-button>
48
+              <el-button size="small" :icon="View" @click="addOrUpdateHandle(1, row)">查看</el-button>
49
+              <el-button size="small" :icon="Edit" @click="addOrUpdateHandle(2, row)">编辑</el-button>
50
+              <el-button size="small" :icon="Delete" @click="handleDelete(row)">删除</el-button>
51
+              <el-button size="small" :icon="Plus" @click="handlePermission(row)">权限</el-button>
52 52
             </div>
53 53
           </template>
54 54
         </el-table-column>

+ 13 - 8
src/views/admin/user/index.vue

@@ -82,10 +82,10 @@
82 82
           <el-table-column label="操作" width="220" align="center" class-name="small-padding fixed-width">
83 83
             <template #default="{ row }">
84 84
               <div class="table_btn">
85
-                <el-button size="small" type="text" @click="addOrUpdateHandle(row)">修改</el-button>
86
-                <el-button size="small" type="text" @click="handleDelete(row)">删除</el-button>
87
-                <!-- <el-button size="small" type="text" @click="handleDelete(row)">重置密码</el-button>
88
-                <el-button size="small" type="text" @click="handleDelete(row)">角色分配</el-button> -->
85
+                <el-button size="small" @click="addOrUpdateHandle(row)">修改</el-button>
86
+                <el-button size="small" @click="handleDelete(row)">删除</el-button>
87
+                <!-- <el-button size="small"  @click="handleDelete(row)">重置密码</el-button>
88
+                <el-button size="small"  @click="handleDelete(row)">角色分配</el-button> -->
89 89
               </div>
90 90
             </template>
91 91
           </el-table-column>
@@ -103,8 +103,8 @@
103 103
       <el-form :model="dialogForm" ref="dialogFormRef" :rules="dialogFormRules" label-width="80px">
104 104
         <el-row>
105 105
           <el-col :span="12">
106
-            <el-form-item label="用户昵称" prop="username">
107
-              <el-input v-model="dialogForm.username" clearable placeholder="请输入用户昵称" />
106
+            <el-form-item label="用户昵称" prop="name">
107
+              <el-input v-model="dialogForm.name" clearable placeholder="请输入用户名称" />
108 108
             </el-form-item>
109 109
           </el-col>
110 110
           <el-col :span="12">
@@ -127,8 +127,13 @@
127 127
         </el-row>
128 128
         <el-row>
129 129
           <el-col :span="12">
130
-            <el-form-item label="用户名称" prop="name">
131
-              <el-input v-model="dialogForm.name" clearable placeholder="请输入用户名称" />
130
+            <el-form-item label="用户名称" prop="username">
131
+              <el-input
132
+                v-model="dialogForm.username"
133
+                clearable
134
+                placeholder="请输入用户昵称"
135
+                :disabled="title === '修改'"
136
+              />
132 137
             </el-form-item>
133 138
           </el-col>
134 139
           <el-col :span="12">

+ 1 - 2
src/views/dataStatistics/droughtResistant/index.vue

@@ -24,7 +24,6 @@
24 24
                 :key="item.deptId"
25 25
                 :label="item.abbreviationName"
26 26
                 :value="item.deptId"
27
-                ·
28 27
               />
29 28
             </el-select>
30 29
           </el-form-item>
@@ -51,7 +50,7 @@
51 50
     <el-table :data="tableData" stripe border :span-method="arraySpanMethod">
52 51
       <el-table-column type="index" label="序号" header-align="center" align="center" />
53 52
       <el-table-column prop="upidName" label="省份" header-align="center" align="center" />
54
-      <el-table-column prop="username" label="储备仓库" header-align="center" align="center" />
53
+      <el-table-column prop="username" label="储备仓库" header-align="center" align="center" width="120" />
55 54
       <template v-for="item in headerName" :key="item">
56 55
         <el-table-column :label="item.dmUpname" header-align="center" align="center">
57 56
           <template v-for="iten in item.children" :key="iten">

+ 1 - 1
src/views/dataStatistics/reliefMaterial/index.vue

@@ -50,7 +50,7 @@
50 50
     <el-table :data="tableData" stripe border :span-method="arraySpanMethod">
51 51
       <el-table-column type="index" label="序号" header-align="center" align="center" />
52 52
       <el-table-column prop="upidName" label="省份" header-align="center" align="center" />
53
-      <el-table-column prop="username" label="储备仓库" header-align="center" align="center" />
53
+      <el-table-column prop="username" label="储备仓库" header-align="center" align="center" width="120" />
54 54
       <template v-for="item in headerName" :key="item">
55 55
         <el-table-column :label="item.dmUpname" header-align="center" align="center">
56 56
           <template v-for="iten in item.children" :key="iten">

+ 30 - 30
src/views/login/index.vue

@@ -14,7 +14,13 @@
14 14
         <el-row>
15 15
           <el-col :span="24">
16 16
             <el-form-item prop="username">
17
-              <el-input :prefix-icon="UserFilled" v-model="loginForm.username" placeholder="请输入您的账号" clearable />
17
+              <el-input
18
+                :prefix-icon="UserFilled"
19
+                v-model="loginForm.username"
20
+                placeholder="请输入您的账号"
21
+                clearable
22
+                @keyup.enter="loginSubmit(form)"
23
+              />
18 24
             </el-form-item>
19 25
           </el-col>
20 26
         </el-row>
@@ -28,29 +34,26 @@
28 34
                 v-model="loginForm.password"
29 35
                 placeholder="请输入密码"
30 36
                 clearable
37
+                @keyup.enter="loginSubmit(form)"
31 38
               />
32 39
             </el-form-item>
33 40
           </el-col>
34 41
         </el-row>
35
-        <!-- <el-row>
36
-          <el-form-item prop="code">
37
-            <el-col :span="16">
38
-              <el-input v-model="loginForm.code" placeholder="请输入验证码">
39
-                <template #prefix>
40
-                  <el-icon><Picture /></el-icon>
41
-                </template>
42
-              </el-input>
43
-            </el-col>
44
-            <el-col :span="8">
45
-              <div class="login-code">
46
-                <span v-if="verificationCode.type == 'text'" class="login-code-img" @click="refreshCode">
47
-                  {{ verificationCode.value }}
48
-                </span>
49
-                <img v-else :src="verificationCode.src" class="login-code-img" @click="refreshCode" />
50
-              </div>
51
-            </el-col>
52
-          </el-form-item>
53
-        </el-row> -->
42
+        <el-row class="login-code">
43
+          <el-col :span="16">
44
+            <el-form-item prop="code">
45
+              <el-input
46
+                :prefix-icon="Picture"
47
+                v-model="loginForm.code"
48
+                placeholder="请输入验证码"
49
+                @keyup.enter="loginSubmit(form)"
50
+              />
51
+            </el-form-item>
52
+          </el-col>
53
+          <el-col :span="8">
54
+            <img :src="verificationCode.src" class="login-code-img" @click="refreshCode" />
55
+          </el-col>
56
+        </el-row>
54 57
         <el-row class="login_btn">
55 58
           <el-button type="primary" @click="loginSubmit(form)">登录</el-button>
56 59
         </el-row>
@@ -71,7 +74,7 @@ import { UserFilled, Lock, Picture } from "@element-plus/icons-vue";
71 74
 const loginForm = ref<ILogin>({
72 75
   username: "",
73 76
   password: "",
74
-  code: "1890",
77
+  code: "",
75 78
   randomStr: ""
76 79
 });
77 80
 const form = ref<FormInstance>();
@@ -91,9 +94,7 @@ const router = useRouter();
91 94
 
92 95
 const refreshCode = () => {
93 96
   loginForm.value.randomStr = randomLenNum(verificationCode.value.lenth, true);
94
-  verificationCode.value.type === "text"
95
-    ? (verificationCode.value.value = randomLenNum(verificationCode.value.lenth))
96
-    : (verificationCode.value.src = `${process.env.VUE_APP_BASE_URL}/admin/api/code?randomStr=${loginForm.value.randomStr}`);
97
+  verificationCode.value.src = `${process.env.VUE_APP_BASE_URL}/admin/api/code?randomStr=${loginForm.value.randomStr}`;
97 98
 };
98 99
 
99 100
 const loginSubmit = async (formRef?: FormInstance) => {
@@ -105,8 +106,8 @@ const loginSubmit = async (formRef?: FormInstance) => {
105 106
         .then(() => {
106 107
           router.push(store.getters.tagWel.value);
107 108
         })
108
-        .catch((err) => {
109
-          ElMessage.warning("请检查用户名/密码后再次尝试");
109
+        .catch(() => {
110
+          refreshCode();
110 111
         });
111 112
     }
112 113
   });
@@ -185,16 +186,14 @@ refreshCode();
185 186
       height: 40px;
186 187
       border-radius: 20px;
187 188
       margin: 30px 20px 0 20px;
188
-      background-color: #4a4996;
189
-      border-color: #4a4996;
189
+      background-color: linear-gradient(270deg, #2fa1ff 0%, #174df5 100%);
190
+      border-color: linear-gradient(270deg, #2fa1ff 0%, #174df5 100%);
190 191
     }
191 192
     .login-code {
192 193
       display: flex;
193 194
       align-items: center;
194 195
       justify-content: space-around;
195
-      margin-left: 10px;
196 196
       .login-code-img {
197
-        margin-top: 2px;
198 197
         width: 100px;
199 198
         height: 38px;
200 199
         background-color: #fdfdfd;
@@ -206,6 +205,7 @@ refreshCode();
206 205
         line-height: 38px;
207 206
         text-indent: 5px;
208 207
         text-align: center;
208
+        margin-bottom: 16px;
209 209
       }
210 210
     }
211 211
   }