From 604147ab79d5246a6215a7a89bd340dcc393a085 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 25 三月 2025 17:55:22 +0800
Subject: [PATCH] 设备导入功能
---
src/views/CNAS/resourceDemand/device/component/management.vue | 107 +++++++++++++++++++++++++++++++----------------------
src/views/business/outsourcedParts/index.vue | 1
2 files changed, 63 insertions(+), 45 deletions(-)
diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index b5b83c1..07ac2d6 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -1,35 +1,40 @@
<!-- 璁惧宸ュ叿鏄庣粏 -->
<template>
<div class="role_manage">
- <div class="search">
- <div>
- <el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
- <el-form-item label="鐘舵��" prop="deviceStatus" class="form-item">
- <el-select v-model="queryParams.deviceStatus" placeholder="鍏ㄩ儴" size="small">
- <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="璁惧鍚嶇О" prop="deviceName">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.deviceName"
- @keyup.enter.native="refreshTable()">
- </el-input>
- </el-form-item>
- <el-form-item label="瑙勬牸鍨嬪彿" prop="specificationModel">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="queryParams.specificationModel" @keyup.enter.native="refreshTable()"></el-input>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button>
- <el-button size="mini" @click="refresh">閲嶇疆</el-button>
- </el-form-item>
- </el-form>
- </div>
- <div>
- <el-button size="small" type="primary" @click="dialogVisible2 = true">鏂板</el-button>
- <el-button size="small" type="primary" @click="handleDownOne">瀵煎嚭</el-button>
- </div>
- </div>
+ <div class="search">
+ <div>
+ <el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
+ <el-form-item label="鐘舵��" prop="deviceStatus" class="form-item">
+ <el-select v-model="queryParams.deviceStatus" placeholder="鍏ㄩ儴" size="small">
+ <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="璁惧鍚嶇О" prop="deviceName">
+ <el-input size="small" style="width: 160px;" placeholder="璇疯緭鍏�" clearable v-model="queryParams.deviceName"
+ @keyup.enter.native="refreshTable()">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="瑙勬牸鍨嬪彿" prop="specificationModel">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.specificationModel"
+ @keyup.enter.native="refreshTable()" style="width: 160px;"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button>
+ <el-button size="mini" @click="refresh">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ <div>
+ <el-upload ref='upload' style="display: inline;margin-right: 8px" :action="uploadAction"
+ :before-upload="beforeUpload" :headers="uploadHeader" :on-error="onError" :on-success="handleSuccessUp"
+ :show-file-list="false" accept='.xls,.xlsx'>
+ <el-button size="small" type="primary">瀵煎叆</el-button>
+ </el-upload>
+ <el-button size="small" type="primary" @click="dialogVisible2 = true">鏂板</el-button>
+ <el-button size="small" type="primary" @click="handleDownOne">瀵煎嚭</el-button>
+ </div>
+ </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>
@@ -415,6 +420,7 @@
},
data() {
return {
+ uploadAction: process.env.VUE_APP_BASE_API + '/deviceScope/importDevice',
dateFormat: 'yyyy-MM-dd',
deviceId: '',
fileTypeOptions: [
@@ -491,18 +497,18 @@
{
label: "璁惧鍒嗙被", prop: "largeCategory", dataType: "tag",
formatData: (params) => {
- if (this.equipmentList.find(m => m.value == params)) {
- return this.equipmentList.find(m => m.value == params).label
- } else {
- return null
- }
+ if (this.equipmentList.find(m => m.value == params)) {
+ return this.equipmentList.find(m => m.value == params).label
+ } else {
+ return null
+ }
},
formatType: (params) => {
- if (this.equipmentList.find(m => m.value == params)) {
- return this.equipmentList.find(m => m.value == params).type
- } else {
- return null
- }
+ if (this.equipmentList.find(m => m.value == params)) {
+ return this.equipmentList.find(m => m.value == params).type
+ } else {
+ return null
+ }
}
},
{ label: "鍗曚环", prop: "unitPrice" },
@@ -765,6 +771,15 @@
})
}
},
+ handleSuccessUp(response, file, fileList) {
+ this.$refs.upload.clearFiles()
+ if (response.code !== 200) {
+ this.$message.error(response.msg)
+ return
+ }
+ this.$message.success('涓婁紶鎴愬姛')
+ this.refreshTable()
+ },
submitForm() {
if (!this.formData.deviceName) {
this.$message.error('鏈緭鍏ヤ华鍣ㄥ悕绉�')
@@ -991,10 +1006,10 @@
<style scoped>
.search {
- height: 46px;
- display: flex;
- justify-content: space-between;
- margin-top: 10px;
+ height: 46px;
+ display: flex;
+ justify-content: space-between;
+ margin-top: 10px;
}
.search_thing {
@@ -1013,6 +1028,7 @@
background-color: #fff;
height: calc(100vh - 16em);
}
+
.picName {
overflow: hidden;
text-overflow: ellipsis;
@@ -1020,7 +1036,8 @@
word-break: break-all;
width: 120px;
}
-.form-item >>>.el-form-item__content {
- width: 120px;
+
+.form-item>>>.el-form-item__content {
+ width: 120px;
}
</style>
diff --git a/src/views/business/outsourcedParts/index.vue b/src/views/business/outsourcedParts/index.vue
index 335d700..a8851a9 100644
--- a/src/views/business/outsourcedParts/index.vue
+++ b/src/views/business/outsourcedParts/index.vue
@@ -188,6 +188,7 @@
this.getDicts("inspection_task_state").then((response) => {
this.inspectionTaskState = this.dictToValue(response.data);
});
+ this.getList()
},
methods: {
getList() {
--
Gitblit v1.9.3