| | |
| | | <div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px"> |
| | | <div v-if="active == 1"> |
| | | <el-form :inline="true" :model="addObj1" label-width="90px"> |
| | | <el-form-item label="样品型号:" style="margin-bottom: 6px;margin-top: 6px"> |
| | | <el-select v-model="model" :placeholder="active > 1 ? '' : '请输入'" allow-create clearable |
| | | default-first-option filterable size="small" @change="changeModel"> |
| | | <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="检验标准:" style="margin-bottom: 6px;margin-top: 6px"> |
| | | <el-select v-model="standardMethodListId" :loading="methodLoad" :placeholder="active > 1 ? '' : '请输入'" |
| | | clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus" multiple> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="附件查看:" style="margin-bottom: 6px;margin-top: 6px"> |
| | | <el-button type="text" @click="handleFileDialog"> |
| | | <i class="el-icon-document"></i> |
| | |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="条件" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="试验条件" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="试验方法" min-width="120" prop="methodS" show-overflow-tooltip> |
| | | <template slot="header" slot-scope="scope"> |
| | | <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> |
| | |
| | | delete this.addObj.createTime |
| | | } |
| | | addInsOrder({ |
| | | insOrder: this.addObj, |
| | | insOrder: { |
| | | ...this.addObj, |
| | | workShopId: this.addObj.workShopId || '' // 确保 workShopId 传递给后端 |
| | | }, |
| | | sampleList: sampleList.map(a => { |
| | | a.standardMethodListId = JSON.stringify(a.standardMethodListId) |
| | | a.insProduct = this.fullProductList |
| | | a.insProduct = this.productList |
| | | if (a.modelNum) { |
| | | // 根据x号判断型号参数与样品型号的拼接位置 |
| | | // 例如×4,就为500ML×4;4×,就为4×500ML |
| | |
| | | }).then(res => { |
| | | this.getProductLoad = false |
| | | // 直接将查询结果赋值给 productList |
| | | this.fullProductList = res.data |
| | | this.productList = res.data |
| | | this.productList0 = res.data |
| | | // this.fullProductList = res.data |
| | | this.productList = res.data.forEach(m => { |
| | | m.state = 1 |
| | | }) |
| | | this.productList0 = res.data.forEach(m => { |
| | | m.state = 1 |
| | | }) |
| | | this.$refs.sampleTable.setCurrentRow(row) |
| | | setTimeout(() => { |
| | | this.productList.forEach(a => { |
| | |
| | | }, 200) |
| | | }).catch(err => { |
| | | console.log('err-', err) |
| | | }) |
| | | }, |
| | | // 选择样品型号的回调 |
| | | changeModel() { |
| | | this.sampleList.forEach(a => { |
| | | let obj = this.sampleIds.find(b => b == a.id) |
| | | if (obj) { |
| | | a.model = this.model |
| | | } |
| | | }) |
| | | }, |
| | | // 选择检验标准的回调 |
| | | changeStandardMethodListId() { |
| | | this.sampleList.forEach(a => { |
| | | let obj = this.sampleIds.find(b => b == a.id) |
| | | if (obj) { |
| | | a.standardMethodListId = this.standardMethodListId |
| | | this.methodChange(this.standardMethodListId, a) |
| | | } |
| | | }) |
| | | }, |
| | | // 拼接样品树的字符串 |
| | |
| | | } |
| | | this.changeProductList0() |
| | | this.currentMethod.insProduct = this.productList0 |
| | | }, |
| | | // 单选选择检验项的回调 |
| | | selectOne(selection, row) { |
| | | this.bsm1DiaList = [] |
| | | row.state = row.state == 1 ? 0 : 1 |
| | | if (row.section === null) { |
| | | row.section = "" |
| | | } |
| | | if (row.sectionCopy === undefined && row.section) { |
| | | if (row.section.indexOf('[') > -1) { |
| | | this.$set(row, 'sectionCopy', row.section) |
| | | } |
| | | } |
| | | if (row.ask.includes('[')) { |
| | | this.$set(row, 'askCopy', row.ask) |
| | | } |
| | | if (row.tell.includes('[')) { |
| | | this.$set(row, 'tellCopy', row.tell) |
| | | } |
| | | let arr = this.productList.filter(m => m.state == 1 && row.sectionCopy && row.sectionCopy.includes(m.sectionCopy) && m.ask && m.sectionCopy.indexOf('[') == -1) |
| | | if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.sectionCopy !== undefined && row.state === 1 && arr.length == 0) { |
| | | if (row.sectionCopy.indexOf('[') > -1) { |
| | | row.bsmRow = this.HaveJson(row) |
| | | } |
| | | row.bsm1 = true |
| | | this.bsm1DiaList.push(row) |
| | | this.bsm1DiaAll = true |
| | | } else if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.state === 0 && arr.length == 0) { |
| | | row.bsm1 = false |
| | | } else if (arr.length > 0) { |
| | | try { |
| | | row.bsmRow = this.HaveJson(row) |
| | | let section = arr[0].section |
| | | let arr0 = JSON.parse(row.section) |
| | | let arr1 = JSON.parse(row.ask) |
| | | let arr4 = JSON.parse(row.tell) |
| | | let index = arr0.indexOf(section) |
| | | row.section = section |
| | | row.ask = arr1[index] |
| | | row.tell = arr4[index] |
| | | } catch (e) { } |
| | | } |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | if (m.id == row.id) { |
| | | m.state = row.state; |
| | | } |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | this.changeProductList0() |
| | | this.currentMethod.insProduct = this.productList0 |
| | | this.getProNum() |
| | | }, |
| | | handleAll(e) { |
| | | if (e.length > 0) { |
| | | this.productList.map(m => { |
| | | if (e.find(a => a.id == m.id)) { |
| | | m.state = 1 |
| | | } |
| | | return m |
| | | }) |
| | | } else { |
| | | this.productList.map(m => { |
| | | m.state = 0 |
| | | return m |
| | | }) |
| | | } |
| | | this.bsmRow3 = []; |
| | | this.bsm1DiaList = [] |
| | | this.productList.forEach(p => { |
| | | if (p.sectionCopy === undefined && p.section) { |
| | | if (p.section.indexOf('[') > -1) { |
| | | this.$set(p, 'sectionCopy', p.section) |
| | | } |
| | | } |
| | | if (p.ask.includes('[')) { |
| | | this.$set(p, 'askCopy', p.ask) |
| | | } |
| | | if (p.tell.includes('[')) { |
| | | this.$set(p, 'tellCopy', p.tell) |
| | | } |
| | | if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) { |
| | | if (p.sectionCopy.indexOf('[') > -1) { |
| | | p.bsmRow = this.HaveJson(p) |
| | | } |
| | | p.bsm1 = true |
| | | this.bsm1DiaList.push(p) |
| | | this.bsm1DiaAll = true |
| | | } else if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.state === 0) { |
| | | p.bsm1 = false |
| | | } |
| | | }) |
| | | if (e.length > 0) { |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | m.state = 1 |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | } else { |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | m.state = 0 |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | } |
| | | this.changeProductList0() |
| | | this.currentMethod.insProduct = this.productList0 |
| | | this.getProNum() |
| | | this.$nextTick(() => { |
| | | this.$refs.productTable.doLayout() |
| | | }) |
| | | }, |
| | | changeProductList0() { |
| | | this.productList0.forEach(a => { |