浏览代码

设备点检

liqianyi 5 月之前
父节点
当前提交
eac0dc8c32

+ 8 - 0
src/api/device.js

@@ -6,3 +6,11 @@ export function getDeviceDetails (id) {
     method: 'get'
   })
 }
+
+// 根据点检id获取设备点检信息
+export function getInspectionDetail (id) {
+  return request({
+    url: request.adornUrl(`/biz-service/equipmentCheckRecord/info/${id}`),
+    method: 'get'
+  })
+}

+ 17 - 4
src/views/modules/device/device-inspection.vue

@@ -68,11 +68,13 @@
 
 <script>
 import {dateTimeToString} from '@/api/util'
+import {getInspectionDetail} from '@/api/device'
 
 export default {
   name: 'device-inspection',
   data () {
     return {
+      id: 0,
       dataForm: {
         equipmentId: 0,
         equipmentName: '',
@@ -91,10 +93,21 @@ export default {
   },
   mounted () {},
   methods: {
-    init (row) {
-      this.dataForm.equipmentId = row.id
-      this.dataForm.equipmentName = row.name
-      this.dataForm.codeNumber = row.codeNumber
+    async init (id) {
+      this.id = id || 0
+      // 根据 id 获取设备信息
+      this.dataForm = {}
+      this.getDetails()
+      // this.dataForm.equipmentId = row.id
+      // this.dataForm.equipmentName = row.name
+      // this.dataForm.codeNumber = row.codeNumber
+    },
+    getDetails () {
+      getInspectionDetail(this.id).then(({data}) => {
+        if (data && data.code === '200') {
+          this.dataForm = data.data
+        }
+      })
     },
     onChose () {
       this.$emit('onChose')

+ 2 - 12
src/views/modules/device/device-list.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="device">
-    <template v-if="!addOrUpdateVisible && !detailVisible && !historyVisible && !damageVisible && !checkVisible && !inspectionVisible">
+    <template v-if="!addOrUpdateVisible && !detailVisible && !historyVisible && !damageVisible && !checkVisible">
       <!-- 查询、新增操作 -->
       <el-form :inline="true" :model="dataForm" @keyup.enter.native="search()">
         <el-form-item label="名称/编号">
@@ -242,7 +242,7 @@
           fixed="right"
           header-align="center"
           align="center"
-          width="230"
+          width="200"
           label="操作">
           <template slot-scope="scope">
 <!--            <el-button v-if="isAuth('prod:equipment:info')" type="text" size="small" @click="detailHandle(scope.row.id)">查看</el-button>-->
@@ -250,7 +250,6 @@
             <el-button v-if="isAuth('prod:equipment:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">编辑</el-button>
             <el-button v-if="isAuth('prod:updateVerification:update')" type="text" size="small" @click="checkHandle(scope.row)">检定</el-button>
             <el-button v-if="isAuth('prod:updateBreakage:update')" type="text" size="small" @click="damageHandle(scope.row)">报损</el-button>
-            <el-button v-if="isAuth('prod:equipmentCheckRecord:updateCheck')" type="text" size="small" @click="inspectionHandle(scope.row)">点检</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -310,7 +309,6 @@ export default {
       previewVisible: false,
       damageVisible: false,
       checkVisible: false,
-      inspectionVisible: false,
       dataForm: {},
       dataList: [],
       pageIndex: 1,
@@ -332,7 +330,6 @@ export default {
       this.historyVisible = false
       this.damageVisible = false
       this.checkVisible = false
-      this.inspectionVisible = false
     },
     // 查询
     search () {
@@ -419,13 +416,6 @@ export default {
         this.$refs.check.init(row)
       })
     },
-    // 点检
-    inspectionHandle (row) {
-      this.inspectionVisible = true
-      this.$nextTick(() => {
-        this.$refs.inspection.init(row)
-      })
-    },
     // 删除
     deleteHandle (id) {
       if (!id) return

+ 24 - 230
src/views/modules/device/inspection-list.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="device">
-    <template v-if="!addOrUpdateVisible && !detailVisible && !historyVisible && !damageVisible && !checkVisible && !inspectionVisible">
+    <template v-if="!detailVisible && !inspectionVisible">
       <!-- 查询、新增操作 -->
       <el-form :inline="true" :model="dataForm" @keyup.enter.native="search()">
         <el-form-item label="名称/编号">
@@ -59,12 +59,12 @@
           </template>
         </el-table-column>
         <el-table-column
-          prop="code"
+          prop="equipmentName"
           header-align="center"
           align="center"
           min-width="140"
           :show-overflow-tooltip="true"
-          label="网关编码">
+          label="设备名称">
         </el-table-column>
         <el-table-column
           prop="codeNumber"
@@ -75,186 +75,56 @@
           label="设备编号">
         </el-table-column>
         <el-table-column
-          prop="online"
-          header-align="center"
-          align="center"
-          min-width="80"
-          :show-overflow-tooltip="true"
-          label="是否在线">
-          <template slot-scope="scope">
-            <el-tag v-if="Number(scope.row.online) === 0" type="danger">离线</el-tag>
-            <el-tag v-else type="success">在线</el-tag>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop="spindleActualSpeed"
-          header-align="center"
-          align="center"
-          min-width="120"
-          :show-overflow-tooltip="true"
-          label="设备主轴转速">
-        </el-table-column>
-        <el-table-column
-          prop="name"
-          header-align="center"
-          align="center"
-          min-width="140"
-          :show-overflow-tooltip="true"
-          label="设备名称">
-        </el-table-column>
-        <el-table-column
-          prop="model"
-          header-align="center"
-          align="center"
-          min-width="120"
-          :show-overflow-tooltip="true"
-          label="设备型号">
-        </el-table-column>
-        <el-table-column
-          prop="specifications"
-          header-align="center"
-          align="center"
-          min-width="120"
-          :show-overflow-tooltip="true"
-          label="设备规格">
-        </el-table-column>
-        <el-table-column
-          prop="useFor"
+          prop="one"
           header-align="center"
           align="center"
           min-width="100"
           :show-overflow-tooltip="true"
-          label="设备用途">
+          label="设备外观清洁;内部打扫干净,无残留">
         </el-table-column>
         <el-table-column
-          prop="accuracy"
+          prop="two"
           header-align="center"
           align="center"
           min-width="100"
           :show-overflow-tooltip="true"
-          label="设备精度">
-        </el-table-column>
-        <el-table-column
-          prop="manufacturers"
-          header-align="center"
-          align="center"
-          min-width="120"
-          :show-overflow-tooltip="true"
-          label="制造厂家">
-        </el-table-column>
-        <el-table-column
-          prop="manufacturingNumber"
-          header-align="center"
-          align="center"
-          min-width="120"
-          :show-overflow-tooltip="true"
-          label="设备出厂编号">
-        </el-table-column>
-        <el-table-column
-          prop="leaveFactoryDate"
-          header-align="center"
-          align="center"
-          min-width="160"
-          :show-overflow-tooltip="true"
-          label="设备出厂日期">
-        </el-table-column>
-        <el-table-column
-          prop="verificationDate"
-          header-align="center"
-          align="center"
-          min-width="160"
-          :show-overflow-tooltip="true"
-          label="检定日期">
-        </el-table-column>
-        <el-table-column
-          prop="validityDate"
-          header-align="center"
-          align="center"
-          min-width="160"
-          :show-overflow-tooltip="true"
-          label="检定有效期(止)">
-        </el-table-column>
-        <el-table-column
-          prop="attachList"
-          header-align="center"
-          align="center"
-          min-width="120"
-          :show-overflow-tooltip="true"
-          label="操作说明书">
-          <template slot-scope="scope">
-            <div v-for="(item, index) in scope.row.attachList" style="display: inline">
-              <span v-if="index > 0">,</span>
-              <a :key="item.fileName + index" type="primary" href="#" @click="previewFile(item.fileName, item.url)">{{ item.fileName }}</a>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop="notes"
-          header-align="center"
-          align="center"
-          min-width="180"
-          :show-overflow-tooltip="true"
-          label="备注">
-        </el-table-column>
-        <el-table-column
-          prop="responsibilityUserName"
-          header-align="center"
-          align="center"
-          min-width="80"
-          :show-overflow-tooltip="true"
-          label="责任人">
+          label="各滑动面及导轨丝杆等传动部位,润滑充足,无损坏,运转无杂音">
         </el-table-column>
         <el-table-column
-          prop="userOfName"
+          prop="three"
           header-align="center"
           align="center"
           min-width="100"
           :show-overflow-tooltip="true"
-          label="当前使用人">
+          label="油路畅通,油量充足;冷却液无变质">
         </el-table-column>
         <el-table-column
-          prop="breakageCause"
+          prop="four"
           header-align="center"
           align="center"
-          min-width="180"
+          min-width="100"
           :show-overflow-tooltip="true"
-          label="损坏原因">
+          label="系统运转正常,无报警,无异常">
         </el-table-column>
         <el-table-column
-          prop="attachListBreakage"
+          prop="five"
           header-align="center"
           align="center"
-          min-width="120"
+          min-width="100"
           :show-overflow-tooltip="true"
-          label="报损附件">
-          <template slot-scope="scope">
-            <div v-for="(item, index) in scope.row.attachListBreakage" style="display: inline">
-              <span v-if="index > 0">,</span>
-              <a :key="item.fileName + index" type="primary" href="#" @click="previewFile(item.fileName, item.url)">{{ item.fileName }}</a>
-            </div>
-          </template>
+          label="做好交接班工作,记录清晰完整">
         </el-table-column>
         <el-table-column
-          prop="attachListVerification"
+          prop="checkName"
           header-align="center"
           align="center"
-          min-width="120"
-          :show-overflow-tooltip="true"
-          label="检定报告附件">
-          <template slot-scope="scope">
-            <div v-for="(item, index) in scope.row.attachListVerification" style="display: inline">
-              <span v-if="index > 0">,</span>
-              <a :key="item.fileName + index" type="primary" href="#" @click="previewFile(item.fileName, item.url)">{{ item.fileName }}</a>
-            </div>
-          </template>
+          label="点检人">
         </el-table-column>
         <el-table-column
           prop="state"
           fixed="right"
           header-align="center"
           align="center"
-          min-width="100"
-          :show-overflow-tooltip="true"
           label="状态">
           <template slot-scope="scope">
             {{optionsState.find(t => t.value === scope.row.state).label}}
@@ -264,15 +134,11 @@
           fixed="right"
           header-align="center"
           align="center"
-          width="230"
+          width="100"
           label="操作">
           <template slot-scope="scope">
-<!--            <el-button v-if="isAuth('prod:equipment:info')" type="text" size="small" @click="detailHandle(scope.row.id)">查看</el-button>-->
-            <el-button v-if="isAuth('prod:equipment:info')" type="text" size="small" @click="historyHandle(scope.row)">历史数据</el-button>
-            <el-button v-if="isAuth('prod:equipment:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">编辑</el-button>
-            <el-button v-if="isAuth('prod:updateVerification:update')" type="text" size="small" @click="checkHandle(scope.row)">检定</el-button>
-            <el-button v-if="isAuth('prod:updateBreakage:update')" type="text" size="small" @click="damageHandle(scope.row)">报损</el-button>
-            <el-button v-if="isAuth('prod:equipmentCheckRecord:updateCheck')" type="text" size="small" @click="inspectionHandle(scope.row)">点检</el-button>
+            <el-button v-if="isAuth('prod:equipmentCheckRecord:info')" type="text" size="small" @click="detailHandle(scope.row.id)">查看</el-button>
+            <el-button v-if="isAuth('prod:equipmentCheckRecord:updateCheck') && Number(scope.row.state) === 1 && scope.row.creatorId === userId" type="text" size="small" @click="inspectionHandle(scope.row.id)">点检</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -286,13 +152,7 @@
         layout="total, sizes, prev, pager, next, jumper">
       </el-pagination>
     </template>
-    <!-- 弹窗, 新增 / 修改 -->
-    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" @onChose="onChose"></add-or-update>
     <detail v-if="detailVisible" ref="detail" @onChose="onChose"></detail>
-    <device-history v-if="historyVisible" ref="history" @onChose="onChose"></device-history>
-    <preview-component v-if="previewVisible" ref="preview" @onChose="onChose"></preview-component>
-    <device-damage v-if="damageVisible" ref="damage" @onChose="onChose" @refreshDataList="getDataList"></device-damage>
-    <device-check v-if="checkVisible" ref="check" @onChose="onChose" @refreshDataList="getDataList"></device-check>
     <device-inspection v-if="inspectionVisible" ref="inspection" @onChose="onChose" @refreshDataList="getDataList"></device-inspection>
   </div>
 </template>
@@ -327,12 +187,7 @@ export default {
   },
   data () {
     return {
-      addOrUpdateVisible: false,
       detailVisible: false,
-      historyVisible: false,
-      previewVisible: false,
-      damageVisible: false,
-      checkVisible: false,
       inspectionVisible: false,
       dataForm: {},
       dataList: [],
@@ -341,7 +196,8 @@ export default {
       totalPage: 0,
       dataListLoading: false,
       dataListSelections: [],
-      optionsState: optionsEquipmentCheckState
+      optionsState: optionsEquipmentCheckState,
+      userId: this.$store.state.user.id
     }
   },
   created () {
@@ -351,11 +207,7 @@ export default {
     getDate,
     isAuth,
     onChose () {
-      this.addOrUpdateVisible = false
       this.detailVisible = false
-      this.historyVisible = false
-      this.damageVisible = false
-      this.checkVisible = false
       this.inspectionVisible = false
     },
     // 查询
@@ -418,70 +270,12 @@ export default {
         this.$refs.detail.init(id)
       })
     },
-    // 预览
-    previewFile (fileName, url) {
-      this.previewVisible = true
-      this.$nextTick(() => {
-        this.$refs.preview.init(fileName, url)
-      })
-    },
-    // 历史记录
-    historyHandle (row) {
-      this.historyVisible = true
-      this.$nextTick(() => {
-        this.$refs.history.init(row.codeNumber)
-      })
-    },
-    // 报损
-    damageHandle (row) {
-      this.damageVisible = true
-      this.$nextTick(() => {
-        this.$refs.damage.init(row)
-      })
-    },
-    // 检定
-    checkHandle (row) {
-      this.checkVisible = true
-      this.$nextTick(() => {
-        this.$refs.check.init(row)
-      })
-    },
     // 点检
-    inspectionHandle (row) {
+    inspectionHandle (id) {
       this.inspectionVisible = true
       this.$nextTick(() => {
-        this.$refs.inspection.init(row)
+        this.$refs.inspection.init(id)
       })
-    },
-    // 删除
-    deleteHandle (id) {
-      if (!id) return
-      let ids = []
-      ids.push(id)
-      this.$confirm(`确定删除?`, '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        this.$http({
-          url: this.$http.adornUrl(`/iot-platform/temp/delete`),
-          method: 'DELETE',
-          data: ids
-        }).then(({data}) => {
-          if (data && data.code === '200') {
-            this.$message({
-              message: '操作成功',
-              type: 'success',
-              duration: 1500,
-              onClose: () => {
-                this.getDataList()
-              }
-            })
-          } else {
-            this.$message.error(data.msg)
-          }
-        })
-      }).catch(() => {})
     }
   }
 }