jiawuxian преди 2 години
родител
ревизия
fc008e060c
променени са 5 файла, в които са добавени 114 реда и са изтрити 71 реда
  1. 7 0
      src/api/safetycheck/plan.js
  2. 23 14
      src/views/check/distribute.vue
  3. 1 1
      src/views/check/index.vue
  4. 48 22
      src/views/check/task/index.vue
  5. 35 34
      src/views/safetycheck/taskManager/components/register.vue

+ 7 - 0
src/api/safetycheck/plan.js

@@ -75,3 +75,10 @@ export function delelte(id) {
   })
 }
 
+export function getDesignateHangshe(planId){
+  return request({
+    url: '/core/SafecheckPlanToExecOrg/designatehangshe/' + planId,
+    method: 'get'
+  })
+}
+

+ 23 - 14
src/views/check/distribute.vue

@@ -25,7 +25,7 @@
             plain
             size="mini"
             @click="handleAllStatus('1')"
-            >全部用</el-button
+            >全部使用</el-button
           >
         </el-col>
         <el-col :span="1.5">
@@ -34,7 +34,7 @@
             plain
             size="mini"
             @click="handleAllStatus('0')"
-            >全部用</el-button
+            >全部用</el-button
           >
         </el-col>
       </el-row>
@@ -45,8 +45,8 @@
           <template slot-scope="r">
             <el-switch
               v-model="r.row.status"
-              active-text="用"
-              inactive-text="用"
+              active-text="使用"
+              inactive-text="用"
               active-value="1"
               inactive-value="0"
               active-color="#008CD6"
@@ -66,7 +66,7 @@
 </template>
 <script>
 import { listByTypes } from "@/api/system/org.js";
-
+import { getDesignateHangshe } from "@/api/safetycheck/plan.js";
 export default {
   components: {},
   data() {
@@ -89,16 +89,25 @@ export default {
   },
   methods: {
     show(plan) {
-      this.isShow = true;
       this.info.id = plan.id;
-      listByTypes({
-        orgId: plan.planCreateOrgId,
-        orgTypes: ["3"],
-      }).then((r) => {
-        this.info.orgAndStatus = r.data.map((d) => {
-          return { orgId: d.id, orgName: d.shortName, status: "1" };
-        });
-        this.tableData = this.info.orgAndStatus;
+      getDesignateHangshe(plan.id).then((r) => {
+        if (r.data && r.data.length > 0) {
+          this.info.orgAndStatus = r.data.map((d) => {
+            return { orgId: d.id, orgName: d.shortName, status: "1" };
+          });
+          this.$emit("select", this.info);
+        } else {
+          this.isShow = true;
+          listByTypes({
+            orgId: plan.planCreateOrgId,
+            orgTypes: ["3"],
+          }).then((r) => {
+            this.info.orgAndStatus = r.data.map((d) => {
+              return { orgId: d.id, orgName: d.shortName, status: "1" };
+            });
+            this.tableData = this.info.orgAndStatus;
+          });
+        }
       });
     },
     handleAllStatus(status) {

+ 1 - 1
src/views/check/index.vue

@@ -338,7 +338,7 @@
 </template>
 
 <script>
-import DialogDistribute from "@/views/resumption/plan/distribute.vue";
+import DialogDistribute from "./distribute.vue";
 import OrgTree from "@/components/orgTree";
 import { mapState, mapMutations } from "vuex";
 import DialogEdit from "./dialog.edit";

+ 48 - 22
src/views/check/task/index.vue

@@ -165,24 +165,26 @@
           <el-table-column
             prop="checkOrgName"
             label="检查机构"
-            min-width="120"
+            min-width="140"
             v-if="columns[5].visible"
           >
           </el-table-column>
           <el-table-column
             prop="roleName"
             label="检查角色"
-            min-width="120"
+            min-width="150"
             v-if="columns[6].visible"
           >
-          <template slot-scope='r'>
-            {{r.row.roles?r.row.roles.map(r=>r.roleName).join('||'):''}}
-          </template>
+            <template slot-scope="r">
+              {{
+                r.row.roles ? r.row.roles.map((r) => r.roleName).join("||") : ""
+              }}
+            </template>
           </el-table-column>
           <el-table-column
             prop="orgName"
             label="受检机构"
-            min-width="120"
+            min-width="140"
             v-if="columns[4].visible"
           >
           </el-table-column>
@@ -190,15 +192,29 @@
           <el-table-column
             prop="planStartTime"
             label="开始日期"
-            min-width="140"
+            min-width="100"
             v-if="columns[2].visible"
-          />
+            ><template slot-scope="r">
+              {{
+                r.row.planStartTime
+                  ? dayjs(r.row.planStartTime).format("YYYY-MM-DD")
+                  : ""
+              }}
+            </template></el-table-column
+          >
           <el-table-column
             prop="planEndTime"
             label="截止日期"
-            min-width="140"
+            min-width="100"
             v-if="columns[3].visible"
-          />
+            ><template slot-scope="r">
+              {{
+                r.row.planEndTime
+                  ? dayjs(r.row.planEndTime).format("YYYY-MM-DD")
+                  : ""
+              }}
+            </template></el-table-column
+          >
 
           <el-table-column
             prop="status"
@@ -221,7 +237,7 @@
           <el-table-column
             prop="submitName"
             label="检查人"
-            min-width="120"
+            min-width="100"
             v-if="columns[7].visible"
           ></el-table-column>
           <el-table-column
@@ -304,6 +320,8 @@ import * as api from "@/api/safetycheck/task.js";
 import { getLabel } from "@/views/commonOption.js";
 import OrgTreeSelect from "@/components/orgTreeSelect";
 import { checkPermi } from "@/utils/permission.js";
+import dayjs from 'dayjs';
+
 export default {
   name: "checkTaskList",
   dicts: ["resumption_plan_cycle", "resumption_status", "safety_check_status"],
@@ -321,7 +339,7 @@ export default {
       total: 0,
       timeClearable: false,
       options: [],
-      roleList: [],
+      roleOptions: [],
       planList: [],
 
       queryParams: {
@@ -371,9 +389,10 @@ export default {
     // 0每日;1每周;2每月;3每季度;4每半年;5每年
   },
   computed: {
-    ...mapGetters(["orgName","userId","roleList","orgId"]),
+    ...mapGetters(["orgName", "userId", "roleList", "orgId"]),
   },
   methods: {
+    dayjs,
     updatePlanStartTime(value) {
       // console.log(this.queryParams.planStartTime,"前");
       this.queryParams.planStartTime = value;
@@ -401,16 +420,23 @@ export default {
     showscanRecord(row) {
       this.$refs.scanrecorddialog.show(row.id, row.orgId);
     },
-    showRegisterBtn(row){ 
-      let userRoleId= this.roleList.map(r=>r.id);
-      let taskRoleId=row.roles.map(r=>r.roleId) ;
-      
-       return row.status!=3 
-        && ((row.checkOrgId==this.orgId && userRoleId.find(ur=>taskRoleId.includes(ur)) && checkPermi(['core:safetycheck:register','core:safetycheck:grant']))
-        || row.grantUserId===this.userId);
+    showRegisterBtn(row) {
+      let userRoleId = this.roleList.map((r) => r.roleId);
+      let taskRoleId = row.roles.map((r) => r.roleId);
+ 
+      return (
+        row.status != 3 &&
+        ((row.checkOrgId == this.orgId &&
+          userRoleId.find((ur) => taskRoleId.includes(ur)) &&
+          checkPermi([
+            "core:safetycheck:register",
+            "core:safetycheck:grant",
+          ])) ||
+          row.grantUserId === this.userId)
+      );
     },
     showRegister(row) {
-      let path = "/core/safetycheck/register/" + row.id+"?mode=register";
+      let path = "/core/safetycheck/register/" + row.id + "?mode=register";
       this.$router.push(path);
     },
     getDefaultKey(key) {
@@ -460,7 +486,7 @@ export default {
           orgId: this.queryParams.orgId,
           planCycle: this.queryParams.executeCycle,
         })
-        .then((r) => (this.roleList = r.data));
+        .then((r) => (this.roleOptions = r.data));
     },
 
     // loadPlanList() {

+ 35 - 34
src/views/safetycheck/taskManager/components/register.vue

@@ -2,39 +2,39 @@
   <div class="app-container">
     <el-descriptions title="检查任务">
       <el-descriptions-item label="检查名称">{{
-        info.taskName
+        taskInfo.taskName
       }}</el-descriptions-item>
       <el-descriptions-item label="检查机构">{{
-        info.checkOrgName
+        taskInfo.checkOrgName
       }}</el-descriptions-item>
       <el-descriptions-item label="受检机构">{{
-        info.beCheckedOrgName
+        taskInfo.beCheckedOrgName
       }}</el-descriptions-item>
       <el-descriptions-item label="检查角色"
         >{{
-          info.checkRoles ? info.checkRoles.map((r) => r.name).join(",") : ""
+          taskInfo.checkRoles ? taskInfo.checkRoles.map((r) => r.name).join(",") : ""
         }}
       </el-descriptions-item>
       <el-descriptions-item label="开始日期"
-        >{{ dayjs(info.planStartTime).format("YYYY-MM-DD") }}
+        >{{ dayjs(taskInfo.planStartTime).format("YYYY-MM-DD") }}
       </el-descriptions-item>
       <el-descriptions-item label="截止日期"
-        >{{ dayjs(info.planEndTime).format("YYYY-MM-DD") }}
+        >{{ dayjs(taskInfo.planEndTime).format("YYYY-MM-DD") }}
       </el-descriptions-item>
       <el-descriptions-item label="创建时间"
-        >{{ dayjs(info.planStartTime).format("YYYY-MM-DD") }}
+        >{{ dayjs(taskInfo.planStartTime).format("YYYY-MM-DD") }}
       </el-descriptions-item>
       <el-descriptions-item label="检查组成员"
         ><el-input
           style="width: 80%; margin-top: -8px"
           placeHolder="请输入检查组成员"
-          v-model="info.checkTeam"
+          v-model="taskInfo.checkTeam"
           v-if="isRegister"
         ></el-input>
-        <span v-else>{{ info.checkTeam }}</span>
+        <span v-else>{{ taskInfo.checkTeam }}</span>
       </el-descriptions-item>
       <el-descriptions-item label="检查状态"
-        >{{ dayjs(info.planStartTime).format("YYYY-MM-DD") }}
+        >{{ dayjs(taskInfo.planStartTime).format("YYYY-MM-DD") }}
       </el-descriptions-item>
     </el-descriptions>
     <div>
@@ -48,7 +48,7 @@
       >
     </div>
     <div class="content">
-      <div class="area_content" v-for="area in info.checkList">
+      <div class="area_content" v-for="area in taskInfo.checkList">
         <div>
           {{ area.areaName }}
         </div>
@@ -133,10 +133,10 @@
                       point.rectificationDeadline
                     )
                   }}</el-descriptions-item>
-                  <el-descriptions-item label="整改图片">
+                  <el-descriptions-item label="异常图片">
                     <div class="imageList">
                       <el-image
-                        style="width: 100px; height: 100px"
+                        style="width: 100px; height: 100px;margin:10px;"
                         v-if="point.imgData"
                         v-for="url in point.imgData"
                         :src="url"
@@ -167,7 +167,7 @@
     </div>
     <SelectPoint
       ref="SelectPoint"
-      :orgType="info.beCheckOrgType"
+      :orgType="taskInfo.beCheckOrgType"
       @select="onSelectPoint"
     ></SelectPoint>
     <UserSelector
@@ -190,7 +190,7 @@ export default {
   name: "safetyCheckRegister",
   data() {
     return {
-      info: {},
+      taskInfo: {},
       exceptionRules: {
         remark: [{ required: true, message: "请输入情况描述" }],
         rectificationDeadline: [{ required: true, message: "请选择整改期限" }],
@@ -211,17 +211,17 @@ export default {
     showSaveBtn() {
       return (
         this.isRegister &&
-        this.info.status != 3 &&
+        this.taskInfo.status != 3 &&
         (checkPermi(["core:safetycheck:register"]) ||
-          this.info.grantUserId == this.userId)
+          this.taskInfo.grantUserId == this.userId)
       );
     },
     showGrantBtn() {
       let userRoleIds = this.roleList.map((r) => r.roleId);
-      let taskRoleIds = this.info.checkRoles.map((r) => r.id);
+      let taskRoleIds = this.taskInfo.checkRoles?this.taskInfo.checkRoles.map((r) => r.id):[];
       return (
         this.isRegister &&
-        this.info.status != 3 &&
+        this.taskInfo.status != 3 &&
         userRoleIds.find((ur) => taskRoleIds.includes(ur))
       );
     },
@@ -236,13 +236,13 @@ export default {
     api.info(id).then((r) => {
       this.mode = mode;
       if (mode != "register") {
-        this.info = r.data;
+        this.taskInfo = r.data;
         return;
       }
 
       if (r.data.status == 3) {
         this.mode = "info";
-        this.info = r.data;
+        this.taskInfo = r.data;
         this.$message.info("任务已完成,将显示详情");
         return;
       }
@@ -255,7 +255,7 @@ export default {
           userRoleIds.find((ur) => taskRoleIds.includes(ur))) ||
         r.data.grantUserId == this.userId
       ) {
-        this.info = r.data;
+        this.taskInfo = r.data;
       } else {
         this.$message.warning("用户不能执行该任务");
         this.mode = "info";
@@ -267,7 +267,7 @@ export default {
     getLabel,
     onAddPoint() {
       this.pointIdsWhenAdd = [];
-      this.info.checkList.forEach((a) => {
+      this.taskInfo.checkList.forEach((a) => {
         a.itemList.forEach((i) => {
           i.pointList.forEach((p) => {
             this.pointIdsWhenAdd.push(p.pointId);
@@ -283,7 +283,7 @@ export default {
         if (this.pointIdsWhenAdd.indexOf(p.id) >= 0) {
           continue;
         }
-        let info = this.info;
+        let info = this.taskInfo;
         let area = info.checkList.find((a) => a.areaId === p.areaId);
         if (!area) {
           area = { areaId: p.areaId, areaName: p.areaName, itemList: [] };
@@ -340,8 +340,8 @@ export default {
       }
 
       if (area.itemList.length === 0) {
-        index = this.info.checkList.indexOf(area);
-        this.info.checkList.splice(index, 1);
+        index = this.taskInfo.checkList.indexOf(area);
+        this.taskInfo.checkList.splice(index, 1);
       }
     },
     onImageChanged(point, value) {
@@ -357,10 +357,10 @@ export default {
 
       api
         .grant({
-          planId: this.info.planId,
-          beCheckedOrgId: this.info.beCheckedOrgId,
-          taskId: this.info.id,
-          ymdDate: this.info.ymdDate,
+          planId: this.taskInfo.planId,
+          beCheckedOrgId: this.taskInfo.beCheckedOrgId,
+          taskId: this.taskInfo.id,
+          ymdDate: this.taskInfo.ymdDate,
           userId: selected[0].id,
         })
         .then((r) => {
@@ -372,8 +372,8 @@ export default {
       this.$refs.UserSelector.show();
     },
     onSave() {
-      this.info.isSubmit = 0;
-      api.submit(this.info).then((r) => {
+      this.taskInfo.isSubmit = 0;
+      api.submit(this.taskInfo).then((r) => {
         this.$message.info("保存成功");
       });
     },
@@ -391,9 +391,10 @@ export default {
         }
       }
       if (isOk) {
-        this.info.isSubmit = 1;
-        api.submit(this.info).then((r) => {
+        this.taskInfo.isSubmit = 1;
+        api.submit(this.taskInfo).then((r) => {
           this.$message.info("提交成功");
+          this.$tab.closePageAndPushPrev();
         });
       }
     },