Explorar o código

修改机构树及作息管理

凉纪 %!s(int64=2) %!d(string=hai) anos
pai
achega
618eb38a73

+ 2 - 2
src/components/RightToolbar/index.vue

@@ -16,8 +16,8 @@
         :titles="['显示', '隐藏']"
         v-model="value"
         :data="columns"
-        @change="dataChange"
-      ></el-transfer>
+        @change="dataChange">
+      </el-transfer>
     </DialogCom>
   </div>
 </template>

+ 6 - 7
src/components/layoutContainer/index.vue

@@ -22,9 +22,9 @@ export default {
   },
   directives: {
     move(el, bindings, that) {
-       
+
       that = that.context;
-    
+
 
       el.onmousedown = function (e) {
         var init = e.clientX;
@@ -34,20 +34,19 @@ export default {
         // var parentelement = document.querySelector("#form");
         // var formBox = document.querySelector(".formBox");
         var initWidth = parent.offsetWidth;
-        
+
 
         document.onmousemove = function (e) {
             var end = e.clientX;
-           
+
           if (end > that.leftWith) {
               var newWidth = end - init + initWidth;
               parent.style.width = newWidth + "px";
-              console.log(parent);
-          
+             // console.log(parent);
           } else {
             end = that.leftWith + "px";
             parent.style.width = that.leftWith + "px";
-           
+
           }
         };
         document.onmouseup = function () {

+ 24 - 24
src/components/orgTree/index.vue

@@ -8,14 +8,12 @@
         size="small"
         prefix-icon="el-icon-search"
         style="margin-bottom: 20px"
-        maxlength="50"
       />
     </div>
     <div class="tree-container">
       <div style="margin-bottom: 10px" v-show="showLowerCheck">
         <el-checkbox v-model="checkSub" @change="changeCheckBox"
-          >关联下级</el-checkbox
-        >
+          >关联下级</el-checkbox>
       </div>
       <el-tree
         :data="treeList"
@@ -35,8 +33,7 @@
             class="item"
             effect="light"
             :content="node.label"
-            placement="top-start"
-          >
+            placement="top-start">
             <span>{{ node.label }}</span>
           </el-tooltip>
         </span>
@@ -48,7 +45,7 @@
 <script>
 import tableListMixins from "@/mixins/tableList";
 import { deptTreeSelect, handsheDeptTreeSelect } from "@/api/system/public";
-window.treeData={}
+
 export default {
   name: "orgTree",
   mixins: [tableListMixins],
@@ -99,7 +96,7 @@ export default {
       this.defaultProps = { ...val };
     },
   },
-  created() {
+  mounted() {
     this.getDeptTree();
   },
   methods: {
@@ -109,25 +106,28 @@ export default {
     },
     /** 查询机构下拉树结构 */
     getDeptTree() {
-      let method = deptTreeSelect;
-      if (this.hangsheTree) {
-        method = handsheDeptTreeSelect;
-      }
       if (this.customRequest) {
-        method = this.customRequest;
+        this.customRequest().then((response) => {
+          this.treeList = response.data;
+          this.dataFn(response.data);
+          return
+        });
       }
-      
-      method().then((response) => {
-        this.treeList = response.data;
-        this.defaultKeys.push(response.data[0].id);
-        this.$emit("defaultKey", response.data[0].id);
-        this.$emit("defaultOrg", response.data[0]);
-        this.defaultKey = response.data[0].id;
-        
-        setTimeout(() => {
-          this.$refs.tree.setCurrentKey(response.data[0].id);
-        }, 100);
-      });
+      this.treeList = this.$store.getters.orgTree;
+      if (this.hangsheTree) {
+        this.treeList = this.$store.getters.depTree;
+      }
+      this.dataFn(this.treeList);
+    },
+    dataFn(arr){
+      console.log(arr,'arrr')
+      this.defaultKeys.push(arr[0].id);
+      this.$emit("defaultKey", arr[0].id);
+      this.$emit("defaultOrg", arr[0]);
+      this.defaultKey = arr[0].id;
+      setTimeout(() => {
+        this.$refs.tree.setCurrentKey(arr[0].id);
+      }, 100);
     },
     // 筛选节点
     filterNode(value, data) {

+ 56 - 23
src/components/orgTreeSelect/index.vue

@@ -6,11 +6,8 @@
       <i
         v-if="sNodeList.length > 0 && !disabled"
         class="el-icon-circle-close close-icon"
-        @click="clear"
-      ></i>
-      <el-tag type="success" v-for="v in sNodeList" :key="v.id">{{
-        v.name
-      }}</el-tag>
+        @click="clear"></i>
+      <el-tag type="success" v-for="v in sNodeList" :key="v.id">{{v.name}}</el-tag>
     </div>
 
     <!--  文本框    -->
@@ -19,7 +16,6 @@
       v-model="queryForm.value"
       @input="serchTreeHandler"
       placeholder="请输入过滤值"
-      clearable
     ></el-input>
     <!--  下拉框   -->
     <el-row :gutter="20" type="flex" align="middle">
@@ -54,25 +50,43 @@
         :check-strictly="true"
         :expand-on-click-node="false"
         :default-checked-keys="nodes"
+        :default-expanded-keys="nodes"
         @node-click="handleNodeClick"
         @check="onCheck"
-        :filter-node-method="filterNode"
-      >
+        :filter-node-method="filterNode">
       </el-tree>
     </div>
   </el-popover>
 </template>
 
 <script>
-import {deptTreeSelect} from "@/api/system/public";
-
 export default {
   dicts: ["sys_org_type"],
   props: {
+    //默认选中的node
     defaultNode: {
       type: Array,
+      default: () => [],
       required: false,
     },
+    //行社机构
+    hangsheTree: {
+      type: Boolean,
+      default: false,
+    },
+    defaultProps: {
+      type: Object,
+      default: () => {
+        return {
+          children: "children",
+          label: "name",
+        };
+      },
+    },
+    //自定义请求
+    customRequest: {
+      type: Function,
+    },
     //组件禁用
     disabled: {
       type: Boolean,
@@ -101,10 +115,6 @@ export default {
       visible: false,
       //结构树
       orgTree: null,
-      //自定义字段
-      defaultProps: {
-        label: "name",
-      },
       //过滤条件
       queryForm: {
         value: null,
@@ -122,13 +132,23 @@ export default {
   mounted() {
     this.getDeptTree();
   },
+  computed:{
+
+  },
   watch: {
     defaultNode: {
-      deep: true,
+      immediate: true,
       handler(n) {
+        this.nodes = this.defaultNode;
         this.$nextTick(() => {
-          this.sNodeList = n;
-          this.nodes = n;
+          let arr = [];
+          this.defaultNode.forEach(v=>{
+            let node = this.$refs.tree.getNode(v);
+            arr.push(node.data)
+          })
+          this.sNodeList = arr;
+          this.$refs.tree.e
+          console.log(arr,'arr')
         });
       },
     },
@@ -141,6 +161,12 @@ export default {
         }
       },
     },
+    sNodeList:{
+      deep: true,
+      handler(){
+        this.$emit("selectNode", JSON.stringify(this.sNodeList));
+      },
+    },
     queryData: {
       handler(n) {
         if (n) {
@@ -175,17 +201,24 @@ export default {
         this.sNodeList = [];
         this.$refs.tree.setCheckedKeys([]);
         this.$refs.tree.setCurrentKey(null);
-        this.$emit("selectNode", JSON.stringify(this.sNodeList));
+        //this.$emit("selectNode", JSON.stringify(this.sNodeList));
       },
       //筛选条件变化
       serchTreeHandler() {
         this.$refs.tree.filter(this.queryForm);
       },
-      /** 查询机构树 */
+      /** 查询机构下拉结构 */
       getDeptTree() {
-        deptTreeSelect().then((response) => {
-          this.orgTree = response.data;
-        });
+        if (this.customRequest) {
+          this.customRequest().then((response) => {
+            this.treeList = response.data;
+            return
+          });
+        }
+        this.orgTree = this.$store.getters.orgTree;
+        if (this.hangsheTree) {
+          this.orgTree = this.$store.getters.depTree;
+        }
       },
       filterNode(value, data, node) {
         if (this.queryForm.value && this.queryForm.type) {
@@ -214,7 +247,7 @@ export default {
         }
         // debugger;
         this.sNodeList = this.$refs.tree.getCheckedNodes();
-        this.$emit("selectNode", JSON.stringify(this.sNodeList));
+        //this.$emit("selectNode", JSON.stringify(this.sNodeList));
       },
       recursionTreeHandler(type, tree) {
         tree.forEach((item) => {

+ 4 - 1
src/permission.js

@@ -24,12 +24,15 @@ router.beforeEach((to, from, next) => {
         isRelogin.show = true
         // 判断当前用户是否已拉取完user_info信息
         store.dispatch('GetInfo').then(() => {
-          isRelogin.show = false
+          isRelogin.show = false;
+          store.dispatch('getOrgTree');
+          store.dispatch('getDepTree');
           store.dispatch('GenerateRoutes').then(accessRoutes => {
             // 根据roles权限生成可访问的路由表
             router.addRoutes(accessRoutes) // 动态添加可访问路由表
             next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
           })
+
         }).catch(err => {
           console.log(err,'err')
           next({ path: '/login' })

+ 2 - 0
src/store/getters.js

@@ -20,5 +20,7 @@ const getters = {
   topbarRouters:state => state.permission.topbarRouters,
   defaultRoutes:state => state.permission.defaultRoutes,
   sidebarRouters:state => state.permission.sidebarRouters,
+  orgTree:state => state.user.orgTree,
+  depTree:state => state.user.depTree,
 }
 export default getters

+ 35 - 0
src/store/modules/user.js

@@ -1,5 +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";
 
 const user = {
   state: {
@@ -12,6 +13,10 @@ const user = {
     roleList:[],
     permissions: [],
     orgName: '',
+    //用户机构树
+    orgTree: [],
+    //行社机构树
+    depTree: [],
   },
 
   mutations: {
@@ -45,6 +50,12 @@ const user = {
     SET_ORG_NAME: (state, val) => {
       state.orgName = val
     },
+    SET_ORGTREE: (state, val) => {
+      state.orgTree = val
+    },
+    SET_DEPTREE: (state, val) => {
+      state.depTree = val
+    }
   },
 
   actions: {
@@ -118,6 +129,30 @@ const user = {
       })
     },
 
+    //获取用户机构树
+    getOrgTree({ commit, state }){
+      return new Promise((resolve, reject) => {
+        deptTreeSelect().then(res => {
+          commit('SET_ORGTREE', res.data)
+          resolve(res)
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
+
+    //获取行社机构树
+    getDepTree({ commit, state }){
+      return new Promise((resolve, reject) => {
+        handsheDeptTreeSelect().then(res => {
+          commit('SET_DEPTREE', res.data)
+          resolve(res)
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
+
     // 刷新token
     RefreshToken({commit, state}) {
       return new Promise((resolve, reject) => {

+ 2 - 2
src/utils/request.js

@@ -57,7 +57,7 @@ service.interceptors.request.use(config => {
         const message = '数据正在处理,请勿重复提交';
         console.warn(`[${s_url}]: ` + message)
         return Promise.reject(new Error(message))
-      } 
+      }
       else {
         cache.session.setJSON('sessionObj', requestObj)
       }
@@ -87,7 +87,7 @@ let success = res => {
         isRelogin.show = false;
         store.dispatch('LogOut').then(() => {
           removeSession();
-          location.href = '/login';
+          location.href = '/';
         })
       }).catch(() => {
         isRelogin.show = false;

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

@@ -134,17 +134,13 @@
           </el-row>
           <el-table
             border
-          height="650"
-          size="small"
+            height="650"
+            size="small"
             v-loading="loading"
             :data="userList"
             @selection-change="handleSelectionChange"
           >
-            <el-table-column fixed label="序号" align="center" min-width="50">
-            <template v-slot:default="scope">
-              <span v-text="getPageIndex(scope.$index)"> </span>
-            </template>
-          </el-table-column>
+          <el-table-column fixed label="序号" type="index" align="center" width="50"></el-table-column>
             <el-table-column
               label="用户账号"
               align="center"
@@ -176,7 +172,7 @@
               label="用户角色"
               align="left"
               prop="roles"
-              width="160"
+              width="240"
               v-if="columns[2].visible"
               :show-overflow-tooltip="true"
             >
@@ -234,7 +230,7 @@
             <el-table-column
               label="操作"
               align="center"
-              width="160"
+              width="300"
               fixed="right"
               class-name="small-padding fixed-width"
             >
@@ -342,7 +338,6 @@
           <el-col :span="10">
             <el-form-item label="所属机构" prop="orgId">
               <tree-select
-             
                 v-model="form.orgId"
                 :options="deptOptions"
                 :show-count="true"
@@ -644,7 +639,7 @@ export default {
   },
 
   created() {
- 
+
   },
   mounted() {
     this.getAllRoles();
@@ -675,7 +670,7 @@ export default {
         return rel;
         }
         return "";
-				
+
     },
     getPageIndex($index) {
       //表格序号
@@ -704,7 +699,7 @@ export default {
         this.deptOptions = response.data;
       });
     },
-  
+
     // 节点单击事件
     clickTreeNode(data) {
       this.queryParams.orgId = data.id;

+ 1 - 0
src/views/system/workTimeSet/dialog.add.vue

@@ -149,6 +149,7 @@ export default {
       isShow: false,
       workTimeList: [],
       orgIdList:  [],
+      nodes:[],
       startDatepickerOptions: {
         disabledDate(time) {
           const date = new Date();

+ 161 - 146
src/views/system/workTimeSet/workTime.vue

@@ -1,142 +1,155 @@
 <template>
   <div class="tabs-container">
-    <el-row :gutter="20">
-      <!--机构数据-->
-      <el-col :span="4" :xs="24">
-        <div class="head-container">
-          <el-input
-            v-model="deptName"
-            placeholder="请输入机构名称"
-            clearable
-            size="small"
-            prefix-icon="el-icon-search"
-            style="margin-bottom: 20px"
-          />
-        </div>
-        <div class="tree-container">
-          <div style="margin-bottom: 10px;">
-            <el-checkbox v-model="queryParams.checkSub" @change="changeCheckBox">关联下级</el-checkbox>
-          </div>
-          <el-tree
-            :data="deptOptions"
-            :props="defaultProps"
-            :expand-on-click-node="false"
-            :filter-node-method="filterNode"
-            ref="tree"
-            node-key="id"
-            highlight-current
-            :default-expanded-keys="defaultKeys"
-            :default-checked-keys="defaultKeys"
-            @node-click="handleNodeClick"
-          />
-        </div>
-      </el-col>
-      <!--table数据-->
-      <el-col :span="20" :xs="24">
+      <el-row :gutter="20">
+        <!--机构数据-->
+        <el-col :span="4" :xs="24">
+  <!--        <div class="head-container">-->
+  <!--          <el-input-->
+  <!--            v-model="deptName"-->
+  <!--            placeholder="请输入机构名称"-->
+  <!--            clearable-->
+  <!--            size="small"-->
+  <!--            prefix-icon="el-icon-search"-->
+  <!--            style="margin-bottom: 20px"-->
+  <!--          />-->
+  <!--        </div>-->
+  <!--        <div class="tree-container">-->
+  <!--          <div style="margin-bottom: 10px;">-->
+  <!--            <el-checkbox v-model="queryParams.checkSub" @change="changeCheckBox">关联下级</el-checkbox>-->
+  <!--          </div>-->
+  <!--          <el-tree-->
+  <!--            :data="deptOptions"-->
+  <!--            :props="defaultProps"-->
+  <!--            :expand-on-click-node="false"-->
+  <!--            :filter-node-method="filterNode"-->
+  <!--            ref="tree"-->
+  <!--            node-key="id"-->
+  <!--            highlight-current-->
+  <!--            :default-expanded-keys="defaultKeys"-->
+  <!--            :default-checked-keys="defaultKeys"-->
+  <!--            @node-click="handleNodeClick"-->
+  <!--          />-->
+  <!--        </div>-->
+          <org-tree
+            v-model="queryParams.orgId"
+            @defaultKey="getDefaultKey"
+            @checkChange="changeCheckBox"
+            @click="handleNodeClick"
+          ></org-tree>
+        </el-col>
+        <!--table数据-->
+        <el-col :span="20" :xs="24">
 
-        <!--    搜索条件    -->
-        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-          <el-form-item label="日期范围">
-            <el-date-picker
-              v-model="queryParams.range"
-              style="width: 240px"
-              value-format="yyyy-MM-dd hh:mm:ss"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :clearable="false"
-            ></el-date-picker>
-          </el-form-item>
-          <el-form-item label="营业状态" prop="status">
-            <el-select
-              v-model="queryParams.isEnable"
-              placeholder="请选择"
-              clearable
-              style="width: 240px"
-            >
-              <el-option
-                v-for="dict in dict.type.sys_business_type"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
-              />
-            </el-select>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-            <el-button icon="el-icon-refresh" size="mini" @click="resetForm">重置</el-button>
-          </el-form-item>
-        </el-form>
+          <!--    搜索条件    -->
+          <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+            <el-form-item label="日期范围">
+              <el-date-picker
+                v-model="queryParams.range"
+                style="width: 240px"
+                value-format="yyyy-MM-dd hh:mm:ss"
+                type="daterange"
+                range-separator="-"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                :clearable="false"
+              ></el-date-picker>
+            </el-form-item>
+            <el-form-item label="营业状态" prop="status">
+              <el-select
+                v-model="queryParams.isEnable"
+                placeholder="请选择"
+                clearable
+                style="width: 240px"
+              >
+                <el-option
+                  v-for="dict in dict.type.sys_business_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+              <el-button icon="el-icon-refresh" size="mini" @click="resetForm">重置</el-button>
+            </el-form-item>
+          </el-form>
 
-        <!--    按纽    -->
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button
-              type="primary"
-              plain
-              size="mini"
-              icon="el-icon-thumb"
-              @click="clickAdd"
-              v-hasPermi="['system:time:add']"
-            >新增作息配置</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <!-- <el-button
-              type="warning"
-              plain
-              icon="el-icon-download"
-              size="mini"
-              @click="handleExport"
-              v-hasPermi="['system:time:export']">导出</el-button> -->
-          </el-col>
-          <right-toolbar :showSearch.sync="showSearch" size="mini" @queryTable="getList" :columns="columns"></right-toolbar>
-        </el-row>
+          <!--    按纽    -->
+          <el-row :gutter="10" class="mb8">
+            <el-col :span="1.5">
+              <el-button
+                type="primary"
+                plain
+                size="mini"
+                icon="el-icon-thumb"
+                @click="clickAdd"
+                v-hasPermi="['system:time:add']"
+              >新增作息配置</el-button>
+            </el-col>
+            <el-col :span="1.5">
+              <!-- <el-button
+                type="warning"
+                plain
+                icon="el-icon-download"
+                size="mini"
+                @click="handleExport"
+                v-hasPermi="['system:time:export']">导出</el-button> -->
+            </el-col>
+            <right-toolbar :showSearch.sync="showSearch" size="mini" @queryTable="getList" :columns="columns"></right-toolbar>
+          </el-row>
 
-        <el-table v-loading="loading" style="width: auto;" size="mini" border :data="tableList">
-          <el-table-column v-if="columns[0].visible" prop="orgName" label="机构"></el-table-column>
-          <el-table-column v-if="columns[1].visible" label="日期" >
-            <span slot-scope="scope">{{scope.row.ymdDate}}</span>
-          </el-table-column>
-          <el-table-column v-if="columns[2].visible" label="营业状态">
-            <template slot-scope="r">{{r.row.isEnable?'营业':'歇业'}}</template>
-          </el-table-column>
-<!--          <el-table-column v-if="columns[3].visible" label="上下班时间段">-->
-<!--            <template slot-scope="r">-->
-<!--              <span>{{r.row.workTime}}-{{r.row.workOffTime}}</span>-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-          <el-table-column v-if="columns[4].visible" label="营业时间段">
-            <template slot-scope="r">
-              <span>{{r.row.openTime}}-{{r.row.closeTime}}</span>
-            </template>
-          </el-table-column>
-<!--          <el-table-column v-if="columns[5].visible" label="午休时间段">-->
-<!--            <template slot-scope="scope">-->
-<!--              <span>{{scope.row.noonbreakStart}}-{{scope.row.noonbreakEnd}}</span>-->
-<!--            </template>-->
-<!--          </el-table-column>-->
-          <el-table-column v-if="columns[6].visible" prop="modifiedName" label="更新人" ></el-table-column>
-          <el-table-column v-if="columns[7].visible" label="更新时间" >
-            <span slot-scope="scope">{{scope.row.updateTime}}</span>
-          </el-table-column>
-          <el-table-column v-if="columns[8].visible" label="操作列表" width="100" >
-            <template slot-scope="r">
-              <el-button type="text"  v-hasPermi="['system:time:edit']" @click="onEditTime(r.row)">编辑</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
+          <el-table
+            height="600"
+            size="small"
+            v-loading="loading"
+            style="width: auto;"
+            border
+            :data="tableList">
+            <el-table-column fixed label="序号" type="index" align="center" width="50"></el-table-column>
+            <el-table-column v-if="columns[0].visible" prop="orgName" label="机构"  :show-overflow-tooltip="true"></el-table-column>
+            <el-table-column v-if="columns[1].visible" label="日期" >
+              <span slot-scope="scope">{{scope.row.ymdDate}}</span>
+            </el-table-column>
+            <el-table-column v-if="columns[2].visible" label="营业状态">
+              <template slot-scope="r">{{r.row.isEnable?'营业':'歇业'}}</template>
+            </el-table-column>
+  <!--          <el-table-column v-if="columns[3].visible" label="上下班时间段">-->
+  <!--            <template slot-scope="r">-->
+  <!--              <span>{{r.row.workTime}}-{{r.row.workOffTime}}</span>-->
+  <!--            </template>-->
+  <!--          </el-table-column>-->
+            <el-table-column v-if="columns[4].visible" label="营业时间段">
+              <template slot-scope="r">
+                <span>{{r.row.openTime}}-{{r.row.closeTime}}</span>
+              </template>
+            </el-table-column>
+  <!--          <el-table-column v-if="columns[5].visible" label="午休时间段">-->
+  <!--            <template slot-scope="scope">-->
+  <!--              <span>{{scope.row.noonbreakStart}}-{{scope.row.noonbreakEnd}}</span>-->
+  <!--            </template>-->
+  <!--          </el-table-column>-->
+            <el-table-column v-if="columns[6].visible" prop="modifiedName" label="更新人" ></el-table-column>
+            <el-table-column v-if="columns[7].visible" label="更新时间" >
+              <span slot-scope="scope">{{scope.row.updateTime}}</span>
+            </el-table-column>
+            <el-table-column v-if="columns[8].visible" label="操作列表" width="100" >
+              <template slot-scope="r">
+                <el-button type="text"  v-hasPermi="['system:time:edit']" @click="onEditTime(r.row)">编辑</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
 
-        <pagination
-          class="pages-box"
-          v-show="total>0"
-          :total="total"
-          :page.sync="queryParams.pageNum"
-          :limit.sync="queryParams.pageSize"
-          @pagination="getList"
-        />
-      </el-col>
-    </el-row>
+          <pagination
+            class="pages-box"
+            v-show="total>0"
+            :total="total"
+            :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize"
+            @pagination="getList"
+          />
+        </el-col>
+      </el-row>
 
     <!--  编辑作息  -->
     <dialog-edit ref="modalEdit" @ok="getList" ></dialog-edit>
@@ -147,6 +160,7 @@
 </template>
 
 <script>
+import OrgTree from '@/components/orgTree'
 import DialogEdit from './dialog.edit'
 import DialogAdd from './dialog.add'
 
@@ -163,7 +177,7 @@ export default {
   /**  得先引入字典才能使用 */
   dicts: ['sys_business_type'],
   /** 引入基础minxins*/
-  components: {DialogEdit,DialogAdd},
+  components: {OrgTree,DialogEdit,DialogAdd},
   data() {
     return {
       // 遮罩层
@@ -218,16 +232,18 @@ export default {
       },
     };
   },
-  watch: {
-    // 根据名称筛选机构树
-    deptName(val) {
-      this.$refs.tree.filter(val);
-    }
-  },
-  created() {
-    this.getDeptTree();
-  },
+  // watch: {
+  //   // 根据名称筛选机构树
+  //   deptName(val) {
+  //     this.$refs.tree.filter(val);
+  //   }
+  // },
+
   methods: {
+    getDefaultKey(key) {
+      this.queryParams.orgId = key;
+      this.getList();
+    },
     /** 下穿状态改变*/
     changeCheckBox(){
       this.getList();
@@ -236,7 +252,7 @@ export default {
     getList() {
       this.loading = true;
       console.log(this.queryParams,'pages')
-      tableList(this.queryParams,).then(response => {
+      tableList(this.queryParams).then(response => {
           this.tableList = response.rows;
           this.total = response.total;
           this.loading = false;
@@ -251,8 +267,7 @@ export default {
         this.deptOptions = response.data;
         this.defaultKeys.push(response.data[0].id);
         this.queryParams.orgId = response.data[0].id;
-        this.$refs.tree.setCurrentKey(response.data[0].id);
-        this.handleQuery();
+        //this.$refs.tree.setCurrentKey(response.data[0].id);
       });
     },
     // 筛选节点

+ 25 - 40
src/views/system/workTimeSet/workTimeWeek.vue

@@ -3,33 +3,12 @@
     <el-row :gutter="20">
       <!--机构数据-->
       <el-col :span="4" :xs="24">
-        <div class="head-container">
-          <el-input
-            v-model="deptName"
-            placeholder="请输入机构名称"
-            clearable
-            size="small"
-            prefix-icon="el-icon-search"
-            style="margin-bottom: 20px"
-          />
-        </div>
-        <div class="tree-container">
-          <div style="margin-bottom: 10px;">
-            <el-checkbox v-model="queryParams.checkSub" @change="changeCheckBox">是否关联下级机构</el-checkbox>
-          </div>
-          <el-tree
-            :data="orgTree"
-            :props="defaultProps"
-            :expand-on-click-node="false"
-            :filter-node-method="filterNode"
-            ref="tree"
-            node-key="id"
-            highlight-current
-            :default-expanded-keys="defaultKeys"
-            :default-checked-keys="defaultKeys"
-            @node-click="handleNodeClick"
-          />
-        </div>
+        <org-tree
+          v-model="queryParams.orgId"
+          @defaultKey="getDefaultKey"
+          @checkChange="changeCheckBox"
+          @click="handleNodeClick"
+        ></org-tree>
       </el-col>
       <!--table数据-->
       <el-col :span="20" :xs="24">
@@ -74,8 +53,15 @@
           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
         </el-row>
 
-        <el-table v-loading="loading" style="width: auto;" size="mini" border :data="tableList">
-          <el-table-column v-if="columns[0].visible" prop="orgName" label="机构"></el-table-column>
+        <el-table
+          v-loading="loading"
+          style="width: auto;"
+          border
+          height="600"
+          size="small"
+          :data="tableList">
+          <el-table-column fixed label="序号" type="index" align="center" width="50"></el-table-column>
+          <el-table-column v-if="columns[0].visible" prop="orgName" label="机构" :show-overflow-tooltip="true"></el-table-column>
           <el-table-column v-if="columns[1].visible" prop="effectiveDate" label="生效日期" ></el-table-column>
           <el-table-column v-if="columns[2].visible" prop="workDay" label="工作日"></el-table-column>
           <el-table-column v-if="columns[3].visible" prop="modifiedName" label="更新人"></el-table-column>
@@ -108,6 +94,7 @@
 </template>
 
 <script>
+import OrgTree from "@/components/orgTree";
 import DialogTemplate from './dialog.template'
 /** 引入节点树接口*/
 import { deptTreeSelect} from "@/api/system/public";
@@ -116,7 +103,7 @@ import {formatTime} from "@/utils/ruoyi";
 export default {
   /**  得先引入字典才能使用 */
   dicts: ['sys_business_type'],
-  components: {DialogTemplate},
+  components: {OrgTree,DialogTemplate},
   data() {
     return {
       loading:false,
@@ -174,19 +161,17 @@ export default {
       };
     },
   },
-  watch: {
-    // 根据名称筛选机构树
-    deptName(val) {
-      this.$refs.tree.filter(val);
-    }
-  },
   created() {
-    this.getDeptTree();
-    this.getConfigKey("sys.user.initPassword").then(response => {
-      this.initPassword = response.msg;
-    });
+    // this.getDeptTree();
+    // this.getConfigKey("sys.user.initPassword").then(response => {
+    //   this.initPassword = response.msg;
+    // });
   },
   methods: {
+    getDefaultKey(key) {
+      this.queryParams.orgId = key;
+      this.getList();
+    },
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.pageNum = 1;