| | |
| | | height: calc(100% - 30px); |
| | | overflow-y: scroll; |
| | | scrollbar-width: none; |
| | | " @node-click="handleNodeClick" |
| | | @node-drop="handleDrop"> |
| | | " @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"> |
| | |
| | | </div> |
| | | <div class="right"> |
| | | <el-row class="title" style="width: 100%"> |
| | | <el-col :span="20" style="font-size: 14px; color: #999">{{ |
| | | <el-col :span="19" style="font-size: 14px; color: #999"><span>{{ |
| | | selectTree |
| | | }}</el-col> |
| | | <el-col :span="4"> |
| | | <el-button v-if="isShowCopy" size="small" style="position: absolute; right: 20px; top: 1px" type="primary" |
| | | @click="openCopyDia">批量复制</el-button> |
| | | }} </span></el-col> |
| | | <el-col :span="5" style="position: absolute;top: -3px;right: -25px;"> |
| | | <el-button size="small" type="primary" @click="submitReview">提交变更</el-button> |
| | | <el-button v-if="isShowCopy" size="small" type="primary" @click="openCopyDia">批量复制</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-loading="tableLoad" class="standard_table"> |
| | | <el-table ref="standard" :data="standardList" class="el-table" header-row-class-name="header-class" height="220" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border |
| | | highlight-current-row style="width: 100%; height: 220px !important" tooltip-effect="dark" |
| | | @row-click="rowClick"> |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border highlight-current-row |
| | | style="width: 100%; height: 220px !important" tooltip-effect="dark" @row-click="rowClick"> |
| | | <el-table-column label="标准编号" prop="code" show-overflow-tooltip width="200"> |
| | | <template slot-scope="scope"> |
| | | <span style="color: red; font-size: 14px">{{ |
| | |
| | | </el-row> |
| | | <el-row v-loading="tableLoad2" class="product_table"> |
| | | <el-table id="templateParamTable" ref="productTable" v-loading="productTableLoading" :data="productList" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border |
| | | :fit="true" :row-class-name="tableRowClassName" class="productTable" |
| | | header-row-class-name="header-class" height="100%" row-key="id" stripe style="width: 100%" |
| | | tooltip-effect="dark" @select="upProductSelect" @selection-change="handleSelectionChange" |
| | | @select-all="handleAll"> |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :fit="true" |
| | | :row-class-name="tableRowClassName" class="productTable" header-row-class-name="header-class" height="100%" |
| | | row-key="id" stripe style="width: 100%" tooltip-effect="dark" @select="upProductSelect" |
| | | @selection-change="handleSelectionChange" @select-all="handleAll"> |
| | | <el-table-column type="selection" width="50"> </el-table-column> |
| | | <el-table-column label="产品" min-width="100" prop="sample" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="型号" min-width="100" prop="model" show-overflow-tooltip></el-table-column> |
| | |
| | | <el-table-column label="检验项" min-width="140" prop="inspectionItem" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="检验项子项" min-width="140" prop="inspectionItemSubclass" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="子实验室" prop="sonLaboratory" show-overflow-tooltip width="130"></el-table-column> |
| | | <!-- checkStatusList --> |
| | | <el-table-column label="审核状态" min-width="140" prop="checkStatus"> |
| | | <template slot-scope="scope"> |
| | | <el-tag :type="checkStatusList.find(m => m.value == scope.row.checkStatus).type" |
| | | v-if="checkStatusList.find(m => m.value == scope.row.checkStatus)" size="small">{{ |
| | | checkStatusList.find(m => m.value == scope.row.checkStatus).label }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="要求值" min-width="200px" prop="ask"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if=" |
| | |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="子实验室" prop="sonLaboratory" show-overflow-tooltip width="130"></el-table-column> |
| | | <el-table-column label="试验方法" prop="method" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-if=" |
| | |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="sectionUpDia" title="区间设置" width="80%"> |
| | | <div class="body" style="padding: 5px 0"> |
| | | <el-table :data="sectionList" border height="350px" style="width: 100%" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"> |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"> |
| | | <el-table-column align="center" label="序号" type="index" width="70"> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="区间"> |
| | |
| | | getStandardTemplate, |
| | | selectStandardProductByMethodId, |
| | | selectStandardProductEnumByMethodId, |
| | | productListSubmit, |
| | | } from "@/api/standard/standardLibrary"; |
| | | import bindSupplierDensityDialogAsk from "./components/bindSupplierDensityDialogAsk.vue"; |
| | | import BatchCopy from "./components/BatchCopy.vue"; |
| | |
| | | batchCopyDia: false, |
| | | VUE_APP_BASE_API: process.env.VUE_APP_BASE_API, |
| | | moreSelects: [], |
| | | checkStatusList: [ |
| | | { |
| | | value: 0, |
| | | label: '未提交', |
| | | type: 'danger' |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: '审核中', |
| | | type: 'warning' |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: '已更新', |
| | | type: 'success' |
| | | }, |
| | | ] |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | } |
| | | }, |
| | | // 调用tree过滤方法 中文英过滤 |
| | | filterNode (value, data, node) { |
| | | filterNode(value, data, node) { |
| | | if (!value) { //如果数据为空,则返回true,显示所有的数据项 |
| | | return true |
| | | } |
| | |
| | | return this.chooseNode(val, data, node) // 调用过滤二层方法 |
| | | }, |
| | | // 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。name是中文字符,enName是英文字符. |
| | | chooseNode (value, data, node) { |
| | | chooseNode(value, data, node) { |
| | | if (data.label.indexOf(value) !== -1) { |
| | | return true |
| | | } |
| | |
| | | }); |
| | | }, |
| | | // 打开新增弹框 |
| | | openAddDia () { |
| | | openAddDia() { |
| | | this.addDia = true |
| | | this.addOb.modelName = '' |
| | | }, |
| | |
| | | }), |
| | | }).then((res) => { |
| | | this.$message.success("已保存"); |
| | | this.refreshList() |
| | | }); |
| | | }, |
| | | upStandardProductListOfTell(value, index) { |
| | |
| | | }), |
| | | }).then((res) => { |
| | | this.$message.success("已保存"); |
| | | this.refreshList() |
| | | }); |
| | | }, |
| | | // 标准库选择实验方法的回调 |
| | |
| | | }), |
| | | }).then((res) => { |
| | | this.$message.success("已保存"); |
| | | this.refreshList() |
| | | }); |
| | | }, |
| | | // 标准库选择条件的回调 |
| | |
| | | }), |
| | | }).then((res) => { |
| | | this.$message.success("已保存"); |
| | | this.refreshList() |
| | | }); |
| | | }, |
| | | upStandardProductListOfPrice(value, index) { |
| | |
| | | }), |
| | | }).then((res) => { |
| | | this.$message.success("已保存"); |
| | | this.refreshList() |
| | | }); |
| | | }, |
| | | upStandardProductListOfManHour(value, index) { |
| | |
| | | }), |
| | | }).then((res) => { |
| | | this.$message.success("已保存"); |
| | | this.refreshList() |
| | | }); |
| | | }, |
| | | upStandardProductListOfTemplate(value, index) { |
| | |
| | | }), |
| | | }).then((res) => { |
| | | this.$message.success("已保存"); |
| | | this.refreshList() |
| | | }); |
| | | }, |
| | | handleSelectionChange(val) { |
| | |
| | | }), |
| | | }).then((res) => { |
| | | this.$message.success('已保存') |
| | | this.refreshList() |
| | | }); |
| | | }, |
| | | filterHandler(value) { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | // 提交变更申请 |
| | | submitReview() { |
| | | this.$prompt('请输入变更原因', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | inputValidator: (value) => { |
| | | if (!value || value.trim() === '') { |
| | | return '请输入变更原因'; |
| | | } |
| | | return true; |
| | | } |
| | | }).then(({ value }) => { |
| | | productListSubmit({ |
| | | remark: value |
| | | }).then(res => { |
| | | this.selectsStandardMethodByFLSSM(); |
| | | }) |
| | | // this.$message({ |
| | | // type: 'success', |
| | | // message: '你的邮箱是: ' + value |
| | | // }); |
| | | }).catch(() => { |
| | | // this.$message({ |
| | | // type: 'info', |
| | | // message: '取消输入' |
| | | // }); |
| | | }); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |