From 0af4ccb5dacacce56c5fddd0d70288fc377c56be Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 01 九月 2026 17:04:37 +0800
Subject: [PATCH] feat(inspection): 1.添加报告类型功能并优化检验流程 2.设备管理组件中的部门列表获取方法优化
---
src/views/CNAS/resourceDemand/device/component/management.vue | 50 ++++++++++++++++++++++++++------------------------
1 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index 5e09090..71bbc62 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -1,7 +1,7 @@
<!-- 璁惧宸ュ叿鏄庣粏 -->
<template>
<div class="role_manage">
- <div class="search">
+ <div class="search" v-show="!showData">
<div>
<el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
<el-form-item label="鐘舵��" prop="deviceStatus" class="form-item">
@@ -16,9 +16,9 @@
@keyup.enter.native="refreshTable()">
</el-input>
</el-form-item>
- <el-form-item label="瑙勬牸鍨嬪彿" prop="specificationModel">
+ <el-form-item label="绠$悊缂栧彿" prop="managementNumber">
<el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="queryParams.specificationModel" @keyup.enter.native="refreshTable()"></el-input>
+ v-model="queryParams.managementNumber" @keyup.enter.native="refreshTable()"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button>
@@ -33,7 +33,7 @@
</div>
<div class="table" v-show="!showData">
<lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 300px)'"
- :page="page" @pagination="pagination"></lims-table>
+ :page="page" @pagination="pagination" :row-class-name="tableRowClassName"></lims-table>
</div>
<el-dialog :title="isUp ? '璁惧璇︽儏' : '妗f淇'" :visible.sync="dialogVisible" width="70%" top="5vh"
:before-close="handleClose">
@@ -59,7 +59,7 @@
<el-form-item label="浠櫒鍚嶇О:" required prop="deviceName">
<el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input>
</el-form-item>
- <el-form-item label="浠櫒鍚嶇ОEN:" required>
+ <el-form-item label="浠櫒鍚嶇ОEN:">
<el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input>
</el-form-item>
<el-form-item label="瑙勬牸鍨嬪彿:" required>
@@ -216,7 +216,7 @@
<el-form-item label="浠櫒鍚嶇О:" required>
<el-input v-model="formData2.deviceName" size="small"></el-input>
</el-form-item>
- <el-form-item label="浠櫒鍚嶇ОEN:" required>
+ <el-form-item label="浠櫒鍚嶇ОEN:">
<el-input v-model="formData2.enDeviceName" size="small"></el-input>
</el-form-item>
<el-form-item label="瑙勬牸鍨嬪彿:" required>
@@ -391,7 +391,6 @@
import limsTable from "@/components/Table/lims-table.vue";
import dataAcquisitionConfig from './acquisitionConfig.vue'
import {
- obtainItemParameterList,
exportEquipmentDetails,
getInsProduction,
upDeviceParameter,
@@ -400,6 +399,7 @@
getDeviceParameter,
delDeviceParameter,
} from '@/api/cnas/resourceDemand/device.js'
+import { listDept } from '@/api/system/dept'
import { selectUserCondition } from "@/api/business/inspectionTask";
export default {
props: {
@@ -444,11 +444,9 @@
labelPosition: 'right',
dialogVisible: false,
dialogVisible2: false,
- addPower: false,
showData: false, // 鏁伴噰閰嶇疆椤甸潰
tableList: [],
addDia: true,
- addPower: true,
//璁惧绫诲瀷鍒楄〃
equipmentList: [],
// 璐熻矗浜哄垪琛�
@@ -479,7 +477,7 @@
{ label: "绠$悊缂栧彿", prop: "managementNumber" },
{ label: "鎶�鏈寚鏍�", prop: "technicalIndicators" },
{ label: "璐疆鏃ユ湡", prop: "acquisitionDate" },
- { label: "鍚敤鏃ユ湡", prop: "activationDate" },
+ { label: "鏍″噯鏈夋晥鏈�", prop: "activationDate" },
{ label: "绠$悊浜�", prop: "equipmentManagerUser" },
{ label: "瀛樻斁鐐�", prop: "storagePoint" },
{ label: "鎵�灞為儴闂�", prop: "laboratoryName" },
@@ -565,7 +563,7 @@
mounted() {
this.selectEnumByCategory()
this.selectDevicePrincipal()
- this.obtainItemParameterList()
+ this.obtainDepartmentList()
this.getInsProductIds()
// 鍒濆鍖�
this.clickSidebar(this.clickNodeVal)
@@ -575,13 +573,13 @@
handleNotification(cate) {
this.queryParams.largeCategory = cate
},
- obtainItemParameterList() {
- obtainItemParameterList().then(res => {
+ obtainDepartmentList() {
+ listDept({ status: '0' }).then(res => {
let data = []
res.data.forEach(a => {
data.push({
- label: a.laboratoryName,
- value: a.id
+ label: a.deptName,
+ value: a.deptId
})
})
this.subordinateDepartmentsList = data
@@ -608,6 +606,18 @@
this.page.size = limit;
this.getList();
},
+ tableRowClassName({ row }) {
+ const today = new Date();
+ const targetDate = new Date(row.activationDate);
+ const fiveDaysBeforeTarget = new Date(targetDate);
+ // 璁$畻鍓嶄簲澶╃殑鏃ユ湡
+ fiveDaysBeforeTarget.setDate(targetDate.getDate() - 5);
+ // 姣旇緝鏃堕渶瑕佺‘淇濇瘮杈冪殑鏄畬鏁寸殑鏃ユ湡鏃堕棿锛屽寘鍚椂鍒嗙
+ if (today > fiveDaysBeforeTarget) {
+ return 'red-row';
+ }
+ return '';
+ },
refresh() {
this.queryParams = {};
this.page.current = 1;
@@ -771,10 +781,6 @@
this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
return
}
- if (!this.formData.enDeviceName) {
- this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
- return
- }
if (!this.formData.specificationModel) {
this.$message.error('鏈緭鍏ヨ鏍煎瀷鍙�')
return
@@ -805,7 +811,7 @@
delete this.formData.updateUser
const formData = this.HaveJson(this.formData)
formData.insProductIds = formData.insProductIds ? formData.insProductIds.join() : ''
- if (formData.authorizedPerson.length === 0) {
+ if (formData.authorizedPerson && formData.authorizedPerson.length === 0) {
formData.authorizedPerson = ''
} else {
formData.authorizedPerson = JSON.stringify(formData.authorizedPerson)
@@ -826,10 +832,6 @@
submitForm2() {
if (!this.formData2.deviceName) {
this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
- return
- }
- if (!this.formData2.enDeviceName) {
- this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉癊N')
return
}
if (!this.formData2.specificationModel) {
--
Gitblit v1.9.3