Browse Source

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc_web into V0.0.2

jiawuxian 2 năm trước cách đây
mục cha
commit
21d9cacf38

+ 38 - 0
src/api/system/public.js

@@ -16,6 +16,44 @@ export function handsheDeptTreeSelect() {
   })
 }
 
+
+export function businessTreeSelect(para) {
+  // return request({
+  //   url: '/system/dept/deptTree/business',
+  //   method: 'get'
+  // })
+  if(!para)
+  {
+    para={
+      excludeOrgCode:"900000000",
+      excludeOrgName:"各部门"
+    }
+  }
+  return request({
+    url: '/system/dept/deptTree/business',
+    method: 'post',
+    data: para,
+  })
+}
+
+
+export function wholeTreeSelect(para) {  
+  if(!para) {
+    para={
+      orgId:"",
+      includeSub:true,
+      excludeOrgName:"各部门"
+    }
+  }
+  return request({
+    url: '/system/dept/deptTree/whole',
+    method: 'post',
+    data: para,
+  })
+}
+
+
+
 // 查询文件
 export function getFile(code) {
   return request({

+ 20 - 1
src/components/orgTree/index.vue

@@ -65,6 +65,14 @@ export default {
       type: Boolean,
       default: false,
     },
+    businessTree: {
+      type: Boolean,
+      default: false,
+    },
+    wholeTree: {
+      type: Boolean,
+      default: false,
+    },    
     defaultProps: {
       type: Object,
       default: () => {
@@ -123,9 +131,20 @@ export default {
           return;
         });
       } else {
+        console.log("getDeptTree",this.hangsheTree,this.businessTree,this.wholeTree)
         if (this.hangsheTree) {
           this.treeList = this.$store.getters.depTree;
-        } else {
+        }
+        else if(this.businessTree)
+        {          
+          this.treeList = this.$store.getters.businessTree;
+        }
+        else if(this.wholeTree)
+        {
+          console.log("wholeTree",this.$store.getters.wholeTree)
+          this.treeList = this.$store.getters.wholeTree;
+        }
+        else {
           this.treeList = this.$store.getters.orgTree;
         }
         this.dataFn(this.treeList);

+ 2 - 0
src/permission.js

@@ -27,6 +27,8 @@ router.beforeEach((to, from, next) => {
           isRelogin.show = false;
           store.dispatch('getOrgTree');
           store.dispatch('getDepTree');
+          store.dispatch('getBusinessTree');
+          store.dispatch('getWholeTree');
           store.dispatch('GenerateRoutes').then(accessRoutes => {
             // 根据roles权限生成可访问的路由表
             router.addRoutes(accessRoutes) // 动态添加可访问路由表

+ 2 - 0
src/store/getters.js

@@ -23,5 +23,7 @@ const getters = {
   sidebarRouters:state => state.permission.sidebarRouters,
   orgTree:state => state.user.orgTree,
   depTree:state => state.user.depTree,
+  businessTree:state => state.user.businessTree,
+  wholeTree:state => state.user.wholeTree,
 }
 export default getters

+ 37 - 2
src/store/modules/user.js

@@ -1,6 +1,6 @@
 import { login, logout, getInfo, refreshToken ,tokenLogin} from '@/api/login'
 import { getToken, setToken, setExpiresIn, removeToken } from '@/utils/auth'
-import {deptTreeSelect,handsheDeptTreeSelect} from "@/api/system/public";
+import {deptTreeSelect,handsheDeptTreeSelect,businessTreeSelect,wholeTreeSelect} from "@/api/system/public";
 
 const user = {
   state: {
@@ -17,6 +17,8 @@ const user = {
     orgTree: [],
     //行社机构树
     depTree: [],
+    businessTree:[],
+    wholeTree:[],
   },
 
   mutations: {
@@ -58,6 +60,12 @@ const user = {
     },
     SET_DEPTREE: (state, val) => {
       state.depTree = val
+    },
+    SET_BUSINESSTREE: (state, val) => {
+      state.businessTree = val
+    },
+    SET_WHOLETREE: (state, val) => {
+      state.wholeTree = val
     }
   },
 
@@ -133,7 +141,7 @@ const user = {
       })
     },
 
-    //获取用户机构树
+    //获取机构、用户管理机构树
     getOrgTree({ commit, state }){
       return new Promise((resolve, reject) => {
         deptTreeSelect().then(res => {
@@ -157,6 +165,33 @@ const user = {
       })
     },
 
+    //获取业务机构树
+    getBusinessTree({ commit, state }){
+      return new Promise((resolve, reject) => {
+        businessTreeSelect().then(res => {
+          commit('SET_BUSINESSTREE', res.data)
+          resolve(res)
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
+
+     //获完整路径树(显示登录用户所在机构的所有下级以及直接上级机构)
+     getWholeTree({ commit, state }){
+      return new Promise((resolve, reject) => {
+        wholeTreeSelect().then(res => {
+          commit('SET_WHOLETREE', res.data)
+          resolve(res)
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
+
+    
+
+
     // 刷新token
     RefreshToken({commit, state}) {
       return new Promise((resolve, reject) => {

+ 2 - 0
src/views/check/dialog.edit.vue

@@ -370,6 +370,8 @@ export default {
         checkOrgIds: null,
         execOrgIds: null,
         rulePointIds: null,
+        checkOrgType:null,
+        checkType:null,
       };
     },
     getRolesByOrg() {

+ 4 - 4
src/views/check/index.vue

@@ -139,7 +139,7 @@
               icon="el-icon-plus"
               size="mini"
               @click="handleAdd()"
-              v-hasPermi="['system:user:add']"
+              v-hasPermi="['core:checkplan:add']"
               >新增计划</el-button
             >
           </el-col>
@@ -286,7 +286,7 @@
                 type="text"
                 icon="el-icon-edit"
                 @click="onEdit(r.row.id)"
-                v-hasPermi="['system:user:edit']"
+                v-hasPermi="['core:checkplan:edit']"
                 >修改</el-button
               >
               <el-button
@@ -294,7 +294,7 @@
                 type="text"
                 icon="el-icon-delete"
                 @click="onDel(r.row.id, r.row.planName)"
-                v-hasPermi="['system:user:remove']"
+                v-hasPermi="['core:checkplan:remove']"
                 >删除</el-button
               >
               <el-button
@@ -303,7 +303,7 @@
                 icon="el-icon-delete"
                 v-if="checkCanPublish(r.row)"
                 @click="showDialogDistribute(r.row)"
-                v-hasPermi="['system:user:remove']"
+                v-hasPermi="['core:checkplan:distribute']"
                 >下发</el-button>
             </template>
           </el-table-column>

+ 12 - 12
src/views/core/drill/task/dialog.perform.vue

@@ -57,7 +57,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item v-if="formData.id" label="缺席人员">
+              <el-form-item v-if="formData.id" prop="absentList" label="缺席人员">
                 <k-select :multiple="true" v-model="formData.absentList" url="/user/find/all"
                   :params="{ orgId: formData.orgId }" @select="absentUserSelectChanged" placeholder="请选择缺席人员">
                 </k-select>
@@ -175,7 +175,7 @@ export default {
         }
         this.formData = response.data;
       });
-      console.log("getEduTask", this.formData);
+      console.log("getDrillTask", this.formData);
     },
     async show(id, other = {}) {
       this.id = id;
@@ -188,12 +188,12 @@ export default {
     },
     absentUserSelectChanged(list) {
       // 将类型为2的数据删除
-      if (this.formData.taskUserList) {
-        this.formData.taskUserList = this.formData.taskUserList.filter(
+      if (this.formData.absentList) {
+        this.formData.absentList = this.formData.absentList.filter(
           (x) => x.type == 1
         );
       } else {
-        this.formData.taskUserList = [];
+        this.formData.absentList = [];
       }
       let tempList = list.map((x) => {
         return {
@@ -203,17 +203,17 @@ export default {
         };
       });
       if (!tempList) return;
-      this.formData.taskUserList = this.formData.taskUserList.concat(tempList);
-      console.log("absentUserSelectChanged", list, this.formData.taskUserList);
+      this.formData.absentList = this.formData.absentList.concat(tempList);
+      console.log("absentUserSelectChanged", list, this.formData.absentList);
     },
     absenceUserSelectChanged(list) {
       // 将类型为1的数据删除
-      if (this.formData.taskUserList) {
-        this.formData.taskUserList = this.formData.taskUserList.filter(
+      if (this.formData.absenceList) {
+        this.formData.absenceList = this.formData.absenceList.filter(
           (x) => x.type == 2
         );
       } else {
-        this.formData.taskUserList = [];
+        this.formData.absenceList = [];
       }
       let tempList = list.map((x) => {
         return {
@@ -223,8 +223,8 @@ export default {
         };
       });
       if (!tempList) return;
-      this.formData.taskUserList = this.formData.taskUserList.concat(tempList);
-      console.log("absenceUserSelectChanged", list, this.formData.taskUserList);
+      this.formData.absenceList = this.formData.absenceList.concat(tempList);
+      console.log("absenceUserSelectChanged", list, this.formData.absenceList);
     },
     // 事件
     onHide() {

+ 1 - 1
src/views/core/edu/task/dialog.perform.vue

@@ -308,7 +308,7 @@ export default {
 
       if (request.trainingEndDateTime)
         request.trainingEndDateTime = dayjs(request.trainingEndDateTime).format('YYYY-MM-DD HH:mm:ss')
-
+        request.taskUserList = [];
         recordEduTask(request).then((v) => {
           this.$emit("success", this.formData);
           this.onHide();

+ 0 - 13
src/views/core/edu/task/index.vue

@@ -289,13 +289,11 @@ export default {
       }, `eduTask_${new Date().getTime()}.xlsx`)
     },
     canPerform(row) {
-      return  true;
       // debugger
       let flag = 0;
       if(row.status>0) return false;
       if(!row.taskRoleList)   return false;
       let isOver =this.isNotOverOrUnStart(row);
-      // console.log("isNotOverOrUnStart",isOver);
       row.taskRoleList.forEach((taskRole) => {
         this.$store.getters.roleList.forEach((role) => {
           if (taskRole.roleId == role.roleId) {
@@ -308,21 +306,10 @@ export default {
     isNotOverOrUnStart(row) {
       const currentTime = dayjs().startOf('day'); // 获取当前时间,并将时分秒部分设置为00时00分00秒
       const startDate = dayjs(row.startDate).startOf('day'); // 转换开始时间为 Moment.js 对象,并将时分秒部分设置为00时00分00秒
-
       const endDate = dayjs(row.endDate).startOf('day'); // 转换结束时间为 Moment.js 对象,并将时分秒部分设置为00时00分00秒
-      // 判断开始时间和结束时间是否是同一天
-      //const isSameDay = startDate.isSame(endDate, 'day');
-      // console.log("isOverOrUnStart",currentTime,startDate,endDate);
-      // 如果是同一天,则判断当前时间是否在开始时间和结束时间之间(包括开始和结束时间)
-      // if (isSameDay) {
-      //   return dayjs(currentTime).isBetween(startDate, endDate, null, '[]');
-      // }
-
-      // 如果不是同一天,则判断当前时间是否早于开始时间或晚于结束时间
       return !(currentTime < startDate || currentTime > endDate);
     },
     async onDown(pdfUrl) {
-      // const data = await this.$api.eduTraining.predown(id);
       window.open(pdfUrl);
     },
   }