| | |
| | | <el-button size="medium" @click="outConfig"> |
| | | <span style="color: #3A7BFA;">返 回</span> |
| | | </el-button> |
| | | <el-button size="medium" type="primary" @click="save">保 存</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="search"> |
| | | <el-radio-group v-model="currentTab" size="small" style="margin-left: 20px;"> |
| | | <el-radio-group v-model="currentTab" size="small" style="margin-left: 20px;" @input="changeTab"> |
| | | <el-radio-button label="绝缘">绝 缘</el-radio-button> |
| | | <el-radio-button label="护套">护 套</el-radio-button> |
| | | </el-radio-group> |
| | | <div class="search_thing" v-if="currentTab=='绝缘'"> |
| | | <div class="search_label">芯数:</div> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="vaule0"></el-input> |
| | | v-model="insulating.num"></el-input> |
| | | </div> |
| | | <el-button size="small" type="primary"@click="openAdd" style="margin-left: 20px;margin-right: 20px;" v-if="currentTab=='绝缘'"> |
| | | 确 定</el-button> |
| | | <div class="search_thing"> |
| | | <div class="search_thing" v-if="currentTab=='绝缘'"> |
| | | <div class="search_label">检验标准:</div> |
| | | <el-select v-model="vaule0" placeholder="请选择检验标准" size="small" |
| | | clearable> |
| | | <el-option v-for="item in standardList" :key="item.value" :label="item.label" :value="item.value"> |
| | | <el-select v-model="insulating.standardMethodListId" placeholder="请选择检验标准" size="small" |
| | | @change="(value)=>methodChange(value)"> |
| | | <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" type="primary"@click="openAdd">保 存</el-button> |
| | | <div class="search_thing" v-if="currentTab=='护套'"> |
| | | <div class="search_label">检验标准:</div> |
| | | <el-select v-model="sheath.standardMethodListId" placeholder="请选择检验标准" size="small" |
| | | @change="(value)=>methodChange(value)"> |
| | | <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <ValueTable ref="ValueTable" |
| | | :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" |
| | | :componentData="componentData" :key="upIndex" /> |
| | | <el-table class="el-table" ref="productTable" :data="productList" height="100%" tooltip-effect="dark" border |
| | | @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect" |
| | | :row-class-name="tableRowClassName" @select-all="handleAll"> |
| | | <el-table-column type="selection" width="65" :selectable="selectable"></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="sonLaboratory" label="子实验室" min-width="130" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="methodS" label="试验方法" min-width="120" show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="单价" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="section" label="区间" min-width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="ask" label="要求值" min-width="220px"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" |
| | | v-if="active==1&&isAskOnlyRead"></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../../tool/value-table.vue' |
| | | import { Tree } from 'element-ui' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | }, |
| | | props: { |
| | | active: { |
| | | type: Number, |
| | |
| | | standardList:[], |
| | | vaule0:'', |
| | | currentTab:'绝缘', |
| | | componentData: { |
| | | entity: { |
| | | number: null, |
| | | department: null, |
| | | laboratory: null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'desc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: true, |
| | | select: true, |
| | | do: [], |
| | | tagField: {}, |
| | | linkEvent: { |
| | | }, |
| | | selectField: { |
| | | laboratory: { |
| | | select: [] |
| | | }, |
| | | unit: { |
| | | select: [] |
| | | }, |
| | | |
| | | }, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | upIndex:0, |
| | | productList: [], |
| | | productIds: [], |
| | | sample: [], |
| | | tree: '', |
| | | standards: [], |
| | | insulating: { |
| | | standardMethodListId: null, |
| | | insProduct: [], |
| | | num: 1 |
| | | }, |
| | | sheath: { |
| | | standardMethodListId: null, |
| | | insProduct: [] |
| | | }, |
| | | isAskOnlyRead: false |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.$parent.sampleIds.forEach(a => { |
| | | for (var i = 0; i < this.$parent.sampleList.length; i++) { |
| | | if (this.$parent.sampleList[i].id == a) { |
| | | this.sample.push(this.$parent.sampleList[i]) |
| | | if(this.$parent.sampleList[i].insulating !== undefined && this.$parent.sampleList[i].insulating !== null){ |
| | | this.insulating = this.$parent.sampleList[i].insulating |
| | | } |
| | | if(this.$parent.sampleList[i].sheath !== undefined && this.$parent.sampleList[i].sheath !== null){ |
| | | this.sheath = this.$parent.sampleList[i].sheath |
| | | } |
| | | break |
| | | } |
| | | } |
| | | }) |
| | | let obj = this.$parent.addObj |
| | | this.tree = obj.factory + ' - ' + obj.laboratory + ' - ' + obj.sampleType + ' - ' + obj.sample |
| | | this.selectsStandardMethodByFLSSM2() |
| | | this.productList = this.insulating.insProduct |
| | | setTimeout(() => { |
| | | this.productList.forEach(a => { |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 200) |
| | | }, |
| | | methods: { |
| | | outConfig() { |
| | | this.$parent.cableConfigShow = false |
| | | }, |
| | | selectProduct(val) { |
| | | this.productIds = [] |
| | | val.forEach(a => { |
| | | this.productIds.push(a.id) |
| | | }) |
| | | }, |
| | | upProductSelect(selection, row) { |
| | | row.state = row.state == 1 ? 0 : 1 |
| | | }, |
| | | handleAll(e) { |
| | | if (e.length > 0) { |
| | | this.productList.map(m => { |
| | | m.state = 1 |
| | | return m |
| | | }) |
| | | } else { |
| | | this.productList.map(m => { |
| | | m.state = 0 |
| | | return m |
| | | }) |
| | | } |
| | | this.$nextTick(() => { |
| | | this.$refs.productTable.doLayout() |
| | | }) |
| | | }, |
| | | tableRowClassName({ |
| | | row, |
| | | rowIndex |
| | | }) { |
| | | if (row.state === 0) { |
| | | return 'warning-row'; |
| | | } |
| | | return ''; |
| | | }, |
| | | selectable() { |
| | | if (this.active > 1) { |
| | | return false |
| | | } else { |
| | | return true |
| | | } |
| | | }, |
| | | selectsStandardMethodByFLSSM2() { |
| | | this.standards = [] |
| | | this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { |
| | | tree: this.tree |
| | | }).then(res => { |
| | | this.standards = res.data.standardMethodList |
| | | }) |
| | | }, |
| | | methodChange(val) { |
| | | if (val === null || val === '') return |
| | | let standard = this.standards.find(a => a.id === val) |
| | | if(standard!=null && standard.code==='委托要求'){ |
| | | this.isAskOnlyRead = true |
| | | }else{ |
| | | this.isAskOnlyRead = false |
| | | } |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductList, { |
| | | model: this.$parent.addObj.model, |
| | | standardMethodListId: val, |
| | | factory: this.tree + ' - ' |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | res.data.forEach(a => { |
| | | a.state = 0 |
| | | }) |
| | | if(this.currentTab==='绝缘'){ |
| | | this.insulating.insProduct = res.data |
| | | }else if(this.currentTab==='护套'){ |
| | | this.sheath.insProduct = res.data |
| | | } |
| | | this.productList = res.data |
| | | setTimeout(() => { |
| | | this.productList.forEach(a => { |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 200) |
| | | }) |
| | | }, |
| | | toggleSelection(row) { |
| | | this.$refs.productTable.toggleRowSelection(row, true); |
| | | }, |
| | | save(){ |
| | | if(this.insulating.insProduct.length === 0 && this.sheath.insProduct.length === 0){ |
| | | this.$message.error('缺少配置无法保存') |
| | | return |
| | | } |
| | | if(this.insulating.insProduct.length !== 0){ |
| | | if(this.insulating.num === null || this.insulating.num === '' || this.insulating.num <= 0){ |
| | | this.$message.error('缺少芯数无法保存') |
| | | return |
| | | } |
| | | } |
| | | this.sample.forEach(a=>{ |
| | | a.insulating = this.insulating |
| | | a.sheath = this.sheath |
| | | }) |
| | | this.$message.success('已保存') |
| | | }, |
| | | changeTab(val){ |
| | | if(val==='绝缘'){ |
| | | this.productList = this.insulating.insProduct |
| | | }else if(val==='护套'){ |
| | | this.productList = this.sheath.insProduct |
| | | } |
| | | setTimeout(() => { |
| | | this.productList.forEach(a => { |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 200) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | padding: 20px; |
| | | } |
| | | </style> |
| | | <style> |
| | | .ins_order_config .has-gutter .el-table__cell .cell { |
| | | line-height: 30px; |
| | | background-color: #fafafa; |
| | | } |
| | | |
| | | .ins_order_config .has-gutter .el-table__cell { |
| | | background-color: #fafafa !important; |
| | | } |
| | | |
| | | .ins_order_config .el-table__row .cell { |
| | | font-size: 12px; |
| | | } |
| | | |
| | | .ins_order_config .el-table .warning-row .cell { |
| | | color: #bababa; |
| | | } |
| | | </style> |