瀏覽代碼

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

coys 2 年之前
父節點
當前提交
01eafb54ea

+ 4 - 4
.env.development

@@ -8,12 +8,12 @@ ENV = 'development'
 #测试地址
 #VUE_APP_BASE_API = 'http://10.87.10.91:8080'
 #罗俊
-#VUE_APP_BASE_API = 'http://10.87.10.55:8080'
-罗伟
-VUE_APP_BASE_API = 'http://10.87.10.47: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.11.94:8080'
-#VUE_APP_BASE_API = 'http://localhost:8080'
+VUE_APP_BASE_API = 'http://localhost:8080'
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
 

+ 33 - 27
src/api/login.js

@@ -1,64 +1,71 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
 
 // 登录方法
 export function login(data) {
   return request({
-    url: '/auth/login',
+    url: "/auth/login",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'post',
-    showLoading:false,
-    data
-  })
+    method: "post",
+    showLoading: false,
+    data,
+  });
 }
 
 // 注册方法
 export function register(data) {
   return request({
-    url: '/auth/register',
+    url: "/auth/register",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'post',
-    data: data
-  })
+    method: "post",
+    data: data,
+  });
 }
 
 // 刷新方法
 export function refreshToken() {
   return request({
-    url: '/auth/refresh',
-    method: 'post'
-  })
+    url: "/auth/refresh",
+    method: "post",
+  });
 }
 
 // 获取用户详细信息
 export function getInfo() {
   return request({
-    url: '/system/user/getInfo',
-    method: 'get'
-  })
+    url: "/system/user/getInfo",
+    method: "get",
+  });
 }
 
 // 退出方法
 export function logout() {
   return request({
-    url: '/auth/logout',
-    method: 'delete'
-  })
+    url: "/auth/logout",
+    method: "delete",
+  });
 }
 
 // 获取验证码
 export function getCodeImg() {
   return request({
-    url: '/code',
+    url: "/code",
     headers: {
-      isToken: false
+      isToken: false,
     },
-    method: 'get',
-    timeout: 20000
-  })
+    method: "get",
+    timeout: 20000,
+  });
+}
+
+export function tokenLogin(token) {
+  return request({
+    url: `/auth/tokenlogin?token=${token}&loginType=1`,
+    method: "get",
+  });
 }
 //
 // // 获取验证码
@@ -72,4 +79,3 @@ export function getCodeImg() {
 //     timeout: 20000
 //   })
 // }
-

+ 6 - 0
src/api/system/area.js

@@ -16,6 +16,12 @@ export function getArea(id) {
     method: 'get'
   })
 }
+export function getAreaByOrg(orgId) {
+  return request({
+    url: '/system/area/getAreaByOrg/' + orgId.id,
+    method: 'get'
+  })
+}
 
 // 新增【请填写功能名称】
 export function addArea(data) {

+ 5 - 0
src/assets/styles/element-ui.scss

@@ -93,3 +93,8 @@
   height: calc(100vh - 185px);
   overflow: auto;
 }
+
+.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
+  background-color:#008CD6 !important;
+  color:#fff;
+}

+ 4 - 2
src/components/ImageListPreview/index.vue

@@ -20,7 +20,7 @@
         <!-- -->
         <div class="image relative"
              v-else>
-          <el-image :src="v"
+          <el-image :src="v.url"
                     class="avatar"
                     :preview-src-list="fileList"
                     :z-index="6000" />
@@ -47,7 +47,9 @@ export default {
       handler(newVal) {
         if(newVal){
         const list = Array.isArray(newVal) ? newVal : this.value.split(",");
-        this.fileList = list.map((url) => ({ name: url, url }));}
+        this.fileList = list.map((url) => ({ name: url, url }));
+        console.log("this.fileList",this.fileList);
+      }        
         else{
           this.fileList =[];
         }

+ 1 - 0
src/mixins/tableList.js

@@ -10,6 +10,7 @@ export default {
       // 遮罩层
       loading: false,
       queryParams:{},
+      dateRange:[],
     }
   },
   methods:{

+ 1 - 1
src/permission.js

@@ -8,7 +8,7 @@ import { isRelogin } from '@/utils/request'
 
 NProgress.configure({ showSpinner: false })
 
-const whiteList = ['/login', '/register']
+const whiteList = ['/login', '/register','/tokenlogin']
 
 router.beforeEach((to, from, next) => {
   console.log('从'+from.path+'到'+to.path,'路由跳转')

+ 6 - 0
src/router/index.js

@@ -41,6 +41,7 @@ export const constantRoutes = [
       }
     ]
   },
+  
 
 
 // {
@@ -70,6 +71,11 @@ export const constantRoutes = [
     hidden: true
   },
   {
+    path: '/tokenlogin',
+    component: () => import('@/views/tokenLogin'),
+    hidden: true
+  },
+  {
     path: '/register',
     component: () => import('@/views/register'),
     hidden: true

+ 20 - 1
src/store/modules/user.js

@@ -1,4 +1,4 @@
-import { login, logout, getInfo, refreshToken } from '@/api/login'
+import { login, logout, getInfo, refreshToken ,tokenLogin} from '@/api/login'
 import { getToken, setToken, setExpiresIn, removeToken } from '@/utils/auth'
 
 const user = {
@@ -69,6 +69,25 @@ const user = {
       })
     },
 
+    TokenLogin({ commit }, token) {
+      // const username = userInfo.username.trim()
+      // const password = userInfo.password
+      // const code = userInfo.code
+      // const uuid = userInfo.uuid
+      return new Promise((resolve, reject) => {
+        tokenLogin(token).then(res => {
+          let data = res.data
+          setToken(data.access_token)
+          commit('SET_TOKEN', data.access_token)
+          setExpiresIn(data.expires_in)
+          commit('SET_EXPIRES_IN', data.expires_in)
+          resolve()
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
+
     // // 获取用户信息
     GetInfo({ commit, state }) {
       return new Promise((resolve, reject) => {

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

@@ -151,7 +151,7 @@
 
 
         <el-form-item label="调阅角色" prop="roleId">
-          <el-select style="width: 100%;" v-model="form.roleId" placeholder="请选择">
+          <el-select style="width: 100%;" v-model="form.roleId" placeholder="请选择" @change="changeSelectOrgType">
             <el-option v-for="item in roleList" :key="item.id" :label="item.roleName" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
@@ -172,7 +172,7 @@
 
 <script>
 import { listPlan, getPlan, delPlan, addPlan, updatePlan, distribute } from "@/api/core/accessPlan";
-import { listRole, findRoleByType } from "@/api/system/role";
+import { listRole, findRoleByType, getRole } from "@/api/system/role";
 import tableList from "@/mixins/tableList";
 import orgTree from "@/components/orgTree";
 import { deptTreeSelect } from "@/api/system/public";
@@ -295,9 +295,12 @@ export default {
       this.queryParams.orgId = data.id;
       this.handleQuery();
     },
-
+    changeSelectOrgType(val) {
+      getRole(val).then(response => {
+        this.form.orgType = response.data.orgType;
+      })
+    },
     changeSelect(val) {
-  
       findRoleByType(val).then(response => {
         this.roleList = response;
       })

+ 5 - 1
src/views/resumption/plan/index.vue

@@ -205,6 +205,7 @@
           <el-table-column
             prop="execOrgType"
             label="履职机构类型"
+            width="120px"
             v-if="columns[6].visible"
           >
             <template slot-scope="r"
@@ -220,6 +221,7 @@
           <el-table-column
             prop="planCycle"
             label="履职周期"
+            width="80px"
             v-if="columns[6].visible"
           >
             <template slot-scope="r"
@@ -238,6 +240,7 @@
           <el-table-column
             prop="planExec"
             label="履职时间"
+            width="80px"
             v-if="columns[6].visible"
           >
             <template slot-scope="r"
@@ -256,6 +259,7 @@
           <el-table-column
             prop="planStatus"
             label="计划状态"
+            width="80px"
             v-if="columns[6].visible"
           >
             <template slot-scope="r"
@@ -393,7 +397,7 @@ export default {
     ...mapMutations([]),
         //已完成下发的计划不显示下发按钮
     checkCanPublish(row) {
-      if (row.createOrgType == "1") {
+      if (row.createOrgType == "1"&&row.children.length==0) {
         return true
       }
       return false;

+ 8 - 5
src/views/resumption/protection/index.vue

@@ -194,10 +194,9 @@
                 v-hasPermi="['device:protection']"
                 >布撤防历史</el-button
               >
-              <el-popover
-                placement="top-start"
+              <el-popconfirm
                 @confirm="onDel(r.row.id)"
-                content="点击确定删除防区"
+                title="点击确定删除防区"
               >
                 <el-button
                   size="mini"
@@ -207,7 +206,7 @@
                   slot="reference"
                   >删除</el-button
                 >
-              </el-popover>
+              </el-popconfirm>
             </template>
           </el-table-column>
         </el-table>
@@ -317,7 +316,11 @@ export default {
       this.$refs.historyDialog.show(row);
     },
     async onDel(id) {
-      await api.del(id);
+      let b=(await api.del(id)).data;
+      if(b){
+        this.$message.info("删除成功");
+      }
+      
       this.getList();
     },
     updateStatus(id, status) {

+ 10 - 9
src/views/resumption/taskManager/index.vue

@@ -20,7 +20,7 @@
           v-show="showSearch"
           label-width="100px"
         >
-          <el-form-item label="履职计划">
+          <el-form-item label="履职计划" prop="planId">
             <el-select
               v-model="queryParams.planId"
               filterable
@@ -36,7 +36,7 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="履职角色">
+          <el-form-item label="履职角色" prop="executeRole">
             <el-select
               v-model="queryParams.executeRole"
               placeHolder="请选择履职角色"
@@ -50,11 +50,10 @@
               ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="履职周期">
+          <el-form-item label="履职周期" prop="executeCycle">
             <el-select
               v-model="queryParams.executeCycle"
-              placeHolder="请选择履职周期"
-              clearable
+              placeHolder="请选择履职周期"              
               @change="changeType($event)"
             >
               <el-option
@@ -65,7 +64,7 @@
               ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="任务状态">
+          <el-form-item label="任务状态" prop="status">
             <el-select
               v-model="queryParams.status"
               placeHolder="请选择任务状态"
@@ -683,9 +682,11 @@ export default {
     },
     resetQuery() {
       this.resetForm("queryParams");
-      this.queryParams.orgId = undefined;
-      this.queryParams.checkSub = false;
-      this.$refs.tree.setCurrentKey(null);
+      this.queryParams.executeCycle="2";
+      this.changeType("2");
+      // this.queryParams.orgId = undefined;
+      // this.queryParams.checkSub = false;
+      // this.$refs.tree.setCurrentKey(null);
       this.getList();
     },
     async getList() {

+ 2 - 2
src/views/system/area/index.vue

@@ -4,7 +4,7 @@
       <el-form-item label="区域名称" prop="name">
         <el-input
           v-model="queryParams.name"
-          placeholder="请输入名称"
+          placeholder="请输入区域名称"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -119,7 +119,7 @@
     <DialogCom :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-form-item label="区域名称" prop="name">
-          <el-input v-model="form.name" placeholder="请输入名称" />
+          <el-input v-model="form.name" placeholder="请输入区域名称" />
         </el-form-item>
 
 

+ 44 - 18
src/views/system/bind/index.vue

@@ -18,8 +18,8 @@
       </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="areaId">
-            <el-input v-model="queryParams.areaId" placeholder="请输入区域" clearable @keyup.enter.native="handleQuery" />
+          <el-form-item label="区域名称" prop="areaName">
+            <el-input v-model="queryParams.areaName" placeholder="请输入区域" clearable @keyup.enter.native="handleQuery" />
           </el-form-item>
 
           <el-form-item label="标签编号" prop="code">
@@ -29,7 +29,7 @@
 
           <el-form-item label="状态" prop="enable">
             <el-select v-model="queryParams.enable" placeholder="请选择状态">
-              <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
+              <el-option v-for="dict in dict.type.plan_status" :key="dict.value" :label="dict.label"
                 :value=dict.value></el-option>
             </el-select>
           </el-form-item>
@@ -71,7 +71,7 @@
 
           <el-table-column prop="status" label="状态" width="80">
             <template slot-scope="scope">
-              <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.enable" />
+              <dict-tag :options="dict.type.plan_status" :value="scope.row.enable" />
             </template>
           </el-table-column>
 
@@ -86,13 +86,9 @@
             </template>
           </el-table-column>
         </el-table>
-
-        <pagination v-show="pages.total" :total="pages.total" :page.sync="pages.page" :limit.sync="pages.size"
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
           @pagination="getList" />
-
       </el-col>
-
-
     </el-row>
 
 
@@ -112,14 +108,14 @@
           <el-col :span="30">
             <el-form-item label="机构名称" prop="orgId">
               <treeselect v-model="form.orgId" :options="deptOptions" :show-count="true" :normalizer="tenantIdnormalizer"
-                :props="{ checkStrictly: true, label: 'name' }" placeholder="请选择机构" />
+                :props="{ checkStrictly: true, label: 'name' }" placeholder="请选择机构" @select="changeSelectArea" />
             </el-form-item>
           </el-col>
         </el-row>
 
         <el-row>
           <el-col :span="20">
-            <el-form-item label="区域名称">
+            <el-form-item label="区域名称" prop="areaId">
               <el-select v-model="form.areaId" placeholder="请选择区域名称" @change="changeSelect">
                 <el-option v-for="item in roleOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
               </el-select>
@@ -129,7 +125,7 @@
 
         <el-row>
           <el-col :span="20">
-            <el-form-item label="采集点名称">
+            <el-form-item label="采集点名称" prop="checkId">
               <el-select v-model="form.checkId" placeholder="请选择采集点名称">
                 <el-option v-for="item in checkList" :key="item.id" :label="item.checkName" :value="item.id"></el-option>
               </el-select>
@@ -144,7 +140,7 @@
 
         <el-form-item label="状态" prop="enable">
           <el-select v-model="form.enable" placeholder="请选择状态">
-            <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
+            <el-option v-for="dict in dict.type.plan_status" :key="dict.value" :label="dict.label"
               :value="`${dict.value}`"></el-option>
           </el-select>
         </el-form-item>
@@ -165,19 +161,23 @@ import tableList from '@/mixins/tableList'
 import treeselect from '@riophae/vue-treeselect'
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { listBind, getBind, delBind, addBind, updateBind } from "@/api/system/bind";
+import{getAreaByOrg} from "@/api/system/area";
 import { deptTreeSelect } from "@/api/system/public";
 import { getCheckByAreaId } from "@/api/system/check";
 export default {
   /** 引入基础minxins*/
   mixins: [tableList],
   components: { treeselect },
-  dicts: ['sys_normal_disable'],
+  dicts: ['sys_normal_disable', 'plan_status'],
   data() {
     return {
       // 遮罩层
       loading: true,
       // 选中数组
       ids: [],
+       // 总条数
+       total: 0,
+      names: [],
       //搜索tree
       deptName: null,
       // 非单个禁用
@@ -197,6 +197,8 @@ export default {
       open: false,
       // 查询参数
       queryParams: {
+        pageNum: 1,
+        pageSize: 10,
         areaId: null,
         enable: null,
         code: null,
@@ -211,6 +213,21 @@ export default {
       form: {},
       // 表单校验
       rules: {
+        areaId: [
+          { required: true, message: '请选择区域', trigger: 'blur' },
+        ],
+        orgId: [
+          { required: true, message: '请选择归属部门', trigger: 'blur' },
+        ],
+        checkId: [
+          { required: true, message: '请选择采集点', trigger: 'blur' }
+        ],
+        code: [
+          { required: true, message: '请输入标签编号', trigger: 'change' }
+        ],
+        enable: [
+          { required: true, message: '请选择状态', trigger: 'blur' }
+        ]
       },
       checkList: [],
       roleOptions: [],
@@ -248,6 +265,13 @@ export default {
       this.queryParams.orgId = data.id;
       this.handleQuery();
     },
+    changeSelectArea(val){
+    
+      getAreaByOrg(val).then(response =>{
+      this.roleOptions  = response.data;
+      })
+    },
+    
     changeSelect(val) {
       getCheckByAreaId(val).then(response => {
         this.form.checkId = null;
@@ -258,7 +282,6 @@ export default {
     getList() {
       this.loading = true;
       listBind(this.queryParams).then(response => {
-        console.log(response, 111)
         this.bindList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -294,7 +317,7 @@ export default {
       this.form = {
         id: null,
         areaId: null,
-        enable: null,
+        enable: "1",
         code: null,
         createTime: null,
         updateId: null,
@@ -321,7 +344,7 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-
+      this.names = selection.map(item => item.code)
       this.single = selection.length !== 1
       this.multiple = !selection.length
     },
@@ -340,6 +363,8 @@ export default {
         this.form.password = this.initPassword;
       });
     },
+
+
     /** 修改按钮操作 */
     handleUpdate(row) {
 
@@ -378,7 +403,8 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除编号为"' + ids + '"的数据项?').then(function () {
+      const names = row.code || this.names;
+      this.$modal.confirm('是否确认删除标签编号为"' + names + '"的数据项?').then(function () {
         return delBind(ids);
       }).then(() => {
         this.getList();

+ 138 - 55
src/views/system/check/index.vue

@@ -1,70 +1,94 @@
 <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="checkName">
-        <el-input v-model="queryParams.checkName" placeholder="请输入采集点名称" clearable @keyup.enter.native="handleQuery" />
-      </el-form-item>
-      <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="归属部门" 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>
-        <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:check:add']">新增</el-button>
+    <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" :default-expanded-keys="defaultKeys"
+            :default-checked-keys="defaultKeys" @node-click="handleNodeClick" />
+        </div>
       </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:check: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:check:remove']">删除</el-button>
-      </el-col>
-      <!-- <el-col :span="1.5">
+
+      <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="checkName">
+            <el-input v-model="queryParams.checkName" placeholder="请输入采集点名称" clearable
+              @keyup.enter.native="handleQuery" />
+          </el-form-item>
+          <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="归属部门" 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>
+            <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:check: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:check: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:check: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:check:export']">导出</el-button>
       </el-col> -->
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
+        <el-table v-loading="loading" :data="checkList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="采集点名称" align="center" prop="checkName" />
+          <el-table-column label="区域名称" align="center" prop="areaName" />
+          <el-table-column label="归属部门" align="center" prop="orgName" />
+          <el-table-column label="修改人" align="center" prop="updateBy" />
+          <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:check:edit']">修改</el-button>
+              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+                v-hasPermi="['system:check:remove']">删除</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>
 
-    <el-table v-loading="loading" :data="checkList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
 
-      <el-table-column label="采集点名称" align="center" prop="checkName" />
-      <el-table-column label="区域" align="center" prop="areaName" />
-      <el-table-column label="机构" align="center" prop="orgName" />
-      <el-table-column label="修改人" align="center" prop="updateBy" />
-      <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:check:edit']">修改</el-button>
-          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
-            v-hasPermi="['system:check:remove']">删除</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" />
 
     <!-- 添加或修改区域采集点对话框 -->
     <DialogCom :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
         <el-row>
           <el-col :span="16">
-            <el-form-item label="区域名称">
+            <el-form-item label="区域名称" prop="areaId">
               <el-select v-model="form.areaId" placeholder="请选择区域名称">
                 <el-option v-for="item in roleOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
               </el-select>
@@ -92,6 +116,7 @@
 </template>
 
 <script>
+import tableList from '@/mixins/tableList'
 import { listCheck, getCheck, delCheck, addCheck, updateCheck } from "@/api/system/check";
 import treeselect from '@riophae/vue-treeselect'
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -99,7 +124,8 @@ import { deptTreeSelect } from "@/api/system/public";
 import { listArea } from "@/api/system/area";
 export default {
   name: "Check",
-
+  /** 引入基础minxins*/
+  mixins: [tableList],
   components: { treeselect },
   dicts: ['sys_normal_disable'],
   data() {
@@ -108,8 +134,11 @@ export default {
       loading: true,
       // 选中数组
       ids: [],
+      names: [],
       // 非单个禁用
       single: true,
+      //搜索tree
+      deptName: null,
       // 非多个禁用
       multiple: true,
       // 显示搜索条件
@@ -119,7 +148,7 @@ export default {
       //搜索tree
       deptName: null,
       // 部门树选项
-      deptOptions: null,
+      deptOptions: [],
       // 总条数
       total: 0,
       //区域集合
@@ -142,9 +171,29 @@ export default {
       // 表单参数
       form: {},
       // 表单校验
+      checkList: [],
+      roleOptions: [],
+      defaultKeys: [],
+      //是否关联下级
+      checked: false,
+      defaultProps: {
+        children: "children",
+        label: "name"
+      },
+
       rules: {
+        areaId: [
+          { required: true, message: '请选择区域', trigger: 'blur' },
+        ],
+        orgId: [
+          { required: true, message: '请选择归属部门', trigger: 'blur' },
+        ],
+        checkName: [
+          { required: true, message: '请输入采集点名称', trigger: 'change' }
+        ],
       },
       defaultKeys: []
+
     };
   },
   created() {
@@ -154,7 +203,33 @@ export default {
       this.areaList = response.rows;
     })
   },
+  watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
   methods: {
+    /** 下穿状态改变*/
+    changeCheckBox() {
+      this.getList();
+    },
+    // 筛选节点
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.name.indexOf(value) !== -1;
+    },
+    // 节点单击事件
+    handleNodeClick(data) {
+      this.queryParams.orgId = data.id;
+      this.handleQuery();
+    },
+    changeSelectArea(val) {
+
+      getAreaByOrg(val).then(response => {
+        this.roleOptions = response.data;
+      })
+    },
     /** 查询区域采集点列表 */
     getList() {
       this.loading = true;
@@ -169,8 +244,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();
       });
     },
@@ -184,6 +259,11 @@ export default {
         children: node.children
       }
     },
+        // 节点单击事件
+        handleNodeClick(data) {
+      this.queryParams.orgId = data.id;
+      this.handleQuery();
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -218,6 +298,7 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
+      this.names = selection.map(item => item.checkName)
       this.single = selection.length !== 1
       this.multiple = !selection.length
     },
@@ -237,6 +318,7 @@ export default {
     handleUpdate(row) {
       this.reset();
       const id = row.id || this.ids
+
       getCheck(id).then(response => {
         this.form = response.data;
         this.roleOptions = response.areas;
@@ -267,7 +349,8 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除区域采集点编号为"' + ids + '"的数据项?').then(function () {
+      const names = row.checkName || this.names
+      this.$modal.confirm('是否确认删除区域采集点名称为"' + names + '"的数据项?').then(function () {
         return delCheck(ids);
       }).then(() => {
         this.getList();

+ 1 - 0
src/views/system/dept/extend.vue

@@ -839,6 +839,7 @@
             <image-upload
               :limit="1"
               :fileSize="2"
+              
               @input="uploadorgSuccess"
             ></image-upload>
           </div>

+ 16 - 2
src/views/system/dept/index.vue

@@ -64,6 +64,20 @@
               />
             </el-select>
           </el-form-item>
+          <el-form-item label="机构类型" prop="isLock">
+            <el-select
+              v-model="queryParams.type"
+              placeholder="机构类型"
+              clearable
+            >
+              <el-option
+                v-for="dict in dict.type.sys_org_type"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
+            </el-select>
+          </el-form-item>
           <el-form-item>
             <el-button
               type="primary"
@@ -97,7 +111,7 @@
               size="mini"
               @click="handleAdd(row)"
               v-hasPermi="['system:dept:add']"
-              >新增中心业务库</el-button
+              >新增机构</el-button
             >
           </el-col>
           <right-toolbar
@@ -235,7 +249,7 @@
                 v-model="form.type"
                 placeholder="请选择机构类型"
                 clearable
-              >1699249064069677058
+              >
                 <el-option
                   v-for="dict in dict.type.sys_org_type"
                   :key="dict.value"

+ 26 - 13
src/views/system/device/index.vue

@@ -1,7 +1,6 @@
 <template>
   <div class="app-container">
     <el-row :gutter="20">
-
       <!--部门数据-->
       <el-col :span="4" :xs="24">
         <div class="head-container">
@@ -17,7 +16,6 @@
             :default-checked-keys="defaultKeys" @node-click="handleNodeClick" />
         </div>
       </el-col>
-
       <el-col :span="20" :xs="24">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
 
@@ -197,13 +195,15 @@
 </template>
 
 <script>
-
+import tableList from '@/mixins/tableList'
 import treeselect from '@riophae/vue-treeselect'
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { deptTreeSelect } from "@/api/system/public";
 
 import { listDevice, getDevice, delDevice, addDevice, updateDevice, getHostByOrgId } from "@/api/system/device";
 export default {
+  /** 引入基础minxins*/
+  mixins: [tableList],
   dicts: ['sys_asset_type', 'sys_device_type'],
   name: "Device",
   components: { treeselect },
@@ -234,15 +234,9 @@ export default {
           { required: true, message: '请选择设备分类', trigger: 'blur' },
 
         ],
-        deviceBrand: [
-          { required: true, message: '请输入设备品牌', trigger: 'change' },
-        ],
-        checkTime: [
-          { required: true, message: '请选择验收日期', trigger: 'change' }
-        ],
-        maintenanceTerm: [
-          { required: true, message: '请输入保修期限', trigger: 'change' }
-        ],
+
+
+
       },
       // 遮罩层
       loading: true,
@@ -250,6 +244,8 @@ export default {
       ids: [],
       // 非单个禁用
       single: true,
+      //搜索tree
+      deptName: null,
       // 非多个禁用
       multiple: true,
       // 显示搜索条件
@@ -303,19 +299,36 @@ export default {
     this.getDeptTree();
     this.getList();
   },
+  watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
   methods: {
    
     /** 下穿状态改变*/
     changeCheckBox() {
       this.getList();
     },
+
+    // 筛选节点
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.name.indexOf(value) !== -1;
+    },
     /** 查询机构树数据 */
+
+    /** 查询部门下拉树结构 */
     getDeptTree() {
       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.handleQuery();
       });
     },
-
     /** treeSelect组件自定义数据*/
     tenantIdnormalizer(node, instanceId) {
       if (node.children && !node.children.length) {

+ 7 - 4
src/views/system/role/index.vue

@@ -125,7 +125,7 @@
         <el-form-item label="角色顺序" prop="roleSort">
           <el-input-number v-model="form.roleSort" controls-position="right" :min="0" />
         </el-form-item>
-        <el-form-item label="状态">
+        <el-form-item label="状态" prop="status">
           <el-radio-group v-model="form.status">
             <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">
               {{ dict.label }}
@@ -268,11 +268,14 @@ export default {
         roleName: [
           { required: true, message: "角色名称不能为空", trigger: "blur" }
         ],
-       /*  roleKey: [
-          { required: true, message: "权限字符不能为空", trigger: "blur" }
-        ], */
+        orgType: [
+          { required: true, message: "请选择机构类型", trigger: "blur" }
+        ], 
         roleSort: [
           { required: true, message: "角色顺序不能为空", trigger: "blur" }
+        ],
+        status:[
+        { required: true, message: "请选择状态", trigger: "blur" }
         ]
       },
     };

+ 40 - 62
src/views/system/user/index.vue

@@ -25,10 +25,10 @@
                 :value="dict.value" />
             </el-select>
           </el-form-item>
-          <el-form-item label="创建时间">
+          <!-- <el-form-item label="创建时间">
             <el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
               range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-          </el-form-item>
+          </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>
@@ -41,14 +41,14 @@
             <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
               v-hasPermi="['system:user:add']">新增</el-button>
           </el-col>
-          <el-col :span="1.5">
+          <!-- <el-col :span="1.5">
             <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
               v-hasPermi="['system:user: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:user:remove']">删除</el-button>
-          </el-col>
+          </el-col> -->
           <!--          <el-col :span="1.5">-->
           <!--            <el-button-->
           <!--              type="info"-->
@@ -72,20 +72,20 @@
           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
         </el-row>
         <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
-          <el-table-column type="selection" width="50" align="center" />
-          <el-table-column label="用户名" align="center" key="username" prop="username" v-if="columns[0].visible" />
+          <el-table-column v-if="false" type="selection" width="50" align="center" />
+          <el-table-column label="用户名" align="center" key="username" prop="username" v-if="columns[0].visible" />
           <el-table-column label="用户昵称" align="center" key="name" prop="name" v-if="columns[1].visible"
             :show-overflow-tooltip="true" />
 
           <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"  prop="roles" v-if="columns[2].visible"
-            :show-overflow-tooltip="true" >
-            <template slot-scope="scope" >
+          <el-table-column label="用户角色" align="center" prop="roles" v-if="columns[2].visible"
+            :show-overflow-tooltip="true">
+            <template slot-scope="scope">
               <template v-for="item in scope.row.roles">
-          {{ item.roleName }}
-          <br/>
-        </template> 
+                {{ item.roleName }}
+                <br />
+              </template>
             </template>
           </el-table-column>
           <el-table-column label="状态" align="center" key="isLock" prop="isLock" v-if="columns[4].visible" width="80">
@@ -93,27 +93,19 @@
               <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.isLock" />
             </template>
           </el-table-column>
-          <el-table-column label="是否管理人员" align="center" key="isManager" prop="isManager" v-if="columns[5].visible" width="120" >
+          <el-table-column label="是否管理人员" align="center" key="isManager" prop="isManager" v-if="columns[5].visible"
+            width="120">
             <template slot-scope="scope">
-              {{ scope.row.isManager>0?"是":"否" }}
+              {{ scope.row.isManager > 0 ? "是" : "否" }}
             </template>
           </el-table-column>
           <el-table-column label="登录IP" align="center" key="lastIp" prop="lastIp" v-if="columns[6].visible" width="120" />
-          <el-table-column label="登录时间" align="center" key="lastTime" prop="lastTime" v-if="columns[7].visible" width="120" />
-          <el-table-column
-            label="操作"
-            align="center"
-            width="160"
-            class-name="small-padding fixed-width"
-          >
+          <el-table-column label="登录时间" align="center" key="lastTime" prop="lastTime" v-if="columns[7].visible"
+            width="120" />
+          <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
             <template slot-scope="scope" v-if="scope.row.userId !== 1">
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-plus"
-                @click="handleExtend(scope.row)"
-                v-hasPermi="['system:user:extend']"
-              >补充信息</el-button>
+              <el-button size="mini" type="text" icon="el-icon-plus" @click="handleExtend(scope.row)"
+                v-hasPermi="['system:user:extend']">补充信息</el-button>
               <!-- <el-button
                   size="mini"
                   type="text"
@@ -121,26 +113,17 @@
                   v-hasPermi="['system:user:extend']"
                   >补充信息</el-button
                 > -->
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-edit"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:user:edit']"
-              >编辑</el-button>
-              <el-button v-if="!scope.row.source"
-                size="mini"
-                type="text"
-                icon="el-icon-delete"
-                @click="handleDelete(scope.row)"
-                v-hasPermi="['system:user:remove']"
-              >删除</el-button>
-              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
+              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+                v-hasPermi="['system:user:edit']">编辑</el-button>
+              <el-button v-if="!scope.row.source" size="mini" type="text" icon="el-icon-delete"
+                @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
+              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"
+                v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
                 <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
                 <el-dropdown-menu slot="dropdown">
                   <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
                     v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
-                  <el-dropdown-item command="handleAuthRole"  v-if="false" icon="el-icon-circle-check"
+                  <el-dropdown-item command="handleAuthRole" v-if="false" icon="el-icon-circle-check"
                     v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
                 </el-dropdown-menu>
               </el-dropdown>
@@ -158,30 +141,25 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="10">
-            <el-form-item label="用户名" prop="username" v-if="!form.source">
+            <el-form-item label="用户名" prop="username" v-if="!form.source">
               <el-input v-model="form.username" placeholder="请输入用户名" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="10">
-            <el-form-item label="用户昵称" prop="name"  v-if="!form.source">
+            <el-form-item label="用户昵称" prop="name" v-if="!form.source">
               <el-input v-model="form.name" placeholder="请输入用户昵称" maxlength="30" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
-          
+
           <el-col :span="10">
-            <el-form-item label="所属机构" prop="orgId"  v-if="!form.source">
-              <tree-select
-                v-model="form.orgId"
-                :options="deptOptions"
-                :show-count="true"
-                :normalizer="tenantIdnormalizer"
-                :props="{checkStrictly: true, label:'name'}"
-                placeholder="请选择归属机构" />
+            <el-form-item label="所属机构" prop="orgId" v-if="!form.source">
+              <tree-select v-model="form.orgId" :options="deptOptions" :show-count="true" :normalizer="tenantIdnormalizer"
+                :props="{ checkStrictly: true, label: 'name' }" placeholder="请选择归属机构" />
             </el-form-item>
           </el-col>
-          <el-col :span="10" >
+          <el-col :span="10">
             <el-form-item label="用户角色" prop="roleIds">
               <el-select style="width: 100%;" v-model="form.roleIds" multiple placeholder="请选择角色">
                 <el-option v-for="item in roleOptions" :key="item.id" :label="item.roleName" :value="item.id"
@@ -192,12 +170,12 @@
         </el-row>
         <el-row>
           <el-col :span="10">
-            <el-form-item label="手机号码" prop="phone"  v-if="!form.source">
+            <el-form-item label="手机号码" prop="phone" v-if="!form.source">
               <el-input v-model="form.phone" placeholder="请输入手机号码" maxlength="11" />
             </el-form-item>
           </el-col>
           <el-col :span="10">
-            <el-form-item label="用户性别"  v-if="!form.source">
+            <el-form-item label="用户性别" v-if="!form.source">
               <el-select style="width: 100%;" v-model="form.gender" placeholder="请选择性别">
                 <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
                   :value="`${dict.value}`"></el-option>
@@ -211,11 +189,11 @@
           </el-col> -->
         </el-row>
         <el-row>
-          <el-col :span="10">
+          <!-- <el-col :span="10">
             <el-form-item v-if="!form.id" label="用户名称" prop="username">
               <el-input v-model="form.username" placeholder="请输入用户名称" maxlength="30" />
             </el-form-item>
-          </el-col>
+          </el-col>   -->
           <el-col :span="14">
             <el-form-item v-if="!form.id" label="用户密码" prop="password">
               <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
@@ -223,9 +201,9 @@
           </el-col>
         </el-row>
         <el-row>
-         
+
           <el-col :span="14">
-            <el-form-item label="状态"  v-if="!form.source">
+            <el-form-item label="状态" v-if="!form.source">
               <el-radio-group v-model="form.isLock">
                 <el-radio v-for="dict in dict.type.sys_normal_disable" :key="`${dict.value}`" :label="dict.value">{{
                   dict.label }}</el-radio>

+ 16 - 6
src/views/system/workTimeSet/workTime.vue

@@ -25,6 +25,7 @@
             :filter-node-method="filterNode"
             ref="tree"
             node-key="id"
+            highlight-current
             :default-expanded-keys="defaultKeys"
             :default-checked-keys="defaultKeys"
             @node-click="handleNodeClick"
@@ -153,7 +154,11 @@ import DialogAdd from './dialog.add'
 import { deptTreeSelect } from "@/api/system/public";
 import { tableList } from "./api";
 import {formatTime} from "@/utils/ruoyi";
-
+//初始化查询日期
+let timea = new Date();
+timea.setHours(0, 0, 0, 0);
+let timeb = new Date(timea.getTime() - 3600 * 1000 * 24 * 30);
+timeb.setHours(0, 0, 0, 0);
 export default {
   /**  得先引入字典才能使用 */
   dicts: ['sys_business_type'],
@@ -161,11 +166,6 @@ export default {
   mixins:[tableListMixins],
   components: {DialogEdit,DialogAdd},
   data() {
-    //初始化查询日期
-    let timea = new Date();
-    timea.setHours(0, 0, 0, 0);
-    let timeb = new Date(timea.getTime() - 3600 * 1000 * 24 * 30);
-    timeb.setHours(0, 0, 0, 0);
     return {
       //选中的行
       selectRow:null,
@@ -250,6 +250,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();
       });
     },
@@ -283,6 +284,15 @@ export default {
         ...this.queryParams
       }, `user_${new Date().getTime()}.xlsx`)
     },
+    /* 重置搜索 */
+    resetForm(name){
+      this.queryParams = {
+        orgId: null,
+        isEnable:'1',
+        range: [formatTime(timeb), formatTime(timea)],
+      }
+    },
   }
 };
+
 </script>

+ 10 - 4
src/views/system/workTimeSet/workTimeWeek.vue

@@ -25,6 +25,7 @@
             :filter-node-method="filterNode"
             ref="tree"
             node-key="id"
+            highlight-current
             :default-expanded-keys="defaultKeys"
             :default-checked-keys="defaultKeys"
             @node-click="handleNodeClick"
@@ -38,7 +39,7 @@
         <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.params"
+              v-model="dateRange"
               style="width: 240px"
               value-format="yyyy-MM-dd hh:mm:ss"
               type="daterange"
@@ -113,7 +114,6 @@ import DialogTemplate from './dialog.template'
 /** 引入节点树接口*/
 import { deptTreeSelect} from "@/api/system/public";
 import {weekTableList} from './api'
-
 export default {
   /**  得先引入字典才能使用 */
   dicts: ['sys_business_type'],
@@ -145,7 +145,6 @@ export default {
         checkSub: false,
         orgId: null,
         isEnable:false,
-        params: null,
       },
       // 列信息
       columns: [
@@ -204,7 +203,7 @@ export default {
         ...this.queryParams,
         ...this.pages
       }
-      weekTableList(this.addDateRange(data, this.queryParams.params)).then(response => {
+      weekTableList(this.addDateRange(data, this.dateRange)).then(response => {
           this.tableList = response.data.records;
           this.pages.total = response.data.total;
           this.loading = false;
@@ -244,6 +243,13 @@ export default {
         ...this.queryParams
       }, `user_${new Date().getTime()}.xlsx`)
     },
+    /* 重置搜索 */
+    resetForm(name){
+      this.queryParams = {
+          orgId: null,
+          isEnable:false,
+      }
+    },
   }
 };
 </script>

+ 174 - 0
src/views/tokenLogin.vue

@@ -0,0 +1,174 @@
+<template>
+  <div class="login">
+    <div class="color-model"></div>
+    <div class="background-border"></div>
+    <img class="login-text" src="../assets/images/login-text.svg" alt="" />
+    <img class="login-logo" src="../assets/images/login-logo.svg" alt="" />
+    <el-form
+      v-loading="loading"
+      element-loading-text="正在跳转,请稍等"
+      ref="loginForm"
+      class="login-form"
+      label-width="80px"
+    >
+      <h3 class="mini-title">欢迎登录</h3>
+      <h3 class="title">移动安全保卫管理平台项目</h3>
+      <el-result v-if="!loading" :icon="icon" :title="title" :subTitle="errMessage">
+    </el-result>
+    </el-form>
+    <!--  底部  -->
+    <div class="el-login-footer">
+      <!--      <span>Copyright © 2018-2023 ruoyi.vip All Rights Reserved.</span>-->
+    </div>
+  </div>
+</template>
+<script>
+import { createNamespacedHelpers } from "vuex";
+import { tokenLogin } from "@/api/login.js";
+export default {
+  data() {    
+    return {
+      icon: null,
+      title: null,
+      errMessage: null,
+      loading: true,
+    };
+  },
+  created() {},
+  mounted() {
+    // this.loading = this.$loading({
+    //   lock: true,
+    //   text: "Loading",
+    //   spinner: "el-icon-loading",
+    //   background: "rgba(0, 0, 0, 0.7)",
+    // });
+    let { query } = this.$route;
+    if (!query) {
+      this.loading = false;
+      this.icon = "error";
+      this.title = "错误";
+      this.errMessage = "缺少token";
+    } else {
+      let { token } = query;
+      if (!token) {
+        this.icon = "warning";
+        this.loading = false;
+        this.errMessage = "缺少token";
+      } else {
+        this.$store.dispatch("TokenLogin",token)
+          .then((r) => {
+            this.loading = false;
+            this.$router.push({ path: "/home" }).catch(() => {});
+          })
+          .catch((e) => {
+            this.icon = "error";
+            this.title = "错误";
+            this.errMessage = "请求错误";
+            this.loading = false;
+          });
+      }
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.login {
+  display: flex;
+  justify-content: right;
+  align-items: center;
+  height: 100%;
+  background: rgba(0, 140, 214, 1) url("../assets/images/login-background.png")
+    no-repeat;
+  background-size: cover;
+  position: relative;
+}
+.color-model {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  background-color: rgba(0, 140, 214, 0.5);
+}
+.background-border {
+  position: absolute;
+  width: 100%;
+  height: 342px;
+  background-color: #fff;
+  opacity: 0.2;
+  z-index: 0;
+  display: flex;
+}
+.login-logo {
+  position: absolute;
+  left: 118px;
+  top: 77px;
+  width: 245px;
+  height: 69px;
+}
+.login-text {
+  position: absolute;
+  left: 23%;
+  align-items: center;
+  width: 510px;
+  height: 190px;
+}
+.mini-title {
+  font-size: 16px;
+  text-align: center;
+  color: #999;
+}
+.title {
+  font-size: 32px;
+  margin: 0 auto 50px auto;
+  text-align: center;
+  color: #333;
+}
+.login-form {
+  margin-right: 15%;
+  border-radius: 6px;
+  background: #ffffff;
+  width: 544px;
+  height: 488px;
+  padding: 25px 60px 50px 60px;
+  z-index: 2;
+  .el-input {
+    height: 38px;
+    input {
+      height: 38px;
+    }
+  }
+  .input-icon {
+    height: 39px;
+    width: 14px;
+    margin-left: 2px;
+  }
+}
+.login-tip {
+  font-size: 13px;
+  text-align: center;
+  color: #bfbfbf;
+}
+.login-code {
+  width: 33%;
+  height: 38px;
+  float: right;
+  img {
+    cursor: pointer;
+    vertical-align: middle;
+  }
+}
+.el-login-footer {
+  height: 40px;
+  line-height: 40px;
+  position: fixed;
+  bottom: 0;
+  width: 100%;
+  text-align: center;
+  color: #fff;
+  font-family: Arial;
+  font-size: 12px;
+  letter-spacing: 1px;
+}
+.login-code-img {
+  height: 38px;
+}
+</style>