From 809f8b1279bf84f28bccabc4f95a8eba6c22a24d Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期二, 29 八月 2023 10:30:04 +0800 Subject: [PATCH] 放行委托新增 --- src/views/experiment/inspectionApplication/index.vue | 399 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 258 insertions(+), 141 deletions(-) diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue index b3fc4f1..0ebe171 100644 --- a/src/views/experiment/inspectionApplication/index.vue +++ b/src/views/experiment/inspectionApplication/index.vue @@ -180,20 +180,21 @@ title="鏂板妫�楠屽崟" :visible.sync="checkTypeVisible" width="50%" + top="10vh" > <div class="check-box"> - <el-radio-group v-model="type" @change="handleRadioChange"> - <el-radio style="background-color: rgb(170, 236, 214);border-radius: 10px;" :label="0" border >鍘熸潗鏂欐楠�</el-radio> - <el-radio :label="1" border>濮旀墭妫�楠�</el-radio> - <el-radio :label="2" border>鎴愬搧妫�楠�</el-radio> + <el-radio-group v-model="type" @click.native="handleRadioChange"> + <el-radio :style="`background-color: ${type==0?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="0" border>鍘熸潗鏂欐楠�</el-radio> + <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="1" border>濮旀墭妫�楠�</el-radio> + <el-radio :style="`background-color: ${type==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="2" border>鎴愬搧妫�楠�</el-radio> </el-radio-group> </div> - <div v-if="type === 0 || type === ''"> - <el-form :model="infoForm" ref="infoForm" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> + <div v-if="type === 0"> + <el-form :model="infoForm" ref="infoForm" class="checkTypeForm" label-position="top" label-width="200px" size="medium"> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鏉ユ枡鏃ユ湡锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.dateSurvey" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.startTime" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> @@ -205,19 +206,19 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鍘熸潗鏂欑紪鐮侊細"> - <el-input style="width: 300px" type="text" :value="infoForm.materialCoding" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.mcode" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="鍘熸潗鏂欏悕绉帮細"> - <el-input style="width: 300px" type="text" :value="infoForm.materialName" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.specificationsModels" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.specifications" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> @@ -229,13 +230,13 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鏁伴噺锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + <el-input style="width: 300px" type="text" :value="infoForm.num" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="妫�楠屾椂闂达細"> <el-date-picker - v-model="infoForm.checkdate" + v-model="infoForm.endTime" type="daterange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" @@ -248,27 +249,27 @@ </el-form> </div> <div v-if="type === 1"> - <el-form :model="commisionSelection" ref="commisionTable" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> + <el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> <el-row :gutter="100"> <el-col :span="10"> - <el-form-item label="鏉ユ枡鏃ユ湡锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.formTime" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> + <el-form-item label="濮旀墭缂栧彿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.entrust_coding" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> - <el-form-item label="渚涘簲鍟嗗悕绉帮細"> + <el-form-item label="濮旀墭鍗曚綅"> <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ鎵樺崟浣�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> - <el-form-item label="濮旀墭缂栧彿锛�"> + <el-form-item label="鏍峰搧缂栧彿"> <el-input style="width: 300px" type="text" :value="commisionSelection.mcode" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> - <el-form-item label="濮旀墭鍚嶇О锛�"> + <el-form-item label="鏍峰搧鍚嶇О"> <el-input style="width: 300px" type="text" :value="commisionSelection.name" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" autocomplete="off" /> </el-form-item> </el-col> @@ -280,15 +281,15 @@ </el-form-item> </el-col> <el-col :span="10"> - <el-form-item label="鍗曚綅锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> + <el-form-item label="閫佽揪鏃堕棿"> + <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="100"> <el-col :span="10"> - <el-form-item label="鏁伴噺锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.num" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> + <el-form-item label="瀹屾垚鏈熼檺"> + <el-input style="width: 300px" type="text" :value="commisionSelection.completionDeadline" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> @@ -367,11 +368,93 @@ </div> <span slot="footer" class="dialog-footer"> <el-button @click="checkTypeVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="addInspection">纭� 瀹�</el-button> + <!-- <el-button type="primary" @click="addInspection">纭� 瀹�</el-button> --> + <el-button type="primary" @click="QUEding">纭� 瀹�</el-button> </span> </el-dialog> </div> </div> + + <!-- 纭畾璺宠浆鍩烘湰搴撳脊绐� --> + <el-dialog + title="鏍囧噯搴�" + :visible.sync="Standardframe" + width="49%" + > + <el-card> + <template slot-scope="scope" > + <span>鐗堟湰閫夋嫨锛�</span> + <el-select @change="ccc" v-model="selectedValue" size="small" slot="append" style="width: 220px;"> + <el-option v-for="item in BANben" :key="item" :label="item" + :value="item"></el-option> + + </el-select> + </template> + </el-card> + <el-table + :data="tableData" + style="width: 100%; margin-bottom: 20px" + row-key="id" + border + height="calc(80vh - 250px)" + default-expand-all + ref="multipleTable" + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" + > + <el-table-column type="selection" label="搴忓彿"> </el-table-column> + <el-table-column + type="index" + width="50px" + label="搴忓彿" + ></el-table-column> + <el-table-column label="椤圭洰鍚嶇О" sortable> + <template scope="scope"> + <el-tag + ><div + class="firstDiv" + :style="`color: ${ + scope.row.code == '[1]' ? '#16a7ff' : '#58c173' + }`" + > + {{ scope.row.code == "[1]" ? "01" : "02" }} + </div> + <span style="color: black">{{ scope.row.name }}</span></el-tag + > + </template> + </el-table-column> + <el-table-column + prop="unit" + label="鍗曚綅" + sortable + ></el-table-column> + <el-table-column label="鏍囧噯鍊�" sortable> + <template scope="scope"> + <el-input + v-if="scope.row.edit === true || scope.row.code === '[2]'" + @blur="requiredOnfocus(scope)" + v-model="scope.row.required" + placeholder="璇疯緭鍏ユ爣鍑嗗��" + ></el-input> + </template> + </el-table-column> + <el-table-column prop="internal" label="鍐呮帶鍊�" sortable> + <template scope="scope"> + <el-input + v-if="scope.row.edit === true || scope.row.code === '[2]'" + @blur="requiredOnfocus(scope)" + v-model="scope.row.internal" + placeholder="璇疯緭鍏ュ唴鎺у��" + ></el-input> + </template> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="Standardframe = false">鍙� 娑�</el-button> + <el-button type="primary" @click="GOfrom">纭� 瀹�</el-button> + </span> + + </el-dialog> + <!-- 鍘熸潗鏂欐楠屾ā鎬佹 --> <el-dialog title="鍘熸潗鏂欐楠�" @@ -387,9 +470,8 @@ style="width: 100%" @selection-change="handleSelectionChange" > - <el-table-column + <el-table-column type="selection" - label="" min-width="10%" /> <el-table-column @@ -398,7 +480,7 @@ min-width="8%" /> <el-table-column - prop="dateSurvey" + prop="startTime" label="鏉ユ枡鏃ユ湡" min-width="8%" /> @@ -408,17 +490,17 @@ min-width="12%" /> <el-table-column - prop="materialCoding" + prop="mcode" label="鏉愭枡缂栫爜" min-width="8%" /> <el-table-column - prop="materialName" + prop="name" label="鏉愭枡鍚嶇О" min-width="8%" /> <el-table-column - prop="specificationsModels" + prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" /> @@ -428,27 +510,27 @@ min-width="5%" /> <el-table-column - prop="quantity" + prop="num" label="鏁伴噺" min-width="5%" /> <el-table-column - prop="inspectionDate" + prop="endTime" label="鎶ユ鏃ユ湡" min-width="8%" /> <el-table-column - prop="surveyor" + prop="supplier" label="妫�楠屼汉" min-width="8%" /> <el-table-column - prop="createTime" + prop="startTime" label="妫�楠屾棩鏈�" min-width="8%" /> <el-table-column - prop="state" + prop="condition" label="鐘舵��" min-width="8%" > @@ -480,50 +562,32 @@ @selection-change="handleSelectionChange" style="width: 100%" > - <el-table-column - type="selection" - min-width="10%" - /> - <el-table-column - type="index" - label="搴忓彿" - min-width="10%" - /> - <el-table-column - prop="formTime" - label="鏉ユ枡鏃ユ湡" - min-width="10%" - /> - <el-table-column - prop="supplier" - label="渚涘簲鍟嗗悕绉�" - min-width="12%" - /> - <el-table-column - prop="mcode" - label="鏉愭枡缂栫爜" - min-width="8%" - /> - <el-table-column - prop="specifications" - label="瑙勬牸鍨嬪彿" - min-width="8%" - /> - <el-table-column - prop="unit" - label="鍗曚綅" - min-width="12%" - /> - <el-table-column - prop="num" - label="鏁伴噺" - min-width="8%" - /> - <el-table-column - prop="checkdate_" - label="妫�楠屾棩鏈�" - min-width="8%" - /> + <el-table-column type="selection" min-width="10%" /> + <el-table-column type="index" label="搴忓彿" min-width="10%" /> + <el-table-column prop="entrust_coding" label="濮旀墭缂栧彿" min-width="10%" /> + <el-table-column prop="supplier" label="濮旀墭鍗曚綅" min-width="12%" /> + <el-table-column prop="mcode" label="鏍峰搧缂栧彿" min-width="8%" /> + <el-table-column prop="name" label="鏍峰搧鍚嶇О" min-width="8%" /> + <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" /> + <el-table-column prop="endTime" label="閫佽揪鏃堕棿" min-width="8%" /> + <el-table-column prop="formTime" label="瀹屾垚鏈熼檺" min-width="8%" /> + <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" /> + <el-table-column prop="endTime" label="妫�楠屾棩鏈�" min-width="8%" /> + <el-table-column prop="inspection_status" label="鐘舵��" min-width="8%"> + <template slot-scope="scope"> + <div v-if="scope.row.inspection_status === 1"> + <span style="color: green;">宸叉娴�</span> + </div> + <div v-else> + <span style="color: red;">寰呮娴�</span> + </div> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" min-width="8%"> + <template slot-scope="scope"> + <el-button type="text" size="small">鍒犻櫎</el-button> + </template> + </el-table-column> </el-table> <span slot="footer" class="dialog-footer"> <el-button @click="commisionVisible = false">鍙� 娑�</el-button> @@ -534,15 +598,15 @@ </template> <template v-else> <router-view /> - </template> </div> </template> <script> - import { selectInspectsList, selectAll, addInspect} from '@/api/experiment/planAssignments' + import { selectInspectsList, selectAll, addInspect,chooseVer,lookProByVer} from '@/api/experiment/planAssignments' export default { data() { + return { showDetail: false, searchData: { @@ -550,34 +614,12 @@ type: '', state: '', }, + valu:{}, + inputValue: '', icode:'', inspectionTable: [], rawMaterialTable: [], - commisionTable: [{ - specifications_models: "GGXH-AAAAA", - inspectionTime: "2023-08-03", - id: 2, - samples_number: 0, - dateSurvey: "2023-08-03", - entrusted: "闃块噷宸村反", - completionDeadline: "2023-08-03", - contacts: "灏忛粦", - entrust_coding: "SL20230803000003", - sample_name: "鍙戝姩鏈�", - inspection_status: 1 - },{ - specifications_models: "GGXH-AAAAA", - inspectionTime: "2023-08-03", - id: 2, - samples_number: 0, - dateSurvey: "2023-08-03", - entrusted: "闃块噷宸村反", - completionDeadline: "2023-08-03", - contacts: "灏忛粦", - entrust_coding: "SL20230803000003", - sample_name: "鍙戝姩鏈�", - inspection_status: 1 - }], + commisionTable: [], finishedTable: { deliverydate: '', supplier: '', @@ -588,7 +630,8 @@ amount: '', checkdate: [] }, - infoForm:'', + selectedValue:1, + infoForm:{}, commisionSelection:{ entrust_coding: '', entrusted: '', @@ -629,10 +672,16 @@ pageSize: 8, // 姣忛〉鐨勬暟鎹潯鏁� radioValue: '鍏ㄩ儴', checkTypeVisible: false, - type: '', // 榛樿涓嶉�変腑鐨勭姸鎬� + type: 0, // 榛樿涓嶉�変腑鐨勭姸鎬� rawmaterialVisible: false, commisionVisible: false, - tmp: '' + tmp: '', + Standardframe: false, + tableData: [], + tableRow:{}, + BANben:[], + select_1: [], + aa:{} } }, watch: { @@ -652,20 +701,59 @@ if (this.$route.name === 'ForInspectionDetail') this.showDetail = true }, methods: { - async handleClick(row){ - // console.log(item); - // const res = await ddd({goodId:id}) - // this.$message({ - // message: '鎭枩浣狅紝杩欐槸涓�鏉℃垚鍔熸秷鎭�', - // type: 'success' - // }); - + async selectAll(){ + const res = selectAll({type:0}) // console.log(res); + this.rawMaterialTable = res.data + }, + async selectAll(){ + const res = selectAll({type:2}) + // console.log(res); + this.commisionTable = res.data + }, + async handleClick(row){ this.inspectionTable = row; - console.log(row.id); this.id = row.id this.$router.push({name:'Viewdetails',query: {id:row.id}}); this.selectInspectsList() + }, + // validateInput() { + // if (this.inputValue.trim() === '') { + // } + // }, // 杈撳叆鍊间负绌猴紝寮瑰嚭鎻愮ず淇℃伅鎴栬繘琛屽叾浠栧鐞� + // alert('杈撳叆鍊间笉鑳戒负绌�'); + // return; + + //鐗堟湰搴� + async chooseVer() { + console.log(this.tmp.materialCoding); + console.log(this.tmp.materialName); + console.log(this.tmp.specificationsModels); + const res = await chooseVer ({ + mcode:this.tmp.mcode, + name:this.tmp.name, + specifications:this.tmp.specifications + }) + this.BANben = res.data + console.log(res.data); + this.aa = this.BANben[0] + this.lookProByVer() + }, + //鏍囧噯搴� + async lookProByVer() { + const res = await lookProByVer({ + mcode:this.tmp.mcode, + name:this.tmp.name, + specifications:this.tmp.specifications, + version:this.aa + }) + console.log(res); + this.tableData = res.data + }, + ccc(val){ + // console.log(val); + this.aa = val + this.lookProByVer() }, async selectInspectsList() { // 鑾峰彇鍒嗛〉鍒楄〃 @@ -678,7 +766,7 @@ var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] var checkdate = startTime + '~' + endTime - var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%m-%d')"] + var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%d')"] item['formTime'] = formTime // 鏉ユ枡鏃ユ湡 item['checkdate'] = checkdate // 妫�楠屾棩鏈� item['createTime'] = createTime // 鐧昏鏃ユ湡 @@ -699,7 +787,6 @@ item['checkdate'] = checkdate // 妫�楠屾棩鏈� item['createTime'] = createTime // 鐧昏鏃ユ湡 }) - console.log('data:',data) this.inspectionTable = data if(this.searchData.type !== ''){ if(this.searchData.state !== ''){ @@ -733,6 +820,7 @@ this.$refs.multipleTable.toggleRowSelection(val.pop()) } this.tmp = val[0] + // console.log(this.tmp); }, handleCommisionSelection(){ this.commisionSelection = this.tmp @@ -740,35 +828,38 @@ }, handleRawMaterialSelection(){ this.infoForm = this.tmp + // console.log(this.infoForm); + this.rawmaterialVisible = false }, - async handleRadioChange(){ - if(this.type === 0){ + handleRadioChange(){ + setTimeout(()=>{ + if(this.type === 0){ // 鍘熸潗鏂欐姤妫� - // this.rawmaterialVisible = true - // const res = await selectAll({type: this.type}) - // var data = res.data + this.rawmaterialVisible = true + selectAll({type:0}).then(res=>{ + // console.log(res); + // var data = res.data // data.forEach((item)=>{ // var checkdate = [] // checkdate.push(item['createTime']) // checkdate.push(item['updateTime']) // item['checkdate'] = checkdate // 妫�楠屾棩鏈� // }) - this.$router.push({ name: 'ReportForInspection' }); + console.log(res); + this.rawMaterialTable = res.data + }) + + // this.infoForm = res.data + // this.$router.push({ name: 'ReportForInspection' }); }else if(this.type === 1){ - // this.commisionVisible = true - // const res = await selectAll({type: this.type}) - // var data = res.data - // data.forEach((item)=>{ - // var checkdate = [] - // checkdate.push(item['startTime']) - // checkdate.push(item['endTime']) - // item['checkdate_'] = item['startTime'] + '~' + item['endTime'] - // item['checkdate'] = checkdate // 妫�楠屾棩鏈� - // }) - // this.commisionTable = res.data - this.$router.push({ name: 'CommissionInspection' }); - } + this.commisionVisible = true + selectAll({type:2}).then(res=>{ + + this.commisionTable = res.data + }) + } + },100) }, // 鏂板妫�楠� async addInspection(){ @@ -811,7 +902,7 @@ type: this.type, unit: this.finishedTable.unit }) } - this.type = '' + this.type = 0 this.checkTypeVisible = false this.$message({ message: '娣诲姞鎴愬姛锛�', @@ -830,7 +921,33 @@ console.log(`褰撳墠椤�: ${val}`) this.currentPage = val this.selectInspectsList() - } + }, + //纭畾璺宠浆 + QUEding(){ + // this.tableRow = a + + this.Standardframe = true + + this.chooseVer() + + }, + //纰哄畾瑭虫儏闋� + GOfrom( ){ + this.Standardframe = false + // console.log(this.tmp.materialCoding); + // console.log(this.tmp.materialName); + // console.log(this.tmp.specificationsModels); + // console.log(this.aa) + // const data = { + // // mcode : this.tmp.mcode, + // // name:this.tmp.name, + // // specifications:this.tmp.specifications, + // version:this.tmp.id + // } + + this.$router.push({name:'Viewdetails',query:{id:this.tmp.id}}) + + }, } } </script> @@ -854,7 +971,7 @@ } height: auto; font-size: 22px !important; - padding: 20px 40px !important; + padding: 40px 50px !important; ::v-deep .el-radio__label{ font-size: 22px !important; padding-left: 0px !important; -- Gitblit v1.9.3