| | |
| | | <template> |
| | | <div class="standard"> |
| | | <div class="left"> |
| | | <splitpanes class="default-theme"> |
| | | <pane size="20"> |
| | | <div class="left"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-input v-model="search" clearable placeholder="输入关键字进行搜索" size="small" style="margin-bottom: 5px" |
| | |
| | | scrollbar-width: none; |
| | | " @node-click="handleNodeClick" |
| | | @node-drop="handleDrop"> |
| | | <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"> |
| | | <span> |
| | | <i :class="`node_i ${data.children != undefined |
| | | ? data.code === '[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) |
| | | " :span="2" style="text-align: right"> |
| | | <el-button size="mini" type="text" @click.stop="editTreeName(node.data)"> |
| | | <div slot-scope="{ node, data }" class="custom-tree-node" style="width: calc(100% - 15px)"> |
| | | <div :title="data.label" style="display: flex;align-items: center;flex-wrap: nowrap;flex-direction: row;justify-content: space-between;"> |
| | | <div style="width: calc(100% - 50px);white-space: nowrap;text-overflow: ellipsis;" |
| | | :style="`overflow:${(node.data.children === null || node.data.children === undefined)?'clip':'visible'}`" |
| | | > |
| | | <i :class="`node_i ${data.children != undefined |
| | | ? data.code === '[1]' |
| | | ? 'el-icon-folder-opened' |
| | | : 'el-icon-folder' |
| | | : 'el-icon-tickets' |
| | | }`"></i> |
| | | {{data.label}} |
| | | </div> |
| | | <div v-if="(node.data.children === null || node.data.children === undefined)" style="width:50px"> |
| | | <el-button v-if="checkPermi(['standard:standardLibrary:delStandardTree'])" size="mini" type="text" @click.stop="editTreeName(node.data)"> |
| | | <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) |
| | | " :span="2" style="text-align: right"> |
| | | <el-button size="mini" type="text" @click.stop="remove(node, data)"> |
| | | <el-button style="margin-left: 0" size="mini" v-if="checkPermi(['standard:standardLibrary:delStandardTree'])" type="text" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="right"> |
| | | </pane> |
| | | <pane size="80"> |
| | | <div class="right"> |
| | | <el-row class="title" style="width: 100%"> |
| | | <el-col :span="20" style="font-size: 14px; color: #999">{{ |
| | | selectTree |
| | |
| | | <p style="text-align: right;margin-right: 20px;color: #333;">共{{ total }}条</p> |
| | | </el-row> |
| | | </div> |
| | | </pane> |
| | | </splitpanes> |
| | | |
| | | <el-dialog :visible.sync="addDia" title="分类添加" width="400px"> |
| | | <div class="body"> |
| | |
| | | } from "@/api/standard/standardLibrary"; |
| | | import bindSupplierDensityDialogAsk from "./components/bindSupplierDensityDialogAsk.vue"; |
| | | import BatchCopy from "./components/BatchCopy.vue"; |
| | | import { Splitpanes, Pane } from "splitpanes"; |
| | | import "splitpanes/dist/splitpanes.css"; |
| | | |
| | | export default { |
| | | name: 'StandardLibrary', |
| | | components: { |
| | | BatchCopy, |
| | | bindSupplierDensityDialogAsk, |
| | | draggable, |
| | | Splitpanes, |
| | | Pane, |
| | | }, |
| | | dicts: ["sys_factory", "sys_sub_lab", "sys_samp_type"], |
| | | data() { |
| | |
| | | let data = this.selectTree.split(" - "); |
| | | let data2 = ""; |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | data2 += " - " + data[index]; |
| | | if (data[index] && data[index] !== 'null') { |
| | | data2 += " - " + data[index]; |
| | | } |
| | | } |
| | | this.selectTree = data2.replace(" - ", ""); |
| | | if (node.childNodes.length === 0) { |
| | |
| | | }, |
| | | getNodeParent(val) { |
| | | if (val.parent != null) { |
| | | if (val.data.children === null) { |
| | | this.selectTree += " - " + val.label + " - " + "null"; |
| | | } else { |
| | | this.selectTree += " - " + val.label; |
| | | } |
| | | this.selectTree += " - " + val.label; |
| | | this.getNodeParent(val.parent); |
| | | } |
| | | }, |
| | |
| | | } |
| | | |
| | | .left { |
| | | width: 330px; |
| | | height: calc(100% - 40px - 10px); |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: white; |
| | | padding: 15px; |
| | | } |
| | |
| | | } |
| | | |
| | | .right { |
| | | margin-left: 5px; |
| | | width: calc(100% - 350px); |
| | | height: calc(100% - 40px); |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .right .title { |