From b59ad11f54d28a6b4f9b33e5fb30b55e4b263efb Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期二, 29 八月 2023 17:31:55 +0800 Subject: [PATCH] bug修复 --- src/views/inspectionManagement/commissionInspection/addCommision.vue | 336 +++++++++++++++++++++++++++++++------------------------ 1 files changed, 190 insertions(+), 146 deletions(-) diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue index 5c44513..ddcf3bc 100644 --- a/src/views/inspectionManagement/commissionInspection/addCommision.vue +++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue @@ -7,54 +7,49 @@ <div class="tableBox-header"> <el-button class="split" @click="dialogueFormVisible = true" type="primary" size="small" style="background-color: rgb(1, 102, 226);">娣诲姞鏍峰搧</el-button> - <!-- <el-input v-model="searchData" class="input-form split" placeholder="鎵弿浜岀淮鐮佸綍鍏ユ牱鍝�..." - prefix-icon="el-icon-search" style="width: 200px;"> - </el-input> --> - <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">閲嶇疆</el-button> + <!-- <el-input + v-model="searchData" + class="input-form split" + placeholder="鎵弿浜岀淮鐮佸綍鍏ユ牱鍝�..." + prefix-icon="el-icon-search" + style="width: 200px;" + > + </el-input>--> </div> <el-table ref="detectionInfo" :max-height="800" :cell-style="{textAlign: 'center'}" :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" - :data="detectionInfo" style="width: 100%"> + :data="detectionInfo" style="width: 100%;margin-bottom: 20px;"> <el-table-column type="index" label="搴忓彿" min-width="10%" /> <el-table-column prop="sampleNumber" label="鏍峰搧缂栧彿" min-width="8%" /> + <el-table-column prop="sampleName" label="鏍峰搧鍚嶇О" min-width="10%" /> + <el-table-column prop="specificationsModels" label="瑙勬牸鍨嬪彿" min-width="10%" /> <el-table-column prop="unit" label="鍗曚綅" min-width="8%" /> <el-table-column prop="samplesNumber" label="鏁伴噺" min-width="8%" /> <el-table-column prop="addway" label="娣诲姞鏂瑰紡" min-width="8%"> <template slot-scope="scope"> <div v-if="scope.row.addway === 0"> - <el-tag :type='success' disable-transitions>鎵弿</el-tag> + <el-tag type="success" disable-transitions>鎵弿</el-tag> </div> <div v-if="scope.row.addway === 1"> - <el-tag :type='primary' disable-transitions>褰曞叆</el-tag> + <el-tag type="primary" disable-transitions>褰曞叆</el-tag> </div> <div v-else></div> </template> </el-table-column> - <el-table-column prop="experiment" label="璇曢獙" min-width="8%" /> <el-table-column prop="remarks" label="澶囨敞" min-width="8%" /> <el-table-column label="鎿嶄綔" min-width="8%"> <template slot-scope="scope"> - <el-button type="text" size="small">淇敼</el-button> <el-button type="text" size="small" @click="deleteRow(scope.row)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> - <!-- 鍒嗛〉鍣� --> - <div> - <el-pagination class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="currentPage" :page-sizes="[100, 200, 300, 400]" :page-size="100" - layout="total, sizes, prev, pager, next, jumper" :total="400"> - </el-pagination> - </div> </div> <div class="secondBox"> <el-row class="header"> - <el-col :span="12">鍩烘湰淇℃伅</el-col> + <el-col :span="12" style="font-size: 16px;margin-bottom: 5px;">鍩烘湰淇℃伅</el-col> <el-col :span="12" style="text-align: right;"> - <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false --> - <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">鎵撳嵃濮旀墭鍗�</el-button> </el-col> </el-row> <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="right" label-width="100px" @@ -63,48 +58,49 @@ <el-row :gutter="200"> <el-col :span="5"> <el-form-item label="濮旀墭缂栧彿锛�"> - <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled - autocomplete="off" /> + <el-input style="width: 200px" type="text" :value="infoForm.commisioncode" readonly disabled + autocomplete="off" size="small" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="濮旀墭鍗曚綅锛�"> - <el-input style="width: 160px" v-model="infoForm.department" placeholder="璇疯緭鍏ュ鎵樺崟浣�" /> + <el-input style="width: 200px" v-model="infoForm.department" placeholder="璇疯緭鍏ュ鎵樺崟浣�" size="small" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="鑱旂郴浜猴細"> - <el-input style="width: 160px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ュ鎵樺崟浣�" /> + <el-input style="width: 200px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ュ鎵樺崟浣�" size="small" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="鑱旂郴鐢佃瘽锛�"> - <el-input style="width: 160px" v-model="infoForm.tel" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> + <el-input style="width: 200px" v-model="infoForm.tel" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" size="small" /> </el-form-item> </el-col> </el-row> <el-row :gutter="200"> <el-col :span="5"> <el-form-item label="鑱旂郴鍦板潃锛�"> - <el-input style="width: 160px;" v-model="infoForm.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" - autocomplete="off" /> + <el-input style="width: 200px;" v-model="infoForm.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" autocomplete="off" + size="small" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="瀹屾垚鏈熼檺锛�"> - <el-date-picker v-model="infoForm.deadline" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 160px;"> + <el-date-picker v-model="infoForm.deadline" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 200px;" + size="small"> </el-date-picker> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="閫佹牱鏃堕棿锛�"> - <el-date-picker v-model="infoForm.time" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 160px;"> + <el-date-picker v-model="infoForm.time" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 200px;"> </el-date-picker> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="閫佹牱鏂瑰紡锛�"> - <el-select style="width: 160px;" v-model="infoForm.way" size="small" placeholder="閫佹牱"> + <el-select style="width: 200px;" v-model="infoForm.way" size="small" placeholder="閫佹牱"> <el-option v-for="options in sampleDeliveryMode" :key="options.key" :value="options.value">{{ options.value }}</el-option> </el-select> @@ -114,23 +110,26 @@ <el-row :gutter="200"> <el-col :span="5"> <el-form-item label="閫佹牱浜猴細"> - <el-input style="width: 160px;" v-model="infoForm.sender" placeholder="璇疯緭鍏ラ�佹牱浜�" autocomplete="off" /> + <el-input style="width: 200px;" v-model="infoForm.sender" placeholder="璇疯緭鍏ラ�佹牱浜�" autocomplete="off" + size="small" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="閫佹牱浜虹數璇濓細"> - <el-input style="width: 160px;" v-model="infoForm.sendertel" placeholder="璇疯緭鍏ラ�佹牱浜虹數璇�" - autocomplete="off" /> + <el-input style="width: 200px;" v-model="infoForm.sendertel" placeholder="璇疯緭鍏ラ�佹牱浜虹數璇�" + autocomplete="off" size="small" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="鎶ュ憡鏁帮細"> - <el-input style="width: 160px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off" /> + <el-input style="width: 200px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off" + size="small" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="濮旀墭澶囨敞锛�"> - <el-input style="width: 160px;" v-model="infoForm.other" placeholder="澶囨敞" autocomplete="off" /> + <el-input style="width: 200px;" v-model="infoForm.other" placeholder="澶囨敞" autocomplete="off" + size="small" /> </el-form-item> </el-col> </el-row> @@ -138,72 +137,75 @@ <div class="submitBtn"> <el-button type="primary" size="small" @click="submitInspection" style="background-color: rgb(1, 102, 226);">鎻愪氦</el-button> + <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false --> + <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">鎵撳嵃濮旀墭鍗�</el-button> </div> </el-form> </div> </div> <div class="checkType"> - <el-dialog title="娣诲姞鎸囨爣" :visible.sync="dialogueFormVisible" width="40%"> + <el-dialog title="娣诲姞鏍峰搧" :visible.sync="dialogueFormVisible" width="40%" top="30vh"> <el-form :model="addPointerForm" ref="addPointerForm" class="addPointerForm" label-position="right" label-width="100px" size="mini"> <el-row :gutter="50"> - <el-col :span="10"> + <el-col :span="11"> <el-form-item label="鏍峰搧缂栧彿锛�"> - <el-select style="width: 160px;" v-model="addPointerForm.sampleNumber" size="small" - placeholder="璇烽�夋嫨鏍峰搧缂栧彿"> - <el-option v-for="options in samplecodeoptions" :value="options.value" - :key="options.key">{{ options.value }}</el-option> - </el-select> + <el-input v-model="addPointerForm.sampleNumber" size="small" disabled> + </el-input> </el-form-item> </el-col> - <el-col :span="10"> + <el-col :span="11"> <el-form-item label="鏍峰搧鍚嶇О锛�"> - <el-select style="width: 160px;" v-model="addPointerForm.sampleName" size="small" - placeholder="璇烽�夋嫨鏍峰搧鍚嶇О"> - <el-option v-for="options in sampleoptions" :value="options.value" - :key="options.key">{{ options.value }}</el-option> + <el-select v-model="addPointerForm.sampleName" size="small" placeholder="璇烽�夋嫨鏍峰搧鍚嶇О" + @change="upMaterialName"> + <el-option v-for="options in sampleoptions" :value="options.key" :label="options.value"></el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> - <el-col :span="10"> - <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-select style="width: 160px;" v-model="addPointerForm.specificationsModels" size="small" - placeholder="璇烽�夋嫨鏍峰搧鍚嶇О"> + <el-col :span="11"> + <el-form-item label="璇勫畾鏍囧噯锛�"> + <el-select v-model="addPointerForm.addway" size="small" placeholder="璇烽�夋嫨璇勫畾鏍囧噯"> <el-option v-for="options in model_spe_options" :value="options.value" :key="options.key">{{ options.value }}</el-option> </el-select> </el-form-item> </el-col> - <el-col :span="10"> + <el-col :span="11"> + <el-form-item label="瑙勬牸鍨嬪彿锛�"> + <el-select v-model="addPointerForm.specificationsModels" size="small" placeholder="璇峰厛閫夋嫨鏍峰搧鍚嶇О" @change="getProductList"> + <el-option v-for="options in model_sta_options" :value="options.key" :label="options.value" + :key="options.key">{{ options.value }}</el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="50"> + <el-col :span="11"> <el-form-item label="鏍峰搧鍗曚綅锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" - autocomplete="off" /> + <el-input type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> - </el-row> - <el-row :gutter="50"> - <el-col :span="10"> + <el-col :span="11"> <el-form-item label="鏍峰搧鏁伴噺锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" - autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="澶囨敞锛�"> - <el-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" - autocomplete="off" /> + <el-input type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> </el-row> <el-row :gutter="50"> - <el-col :span="10"> - <el-form-item label="娣诲姞瀹為獙锛�"> + <el-col :span="9"> + <el-form-item label="娣诲姞椤圭洰锛�"> <el-checkbox-group v-model="addPointerForm.experiment" style="display: flex; flex-direction: column;"> - <el-checkbox v-for="expers in experList" :label="expers.label" - :key="expers.key">{{ expers.label }}</el-checkbox> + <el-checkbox v-for="(expers, ai) in productList" :label="expers" + :key="ai">{{ expers }}</el-checkbox> </el-checkbox-group> + </el-form-item> + </el-col> + <el-col :span="41"> + <el-form-item label="澶囨敞锛�"> + <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 20}" style="width: 200px;" + v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" /> </el-form-item> </el-col> </el-row> @@ -224,11 +226,9 @@ getModelSpecification, getlink, addInspection, - isIfViewUUID + isIfViewUUID, + getProductList } from '@/api/inspection/commisioninspection' - import { - time - } from 'echarts'; export default { data() { return { @@ -283,13 +283,9 @@ key: '1', value: '' }], - model_spe_options: [{ - key: '1', - value: '閫夐」1' - }, { - key: '2', - value: '閫夐」2' - }], + model_spe_options: [], + model_sta_options: [], + model_options: [], sampleDeliveryMode: [{ key: '1', value: '閫佹牱' @@ -297,19 +293,41 @@ key: '2', value: '涓婇棬' }], - dialogueFormVisible: false + dialogueFormVisible: false, + showDetail: false, + viewId: null, + productList: [] + } + }, + watch: { + addPointerForm: { + handler: function(val) { + if(val.addway!=""){ + this.model_sta_options = [] + this.model_options.forEach(a=>{ + if(a.specificationsName==val.addway){ + this.model_sta_options = a.children.map(item=>{ + return{ + key: item.modelId, + value: item.modelName + } + }) + } + }) + } + }, + deep: true } }, created() { + this.viewId = this.$route.params.viewId + this.$store.commit('settings/SAVE_LINK', this.viewId) this.getlink(this.$route.params.viewId) - console.log(); }, mounted() { - // this.getSampleName() - // this.getModelSpecification() + this.getSampleName() }, methods: { - // 鑾峰彇閾炬帴link getlink(viewId) { if (viewId == null) { this.$message.error('褰撳墠閾炬帴涓嶅湪鏈夋晥鏈熷唴,绯荤粺鑷姩鍏抽棴') @@ -330,20 +348,16 @@ this.sampleoptions = res.data.map((item) => { return { key: item.id.toString(), - value: item.name - } - }) - this.samplecodeoptions = res.data.map((item) => { - return { - key: item.id.toString(), - value: item.code + value: item.name, + code: item.code } }) }, - async getModelSpecification() { + async getModelSpecification(val) { const res = await getModelSpecification({ - materialId: '1' + materialId: val }) + this.model_options = res.data this.model_spe_options = res.data.map((item) => { return { key: item.specificationsId, @@ -357,6 +371,8 @@ for (let i = 1; i < this.addPointerForm.experiment.length; i++) { exper += ',' + this.addPointerForm.experiment[i] } + + // console.log(exper) this.addPointerForm.experiment = exper let tmp = this.addPointerForm this.detectionInfo.push(tmp) @@ -399,8 +415,7 @@ message: '鎭枩浣�!', type: 'success' }) - // 璺宠浆椤甸潰 - this.$router.push('/inspectionManagement/commissionInspection') + this.showDetail = true } else { this.$message.error(res.message) } @@ -412,77 +427,106 @@ this.pageParams.pageNo = pageNo }, deleteRow(row) { - console.log(row) - row = null + + }, + upMaterialName(val) { + this.sampleoptions.forEach(a => { + if (a.key == val) { + this.addPointerForm.sampleNumber = a.code + } + }) + this.getModelSpecification(val) + }, + getProductList(val){ + getProductList({modelId: val}).then(res=>{ + this.productList = res.data.map(item=>{ + return item.name + }) + }) } } } </script> <style lang="scss" scoped> - .add_commision{ - padding: 20px; - } - - .firstBox { - .title { - padding: 15px 10px; - font-size: 18px; - background-color: #0166e2; - color: #fff; - border-radius: 4px; - } + .content-main { + padding: 20px 40px; + background-color: #f0f2f5; + width: 100%; + height: 100vh; + display: flex; + flex-direction: column; + justify-content: space-between; + // align-items: center; - .tableBox { - background-color: #fff; - padding: 0px 20px; - margin: 0px -15px; - flex: 1; - background: #fff; - /* padding: 20px 20px 10px 20px; */ - display: flex; - flex-direction: column; + .firstBox { + .title { + padding: 15px 10px; + font-size: 18px; + background-color: #0166e2; + color: #fff; + border-radius: 4px; + margin-bottom: 20px; + } - .tableBox-header { - padding: 20px 0px; + .tableBox { + background-color: #fff; + padding: 0px 20px; + flex: 1; + background: #fff; + /* padding: 20px 20px 10px 20px; */ + display: flex; + flex-direction: column; - .split { - margin-right: 15px; + .tableBox-header { + padding: 20px 0px; + + .split { + margin-right: 15px; + } + } + + .el-table { + flex: 1; + } + + >div:nth-child(3) { + display: flex; + justify-content: end; + margin: 10px 0; } } + } - .el-table { - flex: 1; + .secondBox { + + .header { + display: flex; + justify-content: space-between; + padding: 10px 20px; + margin-top: 10px; } - >div:nth-child(3) { + .submitBtn { display: flex; justify-content: end; - margin: 10px 0; + margin-right: 40px; + margin-top: 20px; } } - } - .secondBox { - margin: 0px -15px; + .infoForm { + background-color: #fff; + padding: 20px 50px; - .header { - display: flex; - justify-content: space-between; - padding: 10px 20px; - margin-top: 10px; + .formwrapper { + margin: 20px 0px; + padding-left: 30px; + + .el-row { + margin: 10px 0px; + } + } } - - .submitBtn { - display: flex; - justify-content: end; - margin-right: 156px; - margin-top: 20px; - } - } - - .infoForm { - background-color: #fff; - padding: 20px 50px; } </style> \ No newline at end of file -- Gitblit v1.9.3