From 9aae2af6f3937a7d99ec619b51f457002cef969f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 03 十一月 2025 14:29:37 +0800
Subject: [PATCH] 档案管理-添加导出功能
---
src/views/qualityManagement/metricMaintenance/index.vue | 175 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 140 insertions(+), 35 deletions(-)
diff --git a/src/views/qualityManagement/metricMaintenance/index.vue b/src/views/qualityManagement/metricMaintenance/index.vue
index 1c2b207..016a4c1 100644
--- a/src/views/qualityManagement/metricMaintenance/index.vue
+++ b/src/views/qualityManagement/metricMaintenance/index.vue
@@ -51,7 +51,7 @@
<el-button type="primary" @click="openModelDia('add')">
鏂板妫�娴嬫寚鏍�
</el-button>
- <ImportExcel @uploadSuccess="getModelList" />
+ <el-button @click="handleOut">瀵煎嚭</el-button>
<el-button
type="danger"
@click="handleDelete"
@@ -70,18 +70,88 @@
@selection-change="handleSelectionChange"
:tableLoading="tableLoading"
@pagination="pagination"
- :total="total"
+ :total="page.total"
></PIMTable>
</div>
+ <el-dialog
+ v-model="modelDia"
+ title="妫�娴嬫寚鏍�"
+ width="400px"
+ @close="closeModelDia"
+ >
+ <el-form
+ :model="modelForm"
+ label-width="140px"
+ label-position="top"
+ :rules="modelRules"
+ ref="modelFormRef"
+ >
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鎸囨爣锛�" prop="parameterItem">
+ <el-input
+ v-model="modelForm.parameterItem"
+ placeholder="璇疯緭鍏ユ寚鏍�"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鍗曚綅锛�" prop="unit">
+ <el-input
+ v-model="modelForm.unit"
+ placeholder="璇疯緭鍏ュ崟浣�"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鏍囧噯鍊硷細" prop="standardValue">
+ <el-input
+ v-model="modelForm.standardValue"
+ placeholder="璇疯緭鍏ユ爣鍑嗗��"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鍐呮帶鍊硷細" prop="controlValue">
+ <el-input
+ v-model="modelForm.controlValue"
+ placeholder="璇疯緭鍏ュ唴鎺у��"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button type="primary" @click="submitModelForm">纭</el-button>
+ <el-button @click="closeModelDia">鍙栨秷</el-button>
+ </div>
+ </template>
+ </el-dialog>
</div>
</template>
<script setup>
import {ref} from "vue";
-import {delProductModel, modelListPage, productTreeList} from "@/api/basicData/product.js";
+import {addOrEditProductModel, delProductModel, modelListPage, productTreeList} from "@/api/basicData/product.js";
import ImportExcel from "@/views/basicData/product/ImportExcel/index.vue";
import {ElMessageBox} from "element-plus";
-
+import {
+ qualityTestStandardAdd, qualityTestStandardDel,
+ qualityTestStandardListPage,
+ qualityTestStandardUpdate
+} from "@/api/qualityManagement/metricMaintenance.js";
+const { proxy } = getCurrentInstance();
// 鏍�
const search = ref("");
const treeLoad = ref(false);
@@ -92,15 +162,14 @@
// 鎸囨爣琛ㄦ牸
const tableData = ref([]);
const tableLoading = ref(false);
-const total = ref(0);
const page = reactive({
current: 1,
size: 10,
});
const tableColumn = ref([
{
- label: "瑙勬牸鍨嬪彿",
- prop: "model",
+ label: "鎸囨爣",
+ prop: "parameterItem",
},
{
label: "鍗曚綅",
@@ -108,11 +177,11 @@
},
{
label: "鏍囧噯鍊�",
- prop: "unit",
+ prop: "standardValue",
},
{
label: "鍐呮帶鍊�",
- prop: "unit",
+ prop: "controlValue",
},
{
dataType: "action",
@@ -129,41 +198,38 @@
],
},
]);
+const selectedRows = ref([]);
// 鎸囨爣寮规
const modelDia = ref(false);
const modelOperationType = ref("");
const data = reactive({
- form: {
- productName: "",
- },
- rules: {
- productName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- },
modelForm: {
- model: "",
+ parameterItem: "",
unit: "",
+ standardValue: "",
+ controlValue: "",
},
modelRules: {
- model: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ parameterItem: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
unit: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ standardValue: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ controlValue: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
},
});
-const { form, rules, modelForm, modelRules } = toRefs(data);
+const { modelForm, modelRules } = toRefs(data);
// 鏌ヨ浜у搧鏍�
const getProductTreeList = () => {
treeLoad.value = true;
- productTreeList()
- .then((res) => {
- list.value = res;
- list.value.forEach((a) => {
- expandedKeys.value.push(a.label);
- });
- treeLoad.value = false;
- })
- .catch((err) => {
- treeLoad.value = false;
- });
+ productTreeList().then((res) => {
+ list.value = res;
+ list.value.forEach((a) => {
+ expandedKeys.value.push(a.label);
+ });
+ treeLoad.value = false;
+ }).catch((err) => {
+ treeLoad.value = false;
+ });
};
// 杩囨护浜у搧鏍�
const searchFilter = () => {
@@ -188,14 +254,13 @@
};
const getModelList = () => {
tableLoading.value = true;
- modelListPage({
- id: currentId.value,
+ qualityTestStandardListPage({
+ productId: currentId.value,
current: page.current,
size: page.size,
}).then((res) => {
- console.log("res", res);
- tableData.value = res.records;
- total.value = res.total;
+ tableData.value = res.data.records;
+ page.total = res.data.total;
tableLoading.value = false;
});
};
@@ -246,6 +311,19 @@
modelForm.value = { ...data };
}
};
+// 瀵煎嚭
+const handleOut = () => {
+ ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+ confirmButtonText: "纭",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ }).then(() => {
+ proxy.download("/quality/qualityTestStandard/export", {}, "妫�娴嬫寚鏍�.xlsx");
+ }).catch(() => {
+ proxy.$modal.msg("宸插彇娑�");
+ });
+};
+
// 鍒犻櫎鎸囨爣
const handleDelete = () => {
let ids = [];
@@ -261,7 +339,7 @@
type: "warning",
}).then(() => {
tableLoading.value = true;
- delProductModel(ids).then((res) => {
+ qualityTestStandardDel(ids).then((res) => {
proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
getModelList();
}).finally(() => {
@@ -271,6 +349,33 @@
proxy.$modal.msg("宸插彇娑�");
});
};
+
+// 鎻愪氦瑙勬牸鍨嬪彿淇敼
+const submitModelForm = () => {
+ proxy.$refs.modelFormRef.validate((valid) => {
+ if (valid) {
+ modelForm.value.productId = Number(currentId.value);
+ if(modelOperationType.value === 'add') {
+ qualityTestStandardAdd(modelForm.value).then((res) => {
+ proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
+ closeModelDia();
+ getModelList();
+ });
+ } else {
+ qualityTestStandardUpdate(modelForm.value).then((res) => {
+ proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
+ closeModelDia();
+ getModelList();
+ });
+ }
+ }
+ });
+};
+// 鍏抽棴鍨嬪彿寮规
+const closeModelDia = () => {
+ proxy.$refs.modelFormRef.resetFields();
+ modelDia.value = false;
+};
getProductTreeList();
</script>
--
Gitblit v1.9.3