Просмотр исходного кода

设备档案卡新增性能验证tab

luoaoxuan 1 год назад
Родитель
Сommit
f4e026936c

+ 12 - 0
src/api/platform/device/device.js

@@ -113,3 +113,15 @@ export function queryRepairRecord (data) {
         data: data
     })
 }
+/**
+ *  设备性能验证记录子表列表(分页条件查询)数据
+ * @param {*} data
+ * @returns
+ */
+export function queryEquipmentPvRecord (data) {
+    return request({
+        url: BUSINESS_BASE_URL() + '/equipment/pVRecord/query',
+        method: 'post',
+        data: data
+    })
+}

+ 4 - 2
src/views/component/device/deviceDialog.vue

@@ -738,6 +738,7 @@
 import dayjs from 'dayjs'
 import ibpsUserSelector from '@/business/platform/org/selector'
 import { getequipmentCard, saveEquipmentCard } from '@/api/platform/device/device'
+import PvRecord from './pvRecord.vue'
 import Maintenance from './maintenance.vue'
 import MoreDevices from './moreDevices.vue'
 import ScrappedRecord from './scrappedRecord.vue'
@@ -749,7 +750,7 @@ import SelectType from '@/views/component/selectType.vue'
 import { getImage } from '@/api/platform/file/attachment'
 export default {
     components: {
-        ibpsUserSelector, Maintenance, MoreDevices, ScrappedRecord, MaintenanceRecord, RepairRecord, CalibrationCheckRecord, IbpsAttachment, SelectType,
+        ibpsUserSelector, PvRecord, Maintenance, MoreDevices, ScrappedRecord, MaintenanceRecord, RepairRecord, CalibrationCheckRecord, IbpsAttachment, SelectType,
         IbpsCustomDialog: () => import('@/business/platform/data/templaterender/custom-dialog'),
         IbpsImage: () => import('@/business/platform/file/image')
     },
@@ -776,7 +777,8 @@ export default {
                 { label: '使用与维护记录', name: 'four', component: 'MaintenanceRecord', isKeepAlive: true },
                 { label: '校准记录', name: 'five', component: 'CalibrationCheckRecord', isKeepAlive: true },
                 { label: '维修记录', name: 'six', component: 'RepairRecord', isKeepAlive: true },
-                { label: '停用、报废记录', name: 'seven', component: 'ScrappedRecord', isKeepAlive: true }
+                { label: '停用、报废记录', name: 'seven', component: 'ScrappedRecord', isKeepAlive: true },
+                { label: '性能验证记录', name: 'eight', component: 'PvRecord', isKeepAlive: true }
             ],
             filter: [{
                 descVal: '1',

+ 142 - 0
src/views/component/device/pvRecord.vue

@@ -0,0 +1,142 @@
+<!-- 设备性能验证 -->
+<template>
+    <div v-loading="loading" class="table">
+        <el-table :data="listData">
+            <el-table-column
+                width="50"
+                type="selection"
+            />
+            <el-table-column
+                prop=""
+                label="序号"
+                width="50"
+                type="index"
+                :index="showIndex"
+            />
+            <el-table-column prop="bianZhiBuMen" label="部门" width="120">
+                <template slot-scope="{row}">
+                    <ibps-user-selector
+                        :value="row.bianZhiBuMen"
+                        type="position"
+                        readonly-text="text"
+                        :disabled="true"
+                        :multiple="true"
+                        size="mini"
+                    />
+                </template>
+            </el-table-column>
+            <el-table-column prop="riQi" label="验证日期" width="100" />
+            <el-table-column prop="sheBeiMing" label="设备名称" />
+            <el-table-column prop="sheBeiBianHao" label="设备编号" width="140" />
+            <el-table-column prop="mingCheng" label="验证项目" />
+            <el-table-column prop="fangFaMing" label="检验方法" />
+            <el-table-column prop="changShangMing" label="试剂厂商" />
+            <el-table-column prop="jiLuRen" label="记录人" width="120">
+                <template slot-scope="{row}">
+                    <ibps-user-selector
+                        :value="row.jiLuRen"
+                        type="user"
+                        readonly-text="text"
+                        :disabled="true"
+                        :multiple="true"
+                        size="mini"
+                    />
+                </template>
+            </el-table-column>
+            <el-table-column prop="fuJian" label="附件" width="260">
+                <template slot-scope="{row}">
+                    <ibps-attachment
+                        v-model="row.fuJian"
+                        :download="true"
+                        multiple
+                        accept="*"
+                        :readonly="true"
+                    />
+                </template>
+            </el-table-column>
+        </el-table>
+        <el-pagination
+            style="margin-top: 5px; padding-bottom: 10px"
+            :current-page="requestPage.pageNo"
+            :page-sizes="[10, 20,30, 50]"
+            :page-size="requestPage.limit"
+            layout="prev,pager,next,jumper,sizes,->,total"
+            :total="total"
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+        />
+    </div>
+</template>
+
+<script>
+import IbpsAttachment from '@/business/platform/file/attachment/selector'
+import ibpsUserSelector from '@/business/platform/org/selector'
+import { queryEquipmentPvRecord } from '@/api/platform/device/device'
+export default {
+    components: {
+        ibpsUserSelector, IbpsAttachment
+    },
+    props: {
+        params: {
+            type: Object,
+            default: () => {}
+        }
+    },
+    data () {
+        return {
+            listData: [],
+            loading: false,
+            total: 0,
+            requestPage: {
+                limit: 10,
+                pageNo: 1
+            }
+        }
+    },
+    async mounted () {
+        this.getData()
+    },
+    methods: {
+        async getData () {
+            this.loading = true
+            const { data: { dataResult, pageResult }} = await queryEquipmentPvRecord({
+                requestPage: this.requestPage,
+                parameters: [
+                    { key: 'Q^she_bei_bian_hao_^S', value: this.params.yuanSheBeiBian }
+                ],
+                sorts: [
+                    { field: 'bian_zhi_shi_jian', order: 'desc' }
+                ]
+            })
+            this.listData = dataResult
+            this.total = pageResult.totalCount
+            this.loading = false
+        },
+        // 当前页码改变
+        handleCurrentChange (val) {
+            this.requestPage.pageNo = val
+            this.getData()
+        },
+        // 页码选择器改变
+        handleSizeChange (val) {
+            this.requestPage.limit = val
+            this.requestPage.pageNo = 1
+            this.getData()
+        },
+        // 分页连续序号
+        showIndex (index) {
+            return index + 1 + (this.requestPage.pageNo - 1) * this.requestPage.limit
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.table{
+    .button{
+        margin-bottom: 5px;
+        display: flex;
+        justify-content: flex-end;
+    }
+}
+</style>