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

Merge branch 'dev' of http://10.87.10.227:4000/jzyd_yyds/soc_web into dev

jiawuxian 2 жил өмнө
parent
commit
483eaef75d

+ 3 - 3
.env.development

@@ -6,11 +6,11 @@ ENV = 'development'
 
 # 开发环境
 #测试地址
-#VUE_APP_BASE_API = 'http://10.87.10.55:8081'
+#VUE_APP_BASE_API = 'http://10.87.10.91:8080'
 #罗俊
-#VUE_APP_BASE_API = 'http://10.87.10.49:8080'
+VUE_APP_BASE_API = 'http://10.87.10.49:8080'
 #罗伟
-VUE_APP_BASE_API = 'http://10.87.10.47:8080'
+#VUE_APP_BASE_API = 'http://10.87.10.47:8080'
 #高雄
 #VUE_APP_BASE_API = 'http://10.87.11.94:8080'
 # 路由懒加载

+ 8 - 0
src/api/core/plan.js

@@ -61,3 +61,11 @@ export function roleList() {
   })
 }
 
+//下发计划
+export function publishPlan(id) {
+  return request({
+    url: '/core/plan/publish' + id,
+    method: 'get'
+  })
+}
+

+ 52 - 0
src/api/core/task.js

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 查询列表监控调阅任务
+export function listTask(query) {
+  return request({
+    url: '/core/task/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询详细监控调阅任务
+export function getTask(id) {
+  return request({
+    url: '/core/task/' + id,
+    method: 'get'
+  })
+}
+
+// 新增监控调阅任务
+export function addTask(data) {
+  return request({
+    url: '/core/task',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改监控调阅任务
+export function updateTask(data) {
+  return request({
+    url: '/core/task',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除监控调阅任务
+export function delTask(id) {
+  return request({
+    url: '/core/task/' + id,
+    method: 'delete'
+  })
+
+}
+export function roleList() {
+  return request({
+    url: '/system/role/all',
+    method: 'get',
+    params: null
+  })
+}

+ 51 - 0
src/api/system/plan.js

@@ -0,0 +1,51 @@
+import request from '@/utils/request'
+
+// 查询列表监控调阅计划
+export function listPlan(query) {
+  return request({
+    url: '/system/plan/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询详细监控调阅计划
+export function getPlan(id) {
+  return request({
+    url: '/system/plan/' + id,
+    method: 'get'
+  })
+}
+
+// 下发
+export function distribute(id) {
+  return request({
+    url: '/system/plan/distribute/' + id,
+    method: 'get'
+  })
+}
+// 新增监控调阅计划
+export function addPlan(data) {
+  return request({
+    url: '/system/plan',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改监控调阅计划
+export function updatePlan(data) {
+  return request({
+    url: '/system/plan',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除监控调阅计划
+export function delPlan(id) {
+  return request({
+    url: '/system/plan/' + id,
+    method: 'delete'
+  })
+}

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

@@ -6,7 +6,7 @@
       v-model="visible">
       <!--  选中的值  -->
       <div  slot="reference" class="tags-box">
-        <i v-if="sNodeList.length > 0 && !disabled" class="el-icon-circle-close close-icon" @click="clickClear"></i>
+        <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>
       </div>
 
@@ -118,7 +118,7 @@ export default {
     event: 'change'
   },
   methods:{
-    clickClear(){
+    clear(){
       this.sNodeList = [];
       this.$refs.tree.setCheckedKeys([]);
       this.$refs.tree.setCurrentKey(null);

+ 1 - 1
src/router/index.js

@@ -214,7 +214,7 @@ Router.prototype.replace = function push(location) {
 }
 
 export default new Router({
-  mode: 'hash', // 去掉url中的#
+  mode: 'hash',
   scrollBehavior: () => ({ y: 0 }),
   routes: constantRoutes
 })

+ 2 - 0
src/store/getters.js

@@ -9,6 +9,8 @@ const getters = {
   avatar: state => state.user.avatar,
   name: state => state.user.name,
   userId: state => state.user.userId,
+  deptId: state => state.user.deptId,
+  orgId: state => state.user.orgId,
   introduction: state => state.user.introduction,
   roles: state => state.user.roles,
   permissions: state => state.user.permissions,

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

@@ -6,6 +6,7 @@ const user = {
     token: getToken(),
     name: '',
     userId: '',
+    orgId:'',
     avatar: '',
     roles: [],
     permissions: []
@@ -30,6 +31,9 @@ const user = {
     SET_ROLES: (state, roles) => {
       state.roles = roles
     },
+    SET_ORG_ID: (state, orgId) => {
+      state.orgId = orgId
+    },
     SET_PERMISSIONS: (state, permissions) => {
       state.permissions = permissions
     }
@@ -72,6 +76,7 @@ const user = {
           }
           commit('SET_NAME', user.name)
           commit('SET_AVATAR', avatar)
+          commit('SET_ORG_ID', user.orgId)
           resolve(res)
         }).catch(error => {
           reject(error)

+ 1 - 2
src/utils/request.js

@@ -6,7 +6,6 @@ import errorCode from '@/utils/errorCode'
 import { tansParams, blobValidate } from "@/utils/ruoyi";
 import cache from '@/plugins/cache'
 import { saveAs } from 'file-saver'
-import permission from "@/store/modules/permission";
 
 let loading;
 let downloadLoadingInstance;
@@ -87,7 +86,7 @@ let success = res => {
         isRelogin.show = false;
         store.dispatch('LogOut').then(() => {
           removeSession();
-          location.href = '/index';
+          location.href = '/login';
         })
       }).catch(() => {
         isRelogin.show = false;

+ 1 - 1
src/utils/ruoyi.js

@@ -23,7 +23,7 @@ function timeToNumber(src) {
   return src.replace(":", "") * 1;
 }
 
-// 日期格式化 2023-12-30 00:00:00
+// 日期格式化 2023-12-30 00:00:00 或者获取星期几
 export function parseTime(value, format = "YYYY-MM-DD HH:mm:ss") {
   if ((value + "").length == 10 && format != 'dddd') {
     value *= 1000;

+ 6 - 6
src/views/core/knowledge/index.vue

@@ -23,7 +23,7 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-          v-hasPermi="['system:knowledge:add']"
+          v-hasPermi="['core:knowledge:add']"
         >新增</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -34,7 +34,7 @@
           size="mini"
           :disabled="single"
           @click="handleUpdate"
-          v-hasPermi="['system:knowledge:edit']"
+          v-hasPermi="['core:knowledge:edit']"
         >修改</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -45,7 +45,7 @@
           size="mini"
           :disabled="multiple"
           @click="handleDelete"
-          v-hasPermi="['system:knowledge:remove']"
+          v-hasPermi="['core:knowledge:remove']"
         >删除</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -55,7 +55,7 @@
           icon="el-icon-download"
           size="mini"
           @click="handleExport"
-          v-hasPermi="['system:knowledge:export']"
+          v-hasPermi="['core:knowledge:export']"
         >导出</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@@ -71,14 +71,14 @@
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:knowledge:edit']"
+            v-hasPermi="['core:knowledge:edit']"
           >修改</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
-            v-hasPermi="['system:knowledge:remove']"
+            v-hasPermi="['core:knowledge:remove']"
           >删除</el-button>
         </template>
       </el-table-column>

+ 8 - 8
src/views/core/materials/index.vue

@@ -48,7 +48,7 @@
               icon="el-icon-plus"
               size="mini"
               @click="handleAdd"
-              v-hasPermi="['system:materials:add']"
+              v-hasPermi="['core:materials:add']"
             >新增
             </el-button>
           </el-col>
@@ -60,7 +60,7 @@
               size="mini"
               :disabled="single"
               @click="handleUpdate"
-              v-hasPermi="['system:materials:edit']"
+              v-hasPermi="['core:materials:edit']"
             >修改
             </el-button>
           </el-col>
@@ -72,7 +72,7 @@
               size="mini"
               :disabled="multiple"
               @click="handleDelete"
-              v-hasPermi="['system:materials:remove']"
+              v-hasPermi="['core:materials:remove']"
             >删除
             </el-button>
           </el-col>
@@ -83,7 +83,7 @@
               icon="el-icon-download"
               size="mini"
               @click="handleExport"
-              v-hasPermi="['system:materials:export']"
+              v-hasPermi="['core:materials:export']"
             >导出
             </el-button>
           </el-col>
@@ -112,7 +112,7 @@
                 type="text"
                 icon="el-icon-edit"
                 @click="handleOpen(scope.row,1)"
-                v-hasPermi="['system:materials:edit']"
+                v-hasPermi="['core:materials:edit']"
               >公开
               </el-button>
               <!-- 取消公开 按钮显示逻辑: 仅当前用户上传的学习资料且处于公开状态-->
@@ -122,7 +122,7 @@
                 type="text"
                 icon="el-icon-edit"
                 @click="handleOpen(scope.row,0)"
-                v-hasPermi="['system:materials:edit']"
+                v-hasPermi="['core:materials:edit']"
               >取消公开
               </el-button>
               <!-- 编辑与删除按钮显示逻辑: 仅当前用户上传的学习资料且处于未公开状态-->
@@ -132,7 +132,7 @@
                 type="text"
                 icon="el-icon-edit"
                 @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:materials:edit']"
+                v-hasPermi="['core:materials:edit']"
               >修改
               </el-button>
               <el-button
@@ -141,7 +141,7 @@
                 type="text"
                 icon="el-icon-delete"
                 @click="handleDelete(scope.row)"
-                v-hasPermi="['system:materials:remove']"
+                v-hasPermi="['core:materials:remove']"
               >删除
               </el-button>
             </template>

+ 93 - 16
src/views/core/plan/index.vue

@@ -41,7 +41,7 @@
         </el-form-item>
         <el-form-item label="培训角色" prop="planRoleId">
           <el-select v-model="form.planRoleId" placeholder="请选择">
-            <el-option v-for="item in planRoleList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+            <el-option v-for="item in planRoleList" :key="item.roleId" :label="item.roleName" :value="item.roleId"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="计划名称" prop="planName">
@@ -67,7 +67,7 @@
             icon="el-icon-plus"
             size="mini"
             @click="handleAdd"
-            v-hasPermi="['system:plan:add']"
+            v-hasPermi="['core:plan:add']"
           >新增
           </el-button>
         </el-col>
@@ -79,7 +79,7 @@
             size="mini"
             :disabled="single"
             @click="handleUpdate"
-            v-hasPermi="['system:plan:edit']"
+            v-hasPermi="['core:plan:edit']"
           >修改
           </el-button>
         </el-col>
@@ -91,7 +91,7 @@
             size="mini"
             :disabled="multiple"
             @click="handleDelete"
-            v-hasPermi="['system:plan:remove']"
+            v-hasPermi="['core:plan:remove']"
           >删除
           </el-button>
         </el-col>
@@ -102,7 +102,7 @@
             icon="el-icon-download"
             size="mini"
             @click="handleExport"
-            v-hasPermi="['system:plan:export']"
+            v-hasPermi="['core:plan:export']"
           >导出
           </el-button>
         </el-col>
@@ -136,19 +136,30 @@
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
             <el-button
+              v-if="checkCanEdit(scope.row)"
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="handlePublish(scope.row)"
+              v-hasPermi="['core:plan:publish']"
+            >下发
+            </el-button>
+            <el-button
+              v-if="checkCanEdit(scope.row)"
               size="mini"
               type="text"
               icon="el-icon-edit"
               @click="handleUpdate(scope.row)"
-              v-hasPermi="['system:plan:edit']"
+              v-hasPermi="['core:plan:edit']"
             >修改
             </el-button>
             <el-button
+              v-if="checkCanDel(scope.row)"
               size="mini"
               type="text"
               icon="el-icon-delete"
               @click="handleDelete(scope.row)"
-              v-hasPermi="['system:plan:remove']"
+              v-hasPermi="['core:plan:remove']"
             >删除
             </el-button>
           </template>
@@ -167,12 +178,12 @@
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
-          <el-col :span="10">
+          <el-col :span="12">
             <el-form-item label="计划名称" prop="planName">
               <el-input v-model="form.planName" placeholder="请输入计划名称"/>
             </el-form-item>
           </el-col>
-          <el-col :span="14">
+          <el-col :span="12">
             <el-form-item label="计划周期" prop="planCycle">
               <el-select v-model="form.planCycle" placeholder="请选择计划周期">
                 <el-option
@@ -186,14 +197,32 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="10">
+          <el-col :span="12" v-show="form.planCycle == 0">
+            <el-form-item prop="startDate" label="开始日期">
+              <el-date-picker v-model="form.startDate" @change="startDateChanged"
+                              :picker-options="startDatepickerOptions" align="right" type="date"
+                              placeholder="选择开始日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="form.planCycle == 0">
+            <el-form-item prop="endDate" label="结束日期">
+              <el-date-picker v-model="form.endDate" :picker-options="endDatepickerOptions" align="right"
+                              type="date" placeholder="选择结束日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="12">
             <el-form-item label="培训次数" prop="execTimes">
               <template>
                 <el-input-number v-model="form.execTimes" :min="1" :max="10"></el-input-number>
               </template>
             </el-form-item>
           </el-col>
-          <el-col :span="14">
+          <el-col :span="12">
             <el-form-item label="计划状态" prop="planStatus">
               <el-select v-model="form.planStatus" placeholder="请选择计划状态">
                 <el-option
@@ -207,14 +236,14 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="10">
+          <el-col :span="12" v-show="form.planCycle != 0">
             <el-form-item label="立即生效" prop="buildTaskNow">
               <el-checkbox v-model="form.buildTaskNow">
                 勾选后在当前周期开始生效
               </el-checkbox>
             </el-form-item>
           </el-col>
-          <el-col :span="14">
+          <el-col :span="12">
             <el-form-item label="培训机构类型" prop="execOrgType">
               <el-select v-model="form.execOrgType" placeholder="请选择执行机构类型">
                 <el-option
@@ -228,14 +257,14 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="10">
+          <el-col :span="12">
             <el-form-item label="培训角色" prop="planRoleId">
               <el-select v-model="form.planRoleId" placeholder="请选择" multiple>
                 <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="14">
+          <el-col :span="12">
             <el-form-item label="培训机构" prop="belongOrgId">
               <tree-select
                 v-model="form.belongOrgId"
@@ -268,9 +297,10 @@
 </template>
 
 <script>
-import {listPlan, getPlan, delPlan, addPlan, updatePlan, listPlanRole, roleList} from "@/api/core/plan";
+import {listPlan, getPlan, delPlan, addPlan, updatePlan, listPlanRole, roleList, publishPlan} from "@/api/core/plan";
 import OrgTree from "@/components/orgTree/index.vue";
 import {deptTreeSelect} from "@/api/system/public";
+import {formatTime} from "@/utils/ruoyi";
 
 export default {
   name: "Plan",
@@ -316,6 +346,16 @@ export default {
       roleList: [],
       //修改新增中的机构树
       deptOptions: [],
+      startDatepickerOptions: {
+        disabledDate(time) {
+          const date = new Date();
+          date.setTime(date.getTime() - 3600 * 1000 * 24);
+          return time.getTime() < date;
+        },
+      },
+      endDatepickerOptions: {
+        disabledDate: this.disabledDate,
+      },
     };
   },
   created() {
@@ -344,6 +384,32 @@ export default {
         this.roleList = response.data;
       });
     },
+    startDateChanged(time) {
+      if (this.form.startDate > this.form.endDate) {
+        this.form.endDate = this.form.startDate;
+      }
+    },
+    disabledDate(time) {
+      //小于开始日期禁止选择
+      let startDate = new Date();
+      startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
+      if (this.form.startDate) {
+        startDate = new Date(this.formatTime(this.form.startDate, 'YYYY-MM-DD'));
+        startDate.setTime(startDate.getTime() - 3600 * 1000 * 24);
+      }
+      return time.getTime() < new Date(startDate).getTime()
+    },
+    //所属机构为当前用户登录机构时才显示 “编辑、删除”按钮
+    checkCanEdit(row) {
+      return row.belongOrgId === this.$store.getters.orgId
+    },
+    checkCanDel(row) {
+      return row.belongOrgId === this.$store.getters.orgId || row.createByTopOrg === 0
+    },
+    //省联社下发的计划不显示“删除”按钮
+    checkCreateByTopOrg(row) {
+      return row.createByTopOrg !== 1
+    },
     /** 查询机构树数据 */
     getDeptTree() {
       deptTreeSelect().then(response => {
@@ -386,6 +452,7 @@ export default {
     },
     // 节点单击事件
     clickTreeNode(data) {
+      this.initPlanRoleList();
       this.queryParams.belongOrgId = data.id;
       this.handleQuery();
     },
@@ -417,6 +484,16 @@ export default {
       this.multiple = !selection.length
     },
     /** 新增按钮操作 */
+    handlePublish(row) {
+      if (row.id != null) {
+        publishPlan(row.id).then(response => {
+          this.$modal.msgSuccess("下发成功");
+          this.open = false;
+          this.getList();
+        });
+      }
+    },
+    /** 新增按钮操作 */
     handleAdd() {
       this.initRoleList();
       this.getDeptTree()

+ 331 - 0
src/views/core/task/index.vue

@@ -0,0 +1,331 @@
+<template>
+  <div class="app-container">
+    <el-row :gutter="20">
+      <!--机构数据-->
+      <el-col :span="4" :xs="24">
+        <org-tree v-model="queryParams.orgId" @defaultKey="getDefaultKey" @checkChange="checkChange"
+                    @click="clickTreeNode"></org-tree>
+      </el-col>
+      <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="调阅周期" prop="cycle">
+        <el-select v-model="queryParams.cycle" placeholder="请选择周期" clearable>
+          <el-option
+            v-for="dict in dict.type.plan_cycle"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="调阅角色" prop="roleId">
+        <el-select v-model="queryParams.roleId" placeholder="请选择">
+          <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="计划时间" prop="planStartTime">
+        <el-date-picker
+          v-model="queryParams.dateRange"
+          style="width: 240px"
+          value-format="yyyy-MM-dd HH:mm:ss"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+          :default-time="['00:00:00', '23:59:59']"
+        ></el-date-picker>
+      </el-form-item>
+
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
+          <el-option
+            v-for="dict in dict.type.retrieval_task_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="任务名称" prop="taskName">
+        <el-input
+          v-model="queryParams.taskName"
+          placeholder="请输入任务名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </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="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['core:task:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="序号" type="index" align="center">
+        <template slot-scope="scope">
+          <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="任务名称" align="center" prop="taskName" />
+      <el-table-column label="开始时间" align="center" prop="planStartTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.planStartTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" prop="planEndTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.planEndTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.retrieval_task_status" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="调阅机构" align="center" prop="orgName" />
+      <el-table-column label="调阅角色" align="center" prop="roleName" />
+
+      <el-table-column label="调阅开始时间" align="center" prop="startTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="调阅结束时间" align="center" prop="endTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="调阅人" align="center" prop="retrievalUserName" />
+      <el-table-column label="异常数" align="center" prop="exceptionCount" />
+      <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-if="scope.row.status === '2'"
+          >查看</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { listTask, getTask, delTask, addTask, updateTask,roleList } from "@/api/core/task";
+import OrgTree from "@/components/orgTree";
+import {listPlanRole} from "@/api/core/plan";
+export default {
+  components: {OrgTree},
+  name: "Task",
+  dicts: ['plan_cycle', 'retrieval_task_status'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 监控调阅任务表格数据
+      taskList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        taskName: null,
+        cycle: null,
+        dateRange:[],
+        status: null,
+        roleId:null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      roleList: [],
+    };
+  },
+  created() {
+    this.getList();
+    this.initRoleList();
+  },
+  methods: {
+    /** 查询监控调阅任务列表 */
+    getList() {
+      this.loading = true;
+      listTask(this.queryParams).then(response => {
+        this.taskList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    initRoleList() {
+      roleList({}).then(response => {
+        this.roleList = response.data;
+      });
+    },
+    getDefaultKey(key) {
+      this.queryParams.orgId = key;
+      this.getList();
+    },
+    checkChange(state) {
+      this.queryParams.checkSub = state;
+      this.handleQuery();
+    },
+    // 节点单击事件
+    clickTreeNode(data) {
+      this.queryParams.orgId = data.id;
+      this.handleQuery();
+    },
+    /** 下穿状态改变*/
+    changeCheckBox() {
+      this.getList();
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        planId: null,
+        taskName: null,
+        orgId: null,
+        orgPath: null,
+        orgName: null,
+        ymdDate: null,
+        ymdYear: null,
+        ymdHalfyear: null,
+        ymdQuarter: null,
+        ymdMonth: null,
+        ymdWeek: null,
+        ymdDay: null,
+        cycle: null,
+        planStartTime: null,
+        planEndTime: null,
+        startTime: null,
+        endTime: null,
+        status: null,
+        roleId: null,
+        retrievalUser: null,
+        orderNum: null,
+        batchNum: null,
+        submitTime: null,
+        exceptionCount: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加监控调阅任务";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getTask(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改监控调阅任务";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateTask(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTask(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除监控调阅任务编号为"' + ids + '"的数据项?').then(function() {
+        return delTask(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('core/task/export', {
+        ...this.queryParams
+      }, `task_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 18 - 7
src/views/system/check/index.vue

@@ -4,11 +4,16 @@
       <el-form-item label="采集点名称" prop="checkName">
         <el-input v-model="queryParams.checkName" placeholder="请输入采集点名称" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
-      <el-form-item label="区域id" prop="areaId">
-        <el-input v-model="queryParams.areaId" placeholder="请输入区域id" clearable @keyup.enter.native="handleQuery" />
+
+      <el-form-item label="区域" prop="areaId">
+        <el-select v-model="queryParams.areaId" placeholder="请选择">
+          <el-option v-for="item in areaList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="机构id" prop="orgId">
-        <el-input v-model="queryParams.orgId" placeholder="请输入机构id" clearable @keyup.enter.native="handleQuery" />
+
+      <el-form-item label="归属部门" prop="orgId">
+        <treeselect style="width: 160px;" v-model="queryParams.orgId" :options="deptOptions" :show-count="true"
+          :normalizer="tenantIdnormalizer" :props="{ checkStrictly: true, label: 'name' }" placeholder="请选择归属部门" />
       </el-form-item>
 
       <el-form-item>
@@ -99,6 +104,7 @@ import { listCheck, getCheck, delCheck, addCheck, updateCheck } from "@/api/syst
 import treeselect from '@riophae/vue-treeselect'
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { deptTreeSelect } from "@/api/system/public";
+import { listArea } from "@/api/system/area";
 export default {
   name: "Check",
 
@@ -124,6 +130,8 @@ export default {
       deptOptions: null,
       // 总条数
       total: 0,
+      //区域集合
+      areaList: [],
       // 区域采集点表格数据
       checkList: [],
       // 弹出层标题
@@ -144,12 +152,15 @@ export default {
       // 表单校验
       rules: {
       },
-      defaultKeys:[]
+      defaultKeys: []
     };
   },
   created() {
     this.getList();
     this.getDeptTree();
+    listArea().then(response => {
+      this.areaList = response.rows;
+    })
   },
   methods: {
     /** 查询区域采集点列表 */
@@ -166,8 +177,8 @@ export default {
       deptTreeSelect().then(response => {
         this.deptOptions = response.data;
         console.log(this.deptOptions, ' this.deptOptions')
-        this.defaultKeys.push(response.data[0].id);
-        this.queryParams.orgId = response.data[0].id;
+        // this.defaultKeys.push(response.data[0].id);
+        // this.queryParams.orgId = response.data[0].id;
         this.handleQuery();
       });
     },

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

@@ -100,7 +100,7 @@
 
     <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="访问编号" align="center" prop="infoId" />
+      <el-table-column label="访问编号" width="80" align="center" prop="infoId" />
       <el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
       <el-table-column label="地址" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" />
       <el-table-column label="登录状态" align="center" prop="status">
@@ -108,12 +108,13 @@
           <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
         </template>
       </el-table-column>
-      <el-table-column label="描述" align="center" prop="msg" :show-overflow-tooltip="true" />
-      <el-table-column label="访问时间" align="center" prop="accessTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
+      <el-table-column prop="platformType" label="平台类型" :show-overflow-tooltip="true" width="160">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.accessTime) }}</span>
+          <dict-tag :options="dict.type.sys_platform_type" :value="scope.row.platformType"/>
         </template>
       </el-table-column>
+      <el-table-column label="访问时间" align="center" prop="accessTime" width="180"/>
+      <el-table-column label="描述" align="center" prop="msg" :show-overflow-tooltip="true" />
     </el-table>
 
     <pagination
@@ -131,7 +132,7 @@ import { list, delLogininfor, cleanLogininfor, unlockLogininfor } from "@/api/sy
 
 export default {
   name: "Logininfor",
-  dicts: ['sys_common_status'],
+  dicts: ['sys_common_status','sys_platform_type'],
   data() {
     return {
       // 遮罩层

+ 14 - 1
src/views/system/menu/index.vue

@@ -57,6 +57,11 @@
       :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
     >
       <el-table-column prop="menuName" label="菜单名称" :show-overflow-tooltip="true" width="160"></el-table-column>
+      <el-table-column prop="platformType" label="平台类型" :show-overflow-tooltip="true" width="160">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_platform_type" :value="scope.row.platformType"/>
+        </template>
+      </el-table-column>
       <el-table-column prop="icon" label="图标" align="center" width="100">
         <template slot-scope="scope">
           <svg-icon :icon-class="scope.row.icon" />
@@ -117,6 +122,14 @@
               />
             </el-form-item>
           </el-col>
+          <el-col :span="14">
+            <el-form-item label="平台类型" prop="platformType">
+              <el-radio-group v-model="form.platformType">
+                <el-radio v-for="dict in dict.type.sys_platform_type" :key="`${dict.value}`"
+                          :label="dict.value">{{ dict.label }}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
           <el-col :span="24">
             <el-form-item label="菜单类型" prop="menuType">
               <el-radio-group v-model="form.menuType">
@@ -273,7 +286,7 @@ import IconSelect from "@/components/IconSelect";
 
 export default {
   name: "Menu",
-  dicts: ['sys_show_hide', 'sys_normal_disable'],
+  dicts: ['sys_show_hide', 'sys_normal_disable','sys_platform_type'],
   components: { Treeselect, IconSelect },
   data() {
     return {

+ 1 - 5
src/views/system/operlog/index.vue

@@ -119,11 +119,7 @@
           <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
         </template>
       </el-table-column>
-      <el-table-column label="操作日期" align="center" prop="operTime" width="180" sortable="custom" :sort-orders="['descending', 'ascending']">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.operTime) }}</span>
-        </template>
-      </el-table-column>
+      <el-table-column label="操作日期" align="center" prop="operTime" width="180" />
       <el-table-column label="消耗时间" align="center" prop="costTime" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']">
         <template slot-scope="scope">
           <span>{{ scope.row.costTime }}毫秒</span>

+ 318 - 0
src/views/system/plan/index.vue

@@ -0,0 +1,318 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+
+      <el-form-item label="机构类型" prop="orgType">
+        <el-select style="width: 100%;" v-model="queryParams.orgType" placeholder="请选择">
+          <el-option v-for="dict in dict.type.sys_org_type" :key="dict.value" :label="dict.label"
+            :value="`${dict.value}`"></el-option>
+        </el-select>
+      </el-form-item>
+
+
+      <el-form-item label="调阅角色" prop="roleId">
+        <el-select v-model="queryParams.roleId" placeholder="请选择">
+          <el-option v-for="item in roleList" :key="item.id" :label="item.roleName" :value="item.id"></el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="调阅周期" prop="planCycle">
+        <el-select style="width: 100%;" v-model="queryParams.planCycle" placeholder="请选择">
+          <el-option v-for="dict in dict.type.sys_access_cycle" :key="dict.value" :label="dict.label"
+            :value="`${dict.value}`"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="状态" prop="planStatus">
+        <el-select style="width: 100%;" v-model="queryParams.planStatus" placeholder="请选择">
+          <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
+            :value="`${dict.value}`"></el-option>
+        </el-select>
+      </el-form-item>
+    
+      <el-form-item label="计划名称" prop="planName">
+        <el-input v-model="queryParams.planName" placeholder="请输入计划名称" clearable @keyup.enter.native="handleQuery" />
+      </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="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:plan:add']">新增计划</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['system:plan:edit']">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:plan:remove']">删除</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:plan:export']">导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="planList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="计划所属机构" align="center" prop="orgName" />
+      <el-table-column label="计划名称" align="center" prop="planName" />
+  
+      <el-table-column label="机构类型" align="center" key="orgType" prop="orgType"  width="80">
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.sys_org_type" :value="scope.row.orgType" />
+            </template>
+          </el-table-column>
+      <el-table-column label="调阅角色" align="center" prop="roleName" />
+   
+      <el-table-column label="调阅周期" align="center" key="planCycle" prop="planCycle"  width="80">
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.sys_access_cycle" :value="scope.row.planCycle" />
+            </template>
+          </el-table-column>
+      <el-table-column label="调阅频次" align="center" prop="planFrequency" />
+    
+      <el-table-column label="计划状态" align="center" key="planStatus" prop="planStatus"  width="80">
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.planStatus" />
+            </template>
+          </el-table-column>
+      <el-table-column label="修改人" align="center" prop="updateBy" />
+      <el-table-column label="修改时间" align="center" prop="updateTime" />
+      <el-table-column label="备注" align="center" prop="description" />
+      <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="['system:plan:edit']">修改</el-button>
+          <el-button size="mini" type="text" icon="el-icon-add" @click="handDistribute(scope.row)"
+            v-hasPermi="['system:plan:add']">下发</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改监控调阅计划对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="计划名称" prop="planName">
+          <el-input v-model="form.planName" placeholder="请输入计划名称" />
+        </el-form-item>
+       
+        <el-form-item label="调阅机构类型" prop="orgType">
+        <el-select style="width: 100%;" v-model="form.orgType" placeholder="请选择">
+          <el-option v-for="dict in dict.type.sys_org_type" :key="dict.value" :label="dict.label"
+            :value="`${dict.value}`"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="调阅周期" prop="planCycle">
+        <el-select style="width: 100%;" v-model="form.planCycle" placeholder="请选择">
+          <el-option v-for="dict in dict.type.sys_access_cycle" :key="dict.value" :label="dict.label"
+            :value="`${dict.value}`"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="调阅角色" prop="roleId">
+        <el-select style="width: 100%;" v-model="form.roleId" placeholder="请选择">
+          <el-option v-for="item in roleList" :key="item.id" :label="item.roleName" :value="item.id"></el-option>
+        </el-select>
+      </el-form-item>
+        <el-form-item label="调阅频次" prop="planFrequency">
+          <el-input v-model="form.planFrequency" placeholder="请输入调阅频次" />
+        </el-form-item>
+        <el-form-item label="备注" prop="description">
+          <el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listPlan, getPlan, delPlan, addPlan, updatePlan,distribute } from "@/api/system/plan";
+import { listRole } from "@/api/system/role";
+export default {
+  name: "Plan",
+  dicts: ['sys_org_type','sys_access_cycle','sys_normal_disable'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      names:[],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 监控调阅计划表格数据
+      planList: [],
+      //角色列表
+      roleList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        planName: null,
+        orgId: null,
+        orgPath: null,
+        orgName: null,
+        orgType: null,
+        roleId: null,
+        planCycle: null,
+        planFrequency: null,
+        planStatus: null,
+        description: null,
+        isDeleted: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+    listRole().then(response => {
+      this.roleList = response.rows;
+    });
+
+  },
+  methods: {
+    /** 查询监控调阅计划列表 */
+    getList() {
+      this.loading = true;
+      listPlan(this.queryParams).then(response => {
+        this.planList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        planName: null,
+        orgId: null,
+        orgPath: null,
+        orgName: null,
+        orgType: null,
+        roleId: null,
+        planCycle: null,
+        planFrequency: null,
+        planStatus: null,
+        createTime: null,
+        createBy: null,
+        updateTime: null,
+        updateBy: null,
+        description: null,
+        isDeleted: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.names=selection.map(item => item.planName)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加监控调阅计划";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getPlan(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改监控调阅计划";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updatePlan(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPlan(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      const names=row.planName || this.names;
+      this.$modal.confirm('是否确认删除监控调阅计划"' + names + '"的数据项?').then(function () {
+        return delPlan(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => { });
+    },
+    handDistribute(row){
+      this.$modal.confirm('是否确认下发监控调阅计划"' + row.planName + '"的数据项?').then(function () {
+        return distribute(row.id);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("下发成功");
+      }).catch(() => { });
+
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/plan/export', {
+        ...this.queryParams
+      }, `plan_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 1 - 10
src/views/system/user/index.vue

@@ -81,16 +81,7 @@
           <el-table-column label="所属机构" align="center" key="orgName" prop="orgName" v-if="columns[3].visible"
             :show-overflow-tooltip="true" />
           <el-table-column label="手机号码" align="center" key="phone" prop="phone" v-if="columns[4].visible" width="120" />
-          <!-- <el-table-column label="状态" align="center" key="isLock" v-if="columns[5].visible">
-            <template slot-scope="scope">
-              <el-switch
-                v-model="scope.row.isLock"
-                active-value="0"
-                inactive-value="1"
-                @change="handleStatusChange(scope.row)"
-              ></el-switch>
-            </template>
-          </el-table-column> -->
+  
           <el-table-column label="状态" align="center" key="isLock" prop="isLock" v-if="columns[5].visible" width="80">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.isLock" />

+ 10 - 6
src/views/system/workTimeSet/dialog.add.vue

@@ -6,7 +6,7 @@
         <el-form label-width="90px" label-suffix=":" label-position="right">
 
           <el-form-item label="分配机构">
-            <org-tree-select @selectNode="queryNode"></org-tree-select>
+            <org-tree-select ref="orgTreeSelect" @selectNode="queryNode"></org-tree-select>
           </el-form-item >
           <el-form-item label="调整日期">
             <el-button type="primary" @click="addData">新增日期</el-button>
@@ -222,8 +222,9 @@ export default {
         this.$message.error(`日期不能为空`);
         return;
       }
-      const ds = this.parseTime(other.date,"YYYY-MM-DD");
-      if (!other.disabled && !other.isEnable) {
+      const ds = this.formatTime(other.date,"YYYY-MM-DD");
+      console.log(other,'ds')
+      if ( !other.isEnable === null && !other.disabled ) {
         this.$message.error(`${ds}未进行配置`);
         return;
       }
@@ -265,6 +266,7 @@ export default {
       this.isShow = false;
       this.workTimeList = [];
       this.orgIdList=[];
+      this.$refs['orgTreeSelect'].clear();
     },
     onEnableChange(workTime) {
       if (!workTime.isEnable) {
@@ -279,9 +281,11 @@ export default {
     async onSubmit() {
       //判断是否有重复的日期
       let dateList = [];
-      for (let v of this.workTimeList) {
+      let workTimeList = JSON.parse(JSON.stringify(this.workTimeList))
+      for (let v of workTimeList) {
         if (v.date) {
           let date = this.formatTime(v.date,"YYYY-MM-DD");
+          v.ymdDate = date;
           if (dateList.indexOf(date) > -1) {
             this.$message.error(`日期: ${date} 重复`);
             return;
@@ -290,14 +294,14 @@ export default {
         }
       }
       // 校验
-      for (let workTime of this.workTimeList) {
+      for (let workTime of workTimeList) {
         if (!this.check(workTime)) {
           return;
         }
       }
       let data = {
         orgIdList:this.orgIdList,
-        workTimeList:this.workTimeList
+        workTimeList:workTimeList
       }
       addWorkTimeDay(data).then(res=>{
         this.$emit("success");