Browse Source

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

zhulu 2 năm trước cách đây
mục cha
commit
71e22cde24

+ 3 - 2
src/api/system/public.js

@@ -1,10 +1,11 @@
 import request from '@/utils/request'
 
 // 查询部门下拉树结构
-export function deptTreeSelect() {
+export function deptTreeSelect(removeId) {
   return request({
     url: '/system/dept/deptTree',
-    method: 'get'
+    method: 'get',
+    params:removeId
   })
 }
 

+ 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) {

+ 54 - 27
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,22 @@ export default {
   mounted() {
     this.getDeptTree();
   },
+  computed:{
+
+  },
   watch: {
     defaultNode: {
-      deep: true,
+      immediate: true,
       handler(n) {
+        if(!n || n.length === 0)return;
+        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;
         });
       },
     },
@@ -165,27 +184,32 @@ export default {
     //   defaultNode:
     //   //pv: sync("value"),
     // },
-    model: {
-      prop: "defaultNode",
-      event: "change",
-    },
+
   },
-    methods: {
+  methods: {
       clear() {
         this.sNodeList = [];
         this.$refs.tree.setCheckedKeys([]);
         this.$refs.tree.setCurrentKey(null);
+        this.nodes = [];
         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) {
@@ -241,7 +265,10 @@ export default {
         }
       },
     },
-
+  model: {
+    prop: "defaultNode",
+    event: "selectNode",
+  },
 };
 </script>
 

+ 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;

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

@@ -45,7 +45,7 @@
           </el-form-item>
 
           <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" v-hasPermi="['core:accessPlan:list']">搜索</el-button>
             <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
           </el-form-item>
         </el-form>
@@ -88,7 +88,7 @@
           <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
               <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
-                v-hasPermi="['core:accessPlan:edit']">修改</el-button>
+                v-hasPermi="['core:accessPlan:edit','core:accessPlan:query']">修改</el-button>
               <el-button size="mini" type="text" v-if="scope.row.isDistribute == 0" icon="el-icon-add"
                 @click="handDistribute(scope.row)" v-hasPermi="['core:accessPlan:add']">下发</el-button>
               <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
@@ -98,7 +98,7 @@
         </el-table>
 
         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
-          @pagination="getList" />
+             @pagination="getList" />
       </el-col>
 
     </el-row>
@@ -250,7 +250,7 @@ export default {
     };
   },
   created() {
-    this.getList();
+    // this.getList();
     // listRole().then(response => {
     //   this.roleList = response.rows;
     // });
@@ -346,6 +346,8 @@ export default {
     getDeptTree() {
       deptTreeSelect().then(response => {
         this.deptOptions = response.data;
+
+        this.handleQuery();
       });
     },
     /** 重置按钮操作 */

+ 13 - 2
src/views/core/edu/plan/index.vue

@@ -219,8 +219,13 @@
                                        placeholder="请选择培训机构"/>
                         </el-form-item>-->
             <el-form-item v-show="form.execOrgType" label="培训机构" prop="planExecOrgIdList">
-              <org-tree-select v-model="form.planExecOrgIdList" :queryData="form.execOrgType" ref="orgTreeSelect"
-                               @selectNode="queryNode" :disable="true">
+              <p>{{form.planExecOrgIdList}}</p>
+              <org-tree-select
+                v-model="form.planExecOrgIdList"
+                :queryData="form.execOrgType"
+                ref="orgTreeSelect"
+                @selectNode="queryNode"
+                :disable="true">
               </org-tree-select>
             </el-form-item>
           </el-col>
@@ -527,6 +532,12 @@ export default {
       const id = row.id || this.ids
       getPlan(id).then(response => {
         this.form = response.data;
+
+       //将 this.form.planExecOrgIdList中的元素转为字符串
+        if(this.form.planExecOrgIdList == null){
+          this.form.planExecOrgIdList = [];
+        }
+        this.form.planExecOrgIdList = this.form.planExecOrgIdList.map(element => element.toString());
         this.formFileListDefualtValue = this.form.fileList;
         this.open = true;
         this.title = "修改教育培训计划";

+ 61 - 49
src/views/information/configuration/index.vue

@@ -20,30 +20,32 @@
           </el-col>
           <el-col :xs="24" :sm="12" :md="8" :lg="5">
             <el-form-item label="营业中提醒:" prop="centre">
-              <el-input-number size="mini" style="width: 70%;" v-model="day.centre" @change="handleChange" :min="1" :max="10"
-                label="描述文字"></el-input-number>
+              <el-input-number size="mini" style="width: 70%;" v-model="day.centre" @change="handleChange" :min="1"
+                :max="10" label="描述文字"></el-input-number>
               分钟
             </el-form-item>
           </el-col>
 
           <el-col :xs="24" :sm="12" :md="8" :lg="5">
             <el-form-item label="营业后提醒:" prop="after">
-              <el-input-number size="mini" style="width: 70%;" v-model="day.after" @change="handleChange" :min="1" :max="10"
-                label="描述文字"></el-input-number>
+              <el-input-number size="mini" style="width: 70%;" v-model="day.after" @change="handleChange" :min="1"
+                :max="10" label="描述文字"></el-input-number>
               分钟
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="8" :lg="5">
             <el-form-item label="全天提醒:" prop="allDay">
-              <el-input-number size="mini" style="width: 70%;" v-model="day.allDay" @change="handleChange" :min="1" :max="10"
-                label="描述文字"></el-input-number>
+              <el-input-number size="mini" style="width: 70%;" v-model="day.allDay" @change="handleChange" :min="1"
+                :max="10" label="描述文字"></el-input-number>
               分钟
             </el-form-item>
           </el-col>
         </el-row>
+
       </div>
     </el-form>
-    <el-form :model="week" :rules="rules" ref="week" label-width="130px">
+
+    <el-form :model="week" :rules="rules" ref="week" label-width="200px">
       <div class="form-item">
         <el-row>
           <el-col :xs="24" :sm="12" :md="8" :lg="4">
@@ -51,16 +53,41 @@
               每周履职
             </div>
           </el-col>
+
           <el-col :xs="24" :sm="12" :md="8" :lg="5">
-            <el-form-item label="提前提醒:" prop="educationType">
-              <el-input-number size="mini" style="width: 70%" v-model="num" @change="handleChange" :min="1" :max="10"
-                label="描述文字"></el-input-number>
-              
+            <el-form-item label="全天提醒:" prop="allDay">
+              <el-input-number size="mini" style="width: 30%;" v-model="week.allDay" @change="handleChange" :min="1"
+                :max="10" label="描述文字"></el-input-number>
+              分钟
             </el-form-item>
           </el-col>
+
         </el-row>
+
       </div>
     </el-form>
+    <!-- <el-form :model="week" :rules="rules" ref="week" label-width="130px">
+      <div class="form-item">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="8" :lg="4">
+            <div class="item-title">
+              每周履职
+            </div>
+          </el-col>
+      
+          <el-col :xs="24" :sm="12" :md="8" :lg="5">
+            <el-form-item label="提前提醒:" prop="allDay">
+
+              <el-input-number size="mini" style="width: 70%;" v-model="week.allDay" @change="handleChange" :min="1"
+                :max="10" label="描述文字"></el-input-number>
+              天
+
+
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </div>
+    </el-form> -->
     <el-form :model="month" :rules="rules" ref="month" label-width="130px">
       <div class="form-item">
         <el-row>
@@ -132,7 +159,7 @@
     </el-form>
     <div style="margin-top: 50px; margin-left: 42%">
       <el-button type="primary" @click="saveExtend" size="small">提交</el-button>
-  <!--    <el-button type="primary" @click="nosaveExtend" size="small">取消</el-button> -->
+      <!--    <el-button type="primary" @click="nosaveExtend" size="small">取消</el-button> -->
     </div>
   </div>
 </template>
@@ -144,7 +171,7 @@ export default {
   components: {},
   data() {
     return {
-    
+
       num: 1,
       day: {
         resumptionCycle: 1,
@@ -221,7 +248,7 @@ export default {
       },
     }
   },
-  
+
   watch: {},
   computed: {},
   beforeCreate() { },
@@ -231,60 +258,44 @@ export default {
   beforeUpdate() { },
   updated() { },
   destroyed() { },
-  
+
   methods: {
     request() { },
     handleChange(value) { },
     hello() {
       alert("来自预设逻辑代码的问候")
     },
-    
-    // saveExtend() {
-    //   // this.formData.userId = this.$route.params.userId;
-
-    //   this.$refs['form'].validate((valid) => {
-    //     if (valid) {
-    //       extendUserInformation(this.formData).then(res => {
-    //         this.$message.success('保存成功!')
-    //         this.$router.go(-1)
-    //       })
-    //     }
-    //   });
 
-    // },
-    checkForm(form){
+    checkForm(form) {
       let val
       this.$refs[form].validate(valid => {
-        console.log(valid,'valid')
+        console.log(valid, 'valid')
         val = valid
       });
       return val;
     },
     saveExtend() {
-    
-      let arr = ['day','week','month','season','halfYear','year'];
+
+      let arr = ['day', 'week', 'month', 'season', 'halfYear', 'year'];
       let flags = [];
-      arr.forEach(v=>{
+      arr.forEach(v => {
         flags.push(this.checkForm(v));
       });
-      console.log(flags,'flags')
-      let flag = flags.every(v=>{
-        console.log(v,'valid')
+      console.log(flags, 'flags')
+      let flag = flags.every(v => {
+        console.log(v, 'valid')
         return v == true;
       })
-      console.log(flag,'flag')
-      if(!flag) return;
-      let coreResumptionConfiguration = {
-        0:this.day,
-     1: this.week,
-     2: this.month
+      console.log(flag, 'flag')
+      if (!flag) return;
+      let data = {
+
+        coreResumptionConfiguration: [this.day, this.week, this.month]
       };
-      
-      insertConfiguration(coreResumptionConfiguration).then(response=>{
-        debugger
-            this.$modal.msgSuccess("新增成功");
-          this.open = false;
-        
+      insertConfiguration(data).then(response => {
+        this.$modal.msgSuccess("新增成功");
+        this.open = false;
+
       })
     }
   },
@@ -309,4 +320,5 @@ export default {
   justify-content: center;
   align-items: center;
   height: 100%;
-}</style>
+}
+</style>

+ 1 - 0
src/views/question/list/dialog.vue

@@ -249,6 +249,7 @@ export default {
         this.data.confirmDissent = r.data.flows.find((d) => d.executeStep == 1);
         this.data.confirm = r.data.flows.find((d) => d.executeStep == 2);
         this.data.reform = r.data.flows.find((d) => d.executeStep == 10);
+        debugger
         this.open = true;
       });
     },

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

@@ -596,17 +596,18 @@ export default {
       });
     },
     /** 修改按钮操作 */
-    handleUpdate(row) {
+    async handleUpdate(row) {
       this.reset();
       getDept(row.id).then((response) => {
         this.form = response.data;
         this.pId = response.data.parentId;
-        this.open = true;
-        this.title = "编辑";
       });
       if (this.pId != -1) {
-        listDeptExcludeChild(row.id).then((response) => {
-          this.deptOptions2 = this.handleTree(response.data, "id");
+        await deptTreeSelect({removeId:row.parentId,id:row.id}).then((response) => {
+          this.deptOptions2 = response.data;
+          // this.defaultKeys.push(response.data[0].id);
+          this.open = true;
+          this.title = "编辑";
         });
       }
     },

+ 1 - 2
src/views/system/device/index.vue

@@ -75,7 +75,7 @@
               <dict-tag :options="dict.type.sys_device_type" :value="scope.row.deviceType" />
             </template>
           </el-table-column>
-          <el-table-column label="设备品牌" align="center" prop="deviceName" />
+          <el-table-column label="设备名称" align="center" prop="deviceName" />
           <el-table-column label="设备品牌" align="center" prop="deviceBrand" />
           <el-table-column label="有效期至" align="center" prop="checkTime" width="160">
           </el-table-column>
@@ -349,7 +349,6 @@ export default {
         this.deviceList = response.rows;
         this.total = response.total;
         this.loading = false;
-        console.log(this.form, '66666')
       });
     },
 

+ 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,154 @@
 <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 +159,7 @@
 </template>
 
 <script>
+import OrgTree from '@/components/orgTree'
 import DialogEdit from './dialog.edit'
 import DialogAdd from './dialog.add'
 
@@ -163,7 +176,7 @@ export default {
   /**  得先引入字典才能使用 */
   dicts: ['sys_business_type'],
   /** 引入基础minxins*/
-  components: {DialogEdit,DialogAdd},
+  components: {OrgTree,DialogEdit,DialogAdd},
   data() {
     return {
       // 遮罩层
@@ -218,25 +231,28 @@ 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.queryParams.checkSub=!this.queryParams.checkSub;
       this.getList();
     },
     /** 查询列表 */
     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;

+ 5 - 5
src/views/tokenLogin.vue

@@ -47,15 +47,15 @@ export default {
       this.loading = false;
       this.icon = "error";
       this.title = "错误";
-      this.errMessage = "缺少token";
+      this.errMessage = "缺少sso_token";
     } else {
-      let { token } = query;
-      if (!token) {
+      let { sso_token } = query;
+      if (!sso_token) {
         this.icon = "warning";
         this.loading = false;
-        this.errMessage = "缺少token";
+        this.errMessage = "缺少sso_token";
       } else {
-        this.$store.dispatch("TokenLogin",token)
+        this.$store.dispatch("TokenLogin",sso_token)
           .then((r) => {
             this.loading = false;
             this.$router.push({ path: "/home" }).catch(() => {});