wangggziwen hace 2 años
padre
commit
1a728eaf8e

+ 85 - 0
master/src/main/java/com/ruoyi/project/process/domain/TMoc.java

@@ -169,6 +169,91 @@ public class TMoc extends BaseEntity
     @Excel(name = "部门名称")
     private String deptName;
 
+    /** 公司MOC编号 */
+    @Excel(name = "公司MOC编号")
+    private String companyMocNo;
+
+    /** 项目号 */
+    @Excel(name = "项目号")
+    private String projectNo;
+
+    /** 类型 */
+    @Excel(name = "类型")
+    private Long mocType;
+
+    /** MC时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "MC时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date mcTime;
+
+    /** MC情况 */
+    @Excel(name = "MC情况")
+    private Long mcDetail;
+
+    /** 文档更新 */
+    @Excel(name = "文档更新")
+    private String docUpdate;
+
+    /** PSSR编号 */
+    @Excel(name = "PSSR编号")
+    private String pssrNo;
+
+    public String getCompanyMocNo() {
+        return companyMocNo;
+    }
+
+    public void setCompanyMocNo(String companyMocNo) {
+        this.companyMocNo = companyMocNo;
+    }
+
+    public String getProjectNo() {
+        return projectNo;
+    }
+
+    public void setProjectNo(String projectNo) {
+        this.projectNo = projectNo;
+    }
+
+    public Long getMocType() {
+        return mocType;
+    }
+
+    public void setMocType(Long mocType) {
+        this.mocType = mocType;
+    }
+
+    public Date getMcTime() {
+        return mcTime;
+    }
+
+    public void setMcTime(Date mcTime) {
+        this.mcTime = mcTime;
+    }
+
+    public Long getMcDetail() {
+        return mcDetail;
+    }
+
+    public void setMcDetail(Long mcDetail) {
+        this.mcDetail = mcDetail;
+    }
+
+    public String getDocUpdate() {
+        return docUpdate;
+    }
+
+    public void setDocUpdate(String docUpdate) {
+        this.docUpdate = docUpdate;
+    }
+
+    public String getPssrNo() {
+        return pssrNo;
+    }
+
+    public void setPssrNo(String pssrNo) {
+        this.pssrNo = pssrNo;
+    }
+
     public String getDeptName() {
         return deptName;
     }

+ 36 - 1
master/src/main/resources/mybatis/process/TMocMapper.xml

@@ -43,11 +43,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="remarks"    column="remarks"    />
         <result property="temporaryState"    column="temporary_state"    />
         <result property="sopUpdate"    column="sop_update"    />
+        <result property="companyMocNo"    column="company_moc_no"    />
+        <result property="projectNo"    column="project_no"    />
+        <result property="mocType"    column="moc_type"    />
+        <result property="mcTime"    column="mc_time"    />
+        <result property="mcDetail"    column="mc_detail"    />
+        <result property="docUpdate"    column="doc_update"    />
+        <result property="pssrNo"    column="pssr_no"    />
         <result property="deptName" column="dept_name" />
     </resultMap>
 
     <sql id="selectTMocVo">
-        select d.id, d.plant_code, d.moc_no, d.plant_number, d.notice_letter, d.work_letter, d.cte_no, d.invest_cost, d.category, d.significance, d.classification, d.area, d.dash_control, d.title, d.owner, d.approve_time, d.estimate_endtime, d.endtime, d.true_state, d.change_nature, d.over_time, d.risk_level, d.training, d.pssr, d.ehs_check, d.ehs_db, d.pid_master, d.pssr_db, d.capex, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks, d.temporary_state, d.sop_update ,s.dept_name from t_moc d
+        select d.id, d.plant_code, d.moc_no, d.plant_number, d.notice_letter, d.work_letter, d.cte_no, d.invest_cost, d.category, d.significance, d.classification, d.area, d.dash_control, d.title, d.owner, d.approve_time, d.estimate_endtime, d.endtime, d.true_state, d.change_nature, d.over_time, d.risk_level, d.training, d.pssr, d.ehs_check, d.ehs_db, d.pid_master, d.pssr_db, d.capex, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks, d.temporary_state, d.sop_update, d.company_moc_no, d.project_no, d.moc_type, d.mc_time, d.mc_detail, d.doc_update, d.pssr_no ,s.dept_name from t_moc d
       left join sys_dept s on s.dept_id = d.dept_id
     </sql>
 
@@ -82,6 +89,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="pssrDb != null  and pssrDb != ''"> and pssr_db like concat(concat('%', #{pssrDb}), '%')</if>
             <if test="capex != null  and capex != ''"> and capex like concat(concat('%', #{capex}), '%')</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="companyMocNo != null  and companyMocNo != ''"> and company_moc_no like concat(concat('%', #{companyMocNo}), '%') </if>
+            <if test="projectNo != null  and projectNo != ''"> and project_no like concat(concat('%', #{projectNo}), '%') </if>
+            <if test="mocType != null  and mocType != ''"> and moc_type = #{mocType}</if>
+            <if test="mcTime != null "> and mc_time = #{mcTime}</if>
+            <if test="mcDetail != null  and mcDetail != ''"> and mc_detail like concat(concat('%', #{mcDetail}), '%') </if>
+            <if test="docUpdate != null  and docUpdate != ''"> and doc_update = #{docUpdate}</if>
+            <if test="pssrNo != null  and pssrNo != ''"> and pssr_no like concat(concat('%', #{pssrNo}), '%') </if>
             and d.del_flag = 0
         </where>
         <!-- 数据范围过滤 -->
@@ -138,6 +152,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="remarks != null">remarks,</if>
             <if test="temporaryState != null">temporary_state,</if>
             <if test="sopUpdate != null">sop_update,</if>
+            <if test="companyMocNo != null">company_moc_no,</if>
+            <if test="projectNo != null">project_no,</if>
+            <if test="mocType != null">moc_type,</if>
+            <if test="mcTime != null">mc_time,</if>
+            <if test="mcDetail != null">mc_detail,</if>
+            <if test="docUpdate != null">doc_update,</if>
+            <if test="pssrNo != null">pssr_no,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -178,6 +199,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="remarks != null">#{remarks},</if>
             <if test="temporaryState != null">#{temporaryState},</if>
             <if test="sopUpdate != null">#{sopUpdate},</if>
+            <if test="companyMocNo != null">#{companyMocNo},</if>
+            <if test="projectNo != null">#{projectNo},</if>
+            <if test="mocType != null">#{mocType},</if>
+            <if test="mcTime != null">#{mcTime},</if>
+            <if test="mcDetail != null">#{mcDetail},</if>
+            <if test="docUpdate != null">#{docUpdate},</if>
+            <if test="pssrNo != null">#{pssrNo},</if>
          </trim>
     </insert>
 
@@ -225,6 +253,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="remarks != null">remarks = #{remarks},</if>
             <if test="temporaryState != null">temporary_state = #{temporaryState},</if>
             <if test="sopUpdate != null">sop_update = #{sopUpdate},</if>
+            <if test="companyMocNo != null">company_moc_no = #{companyMocNo},</if>
+            <if test="projectNo != null">project_no = #{projectNo},</if>
+            <if test="mocType != null">moc_type = #{mocType},</if>
+            <if test="mcTime != null">mc_time = #{mcTime},</if>
+            <if test="mcDetail != null">mc_detail = #{mcDetail},</if>
+            <if test="docUpdate != null">doc_update = #{docUpdate},</if>
+            <if test="pssrNo != null">pssr_no = #{pssrNo},</if>
         </trim>
         where id = #{id}
     </update>

BIN
ui/src/assets/image/moc/mocTypeInfo.png


+ 231 - 127
ui/src/views/process/moc/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="app-container">
+  <div class="app-container-list">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item :label="$t('MOC编号')" label-width="50" prop="mocNo">
         <el-input
@@ -28,35 +28,35 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item :label="$t('CTE工作号')" label-width="120" prop="cteNo">
-        <el-input
-          v-model="queryParams.cteNo"
-          :placeholder="$t('请输入') + $t('CTE工作号')"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item :label="$t('实施情况')" prop="trueState" label-width="150">
-        <el-select v-model="queryParams.trueState" :placeholder="$t('请选择') + $t('实施情况')" clearable size="small">
-          <el-option
-            v-for="dict in trueStateOptions"
-            :key="dict.dictValue"
-            :label="dict.dictLabel"
-            :value="dict.dictValue"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item :label="$t('变更性质')" prop="changeNature" label-width="150">
-        <el-select v-model="queryParams.changeNature" :placeholder="$t('请选择') + $t('变更性质')" clearable size="small">
-          <el-option
-            v-for="dict in changeNatureOptions"
-            :key="dict.dictValue"
-            :label="dict.dictLabel"
-            :value="dict.dictValue"
-          />
-        </el-select>
-      </el-form-item>
+      <!--<el-form-item :label="$t('CTE工作号')" label-width="120" prop="cteNo">-->
+        <!--<el-input-->
+          <!--v-model="queryParams.cteNo"-->
+          <!--:placeholder="$t('请输入') + $t('CTE工作号')"-->
+          <!--clearable-->
+          <!--size="small"-->
+          <!--@keyup.enter.native="handleQuery"-->
+        <!--/>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item :label="$t('实施情况')" prop="trueState" label-width="150">-->
+        <!--<el-select v-model="queryParams.trueState" :placeholder="$t('请选择') + $t('实施情况')" clearable size="small">-->
+          <!--<el-option-->
+            <!--v-for="dict in trueStateOptions"-->
+            <!--:key="dict.dictValue"-->
+            <!--:label="dict.dictLabel"-->
+            <!--:value="dict.dictValue"-->
+          <!--/>-->
+        <!--</el-select>-->
+      <!--</el-form-item>-->
+      <!--<el-form-item :label="$t('变更性质')" prop="changeNature" label-width="150">-->
+        <!--<el-select v-model="queryParams.changeNature" :placeholder="$t('请选择') + $t('变更性质')" clearable size="small">-->
+          <!--<el-option-->
+            <!--v-for="dict in changeNatureOptions"-->
+            <!--:key="dict.dictValue"-->
+            <!--:label="dict.dictLabel"-->
+            <!--:value="dict.dictValue"-->
+          <!--/>-->
+        <!--</el-select>-->
+      <!--</el-form-item>-->
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('搜索') }}</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('重置') }}</el-button>
@@ -93,32 +93,32 @@
           v-hasPermi="['process:moc:remove']"
         >{{ $t('删除') }}</el-button>
       </el-col>
-        <el-col :span="1.5">
-            <el-button
-                    type="info"
-                    icon="el-icon-upload2"
-                    size="mini"
-                    @click="handleImport"
-                    v-hasPermi="['process:moc:edit']"
-            >{{ $t('导入') }}</el-button>
-        </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['process:moc:export']"
-        >{{ $t('导出') }}</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-s-data"
-          size="mini"
-          @click="handleData"
-        >{{ $t('数据分析') }}</el-button>
-      </el-col>
+        <!--<el-col :span="1.5">-->
+            <!--<el-button-->
+                    <!--type="info"-->
+                    <!--icon="el-icon-upload2"-->
+                    <!--size="mini"-->
+                    <!--@click="handleImport"-->
+                    <!--v-hasPermi="['process:moc:edit']"-->
+            <!--&gt;{{ $t('导入') }}</el-button>-->
+        <!--</el-col>-->
+      <!--<el-col :span="1.5">-->
+        <!--<el-button-->
+          <!--type="warning"-->
+          <!--icon="el-icon-download"-->
+          <!--size="mini"-->
+          <!--@click="handleExport"-->
+          <!--v-hasPermi="['process:moc:export']"-->
+        <!--&gt;{{ $t('导出') }}</el-button>-->
+      <!--</el-col>-->
+      <!--<el-col :span="1.5">-->
+        <!--<el-button-->
+          <!--type="primary"-->
+          <!--icon="el-icon-s-data"-->
+          <!--size="mini"-->
+          <!--@click="handleData"-->
+        <!--&gt;{{ $t('数据分析') }}</el-button>-->
+      <!--</el-col>-->
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -126,51 +126,66 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column :label="$t('MOC编号')" align="center" width="120" prop="mocNo" :show-overflow-tooltip="true"/>
       <!--<el-table-column :label="$t('装置编号')" align="center" width="120" prop="plantNumber" :show-overflow-tooltip="true"/>-->
+      <el-table-column :label="$t('公司MOC编号')" align="center" width="120" prop="companyMocNo" :show-overflow-tooltip="true"/>
+      <el-table-column :label="$t('项目号')" align="center" width="120" prop="projectNo" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('区域')" align="center" prop="area" :formatter="areaFormat" />
       <el-table-column :label="$t('标题')" align="center" width="320" prop="title" :show-overflow-tooltip="true"/>
+      <el-table-column prop="mocType" label="":show-overflow-tooltip="true" :formatter="mocTypeFormat" >
+        <template slot="header">
+          类型
+          <span
+            @click="mocTypeInfo.open = true"
+            id="moc-type">
+            <i class="el-icon-question"></i>
+          </span>
+        </template>
+      </el-table-column>
       <el-table-column :label="$t('负责人')" align="center" prop="owner" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('申请时间')" align="center" prop="approveTime" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.approveTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column :label="$t('完成时间')" align="center" prop="endtime" width="100">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.endtime, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column :label="$t('实施情况')" align="center" prop="trueState" :formatter="trueStateFormat" />
-      <el-table-column :label="$t('变更性质')" align="center" prop="changeNature" :formatter="changeNatureFormat" />
-      <el-table-column :label="$t('到期时间')" align="center" prop="overTime" width="100">
-        <template slot-scope="scope">
-          <span v-if="scope.row.overTime !== 'N.A.'">{{ parseTime(scope.row.overTime, '{y}-{m}-{d}') }}</span>
-          <span v-if="scope.row.overTime === 'N.A.'">{{ scope.row.overTime }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column :label="$t('临时MOC状态')" align="center" prop="temporaryState" :formatter="temporaryStateFormat" />
-      <el-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+      <!--<el-table-column :label="$t('完成时间')" align="center" prop="endtime" width="100">-->
+        <!--<template slot-scope="scope">-->
+          <!--<span>{{ parseTime(scope.row.endtime, '{y}-{m}-{d}') }}</span>-->
+        <!--</template>-->
+      <!--</el-table-column>-->
+      <!--<el-table-column :label="$t('实施情况')" align="center" prop="trueState" :formatter="trueStateFormat" />-->
+      <!--<el-table-column :label="$t('变更性质')" align="center" prop="changeNature" :formatter="changeNatureFormat" />-->
+      <!--<el-table-column :label="$t('到期时间')" align="center" prop="overTime" width="100">-->
+        <!--<template slot-scope="scope">-->
+          <!--<span v-if="scope.row.overTime !== 'N.A.'">{{ parseTime(scope.row.overTime, '{y}-{m}-{d}') }}</span>-->
+          <!--<span v-if="scope.row.overTime === 'N.A.'">{{ scope.row.overTime }}</span>-->
+        <!--</template>-->
+      <!--</el-table-column>-->
+      <!--<el-table-column :label="$t('临时MOC状态')" align="center" prop="temporaryState" :formatter="temporaryStateFormat" />-->
+      <el-table-column :label="$t('MC时间')" align="center" prop="mcTime" :show-overflow-tooltip="true" width="100"/>
+      <el-table-column :label="$t('MC情况')" align="center" prop="mcDetail" :show-overflow-tooltip="true" width="100" :formatter="mcDetailFormat" />
+      <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" />
-      <el-table-column :label="$t('EHS审查')" align="center" width="130" prop="ehsCheck" :show-overflow-tooltip="true">
+      <el-table-column :label="$t('EHS评估/审查')" align="center" width="130" prop="ehsCheck" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <span> {{scope.row.ehsCheck}}</span>
           <el-button icon="el-icon-folder" style="color:#6e96fa" v-if="scope.row.ehsCheck !== null" @click="handleDoc(scope.row , 'moc-ehsCheck')"  circle></el-button>
         </template>
       </el-table-column>
-      <el-table-column :label="$t('MOC培训')" align="center" width="130" prop="training" :show-overflow-tooltip="true">
+      <el-table-column :label="$t('培训')" align="center" width="130" prop="training" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <span> {{scope.row.training}}</span>
           <el-button icon="el-icon-folder" style="color:#6e96fa;" v-if="scope.row.training !== null" @click="handleDoc(scope.row , 'moc-training')"  circle></el-button>
         </template>
       </el-table-column>
+      <el-table-column :label="$t('SOP更新')" align="center" prop="sopUpdate" :formatter="sopUpdateFormat" />
+      <el-table-column :label="$t('PID更新')" align="center" prop="pidMaster" :formatter="pidMasterFormat" />
+      <el-table-column :label="$t('文档更新')" align="center" prop="docUpdate" :formatter="docUpdateFormat" />
       <el-table-column label="PSSR" align="center" width="130" prop="pssr" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <span> {{scope.row.pssr}}</span>
           <el-button icon="el-icon-folder" style="color:#6e96fa;" v-if="scope.row.pssr !== null" @click="handleDoc(scope.row , 'moc-pssr')"  circle></el-button>
         </template>
       </el-table-column>
-      <el-table-column :label="$t('SOP更新')" align="center" prop="sopUpdate" :formatter="sopUpdateFormat" />
-      <el-table-column :label="$t('PID更新')" align="center" prop="pidMaster" :formatter="pidMasterFormat" />
-
+      <el-table-column :label="$t('PSSR编号')" align="center" prop="pssrNo" width="130" />
       <!--<el-table-column :label="$t('通知单')" align="center" prop="noticeLetter" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('工作单')" align="center" prop="workLetter" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('CTE工作号')" align="center" prop="cteNo" :show-overflow-tooltip="true"/>
@@ -231,6 +246,12 @@
         <el-form-item :label="$t('MOC编号')" prop="mocNo">
           <el-input v-model="form.mocNo" :placeholder="$t('请输入') + $t('MOC编号')" />
         </el-form-item>
+        <el-form-item :label="$t('公司MOC编号')" prop="companyMocNo">
+          <el-input v-model="form.companyMocNo" :placeholder="$t('请输入') + $t('公司MOC编号')" />
+        </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
@@ -244,6 +265,16 @@
         <el-form-item :label="$t('标题')" prop="title">
           <el-input v-model="form.title" :placeholder="$t('请输入') + $t('标题')" />
         </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"
+            ></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>
@@ -255,52 +286,70 @@
                           :placeholder="$t('请选择') + $t('申请时间')">
           </el-date-picker>
         </el-form-item>
-        <el-form-item :label="$t('完成时间')" prop="endtime">
+        <el-form-item :label="$t('MC时间')" prop="mcTime">
           <el-date-picker clearable size="small" style="width: 200px"
-                          v-model="form.endtime"
+                          v-model="form.mcTime"
                           type="date"
                           value-format="yyyy-MM-dd"
-                          :placeholder="$t('请选择') + $t('完成时间')">
+                          :placeholder="$t('请选择') + $t('MC时间')">
           </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-form-item :label="$t('MC情况')" prop="mcDetail">
+          <el-select v-model="form.mcDetail" :placeholder="$t('请选择') + $t('MC情况')">
             <el-option
-              v-for="dict in trueStateOptions"
-              :key="dict.dictValue"
-              :label="dict.dictLabel"
-              :value="dict.dictValue"
-            ></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"
-            ></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"
+              v-for="dict in mcDetailOptions"
               :key="dict.dictValue"
               :label="dict.dictLabel"
               :value="dict.dictValue"
             ></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>
@@ -314,32 +363,23 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item :label="$t('EHS审查')" prop="ehsCheck">
+        <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审查')">
+                          :placeholder="$t('请选择') + $t('EHS评估/审查')">
           </el-date-picker>
         </el-form-item>
-        <el-form-item :label="$t('MOC培训')" prop="training">
+        <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('MOC培训')"
+                          :placeholder="$t('请选择') + $t('培训')"
                           :picker-options="trainingDatePicker">
           </el-date-picker>
         </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('PID更新')" prop="pidMaster">
           <el-select v-model="form.pidMaster" :placeholder="$t('请选择') + $t('PID更新')">
             <el-option
@@ -360,7 +400,28 @@
             ></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"
+            ></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>
@@ -523,6 +584,16 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+    <!-- MOC类型说明对话框 -->
+    <el-dialog v-dialogDrag :title="mocTypeInfo.title" :visible.sync="mocTypeInfo.open" width="1000px" append-to-body>
+      <el-image
+        style="width: 947px; height: 394px"
+        :src="require('@/assets/image/moc/mocTypeInfo.png')"
+        fit="fill"></el-image>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="mocTypeInfo.open = false">{{ $t('确 定') }}</el-button>
+      </div>
+    </el-dialog>
     <el-drawer
       :title="$t('数据分析')"
       size="600px"
@@ -628,6 +699,10 @@ export default {
   components: {RiskData, CategoryData, ChangeData, TrueStateData, YearChart, Treeselect},
   data() {
     return {
+      mocTypeInfo: {
+        open: false,
+        title: 'MOC类型说明'
+      },
       drawer: false,
       direction: 'rtl',
       // 遮罩层
@@ -663,12 +738,18 @@ export default {
       temporaryStateOptions: [],
       // SOP更新字典
       sopUpdateOptions: [],
+      // 文件更新字典
+      docUpdateOptions:[],
       // 实施情况字典
       trueStateOptions: [],
       // 变更性质字典
       changeNatureOptions: [],
       // 风险等级字典
       riskLevelOptions: [],
+      // MOC类型字典
+      mocTypeOptions: [],
+      // MC情况字典
+      mcDetailOptions: [],
       //时间选择限制
       ehsCheckDate: '',
       trainingDatePicker: this.pickerOptionsTraining(),
@@ -847,6 +928,12 @@ export default {
     })
     this.getList();
     this.getTreeselect();
+    this.getDicts("MC_DETAIL").then(response => {
+      this.mcDetailOptions = response.data;
+    });
+    this.getDicts("MOC_TYPE").then(response => {
+      this.mocTypeOptions = response.data;
+    });
     this.getDicts("PLANT_DIVIDE").then(response => {
       this.plantCodeOptions = response.data;
     });
@@ -858,13 +945,12 @@ export default {
     });
     this.getDicts("YES_NO_EN").then(response => {
       this.pidMasterOptions = response.data;
+      this.sopUpdateOptions = response.data;
+      this.docUpdateOptions = response.data;
     });
     this.getDicts("MOC_TEMPORARYSTATE").then(response => {
       this.temporaryStateOptions = response.data;
     });
-    this.getDicts("YES_NO_EN").then(response => {
-      this.sopUpdateOptions = response.data;
-    });
     this.getDicts("MOC_STATE").then(response => {
       this.trueStateOptions = response.data;
     });
@@ -876,6 +962,9 @@ export default {
     });
   },
   methods: {
+    handleMocTypeQuestionOnClick() {
+      alert('123');
+    },
     /** 查询MOC管理列表 */
     getList() {
       this.loading = true;
@@ -943,6 +1032,18 @@ export default {
     sopUpdateFormat(row, column) {
       return this.selectDictLabel(this.sopUpdateOptions, row.sopUpdate);
     },
+    // MC情况字典翻译
+    mcDetailFormat(row, column) {
+      return this.selectDictLabel(this.mcDetailOptions, row.mcDetail);
+    },
+    // MOC类型字典翻译
+    mocTypeFormat(row, column) {
+      return this.selectDictLabel(this.mocTypeOptions, row.mocType);
+    },
+    // 文件更新字典翻译
+    docUpdateFormat(row, column) {
+      return this.selectDictLabel(this.docUpdateOptions, row.docUpdate);
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -1300,6 +1401,9 @@ export default {
 };
 </script>
 <style>
+  #moc-type:hover{
+    cursor: pointer;
+  }
   .text {
     font-size: 14px;
   }

+ 100 - 0
ui/src/views/process/moc2/index.vue

@@ -0,0 +1,100 @@
+<template>
+  <div class="app-container" style="padding: 0 0 0 0">
+    <el-tabs type="border-card"v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="永久MOC" name="first">
+        <moc item="1" typename="plantproglistform" v-if="isFirst"></moc>
+      </el-tab-pane>
+      <el-tab-pane label="临时MOC" name="second">
+        2
+        <!--<list item="2" typename="plantproglistprocedure" v-if="isSecond"></list>-->
+      </el-tab-pane>
+      <el-tab-pane label="带压消漏清单" name="third">
+        3
+        <!--<list item="3" typename="plantproglistguide" v-if="isThird"></list>-->
+      </el-tab-pane>
+      <el-tab-pane label="临时设施、其它" name="fourth">
+        4
+        <!--<list item="4" typename="plantproglistbook" v-if="isFourth"></list>-->
+      </el-tab-pane>
+      <el-tab-pane label="仪表联锁旁路" name="fifth">
+        5
+        <!--<list item="5" typename="plantproglistannex" v-if="isFifth"></list>-->
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+
+<script>
+  import Moc from '@/views/process/moc/index.vue'
+
+  export default {
+    name: "Moc2",
+    components: {
+      Moc
+    },
+    data() {
+      return {
+        // 默认第一个Tab
+        activeName: 'first',
+        isFirst: true,
+        isSecond: false,
+        isThird: false,
+        isFourth: false,
+        isFifth: false,
+        isSixth: false
+      }
+    },
+    methods: {
+      handleClick(tab) {
+        console.log(tab.name)
+        if (tab.name === 'first') {
+          this.isFirst = true
+          this.isSecond = false
+          this.isThird = false
+          this.isFourth = false
+          this.isFifth = false
+          this.isSixth = false
+        } else if (tab.name === 'second') {
+          this.isFirst = false
+          this.isSecond = true
+          this.isThird = false
+          this.isFourth = false
+          this.isFifth = false
+          this.isSixth = false
+        }else if (tab.name === 'third') {
+          this.isFirst = false
+          this.isSecond = false
+          this.isThird = true
+          this.isFourth = false
+          this.isFifth = false
+          this.isSixth = false
+        }else if (tab.name === 'fourth') {
+          this.isFirst = false
+          this.isSecond = false
+          this.isThird = false
+          this.isFourth = true
+          this.isFifth = false
+          this.isSixth = false
+        }else if (tab.name === 'fifth') {
+          this.isFirst = false
+          this.isSecond = false
+          this.isThird = false
+          this.isFourth = false
+          this.isFifth = true
+          this.isSixth = false
+        }else if (tab.name === 'sixth') {
+          this.isFirst = false
+          this.isSecond = false
+          this.isThird = false
+          this.isFourth = false
+          this.isFifth = false
+          this.isSixth = true
+        }
+      }
+    }
+  };
+</script>
+
+<style scoped>
+
+</style>