From e6fe82af9539b07f182b1d719a86059ebfebabb7 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期三, 08 五月 2024 07:27:27 +0800 Subject: [PATCH] 区间项目下单 --- src/components/view/b2-standard.vue | 128 +++++++++++++++++++++++++++++++++++++----- src/components/do/b1-ins-order/add.vue | 26 ++++++-- src/components/view/a5-capacity-scope.vue | 8 +- 3 files changed, 134 insertions(+), 28 deletions(-) diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue index 6aa10a5..f5b4a48 100644 --- a/src/components/do/b1-ins-order/add.vue +++ b/src/components/do/b1-ins-order/add.vue @@ -270,10 +270,17 @@ <el-table-column prop="model" label="鏍峰搧鍨嬪彿" align="center" min-width="100"> <template slot-scope="scope"> <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="鏍峰搧鍨嬪彿" - size="small" @change="handleChangeModel" :disabled="active>1"> + size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;" disabled> <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> + </template> + </el-table-column> + <el-table-column prop="modelNum" label="鍨嬪彿鍙傛暟" width="130" align="center" v-if="!(active>1)"> + <template slot-scope="scope"> + <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="闈炲繀濉�" + @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)" + @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input> </template> </el-table-column> <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100"> @@ -334,7 +341,7 @@ <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column> <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column> <el-table-column prop="manDay" label="棰勮鏃堕棿(澶�)" width="120" show-overflow-tooltip></el-table-column> - <el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="manHour" 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="ask" label="瑕佹眰鍊�" min-width="220px"> @@ -370,7 +377,7 @@ <el-row> <el-col :span="24"> <span><i - :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> + :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i> {{ data.code }} {{ data.label }}</span> </el-col> </el-row> @@ -562,6 +569,7 @@ sampleType: null, sample: null, model: null, + modelNum: null, sampleNum: 1, isLeave: 0, unit: null @@ -722,7 +730,10 @@ this.saveLoad = true this.$axios.post(this.$api.insOrder.addInsOrder, { insOrder: this.addObj, - list: JSON.stringify(this.sampleList) + list: JSON.stringify(this.sampleList.map(a=>{ + a.model = a.model + ((a.modelNum==null||a.modelNum==''||a.modelNum=='null')?'':('-'+a.modelNum)) + return a + })) }, { headers: { 'Content-Type': 'application/json' @@ -847,9 +858,7 @@ this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => { this.list = res.data this.list.forEach(a => { - a.children.forEach(b => { - this.expandedKeys.push(b.label) - }) + this.expandedKeys.push(a.label) }) }) }, @@ -1114,9 +1123,10 @@ }) }, methodChange(val, row) { + if(val===null||val==='')return this.getProductLoad = true this.$axios.post(this.$api.standardTree.selectStandardProductList, { - model: this.addObj.model, + model: this.addObj.model + '-' + row.modelNum, standardMethodListId: val }, { headers: { diff --git a/src/components/view/a5-capacity-scope.vue b/src/components/view/a5-capacity-scope.vue index 779a102..bf1c8c9 100644 --- a/src/components/view/a5-capacity-scope.vue +++ b/src/components/view/a5-capacity-scope.vue @@ -228,11 +228,11 @@ multiple: true } }, - requiredAdd: ['sonLaboratory', 'inspectionItem', 'manHour', 'inspectionItemType', 'inspectionValueType', - 'unit', 'method', 'price', 'manDay', 'templateId' + requiredAdd: ['sonLaboratory', 'inspectionItem', 'inspectionItemType', 'inspectionValueType', + 'unit', 'method', 'manDay', 'templateId' ], - requiredUp: ['sonLaboratory', 'inspectionItem', 'manHour', 'inspectionItemType', 'inspectionValueType', - 'unit', 'method', 'price', 'manDay', 'templateId' + requiredUp: ['sonLaboratory', 'inspectionItem', 'inspectionItemType', 'inspectionValueType', + 'unit', 'method', 'manDay', 'templateId' ] }, testObjectData: { diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue index 5398949..755a9c9 100644 --- a/src/components/view/b2-standard.vue +++ b/src/components/view/b2-standard.vue @@ -116,7 +116,7 @@ <el-row style="width: 100%;"> <el-col :span="21" :class="{sort:node.level>3}" :title="data.label"> <span><i - :class="`node_i ${data.children != undefined ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> + :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i> {{ data.code }} {{ data.label }}</span> </el-col> <el-col :span="2" style="text-align: right;" v-if="delStandardTree"> @@ -142,8 +142,8 @@ <!-- </el-col> --> </el-row> <el-row class="standard_table" v-loading="tableLoad"> - <el-table class="el-table" :data="standardList" style="width: 100%;" height="220" - tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard"> + <el-table class="el-table" :data="standardList" style="width: 100%;" height="220" tooltip-effect="dark" + highlight-current-row @row-click="rowClick" ref="standard"> <el-table-column prop="code" label="鏍囧噯缂栧彿" show-overflow-tooltip width="200"> <template slot-scope="scope"> <span style="color: red;font-size: 14px;">{{scope.row['code']}}</span> @@ -199,8 +199,22 @@ </template> </el-table-column> <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column> - <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="price" label="鍗曚环(鍏�)" width="120"> + <template slot-scope="scope"> + <el-input v-model="scope.row.price" size="small" placeholder="鍗曚环(鍏�)" + @change="(value)=>upStandardProductListOfPrice(value,scope.row.id)" v-if="upStandardProduct"> + </el-input> + <span v-else>{{scope.row.price}}</span> + </template> + </el-table-column> + <el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="120"> + <template slot-scope="scope"> + <el-input v-model="scope.row.manHour" size="small" placeholder="鍗曚环(鍏�)" + @change="(value)=>upStandardProductListOfManHour(value,scope.row.id)" v-if="upStandardProduct"> + </el-input> + <span v-else>{{scope.row.manHour}}</span> + </template> + </el-table-column> <el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" 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"> @@ -278,19 +292,41 @@ <el-button type="primary" @click="addStandardProductDo" :loading="addLoad3">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog title="鍖洪棿璁剧疆" :visible.sync="sectionUpDia" width="500px"> + <el-dialog title="鍖洪棿璁剧疆" :visible.sync="sectionUpDia" width="70%"> <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> + <el-input size="small" v-model="scope.row.thing" clearable placeholder="鍖洪棿"></el-input> + </template> + </el-table-column> + <el-table-column label="瑕佹眰鍊�" align="center"> + <template slot-scope="scope"> + <el-input size="small" v-model="scope.row.ask" clearable placeholder="瑕佹眰鍊�"></el-input> + </template> + </el-table-column> + <el-table-column label="瑕佹眰鎻忚堪" align="center"> + <template slot-scope="scope"> + <el-input size="small" placeholder="瑕佹眰鎻忚堪" v-model="scope.row.tell" clearable type="textarea" + :autosize="{ minRows: 1, maxRows: 2}"></el-input> + </template> + </el-table-column> + <el-table-column label="鍗曚环" align="center" width="120"> + <template slot-scope="scope"> + <el-input size="small" v-model="scope.row.price" clearable placeholder="鍗曚环"></el-input> + </template> + </el-table-column> + <el-table-column label="宸ユ椂绯绘暟" align="center" width="120"> + <template slot-scope="scope"> + <el-input size="small" v-model="scope.row.manHour" clearable placeholder="宸ユ椂绯绘暟"></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> + <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> @@ -739,7 +775,39 @@ this.$message.error('鏈繚瀛�') return } - this.$message.success('宸蹭繚瀛�') + // this.$message.success('宸蹭繚瀛�') + }) + }, + upStandardProductListOfPrice(value, index) { + this.$axios.post(this.$api.standardTree.upStandardProductList, { + id: index, + price: value + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + if (res.code == 201) { + this.$message.error('鏈繚瀛�') + return + } + // this.$message.success('宸蹭繚瀛�') + }) + }, + upStandardProductListOfManHour(value, index) { + this.$axios.post(this.$api.standardTree.upStandardProductList, { + id: index, + manHour: value + }, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + if (res.code == 201) { + this.$message.error('鏈繚瀛�') + return + } + // this.$message.success('宸蹭繚瀛�') }) }, delStandardMethodByFLSSM(id) { @@ -876,26 +944,54 @@ this.sectionRow = row this.sectionUpDia = true this.sectionList = [] - if(this.sectionRow.section!==null){ - JSON.parse(this.sectionRow.section).forEach(a=>{ + if (this.sectionRow.section != null && this.sectionRow.section != '') { + JSON.parse(this.sectionRow.section).forEach((a, ai) => { this.sectionList.push({ - thing: a + thing: a, + ask: JSON.parse(this.sectionRow.ask)[ai], + tell: JSON.parse(this.sectionRow.tell)[ai], + price: JSON.parse(this.sectionRow.price)[ai], + manHour: JSON.parse(this.sectionRow.manHour)[ai] }) }) } }, sectionLoadAdd() { let sectionList = [] - this.sectionList.forEach(a=>{ - if(a.thing!==''){ + let askList = [] + let tellList = [] + let priceList = [] + let manHourList = [] + this.sectionList.forEach(a => { + if (a.thing !== '') { sectionList.push(a.thing) + askList.push(a.ask) + tellList.push(a.tell) + priceList.push(a.price) + manHourList.push(a.manHour) } }) - this.sectionRow.section = JSON.stringify(sectionList) + if (sectionList.length === 0) { + this.sectionRow.section = null + this.sectionRow.ask = null + this.sectionRow.tell = null + this.sectionRow.price = null + this.sectionRow.manHour = null + } else { + this.sectionRow.section = JSON.stringify(sectionList) + this.sectionRow.ask = JSON.stringify(askList) + this.sectionRow.tell = JSON.stringify(tellList) + this.sectionRow.price = JSON.stringify(priceList) + this.sectionRow.manHour = JSON.stringify(manHourList) + } this.sectionLoad = true this.$axios.post(this.$api.standardTree.upStandardProductList, { id: this.sectionRow.id, - section: this.sectionRow.section + 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' -- Gitblit v1.9.3