|
|
@@ -1,4 +1,4 @@
|
|
|
-<template>
|
|
|
+<template>
|
|
|
<el-drawer
|
|
|
v-model="drawerVisible"
|
|
|
title="查看证书"
|
|
|
@@ -11,13 +11,6 @@
|
|
|
:model="queryParams"
|
|
|
class="bg-white dark:bg-[#1d1e1f] rounded-lg shadow px-4 pt-4 mb-4">
|
|
|
<div class="flex items-center gap-4 flex-wrap">
|
|
|
- <!-- <el-form-item label="仪器名称" prop="measureName">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.measureName"
|
|
|
- placeholder="请输入仪器名称"
|
|
|
- clearable
|
|
|
- class="!w-150px" />
|
|
|
- </el-form-item> -->
|
|
|
<el-form-item label="证书编码" prop="measureCertNo">
|
|
|
<el-input
|
|
|
v-model="queryParams.measureCertNo"
|
|
|
@@ -25,7 +18,20 @@
|
|
|
clearable
|
|
|
class="!w-180px" />
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="检测/校准日期" prop="detectDate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="queryParams.detectDate"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ type="daterange"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
|
|
+ class="!w-200px" />
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
+ <el-button type="primary" plain @click="handleCreate">
|
|
|
+ <Icon icon="ep:plus" class="mr-5px" /> 新增
|
|
|
+ </el-button>
|
|
|
<el-button @click="handleQuery">
|
|
|
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
|
|
</el-button>
|
|
|
@@ -50,12 +56,7 @@
|
|
|
{{ scope.$index + 1 }}
|
|
|
</template>
|
|
|
</zm-table-column>
|
|
|
- <zm-table-column
|
|
|
- label="仪器名称"
|
|
|
- align="center"
|
|
|
- prop="measureName"
|
|
|
- min-width="160"
|
|
|
- fixed="left" />
|
|
|
+
|
|
|
<zm-table-column
|
|
|
label="证书编码"
|
|
|
align="center"
|
|
|
@@ -72,6 +73,11 @@
|
|
|
align="center"
|
|
|
prop="detectStandard"
|
|
|
min-width="160" />
|
|
|
+ <zm-table-column label="检测/校准内容" align="center" prop="detectContent">
|
|
|
+ <template #default="scope">
|
|
|
+ <div class="detect-content" v-html="scope.row.detectContent"></div>
|
|
|
+ </template>
|
|
|
+ </zm-table-column>
|
|
|
<zm-table-column label="有效期" align="center" prop="validityPeriod" width="140">
|
|
|
<template #default="scope">
|
|
|
<span class="iot-md-date">{{
|
|
|
@@ -79,6 +85,7 @@
|
|
|
}}</span>
|
|
|
</template>
|
|
|
</zm-table-column>
|
|
|
+ <zm-table-column label="校准金额" align="center" prop="detectAmount" />
|
|
|
<zm-table-column label="附件" fixed="right" align="center" prop="file" width="90">
|
|
|
<template #default="scope">
|
|
|
<el-button
|
|
|
@@ -128,12 +135,15 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</Dialog>
|
|
|
+
|
|
|
+ <IotMeasureDetectForm ref="formRef" @success="getList" />
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import { IotMeasureDetectApi } from '@/api/pms/qhse/index'
|
|
|
import { useTableComponents } from '@/components/ZmTable/useTableComponents'
|
|
|
import { formatDate } from '@/utils/formatTime'
|
|
|
+import IotMeasureDetectForm from './iotmeasuredetect/IotMeasureDetectForm.vue'
|
|
|
|
|
|
const { ZmTable, ZmTableColumn } = useTableComponents()
|
|
|
|
|
|
@@ -141,24 +151,32 @@ defineOptions({ name: 'MeasureCertDrawer' })
|
|
|
|
|
|
const { t } = useI18n()
|
|
|
|
|
|
+type MeasureRow = {
|
|
|
+ id: number
|
|
|
+ measureName?: string
|
|
|
+ measureCode?: string
|
|
|
+ deptId?: number | string
|
|
|
+}
|
|
|
+
|
|
|
const drawerVisible = ref(false)
|
|
|
const loading = ref(false)
|
|
|
const list = ref<any[]>([])
|
|
|
const total = ref(0)
|
|
|
-const currentMeasureId = ref<number | undefined>(undefined)
|
|
|
+const currentMeasure = ref<MeasureRow | null>(null)
|
|
|
|
|
|
const queryParams = reactive({
|
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
|
measureId: undefined as number | undefined,
|
|
|
- measureName: undefined as string | undefined,
|
|
|
+ detectDate: undefined as string | undefined,
|
|
|
measureCertNo: undefined as string | undefined
|
|
|
})
|
|
|
|
|
|
const queryFormRef = ref()
|
|
|
+const formRef = ref()
|
|
|
|
|
|
const getList = async () => {
|
|
|
- if (!currentMeasureId.value) return
|
|
|
+ if (!currentMeasure.value?.id) return
|
|
|
|
|
|
loading.value = true
|
|
|
try {
|
|
|
@@ -177,13 +195,23 @@ const handleQuery = () => {
|
|
|
|
|
|
const resetQuery = () => {
|
|
|
queryFormRef.value?.resetFields()
|
|
|
- queryParams.measureId = currentMeasureId.value
|
|
|
+ queryParams.measureId = currentMeasure.value?.id
|
|
|
handleQuery()
|
|
|
}
|
|
|
|
|
|
-const open = async (measureId: number) => {
|
|
|
- currentMeasureId.value = measureId
|
|
|
- queryParams.measureId = measureId
|
|
|
+const handleCreate = () => {
|
|
|
+ if (!currentMeasure.value?.id) return
|
|
|
+
|
|
|
+ formRef.value?.open('create', undefined, {
|
|
|
+ measureId: currentMeasure.value.id,
|
|
|
+ measureName: currentMeasure.value.measureName || currentMeasure.value.measureCode || '',
|
|
|
+ deptId: currentMeasure.value.deptId
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const open = async (measureRow: MeasureRow) => {
|
|
|
+ currentMeasure.value = measureRow
|
|
|
+ queryParams.measureId = measureRow.id
|
|
|
queryParams.measureName = undefined
|
|
|
queryParams.measureCertNo = undefined
|
|
|
queryParams.pageNo = 1
|
|
|
@@ -193,12 +221,12 @@ const open = async (measureId: number) => {
|
|
|
|
|
|
const handleClose = () => {
|
|
|
drawerVisible.value = false
|
|
|
- currentMeasureId.value = undefined
|
|
|
+ currentMeasure.value = null
|
|
|
list.value = []
|
|
|
total.value = 0
|
|
|
}
|
|
|
|
|
|
-const formatDateCorrectly = (timestamp) => {
|
|
|
+const formatDateCorrectly = (timestamp: string | number) => {
|
|
|
if (!timestamp) return ''
|
|
|
|
|
|
let time = Number(timestamp)
|