wangggziwen 2 år sedan
förälder
incheckning
307fbec5bd

+ 46 - 247
ui/src/views/process/moc/aquifier/index.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="app-container-list">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item :label="$t('泄露位置')" label-width="50" prop="leakLocation">
-        <el-input
-          v-model="queryParams.leakLocation"
-          :placeholder="$t('请输入') + $t('泄露位置')"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item :label="$t('泄露位置')" prop="leakLocation">
+        <el-select v-model="queryParams.leakLocation" :placeholder="$t('请选择') + $t('泄露位置')" filterable clearable>
+          <el-option
+            v-for="leakLocation in leakLocationList"
+            :label="leakLocation"
+            :value="leakLocation"
+          ></el-option>
+        </el-select>
       </el-form-item>
       <el-form-item :label="$t('标题')" prop="title">
         <el-input
@@ -20,13 +20,13 @@
         />
       </el-form-item>
       <el-form-item :label="$t('备注')" prop="remarks">
-        <el-input
-          v-model="queryParams.remarks"
-          :placeholder="$t('请输入') + $t('备注')"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select v-model="queryParams.remarks" :placeholder="$t('请选择') + $t('备注')" filterable clearable>
+          <el-option
+            v-for="remarks in remarksList"
+            :label="remarks"
+            :value="remarks"
+          ></el-option>
+        </el-select>
       </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('搜索') }}</el-button>
@@ -251,7 +251,7 @@
             icon="el-icon-circle-close"
             @click="handleRemove(scope.row)"
             v-hasPermi="['process:moc:edit']"
-            v-if="scope.row.status == 1"
+            v-if="scope.row.status != 0  && scope.row.status != '' && scope.row.status != null"
           >{{ $t('移除') }}</el-button>
           <el-button
             size="mini"
@@ -300,16 +300,6 @@
     <!-- 添加或修改MOC管理对话框 -->
     <el-dialog v-dialogDrag :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <!--<el-form-item :label="$t('装置名称')" prop="plantCode">-->
-        <!--<el-select v-model="form.plantCode" :placeholder="$t('请选择') + $t('装置名称')">-->
-        <!--<el-option-->
-        <!--v-for="dict in plantCodeOptions"-->
-        <!--:key="dict.dictValue"-->
-        <!--:label="dict.dictLabel"-->
-        <!--:value="dict.dictValue"-->
-        <!--&gt;</el-option>-->
-        <!--</el-select>-->
-        <!--</el-form-item>-->
         <el-form-item :label="$t('MOC编号')" prop="mocNo">
           <el-input v-model="form.mocNo" :placeholder="$t('请输入') + $t('MOC编号')" />
         </el-form-item>
@@ -325,19 +315,6 @@
         <el-form-item :label="$t('泄露位置')" prop="leakLocation">
           <el-input v-model="form.leakLocation" :placeholder="$t('请输入') + $t('泄露位置')" />
         </el-form-item>
-        <!--<el-form-item :label="$t('项目号')" prop="projectNo">-->
-          <!--<el-input v-model="form.projectNo" :placeholder="$t('请输入') + $t('项目号')" />-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('区域')" prop="area">-->
-          <!--<el-select v-model="form.area" :placeholder="$t('请选择') + $t('区域')">-->
-            <!--<el-option-->
-              <!--v-for="dict in areaOptions"-->
-              <!--:key="dict.dictValue"-->
-              <!--:label="dict.dictLabel"-->
-              <!--:value="dict.dictValue"-->
-            <!--&gt;</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
         <el-form-item :label="$t('标题')" prop="title">
           <el-input v-model="form.title" :placeholder="$t('请输入') + $t('标题')" />
         </el-form-item>
@@ -459,214 +436,9 @@
                           :placeholder="$t('请选择') + $t('到期时间')">
           </el-date-picker>
         </el-form-item>
-        <!--<el-form-item :label="$t('MOC类型')" prop="mocType">-->
-          <!--<el-select v-model="form.mocType" :placeholder="$t('请选择') + $t('MOC类型')">-->
-            <!--<el-option-->
-              <!--v-for="dict in mocTypeOptions"-->
-              <!--:key="dict.dictValue"-->
-              <!--:label="dict.dictLabel"-->
-              <!--:value="dict.dictValue"-->
-            <!--&gt;</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('负责人')" prop="owner">-->
-          <!--<el-input v-model="form.owner" :placeholder="$t('请输入') + $t('负责人')" />-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('申请时间')" prop="approveTime">-->
-          <!--<el-date-picker clearable size="small" style="width: 200px"-->
-                          <!--v-model="form.approveTime"-->
-                          <!--type="date"-->
-                          <!--value-format="yyyy-MM-dd"-->
-                          <!--:placeholder="$t('请选择') + $t('申请时间')">-->
-          <!--</el-date-picker>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('MC时间')" prop="mcTime">-->
-          <!--<el-date-picker clearable size="small" style="width: 200px"-->
-                          <!--v-model="form.mcTime"-->
-                          <!--type="date"-->
-                          <!--value-format="yyyy-MM-dd"-->
-                          <!--:placeholder="$t('请选择') + $t('MC时间')">-->
-          <!--</el-date-picker>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('MC情况')" prop="mcDetail">-->
-          <!--<el-select v-model="form.mcDetail" :placeholder="$t('请选择') + $t('MC情况')">-->
-            <!--<el-option-->
-              <!--v-for="dict in mcDetailOptions"-->
-              <!--:key="dict.dictValue"-->
-              <!--:label="dict.dictLabel"-->
-              <!--:value="dict.dictValue"-->
-            <!--&gt;</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('完成时间')" prop="endtime">-->
-        <!--<el-date-picker clearable size="small" style="width: 200px"-->
-        <!--v-model="form.endtime"-->
-        <!--type="date"-->
-        <!--value-format="yyyy-MM-dd"-->
-        <!--:placeholder="$t('请选择') + $t('完成时间')">-->
-        <!--</el-date-picker>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('实施情况')" prop="trueState">-->
-        <!--<el-select v-model="form.trueState" :placeholder="$t('请选择') + $t('实施情况')" @change="changeTrueState($event)">-->
-        <!--<el-option-->
-        <!--v-for="dict in trueStateOptions"-->
-        <!--:key="dict.dictValue"-->
-        <!--:label="dict.dictLabel"-->
-        <!--:value="dict.dictValue"-->
-        <!--&gt;</el-option>-->
-        <!--</el-select>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('变更性质')" prop="changeNature">-->
-        <!--<el-select v-model="form.changeNature" :placeholder="$t('请选择') + $t('变更性质')" @change="changeChangeNature($event)">-->
-        <!--<el-option-->
-        <!--v-for="dict in changeNatureOptions"-->
-        <!--:key="dict.dictValue"-->
-        <!--:label="dict.dictLabel"-->
-        <!--:value="dict.dictValue"-->
-        <!--&gt;</el-option>-->
-        <!--</el-select>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('到期时间')" prop="overTime">-->
-        <!--<el-date-picker clearable size="small" style="width: 200px"-->
-        <!--v-model="form.overTime"-->
-        <!--type="date"-->
-        <!--value-format="yyyy-MM-dd"-->
-        <!--:placeholder="$t('请选择') + $t('到期时间')">-->
-        <!--</el-date-picker>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('临时MOC状态')" prop="temporaryState">-->
-        <!--<el-select v-model="form.temporaryState" :placeholder="$t('请选择') + $t('临时MOC状态')">-->
-        <!--<el-option-->
-        <!--v-for="dict in temporaryStateOptions"-->
-        <!--:key="dict.dictValue"-->
-        <!--:label="dict.dictLabel"-->
-        <!--:value="dict.dictValue"-->
-        <!--&gt;</el-option>-->
-        <!--</el-select>-->
-        <!--</el-form-item>-->
         <el-form-item :label="$t('备注')" prop="remarks">
           <el-input v-model="form.remarks" type="textarea" :placeholder="$t('请输入') + $t('备注')" />
         </el-form-item>
-        <!--<el-form-item :label="$t('风险等级')" prop="riskLevel">-->
-          <!--<el-select v-model="form.riskLevel" :placeholder="$t('请选择') + $t('风险等级')">-->
-            <!--<el-option-->
-              <!--v-for="dict in riskLevelOptions"-->
-              <!--:key="dict.dictValue"-->
-              <!--:label="dict.dictLabel"-->
-              <!--:value="dict.dictValue"-->
-            <!--&gt;</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('EHS评估/审查')" prop="ehsCheck">-->
-          <!--<el-date-picker clearable size="small" style="width: 200px"-->
-                          <!--v-model="form.ehsCheck"-->
-                          <!--type="date"-->
-                          <!--value-format="yyyy-MM-dd"-->
-                          <!--:placeholder="$t('请选择') + $t('EHS评估/审查')">-->
-          <!--</el-date-picker>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('培训')" prop="training">-->
-          <!--<el-date-picker clearable size="small" style="width: 200px"-->
-                          <!--v-model="form.training"-->
-                          <!--type="date"-->
-                          <!--value-format="yyyy-MM-dd"-->
-                          <!--:placeholder="$t('请选择') + $t('培训')"-->
-                          <!--:picker-options="trainingDatePicker">-->
-          <!--</el-date-picker>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('PID更新')" prop="pidMaster">-->
-          <!--<el-select v-model="form.pidMaster" :placeholder="$t('请选择') + $t('PID更新')">-->
-            <!--<el-option-->
-              <!--v-for="dict in pidMasterOptions"-->
-              <!--:key="dict.dictValue"-->
-              <!--:label="dict.dictLabel"-->
-              <!--:value="dict.dictValue"-->
-            <!--&gt;</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('SOP更新')" prop="sopUpdate">-->
-          <!--<el-select v-model="form.sopUpdate" :placeholder="$t('请选择') + $t('SOP更新')">-->
-            <!--<el-option-->
-              <!--v-for="dict in sopUpdateOptions"-->
-              <!--:key="dict.dictValue"-->
-              <!--:label="dict.dictLabel"-->
-              <!--:value="dict.dictValue"-->
-            <!--&gt;</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('文档更新')" prop="docUpdate">-->
-          <!--<el-select v-model="form.docUpdate" :placeholder="$t('请选择') + $t('文档更新')">-->
-            <!--<el-option-->
-              <!--v-for="dict in docUpdateOptions"-->
-              <!--:key="dict.dictValue"-->
-              <!--:label="dict.dictLabel"-->
-              <!--:value="dict.dictValue"-->
-            <!--&gt;</el-option>-->
-          <!--</el-select>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item label="PSSR" prop="pssr">-->
-          <!--<el-date-picker clearable size="small" style="width: 200px"-->
-                          <!--v-model="form.pssr"-->
-                          <!--type="date"-->
-                          <!--value-format="yyyy-MM-dd"-->
-                          <!--:placeholder="$t('请选择') + 'PSSR'"-->
-                          <!--:picker-options="pssrDatePicker">-->
-          <!--</el-date-picker>-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('PSSR编号')" prop="pssrNo">-->
-          <!--<el-input v-model="form.pssrNo" :placeholder="$t('请输入') + $t('PSSR编号')" />-->
-        <!--</el-form-item>-->
-        <!--<el-form-item :label="$t('装置编号')" prop="plantNumber">
-          <el-input v-model="form.plantNumber" :placeholder="$t('请输入') + $t('装置编号')" />
-        </el-form-item>
-        <el-form-item :label="$t('通知单')" prop="noticeLetter">
-          <el-input v-model="form.noticeLetter" :placeholder="$t('请输入') + $t('通知单')" />
-        </el-form-item>
-        <el-form-item :label="$t('工作单')" prop="workLetter">
-          <el-input v-model="form.workLetter" :placeholder="$t('请输入') + $t('工作单')" />
-        </el-form-item>
-        <el-form-item :label="$t('CTE工作号')" prop="cteNo">
-          <el-input v-model="form.cteNo" :placeholder="$t('请输入') + $t('CTE工作号')" />
-        </el-form-item>
-        <el-form-item :label="$t('投资费用(RMB)')" prop="investCost">
-          <el-input v-model="form.investCost" :placeholder="$t('请输入') + $t('投资费用(RMB)')" />
-        </el-form-item>
-        <el-form-item :label="$t('类别')" prop="category">
-          <el-select v-model="form.category" :placeholder="$t('请选择') + $t('类别')">
-            <el-option
-              v-for="dict in categoryOptions"
-              :key="dict.dictValue"
-              :label="dict.dictLabel"
-              :value="dict.dictValue"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item :label="$t('重要性')" prop="significance">
-          <el-input v-model="form.significance" :placeholder="$t('请输入') + $t('重要性')" />
-        </el-form-item>
-        <el-form-item :label="$t('分类')" prop="classification">
-          <el-input v-model="form.classification" :placeholder="$t('请输入') + $t('分类')" />
-        </el-form-item>
-        <el-form-item :label="$t('仪表控制')" prop="dashControl">
-          <el-input v-model="form.dashControl" :placeholder="$t('请输入') + $t('仪表控制')" />
-        </el-form-item>
-        <el-form-item :label="$t('预计完成时间')" prop="estimateEndtime">
-          <el-date-picker clearable size="small" style="width: 200px"
-                          v-model="form.estimateEndtime"
-                          type="date"
-                          value-format="yyyy-MM-dd"
-                          :placeholder="$t('请选择') + $t('预计完成时间')">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item :label="$t('EHS审查数据库')" prop="ehsDb">
-          <el-input v-model="form.ehsDb" :placeholder="$t('请输入') + $t('EHS审查数据库')" />
-        </el-form-item>
-        <el-form-item :label="$t('PSSR数据库')" prop="pssrDb">
-          <el-input v-model="form.pssrDb" :placeholder="$t('请输入') + $t('PSSR数据库')" />
-        </el-form-item>
-        <el-form-item :label="$t('CAPEX计划')" prop="capex">
-          <el-input v-model="form.capex" :placeholder="$t('请输入') + $t('CAPEX计划')" />
-        </el-form-item>-->
         <el-form-item :label="$t('归属部门')" prop="deptId">
           <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" :placeholder="$t('请选择') + $t('归属部门')" />
         </el-form-item>
@@ -865,6 +637,8 @@
         }
       };
       return {
+        leakLocationList: [],
+        remarksList: [],
         sealDateChart: {
           open: false,
           title: '堵漏日期数据统计'
@@ -1169,20 +943,45 @@
             if (value.overTime == null) {
               _this.mocList[key].overTime = "N.A."
             }
+            if (value.remarks != null && value.remarks != '') {
+              _this.remarksList.push(value.remarks);
+            }
+            if (value.leakLocation != null && value.leakLocation != '') {
+              _this.leakLocationList.push(value.leakLocation);
+            }
           });
+          // 下拉数据去重
+          _this.remarksList = this.unique(_this.remarksList);
+          _this.leakLocationList = this.unique(_this.leakLocationList);
           this.total = response.total;
           this.loading = false;
         });
       },
+      // 数组去重
+      unique(arr) {
+        if (!Array.isArray(arr)) {
+          console.log('type error!')
+          return;
+        }
+        arr = arr.sort()
+        var arrry= [arr[0]];
+        for (var i = 1; i < arr.length; i++) {
+          if (arr[i] !== arr[i-1]) {
+            arrry.push(arr[i]);
+          }
+        }
+        return arrry;
+      },
       // 单元格样式
       tableCellStyle( {row, column, rowIndex, columnIndex} ) {
         let today = new Date(); // 当前时间
         let expTime = new Date(row.expTime);
+        if (row.status == 0) { // 移除的数据
+          return "background-color: rgba(146, 208, 80, 1);";
+        }
         if (today.getTime() < expTime.getTime()) {
           let difference = expTime.getTime() - today.getTime(); // 时间差
-          if (row.status == 0) { // 移除的数据
-            return "background-color: rgba(146, 208, 80, 1);";
-          } else if (row.expTime != null && row.expTime != '') {
+          if (row.expTime != null && row.expTime != '') {
             if (difference <= 7 * 24 * 60 * 60 * 1000) {  // 到期时间 - 当前时间 <= 7
               return "background-color: rgba(250, 191, 143, 1);";
             } else if (difference >= 7 * 24 * 60 * 60 * 1000

+ 5 - 4
ui/src/views/process/moc/facility/index.vue

@@ -115,7 +115,7 @@
             icon="el-icon-circle-close"
             @click="handleRemove(scope.row)"
             v-hasPermi="['process:moc:edit']"
-            v-if="scope.row.tempState == 1"
+            v-if="scope.row.tempState != 0 && scope.row.tempState != '' && scope.row.tempState != null"
           >{{ $t('移除') }}</el-button>
           <el-button
             size="mini"
@@ -593,11 +593,12 @@
       tableCellStyle( {row, column, rowIndex, columnIndex} ) {
         let today = new Date(); // 当前时间
         let expTime = new Date(row.expTime);
+        if (row.tempState == 0) { // 移除的数据
+          return "background-color: rgba(146, 208, 80, 1);";
+        }
         if (today.getTime() < expTime.getTime()) {
           let difference = expTime.getTime() - today.getTime(); // 时间差
-          if (row.tempState == 0) { // 移除的数据
-            return "background-color: rgba(146, 208, 80, 1);";
-          } else if (row.expTime != null && row.expTime != '') {
+          if (row.expTime != null && row.expTime != '') {
             if (difference <= 7 * 24 * 60 * 60 * 1000) {  // 到期时间 - 当前时间 <= 7
               return "background-color: rgba(250, 191, 143, 1);";
             } else if (difference >= 7 * 24 * 60 * 60 * 1000

+ 5 - 4
ui/src/views/process/moc/interlock/index.vue

@@ -115,7 +115,7 @@
           icon="el-icon-circle-close"
           @click="handleRemove(scope.row)"
           v-hasPermi="['process:moc:edit']"
-          v-if="scope.row.tempState == 1"
+          v-if="scope.row.tempState != 0 && scope.row.tempState != '' && scope.row.tempState != null"
           >{{ $t('移除') }}</el-button>
           <el-button
             size="mini"
@@ -680,11 +680,12 @@
       tableCellStyle( {row, column, rowIndex, columnIndex} ) {
         let today = new Date(); // 当前时间
         let expTime = new Date(row.expTime);
+        if (row.tempState == 0) { // 移除的数据
+          return "background-color: rgba(146, 208, 80, 1);";
+        }
         if (today.getTime() < expTime.getTime()) {
           let difference = expTime.getTime() - today.getTime(); // 时间差
-          if (row.tempState == 0) { // 移除的数据
-            return "background-color: rgba(146, 208, 80, 1);";
-          } else if (row.expTime != null && row.expTime != '') {
+          if (row.expTime != null && row.expTime != '') {
             if (difference <= 7 * 24 * 60 * 60 * 1000) {  // 到期时间 - 当前时间 <= 7
               return "background-color: rgba(250, 191, 143, 1);";
             } else if (difference >= 7 * 24 * 60 * 60 * 1000

+ 44 - 15
ui/src/views/process/moc/temporaryMoc/index.vue

@@ -174,6 +174,16 @@
           </span>
         </template>
       </el-table-column>
+      <el-table-column :label="$t('卡具状态')" align="center" prop="status" :formatter="mocStatusFormat">
+        <template slot="header">
+          <span
+            @click="statusChart.open = true"
+            id="status">
+            卡具状态
+            <i class="el-icon-s-data"></i>
+          </span>
+        </template>
+      </el-table-column>
       <el-table-column :label="$t('移除时间')" align="center" prop="removeTime" :show-overflow-tooltip="true" width="100"/>
       <el-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true" width="130" />
       <el-table-column :label="$t('风险等级')" align="center" prop="riskLevel" :formatter="riskLevelFormat">
@@ -213,7 +223,15 @@
             icon="el-icon-circle-close"
             @click="handleRemove(scope.row)"
             v-hasPermi="['process:moc:edit']"
-            v-if="scope.row.tempState == 1 || scope.row.status == 1"
+            v-if="scope.row.status != 0  && scope.row.status != '' && scope.row.status != null"
+          >{{ $t('移除') }}</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-circle-close"
+            @click="handleRemove(scope.row)"
+            v-hasPermi="['process:moc:edit']"
+            v-if="scope.row.tempState != 0  && scope.row.tempState != '' && scope.row.tempState != null"
           >{{ $t('移除') }}</el-button>
           <el-button
             size="mini"
@@ -244,16 +262,6 @@
     <!-- 添加或修改MOC管理对话框 -->
     <el-dialog v-dialogDrag :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <!--<el-form-item :label="$t('装置名称')" prop="plantCode">-->
-        <!--<el-select v-model="form.plantCode" :placeholder="$t('请选择') + $t('装置名称')">-->
-        <!--<el-option-->
-        <!--v-for="dict in plantCodeOptions"-->
-        <!--:key="dict.dictValue"-->
-        <!--:label="dict.dictLabel"-->
-        <!--:value="dict.dictValue"-->
-        <!--&gt;</el-option>-->
-        <!--</el-select>-->
-        <!--</el-form-item>-->
         <el-form-item :label="$t('MOC编号')" prop="mocNo">
           <el-input v-model="form.mocNo" :placeholder="$t('请输入') + $t('MOC编号')" />
         </el-form-item>
@@ -573,6 +581,14 @@
       </div>
     </el-dialog>
 
+    <!-- 卡具状态对话框 -->
+    <el-dialog v-dialogDrag :title="statusChart.title" :visible.sync="statusChart.open" width="500px" append-to-body>
+      <status-chart :timeliness="2" :tempCategory="1"></status-chart>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="statusChart.open = false">{{ $t('确 定') }}</el-button>
+      </div>
+    </el-dialog>
+
     <!-- 临时MOC状态统计对话框 -->
     <el-dialog v-dialogDrag :title="tempStateChart.title" :visible.sync="tempStateChart.open" width="500px" append-to-body>
       <temp-state-chart :timeliness="2"></temp-state-chart>
@@ -646,12 +662,13 @@
   import mcDetailChart from "../chart/mcDetailChart";
   import riskLevelChart from "../chart/riskLevelChart";
   import tempStateChart from "../chart/tempStateChart";
+  import statusChart from "../chart/statusChart";
 
   import { addCommonfile, allFileList, delCommonfile, updateCommonfile} from "@/api/common/commonfile";
 
   export default {
     name: "TemporaryMoc",
-    components: { tempStateChart, mocTypeChart, mcDetailChart, riskLevelChart, areaChart, mocNoChart, Treeselect },
+    components: { statusChart, tempStateChart, mocTypeChart, mcDetailChart, riskLevelChart, areaChart, mocNoChart, Treeselect },
     data() {
       var validateDocUpdate = (rule, value, callback) => {
         if (value == 1) {
@@ -665,6 +682,10 @@
         }
       };
       return {
+        statusChart: {
+          open: false,
+          title: '卡具状态数据统计'
+        },
         tempStateChart: {
           open: false,
           title: '临时MOC状态数据统计'
@@ -881,6 +902,9 @@
       })
       this.getList();
       this.getTreeselect();
+      this.getDicts("MOC_STATUS").then(response => {
+        this.mocStatusOptions = response.data;
+      });
       this.getDicts("MC_DETAIL").then(response => {
         this.mcDetailOptions = response.data;
       });
@@ -937,11 +961,12 @@
       tableCellStyle( {row, column, rowIndex, columnIndex} ) {
         let today = new Date(); // 当前时间
         let expTime = new Date(row.expTime);
+        if (row.status == 0 || row.tempState == 0) { // 移除的数据
+          return "background-color: rgba(146, 208, 80, 1);";
+        }
         if (today.getTime() < expTime.getTime()) {
           let difference = expTime.getTime() - today.getTime(); // 时间差
-          if (row.status == 0 || row.tempState == 0) { // 移除的数据
-            return "background-color: rgba(146, 208, 80, 1);";
-          } else if (row.expTime != null && row.expTime != '') {
+          if (row.expTime != null && row.expTime != '') {
             if (difference <= 7 * 24 * 60 * 60 * 1000) {  // 到期时间 - 当前时间 <= 7
               return "background-color: rgba(250, 191, 143, 1);";
             } else if (difference >= 7 * 24 * 60 * 60 * 1000
@@ -957,6 +982,10 @@
           this.deptOptions = response.data;
         });
       },
+      // 卡具状态字典翻译
+      mocStatusFormat(row, column) {
+        return this.selectDictLabel(this.mocStatusOptions, row.status);
+      },
       // 装置字典翻译
       plantCodeFormat(row, column) {
         return this.selectDictLabel(this.plantCodeOptions, row.plantCode);