Эх сурвалжийг харах

Merge branch 'V0.0.5' of http://10.87.21.221:8000/jzyd_yyds/soc_web into V0.0.5

jiawuxian 1 жил өмнө
parent
commit
6addfecaa5

+ 5 - 2
src/directive/permission/hasPermi.js

@@ -7,11 +7,11 @@ import store from "@/store";
 
 export default {
   inserted(el, binding, vnode) {
-    //console.log(el, binding,'vnode')
+   
     const { value } = binding;
     const all_permission = "*:*:*";
     const permissions = store.getters && store.getters.permissions;
-
+    
     if (value && value instanceof Array && value.length > 0) {
       const permissionFlag = value;
 
@@ -20,6 +20,9 @@ export default {
           all_permission === permission || permissionFlag.includes(permission)
         );
       });
+      console.log(el, binding,'vnode')
+      console.log(hasPermissions,'hasPermissions');
+      
       if (!hasPermissions) {
         //console.log(el.parentNode,'el')
         el.parentNode && el.parentNode.removeChild(el);

+ 178 - 148
src/store/modules/user.js

@@ -1,99 +1,106 @@
-import { login, logout, getInfo, refreshToken ,tokenLogin} from '@/api/login'
-import { getToken, setToken, setExpiresIn, removeToken } from '@/utils/auth'
-import {deptTreeSelect,handsheDeptTreeSelect,businessTreeSelect,wholeTreeSelect} from "@/api/system/public";
-import { SM4Encrypt, SM4Decrypt } from '@/utils/sm4.js'
+import { login, logout, getInfo, refreshToken, tokenLogin } from "@/api/login";
+import { getToken, setToken, setExpiresIn, removeToken } from "@/utils/auth";
+import {
+  deptTreeSelect,
+  handsheDeptTreeSelect,
+  businessTreeSelect,
+  wholeTreeSelect,
+} from "@/api/system/public";
+import { SM4Encrypt, SM4Decrypt } from "@/utils/sm4.js";
 const user = {
   state: {
     token: getToken(),
-    name: '',
-    userId: '',
-    orgId:'',
-    avatar: '',
+    name: "",
+    userId: "",
+    orgId: "",
+    avatar: "",
     roles: [],
-    roleList:[],
+    roleList: [],
     permissions: [],
-    orgName: '',
-    orgShortName: '',
+    orgName: "",
+    orgShortName: "",
     //用户机构树
     orgTree: [],
     //行社机构树
     depTree: [],
-    businessTree:[],
-    wholeTree:[],
+    businessTree: [],
+    wholeTree: [],
   },
 
   mutations: {
     SET_USERID: (state, userId) => {
-      state.userId = userId
+      state.userId = userId;
     },
     SET_TOKEN: (state, token) => {
-      state.token = token
+      state.token = token;
     },
     SET_EXPIRES_IN: (state, time) => {
-      state.expires_in = time
+      state.expires_in = time;
     },
     SET_NAME: (state, name) => {
-      state.name = name
+      state.name = name;
     },
     SET_AVATAR: (state, avatar) => {
-      state.avatar = avatar
+      state.avatar = avatar;
     },
     SET_ROLES: (state, roles) => {
-      state.roles = roles
+      state.roles = roles;
     },
     SET_ROLELIST: (state, roleList) => {
-      state.roleList = roleList
+      state.roleList = roleList;
     },
     SET_ORG_ID: (state, orgId) => {
-      state.orgId = orgId
+      state.orgId = orgId;
     },
     SET_ORG_TYPE: (state, orgType) => {
-      state.orgType = orgType
+      state.orgType = orgType;
     },
     SET_PERMISSIONS: (state, permissions) => {
-      state.permissions = permissions
+      state.permissions = permissions;
     },
     SET_ORG_NAME: (state, val) => {
-      state.orgName = val
+      state.orgName = val;
     },
     SET_ORG_SHORT_NAME: (state, val) => {
-      state.orgShortName = val
+      state.orgShortName = val;
     },
     SET_ORGTREE: (state, val) => {
-      state.orgTree = val
+      state.orgTree = val;
     },
     SET_DEPTREE: (state, val) => {
-      state.depTree = val
+      state.depTree = val;
     },
     SET_BUSINESSTREE: (state, val) => {
-      state.businessTree = val
+      state.businessTree = val;
     },
     SET_WHOLETREE: (state, val) => {
-      state.wholeTree = val
-    }
+      state.wholeTree = val;
+    },
   },
 
   actions: {
     // 登录
     Login({ commit }, userInfo) {
-      const username = userInfo.username.trim()
-      const password = SM4Encrypt(userInfo.password)
+      const username = userInfo.username.trim();
+      const password = SM4Encrypt(userInfo.password);
       // const password = (userInfo.password)
-      const code = userInfo.code
-      const uuid = userInfo.uuid
+      const code = userInfo.code;
+      const uuid = userInfo.uuid;
       return new Promise((resolve, reject) => {
-        let data = { username, password, code, uuid }
-        login(data).then(res => {
-          let data = res.data
-          setToken(data.access_token)
-          commit('SET_TOKEN', data.access_token)
-          setExpiresIn(data.expires_in)
-          commit('SET_EXPIRES_IN', data.expires_in)
-          resolve()
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        let data = { username, password, code, uuid };
+        login(data)
+          .then((res) => {
+            let data = res.data;
+            setToken(data.access_token);
+            commit("SET_TOKEN", data.access_token);
+            setExpiresIn(data.expires_in);
+            commit("SET_EXPIRES_IN", data.expires_in);
+            resolve();
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
     TokenLogin({ commit }, token) {
@@ -102,139 +109,162 @@ const user = {
       // const code = userInfo.code
       // const uuid = userInfo.uuid
       return new Promise((resolve, reject) => {
-        tokenLogin(token).then(res => {
-          let data = res.data
-          setToken(data.access_token)
-          commit('SET_TOKEN', data.access_token)
-          setExpiresIn(data.expires_in)
-          commit('SET_EXPIRES_IN', data.expires_in)
-          resolve()
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        tokenLogin(token)
+          .then((res) => {
+            let data = res.data;
+            setToken(data.access_token);
+            commit("SET_TOKEN", data.access_token);
+            setExpiresIn(data.expires_in);
+            commit("SET_EXPIRES_IN", data.expires_in);
+            resolve();
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
     // // 获取用户信息
     GetInfo({ commit, state }) {
       return new Promise((resolve, reject) => {
-        getInfo().then(res => {
-          const user = res.user;
-          commit('SET_USERID', user.id)
-          const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/u29.svg") : user.avatar;
-          if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
-            commit('SET_ROLES', res.roles)
-            console.log("SET_ROLES",res.roles);
-            commit('SET_PERMISSIONS', res.permissions)
-          } else {
-            commit('SET_ROLES', ['ROLE_DEFAULT'])
-          }
-          if (res.roleList && res.roleList.length > 0) { // 验证返回的roles是否是一个非空数组
-            commit('SET_ROLELIST', res.roleList)
-          } else {
-            commit('SET_ROLELIST', ['ROLE_DEFAULT'])
-          }
-          commit('SET_NAME', user.name)
-          commit('SET_AVATAR', avatar)
-          commit('SET_ORG_ID', user.orgId)
-          commit('SET_ORG_NAME', user.orgName)
-          commit('SET_ORG_SHORT_NAME', user.orgShortName)
-          commit('SET_ORG_TYPE', user.orgType)
-          resolve(res)
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        getInfo()
+          .then((res) => {
+            const user = res.user;
+            commit("SET_USERID", user.id);
+            const avatar =
+              user.avatar == "" || user.avatar == null
+                ? require("@/assets/images/u29.svg")
+                : user.avatar;
+            if (res.roles && res.roles.length > 0) {
+              // 验证返回的roles是否是一个非空数组
+              commit("SET_ROLES", res.roles);
+              console.log("SET_ROLES", res.roles);
+              res.permissions.forEach((item) => {
+                if (item == "core:accessPlan:add") {
+                  console.log(item,'ssssssssssssssssssss');
+                }
+              })
+              commit("SET_PERMISSIONS", res.permissions);
+            } else {
+              commit("SET_ROLES", ["ROLE_DEFAULT"]);
+            }
+            if (res.roleList && res.roleList.length > 0) {
+              // 验证返回的roles是否是一个非空数组
+              commit("SET_ROLELIST", res.roleList);
+            } else {
+              commit("SET_ROLELIST", ["ROLE_DEFAULT"]);
+            }
+            commit("SET_NAME", user.name);
+            commit("SET_AVATAR", avatar);
+            commit("SET_ORG_ID", user.orgId);
+            commit("SET_ORG_NAME", user.orgName);
+            commit("SET_ORG_SHORT_NAME", user.orgShortName);
+            commit("SET_ORG_TYPE", user.orgType);
+            resolve(res);
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
     //获取机构、用户管理机构树
-    getOrgTree({ commit, state }){
+    getOrgTree({ commit, state }) {
       return new Promise((resolve, reject) => {
-        deptTreeSelect().then(res => {
-          commit('SET_ORGTREE', res.data)
-          resolve(res)
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        deptTreeSelect()
+          .then((res) => {
+            commit("SET_ORGTREE", res.data);
+            resolve(res);
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
     //获取行社机构树
-    getDepTree({ commit, state }){
+    getDepTree({ commit, state }) {
       return new Promise((resolve, reject) => {
-        handsheDeptTreeSelect().then(res => {
-          commit('SET_DEPTREE', res.data)
-          resolve(res)
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        handsheDeptTreeSelect()
+          .then((res) => {
+            commit("SET_DEPTREE", res.data);
+            resolve(res);
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
     //获取业务机构树
-    getBusinessTree({ commit, state }){
+    getBusinessTree({ commit, state }) {
       return new Promise((resolve, reject) => {
-        businessTreeSelect().then(res => {
-          commit('SET_BUSINESSTREE', res.data)
-          resolve(res)
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        businessTreeSelect()
+          .then((res) => {
+            commit("SET_BUSINESSTREE", res.data);
+            resolve(res);
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
-     //获完整路径树(显示登录用户所在机构的所有下级以及直接上级机构)
-     getWholeTree({ commit, state }){
+    //获完整路径树(显示登录用户所在机构的所有下级以及直接上级机构)
+    getWholeTree({ commit, state }) {
       return new Promise((resolve, reject) => {
-        wholeTreeSelect().then(res => {
-          commit('SET_WHOLETREE', res.data)
-          resolve(res)
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        wholeTreeSelect()
+          .then((res) => {
+            commit("SET_WHOLETREE", res.data);
+            resolve(res);
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
-
-
-
     // 刷新token
-    RefreshToken({commit, state}) {
+    RefreshToken({ commit, state }) {
       return new Promise((resolve, reject) => {
-        refreshToken(state.token).then(res => {
-          setExpiresIn(res.data)
-          commit('SET_EXPIRES_IN', res.data)
-          resolve()
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        refreshToken(state.token)
+          .then((res) => {
+            setExpiresIn(res.data);
+            commit("SET_EXPIRES_IN", res.data);
+            resolve();
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
     // 退出系统
     LogOut({ commit, state }) {
       return new Promise((resolve, reject) => {
-        logout(state.token).then(() => {
-          commit('SET_TOKEN', '')
-          commit('SET_ROLES', [])
-          commit('SET_PERMISSIONS', [])
-          removeToken()
-          resolve()
-        }).catch(error => {
-          reject(error)
-        })
-      })
+        logout(state.token)
+          .then(() => {
+            commit("SET_TOKEN", "");
+            commit("SET_ROLES", []);
+            commit("SET_PERMISSIONS", []);
+            removeToken();
+            resolve();
+          })
+          .catch((error) => {
+            reject(error);
+          });
+      });
     },
 
     // 前端 登出
     FedLogOut({ commit }) {
-      return new Promise(resolve => {
-        commit('SET_TOKEN', '')
-        removeToken()
-        resolve()
-      })
-    }
-  }
-}
+      return new Promise((resolve) => {
+        commit("SET_TOKEN", "");
+        removeToken();
+        resolve();
+      });
+    },
+  },
+};
 
-export default user
+export default user;

+ 1 - 0
src/utils/request.js

@@ -146,6 +146,7 @@ export function exportFile(
       method,
       data: request,
       responseType: "blob",
+      timeout:1000*60*30,
       headers,
       onDownloadProgress: onDownloadProgressCallBack,
     })

+ 17 - 6
src/views/core/accessPlan/index.vue

@@ -46,7 +46,7 @@
                   @change="changeSelect"
                 >
                   <el-option
-                    v-for="dict in dict.type.sys_org_type"
+                    v-for="dict in dict.type.monitor_org"
                     :key="dict.value"
                     :label="dict.label"
                     :value="`${dict.value}`"
@@ -305,22 +305,24 @@
 
         <el-form-item label="机构类型" prop="orgType">
           <el-select
+          :disabled="form.isEdit || form.isComplete"
             style="width: 100%"
             v-model="form.orgType"
             placeholder="请选择机构类型"
             @change="changeSelect"
           >
             <el-option
-              v-for="dict in dict.type.sys_org_type"
+              v-for="dict in dict.type.monitor_org"
               :key="dict.value"
               :label="dict.label"
               :value="`${dict.value}`"
-              :disabled="form.isEdit || form.isComplete"
+            
             ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="调阅周期" prop="planCycle">
           <el-select
+          :disabled="form.isEdit || form.isComplete"
             style="width: 100%"
             v-model="form.planCycle"
             placeholder="请选择调阅周期"
@@ -330,12 +332,13 @@
               :key="dict.value"
               :label="dict.label"
               :value="`${dict.value}`"
-              :disabled="form.isEdit || form.isComplete"
+            
             ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="调阅人员" prop="roleId">
           <el-select
+          :disabled="form.isEdit || form.isComplete"
             style="width: 100%"
             v-model="form.roleId"
             placeholder="请选择用户角色"
@@ -346,7 +349,7 @@
               :key="item.id"
               :label="item.roleName"
               :value="item.id"
-              :disabled="form.isEdit || form.isComplete"
+            
             ></el-option>
           </el-select>
         </el-form-item>
@@ -471,6 +474,7 @@ export default {
     "plan_status",
     "is_full",
     "edu_plan_status",
+    "monitor_org",
   ],
   components: {
     orgTree,
@@ -893,6 +897,7 @@ export default {
     },
     handWithdraw(row) {
       if (row.isComplete) {
+   
         this.$modal
         .confirm("因不存在已完成任务,撤回后将删除所有生成任务")
         .then(function () {
@@ -904,7 +909,11 @@ export default {
         })
         .catch(() => {});
       }else{
-        this.$modal
+        if (row.planCycle==0) {
+           this.$modal
+         .confirm("存在已完成任务,无周期任务不允许撤回,如需删除下发任务请点击“删除”。")
+        }else{
+          this.$modal
         .confirm("因存在已完成任务,撤回后下周期起将不再生成任务")
         .then(function () {
           return withdraw(row.id);
@@ -914,6 +923,8 @@ export default {
           this.$modal.msgSuccess("撤回成功");
         })
         .catch(() => {});
+        }
+   
       }
 
     },

+ 2 - 0
src/views/core/outIn/letter/dialog.addletter.vue

@@ -68,6 +68,7 @@
                   ref="uploadFile"
                   :limit=2
                   :defaultValue="formFileListDefualtValue"
+                  :fileType="letterFileType"
                   @input="fileListChanged"
                   v-model="formData.letterFile"
                 />
@@ -239,6 +240,7 @@ export default {
       open: false,
       userInfo: this.resetUserInfo(),
       imageList: [],
+      letterFileType:["pdf", "jpg", "png", "bmp"]
     };
   },
   dicts: ["letter_status","letter_id_type"],

+ 1 - 1
src/views/core/outIn/outInLog/dialog.outIn.detail.vue

@@ -61,7 +61,7 @@
               :defaultValue="formData.letterFile"
             />
           </el-descriptions-item>
-          <el-descriptions-item label="核验结果">
+          <el-descriptions-item label="核验结果" span="2" labelClassName="gx_info_label">
             <ImageListPreview v-model="formData.checkImage"></ImageListPreview>
           </el-descriptions-item>
         </el-descriptions>

+ 1 - 1
src/views/core/outIn/outInLog/index.vue

@@ -200,7 +200,7 @@
               label="操作"
               header-align="center"
               align="center"
-              width="200"
+              width="210"
               fixed="right"
               class-name="small-padding fixed-width"
             >

+ 4 - 1
src/views/resumptionEvaluate/evaluate/index.vue

@@ -263,7 +263,10 @@ export default {
       dataList: [],
     };
   },
-  created() {},
+  created() {
+    
+    
+  },
   mounted() {},
   computed: {
     ...mapGetters(["orgId"]),

+ 6 - 5
src/views/system/user/index.vue

@@ -435,7 +435,7 @@
                 ref="configSelect"
               >
                 <el-option
-                  v-for="item in roleOptions"
+                  v-for="item in role_options"
                   :key="item.id"
                   :label="item.roleName"
                   :value="item.id"
@@ -776,10 +776,11 @@ export default {
       });
     },
     selectRoles() {
-      selectrolesByOrgId({ orgId: this.form.orgId }).then((res) => {
-        console.log(res, "selectrolesByOrgId");
-        this.roleOptions = res.data;
-      });
+      // 由于保卫科等科室人员 所在机构的类型没法设置,所有在人员设置角色时 先解除 机构类型和角色的限制关系
+      // selectrolesByOrgId({ orgId: this.form.orgId }).then((res) => {
+      //   console.log(res, "selectrolesByOrgId");
+      //   this.roleOptions = res.data;
+      // });
     },
     /** 查询机构树数据 */
     getDeptTree() {