| | |
| | | } |
| | | |
| | | .search { |
| | | height: 20%; |
| | | border-bottom: 1px solid #ebeef5; |
| | | margin-bottom: 16px; |
| | | display: flex; |
| | |
| | | {{ data.label }} |
| | | </span> |
| | | </el-col> |
| | | <el-col :span="2" style="text-align: right;" v-if="delStandardTree&&node.level==5"> |
| | | <el-col :span="2" style="text-align: right;" v-if="delStandardTree&&(node.data.children===null||node.data.children===undefined)"> |
| | | <el-button type="text" size="mini" @click.stop="remove(node, data)"> |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | |
| | | @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="sample" label="产品" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="型号" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItemClass" v-if="PROJECT === '装备电缆'" label="检验项分类" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItemClassEn" v-if="PROJECT === '装备电缆'" label="检验项分类(EN)" min-width="140" 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" |
| | |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="批量编辑" :visible.sync="moreEdit" width="90%" class="more-edit"> |
| | | <div class="body" style="display: flex;flex-direction: column;height: 80vh;"> |
| | | <div class="body" style="display: flex;flex-direction: column;height: 85vh;"> |
| | | <div class="search"> |
| | | <div class="search-item"> |
| | | <el-row style="width: 25%;margin-bottom: 16px;"> |
| | |
| | | 试验方法:</el-col> |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%;" |
| | | :disabled="moreSelects.length==0"> |
| | | :disabled="moreSelects.length==0" clearable> |
| | | <el-option v-for="(a, ai) in methodList" :key="ai" :label="a.label" :value="a.value"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 50%;"> |
| | | <el-col :span="23" style="display: flex;align-items: center;justify-content: end;"> |
| | | <el-row style="width: 25%;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | 是否启用:</el-col> |
| | | <el-col :span="16"> |
| | | <el-select v-model="moreInfo.state" size="small" filterable placeholder="模板" style="width: 100%;" |
| | | :disabled="moreSelects.length==0" clearable> |
| | | <el-option label="启用" :value="1"></el-option> |
| | | <el-option label="不启用" :value="0"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="width: 100%;margin-top: 8px;"> |
| | | <el-col :span="24" style="display: flex;align-items: center;justify-content: end;"> |
| | | <el-button @click="clearProduct(1)" size="small" type="danger">重置单价</el-button> |
| | | <el-button @click="clearProduct(2)" size="small" type="danger">重置工时系数</el-button> |
| | | <el-button type="primary" size="small" @click="sectionUp(moreSelects)">设置区间</el-button> |
| | | <el-button @click="moreEdit = false" size="small">取 消</el-button> |
| | | <el-button type="primary" @click="subMoreEdit" :loading="moreEditLoad" size="small">保 存</el-button> |
| | |
| | | </div> |
| | | </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" |
| | | <el-table :data="productList0" ref="productTable0" style="width: 100%;" height="96%" tooltip-effect="dark" |
| | | stripe :fit="true" border @select-all="handleSelectAll0" @select="handleSelectionChange0" |
| | | header-row-class-name="header-class" :row-key="row=>row.id" @filter-change="filterHandler" highlight-current-row> |
| | | <el-table-column type="selection" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="sample" label="产品" min-width="100" show-overflow-tooltip></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 :filters="filters0" |
| | | :filter-multiple="false" column-key="inspectionItem" filter-placement="bottom-start"></el-table-column> |
| | |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="区间设置" :visible.sync="sectionUpDia" width="70%"> |
| | | <el-dialog title="区间设置" :visible.sync="sectionUpDia" width="70%" :close-on-click-modal="false"> |
| | | <div class="body" style="padding: 5px 0;"> |
| | | <el-table :data="sectionList" border style="width: 100%" height="350px"> |
| | | <el-table-column type="index" label="序号" width="70" align="center"> |
| | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="sectionUpDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad">保 存</el-button> |
| | | <el-button type="primary" @click="sectionList.push({thing: ''})" icon="el-icon-plus"></el-button> |
| | | <el-button type="primary" @click="sectionList.push({thing: '',price: sectionRow.price,manHour: sectionRow.manHour})" icon="el-icon-plus"></el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="数据导入" :visible.sync="uploadDia" width="500px"> |
| | | <div style="margin: 0 auto;"> |
| | | <el-upload ref="upload" drag :action="javaApi + $api.standardTree.inExcelOfTree" :headers="token" :file-list="fileList" name="file" |
| | | <el-upload ref="upload" drag :action="javaApi + $api.standardTree.inExcelOfTree + '/' + isEquipment" :headers="token" :file-list="fileList" name="file" |
| | | :auto-upload="false" accept=".xlsx" :limit="1" :on-change="beforeUpload" :on-success="onSuccess" |
| | | :on-error="onError"> |
| | | <i class="el-icon-upload"></i> |
| | |
| | | methodS: '', |
| | | price: '', |
| | | manHour: '', |
| | | templateId: '' |
| | | templateId: '', |
| | | state: null |
| | | }, |
| | | methodList: [], |
| | | productTableLoading0: false, |
| | |
| | | token: null, |
| | | fileList: [], |
| | | inExcelOfTreePower: false, |
| | | uploading: false |
| | | uploading: false, |
| | | isEquipment: false, |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | this.selectStandardMethods() |
| | | this.token = { |
| | | 'token': sessionStorage.getItem('token') |
| | | } |
| | | }, |
| | | this.isEquipment = this.PROJECT === '装备电缆' ? true : false |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | |
| | | getNodeParent(val) { |
| | | if (val.parent != null) { |
| | | if(val.data.children === null){ |
| | | this.selectTree += ' - ' + val.label + ' - ' + '' |
| | | this.selectTree += ' - ' + val.label + ' - ' + 'null' |
| | | }else{ |
| | | this.selectTree += ' - ' + val.label |
| | | } |
| | |
| | | } |
| | | this.sectionRow = {} |
| | | this.sectionUpDia = true |
| | | this.sectionList = [] |
| | | } else { |
| | | // 值是一个对象 |
| | | this.sectionRow = row |
| | |
| | | }) |
| | | } else { |
| | | this.$axios.post(this.$api.standardTree.upStandardProducts, { |
| | | ids: this.moreSelects.map(a => a.id), |
| | | ids: JSON.stringify(this.moreSelects.map(a => a.id)), |
| | | standardProductList: { |
| | | section: this.sectionRow.section, |
| | | ask: this.sectionRow.ask, |
| | |
| | | getItemEnum() { |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductEnumByMethodId, { |
| | | id: this.standardId, |
| | | tree: this.selectTree |
| | | tree: this.selectTree, |
| | | item:this.inspectionItem |
| | | }).then(res => { |
| | | this.filters0 = [] |
| | | this.filters1 = [] |
| | |
| | | return |
| | | } |
| | | this.$message.success('上传成功') |
| | | this.standardList = [] |
| | | this.productList = [] |
| | | this.selectStandardTreeList() |
| | | }, |
| | | onError(err, file, fileList) { |
| | |
| | | this.$refs.upload.clearFiles() |
| | | this.uploading = false |
| | | }, |
| | | clearProduct(type){ |
| | | this.$confirm('是否清空?', "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | if(type === 1){ |
| | | this.$axios.post(this.$api.standardTree.resetTreeOfPrice, { |
| | | tree: this.selectTree, |
| | | standardId: this.standardId |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | return |
| | | } |
| | | this.$message.success('已清空') |
| | | this.currentPage0 = 1; |
| | | this.getList() |
| | | this.rowClick({ |
| | | id: this.standardId |
| | | }) |
| | | }) |
| | | }else if(type === 2){ |
| | | this.$axios.post(this.$api.standardTree.resetTreeOfHour, { |
| | | tree: this.selectTree, |
| | | standardId: this.standardId |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | return |
| | | } |
| | | this.$message.success('已清空') |
| | | this.currentPage0 = 1; |
| | | this.getList() |
| | | this.rowClick({ |
| | | id: this.standardId |
| | | }) |
| | | }) |
| | | } |
| | | }).catch(() => {}) |
| | | } |
| | | } |
| | | } |
| | | </script> |