From d5961e054bef591cde7885ce8eb014a12366d9b5 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期五, 14 六月 2024 08:13:57 +0800 Subject: [PATCH] 标准库导入 --- src/components/view/b2-standard.vue | 241 ++++++++++++++++++++++++++++-------------------- 1 files changed, 140 insertions(+), 101 deletions(-) diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue index dcbdf55..5e6be92 100644 --- a/src/components/view/b2-standard.vue +++ b/src/components/view/b2-standard.vue @@ -147,9 +147,28 @@ color: #bababa; } - .el-table-filter__list{ + .standard .el-table-filter__list { max-height: 400px; overflow-y: auto; + } + + .standard .el-upload { + width: 100%; + } + + .standard .el-upload-dragger { + width: 100%; + } + + .standard .handleBtn.is-disabled .el-upload:focus { + color: #C0C4CC !important; + } + + .standard .avatar-uploader .el-upload { + height: 80px; + display: flex; + align-items: center; + justify-content: center; } </style> @@ -189,7 +208,8 @@ <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" @click="handleMore" style="position: absolute;right: 0px;top: 1px;" + <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> </el-row> <el-row class="standard_table" v-loading="tableLoad"> @@ -399,14 +419,15 @@ <div style="flex: 1;overflow-y: auto;" v-loading="productTableLoading0"> <el-table :data="productList0" ref="productTable0" style="width: 100%;" height="94%" 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"> + 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="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> <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140" show-overflow-tooltip - :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass" filter-placement="bottom-start"></el-table-column> + :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass" + filter-placement="bottom-start"></el-table-column> <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" width="130" show-overflow-tooltip :filters="filters" :filter-multiple="false" column-key="sonLaboratory" filter-placement="bottom-start"></el-table-column> <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="200px"></el-table-column> @@ -472,6 +493,20 @@ <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> + </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" + :auto-upload="false" accept=".xlsx" :limit="1" :on-change="beforeUpload" :on-success="onSuccess" + :on-error="onError"> + <i class="el-icon-upload"></i> + <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> + </el-upload> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="uploadDia = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitUpload()" :loading="uploading">涓� 浼�</el-button> </span> </el-dialog> </div> @@ -577,36 +612,17 @@ }, methodList: [], productTableLoading0: false, - filters0: [{ - text: '娴嬭瘯', - value: 0, - }, - { - text: '娴嬭瘯1', - value: 1, - }, - { - text: '娴嬭瘯2', - value: 2, - } - ], - filters1: [{ - text: '娴嬭瘯', - value: 0, - }, - { - text: '娴嬭瘯1', - value: 1, - }, - { - text: '娴嬭瘯2', - value: 2, - } - ], + filters0: [], + filters1: [], pages: 1, inspectionItem: null, inspectionItemSubclass: null, - sonLaboratory: null + sonLaboratory: null, + uploadDia: false, + token: null, + fileList: [], + inExcelOfTreePower: false, + uploading: false } }, watch: { @@ -643,6 +659,9 @@ this.selectEnumByCategoryForSonLaboratory() this.getStandardTemplate() this.selectStandardMethods() + this.token = { + 'token': sessionStorage.getItem('token') + } }, methods: { filterNode(value, data) { @@ -908,6 +927,7 @@ let delStandardProduct = false let addStandardProduct = false let delStandardTree = false + let inExcelOfTreePower = false for (var i = 0; i < power.length; i++) { if (power[i].menuMethod == 'addStandardTree') { add = true @@ -930,6 +950,9 @@ if (power[i].menuMethod == 'delStandardTree') { delStandardTree = true } + if (power[i].menuMethod == 'inExcelOfTree') { + inExcelOfTreePower = true + } } this.addPower = add this.addStandardMethod = addStandardMethod @@ -938,15 +961,14 @@ this.delStandardProduct = delStandardProduct this.addStandardProduct = addStandardProduct this.delStandardTree = delStandardTree + this.inExcelOfTreePower = inExcelOfTreePower }, upStandardProductList(value, index) { this.$axios.post(this.$api.standardTree.upStandardProductList, { - id: index, - ask: value - }, { - headers: { - 'Content-Type': 'application/json' - } + str: JSON.stringify({ + id: index, + ask: value + }) }).then(res => { if (res.code == 201) { this.$message.error('鏈繚瀛�') @@ -957,12 +979,10 @@ }, upStandardProductListOfTell(value, index) { this.$axios.post(this.$api.standardTree.upStandardProductList, { - id: index, - tell: value - }, { - headers: { - 'Content-Type': 'application/json' - } + str: JSON.stringify({ + id: index, + tell: value + }) }).then(res => { if (res.code == 201) { this.$message.error('鏈繚瀛�') @@ -973,12 +993,10 @@ }, upStandardProductListOfMethodS(value, index) { this.$axios.post(this.$api.standardTree.upStandardProductList, { - id: index, - methodS: value - }, { - headers: { - 'Content-Type': 'application/json' - } + str: JSON.stringify({ + id: index, + methodS: value + }) }).then(res => { if (res.code == 201) { this.$message.error('鏈繚瀛�') @@ -989,12 +1007,10 @@ }, upStandardProductListOfPrice(value, index) { this.$axios.post(this.$api.standardTree.upStandardProductList, { - id: index, - price: value - }, { - headers: { - 'Content-Type': 'application/json' - } + str: JSON.stringify({ + id: index, + price: value + }) }).then(res => { if (res.code == 201) { this.$message.error('鏈繚瀛�') @@ -1005,12 +1021,10 @@ }, upStandardProductListOfManHour(value, index) { this.$axios.post(this.$api.standardTree.upStandardProductList, { - id: index, - manHour: value - }, { - headers: { - 'Content-Type': 'application/json' - } + str: JSON.stringify({ + id: index, + manHour: value + }) }).then(res => { if (res.code == 201) { this.$message.error('鏈繚瀛�') @@ -1021,12 +1035,10 @@ }, upStandardProductListOfTemplate(value, index) { this.$axios.post(this.$api.standardTree.upStandardProductList, { - id: index, - templateId: value - }, { - headers: { - 'Content-Type': 'application/json' - } + str: JSON.stringify({ + id: index, + templateId: value + }) }).then(res => { if (res.code == 201) { this.$message.error('鏈繚瀛�') @@ -1138,12 +1150,10 @@ upProductSelect(selection, row) { row.state = (row.state == 1 ? 0 : 1) this.$axios.post(this.$api.standardTree.upStandardProductList, { - id: row.id, - state: row.state - }, { - headers: { - 'Content-Type': 'application/json' - } + str: JSON.stringify({ + id: row.id, + state: row.state + }) }).then(res => { if (res.code == 201) { this.$message.error('鏈繚瀛�') @@ -1154,20 +1164,20 @@ }, filterHandler(value) { for (let column in value) { - if(value[column].length === 0){ - if(column==='inspectionItem'){ + if (value[column].length === 0) { + if (column === 'inspectionItem') { this.inspectionItem = null - }else if(column === 'inspectionItemSubclass'){ + } else if (column === 'inspectionItemSubclass') { this.inspectionItemSubclass = null - }else if(column === 'sonLaboratory'){ + } else if (column === 'sonLaboratory') { this.sonLaboratory = null } - }else{ - if(column==='inspectionItem'){ + } else { + if (column === 'inspectionItem') { this.inspectionItem = value[column][0] - }else if(column === 'inspectionItemSubclass'){ + } else if (column === 'inspectionItemSubclass') { this.inspectionItemSubclass = value[column][0] - }else if(column === 'sonLaboratory'){ + } else if (column === 'sonLaboratory') { this.sonLaboratory = value[column][0] } } @@ -1246,16 +1256,14 @@ this.sectionLoad = true if (this.moreSelects.length === 0) { this.$axios.post(this.$api.standardTree.upStandardProductList, { - id: this.sectionRow.id, - section: this.sectionRow.section, - ask: this.sectionRow.ask, - tell: this.sectionRow.tell, - price: this.sectionRow.price, - manHour: this.sectionRow.manHour - }, { - headers: { - 'Content-Type': 'application/json' - } + str: JSON.stringify({ + id: this.sectionRow.id, + section: this.sectionRow.section, + ask: this.sectionRow.ask, + tell: this.sectionRow.tell, + price: this.sectionRow.price, + manHour: this.sectionRow.manHour + }) }).then(res => { this.sectionLoad = false if (res.code == 201) { @@ -1341,13 +1349,13 @@ return this.$message.error('璇烽�夋嫨妫�楠岄」') } this.moreEditLoad = true - for(let a in this.moreInfo){ - if(this.moreInfo[a]==''){ + for (let a in this.moreInfo) { + if (this.moreInfo[a] == '') { delete this.moreInfo[a] } } this.$axios.post(this.$api.standardTree.upStandardProducts, { - ids: this.moreSelects.map(a => a.id), + ids: JSON.stringify(this.moreSelects.map(a => a.id)), standardProductList: this.moreInfo }, { headers: { @@ -1423,21 +1431,21 @@ this.currentPage0 = e; this.getList() }, - getItemEnum(){ - this.$axios.post(this.$api.standardTree.selectStandardProductEnumByMethodId,{ + getItemEnum() { + this.$axios.post(this.$api.standardTree.selectStandardProductEnumByMethodId, { id: this.standardId, tree: this.selectTree - }).then(res=>{ + }).then(res => { this.filters0 = [] this.filters1 = [] - res.data.item.forEach(a=>{ + res.data.item.forEach(a => { this.filters0.push({ text: a.inspectionItem, value: a.inspectionItem }) }) - res.data.items.forEach(a=>{ - if(a!=null){ + res.data.items.forEach(a => { + if (a != null) { this.filters1.push({ text: a.inspectionItemSubclass, value: a.inspectionItemSubclass @@ -1445,7 +1453,38 @@ } }) }) - } + }, + beforeUpload(file, fileList) { + if (file.raw.type != 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') { + this.$message.error('涓婁紶鏂囦欢鏍煎紡涓嶆纭�'); + this.$refs.upload.clearFiles() + return false; + } + }, + submitUpload() { + if (this.$refs.upload.uploadFiles.length == 0) { + this.$message.error('鏈�夋嫨鏂囦欢') + return + } + this.uploading = true + this.$refs.upload.submit(); + }, + onSuccess(response, file, fileList) { + this.$refs.upload.clearFiles() + this.uploadDia = false + this.uploading = false + if (response.code == 201) { + this.$message.error(response.message) + return + } + this.$message.success('涓婁紶鎴愬姛') + this.refresh() + }, + onError(err, file, fileList) { + this.$message.error('涓婁紶澶辫触') + this.$refs.upload.clearFiles() + this.uploading = false + }, } } </script> -- Gitblit v1.9.3