From a4b23bbf535f10c5ecc31b16bc8177bcfc23e996 Mon Sep 17 00:00:00 2001 From: hailin <1356886193@qq.com> Date: 星期一, 07 八月 2023 09:44:13 +0800 Subject: [PATCH] 添加原材料检验单第一次 --- src/components/view/rawInsDetail.vue | 269 ++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 202 insertions(+), 67 deletions(-) diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue index 716cab0..539c4f9 100644 --- a/src/components/view/rawInsDetail.vue +++ b/src/components/view/rawInsDetail.vue @@ -32,6 +32,9 @@ .raw-detail-info .el-input{ width: auto; } + .raw-detail-info.raw-detail-info-edit >>>.el-input__inner{ + background:#fff; + } .raw-detail-info >>>.el-input__inner{ width: 224px; height: 32px; @@ -42,6 +45,12 @@ } .raw-detail-info .el-form-item{ margin-bottom: 24px; + } + .raw-detail-info .el-form-item .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; } /* 妫�楠岄」鐩� */ @@ -70,56 +79,136 @@ </el-col> </el-row> </div> - <div class="raw-detail-info"> - <el-form v-model="detail" label-position="right" label-width="120px" > + <div class="raw-detail-info" :class="detailId===null?'raw-detail-info-edit':''"> + <el-form v-model="detailInfo" label-position="right" label-width="120px" > <el-row> <el-col :span="7"> <el-form-item label="鏉ユ枡鏃ユ湡:"> - <el-input></el-input> + <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.formTime"></el-input> + <el-date-picker + v-else + type="date" + v-model="detailInfo.formTime" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="瑙勬牸鍨嬪彿:"> - <el-input></el-input> + <el-input :disabled="detailId!==null" v-model="detailInfo.specifications"></el-input> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="鍘熸潗鏂欑紪鐮�:"> - <el-input></el-input> + <el-input :disabled="detailId!==null" v-model="detailInfo.code"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="7"> <el-form-item label="鍘熸潗鏂欏悕绉�:"> - <el-input></el-input> + <el-input :disabled="detailId!==null" v-model="detailInfo.name"></el-input> </el-form-item> </el-col> <el-col :span="7"> - <el-form-item label="鎶ユ鏃ユ湡:"> - <el-input></el-input> + <el-form-item label="鏁伴噺:"> + <el-input placeholder="璇疯緭鍏ユ楠屾暟閲�" :disabled="detailId!==null" v-model="detailInfo.number"></el-input> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="鍗曚綅:"> - <el-input></el-input> + <el-input placeholder="璇疯緭鍏ユ楠屽崟浣�" :disabled="detailId!==null" v-model="detailInfo.unit"></el-input> + </el-form-item> + </el-col> + <el-col :span="3"> + <el-form-item v-show="detailId===null" label="" label-width="100px"> + <el-button @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button> </el-form-item> </el-col> </el-row> <el-row> + <el-col :span="7"> - <el-form-item label="鏁伴噺:"> - <el-input></el-input> + <el-form-item v-show="detailId!==null" label="鎶ユ鏃ユ湡:"> + <el-input :disabled="detailId!==null" v-model="detailInfo.createTime"></el-input> </el-form-item> </el-col> - <el-col :span="7"> - <el-form-item label="鎶ユ浜�:"> - <el-input></el-input> + <el-col :span="14"> + <el-form-item v-show="detailId!==null" label="鎶ユ浜�:"> + <el-input :disabled="detailId!==null" v-model="detailInfo.userName"></el-input> </el-form-item> </el-col> </el-row> </el-form> + <!-- <el-form v-show="detailId ===null" v-model="rawInsParams" label-position="right" label-width="120px" > + <el-row> + <el-col :span="7"> + <el-form-item label="璁㈠崟鍙�:"> + <el-input placeholder="璇疯緭鍏ヨ鍗曞彿" v-model="rawInsParams.orderNumber"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="瀹㈡埛鍚嶇О:"> + <el-input placeholder="璇疯緭鍏ュ鎴峰悕绉�" v-model="rawInsParams.customerName"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="宸ョ▼鍚嶇О:"> + <el-input placeholder="璇疯緭鍏ュ伐绋嬪悕绉�" v-model="rawInsParams.projectName"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="7"> + <el-form-item label="璐ㄩ噺杩芥函鍙�:"> + <el-input placeholder="璇疯緭鍏ヨ川閲忚拷婧彿" v-model="rawInsParams.qualityTraceability"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="椤圭洰鍚嶇О:"> + <el-select placeholder="璇疯緭鍏ラ」鐩悕绉�" v-model="rawInsParams.material"> + <el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.name"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="浜у搧缂栫爜:"> + <el-input placeholder="浜у搧缂栫爜" disabled v-model="code"></el-input> + </el-form-item> + </el-col> + + </el-row> + <el-row> + <el-col :span="7"> + <el-form-item label="瑙勬牸鍨嬪彿:"> + <el-input v-model="detailInfo.specificationsModel"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鍗曚綅:"> + <el-input placeholder="璇疯緭鍏ュ崟浣�" v-model="rawInsParams.unit"></el-input> + </el-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鏁伴噺"> + <el-input placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" v-model="rawInsParams.qualityTraceability"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="21"> + <el-form-item label="涓绘満宸�:"> + <el-input placeholder="璇疯緭鍏ヤ富鏈哄伐" v-model="rawInsParams.userId"></el-input> + </el-form-item> + </el-col> + <el-col :span="3"> + <el-form-item label="" label-width="100px"> + <el-button @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button> + </el-form-item> + </el-col> + </el-row> + </el-form> --> </div> <div class="title"> <el-row> @@ -144,36 +233,43 @@ width="212"> </el-table-column> <el-table-column - prop="address" + prop="unit" label="鍗曚綅" width="148"> </el-table-column> <el-table-column - prop="address" + prop="required" label="鏍囧噯" width="254"> </el-table-column> <el-table-column - prop="address" + prop="internal" label="鍐呮帶鍊�" width="291"> </el-table-column> <el-table-column - prop="address" + prop="testValue" label="妫�鏌ュ��" width="371"> + <template slot-scope="scope"> + <el-input v-model="scope.row.testValue" @blur="changeState(scope.row)"></el-input> + </template> </el-table-column> <el-table-column - prop="address" + prop="deviceName" label="璇曢獙璁惧" width="248" > </el-table-column> <el-table-column - prop="address" + prop="testState" label="缁撹" width="98" > + <template slot-scope="scope"> + <span v-show="scope.row.testState!=null" :style="{color: scope.row.testState===1?'#67C23A':'#F56C6C'}">{{scope.row.testState===1?'鍚堟牸':'涓嶅悎鏍�'}}</span> + <span v-show="scope.row.testState==null">鏆傛湭缁撹</span> + </template> </el-table-column> </el-table> </div> @@ -185,31 +281,37 @@ <div class="raw-conclusion-table"> <el-table :data="conclusionTable"> <el-table-column - prop="number" + prop="code" label="鐗╂枡缂栧彿" width="353"> </el-table-column> <el-table-column - prop="number" + prop="name" label="鐗╂枡鍚嶇О" width="353"> </el-table-column> <el-table-column - prop="number" + prop="names" label="妫�楠屽憳" width="542"> + <template slot-scope="scope"> + <span v-for="item in scope.row.names" :key="item.username" :style="{marginRight:'8px'}">{{item}}</span> + </template> </el-table-column> <el-table-column - prop="number" + prop="testState" label="妫�楠岀粨璁�" width="362"> + <template slot-scope="scope"> + <span v-show="scope.row.testState!=null" :style="{color: scope.row.testState===1?'#67C23A':'#F56C6C'}">{{scope.row.testState===1?'鍚堟牸':'涓嶅悎鏍�'}}</span> + <span v-show="scope.row.testState==null">鏆傛湭缁撹</span> + </template> </el-table-column> <el-table-column - fixed="right" label="鎿嶄綔" width="120"> - <template slot-scope="scope"> - <el-button type="text" size="small">涓婃姤</el-button> + <template> + <el-button type="text" size="small" @click.once="submitSave">涓婃姤</el-button> </template> </el-table-column> </el-table> @@ -221,51 +323,84 @@ import RawIns from './raw-ins.vue' export default { components:{RawIns}, - props:['goBack','detail'], + props:['goBack','detailId'], created(){ - console.log(this.detail) + // 娓呯┖ + this.detailInfo = {} + if(this.detailId){ + console.log(this.detailId) + this.getDetailInfo() + }else{ + this.getOptions() + } + }, + mounted(){ + }, + computed:{ + conclusionTable(){ + // console.log(this.projectTable) + // console.log(this.projectTable.map(item=>item.userName)) + const conclusion = {} + conclusion.name = this.detailInfo.name + conclusion.code = this.detailInfo.code + conclusion.names= [...new Set(this.projectTable.map(item=>item.userName))] + console.log(this.projectTable.filter(item=>item.testState===0)) + if(this.projectTable.filter(item=>item.testState===null).length){ + conclusion.testState = null + return [conclusion] + } + if(this.projectTable.filter(item=>item.testState===0).length>0){ + conclusion.testState= 0 + }else{ + conclusion.testState= 1 + } + return [conclusion] + }, + // 浜у搧缂栫爜 + // code(){ + // const material= this.materialOptions.filter(item=>item.name===this.rawInsParams.material)[0] + // return material && material.code + // } }, data() { return { - conclusionTable:[ - {number:'鐗╂枡鍚嶇О'} - ], - projectTable:[ - { - date: '2016-05-02', - name: '鐜嬪皬铏�', - address: '涓婃捣甯�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯�' - }, { - date: '2016-05-04', - name: '鐜嬪皬铏�', - address: '涓婃捣甯�' - } - ] + // 璇︽儏椤靛氨鏄鎯呬俊鎭� + detailInfo:{}, + projectTable:[], + // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄 + rawInsParams:{}, + // 椤圭洰鍚嶇Оoptions + materialOptions:[] } }, + methods:{ + // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭� + async getDetailInfo() { + const {data} = await this.$axios.get(this.$api.url.selectRawInspectsListById+`${this.detailId}`,{params:{id:this.detailId}}) + this.detailInfo = data + this.projectTable = data.rawInsProducts + // console.log(this.projectTable) + }, + // 鏂板妫�楠屽崟 + addNewRawInspect() { + console.log(this.detailInfo) + }, + // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁� + async changeState(row){ + // console.log(row) + const res = await this.$axios.post(this.$api.url.updaterawInsProduct,{...row},{headers:{'Content-Type':'application/json'}}) + this.$message.success('鎻愪氦鎴愬姛') + this.getDetailInfo()//閲嶆柊鍒锋柊淇℃伅鏁版嵁 + }, + async submitSave() { + const res = await this.$axios.post(this.$api.url.updateRawInspectsById+`${this.detailId}`) + this.$message.success('鎻愪氦鎴愬姛') + this.getDetailInfo() + }, + async getOptions() { + const {data} = await this.$axios.get(this.$api.url.listMaterial) + this.materialOptions = data + } + } } </script> -- Gitblit v1.9.3