| | |
| | | <div class="head-container addButton"> |
| | | <el-input v-model="search" clearable placeholder="è¾å
¥å
³é®åè¿è¡æç´¢" size="small" style="margin-bottom: 5px" |
| | | suffix-icon="el-icon-search" @keydown.enter.native="searchFilter" @blur="searchFilter" @clear="searchFilter"></el-input> |
| | | <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> |
| | | </div> |
| | | <div class="head-container"> |
| | | <el-tree ref="tree" v-loading="treeLoad" :allow-drop="allowDrop" :data="list" |
| | | :default-expanded-keys="expandedKeys" :draggable="true" :filter-node-method="filterNode" |
| | | <el-tree ref="tree" v-loading="treeLoad" :data="list" |
| | | :default-expanded-keys="expandedKeys" :filter-node-method="filterNode" |
| | | :props="{ children: 'children', label: 'label' }" highlight-current node-key="label" |
| | | style=" |
| | | height: calc(100vh - 173px); |
| | | overflow-y: scroll; |
| | | scrollbar-width: none;" |
| | | @node-click="handleNodeClick" |
| | | @node-drop="handleDrop"> |
| | | @node-click="handleNodeClick"> |
| | | <div slot-scope="{ node, data }" class="custom-tree-node"> |
| | | <el-row style="width: 100%"> |
| | | <el-col :class="{ sort: node.level > 3 }" :span="19" :title="data.label" style="text-align: left"> |
| | | <el-col :span="19" :title="data.label" style="text-align: left"> |
| | | <span> |
| | | <i :class="`node_i ${data.children != undefined |
| | | ? data.code === '[1]' |
| | | <i :class="`node_i ${isLeaf(data) |
| | | ? 'el-icon-tickets' |
| | | : node.level === 1 |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-folder' |
| | | : 'el-icon-tickets' |
| | | }`"></i> |
| | | {{ data.label }} |
| | | </span> |
| | | </el-col> |
| | | <el-col v-if=" |
| | | checkPermi(['standard:standardLibrary:delStandardTree']) && |
| | | (node.data.children === null || |
| | | node.data.children === undefined) |
| | | isLeaf(node.data) |
| | | " :span="2" style="text-align: right"> |
| | | <el-button size="mini" type="text" @click.stop="editTreeName(node.data)"> |
| | | <el-button size="mini" type="text" @click.stop="editTreeName(node)"> |
| | | <i class="el-icon-edit"></i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col v-if=" |
| | | checkPermi(['standard:standardLibrary:delStandardTree']) && |
| | | (node.data.children === null || |
| | | node.data.children === undefined) |
| | | isLeaf(node.data) |
| | | " :span="2" style="text-align: right"> |
| | | <el-button size="mini" type="text" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | |
| | | <p style="font-size: 14px; color: #999;margin-left: 10px">{{ selectTree }}</p> |
| | | </div> |
| | | <div class="options_button"> |
| | | <el-input v-model="productKeyword" :disabled="!selected.isLeaf" clearable placeholder="æç´¢æ£éªé¡¹/æ£éªé¡¹å项" |
| | | size="small" style="width: 240px" suffix-icon="el-icon-search" |
| | | @keyup.enter.native="searchProduct" @clear="searchProduct"></el-input> |
| | | <el-button v-if="isShowCopy" size="small" style="position: absolute; right: 20px; top: 1px" type="primary" |
| | | @click="openCopyDia">æ¹éå¤å¶</el-button> |
| | | </div> |
| | |
| | | |
| | | <el-dialog :visible.sync="addDia" title="å类添å " width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 30px"> |
| | | <el-col :span="24" style="color: #999; font-size: 13px"> |
| | | æ°å¢å°ï¼{{ selected.tree || 'æ ¹ç®å½' }} |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="line-height: 50px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <span class="required-span">* </span>åå·ï¼ |
| | | <span class="required-span">* </span>åç§°ï¼ |
| | | </el-col> |
| | | <el-col :offset="1" :span="16"> |
| | | <el-input v-model="addOb.model" clearable placeholder="请è¾å
¥åå·" size="small" |
| | | <el-input v-model="addOb.name" clearable placeholder="请è¾å
¥åç§°" size="small" |
| | | @keyup.enter.native="addStandardTree"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <span class="required-span">* </span>åå·ï¼ |
| | | <span class="required-span">* </span>åç§°ï¼ |
| | | </el-col> |
| | | <el-col :offset="1" :span="16"> |
| | | <el-input v-model="addOb.model" clearable placeholder="请è¾å
¥åå·" size="small" |
| | | <el-input v-model="addOb.name" clearable placeholder="请è¾å
¥åç§°" size="small" |
| | | @keyup.enter.native="updateStandardTree"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | |
| | | <script> |
| | | import Sortable from "sortablejs"; |
| | | import draggable from "vuedraggable"; |
| | | import { |
| | | updateTreeSort, |
| | | resetTreeDragBatch, |
| | | delStandardTree, |
| | | selectStandardTreeList, |
| | |
| | | upStandardProductList, |
| | | selectStandardProductListByMethodId, |
| | | updateSection, |
| | | upStandardProducts, |
| | | getStandardTemplate, |
| | | selectStandardProductByMethodId, |
| | | selectStandardProductEnumByMethodId, |
| | | } from "@/api/standard/standardLibrary"; |
| | | import bindSupplierDensityDialogAsk from "./components/bindSupplierDensityDialogAsk.vue"; |
| | | import BatchCopy from "./components/BatchCopy.vue"; |
| | | import { |
| | | isLeaf, |
| | | buildSelectTree, |
| | | getAncestorLabels, |
| | | dropLastLabel, |
| | | } from "@/utils/standardTree"; |
| | | import { Splitpanes, Pane } from "splitpanes"; |
| | | import "splitpanes/dist/splitpanes.css"; |
| | | |
| | |
| | | components: { |
| | | BatchCopy, |
| | | bindSupplierDensityDialogAsk, |
| | | draggable, |
| | | Splitpanes, |
| | | Pane |
| | | }, |
| | |
| | | factory: [], |
| | | addDia: false, |
| | | updateDia: false, // ä¿®æ¹æ ååå¼¹æ¡ |
| | | oldModel: "", |
| | | oldLabel: "", |
| | | editTree: "", |
| | | // å½åéä¸çèç¹ï¼label / 宿´è·¯å¾ / æ¯å¦å¶å(æ å) |
| | | selected: { |
| | | label: "", |
| | | tree: "", |
| | | isLeaf: false, |
| | | }, |
| | | // æ£éªé¡¹æç´¢å
³é®åï¼èµ°åç«¯è¿æ»¤ï¼æ£éªé¡¹ + æ£éªé¡¹åé¡¹ï¼ |
| | | productKeyword: "", |
| | | addOb: { |
| | | factory: null, |
| | | laboratory: null, |
| | | sampleType: null, |
| | | sample: null, |
| | | model: null, |
| | | name: "", |
| | | }, |
| | | laboratory: [], |
| | | addLoad: false, |
| | |
| | | total: 0, |
| | | currentPage: 1, |
| | | standardId: 0, |
| | | total0: 0, |
| | | currentPage0: 1, |
| | | productList0: [], |
| | | methodList: [], |
| | | productTableLoading0: false, |
| | | filters0: [], |
| | | filters1: [], |
| | | pages: 1, |
| | | inspectionItem: null, |
| | | inspectionItemSubclass: null, |
| | | sonLaboratory: null, |
| | | token: null, |
| | | fileList: [], |
| | | uploading: false, |
| | | isEquipment: true, |
| | | isHaveChildren: {}, |
| | | sortTable: null, |
| | | currentSupplierDensityRow: {}, // éæ©é¶ä»¶ç»å®æ¬æ¡æ°æ®çä¿¡æ¯ |
| | | bindSupplierDensityDialog: false, |
| | | isShowCopy: false, |
| | | batchCopyDia: false, |
| | | VUE_APP_BASE_API: process.env.VUE_APP_BASE_API, |
| | | moreSelects: [], |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | // ä¿®æ¹æå级åå |
| | | editTreeName(info) { |
| | | isLeaf, |
| | | // æå¼æ°å¢å¼¹æ¡ï¼å¨å½åéä¸èç¹ä¸æ°å¢åçº§ï¼æªéä¸åæ°å¢æ ¹çº§ï¼ |
| | | openAddDia() { |
| | | this.addOb.name = ""; |
| | | this.addDia = true; |
| | | }, |
| | | // ä¿®æ¹èç¹åå |
| | | editTreeName(node) { |
| | | this.updateDia = true; |
| | | this.oldModel = info.label; |
| | | }, |
| | | // ææ½æ¶å¤å®ç®æ èç¹è½å¦è¢«æ¾ç½® |
| | | // 'prev'ã'inner' å 'next'ï¼åãæå
¥ãå |
| | | allowDrop(draggingNode, dropNode, type) { |
| | | if (draggingNode.level !== 3) return; |
| | | if (draggingNode.data.level === dropNode.data.level) { |
| | | if (draggingNode.data.parentId === dropNode.data.parentId) { |
| | | return type === "prev" || type === "next"; |
| | | } else { |
| | | return false; |
| | | } |
| | | } else { |
| | | // ä¸å级è¿è¡å¤ç |
| | | return false; |
| | | } |
| | | }, |
| | | // treeææ½æå宿æ¶è§¦åçäºä»¶ |
| | | handleDrop(draggingNode, dropNode, dropType, ev) { |
| | | try { |
| | | this.treeLoad = true; |
| | | updateTreeSort(this.list).then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | | } |
| | | this.treeLoad = false; |
| | | }); |
| | | } catch (e) { |
| | | this.treeLoad = false; |
| | | console.log("e----", e); |
| | | } |
| | | this.oldLabel = node.label; |
| | | this.editTree = buildSelectTree(node, "null"); |
| | | this.addOb.name = node.label; |
| | | }, |
| | | rowDrop(methodId) { |
| | | const that = this; |
| | |
| | | }); |
| | | } |
| | | }, |
| | | hasChildWithId(nodes, name) { |
| | | for (let node of nodes) { |
| | | const comName = node.label + node.code; |
| | | if (comName == name) { |
| | | //夿éå½ç»ææ¡ä»¶ |
| | | this.isHaveChildren = node; |
| | | return node; |
| | | } else if (node.children && node.children.length > 0) { |
| | | //夿childrenæ¯å¦ææ°æ® |
| | | this.hasChildWithId(node.children, name); //éå½è°ç¨ |
| | | } |
| | | } |
| | | }, |
| | | // è°ç¨treeè¿æ»¤æ¹æ³ 䏿è±è¿æ»¤ |
| | | filterNode (value, data, node) { |
| | | if (!value) {ãããã//å¦ææ°æ®ä¸ºç©ºï¼åè¿åtrue,æ¾ç¤ºææçæ°æ®é¡¹ |
| | | return true |
| | | } |
| | | return data.label.indexOf(value) !== -1; |
| | | // æ¥è¯¢å表æ¯å¦æå¹é
æ°æ®ï¼å°å¼å°åï¼å¹é
è±ææ°æ® |
| | | // let val = value.toLowerCase() |
| | | // return this.chooseNode(val, data, node) // è°ç¨è¿æ»¤äºå±æ¹æ³ |
| | | }, |
| | | // è¿æ»¤ç¶èç¹ / åèç¹ (妿è¾å
¥çåæ°æ¯ç¶èç¹ä¸è½å¹é
ï¼åè¿å该èç¹ä»¥åå
¶ä¸çææåèç¹ï¼å¦æåæ°æ¯åèç¹ï¼åè¿å该èç¹çç¶èç¹ãnameæ¯ä¸æå符ï¼enNameæ¯è±æå符. |
| | | chooseNode (value, data, node) { |
| | | if (data.label.indexOf(value) !== -1) { |
| | | return true |
| | | } |
| | | const level = node.level |
| | | // å¦æä¼ å
¥çèç¹æ¬èº«å°±æ¯ä¸çº§èç¹å°±ä¸ç¨æ ¡éªäº |
| | | if (level === 1) { |
| | | return false |
| | | } |
| | | // å
åå½åèç¹çç¶èç¹ |
| | | let parentData = node.parent |
| | | // éåå½åèç¹çç¶èç¹ |
| | | let index = 0 |
| | | while (index < level - 1) { |
| | | // 妿å¹é
å°ç´æ¥è¿åï¼æ¤å¤name弿¯ä¸æå符ï¼enNameæ¯è±æå符ã夿å¹é
ä¸è±æè¿æ»¤ |
| | | if (parentData.data.label.indexOf(value) !== -1) { |
| | | return true |
| | | } |
| | | // å¦åçè¯åå¾ä¸ä¸å±åå¹é
|
| | | parentData = parentData.parent |
| | | index++ |
| | | } |
| | | // 没å¹é
å°è¿åfalse |
| | | return false |
| | | }, |
| | | |
| | | searchFilter() { |
| | |
| | | this.upIndex++; |
| | | }, |
| | | handleNodeClick(val, node, el) { |
| | | //æ çå¼ |
| | | if (node.childNodes.length === 0) { |
| | | this.isShowCopy = true; |
| | | } else { |
| | | this.isShowCopy = false; |
| | | } |
| | | const leaf = isLeaf(val); |
| | | // å¶åèç¹å³æ åï¼ææ¾ç¤ºæ¹éå¤å¶ãææ¥è¯¢æ£éªé¡¹ |
| | | this.isShowCopy = leaf; |
| | | 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 = buildSelectTree(node, "null"); |
| | | this.selected = { |
| | | label: val.label, |
| | | tree: this.selectTree, |
| | | isLeaf: leaf, |
| | | }; |
| | | // 忢èç¹æ¶æ¸
空æç´¢ä¸å表ï¼éæ åèç¹è¿è¦æ¸
空 standardIdï¼é¿å
æç´¢æ¥å°ä¸ä¸ä¸ªæ å |
| | | this.productKeyword = ""; |
| | | this.standardList = []; |
| | | this.productList = []; |
| | | if (leaf) { |
| | | 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; |
| | | } |
| | | this.getNodeParent(val.parent); |
| | | this.standardId = 0; |
| | | this.syncSortable(); |
| | | } |
| | | }, |
| | | remove(node, data) { |
| | |
| | | type: "error", |
| | | }) |
| | | .then(() => { |
| | | // this.treeLoad = true |
| | | 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) => { |
| | | const tree = buildSelectTree(node, "null"); |
| | | delStandardTree({ tree }).then((res) => { |
| | | this.$message.success("å·²å é¤"); |
| | | let arr = this.selectTree.split(" - "); |
| | | this.deleteStandard(this.list, arr[arr.length - 1]); |
| | | const labels = getAncestorLabels(node); |
| | | this.deleteStandard(this.list, labels[labels.length - 1]); |
| | | this.selectTree = ""; |
| | | this.selected = { label: "", tree: "", isLeaf: false }; |
| | | this.standardList = []; |
| | | this.productList = []; |
| | | this.standardId = 0; |
| | | this.isShowCopy = false; |
| | | this.productKeyword = ""; |
| | | this.total = 0; |
| | | this.syncSortable(); |
| | | }); |
| | | }) |
| | | .catch((e) => { }); |
| | |
| | | this.treeLoad = true; |
| | | selectStandardTreeList().then((res) => { |
| | | this.list = res.data; |
| | | this.expandedKeys = []; |
| | | this.list.forEach((a) => { |
| | | this.expandedKeys.push(a.label); |
| | | }); |
| | |
| | | this.standardEnum = data; |
| | | }); |
| | | }, |
| | | // æäº¤å类添å |
| | | // æäº¤å类添å ï¼å¨éä¸èç¹ä¸æ°å¢åçº§ï¼æªéä¸åæ°å¢æ ¹çº§ |
| | | addStandardTree() { |
| | | if (this.addOb.sampleType == null || this.addOb.sampleType == "") { |
| | | this.$message.error("对象ä¸åå¨"); |
| | | return; |
| | | } |
| | | if (this.addOb.model == null || this.addOb.model == "") { |
| | | this.$message.error("请填ååå·"); |
| | | const name = (this.addOb.name || "").trim(); |
| | | if (!name) { |
| | | this.$message.error("请填ååç§°"); |
| | | return; |
| | | } |
| | | this.addLoad = true; |
| | | addStandardTree(this.addOb) |
| | | addStandardTree({ |
| | | parentTree: this.selected.tree || "", |
| | | name, |
| | | }) |
| | | .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.addOb.name = ""; |
| | | this.selectStandardTreeList(); |
| | | this.addLoad = false; |
| | | }) |
| | | .catch((e) => { |
| | |
| | | this.addLoad = false; |
| | | }); |
| | | }, |
| | | // ä¿®æ¹åå· |
| | | // ä¿®æ¹èç¹åå |
| | | updateStandardTree() { |
| | | if (this.addOb.sampleType == null || this.addOb.sampleType == "") { |
| | | this.$message.error("对象ä¸åå¨"); |
| | | const name = (this.addOb.name || "").trim(); |
| | | if (!name) { |
| | | this.$message.error("请填ååç§°"); |
| | | return; |
| | | } |
| | | if (this.addOb.model == null || this.addOb.model == "") { |
| | | this.$message.error("请填ååå·"); |
| | | return; |
| | | } |
| | | this.addOb.oldModel = this.oldModel; |
| | | this.updateLoad = true; |
| | | updateStandardTree(this.addOb) |
| | | updateStandardTree({ |
| | | parentTree: dropLastLabel(this.editTree), |
| | | oldLabel: this.oldLabel, |
| | | name, |
| | | }) |
| | | .then((res) => { |
| | | this.$message.success("æ·»å æå"); |
| | | this.$tab.refreshPage(); |
| | | // this.selectStandardTreeList(); |
| | | this.$message.success("ä¿®æ¹æå"); |
| | | this.updateDia = false; |
| | | this.addOb.name = ""; |
| | | this.selectStandardTreeList(); |
| | | this.updateLoad = false; |
| | | }) |
| | | .catch((e) => { |
| | |
| | | tree: this.selectTree, |
| | | }).then((res) => { |
| | | this.tableLoad = false; |
| | | this.standardList = res.data.standardMethodList; |
| | | if (this.standardList && this.standardList.length > 0) { |
| | | const data = res.data || {}; |
| | | this.standardList = data.standardMethodList || []; |
| | | if (this.standardList.length > 0) { |
| | | this.$refs.standard.setCurrentRow(this.standardList[0]); |
| | | this.rowClick(this.standardList[0]); |
| | | } else { |
| | | this.productList = []; |
| | | this.syncSortable(); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | this.rowClick(this.standardList[index]); |
| | | } |
| | | }, |
| | | // æ£éªé¡¹æç´¢ï¼èµ°åç«¯è¿æ»¤ï¼å¹é
æ£éªé¡¹ + æ£éªé¡¹åé¡¹ï¼ |
| | | searchProduct() { |
| | | if (!this.selected.isLeaf || !this.standardId) return; |
| | | this.rowClick({ id: this.standardId }); |
| | | }, |
| | | // åªæéä¸çæ¯æ å(å¶å)ãæªå¨æç´¢è¿æ»¤ç¶æãä¸å表é空æ¶ï¼æå
è®¸ææ½æåº |
| | | syncSortable() { |
| | | if (this.sortTable) { |
| | | this.sortTable.destroy(); |
| | | this.sortTable = null; |
| | | } |
| | | if (!this.selected.isLeaf || this.productKeyword || this.productList.length === 0) return; |
| | | this.$nextTick(() => { |
| | | this.rowDrop(this.standardId); |
| | | }); |
| | | }, |
| | | rowClick(row, column, event) { |
| | | this.currentPage = 1; |
| | | this.tableLoad2 = true; |
| | |
| | | id: row.id, |
| | | tree: this.selectTree, |
| | | page: this.currentPage, |
| | | keyword: this.productKeyword, |
| | | }).then((res) => { |
| | | this.productList = res.data.productList; |
| | | this.total = res.data.total; |
| | | const data = res.data || {}; |
| | | this.productList = data.productList || []; |
| | | this.total = data.total || 0; |
| | | setTimeout(() => { |
| | | this.productList.forEach((a) => { |
| | | if (a.state == 1) this.toggleSelection(a); |
| | | }); |
| | | }, 300); |
| | | this.tableLoad2 = false; |
| | | const tree = this.selectTree.split(" - "); |
| | | // éæ©æåä¸å±æ æå¯ä»¥ææ½æåº |
| | | if (tree.length === 4) { |
| | | const name = tree[3] + "[4]"; |
| | | this.hasChildWithId(this.list, name); |
| | | if ( |
| | | this.isHaveChildren.children && |
| | | this.isHaveChildren.children.length > 0 |
| | | ) { |
| | | if (this.sortTable) { |
| | | this.sortTable.destroy(); |
| | | this.sortTable = null; |
| | | } |
| | | return; |
| | | } |
| | | } else if (tree.length < 4) { |
| | | if (this.sortTable) { |
| | | this.sortTable.destroy(); |
| | | this.sortTable = null; |
| | | } |
| | | return; |
| | | } |
| | | this.$nextTick(() => { |
| | | this.rowDrop(row.id); |
| | | }); |
| | | this.syncSortable(); |
| | | }); |
| | | }, |
| | | toggleSelection(row) { |
| | |
| | | }).then((res) => { |
| | | this.$message.success('å·²ä¿å') |
| | | }); |
| | | }, |
| | | filterHandler(value) { |
| | | for (let column in value) { |
| | | if (value[column].length === 0) { |
| | | if (column === "inspectionItem") { |
| | | this.inspectionItem = null; |
| | | } else if (column === "inspectionItemSubclass") { |
| | | this.inspectionItemSubclass = null; |
| | | } else if (column === "sonLaboratory") { |
| | | this.sonLaboratory = null; |
| | | } |
| | | } else { |
| | | if (column === "inspectionItem") { |
| | | this.inspectionItem = value[column][0]; |
| | | } else if (column === "inspectionItemSubclass") { |
| | | this.inspectionItemSubclass = value[column][0]; |
| | | } else if (column === "sonLaboratory") { |
| | | this.sonLaboratory = value[column][0]; |
| | | } |
| | | } |
| | | this.getList(); |
| | | } |
| | | }, |
| | | handleAll(e) { |
| | | if (e.length > 0) { |
| | |
| | | this.sectionRow.conductorType = JSON.stringify(conductorTypeList); |
| | | } |
| | | this.sectionLoad = true; |
| | | if (this.moreSelects.length === 0) { |
| | | updateSection({ |
| | | str: JSON.stringify({ |
| | | id: this.sectionRow.id, |
| | | section: this.sectionRow.section, |
| | | ask: this.sectionRow.ask, |
| | | tell: this.sectionRow.tell, |
| | | // price: this.sectionRow.price, |
| | | // manHour: this.sectionRow.manHour, |
| | | cores: this.sectionRow.cores, |
| | | conductorMaterial: this.sectionRow.conductorMaterial, |
| | | conductorType: this.sectionRow.conductorType, |
| | |
| | | this.$message.success("å·²ä¿å"); |
| | | this.sectionUpDia = false; |
| | | }); |
| | | } else { |
| | | upStandardProducts({ |
| | | ids: JSON.stringify(this.moreSelects.map((a) => a.id)), |
| | | standardProductList: { |
| | | section: this.sectionRow.section, |
| | | ask: this.sectionRow.ask, |
| | | tell: this.sectionRow.tell, |
| | | // price: this.sectionRow.price, |
| | | // manHour: this.sectionRow.manHour, |
| | | cores: this.sectionRow.cores, |
| | | conductorMaterial: this.sectionRow.conductorMaterial, |
| | | conductorType: this.sectionRow.conductorType, |
| | | }, |
| | | }).then((res) => { |
| | | this.sectionLoad = false; |
| | | this.$message.success("å·²ä¿å"); |
| | | this.sectionUpDia = false; |
| | | this.currentPage0 = 1; |
| | | this.getList(); |
| | | this.rowClick({ |
| | | id: this.standardId, |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | bindSupplierDensitySecond(row) { |
| | | this.bindSupplierDensity(row); |
| | |
| | | this.methodList = data; |
| | | }); |
| | | }, |
| | | handleSelectAll0(rows) { |
| | | if (rows.length) { |
| | | rows.forEach((a) => { |
| | | if (!this.moreSelects.find((b) => a.id === b.id)) { |
| | | this.moreSelects.push(a); |
| | | } |
| | | }); |
| | | } else { |
| | | this.productList0.forEach((a) => { |
| | | this.moreSelects = this.moreSelects.filter((b) => b.id != a.id); |
| | | }); |
| | | } |
| | | }, |
| | | handleSelectionChange0(val, row) { |
| | | if (this.moreSelects.find((a) => a.id === row.id)) { |
| | | this.moreSelects = this.moreSelects.filter((a) => a.id != row.id); |
| | | } else { |
| | | this.moreSelects.push(row); |
| | | } |
| | | }, |
| | | getList() { |
| | | this.productTableLoading0 = true; |
| | | this.getItemEnum(); |
| | | selectStandardProductByMethodId({ |
| | | id: this.standardId, |
| | | tree: this.selectTree, |
| | | page: this.currentPage0, |
| | | laboratory: this.sonLaboratory, |
| | | items: this.inspectionItemSubclass, |
| | | item: this.inspectionItem, |
| | | }).then((res) => { |
| | | this.productList0 = res.data.records; |
| | | this.total0 = res.data.total; |
| | | this.productTableLoading0 = false; |
| | | this.page = res.data.pages; |
| | | this.$nextTick(() => { |
| | | this.productList0.forEach((a, i) => { |
| | | if (this.moreSelects.find((b) => a.id == b.id)) { |
| | | this.$refs.productTable0.toggleRowSelection( |
| | | this.productList0[i], |
| | | true |
| | | ); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | }, |
| | | handleCurrentChange0(e) { |
| | | this.currentPage0 = e; |
| | | this.getList(); |
| | | }, |
| | | getItemEnum() { |
| | | selectStandardProductEnumByMethodId({ |
| | | id: this.standardId, |
| | | tree: this.selectTree, |
| | | item: this.inspectionItem, |
| | | }).then((res) => { |
| | | this.filters0 = []; |
| | | this.filters1 = []; |
| | | res.data.item.forEach((a) => { |
| | | this.filters0.push({ |
| | | text: a.inspectionItem, |
| | | value: a.inspectionItem, |
| | | }); |
| | | }); |
| | | res.data.items.forEach((a) => { |
| | | if (a != null) { |
| | | this.filters1.push({ |
| | | text: a.inspectionItemSubclass, |
| | | value: a.inspectionItemSubclass, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | |
| | | .options_button { |
| | | margin-top: 3px; |
| | | margin-right: 120px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | } |
| | | |