| | |
| | | width: 80% !important; |
| | | overflow: hidden; |
| | | } |
| | | >>>.el-table__body-wrapper{ |
| | | |
| | | >>>.el-table__body-wrapper { |
| | | height: calc(100% - 46px) !important; |
| | | } |
| | | >>>.header-class{ |
| | | |
| | | >>>.header-class { |
| | | height: 40px !important; |
| | | } |
| | | >>>.header-class th.el-table__cell>.cell{ |
| | | |
| | | >>>.header-class th.el-table__cell>.cell { |
| | | line-height: 20px !important; |
| | | padding-top: 0 !important; |
| | | padding-bottom: 0 !important; |
| | | } |
| | | >>>.el-table__row{ |
| | | |
| | | >>>.el-table__row { |
| | | height: 35px !important; |
| | | } |
| | | .search{ |
| | | |
| | | .search { |
| | | height: 20%; |
| | | border-bottom: 1px solid #ebeef5; |
| | | margin-bottom: 16px; |
| | |
| | | box-sizing: border-box; |
| | | padding-bottom: 10px; |
| | | } |
| | | .search-item{ |
| | | |
| | | .search-item { |
| | | display: flex; |
| | | align-items: center; |
| | | flex-wrap: wrap; |
| | | } |
| | | .search-item .el-row{ |
| | | |
| | | .search-item .el-row { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .search-item .el-col{ |
| | | |
| | | .search-item .el-col { |
| | | margin-left: 0; |
| | | } |
| | | .more-edit .dialog-footer{ |
| | | |
| | | .more-edit .dialog-footer { |
| | | position: absolute; |
| | | top: 15px; |
| | | right: 70px; |
| | | } |
| | | >>>.more-edit .el-dialog__body{ |
| | | height: calc(100vh - 90px); |
| | | } |
| | | >>>.is-disabled .el-textarea__inner{ |
| | | |
| | | >>>.is-disabled .el-textarea__inner { |
| | | background: rgba(0, 0, 0, 0.05) !important; |
| | | } |
| | | </style> |
| | |
| | | .standard .el-table .warning-row .cell { |
| | | color: #bababa; |
| | | } |
| | | |
| | | .el-table-filter__list{ |
| | | max-height: 400px; |
| | | overflow-y: auto; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | |
| | | :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i> |
| | | {{ data.code }} {{ data.label }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right;" v-if="delStandardTree"> |
| | | <el-col :span="2" style="text-align: right;" v-if="delStandardTree&&node.level==5"> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | |
| | | <div class="right"> |
| | | <el-row class="title" style="width: 100%;"> |
| | | <el-col :span="20" style="font-size: 14px;color: #999;">{{selectTree}}</el-col> |
| | | <el-button size="small" type="primary" @click="handleMore" style="position: absolute;right: 0px;top: 1px;" v-if="upStandardProduct">批量编辑</el-button> |
| | | <el-button size="small" type="primary" @click="handleMore" style="position: absolute;right: 0px;top: 1px;" |
| | | v-if="upStandardProduct">批量编辑</el-button> |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;" height="220" tooltip-effect="dark" |
| | | highlight-current-row @row-click="rowClick" ref="standard" header-row-class-name="header-class"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;" height="220" |
| | | tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard" |
| | | header-row-class-name="header-class"> |
| | | <el-table-column prop="code" label="标准编号" show-overflow-tooltip width="200"> |
| | | <template slot-scope="scope"> |
| | | <span style="color: red;font-size: 14px;">{{scope.row['code']}}</span> |
| | |
| | | </el-row> |
| | | <el-row class="product_table" v-loading="tableLoad2"> |
| | | <el-table :data="productList" ref="productTable" style="width: 100%;" height="100%" tooltip-effect="dark" stripe |
| | | :fit="true" border |
| | | @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" |
| | | @select="upProductSelect" |
| | | @select-all="handleAll" |
| | | class="productTable" |
| | | header-row-class-name="header-class"> |
| | | <el-table-column type="selection" width="50" > |
| | | :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" |
| | | @select="upProductSelect" @select-all="handleAll" class="productTable" header-row-class-name="header-class"> |
| | | <el-table-column type="selection" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="model" label="型号" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <!-- <el-table-column prop="inspectionItemClassify" label="检验项类型" width="120" show-overflow-tooltip></el-table-column> --> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip :filters="filters" |
| | | :filter-method="filterHandler"></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="200px"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable |
| | |
| | | <el-table-column prop="templateId" label="模板" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.templateId" size="small" filterable :disabled="!upStandardProduct" |
| | | @change="(value)=>upStandardProductListOfTemplate(value,scope.row.id)"> |
| | | @change="(value)=>upStandardProductListOfTemplate(value,scope.row.id)"> |
| | | <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | style="position: absolute;right: 16px;bottom: 1px;" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | layout="total, prev, pager, next, jumper" |
| | | :page-size="50" |
| | | :total="total"> |
| | | <el-pagination style="position: absolute;right: 16px;bottom: 1px;" @current-change="handleCurrentChange" |
| | | :current-page="currentPage" layout="total, prev, pager, next, jumper" :page-size="50" :total="total"> |
| | | </el-pagination> |
| | | </el-row> |
| | | </div> |
| | |
| | | <el-button type="primary" @click="addStandardTree" :loading="addLoad">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="批量编辑" :visible.sync="moreEdit" width="90%" style="height: 100vh;" class="more-edit"> |
| | | <div class="body" style="height: 100%;display: flex;flex-direction: column;"> |
| | | <el-dialog title="批量编辑" :visible.sync="moreEdit" width="90%" class="more-edit"> |
| | | <div class="body" style="display: flex;flex-direction: column;height: 80vh;"> |
| | | <div class="search"> |
| | | <div class="search-item"> |
| | | <el-row style="width: 25%;margin-bottom: 16px;"> |
| | |
| | | <!-- <span class="required-span">* </span> --> |
| | | 要求描述:</el-col> |
| | | <el-col :span="16" style="display: flex;align-items: flex-start;height: 100%;"> |
| | | <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3}" v-model="moreInfo.tell" :disabled="moreSelects.length==0"></el-input> |
| | | <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3}" |
| | | v-model="moreInfo.tell" :disabled="moreSelects.length==0"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%;margin-bottom: 16px;"> |
| | |
| | | <!-- <span class="required-span">* </span> --> |
| | | 试验方法:</el-col> |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%;" :disabled="moreSelects.length==0"> |
| | | <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%;" |
| | | :disabled="moreSelects.length==0"> |
| | | <el-option v-for="(a, ai) in methodList" :key="ai" :label="a.label" :value="a.value"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <!-- <span class="required-span">* </span> --> |
| | | 单价(元):</el-col> |
| | | <el-col :span="16" > |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.price" clearable :disabled="moreSelects.length==0"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <!-- <span class="required-span">* </span> --> |
| | | 工时系数:</el-col> |
| | | <el-col :span="16"> |
| | | <el-input size="small" v-model="moreInfo.manHour" clearable :disabled="moreSelects.length==0"></el-input> |
| | | <el-input size="small" v-model="moreInfo.manHour" clearable |
| | | :disabled="moreSelects.length==0"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 25%;"> |
| | |
| | | <!-- <span class="required-span">* </span> --> |
| | | 模板:</el-col> |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="模板" style="width: 100%;" :disabled="moreSelects.length==0"> |
| | | <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="模板" style="width: 100%;" |
| | | :disabled="moreSelects.length==0"> |
| | | <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | |
| | | </div> |
| | | <div style="flex: 1;overflow-y: auto;" v-loading="productTableLoading0"> |
| | | <el-table :data="productList0" ref="productTable0" style="width: 100%;" height="94%" tooltip-effect="dark" |
| | | stripe |
| | | :fit="true" border |
| | | @select-all="handleSelectAll0" |
| | | @select="handleSelectionChange0" |
| | | header-row-class-name="header-class" |
| | | :row-key="row=>row.id" |
| | | > |
| | | <el-table-column type="selection" width="50" > |
| | | stripe :fit="true" border @select-all="handleSelectAll0" @select="handleSelectionChange0" filter-placement="bottom-start" |
| | | header-row-class-name="header-class" :row-key="row=>row.id" @filter-change="filterHandler"> |
| | | <el-table-column type="selection" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="model" label="型号" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip :filters="filters0" |
| | | :filter-multiple="false" column-key="inspectionItem"></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" show-overflow-tooltip |
| | | :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass"></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip :filters="filters" |
| | | :filter-method="filterHandler"></el-table-column> |
| | | :filter-multiple="false" column-key="sonLaboratory"></el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="200px"></el-table-column> |
| | | <el-table-column prop="tell" label="要求描述" min-width="220px"></el-table-column> |
| | | <el-table-column prop="method" label="试验方法" width="200"></el-table-column> |
| | | <el-table-column prop="methodS" label="试验方法" width="200"></el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="单价(元)" width="120"></el-table-column> |
| | | <el-table-column prop="manHour" label="工时系数" width="120"></el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="section" label="区间" width="120" show-overflow-tooltip></el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | style="position: absolute;right: 16px;bottom: 4px;" |
| | | @current-change="handleCurrentChange0" |
| | | :current-page="currentPage0" |
| | | layout="total, prev, pager, next, jumper" |
| | | :page-size="50" |
| | | :total="total0"> |
| | | </el-pagination> |
| | | <el-pagination style="position: absolute;right: 16px;bottom: 4px;" @current-change="handleCurrentChange0" |
| | | :current-page="currentPage0" layout="total, prev, pager, next, jumper" :page-size="100" :total="total0"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </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> --> |
| | | <!-- <el-dialog title="新增项目" :visible.sync="addProductDia" width="70%"> |
| | | <div class="body" style="height: 60vh;" v-if="addProductDia"> |
| | | <ValueTable ref="ValueTable" :url="$api.capacityScope.selectItemParameterList" :componentData="componentData" /> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addProductDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addStandardProductDo" :loading="addLoad3">确 定</el-button> |
| | | </span> |
| | | </el-dialog> --> |
| | | <el-dialog title="区间设置" :visible.sync="sectionUpDia" width="70%"> |
| | | <div class="body" style="padding: 5px 0;"> |
| | | <el-table :data="sectionList" border style="width: 100%" height="350px"> |
| | |
| | | sectionRow: null, |
| | | sectionList: [], |
| | | templateList: [], |
| | | total:0, |
| | | currentPage:1, |
| | | total: 0, |
| | | currentPage: 1, |
| | | standardId: 0, |
| | | moreEdit:false, |
| | | moreEditLoad:false, |
| | | moreSelects:[], |
| | | total0:0, |
| | | currentPage0:1, |
| | | moreEdit: false, |
| | | moreEditLoad: false, |
| | | moreSelects: [], |
| | | total0: 0, |
| | | currentPage0: 1, |
| | | productList0: [], |
| | | moreInfo:{ |
| | | ask:'', |
| | | tell:'', |
| | | methodS:'', |
| | | price:'', |
| | | manHour:'', |
| | | templateId:'' |
| | | moreInfo: { |
| | | ask: '', |
| | | tell: '', |
| | | methodS: '', |
| | | price: '', |
| | | manHour: '', |
| | | templateId: '' |
| | | }, |
| | | methodList:[], |
| | | productTableLoading0:false |
| | | methodList: [], |
| | | productTableLoading0: false, |
| | | filters0: [{ |
| | | text: '测试', |
| | | value: 0, |
| | | }, |
| | | { |
| | | text: '测试1', |
| | | value: 1, |
| | | }, |
| | | { |
| | | text: '测试2', |
| | | value: 2, |
| | | } |
| | | ], |
| | | filters1: [{ |
| | | text: '测试', |
| | | value: 0, |
| | | }, |
| | | { |
| | | text: '测试1', |
| | | value: 1, |
| | | }, |
| | | { |
| | | text: '测试2', |
| | | value: 2, |
| | | } |
| | | ], |
| | | pages: 1, |
| | | inspectionItem: null, |
| | | inspectionItemSubclass: null, |
| | | sonLaboratory: null |
| | | } |
| | | }, |
| | | watch: { |
| | | moreEdit(val) { |
| | | if(!val){ |
| | | if (!val) { |
| | | this.$refs.productTable0.clearSelection() |
| | | this.moreSelects = [] |
| | | this.currentPage0 = 1; |
| | | this.productList0 = [] |
| | | this.moreInfo = { |
| | | ask:'', |
| | | tell:'', |
| | | methodS:'', |
| | | price:'', |
| | | manHour:'', |
| | | templateId:'' |
| | | ask: '', |
| | | tell: '', |
| | | methodS: '', |
| | | price: '', |
| | | manHour: '', |
| | | templateId: '' |
| | | } |
| | | } |
| | | } |
| | |
| | | this.selectEnumByCategoryForInspectionValueType() |
| | | this.selectEnumByCategoryForSonLaboratory() |
| | | this.getStandardTemplate() |
| | | this.selectStandardMethods() |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | |
| | | this.addProductDia = false |
| | | }, |
| | | rowClick(row, column, event) { |
| | | this.currentPage = 1; |
| | | this.tableLoad2 = true |
| | | this.standardId = row.id |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, { |
| | |
| | | this.productList.forEach(a => { |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 200) |
| | | }, 300) |
| | | this.tableLoad2 = false |
| | | }) |
| | | }, |
| | |
| | | // this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | filterHandler(value, row, column) { |
| | | const property = column['property']; |
| | | return row[property] === value; |
| | | 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.productList = this.productList.map(m => { |
| | | this.productList.map(m => { |
| | | m.state = 0 |
| | | this.upProductSelect(null, m) |
| | | return m |
| | | }) |
| | | } else { |
| | | this.productList = this.productList.map(m => { |
| | | this.productList.map(m => { |
| | | m.state = 1 |
| | | this.upProductSelect(null, m) |
| | | return m |
| | |
| | | }, |
| | | sectionUp(row) { |
| | | if (Array.isArray(row)) { |
| | | // 值是一个数组 |
| | | if(row.length === 0){ |
| | | return this.$message.error('请选择检验项') |
| | | } |
| | | this.sectionRow = {} |
| | | this.sectionUpDia = true |
| | | // 值是一个数组 |
| | | if (row.length === 0) { |
| | | return this.$message.error('请选择检验项') |
| | | } |
| | | this.sectionRow = {} |
| | | this.sectionUpDia = true |
| | | } else { |
| | | // 值是一个对象 |
| | | this.sectionRow = row |
| | |
| | | this.sectionRow.manHour = JSON.stringify(manHourList) |
| | | } |
| | | this.sectionLoad = true |
| | | if(this.moreSelects.length === 0){ |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | if (this.moreSelects.length === 0) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: this.sectionRow.id, |
| | | section: this.sectionRow.section, |
| | | ask: this.sectionRow.ask, |
| | |
| | | this.$message.success('已保存') |
| | | this.sectionUpDia = false |
| | | }) |
| | | }else{ |
| | | } else { |
| | | this.$axios.post(this.$api.standardTree.upStandardProducts, { |
| | | ids: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 |
| | | } |
| | | ids: 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 |
| | | } |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.sectionLoad = false |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | this.sectionUpDia = false |
| | | this.currentPage0 = 1; |
| | | this.getList() |
| | | }) |
| | | this.sectionLoad = false |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | this.sectionUpDia = false |
| | | this.currentPage0 = 1; |
| | | this.getList() |
| | | this.rowClick({ |
| | | id: this.standardId |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | getStandardTemplate() { |
| | |
| | | this.tableLoad2 = false |
| | | }) |
| | | }, |
| | | async handleMore(){ |
| | | if(!this.standardId&&this.standardId!=0){ |
| | | async handleMore() { |
| | | if ((!this.standardId && this.standardId != 0) || this.standardList.length == 0) { |
| | | return this.$message.error('请选择实验室、样品') |
| | | } |
| | | await this.getList() |
| | | this.selectStandardMethods() |
| | | this.moreEdit = true |
| | | }, |
| | | selectStandardMethods() { |
| | |
| | | this.methodList = data |
| | | }) |
| | | }, |
| | | subMoreEdit(){ |
| | | if(this.moreSelects.length===0){ |
| | | subMoreEdit() { |
| | | if (this.moreSelects.length === 0) { |
| | | return this.$message.error('请选择检验项') |
| | | } |
| | | this.moreEditLoad = true |
| | | this.$axios.post(this.$api.standardTree.upStandardProducts, { |
| | | ids:this.moreSelects.map(a=>a.id), |
| | | standardProductList:this.moreInfo |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | ids: this.moreSelects.map(a => a.id), |
| | | standardProductList: this.moreInfo |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.moreEditLoad = false |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | |
| | | this.$message.success('已保存') |
| | | this.currentPage0 = 1; |
| | | this.getList() |
| | | this.rowClick({ |
| | | id: this.standardId |
| | | }) |
| | | // this.moreInfo = { |
| | | // ask:'', |
| | | // tell:'', |
| | |
| | | // } |
| | | }) |
| | | }, |
| | | handleSelectAll0(rows){ |
| | | if(rows.length){ |
| | | rows.forEach(a=>{ |
| | | if(!this.moreSelects.find(b=>a.id===b.id)){ |
| | | 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 ) |
| | | } 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{ |
| | | 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(){ |
| | | getList() { |
| | | this.productTableLoading0 = true |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, { |
| | | this.getItemEnum() |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductByMethodId, { |
| | | id: this.standardId, |
| | | tree: this.selectTree, |
| | | page: this.currentPage0 |
| | | page: this.currentPage0, |
| | | laboratory: this.sonLaboratory, |
| | | items: this.inspectionItemSubclass, |
| | | item: this.inspectionItem |
| | | }).then(res => { |
| | | this.productList0 = res.data.productList |
| | | this.productList0 = res.data.records |
| | | this.total0 = res.data.total |
| | | this.productTableLoading0 = false |
| | | this.$nextTick(()=>{ |
| | | this.productList0.forEach((a,i) => { |
| | | if(this.moreSelects.find(b=>a.id==b.id)){ |
| | | // console.log(111111111,a) |
| | | this.$refs.productTable0.toggleRowSelection(this.productList0[i],true) |
| | | 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){ |
| | | handleCurrentChange0(e) { |
| | | this.currentPage0 = e; |
| | | this.getList() |
| | | }, |
| | | getItemEnum(){ |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductEnumByMethodId,{ |
| | | id: this.standardId, |
| | | tree: this.selectTree |
| | | }).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 |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | } |