From 33b49a7e95796e4bce64cc18cb406c33c0b63810 Mon Sep 17 00:00:00 2001 From: 朱佳吉 <1527963051@qq.com> Date: 星期四, 09 五月 2024 14:13:16 +0800 Subject: [PATCH] 查询不合格样品数据 --- src/components/view/b2-standard.vue | 211 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 143 insertions(+), 68 deletions(-) diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue index 9b68b52..9a40c74 100644 --- a/src/components/view/b2-standard.vue +++ b/src/components/view/b2-standard.vue @@ -142,17 +142,17 @@ <!-- </el-col> --> </el-row> <el-row class="standard_table" v-loading="tableLoad"> - <el-table class="el-table" :data="standardList" style="width: 100%;" height="220px" tooltip-effect="dark" - highlight-current-row @row-click="rowClick" ref="standard"> - <el-table-column prop="code" label="鏍囧噯缂栧彿" show-overflow-tooltip> + <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;overflow-y: auto;" + tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard"> + <el-table-column prop="code" label="鏍囧噯缂栧彿" show-overflow-tooltip width="180"> <template slot-scope="scope"> <span style="color: red;font-size: 14px;">{{scope.row['code']}}</span> </template> </el-table-column> <el-table-column prop="name" label="鏍囧噯鍚嶇О" show-overflow-tooltip></el-table-column> <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip></el-table-column> - <el-table-column prop="createUserName" label="鍒涘缓浜�"></el-table-column> - <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="250px"></el-table-column> + <!-- <el-table-column prop="createUserName" label="鍒涘缓浜�"></el-table-column> + <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="250px"></el-table-column> --> <!-- <el-table-column label="鎿嶄綔" width="100" align="center" v-if="delStandardMethod"> <template slot-scope="scope"> <el-button type="text" size="small" @click="delStandardMethodByFLSSM(scope.row.id)">鍒犻櫎</el-button> @@ -163,7 +163,7 @@ <el-row class="product_table" v-loading="tableLoad2"> <el-table :data="productList" ref="productTable" style="width: 100%;" height="100%" tooltip-effect="dark" stripe :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" - @select="upProductSelect"> + @select="upProductSelect" @select-all="handleAll"> <el-table-column type="selection" width="65"> </el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column> @@ -201,54 +201,44 @@ <el-table-column prop="price" label="鍗曚环(鍏�)" width="90" show-overflow-tooltip></el-table-column> <el-table-column prop="manHour" label="宸ユ椂(H)" width="90" show-overflow-tooltip></el-table-column> <el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="deviceGroup" label="璁惧缁�" width="120" show-overflow-tooltip></el-table-column> <el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column> + <el-table-column prop="section" label="鎿嶄綔" width="120"> + <template slot-scope="scope"> + <el-button type="text" @click="sectionUp(scope.row)">鍖洪棿璁剧疆</el-button> + </template> + </el-table-column> </el-table> </el-row> </div> <el-dialog title="鍒嗙被娣诲姞" :visible.sync="addDia" width="400px"> <div class="body"> <el-row style="line-height: 50px;"> - <el-col :span="6" style="text-align: right;"> - <span class="required-span">* </span>宸ュ巶锛� - </el-col> + <el-col :span="6" style="text-align: right;">宸ュ巶锛�</el-col> <el-col :span="16" :offset="1"> - <el-select v-model="addOb.factory" size="small" style="width: 100%;" clearable> - <el-option v-for="(a, ai) in factory" :key="ai" :value="a.value" :label="a.label"></el-option> - </el-select> + <el-input size="small" readonly v-model="addOb.factory"></el-input> + </el-col> + </el-row> + <el-row style="line-height: 50px;"> + <el-col :span="6" style="text-align: right;">瀹為獙瀹わ細</el-col> + <el-col :span="16" :offset="1"> + <el-input size="small" readonly v-model="addOb.laboratory"></el-input> + </el-col> + </el-row> + <el-row style="line-height: 50px;"> + <el-col :span="6" style="text-align: right;">鏍峰搧澶х被锛�</el-col> + <el-col :span="16" :offset="1"> + <el-input size="small" readonly v-model="addOb.sampleType"></el-input> + </el-col> + </el-row> + <el-row style="line-height: 50px;"> + <el-col :span="6" style="text-align: right;">鏍峰搧鍚嶇О锛�</el-col> + <el-col :span="16" :offset="1"> + <el-input v-model="addOb.sample" readonly size="small"></el-input> </el-col> </el-row> <el-row style="line-height: 50px;"> <el-col :span="6" style="text-align: right;"> - <span class="required-span">* </span>瀹為獙瀹わ細 - </el-col> - <el-col :span="16" :offset="1"> - <el-select v-model="addOb.laboratory" size="small" style="width: 100%;" clearable> - <el-option v-for="(a, ai) in laboratory" :key="ai" :value="a.value" :label="a.label"></el-option> - </el-select> - </el-col> - </el-row> - <el-row style="line-height: 50px;"> - <el-col :span="6" style="text-align: right;"> - <span class="required-span">* </span>鏍峰搧澶х被锛� - </el-col> - <el-col :span="16" :offset="1"> - <el-select v-model="addOb.sampleType" size="small" style="width: 100%;" clearable> - <el-option v-for="(a, ai) in sampleType" :key="ai" :value="a.value" :label="a.label"></el-option> - </el-select> - </el-col> - </el-row> - <el-row style="line-height: 50px;"> - <el-col :span="6" style="text-align: right;"> - <span class="required-span">* </span>鏍峰搧鍚嶇О锛� - </el-col> - <el-col :span="16" :offset="1"> - <el-input v-model="addOb.sample" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" clearable size="small"></el-input> - </el-col> - </el-row> - <el-row style="line-height: 50px;"> - <el-col :span="6" style="text-align: right;"> - 鍨嬪彿锛� + <span class="required-span">* </span>鍨嬪彿锛� </el-col> <el-col :span="16" :offset="1"> <el-input v-model="addOb.model" placeholder="璇疯緭鍏ュ瀷鍙�" clearable size="small"></el-input> @@ -285,6 +275,29 @@ <span slot="footer" class="dialog-footer"> <el-button @click="addProductDia = false">鍙� 娑�</el-button> <el-button type="primary" @click="addStandardProductDo" :loading="addLoad3">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog title="鍖洪棿璁剧疆" :visible.sync="sectionUpDia" width="500px"> + <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"> + </el-table-column> + <el-table-column label="鍖洪棿" align="center"> + <template slot-scope="scope"> + <el-input size="small" v-model="scope.row.thing" clearable></el-input> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="70" align="center"> + <template slot-scope="scope"> + <el-button size="mini" type="danger" icon="el-icon-minus" circle @click="sectionList.splice(scope.$index, 1)"></el-button> + </template> + </el-table-column> + </el-table> + </div> + <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> </span> </el-dialog> </div> @@ -365,7 +378,11 @@ selectField: {}, }, expandedKeys: [], - filters: [] + filters: [], + sectionUpDia: false, + sectionLoad: false, + sectionRow: null, + sectionList: [] } }, mounted() { @@ -421,7 +438,7 @@ this.$confirm("鏄惁鍒犻櫎璇ュ眰绾�", "鎻愮ず", { type: "error" }).then(() => { - this.treeLoad = true + // this.treeLoad = true this.selectTree = '' this.getNodeParent(node) this.selectTree = this.selectTree.replace(' - ', '') @@ -436,12 +453,23 @@ }).then(res => { if (res.code == 201) return this.$message.success('宸插垹闄�') - this.selectStandardTreeList() + let arr = this.selectTree.split(' - '); + this.deleteStandard(this.list, arr[arr.length - 1]) + // this.selectStandardTreeList() this.selectTree = '' this.standardList = [] this.productList = [] }) }).catch(e => {}) + }, + deleteStandard(arr, label) { + arr.forEach((item, index) => { + if (item.label == label) { + arr.splice(index, 1); + } else { + item.children && this.deleteStandard(item.children, label); + } + }) }, nodeOpen(data, node, el) { $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') @@ -461,7 +489,7 @@ category: "瀛愬疄楠屽" }).then(res => { this.factory = [] - res.data.forEach(a=>{ + res.data.forEach(a => { this.filters.push({ text: a.label, value: a.value @@ -517,12 +545,7 @@ this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => { this.list = res.data this.list.forEach(a => { - a.children.forEach(b => { - b.children.forEach(c => { - this.expandedKeys.push(c.label) - }) - // this.expandedKeys.push(b.label) - }) + this.expandedKeys.push(a.label) }) this.treeLoad = false }) @@ -580,20 +603,12 @@ }) }, addStandardTree() { - if (this.addOb.factory == null || this.addOb.factory == '') { - this.$message.error('宸ュ巶鏄繀濉」') - return - } - if (this.addOb.laboratory == null || this.addOb.laboratory == '') { - this.$message.error('瀹為獙瀹ゆ槸蹇呭~椤�') - return - } - if (this.addOb.sampleType == null || this.addOb.sampleType == '') { - this.$message.error('鏍峰搧澶х被鏄繀濉」') - return - } if (this.addOb.sample == null || this.addOb.sample == '') { - this.$message.error('鏍峰搧鏄繀濉」') + this.$message.error('浜у搧涓嶅瓨鍦�') + return + } + if (this.addOb.model == null || this.addOb.model == '') { + this.$message.error('璇峰~鍐欏瀷鍙�') return } this.addLoad = true @@ -608,7 +623,15 @@ } this.$message.success('娣诲姞鎴愬姛') this.addDia = false - this.selectStandardTreeList() + this.list + .find(a => a.label == this.addOb.factory).children + .find(a => a.label == this.addOb.laboratory).children + .find(a => a.label == this.addOb.sampleType).children + .find(a => a.label == this.addOb.sample).children.push({ + code: '[5]', + label: this.addOb.model, + value: this.addOb.model, + }) this.addLoad = false }).catch(e => { this.addDia = false @@ -790,7 +813,8 @@ rowClick(row, column, event) { this.tableLoad2 = true this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, { - id: row.id + id: row.id, + tree: this.selectTree }).then(res => { this.productList = res.data setTimeout(() => { @@ -827,12 +851,63 @@ this.$message.error('鏈繚瀛�') return } - this.$message.success('宸蹭繚瀛�') + // this.$message.success('宸蹭繚瀛�') }) }, filterHandler(value, row, column) { const property = column['property']; return row[property] === value; + }, + handleAll(e) { + if (e.length > 0) { + this.productList.map(m => { + this.upProductSelect(null, m) + return m + }) + } else { + this.productList.map(m => { + this.upProductSelect(null, m) + return m + }) + } + }, + sectionUp(row) { + this.sectionRow = row + this.sectionUpDia = true + this.sectionList = [] + if(this.sectionRow.section!==null){ + JSON.parse(this.sectionRow.section).forEach(a=>{ + this.sectionList.push({ + thing: a + }) + }) + } + }, + sectionLoadAdd() { + let sectionList = [] + this.sectionList.forEach(a=>{ + if(a.thing!==''){ + sectionList.push(a.thing) + } + }) + this.sectionRow.section = JSON.stringify(sectionList) + this.sectionLoad = true + this.$axios.post(this.$api.standardTree.upStandardProductList, { + id: this.sectionRow.id, + section: this.sectionRow.section + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + this.sectionLoad = false + if (res.code == 201) { + this.$message.error('鏈繚瀛�') + return + } + this.$message.success('宸蹭繚瀛�') + this.sectionUpDia = false + }) } } } -- Gitblit v1.9.3