From 945b8c7ed3f82c7b475dbe1757882a08052d4d37 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 25 三月 2025 16:45:11 +0800
Subject: [PATCH] 标准库-添加,修改型号,树重新拼接
---
src/views/standard/standardLibrary/index.vue | 211 ++++++++++++++++++++++------------------------------
1 files changed, 89 insertions(+), 122 deletions(-)
diff --git a/src/views/standard/standardLibrary/index.vue b/src/views/standard/standardLibrary/index.vue
index d9855a5..377a29f 100644
--- a/src/views/standard/standardLibrary/index.vue
+++ b/src/views/standard/standardLibrary/index.vue
@@ -8,7 +8,7 @@
</el-col>
<el-col v-if="checkPermi(['standard:standardLibrary:add'])" :span="4"
style="text-align: center; line-height: 30px">
- <el-button circle icon="el-icon-plus" size="mini" type="primary" @click="addDia = true"></el-button>
+ <el-button circle icon="el-icon-plus" size="mini" type="primary" @click="openAddDia"></el-button>
</el-col>
</el-row>
<el-tree ref="tree" v-loading="treeLoad" :allow-drop="allowDrop" :data="list"
@@ -181,9 +181,6 @@
</template>
</el-table-column>
</el-table>
- <!-- <el-pagination :current-page="currentPage" :page-size="300" :total="total" layout="total"
- style="position: absolute; right: 16px; bottom: 1px" @current-change="handleCurrentChange">
- </el-pagination> -->
<p style="text-align: right;margin-right: 20px;color: #333;">鍏眥{ total }}鏉�</p>
</el-row>
</div>
@@ -195,8 +192,7 @@
<span class="required-span">* </span>鍨嬪彿锛�
</el-col>
<el-col :offset="1" :span="16">
- <el-input v-model="addOb.model" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"
- @keyup.enter.native="addStandardTree"></el-input>
+ <el-input v-model="addOb.modelName" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"></el-input>
</el-col>
</el-row>
</div>
@@ -212,8 +208,7 @@
<span class="required-span">* </span>鍨嬪彿锛�
</el-col>
<el-col :offset="1" :span="16">
- <el-input v-model="addOb.model" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"
- @keyup.enter.native="updateStandardTree"></el-input>
+ <el-input v-model="addOb.modelName" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"></el-input>
</el-col>
</el-row>
</div>
@@ -259,16 +254,6 @@
<el-input v-model="scope.row.conductorType" clearable placeholder="瀵间綋绫诲瀷" size="small"></el-input>
</template>
</el-table-column>
- <!-- <el-table-column align="center" label="鍗曚环" width="120">-->
- <!-- <template slot-scope="scope">-->
- <!-- <el-input v-model="scope.row.price" clearable placeholder="鍗曚环" size="small"></el-input>-->
- <!-- </template>-->
- <!-- </el-table-column>-->
- <!-- <el-table-column align="center" label="宸ユ椂绯绘暟" width="120">-->
- <!-- <template slot-scope="scope">-->
- <!-- <el-input v-model="scope.row.manHour" clearable placeholder="宸ユ椂绯绘暟" size="small"></el-input>-->
- <!-- </template>-->
- <!-- </el-table-column>-->
<el-table-column align="center" label="鎿嶄綔" width="70">
<template slot-scope="scope">
<el-button circle icon="el-icon-minus" size="mini" type="danger"
@@ -333,13 +318,11 @@
factory: [],
addDia: false,
updateDia: false, // 淇敼鏍戝悕瀛楀脊妗�
- oldModel: "",
addOb: {
- factory: null,
- laboratory: null,
- sampleType: null,
- sample: null,
- model: null,
+ id: '',
+ modelName: null,
+ parentLevel: '',
+ parentId: '',
},
laboratory: [],
addLoad: false,
@@ -411,11 +394,6 @@
};
},
methods: {
- // 淇敼鏈�瀛愮骇鍚嶅瓧
- editTreeName(info) {
- this.updateDia = true;
- this.oldModel = info.label;
- },
// 鎷栨嫿鏃跺垽瀹氱洰鏍囪妭鐐硅兘鍚﹁鏀剧疆
// 'prev'銆�'inner' 鍜� 'next'锛屽墠銆佹彃鍏ャ�佸悗
allowDrop(draggingNode, dropNode, type) {
@@ -540,67 +518,66 @@
this.upIndex++;
},
handleNodeClick(val, node, el) {
- //鏍戠殑鍊�
- if (node.childNodes.length === 0) {
- this.isShowCopy = true;
- } else {
- this.isShowCopy = false;
- }
+ // 鍒ゆ柇鏄惁涓哄彾瀛愯妭鐐�
+ this.isShowCopy = node.childNodes.length === 0;
+
+ // 鏇存柊鐖惰妭鐐逛俊鎭�
+ this.addOb.parentLevel = node.data.level;
+ this.addOb.parentId = node.data.value;
+ this.addOb.id = node.data.value;
+
+ // 鍒濆鍖栧垎椤电浉鍏冲彉閲�
this.total = 0;
this.currentPage = 1;
- this.selectTree = "";
- this.getNodeParent(node);
- this.selectTree = this.selectTree.replace(" - ", "");
- let data = this.selectTree.split(" - ");
- let data2 = "";
- for (let index = data.length - 1; index >= 0; index--) {
- data2 += " - " + data[index];
- }
- this.selectTree = data2.replace(" - ", "");
- if (node.childNodes.length === 0) {
+
+ // 鎷兼帴鏍戣矾寰�
+ this.selectTree = this.getReversedTreePath(node);
+
+ // 濡傛灉鏄彾瀛愯妭鐐癸紝璋冪敤鐗瑰畾鏂规硶
+ if (this.isShowCopy) {
this.selectsStandardMethodByFLSSM();
}
- let trees = this.selectTree.split(" - ");
- this.addOb.factory = trees[0];
- this.addOb.laboratory = trees[1];
- this.addOb.sampleType = trees[2];
- this.addOb.sample = trees[3];
},
- getNodeParent(val) {
- if (val.parent != null) {
- if (val.data.children === null) {
- this.selectTree += " - " + val.label + " - " + "null";
- } else {
- this.selectTree += " - " + val.label;
+
+ /**
+ * 鑾峰彇鍙嶅悜鎷兼帴鐨勬爲璺緞瀛楃涓�
+ * @param {Object} node - 褰撳墠鑺傜偣
+ * @returns {string} - 鍙嶅悜鎷兼帴鐨勬爲璺緞
+ */
+ getReversedTreePath(node) {
+ const pathParts = [];
+
+ // 閫掑綊鑾峰彇鐖惰妭鐐硅矾寰�
+ const collectParentLabels = (currentNode) => {
+ if (currentNode && currentNode.label) {
+ pathParts.unshift(currentNode.label); // 灏嗗綋鍓嶈妭鐐规爣绛炬彃鍏ュ埌鏁扮粍寮�澶�
}
- this.getNodeParent(val.parent);
- }
+ if (currentNode.parent) {
+ collectParentLabels(currentNode.parent); // 閫掑綊澶勭悊鐖惰妭鐐�
+ }
+ };
+
+ collectParentLabels(node);
+
+ // 鎷兼帴璺緞骞惰繑鍥�
+ return pathParts.join(" - ");
},
remove(node, data) {
this.$confirm("鏄惁鍒犻櫎璇ュ眰绾�", "鎻愮ず", {
type: "error",
- })
- .then(() => {
- // this.treeLoad = true
+ }).then(() => {
+ this.selectTree = "";
+ // 鎷兼帴鏍戣矾寰�
+ this.selectTree = this.getReversedTreePath(node);
+ delStandardTree({ tree: this.selectTree }).then((res) => {
+ this.$message.success("宸插垹闄�");
+ let arr = this.selectTree.split(" - ");
+ this.deleteStandard(this.list, arr[arr.length - 1]);
this.selectTree = "";
- this.getNodeParent(node);
- this.selectTree = this.selectTree.replace(" - ", "");
- let data = this.selectTree.split(" - ");
- let data2 = "";
- for (let index = data.length - 1; index >= 0; index--) {
- data2 += " - " + data[index];
- }
- this.selectTree = data2.replace(" - ", "");
- delStandardTree({ tree: this.selectTree }).then((res) => {
- this.$message.success("宸插垹闄�");
- let arr = this.selectTree.split(" - ");
- this.deleteStandard(this.list, arr[arr.length - 1]);
- this.selectTree = "";
- this.standardList = [];
- this.productList = [];
- });
+ this.standardList = [];
+ this.productList = [];
})
- .catch((e) => { });
+ }).catch((e) => { });
},
deleteStandard(arr, label) {
arr.forEach((item, index) => {
@@ -679,62 +656,52 @@
this.standardEnum = data;
});
},
+ // 鎵撳紑鏂板寮规
+ openAddDia () {
+ this.addDia = true
+ this.addOb.modelName = ''
+ },
// 鎻愪氦鍒嗙被娣诲姞
addStandardTree() {
- if (this.addOb.sampleType == null || this.addOb.sampleType == "") {
- this.$message.error("瀵硅薄涓嶅瓨鍦�");
- return;
- }
- if (this.addOb.model == null || this.addOb.model == "") {
+ if (this.addOb.modelName == null || this.addOb.modelName == "") {
this.$message.error("璇峰~鍐欏瀷鍙�");
return;
}
this.addLoad = true;
- addStandardTree(this.addOb)
- .then((res) => {
- this.$message.success("娣诲姞鎴愬姛");
- this.addDia = false;
- this.list
- .find((a) => a.label == this.addOb.factory)
- .children.find((a) => a.label == this.addOb.laboratory)
- .children.find((a) => a.label == this.addOb.sampleType)
- .children.find((a) => a.label == this.addOb.sample)
- .children.push({
- code: "[5]",
- label: this.addOb.model,
- value: this.addOb.model,
- });
- this.addLoad = false;
- })
- .catch((e) => {
- this.addDia = false;
- this.addLoad = false;
- });
+ delete this.addOb.id;
+ addStandardTree(this.addOb).then((res) => {
+ this.$message.success("娣诲姞鎴愬姛");
+ this.addOb.modelName = "";
+ this.addDia = false;
+ this.selectStandardTreeList();
+ this.addLoad = false;
+ }).catch((e) => {
+ this.addLoad = false;
+ });
},
- // 淇敼鍨嬪彿
+ // 鎵撳紑淇敼鍚嶅瓧寮规
+ editTreeName(info) {
+ this.updateDia = true;
+ this.addOb.modelName = info.label;
+ },
+ // 鎻愪氦淇敼鍨嬪彿
updateStandardTree() {
- if (this.addOb.sampleType == null || this.addOb.sampleType == "") {
- this.$message.error("瀵硅薄涓嶅瓨鍦�");
- return;
- }
- if (this.addOb.model == null || this.addOb.model == "") {
+ if (this.addOb.modelName == null || this.addOb.modelName == "") {
this.$message.error("璇峰~鍐欏瀷鍙�");
return;
}
- this.addOb.oldModel = this.oldModel;
this.updateLoad = true;
- updateStandardTree(this.addOb)
- .then((res) => {
- this.$message.success("娣诲姞鎴愬姛");
- this.$tab.refreshPage();
- // this.selectStandardTreeList();
- this.updateDia = false;
- this.updateLoad = false;
- })
- .catch((e) => {
- this.updateDia = false;
- this.updateLoad = false;
- });
+ delete this.addOb.parentLevel;
+ delete this.addOb.parentId;
+ updateStandardTree(this.addOb).then((res) => {
+ this.$message.success("娣诲姞鎴愬姛");
+ this.selectStandardTreeList();
+ this.addOb.modelName = "";
+ this.updateDia = false;
+ this.updateLoad = false;
+ }).catch((e) => {
+ this.updateLoad = false;
+ });
},
selectsStandardMethodByFLSSM() {
this.tableLoad = true;
--
Gitblit v1.9.3