Przeglądaj źródła

Merge branch 'V0.0.4' of http://10.87.21.221:8000/jzyd_yyds/soc_web into V0.0.4

luowei 1 rok temu
rodzic
commit
6ba6fcdc02
34 zmienionych plików z 418 dodań i 999 usunięć
  1. 2 2
      .env.development
  2. 8 0
      src/assets/map/config.js
  3. 0 0
      src/assets/map/putian.json
  4. 1 1
      src/components/orgTree/orgDropDown.vue
  5. 42 32
      src/components/orgTree/orgQuerySelector.vue
  6. 5 4
      src/views/board/charts/org/report.vue
  7. 4 5
      src/views/board/index.vue
  8. 1 1
      src/views/core/accessPlan/index.vue
  9. 1 1
      src/views/core/drill/plan/index.vue
  10. 32 21
      src/views/core/drill/task/index.vue
  11. 1 1
      src/views/core/task/index.vue
  12. 1 1
      src/views/question/list/dialog.vue
  13. 1 1
      src/views/question/list/index.vue
  14. 1 1
      src/views/question/reform/dialog.vue
  15. 8 7
      src/views/resumption/plan/dialog.edit.vue
  16. 5 5
      src/views/resumption/rule/index.vue
  17. 7 6
      src/views/resumption/taskManager/dialog.detail.vue
  18. 4 4
      src/views/resumption/taskManager/dialog.scanrecord.vue
  19. 8 0
      src/views/safetyBook/aqbwbndjh/dialog.edit.vue
  20. 1 1
      src/views/safetyBook/dialog.edit.vue
  21. 8 0
      src/views/safetyBook/hsggbsdj/dialog.edit.vue
  22. 16 17
      src/views/safetycheck/rule/index.vue
  23. 68 58
      src/views/safetycheck/task/components/detail.vue
  24. 3 3
      src/views/safetycheck/task/components/register.vue
  25. 0 186
      src/views/safetycheck/task/dialog.detail.vue
  26. 12 13
      src/views/safetycheck/task/dialog.scanrecord.vue
  27. 0 3
      src/views/safetycheck/task/index.vue
  28. 0 473
      src/views/safetycheck/taskManager/components/checkRegister.vue
  29. 2 0
      src/views/system/bind/index.vue
  30. 2 0
      src/views/system/dept/dialog.edit.vue
  31. 1 0
      src/views/system/dept/index.vue
  32. 2 0
      src/views/system/menu/index.vue
  33. 169 152
      src/views/system/user/index.vue
  34. 2 0
      src/views/tool/gen/genInfoForm.vue

+ 2 - 2
.env.development

@@ -15,9 +15,9 @@ ENV = 'development'
 #VUE_APP_BASE_API = 'http://10.87.11.94:8080'
 #景远超
 # VUE_APP_BASE_API = 'http://10.87.11.173:8080'
-#VUE_APP_BASE_API = 'http://localhost:8080'
+VUE_APP_BASE_API = 'http://localhost:8080'
 # 55环境
-VUE_APP_BASE_API = 'http://10.87.21.107:8080'
+# VUE_APP_BASE_API = 'http://10.87.21.107:8080'
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
 

+ 8 - 0
src/assets/map/config.js

@@ -7,6 +7,7 @@ import nangping from "./nanping.json";
 import quangzhou from "./quanzhou.json";
 import sanming from "./sanming.json";
 import xiameng from "./xiameng.json";
+import putian from "./putian.json";
 
 export default {
   default: {
@@ -118,4 +119,11 @@ export default {
         { name: "连城县农联社", value: [116.650912,25.615751, 10] }
     ],
   },
+  莆田地区行社: {
+    map: putian,
+    coordinates: [
+        { name: "莆田农商银行", value: [119.014794,25.427314, 10] },
+        { name: "仙游农商银行", value: [118.703527,25.361068, 10] },        
+    ],
+  },
 };

Plik diff jest za duży
+ 0 - 0
src/assets/map/putian.json


+ 1 - 1
src/components/orgTree/orgDropDown.vue

@@ -1,6 +1,6 @@
 <template>
   <treeselect v-model="val" :options="deptOptions" :normalizer="normalizer" v-bind="$attrs" @select="select" ref="tree"
-    noResultsText="暂无符合条件的数据" clearValueText="清除" />
+    noResultsText="暂无符合条件的数据" noOptionsText="无数据" clearValueText="清除" />
 </template>
 <script>
 import Treeselect from "@riophae/vue-treeselect";

+ 42 - 32
src/components/orgTree/orgQuerySelector.vue

@@ -4,11 +4,13 @@
       v-model="val"
       :options="treeList"
       :normalizer="normalizer"
+      :default-expand-level="0"
       :clearable="clearable"
       v-bind="$attrs"
       @select="select"
       ref="tree"
       noResultsText="暂无符合条件的数据"
+      noOptionsText="无数据"
       clearValueText="清除"
     />
     <el-checkbox v-model="checkSub" @change="changeCheckBox"
@@ -27,8 +29,7 @@ export default {
   data() {
     return {
       treeList: [],
-      currentNode: null,
-      checkSub:this.defaultCheckSub
+      checkSub: this.defaultCheckSub,
     };
   },
   props: {
@@ -43,10 +44,10 @@ export default {
       //取值范围:business,org
       type: String,
       default: "business",
-    },    
-    defaultCheckSub:{
-      type:Boolean,
-      default:true
+    },
+    defaultCheckSub: {
+      type: Boolean,
+      default: true,
     },
     hangsheTree: {
       type: Boolean,
@@ -67,25 +68,18 @@ export default {
       type: Boolean,
       default: true,
     },
-    clearable:{
-      type:Boolean,
-      default:false,
-    }
+    clearable: {
+      type: Boolean,
+      default: false,
+    },
   },
   watch: {
     value(v) {
+      //补充clear时不触发select事件
       if (!v) {        
         this.$emit("click", null);
         return;
-      }
-      if (!this.currentNode || this.currentNode.id != v) {
-        this.currentNode = this.findNodeInOptions(v);
-      }
-
-      if (this.currentNode) {
-        console.info(this.currentNode);
-        this.$emit("click", this.currentNode);
-      }
+      }      
     },
     orgTree(val) {
       this.getDeptTree();
@@ -102,8 +96,8 @@ export default {
     getDeptTree() {
       if (this.customRequest) {
         this.customRequest().then((response) => {
-          this.treeList = response.data;
-          this.dataFn(response.data);
+          let treeList = response.data;
+          this.dataFn(treeList);
           return;
         });
       } else {
@@ -123,29 +117,44 @@ export default {
         } else {
           this.treeList = this.$store.getters.orgTree;
         }
+
         this.dataFn(this.treeList);
       }
     },
     dataFn(arr) {
       if (!arr || arr.length === 0) return;
-      console.log(arr, "arrr");
+      // console.log(arr, "arrr");
 
       if (arr && arr.length > 0) {
+        if (arr.length == 1) {
+          arr[0].isDefaultExpanded = true;
+        }
+
+        let defaultSelectedNode;
         if (!this.val) {
           this.val = arr[0].id;
+          defaultSelectedNode = arr[0];
+          //     let v=this.val
+
+          // debugger
+        } else {
+          if (this.value) {
+            defaultSelectedNode = this.findNodeInOptions(this.value);
+          }
         }
 
-        this.currentNode = this.findNodeInOptions(this.val);
-        if (this.currentNode) {
-          this.$emit("defaultKey", this.currentNode.id);
-          this.$emit("defaultOrg", this.currentNode);
+        if (defaultSelectedNode) {
+          this.$emit("defaultKey", defaultSelectedNode.id);
+          this.$emit("defaultOrg", { ...defaultSelectedNode });
         }
+
+        this.treeList = arr;
       }
       // setTimeout(() => {
       //   this.$refs.tree.setCurrentKey(arr[0].id);
       // }, 100);
     },
-   
+
     findNodeInOptions(id) {
       if (!id) {
         return;
@@ -180,11 +189,12 @@ export default {
         id: node.id,
         label: node[this.label],
         children: node.children,
+        isDefaultExpanded: node.isDefaultExpanded,
       };
     },
     select(node) {
-      this.currentNode = node;
-      this.value=node.id
+      this.$emit("click", node);     
+
     },
     changeCheckBox(state) {
       this.$emit("checkChange", state);
@@ -198,12 +208,12 @@ export default {
 <style lang="scss" scoped>
 .org_query_selector {
   display: flex;
-  
-  ::v-deep .vue-treeselect{
+
+  ::v-deep .vue-treeselect {
     width: 205px;
   }
 }
-.org_query_selector div:first-child{
+.org_query_selector div:first-child {
   margin-right: 20px;
 }
 ::v-deep {

+ 5 - 4
src/views/board/charts/org/report.vue

@@ -7,22 +7,22 @@
       <div class="content">
         <div>
           <div v-if="data.length >= 1" v-for="item in data[0]">
-            {{ item.orgName }}:{{ item.reachRate * 100 + "%" }}
+            {{ item.orgName }}:{{ item.reachRate }}
           </div>
         </div>
         <div>
           <div v-if="data.length >= 1" v-for="item in data[1]">
-            {{ item.orgName }}:{{ item.reachRate * 100 + "%" }}
+            {{ item.orgName }}:{{ item.reachRate }}
           </div>
         </div>
         <div>
           <div v-if="data.length >= 2" v-for="item in data[2]">
-            {{ item.orgName }}:{{ item.reachRate * 100 + "%" }}
+            {{ item.orgName }}:{{ item.reachRate }}
           </div>
         </div>
         <div>
           <div v-if="data.length >= 3" v-for="item in data[3]">
-            {{ item.orgName }}:{{ item.reachRate * 100 + "%" }}
+            {{ item.orgName }}:{{ item.reachRate }}
           </div>
         </div>
         <!-- <div><div v-for="item in data[3]">{{item.orgName}},达标率:{{item.rate*100+'%'}}</div></div> -->
@@ -110,6 +110,7 @@ export default {
           orgName = r[i].orgName.substr(this.orgName.length);
         }
         r[i].orgName = parseInt(i) + 1 + "." + orgName;
+        r[i].reachRate = (r[i].reachRate * 100).toFixed(2) + "%";
         data[columnIndex].push(r[i]);
       }
 

+ 4 - 5
src/views/board/index.vue

@@ -21,8 +21,7 @@
         <span>移动安全保卫管理平台项目</span>
       </div>
       <div class="iconDiv">
-        <span> {{ time }} {{ week }}</span>
-        <span>|</span>
+        <span> {{ time }} {{ getweek() }}</span>
       </div>
     </div>
     <div class="main">
@@ -174,7 +173,7 @@ export default {
   },
   methods: {
     getweek() {
-      let week = this.moment().day();
+      let week = dayjs().day();
       switch (week) {
         case 1:
           return "星期一";
@@ -412,8 +411,8 @@ export default {
   }
   .iconDiv {
     text-align: right;
-    padding-right: 2.5rem;
-    padding-top: 1.5rem;
+    padding-right: 4rem;
+    padding-top: 1rem;
     font-size: 16px;
     width: 30%;
   }

+ 1 - 1
src/views/core/accessPlan/index.vue

@@ -11,7 +11,7 @@
         <div class="main-right-box">
           <div class="main-search-box">
             <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
-              <el-form-item label="创建机构">
+              <el-form-item label="行社名称">
                 <org-tree
                 v-model="queryParams.orgId" @defaultKey="getDefaultKey" @defaultOrg="getDefaultOrg" @checkChange="checkChange"
                 @click="clickTreeNode" :defaultCheckSub="false" hangsheTree

+ 1 - 1
src/views/core/drill/plan/index.vue

@@ -17,7 +17,7 @@
               :inline="true"
               v-show="showSearch"
             >
-              <el-form-item label="创建机构">
+              <el-form-item label="行社名称">
                 <org-tree
                   v-model="queryParams.belongOrgId"
                   @defaultKey="getDefaultKey"

+ 32 - 21
src/views/core/drill/task/index.vue

@@ -86,7 +86,8 @@
                   icon="el-icon-search"
                   size="mini"
                   @click="handleQuery"
-                  >搜索</el-button
+                >搜索
+                </el-button
                 >
               </el-col>
               <el-col :span="1.5">
@@ -95,7 +96,8 @@
                   icon="el-icon-refresh"
                   size="mini"
                   @click="resetQuery"
-                  >重置</el-button
+                >重置
+                </el-button
                 >
               </el-col>
               <el-col :span="1.5">
@@ -104,7 +106,7 @@
                   icon="el-icon-plus"
                   size="mini"
                   @click="handleAddTask"
-                  >临时登记
+                >临时登记
                 </el-button>
               </el-col>
               <el-col :span="1.5">
@@ -113,7 +115,7 @@
                   icon="el-icon-download"
                   size="mini"
                   @click="handleExport"
-                  >导出数据
+                >导出数据
                 </el-button>
               </el-col>
               <right-toolbar
@@ -193,8 +195,8 @@
                 {{
                   scope.row.startDate
                     ? dayjs(scope.row.startDate).format("YYYY年MM月DD日") +
-                      " ~ " +
-                      dayjs(scope.row.endDate).format("YYYY年MM月DD日")
+                    " ~ " +
+                    dayjs(scope.row.endDate).format("YYYY年MM月DD日")
                     : ""
                 }}
               </template>
@@ -233,7 +235,7 @@
                   icon="el-icon-view"
                   @click="handleDetail(scope.row.id)"
                   v-hasPermi="['core:drillTask:query']"
-                  >详情
+                >详情
                 </el-button>
                 <el-button
                   size="mini"
@@ -242,7 +244,7 @@
                   v-if="canEvaluate(scope.row)"
                   @click="handleEvaluate(scope.row.id)"
                   v-hasPermi="['core:drillTask:evaluate']"
-                  >评价
+                >评价
                 </el-button>
                 <el-button
                   size="mini"
@@ -251,7 +253,7 @@
                   v-if="canPerform(scope.row)"
                   @click="handleRecorded(scope.row.id)"
                   v-hasPermi="['core:drillTask:edit']"
-                  >任务登记
+                >任务登记
                 </el-button>
                 <el-button
                   size="mini"
@@ -260,13 +262,13 @@
                   v-if="canDelete(scope.row)"
                   @click="handleDelete(scope.row.id)"
                   v-hasPermi="['core:drillTask:remove']"
-                  >删除
+                >删除
                 </el-button>
                 <el-button
                   type="text"
                   v-if="scope.row.pdfUrl"
                   @click="onDown(scope.row.pdfUrl)"
-                  >演练登记簿
+                >演练登记簿
                 </el-button>
               </template>
             </el-table-column>
@@ -299,7 +301,7 @@
 </template>
 
 <script>
-import { listDrillTask, delDrillTask } from "@/api/core/drill/drillTask";
+import {listDrillTask, delDrillTask} from "@/api/core/drill/drillTask";
 import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
 import OrgTree from "@/components/orgTree/orgQuerySelector.vue";
 import DialogInfo from "./dialog.info";
@@ -307,9 +309,9 @@ import DialogPerform from "./dialog.perform";
 import DialogNewTask from "./dialog.newtask";
 import DialogEvaluate from "./dialog.evaluate";
 import dayjs from "dayjs";
-import { publishPlan } from "@/api/core/edu/plan";
-import { delDrillDictionary } from "@/api/core/drill/drillDictionary";
-import { delEduTask } from "@/api/core/edu/eduTask";
+import {publishPlan} from "@/api/core/edu/plan";
+import {delDrillDictionary} from "@/api/core/drill/drillDictionary";
+import {delEduTask} from "@/api/core/edu/eduTask";
 
 export default {
   name: "EduTask",
@@ -359,7 +361,7 @@ export default {
       form: {},
       // 表单校验
       rules: {
-        orgId: [{ required: true, message: "机构不能为空", trigger: "blur" }],
+        orgId: [{required: true, message: "机构不能为空", trigger: "blur"}],
       },
       selectedOrgName: null,
     };
@@ -407,7 +409,7 @@ export default {
       this.handleQuery();
     },
     clearQueryForm() {
-      this.queryParams.title=null;
+      this.queryParams.title = null;
       this.queryParams.type = null;
       this.queryParams.status = null;
       this.queryParams.range = [];
@@ -460,7 +462,8 @@ export default {
           this.$modal.msgSuccess("删除成功");
           this.getList();
         })
-        .catch(() => {});
+        .catch(() => {
+        });
     },
     /** 评价按钮操作 */
     handleEvaluate(id) {
@@ -473,11 +476,19 @@ export default {
       }, `eduTask_${new Date().getTime()}.xlsx`)
     },*/
     canEvaluate(row) {
+      let roleId;
+      if (row.orgType == 4) {
+        roleId = 120;
+      }
+      if (row.orgType == 3) {
+        roleId = 118;
+      }
+      if (row.orgType == 2 || row.orgType == 1) {
+        roleId = 116;
+      }
       //仅行社安全保卫管理人员进入且演练任务处于待评价状态才显示
       return (
-        row.status == 2 &&
-        this.$store.getters.roleList.some((item) => item.roleId == 120) &&
-        this.isNotOverOrUnStart(row)
+        row.status == 2 && this.$store.getters.roleList.some((item) => item.roleId == roleId) && this.isNotOverOrUnStart(row)
       );
     },
     canPerform(row) {

+ 1 - 1
src/views/core/task/index.vue

@@ -160,7 +160,7 @@
             />
             <el-table-column label="任务进度" align="center" prop="status">
               <template slot-scope="scope">
-                <span :style="statusColor(scope.row.status)">
+                <span>
                   <dict-tag
                     :options="dict.type.retrieval_task_status"
                     :value="scope.row.status"

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

@@ -28,7 +28,7 @@
         >
         <el-descriptions-item label="发现时间">
           {{
-            dayjs(data.submitTime).format("YYYY-MM-DD HH:mm:ss")
+            dayjs(data.submitTime).format("YYYY-MM-DD HH:mm")
           }}</el-descriptions-item
         >
         <el-descriptions-item label="整改期限">

+ 1 - 1
src/views/question/list/index.vue

@@ -183,7 +183,7 @@
             >
               <template slot-scope="scope">
                 <span>{{
-                  dayjs(scope.row.submitTime).format("YYYY-MM-DD HH:mm:ss")
+                  dayjs(scope.row.submitTime).format("YYYY-MM-DD HH:mm")
                 }}</span>
               </template>
             </el-table-column>

+ 1 - 1
src/views/question/reform/dialog.vue

@@ -28,7 +28,7 @@
         >
         <el-descriptions-item label="发现时间">
           {{
-            dayjs(data.submitTime).format("YYYY-MM-DD HH:mm:ss")
+            dayjs(data.submitTime).format("YYYY-MM-DD HH:mm")
           }}</el-descriptions-item
         >
         <el-descriptions-item label="整改期限">

+ 8 - 7
src/views/resumption/plan/dialog.edit.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="rule-type">
     <DialogCom
-      @colse="onHide"
+      @closed="onClose"
       :title="id ? '编辑履职任务' : '新增履职任务'"
       :visible.sync="isShow"
       width="1500px"
@@ -408,10 +408,9 @@ export default {
       //   this.id == undefined ||
       //   (this.defbuildTaskNow && this.formData.planStatus == 0)
       // )
-      if (
-        this.id == null ||
-        this.id == undefined ||
-        ( this.formData.planStatus == 0)
+      if (this.isShow && (
+        !this.id ||
+        ( this.formData.planStatus == 0))
       )
         return true;
       else return false;
@@ -778,7 +777,9 @@ export default {
     },
     // 事件
     onHide() {
-      this.isShow = false;
+      this.isShow = false;     
+    },
+    onClose(){
       this.formData = this.reset();
       this.$refs.form.resetFields();
     },
@@ -802,7 +803,7 @@ export default {
     },
     onSubmit() {
       this.$refs.form.validate(async (isValidate) => {
-        this.formData.planStatus = 0;
+        // this.formData.planStatus = 0;
         this.isSubmitting = true;
         // this.formData.note = this.formData.description;
         this.formData.planCreateOrgId = this.orgId;

+ 5 - 5
src/views/resumption/rule/index.vue

@@ -148,7 +148,7 @@
               v-if="columns[4].visible"
             >
               <template slot-scope="r">
-                <span>{{ getLabel(dict.type.plan_status, r.row.status) }}</span>
+                <span>{{ getLabel(dict.type.rule_status, r.row.status) }}</span>
               </template>
             </el-table-column>
             <el-table-column
@@ -179,7 +179,7 @@
                   icon="el-icon-edit-outline"
                   @click="onManageContent(r.row.id)"
                   v-hasPermi="['resumption:rule:contentmanage']"
-                  v-if="orgId == r.row.orgId"
+                  v-if="orgId == r.row.orgId && r.row.status == 0"
                   >管理内容库</el-button
                 >
                 <el-button
@@ -188,7 +188,7 @@
                   icon="el-icon-view"
                   @click="onManageContent(r.row.id)"
                   v-hasPermi="['resumption:rule:contentmanage']"
-                  v-if="orgId != r.row.orgId"
+                  v-if="orgId != r.row.orgId || r.row.status == 1"
                   >查看内容库</el-button
                 >
                 <el-button
@@ -219,7 +219,7 @@
       ref="editDialog"
       @success="getList()"
       :orgTypeOptions="dict.type.sys_org_type"
-      :statusOptions="dict.type.plan_status"
+      :statusOptions="dict.type.rule_status"
     ></dialog-edit>
   </div>
 </template>
@@ -234,7 +234,7 @@ import { wholeTreeByType } from "@/api/system/org.js";
 
 export default {
   name: "ruletype",
-  dicts: ["sys_org_type", "plan_status"],
+  dicts: ["sys_org_type", "rule_status"],
   components: {
     DialogEdit,
     OrgTree,

+ 7 - 6
src/views/resumption/taskManager/dialog.detail.vue

@@ -4,7 +4,7 @@
       title="履职任务详情"
       :visible.sync="isShow"
       width="1200px"
-      :destroy-on-close="true"
+      @close="onClose"
     >
       <el-descriptions
         :column="2"
@@ -18,8 +18,8 @@
           getLabel(statusOptions, detail.status)
         }}</el-descriptions-item>
         <el-descriptions-item label="任务时间"
-          >{{ dayjs(detail.planStartTime).format("YYYY-MM-DD HH:mm:ss") }}-{{
-            dayjs(detail.planEndTime).format("YYYY-MM-DD HH:mm:ss")
+          >{{ dayjs(detail.planStartTime).format("YYYY-MM-DD HH:mm") }}-{{
+            dayjs(detail.planEndTime).format("YYYY-MM-DD HH:mm")
           }}</el-descriptions-item
         >
         <el-descriptions-item label="履职机构"
@@ -35,7 +35,7 @@
           detail.exceptionCount
         }}</el-descriptions-item>
         <el-descriptions-item label="登记时间">{{
-          dayjs(detail.submitTime).format("YYYY-MM-DD HH:mm:ss")
+          dayjs(detail.submitTime).format("YYYY-MM-DD HH:mm")
         }}</el-descriptions-item>
       </el-descriptions>
       <el-table
@@ -176,8 +176,9 @@ export default {
     onHide() {
       this.isShow = false;
     },
-    reset() {
-      this.tableData = [];
+    onClose(){
+      this.detail=null;
+      this.tableData=[];
     },
     imgPreviewSrcList(imgList) {
       let srcList = [];

+ 4 - 4
src/views/resumption/taskManager/dialog.scanrecord.vue

@@ -4,7 +4,7 @@
       title="扫描记录"
       :visible.sync="isShow"
       width="1000px"
-      :destroy-on-close="true"
+      @close="onClose"
     >
       <el-table
         :data="tableData"
@@ -41,7 +41,7 @@
           prop="executeTime"
         >
           <template slot-scope="r">
-            {{ dayjs(r.row.executeTime).format("YYYY-MM-DD") }}
+            {{ dayjs(r.row.executeTime).format("YYYY-MM-DD HH:mm") }}
           </template>
         </el-table-column>
         <el-table-column
@@ -113,8 +113,8 @@ export default {
     onHide() {
       this.isShow = false;
     },
-    reset() {
-      this.tableData = [];
+    onClose(){
+      this.tableData=[]
     },
   },
 };

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

@@ -91,6 +91,7 @@
 
 <script>
 import { mapState, mapMutations } from "vuex";
+import { mapGetters } from "vuex";
 import { Add, edit, getaqbwbndjh } from "@/api/safetyBook/aqbwbndjh";
 import { deptTreeSelect } from "@/api/system/public";
 import UserSelector from "@/components/userSelector/index.vue";
@@ -120,6 +121,7 @@ export default {
   watch: {},
   computed: {
     ...mapState([]),
+    ...mapGetters(["orgId", "orgName"]),
     joinedStringArray: {
       get() {
         if (this.formData.names == null || this.formData.names == undefined) {
@@ -182,6 +184,12 @@ export default {
       this.formData = this.reset();
       this.id = id;
       await this.refresh(id);
+      if(id){
+        
+      }else{
+        // console.log(this.orgId,"this.orgId")
+        this.formData.orgId=this.orgId;
+      }
       this.isShow = true;
     },
 

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

@@ -22,7 +22,7 @@
               :options="deptOptions"
               :show-count="true"
               :normalizer="tenantIdnormalizer"
-              :props="{ checkStrictly: true, label: 'name' }"
+              :props="{ checkStrictly: true, label: 'shortName' }"
               placeholder="请选择签署人所在机构"
               
             />

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

@@ -88,6 +88,7 @@
 
 <script>
 import { mapState, mapMutations } from "vuex";
+import { mapGetters } from "vuex";
 import { Add, edit, gethsggbsdj } from "@/api/safetyBook/hsggbsdj";
 import { deptTreeSelect } from "@/api/system/public";
 import UserSelector from "@/components/userSelector/index.vue";
@@ -117,6 +118,7 @@ export default {
   watch: {},
   computed: {
     ...mapState([]),
+    ...mapGetters(["orgId", "orgName"]),
     joinedStringArray: {
       get() {
         if (this.formData.names == null || this.formData.names == undefined) {
@@ -177,6 +179,12 @@ export default {
       this.formData = this.reset();
       this.id = id;
       await this.refresh(id);
+      if(id){
+        
+      }else{
+        // console.log(this.orgId,"this.orgId")
+        this.formData.orgId=this.orgId;
+      }
       this.isShow = true;
     },
 

+ 16 - 17
src/views/safetycheck/rule/index.vue

@@ -148,7 +148,7 @@
               v-if="columns[4].visible"
             >
               <template slot-scope="r">
-                <span>{{ getLabel(dict.type.plan_status, r.row.status) }}</span>
+                <span>{{ getLabel(dict.type.rule_status, r.row.status) }}</span>
               </template>
             </el-table-column>
             <el-table-column
@@ -159,12 +159,13 @@
             ></el-table-column>
             <el-table-column header-align="center" label="操作" width="250">
               <template slot-scope="r">
-                <div v-if="orgId == r.row.orgId">
+                <div>
                   <el-button
                     size="mini"
                     type="text"
                     icon="el-icon-edit-outline"
                     @click="onEdit(r.row.id)"
+                    v-if="orgId == r.row.orgId"
                     v-hasPermi="['safetycheck:rule:edit']"
                     >编辑</el-button
                   >
@@ -173,11 +174,19 @@
                     type="text"
                     icon="el-icon-edit-outline"
                     @click="onManageContent(r.row.id)"
-                    v-if="r.row.status == 0"
+                    v-if="r.row.status == 0 && orgId == r.row.orgId"
                     v-hasPermi="['safetycheck:rule:contentmanage']"
                     >管理内容库</el-button
                   >
-
+                  <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="onManageContent(r.row.id)"
+                  v-if="r.row.status != 0 || orgId != r.row.orgId"
+                  v-hasPermi="['safetycheck:rule:contentmanage']"
+                  >查看内容库</el-button
+                >
                   <el-button
                     type="text"
                     size="mini"
@@ -188,17 +197,7 @@
                     v-hasPermi="['safetycheck:rule:remove']"
                     >删除</el-button
                   >
-                </div>
-                <div v-else>
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-view"
-                    @click="onManageContent(r.row.id)"
-                    v-hasPermi="['safetycheck:rule:contentmanage']"
-                    >查看内容库</el-button
-                  >
-                </div>
+                </div>                
               </template>
             </el-table-column>
           </el-table>
@@ -217,7 +216,7 @@
       ref="editDialog"
       @success="getList()"
       :orgTypeOptions="dict.type.sys_org_type"
-      :statusOptions="dict.type.plan_status"
+      :statusOptions="dict.type.rule_status"
     ></dialog-edit>
   </div>
 </template>
@@ -231,7 +230,7 @@ import { getLabel } from "./../../commonOption";
 import { wholeTreeByType } from "@/api/system/org.js";
 export default {
   name: "safetycheckruletype",
-  dicts: ["sys_org_type", "plan_status"],
+  dicts: ["sys_org_type", "rule_status"],
   components: {
     DialogEdit,
     OrgTree,

+ 68 - 58
src/views/safetycheck/task/components/detail.vue

@@ -33,10 +33,10 @@
       <el-descriptions-item label="登记人"
         >{{ taskInfo.submitBy }}
       </el-descriptions-item>
-      <el-descriptions-item label="隐患问题数" 
+      <el-descriptions-item label="隐患问题数"
         >{{ taskInfo.exceptionCount }}
       </el-descriptions-item>
-      <el-descriptions-item label="检查时间" 
+      <el-descriptions-item label="检查时间"
         >{{
           taskInfo.submitTime
             ? dayjs(taskInfo.submitTime).format("YYYY-MM-DD")
@@ -46,60 +46,70 @@
     </el-descriptions>
 
     <div class="itemDetail">
-      <el-collapse v-model="itemIds">
-        <el-collapse-item
-          v-for="item in taskInfo.checkList"
-          :title="item.itemName"
-          :value="item.itemId"
-          :name="item.itemId"
-        >
-          <el-table :data="item.pointList" size="small">
-            <el-table-column
-              header-align="center"
-              prop="pointName"
-              label="检查内容"
-            >
-            </el-table-column>
-            <el-table-column align="center" prop="areaName" label="检查区域">
-            </el-table-column>
-            <el-table-column align="center" prop="status" label="检查结果">
-              <template slot-scope="r">
-                {{
-                  r.row.status == null
-                    ? "-"
-                    : r.row.status == 0
-                    ? "正常"
-                    : "异常"
-                }}
-              </template>
-            </el-table-column>
-            <el-table-column align="center" prop="remark" label="问题描述">
-              <template slot-scope="r">
-                {{ r.row.remark ? r.row.remark : "-" }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              header-align="center"
-              prop="imgData"
-              label="异常图片"
-            >
-              <template slot-scope="r">
-                <div v-if="r.row.imgData && r.row.imgData.length > 0">
-                  <el-image
-                    style="width: 30px; height: 30px; margin: 0 10px"
-                    v-for="img in r.row.imgData"
-                    :src="img.imgPath"
-                    :preview-src-list="
-                      r.row.imgData ? r.row.imgData.map((r) => r.imgPath) : []
-                    "
-                  ></el-image>
-                </div>
-                <span v-else>-</span>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-collapse-item>
-      </el-collapse>
+      <el-table
+        size="small"
+        :data="taskInfo.checkList"
+        row-key="itemId"
+        height="441"
+        style="max-height: 450px; overflow-y: auto"
+        default-expand-all
+        :show-header="false"
+      >
+        <el-table-column type="expand">
+          <template slot-scope="scope">
+            <el-table :data="scope.row.pointList" size="small">
+              <el-table-column
+                header-align="center"
+                prop="pointName"
+                label="检查内容"
+              >
+              </el-table-column>
+              <el-table-column align="center" prop="areaName" label="检查区域">
+              </el-table-column>
+              <el-table-column align="center" prop="status" label="检查结果">
+                <template slot-scope="r">
+                  {{
+                    r.row.status == null
+                      ? "-"
+                      : r.row.status == 0
+                      ? "正常"
+                      : "异常"
+                  }}
+                </template>
+              </el-table-column>
+              <el-table-column align="center" prop="remark" label="问题描述">
+                <template slot-scope="r">
+                  {{ r.row.remark ? r.row.remark : "-" }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                header-align="center"
+                prop="imgData"
+                label="异常图片"
+              >
+                <template slot-scope="r">
+                  <div v-if="r.row.imgData && r.row.imgData.length > 0">
+                    <el-image
+                      style="width: 30px; height: 30px; margin: 0 10px"
+                      v-for="img in r.row.imgData"
+                      :src="img.imgPath"
+                      :preview-src-list="
+                        r.row.imgData ? r.row.imgData.map((r) => r.imgPath) : []
+                      "
+                    ></el-image>
+                  </div>
+                  <span v-else>-</span>
+                </template>
+              </el-table-column>
+            </el-table>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="检查项"
+          prop="itemName"
+          :show-overflow-tooltip="true"
+        />
+      </el-table>
     </div>
     <div class="dialog-footer">
       <el-button @click="onClose">关闭</el-button>
@@ -118,7 +128,7 @@ export default {
   data() {
     return {
       taskInfo: {},
-      itemIds:[]
+      itemIds: [],
     };
   },
   dicts: ["safety_check_status"],
@@ -131,7 +141,7 @@ export default {
 
     request(id).then((r) => {
       this.taskInfo = r.data;
-      this.itemIds=r.data.checkList.map(c=>c.itemId);
+      this.itemIds = r.data.checkList.map((c) => c.itemId);
     });
   },
   methods: {

+ 3 - 3
src/views/safetycheck/task/components/register.vue

@@ -84,7 +84,7 @@
                   <el-form-item label="情况描述" prop="remark">
                     <el-input
                       v-model.trim="point.remark"
-                      style="width: 250px"
+                      style="width: 217px"
                       placeholder="请输入情况描述"
                       maxlength="255"
                     ></el-input>
@@ -391,7 +391,7 @@ export default {
   margin-top: 20px;
 }
 .content {
-  max-height: calc(100% - 300px);
+  max-height: calc(100% - 350px);
   overflow-y: auto;
   margin-bottom: 20px;
   margin-top: 20px;
@@ -458,7 +458,7 @@ export default {
 .dialog-footer {
   width: 100%;
   text-align: right;
-  border-top: #b8bdc0 1px solid;
+  /* border-top: #b8bdc0 1px solid; */
   padding-top: 10px;
   padding-right: 30px;
   position: absolute;

+ 0 - 186
src/views/safetycheck/task/dialog.detail.vue

@@ -1,186 +0,0 @@
-<template>
-  <div>
-    <DialogCom
-      :title="title + '详情'"
-      :visible.sync="isShow"
-      width="1200px"
-      :destroy-on-close="true"
-    >
-      <el-table
-        :data="tableData"
-        row-key="itemId"
-        height="441"
-        style="max-height: 450px; overflow-y: auto"
-        default-expand-all
-      >
-        <!-- align="left" -->
-        <el-table-column type="expand">
-          <template slot-scope="props">
-            <el-table
-              v-if="props.row.dataInfoList"
-              :data="props.row.dataInfoList"
-            >
-              <el-table-column
-                label="履职内容"
-                align="left"
-                width="250"
-                prop="pointName"
-              >
-              </el-table-column>
-              <el-table-column
-                label="履职区域"
-                align="center"
-                :show-overflow-tooltip="true"
-                prop="areaName"
-              >
-              </el-table-column>
-              <el-table-column
-                label="履职结果"
-                align="center"
-                :show-overflow-tooltip="true"
-              >
-                <template slot-scope="scope">
-                  <span v-if="scope.row.executeResult === '0'">
-                    <i class="circle" style="background-color: #1890ff" />
-                    <label style="color: #1890ff"> 正常</label> </span
-                  ><span v-else>
-                    <i class="circle" style="background-color: #f5222d" />
-                    <label style="color: #f5222d"> 异常</label>
-                  </span>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="履职时间"
-                align="center"
-                :show-overflow-tooltip="true"
-                prop="executeTime"
-              >
-              </el-table-column>
-              <el-table-column label="履职图片" align="center">
-                <template slot-scope="scope">
-                  <div
-                    class="block"
-                    v-for="img in scope.row.appResumptionDataImgList"
-                  >
-                    <el-image
-                      style="width: 50px; height: 50px; margin-right: 5px"
-                      :src="img.imgPath"
-                      fit="fit"
-                      :preview-src-list="
-                        imgPreviewSrcList(scope.row.appResumptionDataImgList)
-                      "
-                    >
-                    </el-image>
-                  </div>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="问题描述"
-                align="center"
-                :show-overflow-tooltip="true"
-                prop="resRemark"
-              >
-              </el-table-column>
-            </el-table>
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="履职项"
-          align="center"
-          prop="itemName"
-          :show-overflow-tooltip="true"
-        />
-      </el-table>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="onHide">取消</el-button>
-      </div>
-    </DialogCom>
-  </div>
-</template>
-<script>
-import * as api from "@/api/resumption/taskManger.js";
-export default {
-  data() {
-    return {
-      isShow: false,
-      title: "",
-      tableData: [],
-    };
-  },
-  methods: {
-    async refresh(id) {
-      let detail = (await api.one(id)).data;
-      if (detail && detail.length > 0) {
-        this.tableData = detail;
-      } else {
-        this.tableData = [];
-      }
-    },
-    async show(id, title) {
-      this.title = title;
-      await this.refresh(id);
-      this.isShow = true;
-    },
-    onHide() {
-      this.isShow = false;
-    },
-    reset() {
-      this.tableData = [];
-    },
-    imgPreviewSrcList(imgList) {
-      let srcList = [];
-      imgList.forEach((element) => {
-        srcList.push(element.imgPath);
-      });
-      return srcList;
-    },
-    valueColor(v) {
-      let color = "";
-      switch (v) {
-        case "0":
-          color = "1890FF";
-          break;
-        case "1":
-          color = "F5222D";
-          break;
-      }
-
-      return "color:" + color;
-    },
-    valueBgColor(v) {
-      let color = "";
-      switch (v) {
-        case "0":
-          color = "1890FF";
-          break;
-        case "1":
-          color = "F5222D";
-          break;
-      }
-
-      return "background-color:" + color;
-    },
-  },
-};
-</script>
-
-<style lang="scss">
-.block {
-  // padding: 10px 10px;
-  text-align: center;
-  // border-right: 1px solid #eff2f6;
-  display: inline-block;
-  // width: 20%;
-  // vertical-align: top;
-}
-
-.circle {
-  display: inline-block;
-  width: 5px;
-  height: 5px;
-  border-radius: 5px;
-  background-color: red;
-  border: none;
-  margin-bottom: 3px;
-}
-</style>

+ 12 - 13
src/views/safetycheck/task/dialog.scanrecord.vue

@@ -1,10 +1,6 @@
 <template>
   <div>
-    <DialogCom
-      title="扫描记录"
-      :visible.sync="isShow"
-      width="850px"
-    >
+    <DialogCom title="扫描记录" :visible.sync="isShow" width="850px">
       <el-table :data="tableData" border>
         <el-table-column
           label="检查区域"
@@ -23,13 +19,13 @@
         >
         </el-table-column>
         <el-table-column
-        label="NFC标签名称"
-        align="center"
-        :show-overflow-tooltip="true"
-        prop="nfcName"
-        min-width="120px"
-      >
-      </el-table-column>
+          label="NFC标签名称"
+          align="center"
+          :show-overflow-tooltip="true"
+          prop="nfcName"
+          min-width="120px"
+        >
+        </el-table-column>
         <el-table-column
           label="扫描时间"
           align="center"
@@ -37,6 +33,9 @@
           width="180px"
           prop="executeTime"
         >
+          <template slot-scope="r">
+            {{ dayjs(r.row.executeTime).format("YYYY-MM-DD HH:mm") }}
+          </template>
         </el-table-column>
         <el-table-column
           label="扫描方式"
@@ -58,7 +57,7 @@
           min-width="150px"
         >
           <template slot-scope="r">
-            <label v-if="r.row.scanMethod == 0">{{r.row.nfcCode}}}</label>
+            <label v-if="r.row.scanMethod == 0">{{ r.row.nfcCode }}}</label>
             <el-image
               v-else
               style="width: 50px; height: 50px"

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

@@ -403,7 +403,6 @@
       </el-col>
     </el-row>
     <!-- 详情 -->
-    <dialog-detail ref="detaildialog"></dialog-detail>
     <dialog-scan-record ref="scanrecorddialog"></dialog-scan-record>
   </div>
 </template>
@@ -411,7 +410,6 @@
 <script>
 import { mapGetters } from "vuex";
 import { allRole } from "@/api/system/role";
-import DialogDetail from "./dialog.detail";
 import DialogScanRecord from "./dialog.scanrecord";
 import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
 import OrgTree from "@/components/orgTree/orgQuerySelector.vue";
@@ -426,7 +424,6 @@ export default {
   name: "Saftask",
   dicts: ["resumption_plan_cycle", "resumption_status", "safety_check_status"],
   components: {
-    DialogDetail,
     DialogScanRecord,
     DataRangePicker,
     OrgTreeSelect,

+ 0 - 473
src/views/safetycheck/taskManager/components/checkRegister.vue

@@ -1,473 +0,0 @@
-<!--事后的检查登记-->
-<template>
-  <div class="app-container">
-    <el-form
-      ref="point_baseInfo"
-      :model="info"
-      :rules="baseInfoRules"
-      label-width="120px"
-    >
-      <el-row>
-        <el-col :span="6">
-          <el-form-item label="任务名称" prop="taskName">
-            <el-input
-              v-model="info.taskName"
-              placeholder="请输入任务名称"
-              maxlength="50"
-            ></el-input> </el-form-item
-        ></el-col>
-        <el-col :span="6"
-          ><el-form-item label="检查主体" prop="checkOrgId">
-            <orgDropDown
-              v-model="info.checkOrgId"
-              placeholder="选择检查主体"
-              @select="onCheckOrgSelect"
-              orgTreeType="org"
-            /> </el-form-item
-        ></el-col>
-        <el-col :span="6">
-          <el-form-item label="检查人员" prop="checkRoleId">
-            <el-select
-              v-model="info.checkRoleId"
-              placeholder="请选择检查人员"
-              style="width: 100%"
-              clearable
-            >
-              <el-option
-                v-for="role in roleOptions"
-                :key="role.id"
-                :label="role.name"
-                :value="role.id"
-              ></el-option>
-            </el-select> </el-form-item
-        ></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6">
-          <el-form-item label="受检机构" prop="beCheckedOrgId">
-            <orgDropDown
-              v-model="info.beCheckedOrgId"
-              placeholder="选择受检机构"
-              @select="onBecheckOrgSelect"
-              orgTreeType="org"
-            />
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="检查组成员" prop="checkTeam">
-            <el-input
-              style="width: 100%"
-              placeHolder="请输入检查组成员"
-              v-model="info.checkTeam"
-              maxlength="100"
-              clearable
-            ></el-input> </el-form-item
-        ></el-col>
-        <el-col :span="6">
-          <el-form-item label="检查日期" prop="planStartTime">
-            <el-date-picker
-              style="width: 100%"
-              v-model="info.planStartTime"
-              type="date"
-              placeholder="选择检查日期"
-              clearable
-            >
-            </el-date-picker>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-    <div style="margin-left: 42px">
-      <span style="margin-right: 20px">检查区域</span>
-      <el-button type="primary" size="mini" @click="onAddPoint()"
-        >选择检查内容</el-button
-      >
-    </div>
-    <div class="content">
-      <div class="area_content" v-for="area in info.checkList">
-        <div>
-          {{ area.areaName }}
-        </div>
-        <div>
-          <div class="safetycheck_item" v-for="(item, index) in area.itemList">
-            <span>{{ index + 1 }}、{{ item.itemName }}</span>
-            <div class="safetycheck_point" v-for="point in item.pointList">
-              <div>
-                <div class="pointName">
-                  <i class="circle" />
-                  <pre>{{ point.pointName }}</pre>
-                </div>
-                <el-radio-group v-model="point.status" style="margin-top: 5px">
-                  <el-radio :label="0">正常</el-radio>
-                  <el-radio :label="1">异常</el-radio>
-                </el-radio-group>
-                <div>
-                  <el-button
-                    type="danger"
-                    size="mini"
-                    v-if="point.isAdd"
-                    style="margin-left: 50px"
-                    @click="onDeletePoint(area, item, point)"
-                    >删除</el-button
-                  >
-                </div>
-              </div>
-              <div v-if="point.status == 1">
-                <el-form
-                  :ref="'point_' + point.pointId"
-                  :model="point"
-                  :rules="exceptionRules"
-                  label-width="100px"
-                >
-                  <el-form-item label="情况描述" prop="remark">
-                    <el-input
-                      v-model="point.remark"
-                      style="width: 250px"
-                      placeholder="请输入情况描述"
-                      maxlength="255"
-                    ></el-input>
-                  </el-form-item>
-                  <el-form-item label="整改期限" prop="rectificationDeadline">
-                    <el-select
-                      v-model="point.rectificationDeadline"
-                      placeholder="请选择整改期限"
-                    >
-                      <el-option
-                        v-for="item in dict.type.rectification_deadline"
-                        :key="item.value"
-                        :value="item.value"
-                        :label="item.label"
-                      ></el-option>
-                    </el-select>
-                  </el-form-item>
-                  <el-form-item label="异常图片" prop="image">
-                    <imgUpload
-                      type="more"
-                      :value="
-                        point.imgData
-                          ? point.imgData.map((d) => d.imgPath).join(',')
-                          : ''
-                      "
-                      @input="onImageChanged(point, $event)"
-                    ></imgUpload>
-                  </el-form-item>                  
-                </el-form>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-
-    <div class="dialog-footer">
-      <el-button @click="onClose">取消</el-button>
-      <!-- <el-button @click="onSave" v-if="showSaveBtn">保存</el-button> -->
-      <el-button
-        type="primary"
-        @click="onSubmit()"
-        v-hasPermi="['core:safetycheck:tempregister']"
-        >提交</el-button
-      >
-    </div>
-    <SelectPoint
-      ref="SelectPoint"
-      :orgType="[info.beCheckOrgType]"
-      @select="onSelectPoint"
-    ></SelectPoint>
-  </div>
-</template>
-<script>
-import { mapGetters } from "vuex";
-import * as api from "@/api/safetycheck/checkRegister.js";
-import dayjs from "dayjs";
-import SelectPoint from "../../ruleManager/dialog.select.point.vue";
-import imgUpload from "@/components/ImageUpload/index.vue";
-import { getLabel } from "@/views/commonOption.js";
-import { getNamesByOrgId } from "@/api/system/role.js";
-import orgDropDown from "@/components/orgTree/orgDropDown.vue";
-export default {
-  name: "safetyCheckRegister",
-  data() {
-    return {
-      info: {
-        taskName: null,
-        checkOrgId: null,
-        checkRoleId: null,
-        beCheckedOrgId: null,
-        beCheckOrgType: null,
-        planStartTime: new Date(),
-        checkTeam: null,
-        checkList: [],
-      },
-      roleOptions: [],
-      prevCheckOrgType: null, //上一个选中检查机构的类型
-      prevBecheckedOrgType: null, //上一个受检机构的类型
-      exceptionRules: {
-        remark: [{ required: true, message: "请输入情况描述" }],
-        rectificationDeadline: [{ required: true, message: "请选择整改期限" }],
-      },
-      baseInfoRules: {
-        taskName: [{ required: true, message: "请输入任务名称" }],
-        checkOrgId: [{ required: true, message: "请选择检查主体" }],
-        checkRoleId: [{ required: true, message: "请选择检查人员" }],
-        beCheckedOrgId: [{ required: true, message: "请选择受检机构" }],
-        planStartTime: [{ required: true, message: "请选择检查日期" }],
-      },
-      pointIdsWhenAdd: [],
-      mode: null,
-    };
-  },
-  dicts: ["rectification_deadline", "sys_user_is_lock"],
-  components: { SelectPoint, imgUpload, orgDropDown },
-  computed: {
-    ...mapGetters(["orgId", "roleList", "userId"]),
-  },
-  mounted() {
-    this.info.checkOrgId = this.orgId;
-    this.info.checkRoleId = this.roleList[0].roleId;
-  },
-  methods: {
-    dayjs,
-    getLabel,
-    onCheckOrgSelect(node) {
-      if (node == null) {
-        this.prevCheckOrgType = null;
-        this.roleOptions = [];
-        this.checkRoleId = null;
-        return;
-      }
-      if (node.type == this.prevCheckOrgType) {
-        return;
-      }
-
-      getNamesByOrgId(node.id).then((r) => {
-        this.roleOptions = r.data;
-        this.prevCheckOrgType = node.type;
-        if (!this.roleOptions.find((op) => op.id == this.info.checkRoleId)) {
-          this.info.checkRoleId = null;
-        }
-      });
-    },
-    onBecheckOrgSelect(node) {
-      if (node == null) {
-        this.prevBecheckedOrgType = null;
-        this.info.checkList = [];
-        return;
-      }
-
-      if (node.type == this.prevBecheckedOrgType) {
-        return;
-      }
-
-      this.info.checkList = [];
-      this.prevBecheckedOrgType = node.type;
-      this.info.beCheckOrgType = node.type;
-    },
-    onAddPoint() {
-      if (!this.info.beCheckedOrgId) {
-        this.$message.info("请先选择受检机构");
-        return;
-      }
-      if (!this.info.beCheckOrgType) {
-        this.$message.warning("受检机构的机构类型未知");
-        return;
-      }
-      this.pointIdsWhenAdd = [];
-      this.info.checkList.forEach((a) => {
-        a.itemList.forEach((i) => {
-          i.pointList.forEach((p) => {
-            this.pointIdsWhenAdd.push(p.pointId);
-          });
-        });
-      });
-      this.$refs.SelectPoint.show(this.pointIdsWhenAdd);
-    },
-    onSelectPoint(selectedList) {
-      let hasNew = false;
-      for (let index in selectedList) {
-        let p = selectedList[index];
-        if (this.pointIdsWhenAdd.indexOf(p.id) >= 0) {
-          continue;
-        }
-        let info = this.info;
-        let area = info.checkList.find((a) => a.areaId === p.areaId);
-        if (!area) {
-          area = { areaId: p.areaId, areaName: p.areaName, itemList: [] };
-          info.checkList.push(area);
-        }
-
-        let item = area.itemList.find((i) => i.itemId == p.itemId);
-        if (!item) {
-          item = { itemId: p.itemId, itemName: p.itemName, pointList: [] };
-          area.itemList.push(item);
-        }
-
-        let point = item.pointList.find((i) => i.pointId == p.id);
-        if (!point) {
-          point = {
-            pointId: p.id,
-            pointName: p.pointName,
-            mustCheck: 1,
-            isAdd: 1,
-            status: 0,
-            remark: null,
-            imgData: null,
-            rectificationDeadline: null,
-            submitBy: null,
-            submitTime: null,
-          };
-
-          item.pointList.push(point);
-          hasNew = true;
-        }
-      }
-
-      if (!hasNew) {
-        this.$message.info("没有可新增的检查内容");
-      }
-    },
-
-    onDeletePoint(area, item, point) {
-      if (point.isAdd === 0) {
-        this.$message.warning("不可删除计划的检查内容");
-        return;
-      }
-
-      let index = item.pointList.indexOf(point);
-      if (index >= 0) {
-        item.pointList.splice(index, 1);
-      }
-
-      if (item.pointList.length === 0) {
-        index = area.itemList.indexOf(item);
-        area.itemList.splice(index, 1);
-      }
-
-      if (area.itemList.length === 0) {
-        index = this.info.checkList.indexOf(area);
-        this.info.checkList.splice(index, 1);
-      }
-    },
-    onImageChanged(point, value) {
-      point.imgData = value
-        .split(",")
-        .map((img) => ({ id: null, imgPath: img }));
-    },
-    onClose() {
-      this.$tab.closePageAndPushPrev();
-    },
-    onSave() {
-      this.info.isSubmit = 0;
-      api.tempSubmit(this.info).then((r) => {
-        this.$message.info("保存成功");
-      });
-    },
-    async onSubmit() {
-      let isOk = true;
-      let rs = this.$refs;
-      for (let p in this.$refs) {
-        if (p.startsWith("point")) {
-          try {
-            let form = this.$refs[p];
-            if (form.length) {
-              isOk &= await this.$refs[p][0].validate();
-            } else {
-              isOk &= await this.$refs[p].validate();
-            }
-          } catch (e) {
-            isOk &= false;
-            console.error(e);
-          }
-        }
-      }
-      if (isOk) {
-        this.info.isSubmit = 1;
-        let data = { ...this.info };
-        data.checkRoles = [{ id: this.info.checkRoleId }];
-        api.tempSubmit(data).then((r) => {
-          this.$message.info("提交成功");
-          this.$tab.closePageAndPushPrev();
-        });
-      }
-    },
-  },
-};
-</script>
-<style lang="scss" scoped>
-.content {
-  max-height: calc(100% - 300px);
-  overflow-y: auto;
-  margin-bottom: 20px;
-  margin-top: 20px;
-}
-.area_content {
-  border: #b8bdc0 1px solid;
-  display: flex;
-  flex-direction: row;
-}
-
-.content > .area_content:first-child {
-  border-bottom: none;
-}
-
-.content > .area_content:last-child {
-  border-bottom: #b8bdc0 1px solid;
-}
-
-.area_content > div:nth-child(1) {
-  background-color: #e6e6e6;
-  border-right: #b8bdc0 1px solid;
-  padding-top: auto;
-  width: 15%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  text-align: center;
-}
-
-.area_content > div:nth-child(2) {
-  width: 80%;
-  padding-left: 10px;
-}
-
-.safetycheck_item {
-  margin: 10px;
-  margin-bottom: 20px;
-}
-
-.safetycheck_point {
-  padding-top: 10px;
-  padding-left: 30px;
-
-  & > div {
-    display: flex;
-    flex-direction: row;
-  }
-}
-
-.pointName {
-  width: 200px;
-  display: flex;
-  flex-direction: row;
-}
-.dialog-footer {
-  width: 100%;
-  text-align: right;
-  border-top: #b8bdc0 1px solid;
-  padding-top: 10px;
-  padding-right: 30px;
-  position: absolute;
-  bottom: 30px;
-  right: 0px;
-}
-.circle {
-  display: inline-block;
-  width: 5px;
-  height: 5px;
-  border-radius: 5px;
-  background-color: #000;
-  border: none;
-  margin-top: 10px;
-  margin-right: 10px;
-}
-</style>

+ 2 - 0
src/views/system/bind/index.vue

@@ -195,6 +195,8 @@
             :normalizer="tenantIdnormalizer"
             :props="{ checkStrictly: true, label: 'name' }"
             placeholder="请选择机构"
+            noResultsText="暂无符合条件的数据"
+            noOptionsText="无数据"
             @select="changeSelectArea"
           />
         </el-form-item>

+ 2 - 0
src/views/system/dept/dialog.edit.vue

@@ -19,6 +19,8 @@
                   :options="deptOptions"
                   :normalizer="normalizer"
                   placeholder="选择上级机构"
+                  noResultsText="暂无符合条件的数据"
+                  noOptionsText="无数据"
                 />
               </el-form-item>
             </el-col>

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

@@ -266,6 +266,7 @@
             >
               <treeselect
               noResultsText="暂无符合条件的数据"
+              noOptionsText="无数据"
               clearValueText="清除"
                 v-model="form.parentId"
                 :options="deptOptions2"

+ 2 - 0
src/views/system/menu/index.vue

@@ -234,6 +234,8 @@
                 :normalizer="normalizer"
                 :show-count="true"
                 placeholder="选择上级菜单"
+                noResultsText="暂无符合条件的数据"
+                noOptionsText="无数据"
               />
             </el-form-item>
           </el-col>

+ 169 - 152
src/views/system/user/index.vue

@@ -92,11 +92,17 @@
                   icon="el-icon-search"
                   size="mini"
                   @click="handleQuery"
-                >搜索</el-button>
+                  >搜索</el-button
+                >
               </el-col>
               <el-col :span="1.5">
-                <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery"
-                >重置</el-button>
+                <el-button
+                  type="primary"
+                  icon="el-icon-refresh"
+                  size="mini"
+                  @click="resetQuery"
+                  >重置</el-button
+                >
               </el-col>
               <el-col :span="1.5">
                 <el-button
@@ -105,7 +111,7 @@
                   size="mini"
                   @click="handleAdd"
                   v-hasPermi="['system:user:add']"
-                >新增人员</el-button
+                  >新增人员</el-button
                 >
               </el-col>
               <!-- <el-col :span="1.5">
@@ -123,7 +129,7 @@
                   size="mini"
                   @click="handleImport"
                   v-hasPermi="['system:user:import']"
-                >导入人员</el-button
+                  >导入人员</el-button
                 >
               </el-col>
 
@@ -134,7 +140,7 @@
                   size="mini"
                   @click="handleExport"
                   v-hasPermi="['system:user:export']"
-                >导出人员</el-button
+                  >导出人员</el-button
                 >
               </el-col>
               <el-col :span="1.5">
@@ -144,7 +150,7 @@
                   size="mini"
                   @click="handleExportManager"
                   v-hasPermi="['system:user:exportManager']"
-                >导出管理人员</el-button
+                  >导出管理人员</el-button
                 >
               </el-col>
 
@@ -155,7 +161,7 @@
                   size="mini"
                   @click="handleExportSecurity"
                   v-hasPermi="['system:user:exportSecurity']"
-                >导出安保部门从业人员</el-button
+                  >导出安保部门从业人员</el-button
                 >
               </el-col>
               <right-toolbar
@@ -164,68 +170,72 @@
               ></right-toolbar>
             </el-row>
           </div>
-          <el-table
-            border
-            height="646"
-            size="small"
-            v-loading="loading"
-            :data="userList"
-            @selection-change="handleSelectionChange"
-          >
-            <el-table-column
-              fixed
-              label="序号"
-              type="index"
-              align="center"
-              width="70"
-            ></el-table-column>
-            <el-table-column
-              label="账号"
-              align="center"
-              key="username"
-              prop="username"
-              width="120"
-              v-if="columns[0].visible"
-              :show-overflow-tooltip="true"
-            />
-            <el-table-column
-              label="姓名"
-              align="center"
-              key="name"
-              prop="name"
-              width="120"
-              v-if="columns[1].visible"
-              :show-overflow-tooltip="true"
-            />
-
-            <el-table-column
-              label="所属机构"
-              align="left"
-              header-align="center"
-              key="orgName"
-              prop="orgName"
-              width="180"
-              v-if="columns[3].visible"
-              :show-overflow-tooltip="true"
-            />
-            <el-table-column
-              label="用户角色"
-              align="left"
-              header-align="center"
-              prop="roles"
-              width="300"
-              v-if="columns[2].visible"
-              :show-overflow-tooltip="true"
+          <div style="height: 702px">
+            <el-table
+              border
+              max-height="646"
+              size="small"
+              v-loading="loading"
+              :data="userList"
+              @selection-change="handleSelectionChange"
             >
-              <template slot-scope="scope">
-                <!-- <template v-for="item in scope.row.roles">
+              <el-table-column
+                fixed
+                label="序号"
+                type="index"
+                align="center"
+                width="70"
+              ></el-table-column>
+              <el-table-column
+                label="账号"
+                align="center"
+                key="username"
+                prop="username"
+                width="150"
+                v-if="columns[0].visible"
+                :show-overflow-tooltip="true"
+              />
+              <el-table-column
+                label="姓名"
+                align="center"
+                key="name"
+                prop="name"
+                width="150"
+                v-if="columns[1].visible"
+                :show-overflow-tooltip="true"
+              />
+
+              <el-table-column
+                label="所属机构"
+                align="left"
+                header-align="center"
+                key="orgName"
+                prop="orgName"
+                width="200"
+                v-if="columns[3].visible"
+                :show-overflow-tooltip="true"
+              />
+              <el-table-column
+                label="用户角色"
+                align="left"
+                header-align="center"
+                prop="roles"
+                width="300"
+                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> -->
-                <div class="cell" v-html="formatter(scope.row.roleNames)"></div>
-              </template>
-            </el-table-column>
-            <!-- <el-table-column
+                  <div
+                    class="cell"
+                    v-html="formatter(scope.row.roleNames)"
+                  ></div>
+                </template>
+              </el-table-column>
+              <!-- <el-table-column
               label="手机号码"
               align="left"
               prop="phone"
@@ -233,23 +243,23 @@
               v-if="columns[3].visible"
               :show-overflow-tooltip="true"
             /> -->
-            <el-table-column
-              label="账号状态"
-              align="center"
-              key="isLock"
-              prop="isLock"
-              v-if="columns[4].visible"
-              width="100"
-            >
-              <template slot-scope="scope">
-                <dict-tag
-                  :options="dict.type.sys_normal_disable"
-                  :value="scope.row.isLock"
-                />
-              </template>
-            </el-table-column>
+              <el-table-column
+                label="账号状态"
+                align="center"
+                key="isLock"
+                prop="isLock"
+                v-if="columns[4].visible"
+                width="100"
+              >
+                <template slot-scope="scope">
+                  <dict-tag
+                    :options="dict.type.sys_normal_disable"
+                    :value="scope.row.isLock"
+                  />
+                </template>
+              </el-table-column>
 
-            <!-- <el-table-column
+              <!-- <el-table-column
               label="登录IP"
               align="center"
               key="lastIp"
@@ -257,7 +267,7 @@
               v-if="columns[6].visible"
               width="140"
             /> -->
-            <!-- <el-table-column
+              <!-- <el-table-column
               label="登录时间"
               align="center"
               key="lastTime"
@@ -265,68 +275,72 @@
               v-if="columns[7].visible"
               width="170"
             /> -->
-            <el-table-column
-              label="安保部门从业人员"
-              align="center"
-              key="isManager"
-              prop="isManager"
-              v-if="columns[5].visible"
-              width="160"
-            >
-              <template slot-scope="scope">
-                {{ scope.row.isManage === "Y" ? "是" : "否" }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              label="操作"
-              align="left"
-              header-align="center"
-              width="350"
-              fixed="right"
-              class-name="small-padding fixed-width"
-            >
-              <template slot-scope="scope">
-
-                <el-button
-                  size="mini"
-                  type="text"
-                  v-if="scope.row.isManage=='Y'"
-                  icon="el-icon-plus"
-                  @click="handleExtend(scope.row)"
-                  v-hasPermi="['system:user:extend']"
-                >补充信息</el-button>
-                <el-button
-                  size="mini"
-                  type="text"
-                  icon="el-icon-edit-outline"
-                  @click="handleUpdate(scope.row)"
-                  v-hasPermi="['system:user:edit']"
-                >编辑</el-button>
-                <el-button
-                  size="mini"
-                  type="text"
-                  icon="el-icon-delete"
-                  v-if="scope.row.source==0"
-                  @click="handleDelete(scope.row)"
-                  v-hasPermi="['system:user:remove']"
-                >删除</el-button>
-                <el-button
-                  size="mini"
-                  type="text"
-                  icon="el-icon-key"
-                  v-if="scope.row.source==0"
-                  @click="handleResetPwd(scope.row)"
-                  v-hasPermi="['system:user:resetPwd']"
-                >重置密码</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-          <pagination
+              <el-table-column
+                label="安保部门从业人员"
+                align="center"
+                key="isManager"
+                prop="isManager"
+                v-if="columns[5].visible"
+                width="160"
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.isManage === "Y" ? "是" : "否" }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="操作"
+                align="left"
+                header-align="center"
+                width="350"
+                fixed="right"
+                class-name="small-padding fixed-width"
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    size="mini"
+                    type="text"
+                    v-if="scope.row.isManage == 'Y'"
+                    icon="el-icon-plus"
+                    @click="handleExtend(scope.row)"
+                    v-hasPermi="['system:user:extend']"
+                    >补充信息</el-button
+                  >
+                  <el-button
+                    size="mini"
+                    type="text"
+                    icon="el-icon-edit-outline"
+                    @click="handleUpdate(scope.row)"
+                    v-hasPermi="['system:user:edit']"
+                    >编辑</el-button
+                  >
+                  <el-button
+                    size="mini"
+                    type="text"
+                    icon="el-icon-delete"
+                    v-if="scope.row.source == 0"
+                    @click="handleDelete(scope.row)"
+                    v-hasPermi="['system:user:remove']"
+                    >删除</el-button
+                  >
+                  <el-button
+                    size="mini"
+                    type="text"
+                    icon="el-icon-key"
+                    v-if="scope.row.source == 0"
+                    @click="handleResetPwd(scope.row)"
+                    v-hasPermi="['system:user:resetPwd']"
+                    >重置密码</el-button
+                  >
+                </template>
+              </el-table-column>
+            </el-table>
+            <pagination
             :total="total"
             :page.sync="queryParams.pageNum"
             :limit.sync="queryParams.pageSize"
             @pagination="getList"
           />
+          </div>          
         </div>
       </el-col>
     </el-row>
@@ -437,11 +451,9 @@
                 placeholder="请输入手机号码"
                 autocomplete="off"
                 maxlength="11"
-               
               />
             </el-form-item>
           </el-col>
-
         </el-row>
 
         <el-row>
@@ -465,7 +477,6 @@
                   v-for="dict in dict.type.sys_yes_no"
                   :key="`${dict.value}`"
                   :label="dict.value"
-                
                   >{{ dict.label }}</el-radio
                 >
               </el-radio-group>
@@ -575,7 +586,7 @@ export default {
       userList: null,
       //是否是管理员
       check: false,
-      orgName:null,
+      orgName: null,
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -621,8 +632,8 @@ export default {
         checkSub: true,
         onlyManager: false,
         name: null,
-        roleId:null,
-        isLock:null
+        roleId: null,
+        isLock: null,
       },
       // 列信息
       columns: [
@@ -671,9 +682,7 @@ export default {
           },
           {
             validator: (rule, value, callback) => {
-              if (
-                /[\u4E00-\u9FA5]/g.test(value)
-              ) {
+              if (/[\u4E00-\u9FA5]/g.test(value)) {
                 callback(new Error("密码不能包含中文字符"));
               } else {
                 callback();
@@ -826,7 +835,7 @@ export default {
           this.userList = response.data.rows;
           this.total = response.data.total;
           this.check = response.check;
-          this.orgName=response.orgName;
+          this.orgName = response.orgName;
           this.loading = false;
         })
         .catch((err) => {
@@ -1012,7 +1021,11 @@ export default {
         {
           ...this.queryParams,
         },
-        `${this.orgName+'-人员信息管理-'+this.formatTime(new Date(),'YYYYMMDD')}.xlsx`
+        `${
+          this.orgName +
+          "-人员信息管理-" +
+          this.formatTime(new Date(), "YYYYMMDD")
+        }.xlsx`
       );
     },
     /** 模板下载按钮操作 */
@@ -1022,7 +1035,11 @@ export default {
         {
           template: true,
         },
-        `${this.orgName+'-人员信息管理-管理人员-'+this.formatTime(new Date(),'YYYYMMDD')}.xlsx`
+        `${
+          this.orgName +
+          "-人员信息管理-管理人员-" +
+          this.formatTime(new Date(), "YYYYMMDD")
+        }.xlsx`
       );
     },
     handleExportManager() {

+ 2 - 0
src/views/tool/gen/genInfoForm.vue

@@ -74,6 +74,8 @@
             :normalizer="normalizer"
             :show-count="true"
             placeholder="请选择系统菜单"
+            noResultsText="暂无符合条件的数据"
+            noOptionsText="无数据"
           />
         </el-form-item>
       </el-col>

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików