Răsfoiți Sursa

Merge remote-tracking branch 'remotes/origin/V0.0.6' into V0.0.6_iot

jiawuxian 1 an în urmă
părinte
comite
7343ea57ff
44 a modificat fișierele cu 567 adăugiri și 115 ștergeri
  1. 8 2
      babel.config.js
  2. 4 1
      package.json
  3. 1 0
      src/api/system/device.js
  4. 3 0
      src/components/Editor/index.vue
  5. 6 2
      src/router/index.js
  6. 1 1
      src/views/board/charts/edu/report.vue
  7. 1 1
      src/views/board/charts/ga38/report.vue
  8. 28 20
      src/views/board/charts/question/report.vue
  9. 22 2
      src/views/board/index.vue
  10. 34 4
      src/views/core/accessPlan/index.vue
  11. 14 0
      src/views/core/drill/task/index.vue
  12. 13 0
      src/views/core/edu/task/index.vue
  13. 15 0
      src/views/core/outIn/outInLog/index.vue
  14. 33 4
      src/views/core/reportForms/drill.vue
  15. 31 4
      src/views/core/reportForms/eduTraining.vue
  16. 5 1
      src/views/core/reportForms/intrusionTestReport.vue
  17. 6 2
      src/views/core/reportForms/monitorAccessReport.vue
  18. 5 1
      src/views/core/reportForms/resumptionReport.vue
  19. 5 1
      src/views/core/reportForms/safetyInspectReport.vue
  20. 5 1
      src/views/core/reportForms/selfInspectReport.vue
  21. 5 1
      src/views/core/reportForms/serviceBankReport.vue
  22. 5 0
      src/views/core/reportForms/standbyPowerReport.vue
  23. 12 0
      src/views/core/task/index.vue
  24. 14 0
      src/views/defenseMonitoring/index.vue
  25. 63 11
      src/views/index.vue
  26. 2 2
      src/views/question/list/dialog.vue
  27. 43 7
      src/views/question/list/index.vue
  28. 35 3
      src/views/question/reform/index.vue
  29. 19 1
      src/views/resumption/taskManager/index.vue
  30. 1 0
      src/views/safetyBook/aqbwbndjh/dialog.edit.vue
  31. 1 0
      src/views/safetyBook/hsggbsdj/dialog.edit.vue
  32. 1 0
      src/views/safetyBook/newBook/dialog.edit.vue
  33. 3 1
      src/views/safetycheck/task/components/checkRegister.vue
  34. 2 2
      src/views/safetycheck/task/components/detail.vue
  35. 20 0
      src/views/safetycheck/task/index.vue
  36. 14 3
      src/views/system/config/index.vue
  37. 41 9
      src/views/system/dept/extend.vue
  38. 3 3
      src/views/system/dept/index.vue
  39. 4 3
      src/views/system/device/index.vue
  40. 16 12
      src/views/system/user/extend.vue
  41. 3 1
      src/views/system/workTimeSet/dialog.template.vue
  42. 6 5
      src/views/system/workTimeSet/index.vue
  43. 10 0
      src/views/system/workTimeSet/workTime.vue
  44. 4 4
      src/views/system/workTimeSet/workTimeWeek.vue

+ 8 - 2
babel.config.js

@@ -1,7 +1,13 @@
 module.exports = {
-  presets: [
+  /*presets: [
     // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
     '@vue/cli-plugin-babel/preset'
+  ],*/
+  "presets": [["@babel/preset-env",{
+    "useBuiltIns": "usage",
+    "corejs": 3
+  }],
+    '@vue/babel-preset-jsx'
   ],
   'env': {
     'development': {
@@ -10,4 +16,4 @@ module.exports = {
       'plugins': ['dynamic-import-node']
     }
   }
-}
+}

+ 4 - 1
package.json

@@ -37,7 +37,10 @@
     "url": "https://gitee.com/y_project/RuoYi-Cloud.git"
   },
   "dependencies": {
+    "@babel/polyfill": "^7.12.1",
     "@riophae/vue-treeselect": "0.4.0",
+    "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
+    "@vue/babel-preset-jsx": "^1.4.0",
     "axios": "0.24.0",
     "clipboard": "2.0.8",
     "core.js": "^0.4.2",
@@ -74,7 +77,7 @@
     "chalk": "4.1.0",
     "compression-webpack-plugin": "5.0.2",
     "connect": "3.6.6",
-    "core-js": "^3.34.0",
+    "core-js": "3",
     "html-webpack-plugin": "^5.5.3",
     "lint-staged": "10.5.3",
     "runjs": "4.4.2",

+ 1 - 0
src/api/system/device.js

@@ -25,6 +25,7 @@ export function getDevice(id) {
   })
 }
 
+
 // 查询主机
 export function getHostByOrgId(orgId) {
   return request({

+ 3 - 0
src/components/Editor/index.vue

@@ -195,6 +195,9 @@ export default {
   white-space: pre-wrap !important;
   line-height: normal !important;
 }
+.ql-container{
+  height: 80%;
+}
 .quill-img {
   display: none;
 }

+ 6 - 2
src/router/index.js

@@ -290,7 +290,7 @@ Router.prototype.push = function push(location) {
 Router.prototype.replace = function push(location) {
   return routerReplace.call(this, location).catch((err) => err);
 };
-// const router = 
+// const router =
 // //路由守卫
 // router.beforeEach((to, from, next) => {
 //   //路由守卫控制登陆页面取消水印非登录页显示水印
@@ -302,8 +302,12 @@ Router.prototype.replace = function push(location) {
 //     }
 //   }
 // });
-export default new Router({
+
+
+const $router = new Router({
   mode: "hash",
   scrollBehavior: () => ({ y: 0 }),
   routes: constantRoutes,
 });
+export default $router;
+

+ 1 - 1
src/views/board/charts/edu/report.vue

@@ -139,7 +139,7 @@ export default {
         }
         data.all.push(item.taskTotal);
         data.completed.push(item.completedCount);
-        data.rate.push((item.completedRate * 100).toFixed(0));
+        data.rate.push((item.completedRate * 100).toFixed(2));
         if (this.orgName && item.orgName.startsWith(this.orgName)) {
           data.name.push(item.orgName.substr(this.orgName.length));
         } else {

+ 1 - 1
src/views/board/charts/ga38/report.vue

@@ -145,7 +145,7 @@ export default {
         }
         data.ga2021.push(item.ga382021);
         data.ga2015.push(item.ga382015);
-        data.rate.push((item.reachRate * 100).toFixed(0));
+        data.rate.push((item.reachRate * 100).toFixed(2));
         if (this.orgName && item.orgName.startsWith(this.orgName)) {
           data.name.push(item.orgName.substr(this.orgName.length));
         } else {

+ 28 - 20
src/views/board/charts/question/report.vue

@@ -146,7 +146,7 @@ export default {
 
       // 基于准备好的dom,初始化echarts实例
       this.myChart = echarts.init(document.getElementById("question_Chart"));
-      let { unconfirm, dissent, closed, unreform, reformed, overdue } =
+      let { unconfirm, dissent, closed, unreform, reformed,overdueReformed, overdue } =
         this.data;
       if (
         !unconfirm &&
@@ -154,6 +154,7 @@ export default {
         !closed &&
         !unreform &&
         !reformed &&
+        !overdueReformed &&
         !overdue
       ) {
         //如果全是0,饼图显示有问题
@@ -162,24 +163,25 @@ export default {
         closed = 1;
         unreform = 1;
         reformed = 1;
+        overdueReformed=1;
         overdue = 1;
       }
       let chartData = [
-        {
-          name: "待确认",
-          origin: this.data.unconfirm,
-          value: unconfirm,
-        },
-        {
-          name: "有异议",
-          origin: this.data.dissent,
-          value: dissent,
-        },
-        {
-          name: "已关闭",
-          origin: this.data.closed,
-          value: closed,
-        },
+        // {
+        //   name: "待确认",
+        //   origin: this.data.unconfirm,
+        //   value: unconfirm,
+        // },
+        // {
+        //   name: "有异议",
+        //   origin: this.data.dissent,
+        //   value: dissent,
+        // },
+        // {
+        //   name: "已关闭",
+        //   origin: this.data.closed,
+        //   value: closed,
+        // },
         {
           name: "待整改",
           origin: this.data.unreform,
@@ -191,17 +193,23 @@ export default {
           value: reformed,
         },
         {
+          name: "逾期整改",
+          origin: this.data.overdueReformed,
+          value: overdueReformed,
+        },
+        {
           name: "已逾期",
           origin: this.data.overdue,
           value: overdue,
         },
         {
           value: this.sum(
-            unconfirm,
-            dissent,
-            closed,
+            // unconfirm,
+            // dissent,
+            // closed,
             unreform,
             reformed,
+            overdueReformed,
             overdue
           ),
           itemStyle: {
@@ -229,7 +237,7 @@ export default {
         },
         title: {
           text: `总数: ${this.data.total}`,
-          subtext: `整改率: ${Math.round(this.data.reformed * 100)}%`,
+          subtext: `整改率: ${Math.round((this.data.reformed+this.data.overdueReformed) * 100)}%`,
           left: "center",
           top: "50%",
           textStyle: {

+ 22 - 2
src/views/board/index.vue

@@ -254,6 +254,8 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
+
+
 .body {
   background-image: url(@/assets/board/bg.png);
   background-position: 100%;
@@ -537,14 +539,14 @@ export default {
 .org-cascader {
   margin-top: -5px;
   width: 180px;
-
   ::v-deep .el-input__inner {
     background-color: transparent !important;
     border: none !important;
-    color: rgb(230, 230, 230);
+    color: #FFFFFF;
     font-size: 16px;
   }
 }
+
 </style>
 <style lang="scss">
 .board-org-popper {
@@ -556,4 +558,22 @@ export default {
     overflow: auto;
   }
 }
+
+</style>
+<style>
+  .el-cascader-panel{
+    .el-radio__inner{
+      border: 1px solid #0F0F0F !important;
+    }
+    .el-input__inner {
+      background-color: transparent !important;
+      border: none !important;
+      color: #FFFFFF;
+      font-size: 16px;
+    }
+  }
+  .el-radio__inner{
+    border: 1px solid #111111 !important;
+  }
+
 </style>

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

@@ -228,7 +228,7 @@
                   size="mini"
                   type="text"
                   icon="el-icon-arrow-down"
-                  v-if="
+                  v-show="
                     scope.row.parentId == null &&
                     scope.row.orgId == isEdit &&
                     scope.row.isDistribute == 0 &&
@@ -242,7 +242,7 @@
                   size="mini"
                   type="text"
                   icon="el-icon-top-left"
-                  v-if="
+                  v-show="
                     scope.row.orgId == isEdit &&
                     scope.row.isDistribute == 1 &&
                     scope.row.planStatus == 1 &&
@@ -257,7 +257,7 @@
                   type="text"
                   icon="el-icon-edit-outline"
                   @click="handleUpdate(scope.row)"
-                  v-if="scope.row.orgId == isEdit"
+                  v-show="scope.row.orgId == isEdit"
                   v-hasPermi="['core:accessPlan:edit']"
                   >编辑
                 </el-button>
@@ -318,12 +318,14 @@
             ></el-option>
           </el-select>
         </el-form-item>
+       
         <el-form-item label="调阅周期" prop="planCycle">
           <el-select
           :disabled="form.isEdit || form.isComplete"
             style="width: 100%"
             v-model="form.planCycle"
             placeholder="请选择调阅周期"
+            @change="planCycleChanged"
           >
             <el-option
               v-for="dict in dict.type.sys_access_cycle"
@@ -425,7 +427,21 @@
           >
           </el-date-picker>
         </el-form-item>
-
+        <!-- <el-form-item
+          v-show="form.orgType"
+          label="调阅机构"
+          prop="planExecOrgIdList"
+        >
+        <org-tree-select
+            v-model="form.planExecOrgIdList"
+            :queryData="form.orgType"
+            ref="orgTreeSelect"
+            checkShow="true"         
+            disable="false"   
+            :enabledCheckOrgTypes="parseInt(form.orgType)"                
+          >
+          </org-tree-select>
+        </el-form-item> -->
         <el-form-item label="备注" prop="description">
           <el-input
             v-model="form.description"
@@ -456,6 +472,7 @@ import {
   distribute,
   withdraw,
 } from "@/api/core/accessPlan";
+import OrgTreeSelect from "@/components/orgTreeSelect";
 import { listRole, findRoleByType, getRole, allRole } from "@/api/system/role";
 import tableList from "@/mixins/tableList";
 import orgTree from "@/components/orgTree/orgQuerySelector.vue";
@@ -480,6 +497,7 @@ export default {
   components: {
     orgTree,
     DialogThreeState,
+    OrgTreeSelect,
   },
 
   data() {
@@ -560,6 +578,8 @@ export default {
         planFrequency: [
           { required: true, message: "请选择调阅频次", trigger: "change" },
         ],
+        startTime: [{ required: true, message: "请选择开始日期" }],
+        endTime: [{ required: true, message: "请选择结束日期" }],
       },
       initNum: null,
       issue: null,
@@ -646,6 +666,15 @@ export default {
         this.form.endTime = this.form.startTime;
       }
     },
+    planCycleChanged()
+    {
+      if(this.form.planCycle!=0)
+      {
+        this.form.startTime=null;
+        this.form.endTime=null;
+      }
+      
+    },
     disabledDate(time) {
       //小于开始日期禁止选择
       let startTime = new Date();
@@ -943,6 +972,7 @@ export default {
         .distribute(id, immediateEffect)
         .then((response) => {
           if (response.data == 0) {
+            this.getList();
             this.loading = false;
           } else {
             this.getList();

+ 14 - 0
src/views/core/drill/task/index.vue

@@ -144,9 +144,22 @@
             <el-table-column
               label="任务名称"
               align="center"
+              width="310"
               prop="title"
             />
             <el-table-column
+              label="地区"
+              width="80"
+              align="center"
+              prop="affiliatedArea"
+            />
+            <el-table-column
+              label="行社名称"
+              width="150"
+              align="center"
+              prop="affiliatedBank"
+            />
+            <el-table-column
               label="演练机构"
               width="200"
               align="center"
@@ -226,6 +239,7 @@
               align="center"
               class-name="small-padding fixed-width"
               width="380"
+              fixed="right"
             >
               <template slot-scope="scope">
                 <el-button

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

@@ -167,9 +167,22 @@
             <el-table-column
               label="任务名称"
               align="center"
+              width="315"
               prop="title"
             />
             <el-table-column
+              label="地区"
+              width="115"
+              align="center"
+              prop="affiliatedArea"
+            />
+            <el-table-column
+              label="行社名称"
+              width="315"
+              align="center"
+              prop="affiliatedBank"
+            />
+            <el-table-column
               label="受训机构"
               width="315"
               align="center"

+ 15 - 0
src/views/core/outIn/outInLog/index.vue

@@ -149,9 +149,24 @@
               label="来访事由"
               align="center"
               :show-overflow-tooltip="true"
+              width="250"
               prop="reasons"
             />
             <el-table-column
+              label="地区"
+              align="center"
+              prop="affiliatedArea"
+              width="180"
+            >
+            </el-table-column>
+            <el-table-column
+              label="行社名称"
+              align="center"
+              prop="affiliatedBank"
+              width="180"
+            >
+            </el-table-column>
+            <el-table-column
               label="接待机构"
               align="center"
               prop="orgName"

+ 33 - 4
src/views/core/reportForms/drill.vue

@@ -12,7 +12,7 @@
 
       >
         <el-form-item label="组织机构:" class="formTreeItem">
-          <tree-select
+          <!-- <tree-select
             v-model="queryParams.orgId"
             :options="deptOptions"
             :show-count="true"
@@ -24,7 +24,16 @@
             @select="changeSelect"
             noOptionsText="没有数据"
             noResultsText="没有搜索结果"
-          />
+          /> -->
+          <org-tree
+                    v-model="queryParams.orgId"
+                    @defaultOrg="getDefaultOrg"
+                    @checkChange="checkChange"
+                    @click="clickTreeNode"
+                    hangsheTree
+                  ref="orgTree"
+                  :showCheckSub="false"
+                  ></org-tree>
         </el-form-item>
         <el-form-item label="演练任务名称:" label-width="50">
           <el-select v-model="queryParams.planId" @change="changeHandler">
@@ -75,7 +84,7 @@
     </div>
 
     <div class="main-search-box" style="margin-bottom: 0;">
-      <h1 style="text-align:center;">演练统计报表</h1>
+      <h1 style="text-align:center;">预案演练情况表</h1>
     </div>
     <el-table
       v-loading="loading"
@@ -121,7 +130,7 @@ export default {
     };
   },
   created() {
-    this.getDeptTree();
+    // this.getDeptTree();
     this.initPlanList();
   },
   watch: {
@@ -152,6 +161,26 @@ export default {
 
       //this.getList();
     },
+     //单选框状态改变
+    //  checkChange(state) {
+    //   this.queryParams.checkSub = state;
+    //   this.getList();
+    // },
+        // 节点单击事件
+      clickTreeNode(data) {
+      if(data==null){
+        return;
+      }
+      this.queryParams.orgId = data.id;
+      this.selectedOrgName = data.shortName;
+      // this.loadPlanList();
+     // this.loadRoles(data.id);
+      this.getList();
+    },
+    getDefaultOrg(node) {
+      this.queryParams.orgId = node.id;
+      this.selectedOrgName = node.shortName;
+    },
     /** 查询机构树数据 */
     getDeptTree() {
       deptTreeSelect().then((response) => {

+ 31 - 4
src/views/core/reportForms/eduTraining.vue

@@ -12,7 +12,16 @@
 
       >
         <el-form-item label="组织机构:" class="formTreeItem">
-          <tree-select
+          <org-tree
+                    v-model="queryParams.orgId"
+                    @defaultOrg="getDefaultOrg"
+                    @checkChange="checkChange"
+                    @click="clickTreeNode"
+                    hangsheTree
+                  ref="orgTree"
+                  :showCheckSub="false"
+                  ></org-tree>
+          <!-- <tree-select
             v-model="queryParams.orgId"
             :options="deptOptions"
             :show-count="true"
@@ -24,7 +33,7 @@
             @select="changeSelect"
             noOptionsText="没有数据"
             noResultsText="没有搜索结果"
-          />
+          /> -->
         </el-form-item>
         <!--              <el-form-item label="受训机构">
                         <org-tree
@@ -79,7 +88,7 @@
     </div>
 
     <div class="main-search-box" style="margin-bottom: 0;">
-      <h1 style="text-align:center;">教育统计报表</h1>
+      <h1 style="text-align:center;">教育培训情况表</h1>
     </div>
     <el-table
       v-loading="loading"
@@ -124,7 +133,7 @@ export default {
     };
   },
   created() {
-    this.getDeptTree();
+    // this.getDeptTree();
     this.initPlanList();
   },
   watch: {
@@ -178,6 +187,24 @@ export default {
         children: node.children,
       };
     },
+     //单选框状态改变
+    // checkChange(state) {
+    //   this.queryParams.checkSub = state;
+    //   this.getList();
+    // },
+        // 节点单击事件
+    clickTreeNode(data) {
+      if(data==null){
+        return;
+      }
+      this.queryParams.orgId = data.id;
+      this.selectedOrgName = data.shortName;
+      this.getList();
+    },
+    getDefaultOrg(node) {
+      this.queryParams.orgId = node.id;
+      this.selectedOrgName = node.shortName;
+    },
     //获取列表
     getList() {
       this.loading = true;

+ 5 - 1
src/views/core/reportForms/intrusionTestReport.vue

@@ -80,6 +80,7 @@
   </template>
 
   <script>
+  import {mapGetters} from "vuex";
     import tableList from '@/mixins/tableList'
     import {listIntrusionTestReport} from "@/api/core/reportForms/resumptionReport";
     import treeselect from '@riophae/vue-treeselect'
@@ -187,7 +188,9 @@ export default {
    // this.getDeptTree();
   this. getList();
   },
-
+  computed: {
+    ...mapGetters(["orgId"]),
+  },
   methods: {
     getDefaultOrg(node) {
       this.queryParams.orgId = node.id;
@@ -277,6 +280,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.orgId=this.orgId;
       this.handleQuery();
      // this.getDeptTree();
     },

+ 6 - 2
src/views/core/reportForms/monitorAccessReport.vue

@@ -80,6 +80,7 @@
   </template>
 
   <script>
+  import {mapGetters} from "vuex";
     import tableList from '@/mixins/tableList'
     import {listReport} from "@/api/core/reportForms/monitorAccessReport";
     import treeselect from '@riophae/vue-treeselect'
@@ -99,7 +100,7 @@ export default {
   data() {
     return {
       // 遮罩层
-      loading: true,
+      loading: false,
       // 选中数组
       ids: [],
       names: [],
@@ -190,7 +191,9 @@ export default {
     //this.getDeptTree();
   this. getList();
   },
-
+  computed: {
+    ...mapGetters(["orgId"]),
+  },
   methods: {
 
     p(s) {
@@ -309,6 +312,7 @@ getDefaultOrg(node) {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.orgId=
       this.handleQuery();
      // this.getDeptTree();
     },

+ 5 - 1
src/views/core/reportForms/resumptionReport.vue

@@ -106,6 +106,7 @@
   </template>
 
   <script>
+  import {mapGetters} from "vuex";
     import tableList from '@/mixins/tableList'
     import {listReport} from "@/api/core/reportForms/resumptionReport";
     import treeselect from '@riophae/vue-treeselect'
@@ -213,7 +214,9 @@ export default {
   //  this.getDeptTree();
   this. getList();
   },
-
+  computed: {
+    ...mapGetters(["orgId"]),
+  },
   methods: {
     getDefaultOrg(node) {
       this.queryParams.orgId = node.id;
@@ -302,6 +305,7 @@ clean() {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.orgId=this.orgId;
       this.handleQuery();
     //  this.getDeptTree();
     },

+ 5 - 1
src/views/core/reportForms/safetyInspectReport.vue

@@ -107,6 +107,7 @@
 </template>
 
 <script>
+import {mapGetters} from "vuex";
 import tableList from '@/mixins/tableList'
 import {listReport, selectAllOrg} from "@/api/core/reportForms/safetyInspectReport";
 import treeselect from '@riophae/vue-treeselect'
@@ -203,7 +204,9 @@ export default {
     //this.getDeptTree();
     this.getList();
   },
-
+  computed: {
+    ...mapGetters(["orgId"]),
+  },
   methods: {
     getDefaultOrg(node) {
       this.queryParams.orgId = node.id;
@@ -295,6 +298,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.orgId=this.orgId;
       this.handleQuery();
       //this.getDeptTree();
     },

+ 5 - 1
src/views/core/reportForms/selfInspectReport.vue

@@ -97,6 +97,7 @@
 </template>
 
 <script>
+import {mapGetters} from "vuex";
 import tableList from '@/mixins/tableList'
 import {listSelfReport, selectAllOrg} from "@/api/core/reportForms/safetyInspectReport";
 import treeselect from '@riophae/vue-treeselect'
@@ -200,7 +201,9 @@ export default {
   created() {
     this.getList();
   },
-
+  computed: {
+    ...mapGetters(["orgId"]),
+  },
   methods: {
     getDefaultOrg(node) {
       this.queryParams.orgId = node.id;
@@ -292,6 +295,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.orgId=this.orgId;
       this.handleQuery();
     },
     // 多选框选中数据

+ 5 - 1
src/views/core/reportForms/serviceBankReport.vue

@@ -86,6 +86,7 @@
   </template>
 
   <script>
+  import {mapGetters} from "vuex";
     import tableList from '@/mixins/tableList'
     import {listServiceBankReport} from "@/api/core/reportForms/resumptionReport";
     import treeselect from '@riophae/vue-treeselect'
@@ -193,7 +194,9 @@ export default {
    // this.getDeptTree();
   this. getList();
   },
-
+  computed: {
+    ...mapGetters(["orgId"]),
+  },
   methods: {
     getDefaultOrg(node) {
       this.queryParams.orgId = node.id;
@@ -285,6 +288,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.orgId=this.orgId;
       this.handleQuery();
     //  this.getDeptTree();
     },

+ 5 - 0
src/views/core/reportForms/standbyPowerReport.vue

@@ -77,6 +77,7 @@
 
 
   <script>
+  import {mapGetters} from "vuex";
     import tableList from '@/mixins/tableList'
     import {listStandbyPowerReport} from "@/api/core/reportForms/resumptionReport";
     import treeselect from '@riophae/vue-treeselect'
@@ -194,6 +195,9 @@ export default {
   };
   },
 
+  computed: {
+    ...mapGetters(["orgId"]),
+  },
   methods: {
     getDefaultOrg(node) {
       this.queryParams.orgId = node.id;
@@ -312,6 +316,7 @@ getDeptTree() {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.orgId=this.orgId;
       this.handleQuery();
      // this.getDeptTree();
     },

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

@@ -148,6 +148,18 @@
               show-overflow-tooltip="true"
             />
             <el-table-column
+              label="地区"
+              align="center"
+              prop="affiliatedArea"
+              width="220"
+            />
+            <el-table-column
+              label="行社名称"
+              align="center"
+              prop="affiliatedBank"
+              width="220"
+            />
+            <el-table-column
               label="调阅机构"
               align="center"
               prop="orgName"

+ 14 - 0
src/views/defenseMonitoring/index.vue

@@ -134,6 +134,18 @@
             </el-table-column>
             <el-table-column
               align="center"
+              prop="affiliatedArea"
+              label="地区"
+              v-if="columns[6].visible"
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              prop="affiliatedBank"
+              label="行社名称"
+              v-if="columns[7].visible"
+            ></el-table-column>
+            <el-table-column
+              align="center"
               prop="orgName"
               label="所属机构"
               v-if="columns[1].visible"
@@ -315,6 +327,8 @@ export default {
         { key: 3, label: `报警控制器状态`, visible: true },
         { key: 4, label: `登记人`, visible: true },
         { key: 5, label: `最近登记时间`, visible: true },
+        { key: 6, label: `地区`, visible: true },
+        { key: 7, label: `行社名称`, visible: true },
       ],
     };
   },

+ 63 - 11
src/views/index.vue

@@ -84,12 +84,16 @@
             <el-tab-pane label="知识库">
               <span slot="label" class="tab_font">知识库</span>
               <div class="tab-panel">
-                <div v-if="fileList.length > 0">
-                  <div class="file-item" v-for="(v, i) in fileList" :key="i">
-                    <a :href="imageUrl(v.url)" target="_blank">
+                <div v-if="knowledgeList.length > 0">
+                  <div class="msg-item" v-for="(v, i) in knowledgeList" :key="i"  @click="showKnowledgeDialog(v)">
+                    <!-- <a :href="imageUrl(v.url)" target="_blank">
                       <span><i class="el-icon-document"></i>{{ v.name }}</span>
                       <span>{{ v.createTime }}</span>
-                    </a>
+                    </a> -->
+                    <span class="item-title">{{ v.title }}</span>
+                    <span class="item-time">{{dayjs(v.updateTime).format("YYYY-MM-DD")  }}</span>
+                    <!-- <span><i class="el-icon-document"></i>{{ v.title }}</span>
+                    <span>{{ v.createTime }}</span> -->
                   </div>
                 </div>
                 <el-empty v-else description="暂无数据"></el-empty>
@@ -131,6 +135,39 @@
         </div>
       </div>
     </DialogCom>
+
+
+     <!--  新闻详情  -->
+     <DialogCom
+      title="知识库"
+      :visible.sync="showKnowledge"
+      width="800px"
+      append-to-body
+      @close="handleCloseKnowledgeDialog"
+    >
+      <div class="panel-box" v-if="selectKnowledge">
+        <h2>{{ selectKnowledge.title }}</h2>
+        <p>
+          <span>发布机构:{{ selectKnowledge.orgName }}</span
+          ><span style="margin-left: 20px"
+            >发布日期:{{dayjs(selectKnowledge.updateTime).format("YYYY-MM-DD")  }}</span
+          >
+        </p>
+        <div class="content-box">
+          <!-- <p class="text-box"></p> -->
+          <div v-if="selectKnowledge.fileObjectList && selectKnowledge.fileObjectList.length > 0">
+            附件:
+            <ul v-if="selectKnowledge.fileObjectList && selectKnowledge.fileObjectList.length > 0">
+              <li v-for="(v, i) in selectKnowledge.fileObjectList" :key="v.url">
+                <a :href="imageUrl(v.url)" target="_blank">
+                  <span><i class="el-icon-document"></i>{{ v.name }}</span>
+                </a>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+    </DialogCom>
   </div>
 </template>
 
@@ -196,10 +233,13 @@ export default {
       ],
       iconList: [],
       dataList: [],
-      fileList: [],
+      // fileList: [],
+      knowledgeList: [],
       msgsList: [],
       show: false,
       selectMsg: null,
+      showKnowledge:false,
+      selectKnowledge:null
     };
   },
   mounted() {
@@ -209,6 +249,7 @@ export default {
     ...mapGetters(["roleList", "isAdmin"]),
   },
   methods: {
+    dayjs,
     imageUrl,
     clickNum(item) {
       let page = this.pageList.find((v) => v.name === item.taskTypeText);
@@ -255,10 +296,20 @@ export default {
       this.show = true;
       this.selectMsg = v;
     },
+    
     handleClose() {
       this.show = false;
       this.selectMsg = null;
     },
+    showKnowledgeDialog(v)
+    {
+      this.showKnowledge=true;
+      this.selectKnowledge=v;
+    },
+    handleCloseKnowledgeDialog() {
+      this.showKnowledge = false;
+      this.selectKnowledge = null;
+    },
     getData() {
       console.log(this.roleList, "1213");
       if (this.roleList.length > 0 && this.roleList[0] !== "ROLE_DEFAULT") {
@@ -271,12 +322,13 @@ export default {
             this.msgsList = index1;
           }
           if (!index2) return;
-          this.fileList = index2.map((v) => {
-            return JSON.parse(v);
-          });
-          this.fileList.forEach((v) => {
-            v.createTime = dayjs(v.createTime).format("YYYY-MM-DD");
-          });
+          this.knowledgeList=index2;
+          // this.fileList = index2.map((v) => {
+          //   return JSON.parse(v);
+          // });
+          // this.fileList.forEach((v) => {
+          //   v.createTime = dayjs(v.createTime).format("YYYY-MM-DD");
+          // });
         });
       } else {
         if (!this.isAdmin) {

+ 2 - 2
src/views/question/list/dialog.vue

@@ -40,7 +40,7 @@
         >
         <el-descriptions-item label="整改期限">
           {{
-            dayjs(data.reformDeadline).format("YYYY年MM月DD")
+            dayjs(data.reformDeadline).format("YYYY年MM月DD")
           }}</el-descriptions-item
         >
         <el-descriptions-item label="隐患图片">
@@ -110,7 +110,7 @@
         v-if="data.reform"
       >
         <el-descriptions-item label="整改时间">{{
-          dayjs(data.reform.executeTime).format("YYYY年MM月DD")
+          dayjs(data.reform.executeTime).format("YYYY年MM月DD")
         }}</el-descriptions-item>
         <el-descriptions-item label="整改状态">{{
           data.reform.executeStatus == 0 ? "已整改" : "未整改"

+ 43 - 7
src/views/question/list/index.vue

@@ -41,12 +41,12 @@
               <el-form-item prop="confirmStatus" label="隐患状态">
                 <el-select
                   label="隐患状态"
-                  v-model="queryParams.confirmStatus"
+                  v-model="queryParams.confirmStatus"                  
                   placeholder="请选择隐患状态"
                   clearable
                 >
                   <el-option
-                    v-for="dict in dict.type.question_confirm_status"
+                    v-for="dict in dict.type.app_question_status"
                     :key="dict.value"
                     :label="dict.label"
                     :value="dict.value"
@@ -139,6 +139,22 @@
             </el-table-column>
             <el-table-column
               align="center"
+              label="地区"
+              prop="affiliatedArea"
+              show-overflow-tooltip
+              min-width="80"
+              v-if="columns[6].visible"
+            />
+            <el-table-column
+              align="center"
+              label="行社名称"
+              prop="affiliatedBank"
+              show-overflow-tooltip
+              min-width="120"
+              v-if="columns[7].visible"
+            />
+            <el-table-column
+              align="center"
               label="机构名称"
               prop="orgName"
               show-overflow-tooltip
@@ -154,6 +170,7 @@
             <el-table-column
               align="center"
               label="标准依据"
+              min-width="200"
               prop="checkContent"
               v-if="columns[3].visible"
             >
@@ -164,6 +181,7 @@
             <el-table-column
               align="center"
               label="隐患描述"
+              min-width="200"
               prop="questionDesc"
               show-overflow-tooltip
               v-if="columns[4].visible"
@@ -191,6 +209,19 @@
             </el-table-column>
             <el-table-column
               align="center"
+              label="整改期限"
+              prop="reformDeadline"
+              width="170px"
+              v-if="columns[8].visible"
+            >
+              <template slot-scope="scope">
+                <span>{{
+                  dayjs(scope.row.reformDeadline).format("YYYY-MM-DD HH:mm")
+                }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
               label="隐患状态"
               width="120px"
               prop="confirmStatus"
@@ -199,10 +230,9 @@
               <template slot-scope="scope">
                 <span>{{
                   getLabel(
-                    dict.type.question_confirm_status,
-                    scope.row.overdueStatus
-                      ? scope.row.overdueStatus
-                      : scope.row.confirmStatus
+                    dict.type.app_question_status,
+                    scope.row.overdueStatus!=null ? scope.row.overdueStatus:(scope.row.reformStatus!=null ? scope.row.reformStatus : scope.row.confirmStatus!=null
+                      ? scope.row.confirmStatus : "")
                   )
                 }}</span>
               </template>
@@ -309,10 +339,11 @@ export default {
         { key: 5, label: `提出人`, visible: true },
         { key: 6, label: `发现时间`, visible: true },
         { key: 7, label: `隐患状态`, visible: true },
+        { key: 8, label: `整改期限`, visible: true },
       ],
     };
   },
-  dicts: ["question_confirm_status"],
+  dicts: ["question_confirm_status","app_question_status"],
   components: { OrgTree, Dialog, DataRangePicker },
   computed: {
     ...mapGetters(["orgId", "userId", "orgName"]),
@@ -336,6 +367,11 @@ export default {
       this.questionList = [];
       listQuestion(this.queryParams).then((response) => {
         this.questionList = response.rows;
+        this.questionList.forEach(x=>{
+          console.log("隐患问题状态",x.overdueStatus!=null ? x.overdueStatus:(x.reformStatus!=null ? x.reformStatus : x.confirmStatus!=null
+                      ? x.confirmStatus : ""));
+        })
+
         this.total = response.total;
         this.loading = false;
       });

+ 35 - 3
src/views/question/reform/index.vue

@@ -123,6 +123,22 @@
             </el-table-column>
             <el-table-column
               align="center"
+              label="地区"
+              prop="affiliatedArea"
+              show-overflow-tooltip
+              min-width="60"
+              v-if="columns[6].visible"
+            />
+            <el-table-column
+              align="center"
+              label="行社名称"
+              prop="affiliatedBank"
+              show-overflow-tooltip
+              min-width="80"
+              v-if="columns[7].visible"
+            />
+            <el-table-column
+              align="center"
               label="机构名称"
               prop="orgName"
               show-overflow-tooltip
@@ -132,6 +148,7 @@
               align="center"
               label="标准依据"
               prop="checkContent"
+              min-width="150"
               v-if="columns[2].visible"
             >
               <template slot-scope="scope">
@@ -145,12 +162,24 @@
               show-overflow-tooltip
               v-if="columns[3].visible"
             />
-
+            <el-table-column
+              align="center"
+              label="发现时间"
+              prop="submitTime"
+              width="170px"
+              v-if="columns[8].visible"
+            >
+              <template slot-scope="scope">
+                <span>{{
+                  dayjs(scope.row.submitTime).format("YYYY年MM月DD日")
+                }}</span>
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="整改期限"
               prop="submitTime"
-              width="140"
+              width="150"
               v-if="columns[4].visible"
             >
               <template slot-scope="scope">
@@ -170,7 +199,7 @@
                 <span>{{
                   getLabel(
                     dict.type.question_reform_status,
-                    scope.row.overdueStatus
+                    scope.row.overdueStatus && scope.row.reformStatus==10
                       ? scope.row.overdueStatus
                       : scope.row.reformStatus
                   )
@@ -267,6 +296,9 @@ export default {
         { key: 3, label: `隐患描述`, visible: true },
         { key: 4, label: `整改期限`, visible: true },
         { key: 5, label: `整改状态`, visible: true },
+        { key: 6, label: `地区`, visible: true },
+        { key: 7, label: `行社名称`, visible: true },
+        { key: 8, label: `发现时间`, visible: true },
       ],
     };
   },

+ 19 - 1
src/views/resumption/taskManager/index.vue

@@ -165,6 +165,22 @@
             </el-table-column>
             <el-table-column
               align="center"
+              prop="affiliatedArea"
+              label="地区"
+              min-width="90"
+              v-if="columns[2].visible"
+            >
+            </el-table-column>
+            <el-table-column
+              align="center"
+              prop="affiliatedBank"
+              label="行社名称"
+              min-width="120"
+              v-if="columns[2].visible"
+            >
+            </el-table-column>
+            <el-table-column
+              align="center"
               prop="orgName"
               label="履职机构"
               min-width="120"
@@ -328,6 +344,8 @@ export default {
         { key: 4, label: `任务进度`, visible: true },
         { key: 5, label: `任务时间`, visible: true },
         { key: 6, label: `隐患问题数`, visible: true },
+        { key: 7, label: `地区`, visible: true },
+        { key: 8, label: `行社名称`, visible: true },
       ],
     };
   },
@@ -530,4 +548,4 @@ export default {
 .el-form--inline .el-form-item {
   display: inline-flex;
 }
-</style>
+</style>

+ 1 - 0
src/views/safetyBook/aqbwbndjh/dialog.edit.vue

@@ -90,6 +90,7 @@
               ref="upload"
               :defaultValue="formFileListDefualtValue"
               v-model="formData.images"
+              :fileSize="25"
               @success="successHandler('form','images')"
             />
           </el-form-item>

+ 1 - 0
src/views/safetyBook/hsggbsdj/dialog.edit.vue

@@ -107,6 +107,7 @@
                 ref="upload"
                 :defaultValue="formFileListDefualtValue"
                 v-model="formData.images"
+                :fileSize="25"
                 @success="successHandler('form','images')"
               />
           </el-form-item>

+ 1 - 0
src/views/safetyBook/newBook/dialog.edit.vue

@@ -148,6 +148,7 @@
               <W-file-upload
                 ref="upload"
                 :defaultValue="formFileListDefualtValue"
+                :fileSize="25"
                 v-model="formData.files"
                 @success="successHandler"
               />

+ 3 - 1
src/views/safetycheck/task/components/checkRegister.vue

@@ -149,7 +149,9 @@
                     <el-form-item label="情况描述" prop="remark">
                       <el-input
                         v-model="point.remark"
-                        style="width: 250px"
+                        style="width:500px;"
+                        type="textarea"
+                        :autosize="{ minRows: 3, maxRows: 3 }"
                         placeholder="请输入情况描述"
                         maxlength="255"
                       ></el-input> </el-form-item

+ 2 - 2
src/views/safetycheck/task/components/detail.vue

@@ -69,7 +69,7 @@
                   align="center"
                   prop="pointName"
                   label="检查内容"
-                  min-width="300"
+                  min-width="250"
                 >
                 <template slot-scope="r">
                   <div class="text_nbsp">
@@ -95,7 +95,7 @@
                     }}
                   </template>
                 </el-table-column>
-                <el-table-column align="center" prop="remark" label="问题描述"  min-width="100">
+                <el-table-column align="center" prop="remark" label="问题描述"  min-width="150">
                   <template slot-scope="r">
                     {{ r.row.remark ? r.row.remark : "-" }}
                   </template>

+ 20 - 0
src/views/safetycheck/task/index.vue

@@ -289,6 +289,24 @@
             >
             </el-table-column> -->
             <el-table-column
+              prop="affiliatedArea"
+              label="地区"
+              align="center"
+              width="150px"
+              show-overflow-tooltip
+              v-if="columns[8].visible"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="affiliatedBank"
+              label="行社名称"
+              align="center"
+              width="200px"
+              show-overflow-tooltip
+              v-if="columns[9].visible"
+            >
+            </el-table-column>
+            <el-table-column
               prop="orgName"
               label="受检机构"
               align="center"
@@ -490,6 +508,8 @@ export default {
         { key: 5, label: `受检机构`, visible: true },
         { key: 6, label: `任务时间`, visible: true },
         { key: 7, label: `隐患问题数`, visible: true },
+        { key: 8, label: `地区`, visible: true },
+        { key: 9, label: `行社名称`, visible: true },
       ],
     };
   },

+ 14 - 3
src/views/system/config/index.vue

@@ -108,7 +108,11 @@
       <el-table-column label="参数主键" align="center" prop="configId" />
       <el-table-column label="参数名称" align="center" prop="configName" :show-overflow-tooltip="true" />
       <el-table-column label="参数键名" align="center" prop="configKey" :show-overflow-tooltip="true" />
-      <el-table-column label="参数键值" align="center" prop="configValue" :show-overflow-tooltip="true" />
+      <el-table-column label="参数键值" align="center" width="200" prop="configValue" :show-overflow-tooltip="true" >
+        <template slot-scope="scope">
+          <div v-html="scope.row.configValue"></div>
+        </template>
+      </el-table-column>
       <el-table-column label="系统内置" align="center" prop="configType">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.configType"/>
@@ -146,7 +150,7 @@
     />
 
     <!-- 添加或修改参数配置对话框 -->
-    <DialogCom :title="title" :visible.sync="open" width="500px" append-to-body>
+    <DialogCom :title="title" :visible.sync="open" width="1000px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-form-item label="参数名称" prop="configName">
           <el-input v-model="form.configName" placeholder="请输入参数名称" />
@@ -155,7 +159,8 @@
           <el-input v-model="form.configKey" placeholder="请输入参数键名" />
         </el-form-item>
         <el-form-item label="参数键值" prop="configValue">
-          <el-input v-model="form.configValue" placeholder="请输入参数键值" />
+          <!--          <el-input v-model="form.configValue" placeholder="请输入参数键值" />-->
+          <Editor style="height: 150px" v-model="form.configValue" />
         </el-form-item>
         <el-form-item label="系统内置" prop="configType">
           <el-radio-group v-model="form.configType">
@@ -169,6 +174,10 @@
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
         </el-form-item>
+
+
+
+
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -180,9 +189,11 @@
 
 <script>
 import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
+import Editor from "@/components/Editor/index.vue"
 
 export default {
   name: "Config",
+  components: { Editor },
   dicts: ['sys_yes_no'],
   data() {
     return {

+ 41 - 9
src/views/system/dept/extend.vue

@@ -33,7 +33,7 @@
           </el-descriptions>
         </div>
       </div>
-      <div class="extend_mod ">
+      <div class="extend_mod" v-if="canShowGA38()">
         <div class="info-box">
           <h3 class="title">
             <i class="el-icon-collection-tag"></i>
@@ -144,13 +144,13 @@
         <div class="info-box">
           <el-descriptions class="margin-top" :column="3" size="medium" border>
 
-            <el-descriptions-item v-if="type === org_type.yewd" labelClassName="gx_info_label" label="行政区域气象">
+            <el-descriptions-item labelClassName="gx_info_label" label="气象行政区域">
               <el-cascader
                 clearable
                 v-model="weatherAreaCode"
                 :options="areaList"
                 @change="selectArea"
-                placeholder="请选择行政区域气象"
+                placeholder="请选择气象行政区域"
               ></el-cascader>
             </el-descriptions-item>
             <el-descriptions-item v-if="type === org_type.yewd" labelClassName="gx_info_label" label="产权类型">
@@ -316,14 +316,14 @@
               </el-select>
             </el-descriptions-item>
 
-            <el-descriptions-item v-if="type === org_type.jkzx || type === org_type.yewd|| type === org_type.lhzz" labelClassName="gx_info_label" label="出入口远程控制与授权">
+            <el-descriptions-item v-if="type === org_type.jkzx || type === org_type.yewd|| type === org_type.lhzz || type === org_type.zxywk" labelClassName="gx_info_label" label="出入口远程控制与授权">
               <el-radio-group v-model="remoteControl">
                 <el-radio :label="1">是</el-radio>
                 <el-radio :label="0">否</el-radio>
               </el-radio-group>
             </el-descriptions-item>
 
-            <el-descriptions-item v-if="type === org_type.jkzx || type === org_type.yewd" labelClassName="gx_info_label" label="业务库防控隔离门出入口数量">
+            <el-descriptions-item v-if="type === org_type.jkzx || type === org_type.yewd || type === org_type.zxywk" labelClassName="gx_info_label" label="业务库防控隔离门出入口数量">
               <el-input-number
                 v-model="remoteCount"
                 controls-position="right"
@@ -333,7 +333,7 @@
               ></el-input-number>
             </el-descriptions-item>
 
-            <el-descriptions-item v-if="type === org_type.jkzx || type === org_type.lhzz" labelClassName="gx_info_label" label="离行式加钞间出入口数量">
+            <el-descriptions-item v-if="type === org_type.jkzx || type === org_type.lhzz  " labelClassName="gx_info_label" label="离行式加钞间出入口数量">
               <el-input-number
                 v-model="cashAddingRoom"
                 controls-position="right"
@@ -525,7 +525,7 @@ export default {
     "org_extend_detached_standard",
     "org_extend_is",
     "property_situation",
-  
+
   ],
 
   fillter: {},
@@ -552,6 +552,7 @@ export default {
         jkzx: '10',
         yewd: '4',
         lhzz: '5',
+        zxywk: '6',
       },
       reqmsg: false,
       imageViewer: false,
@@ -592,7 +593,7 @@ export default {
       dataInfo: [],
       //机构补充信息
       extendId: null,
-      orgType: 1,
+      orgType: null,
       weatherAreaCode: null,
       premisesArea: null,
       ownership: null,
@@ -1229,6 +1230,14 @@ export default {
         this.detachedtitle = "编辑安全防范设施建设达标信息";
       });
     },
+    canShowGA38(){
+      // console.log("canShowGA38",this.type  ,this.type == '4' || this.type == '10' || this.type == '5')
+      if(this.type == '4' || this.type == '10' || this.type == '5')
+      {
+        return true;
+      }
+      return false;
+    },
     /** 提交按钮 */
     submitdetachedForm() {
       if (this.detachedimgs.length > 0) {
@@ -1396,6 +1405,10 @@ export default {
         });
     },
     saveExtend() {
+      if(!this.validBeforeSaveExtend())
+      {
+        return;
+      }
       let dat = {
         safeBox: this.safeBox ? 1 : 0,
         innerCount: this.innerCount,
@@ -1444,6 +1457,25 @@ export default {
         });
       }
     },
+    validBeforeSaveExtend()
+    {
+      if(this.weatherAreaCode==null)
+      {
+        this.$modal.msgError("气象行政区域不能为空,请选择气象行政区域");
+        return false;
+      }
+      if(this.type === this.org_type.yewd && this.ownership==null)
+      {
+        this.$modal.msgError("产权类型不能为空,请选择产权类型");
+        return false;
+      }
+      if(this.type === this.org_type.yewd && this.outsideArea==null)
+      {
+        this.$modal.msgError("所在位置不能为空,请选择所在位置");
+        return false;
+      }
+      return true;
+    },
     nosaveExtend() {
       // this.$router.go(-1);
       this.$tab.closePageAndPushPrev();
@@ -1560,4 +1592,4 @@ export default {
   }
 
 
-</style>
+</style>

+ 3 - 3
src/views/system/dept/index.vue

@@ -225,12 +225,12 @@
                    :to="'/system/dept-extend/extend/' + scope.row.id"
                    class="link-type"
                  > -->
-                <el-button
-                  v-if="
+                 <!-- v-if="
                     scope.row.type == 4 ||
                     scope.row.type == 10 ||
                     scope.row.type == 5
-                  "
+                  " -->
+                <el-button                  
                   size="mini"
                   type="text"
                   icon="el-icon-plus"

+ 4 - 3
src/views/system/device/index.vue

@@ -249,12 +249,12 @@
             </el-form-item>
           </el-col>
 
-   
-    
+
+
 
         </el-row>
         <el-row>
-        
+
           <el-col :span="12">
             <el-form-item label="设备名称" prop="deviceName">
               <el-input
@@ -386,6 +386,7 @@ import {
   addDevice,
   updateDevice,
   getHostByOrgId,
+  getDeviceByHost,
   downInCharge,
 } from "@/api/system/device";
 export default {

+ 16 - 12
src/views/system/user/extend.vue

@@ -24,14 +24,14 @@
         <el-form inline :model="formData" :rules="rules" ref="form" label-position="left" label-width="140px">
           <el-row>
             <el-col :xs="24" :sm="12" :md="8" :lg="6">
-  
+
               <el-form-item label="是否专职" prop="isFullTime">
                 <el-radio-group v-model="formData.isFullTime">
                   <el-radio
                     v-for="dict in dict.type.sys_yes_no"
                     :key="`${dict.value}`"
                     :label="dict.value"
-                  
+
                   >{{ dict.label }}</el-radio
                   >
                 </el-radio-group>
@@ -42,7 +42,7 @@
                     v-for="dict in dict.type.sys_yes_no"
                     :key="`${dict.value}`"
                     :label="dict.value"
-                  
+
                   >{{ dict.label }}</el-radio
                   >
                 </el-radio-group>
@@ -89,7 +89,7 @@
 
             <el-col :xs="24" :sm="12" :md="8" :lg="6">
               <el-form-item label="现任职务" prop="duties">
-                <el-select style="width: 217px;" v-model="formData.duties" placeholder="请选择现任职务">
+                <el-select style="width: 217px;" v-model="formData.duties" @change="changeDuties" placeholder="请选择现任职务">
                   <el-option v-for="dict in dict.type.current_position" :key="dict.value" :label="dict.label"
                              :value="dict.value" />
                 </el-select>
@@ -177,7 +177,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
- 
+
 
             <el-col :xs="24" :sm="12" :md="8" :lg="8">
               <el-form-item label="金融安全防范工程专家" prop="financialExperts" label-width="240">
@@ -267,7 +267,7 @@ export default {
       rules: {
         idCard:[
           { required: true, message: '请输入身份证号码', trigger: 'change'},
-          { min: 18, message: "请输入18位身份证号码", trigger: "blur" },   
+          { min: 18, message: "请输入18位身份证号码", trigger: "blur" },
           {
             validator: (rule, value, callback) => {
               if (
@@ -424,9 +424,13 @@ export default {
   },
 
   methods: {
+    changeDuties(val){
+      console.log(val);
+      this.formData.aloneDept = 'N'
+    },
 //身份证
 checkIdCard(val){
-  
+
    //是否为空
    if (val === '') {
       // Toast('请输入18位身份证号');
@@ -438,19 +442,19 @@ checkIdCard(val){
    }
 
    //检查号码是否符合规范,包括长度,类型
-   if(this.isCardNo(val) === false){  
+   if(this.isCardNo(val) === false){
     //  Toast("证件号码不符合规范");
       return false;
    }
 
    //检查省份
-   if(this.checkProvince(val) === false){  
+   if(this.checkProvince(val) === false){
    //   Toast("证件号码不对校验省份错误");
       return false;
    }
 
    //校验生日
-   if(this.checkBirthday(val) === false){   
+   if(this.checkBirthday(val) === false){
     //   Toast("证件号码校验生日错误");
        return false;
    }
@@ -516,7 +520,7 @@ checkBirthday(data) {
   },
 
 //校验日期
-verifyBirthday(year,month,day,birthday) 
+verifyBirthday(year,month,day,birthday)
      {
       var now = new Date();
       var now_year = now.getFullYear();
@@ -955,4 +959,4 @@ verifyBirthday(year,month,day,birthday)
   border-color: #1ea8e9;
   /* 您可以将此颜色更改为所需的颜色 */
 }
-</style>
+</style>

+ 3 - 1
src/views/system/workTimeSet/dialog.template.vue

@@ -130,7 +130,8 @@
           </el-form-item>
         </el-form>
       <div style="color: red;font-size: 12px;line-height: 30px;">
-        注:保存后生成或更新本月或下月生效日期后的每日作息
+        注:保存作息模板后,平台将按作息模板在所选'生效日期'当日后自动生成作息
+
       </div>
 <!--      </div>-->
       <div v-if="title != '查看作息模版'" slot="footer" class="dialog-footer">
@@ -256,6 +257,7 @@ export default {
         }
       }
       addTimeWeek(this.formData).then(res=>{
+        this.$message.success("保存成功");        
         this.handleClose();
         this.$emit("ok");
       })

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

@@ -2,17 +2,18 @@
   <div class="workTime app-container">
 
     <el-tabs v-model="activeName" @tab-click="handleClick">
-      <el-tab-pane label="作息配置" name="作息配置">
+      <el-tab-pane v-hasPermi="['system:time:week']" label="每周作息配置" name="每周作息配置">
 
       </el-tab-pane>
-      <el-tab-pane v-hasPermi="['system:time:week']" label="模板配置作息" name="模板配置作息">
+      <el-tab-pane label="日期作息配置" name="日期作息配置">
 
       </el-tab-pane>
+     
     </el-tabs>
 
-    <work-time v-if="activeName==='作息配置'"></work-time>
+    <work-time v-if="activeName==='日期作息配置'"></work-time>
     <div v-hasPermi="['system:time:week']">
-      <work-time-week  v-if="activeName==='模板配置作息'"></work-time-week>
+      <work-time-week  v-if="activeName==='每周作息配置'"></work-time-week>
     </div>
   </div>
 </template>
@@ -27,7 +28,7 @@ export default {
   },
   data() {
     return {
-      activeName:'作息配置'
+      activeName:'每周作息配置'
     };
   },
   methods:{

+ 10 - 0
src/views/system/workTimeSet/workTime.vue

@@ -67,6 +67,14 @@
                   />
                 </el-select>
               </el-form-item>
+              <el-form-item label="未配置作息" prop="noWorkTime">
+                <el-switch
+                  v-model="queryParams.noWorkTime"
+                  active-text=""
+                  @change="handleQuery"
+                >
+                </el-switch>
+              </el-form-item>
             </el-form>
             <!--    按纽    -->
             <el-row :gutter="10">
@@ -269,6 +277,7 @@ export default {
         pageSize: 10,
         orgType:null,
         range: [sDate, eDate],
+        noWorkTime:false,
       },
       total: 0,
       // 列信息
@@ -387,6 +396,7 @@ export default {
       this.queryParams.orgId = this.orgId;
       this.queryParams.orgType = null;
       this.queryParams.checkSub = true;
+      this.queryParams.noWorkTime=false;
       this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub)
       this.queryParams.range = [sDate, eDate];
       this.getList();

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

@@ -85,7 +85,7 @@
             <el-table-column prop="orgName" align="center" label="机构" :show-overflow-tooltip="true"></el-table-column>
             <el-table-column prop="effectiveDate" align="center" label="生效日期" width="160"></el-table-column>
             <el-table-column prop="workDay" align="center" label="工作日" width="300"></el-table-column>
-            <el-table-column prop="modifiedName" align="center" label="更新人" width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column prop="updateBy" align="center" label="更新人" width="160" show-overflow-tooltip></el-table-column>
             <el-table-column prop="updateTime" align="center" label="更新时间" width="180"></el-table-column>
             <el-table-column label="操作" align="center"  width="140" >
               <template slot-scope="r">
@@ -186,7 +186,7 @@ export default {
     };
   },
   computed: {
-    ...mapGetters(["orgId"]),
+    ...mapGetters(["orgId","isAdmin"]),
     pickerOptions() {
       return {
         start: "00:00",
@@ -203,8 +203,8 @@ export default {
   },
   methods: {
     ifOrg(row){
-      console.log(row.orgId,this.orgId,'row')
-      return row.orgId === this.orgId;
+      console.log(row.orgId,this.orgId,'row','isAdmin',this.isAdmin)
+      return row.orgId === this.orgId || this.isAdmin;
     },
     getDefaultKey(key) {
       this.queryParams.orgId = key;