| | |
| | | } |
| | | |
| | | .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> |
| | |
| | | </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"> |
| | |
| | | methodS: '', |
| | | price: '', |
| | | manHour: '', |
| | | templateId: '' |
| | | templateId: '', |
| | | state: null |
| | | }, |
| | | methodList: [], |
| | | productTableLoading0: false, |
| | |
| | | token: null, |
| | | fileList: [], |
| | | inExcelOfTreePower: false, |
| | | uploading: false |
| | | uploading: false, |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | 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> |