Selaa lähdekoodia

修复界面优化、现场缺陷

jiawuxian 1 vuosi sitten
vanhempi
commit
9eababb40a

+ 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="整改期限">

+ 3 - 3
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
@@ -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 = [];

+ 3 - 3
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"
@@ -113,8 +113,8 @@ export default {
     onHide() {
       this.isShow = false;
     },
-    reset() {
-      this.tableData = [];
+    onClose(){
+      this.tableData=[]
     },
   },
 };

+ 3 - 3
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
@@ -217,7 +217,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 +231,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>

+ 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>