From d975fc4756806f5b51f006c19c33571b9b8c0b3b Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期五, 20 十二月 2024 09:30:19 +0800 Subject: [PATCH] 修改下单时要求值输入限制 --- src/components/view/b2-standard.vue | 124 ++++++++++++++++++++++++++++++++--------- 1 files changed, 97 insertions(+), 27 deletions(-) diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue index 2d3cc6f..fcdb692 100644 --- a/src/components/view/b2-standard.vue +++ b/src/components/view/b2-standard.vue @@ -5,7 +5,7 @@ } .left { - width: 270px; + width: 330px; height: calc(100% - 40px - 10px); background-color: white; padding: 15px; @@ -33,7 +33,7 @@ .right { margin-left: 5px; - width: calc(100% - 305px); + width: calc(100% - 365px); height: calc(100% - 40px); } @@ -85,7 +85,6 @@ } .search { - height: 20%; border-bottom: 1px solid #ebeef5; margin-bottom: 16px; display: flex; @@ -191,13 +190,13 @@ style="height:calc(100% - 30px);overflow-y: scroll;scrollbar-width: none;"> <div class="custom-tree-node" slot-scope="{ node, data }"> <el-row style="width: 100%;"> - <el-col :span="21" :class="{sort:node.level>3}" :title="data.label"> + <el-col :span="21" :class="{sort:node.level>3}" :title="data.label" style="text-align: left;"> <span> <i :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i> {{ 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> @@ -209,6 +208,7 @@ <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" style="position: absolute;right: 170px;top: 1px;" @click="handleDown" v-if="inExcelOfTreePower" :loading="outLoading">瀵煎嚭</el-button> <el-button size="small" type="primary" style="position: absolute;right: 100px;top: 1px;" @click="uploadDia = true" v-if="inExcelOfTreePower">瀵煎叆</el-button> <el-button size="small" type="primary" @click="handleMore" style="position: absolute;right: 5px;top: 1px;" v-if="upStandardProduct">鎵归噺缂栬緫</el-button> @@ -232,7 +232,10 @@ @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" @@ -342,7 +345,7 @@ </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;"> @@ -368,7 +371,7 @@ 璇曢獙鏂规硶锛�</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> @@ -401,8 +404,21 @@ </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> @@ -411,11 +427,12 @@ </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> @@ -444,7 +461,7 @@ </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"> @@ -486,12 +503,12 @@ <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> @@ -602,7 +619,8 @@ methodS: '', price: '', manHour: '', - templateId: '' + templateId: '', + state: null }, methodList: [], productTableLoading0: false, @@ -616,7 +634,9 @@ token: null, fileList: [], inExcelOfTreePower: false, - uploading: false + uploading: false, + isEquipment: false, + outLoading:false } }, watch: { @@ -642,7 +662,6 @@ this.selectEnumByCategoryForFactory() this.selectStandardTreeList() this.obtainItemParameterList() - // this.selectEnumByCategoryForsampleType() this.selectTestObjectByName() this.selectStandardMethods() this.selectEnumByCategoryForDevice() @@ -655,7 +674,8 @@ this.selectStandardMethods() this.token = { 'token': sessionStorage.getItem('token') - } + }, + this.isEquipment = this.PROJECT === '瑁呭鐢电紗' ? true : false }, methods: { filterNode(value, data) { @@ -690,7 +710,7 @@ 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 } @@ -758,13 +778,6 @@ value: a.value }) }) - }) - }, - selectEnumByCategoryForsampleType() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鏍峰搧澶х被" - }).then(res => { - this.sampleType = res.data }) }, selectEnumByCategoryForDevice() { @@ -1205,6 +1218,7 @@ } this.sectionRow = {} this.sectionUpDia = true + this.sectionList = [] } else { // 鍊兼槸涓�涓璞� this.sectionRow = row @@ -1273,7 +1287,7 @@ }) } 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, @@ -1432,7 +1446,8 @@ 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 = [] @@ -1476,6 +1491,8 @@ return } this.$message.success('涓婁紶鎴愬姛') + this.standardList = [] + this.productList = [] this.selectStandardTreeList() }, onError(err, file, fileList) { @@ -1483,6 +1500,59 @@ 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(() => {}) + }, + handleDown(){ + this.outLoading = true + this.$axios.get(this.$api.standardTree.exportStandTree,{responseType: 'blob'}).then(res => { + this.outLoading = false + this.$message.success('瀵煎嚭鎴愬姛') + const blob = new Blob([res],{ type: 'application/force-download' }); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + link.href = url; + link.download = '妫�楠屾爣鍑�.xlsx'; + link.click(); + document.body.removeChild(link) + }) + } } } </script> -- Gitblit v1.9.3