| | |
| | | <style scoped> |
| | | .standard { |
| | | padding: 20px 0; |
| | | display: flex; |
| | | } |
| | | |
| | | .left { |
| | |
| | | .custom-tree-node .el-icon-delete { |
| | | color: #3A7BFA; |
| | | opacity: 0; |
| | | position: relative; |
| | | right: 0; |
| | | font-size: 16px; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .custom-tree-node:hover .el-icon-delete { |
| | |
| | | color: orange; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .right { |
| | | margin-left: 5px; |
| | | width: calc(100% - 305px); |
| | | height: calc(100% - 40px); |
| | | } |
| | | |
| | | .right .title { |
| | | height: 50px; |
| | | line-height: 50px; |
| | | padding: 0 10px; |
| | | background-color: white; |
| | | } |
| | | |
| | | .standard_table{ |
| | | border-top: 1px solid #ebeef5; |
| | | background-color: white; |
| | | } |
| | | |
| | | .product_table{ |
| | | border-top: 1px solid #ebeef5; |
| | | height: calc(100% - 275px); |
| | | margin-top: 5px; |
| | | background-color: white; |
| | | } |
| | | |
| | | .product_table .el-table{ |
| | | height: 100%; |
| | | } |
| | | </style> |
| | | <style> |
| | | .standard .el-tree-node__content { |
| | |
| | | } |
| | | |
| | | .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { |
| | | background: rgba(58, 124, 253, 0.1); |
| | | color: #3A7BFA; |
| | | } |
| | | |
| | | .standard .has-gutter .el-table__cell .cell{ |
| | | line-height: 38px; |
| | | background-color: #fafafa; |
| | | } |
| | | |
| | | .standard .has-gutter .el-table__cell{ |
| | | background-color: #fafafa !important; |
| | | } |
| | | |
| | | .standard .standard_table .el-table__row .cell{ |
| | | font-size: 14px; |
| | | } |
| | | </style> |
| | | |
| | |
| | | @node-expand="nodeOpen" @node-collapse="nodeClose" v-loading="treeLoad"> |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <el-row> |
| | | <el-col :span="22"> |
| | | <span><i :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> |
| | | <el-col :span="21"> |
| | | <span><i |
| | | :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> |
| | | {{ data.code }} {{ data.label }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right;"> |
| | |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="right"></div> |
| | | <div class="right"> |
| | | <el-row class="title"> |
| | | <el-col :span="10" style="font-size: 14px;color: #999;">{{selectTree}}</el-col> |
| | | <el-col :span="selectTree==''?24:14" style="text-align: right;"> |
| | | <el-button size="small" type="primary" @click="addStandardDia = true" v-if="addStandardMethod">æ°å¢æ å</el-button> |
| | | <el-button size="small" type="primary">æ°å¢é¡¹ç®</el-button> |
| | | <el-button size="small"> |
| | | <i class="el-icon-delete" style="color: #3A7BFA;"></i> |
| | | <span style="color: #3A7BFA;">å é¤</span> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="standardListLoad"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%;" height="220px" tooltip-effect="dark"> |
| | | <el-table-column prop="code" label="æ åç¼å·" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <span style="color: red;font-size: 14px;">{{scope.row['code']}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="æ ååç§°" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="createUserName" label="å建人"></el-table-column> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" width="250px"></el-table-column> |
| | | <el-table-column label="æä½" width="100" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <el-row class="product_table"> |
| | | <el-table :data="productList" style="width: 100%;" height="100%" tooltip-effect="dark" stripe :fit="true" border> |
| | | <el-table-column type="selection" width="65"></el-table-column> |
| | | <el-table-column prop="code" label="æ£éªé¡¹" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="name" label="æ£éªé¡¹ç±»å" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="æ£éªé¡¹å°ç±»" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="å®éªå®¤" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="计éåä½" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="åä»·" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="å·¥æ¶" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="å·¥æ¶åç»" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="设å¤ç»" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="åºé´" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="remark" label="è¦æ±å¼"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="è¦æ±å¼" v-model="scope.row.ask"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | </div> |
| | | <el-dialog title="å类添å " :visible.sync="addDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.factory" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in factory" :key="ai" :value="a.value" |
| | | :label="a.label"></el-option> |
| | | <el-option v-for="(a, ai) in factory" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.laboratory" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in laboratory" :key="ai" :value="a.value" |
| | | :label="a.label"></el-option> |
| | | <el-option v-for="(a, ai) in laboratory" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.sampleType" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in sampleType" :key="ai" :value="a.value" |
| | | :label="a.label"></el-option> |
| | | <el-option v-for="(a, ai) in sampleType" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="addOb.sample" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in sample" :key="ai" :value="a.value" |
| | | :label="a.label"></el-option> |
| | | <el-option v-for="(a, ai) in sample" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="æ°å¢æ å" :visible.sync="addStandardDia" width="400px"> |
| | | <div class="body"> |
| | | <el-row style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span">* </span>æ ååç§°ï¼ |
| | | </el-col> |
| | | <el-col :span="16" :offset="1"> |
| | | <el-select v-model="standardId" size="small" style="width: 100%;" clearable> |
| | | <el-option v-for="(a, ai) in standardEnum" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addStandardDia = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="addStandardMethodList" :loading="addLoad2">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | return { |
| | | search: null, |
| | | list: [], |
| | | returntree: null, |
| | | selectTree: '', |
| | | factory: [], |
| | | addDia: false, |
| | | addOb: { |
| | |
| | | sampleType: [], |
| | | sample: [], |
| | | treeLoad: false, |
| | | addPower: false |
| | | addPower: false, |
| | | standardList: [], |
| | | standardEnum: [], |
| | | addStandardDia: false, |
| | | standardId: null, |
| | | addStandardMethod: true, |
| | | addLoad2: false, |
| | | productList: [], |
| | | standardListLoad: false |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | this.obtainItemParameterList() |
| | | this.selectEnumByCategoryForsampleType() |
| | | this.selectTestObjectByName() |
| | | this.selectStandardMethods() |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | |
| | | refresh() { |
| | | this.upIndex++ |
| | | }, |
| | | handleNodeClick(val) { //æ çå¼ |
| | | this.returntree = val |
| | | if (val.code === '[5]' && val.children === undefined) { |
| | | |
| | | handleNodeClick(val, node, el) { //æ çå¼ |
| | | 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(' - ','') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }, |
| | | getNodeParent(val){ |
| | | if(val.parent!=null){ |
| | | this.selectTree += ' - ' + val.label |
| | | this.getNodeParent(val.parent) |
| | | } |
| | | }, |
| | | remove(node, data) { |
| | |
| | | this.sample = data |
| | | }) |
| | | }, |
| | | selectStandardMethods() { |
| | | this.$axios.get(this.$api.standardMethod.selectStandardMethods).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.name, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.standardEnum = data |
| | | }) |
| | | }, |
| | | addStandardMethodList(){ |
| | | if (this.standardId == null || this.standardId == '') { |
| | | this.$message.error('æ åæ¹æ³æªéæ©') |
| | | return |
| | | } |
| | | this.addLoad2 = true |
| | | this.$axios.post(this.$api.standardTree.addStandardMethodList,{ |
| | | standardId: this.standardId, |
| | | tree: this.selectTree |
| | | }).then(res=>{ |
| | | this.addLoad2 = false |
| | | this.addStandardDia = false |
| | | this.$message.success('æ·»å æå') |
| | | this.selectsStandardMethodByFLSSM() |
| | | }) |
| | | }, |
| | | addStandardTree(){ |
| | | if(this.addOb.factory==null||this.addOb.factory=='') { |
| | | this.$message.error('工忝å¿
填项') |
| | |
| | | this.addLoad = false |
| | | }) |
| | | }, |
| | | selectsStandardMethodByFLSSM(){ |
| | | this.standardListLoad = true |
| | | this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM,{ |
| | | tree: this.selectTree |
| | | }).then(res=>{ |
| | | this.standardListLoad = false |
| | | this.standardList = res.data |
| | | }) |
| | | }, |
| | | getPower(){ |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let add = false |
| | | let addStandardMethod = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if(power[i].menuMethod=='addStandardTree'){ |
| | | add = true |
| | | } |
| | | if (power[i].menuMethod == 'addStandardMethodList') { |
| | | addStandardMethod = true |
| | | } |
| | | } |
| | | this.addPower = add |
| | | } |
| | | this.addStandardMethod = addStandardMethod |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |