소스 검색

一机一档添加表格

jiangbiao 3 년 전
부모
커밋
208153029d

+ 12 - 0
master/src/main/java/com/ruoyi/project/inspection/domain/TInspectionRecord.java

@@ -77,6 +77,9 @@ public class TInspectionRecord extends BaseEntity
     @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date createdate;
 
+    @TableField(exist = false)
+    private String createyear;
+
     /** 修改人 */
     @Excel(name = "修改人")
     private Long updaterCode;
@@ -94,6 +97,14 @@ public class TInspectionRecord extends BaseEntity
     @Excel(name = "区域巡检id")
     private Long regionId;
 
+    public String getCreateyear() {
+        return createyear;
+    }
+
+    public void setCreateyear(String createyear) {
+        this.createyear = createyear;
+    }
+
     public void setId(Long id)
     {
         this.id = id;
@@ -276,6 +287,7 @@ public class TInspectionRecord extends BaseEntity
             .append("remarks", getRemarks())
             .append("deptName", getDeptName())
             .append("regionId", getRegionId())
+            .append("createyear", getCreateyear())
             .toString();
     }
 }

+ 3 - 0
master/src/main/java/com/ruoyi/project/intact/controller/TApproveMaintenanceController.java

@@ -68,6 +68,9 @@ public class TApproveMaintenanceController extends BaseController
         if (StringUtils.isNotEmpty((String) params.get("devType"))){
             sql+=" and dev_type="+params.get("devType")+" ";
         }
+        if (StringUtils.isNotEmpty((String) params.get("createyear"))){
+            sql+=" and to_char(creattime,'yyyy')= "+params.get("createyear")+" ";
+        }
         List<TApproveMaintenance> list = maintenanceMapper.selectList(new QueryWrapper<TApproveMaintenance>().apply(sql).orderByDesc("CREATTIME")
         );
         for (TApproveMaintenance t : list

+ 1 - 0
master/src/main/resources/mybatis/inspection/TInspectionRecordMapper.xml

@@ -44,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deptId != null "> and dept_id = #{deptId}</if>
             <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
             <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="createyear != null "> and to_char(createdate,'yyyy')= #{createyear}</if>
             <if test="updaterCode != null "> and updater_code = #{updaterCode}</if>
             <if test="updatedate != null "> and updatedate = #{updatedate}</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>

+ 33 - 18
ui/src/views/intact/gyl/index.vue

@@ -576,7 +576,7 @@
       <el-table-column label="数据表文件号" align="center" prop="dataNo" :show-overflow-tooltip="true"/>
       <el-table-column label="计算书文件号" align="center" prop="bookNo" :show-overflow-tooltip="true"/>
       <el-table-column label="厂家" align="center" prop="manufactor" :show-overflow-tooltip="true"/>
-      <el-table-column label="操作" align="center" fixed="right" width="140" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" fixed="right" width="250" class-name="small-padding fixed-width">
         <template slot-scope="scope">
 <!--          <el-button-->
 <!--            size="mini"-->
@@ -592,30 +592,36 @@
 <!--            @click="handleDelete(scope.row)"-->
 <!--            v-hasPermi="['intact:gyl:remove']"-->
 <!--          >删除</el-button>-->
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            @click="toInspectionRecord(scope.row.devno,scope.row.position)"-->
+<!--            v-hasPermi="['intact:gyl:query']"-->
+<!--          >巡检记录</el-button>-->
+<!--          <el-button-->
+<!--            v-if="scope.row.approveTime != null"-->
+<!--            type="text"-->
+<!--            size="mini"-->
+<!--            @click="hisApprove(scope.row,devType)"-->
+<!--          > {{ $t('维修记录') }}<br>-->
+<!--          </el-button>-->
           <el-button
-            size="mini"
             type="text"
-            @click="toInspectionRecord(scope.row.devno,scope.row.position)"
-            v-hasPermi="['intact:gyl:query']"
-          >巡检记录</el-button>
+            size="mini"
+            @click="addAprrove(scope.row,devType)"
+          >{{ $t('提交维修申请') }}
+          </el-button>
           <el-button
-            v-if="scope.row.approveTime != null"
             type="text"
             size="mini"
-            @click="hisApprove(scope.row,devType)"
-          > {{ $t('维修记录') }}<br>
-          </el-button>
+            @click="addAprroveDev(scope.row,devType2)"
+          >{{ $t('设备变更申请') }}</el-button>
           <el-button
             type="text"
             size="mini"
-            @click="addAprrove(scope.row,devType)"
-          >{{ $t('提交维修申请') }}
+            @click="openIntactRecord(scope.row)"
+          >{{ $t('一机一档') }}
           </el-button>
-           <el-button
-              type="text"
-              size="mini"
-              @click="addAprroveDev(scope.row,devType2)"
-            >{{ $t('设备变更申请') }}</el-button>
           <el-button
             v-if="scope.row.approveTime != null"
             type="text"
@@ -972,6 +978,7 @@
         <iframe :src="pdf.pdfUrl" frameborder="0" width="100%" height="700px"></iframe>
       </div>
     </el-dialog>
+    <intact-record  v-if="intactRecordVisible" ref="intactRecord"></intact-record>
 
     <add-approve-dev v-if="addAprroveDevVisible" ref="addApproveDev" @refreshDataList="getList"></add-approve-dev>
     <his-approve-dev v-if="hisAprroveDevVisible" ref="hisApproveDev" @refreshDataList="getList"></his-approve-dev>
@@ -988,14 +995,16 @@ import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import HisApprove from "@/views/sems/approve/tapprove-his";
 import AddApprove from "../approve/tapprove-maintenance-add"
+import IntactRecord from "./intactRecord"
 import AddApproveDev from "../approve/tapprove-add"
 import HisApproveDev from "../approve/tapprove-his"
 
 export default {
   name: "Gyl",
-  components: {Treeselect, AddApprove, HisApprove,AddApproveDev,HisApproveDev},
+  components: {Treeselect, AddApprove, HisApprove,AddApproveDev,HisApproveDev,IntactRecord},
   data() {
     return {
+      intactRecordVisible: false,
       // 遮罩层
       loading: true,
       // 选中数组
@@ -1448,6 +1457,12 @@ export default {
       a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
       a.click()
     },
+    openIntactRecord(row){
+      this.intactRecordVisible = true
+      this.$nextTick(() => {
+        this.$refs.intactRecord.init(row)
+      })
+    },
 
     //提交申请方法
      addAprroveDev (row, type) {
@@ -1471,7 +1486,7 @@ export default {
     },
     hisApproveDev (row, type) {
       this.hisAprroveDevVisible = true
-      
+
       this.$nextTick(() => {
         this.$refs.hisApproveDev.init(row, type)
       })

+ 152 - 13
ui/src/views/intact/gyl/intactRecord.vue

@@ -56,45 +56,89 @@
                             :placeholder="$t('请选择') + $t('年份')">
             </el-date-picker>
           </el-form-item>
-          <el-button type="cyan" icon="el-icon-search" size="mini" @click="staffPlanQuery" style="margin-left: 20px;">
+          <el-button type="cyan" icon="el-icon-search" size="mini" @click="getRecordList(row,queryDeviceParams.year)" style="margin-left: 20px;">
             {{ $t('搜索') }}</el-button>
         </el-form>
       </div>
       </div>
-
-      <el-table :data="list" v-loading="planLoading"  border>
-
+      <el-table v-loading="loading" :data="recordList" :max-height="300" border>
+        <el-table-column label="设备名称" align="center" prop="devname" :show-overflow-tooltip="true"/>
+        <el-table-column label="设备位号" align="center" prop="devno" :show-overflow-tooltip="true"/>
+        <el-table-column label="区域" align="center" prop="region" :show-overflow-tooltip="true"/>
+        <el-table-column label="原因" align="center" prop="reason" :show-overflow-tooltip="true"/>
+        <el-table-column label="巡检时间" align="center" prop="inspectionTime" width="100">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.inspectionTime, '{y}-{m}-{d}') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="消故时间" align="center" prop="pastTime" width="100">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.pastTime, '{y}-{m}-{d}') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="消故人" align="center" prop="pasterCode" :show-overflow-tooltip="true"/>
+        <el-table-column label="处理情况" align="center" prop="treatment" :show-overflow-tooltip="true"/>
+        <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
       </el-table>
+<!--      <el-table :data="list" v-loading="planLoading"  border>-->
+
+<!--      </el-table>-->
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span> 维修记录</span><div style="float: right;margin-bottom: -14px">
-        <el-form :model="queryDeviceParams" ref="queryRegularForm" label-width="68px" :inline="true">
+        <el-form :model="queryDeviceParams2" ref="queryRegularForm" label-width="68px" :inline="true">
           <el-form-item :label="$t('年份')" prop="year">
             <el-date-picker clearable size="small" style="width: 200px"
-                            v-model="queryDeviceParams.year"
+                            v-model="queryDeviceParams2.year"
                             type="year"
                             value-format="yyyy"
                             :placeholder="$t('请选择') + $t('年份')">
             </el-date-picker>
           </el-form-item>
-          <el-button type="cyan" icon="el-icon-search" size="mini" @click="staffPlanQuery" style="margin-left: 20px;">
+          <el-button type="cyan" icon="el-icon-search" size="mini" @click="staffPlanQuery1(row,queryDeviceParams2.year)" style="margin-left: 20px;">
             {{ $t('搜索') }}</el-button>
         </el-form>
       </div>
       </div>
-
-      <el-table :data="list" v-loading="planLoading"  border>
-
+      <el-table v-loading="loading" :data="approveList" border>
+        <el-table-column :label="$t('申请人')" align="center" prop="userName" :show-overflow-tooltip="true"/>
+        <el-table-column :label="$t('设备类型')+':'" align="center" prop="devType" :formatter="devTypeFormat" />
+        <el-table-column :label="$t('审批类型')" align="center" prop="approveType"  :formatter="approveTypeFormat"/>
+        <el-table-column :label="$t('内容')" align="center" prop="content" :show-overflow-tooltip="true"/>
+        <el-table-column :label="$t('申请状态')" align="center" prop="status"  :formatter="statusFormat"/>
+        <el-table-column :label="$t('开始时间')" align="center" prop="creattime" width="100">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.creattime, '{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"  width="120" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              size="mini"
+              type="text"
+              @click="detailHandle(scope.row)"
+            >{{ $t('查看') }}</el-button>
+          </template>
+        </el-table-column>
       </el-table>
+      <spec-maintenance v-if="specMaintenanceVisible" ref="specMaintenance"></spec-maintenance>
+<!--      <el-table :data="list" v-loading="planLoading"  border>-->
+
+<!--      </el-table>-->
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span> 变更记录</span><div style="float: right;margin-bottom: -14px">
-        <el-form :model="queryDeviceParams" ref="queryRegularForm" label-width="68px" :inline="true">
+        <el-form :model="queryDeviceParams3" ref="queryRegularForm" label-width="68px" :inline="true">
           <el-form-item :label="$t('年份')" prop="year">
             <el-date-picker clearable size="small" style="width: 200px"
-                            v-model="queryDeviceParams.year"
+                            v-model="queryDeviceParams3.year"
                             type="year"
                             value-format="yyyy"
                             :placeholder="$t('请选择') + $t('年份')">
@@ -118,12 +162,24 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import {listPlan} from "@/api/training/spec/plan";
 import {listParticipants} from "@/api/training/participants";
 import {listDevice} from "@/api/training/device";
+import {listRecord} from "@/api/inspection/record";
+import {hisApprovelist} from "@/api/intact/maintenance";
+import SpecMaintenance from "@/views/approve/approveDetail/specMaintenance-detail";
 
 export default {
   name: "Resume",
-  components: {Treeselect},
+  components: {Treeselect,SpecMaintenance},
   data() {
     return {
+      row:{},
+      recordList:[],
+      approveList:[],
+      specMaintenanceVisible: false,
+      devType:1,
+      devTypeOptions: [{dictValue:1,dictLabel:'工业炉'},{dictValue:2,dictLabel:'压缩机'},{},{}],
+      // 审批类型字典
+      approveTypeOptions: [{dictValue:1,dictLabel:'维修'}],
+      statusOptions: [],
       list: [],
       // 遮罩层
       loading: false,
@@ -169,6 +225,18 @@ export default {
         year: this.getNowTime(),
         trainingType: null
       },
+      queryDeviceParams2: {
+        staffId: null,
+        regularId: null,
+        year: this.getNowTime(),
+        trainingType: null
+      },
+      queryDeviceParams3: {
+        staffId: null,
+        regularId: null,
+        year: this.getNowTime(),
+        trainingType: null
+      },
       // 表单参数
       form: {},
       // 表单校验
@@ -180,10 +248,60 @@ export default {
     this.getDicts("PLANT_DIVIDE").then(response => {
       this.plantCodeOptions = response.data;
     });
+    this.getDicts("spec_approve_res").then(response => {
+      this.statusOptions = response.data;
+    });
   },
   methods: {
     init(row) {
+      this.row=row
       this.visible = true
+      var data = {
+        devno:row.devno,
+        region:row.position
+      }
+      listRecord(data).then(response => {
+        this.recordList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+
+      var data2={
+      devId : row.id,
+      devType : this.devType
+      }
+      hisApprovelist(data2).then(response => {
+        this.approveList = response.data;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    staffPlanQuery1(row,year){
+      var data2={
+        devId : row.id,
+        devType : this.devType,
+        createyear: year
+      }
+      hisApprovelist(data2).then(response => {
+        this.approveList = response.data;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    staffPlanQuery(){
+      alert("123123qqss")
+    },
+    // 设备类型:字典翻译
+    devTypeFormat(row) {
+      return this.selectDictLabel(this.devTypeOptions, row.devType);
+    },
+    // 审批类型字典翻译
+    approveTypeFormat(row) {
+      return this.selectDictLabel(this.approveTypeOptions, row.approveType);
+    },
+    // 审批类型字典翻译
+    statusFormat(row) {
+      return this.selectDictLabel(this.statusOptions, row.status);
     },
     /** 获取当前年份 */
     getNowTime() {
@@ -197,6 +315,27 @@ export default {
     plantCodeFormat(row, column) {
       return this.selectDictLabel(this.plantCodeOptions, row.plantCode);
     },
+    //操作审批流程
+    detailHandle (row) {
+      this.specMaintenanceVisible = true
+      this.$nextTick(() => {
+        console.log(row)
+        this.$refs.specMaintenance.init(row.id, row.taskId, row.processId,row.taskName)
+      })
+    },
+    getRecordList(row,year){
+      const data = {
+        devno: row.devno,
+        region: row.position,
+        createyear: year
+      };
+      listRecord(data).then(response => {
+        console.log(data)
+        this.recordList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    }
   }
 };
 </script>