From 4aeb79927aab9874ae13bda09f85e5d560d8ca70 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期一, 04 九月 2023 15:19:42 +0800 Subject: [PATCH] 修改bug --- src/views/inspectionManagement/reportForInspection/index.vue | 276 ++++++++++++------------------------------------------- 1 files changed, 61 insertions(+), 215 deletions(-) diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue index 6dbbd6f..5984f31 100644 --- a/src/views/inspectionManagement/reportForInspection/index.vue +++ b/src/views/inspectionManagement/reportForInspection/index.vue @@ -1,6 +1,6 @@ <template> <div class="content-main"> - <div class="rawPage" v-if="!showNewPage"> + <div class="rawPage"> <div class="top-bar"> <el-form ref="form" :inline="true" :model="searchData"> <el-form-item label="鏉愭枡缂栫爜:" position="left" class="sermargin"> @@ -48,7 +48,7 @@ </el-form-item> <el-form-item label="瑙勬牸鍨嬪彿:" prop="specificationsNumber"> <el-cascader v-model="insertData.specificationsNumber" :options="childrenOptions" - :props="{label: 'Name', value: 'Name'}" separator="-"></el-cascader> + :props="{label: 'Name', value: 'Id'}" separator="-"></el-cascader> </el-form-item> <el-form-item label="鍗曚綅:" prop="unit"> <el-input type="text" v-model="insertData.unit" /> @@ -64,12 +64,6 @@ </el-dialog> <div class="library-table"> <div class="table-header"> - <div class="search-bar"> - <el-radio-group v-model="radioValue" @change="radioclick"> - <el-radio-button v-for="option in radioOptions" :key="option.value" - :label="option.value">{{ option.label }}</el-radio-button> - </el-radio-group> - </div> <div class="generateInsp"> <el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">鐢熸垚鎶ユ鍗�</el-button> @@ -79,10 +73,9 @@ <el-table ref="inspectionTable" :max-height="600" :cell-style="{textAlign: 'center'}" :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" :data="inspectionTable" style="width: 100%" @selection-change="handleSelectionChange"> - <el-table-column type="selection" :selectable="checkSelect" min-width="5%"> - </el-table-column> + <el-table-column type="selection" :selectable="checkSelect" min-width="5%"></el-table-column> <el-table-column type="index" label="搴忓彿" min-width="8%" /> - <el-table-column prop="createTime" label="鏉ユ枡鏃ユ湡" min-width="8%" /> + <el-table-column prop="dateSurvey" label="鏉ユ枡鏃ユ湡" min-width="8%" /> <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" min-width="12%" /> <el-table-column prop="materialCoding" label="鏉愭枡缂栫爜" min-width="8%" /> <el-table-column prop="materialName" label="鏉愭枡鍚嶇О" min-width="8%" /> @@ -91,7 +84,6 @@ <el-table-column prop="quantity" label="鏁伴噺" min-width="5%" /> <el-table-column prop="inspectionDate" label="鎶ユ鏃ユ湡" min-width="8%" /> <el-table-column prop="surveyor" label="妫�楠屼汉" min-width="8%" /> - <el-table-column prop="dateSurvey" label="妫�楠屾棩鏈�" min-width="8%" /> <el-table-column prop="type" label="鐘舵��" min-width="8%"> <template slot-scope="scope"> <span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }"> @@ -116,7 +108,7 @@ </div> </div> <el-dialog title="閫夋嫨鏃ユ湡" :visible.sync="addReportDialog" width="60%"> - <el-form :model="addInspectionForm" :rules="addInspectionFormRules" rule="addInspectionForm"> + <el-form :model="addInspectionForm" :rules="addInspectionFormRules" ref="addInspectionForm"> <el-form-item label="妫�楠屾棩鏈�" label-width="100px" prop="inspectionDate"> <el-date-picker v-model="addInspectionForm.inspectionDate" type="daterange" value-format="yyyy-MM-dd" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"> @@ -144,105 +136,6 @@ <el-button type="primary" @click="confirmBtn('addInspectionForm')">纭� 瀹�</el-button> </div> </el-dialog> - - <!-- 鐢熸垚鎶ユ鍗� --> - <div class="newPage" v-if="showNewPage"> - <!-- 鏂板椤甸潰 --> - <div class="inspectionForm"> - <el-form :model="inspectionForm" label-position="right" label-width="100px" size="mini"> - <div class="formwrapper"> - <el-row> - <el-col :span="8"> - <el-form-item label="鏉ユ枡鏃ユ湡锛�"> - <el-input style="width: 180px;" :value="inspectionForm.formTime" disabled autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="渚涘簲鍟嗗悕绉帮細"> - <el-input style="width: 180px;" :value="inspectionForm.supplier" disabled autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鏍峰搧缂栧彿锛�"> - <el-input style="width: 180px;" :value="inspectionForm.code" disabled autocomplete="off" /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="8"> - <el-form-item label="鏍峰搧鍚嶇О锛�"> - <el-input style="width: 180px;" :value="inspectionForm.name" disabled autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input style="width: 180px;" :value="inspectionForm.specifications" disabled autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鍗曚綅锛�"> - <el-input style="width: 180px;" :value="inspectionForm.unit" disabled autocomplete="off" /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="8"> - <el-form-item label="鏁伴噺锛�"> - <el-input style="width: 180px;" :value="inspectionForm.num" disabled autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鎶ユ鏃ユ湡锛�"> - <el-input style="width: 180px;" :value="inspectionForm.endTime" disabled autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鎶ユ浜猴細"> - <el-input style="width: 180px;" :value="inspectionForm.userName" disabled autocomplete="off" /> - </el-form-item> - </el-col> - </el-row> - </div> - </el-form> - </div> - <div class="inspectionProject"> - <div class="header"> - <span style="font-size: 14px">妫�楠岄」鐩�</span> - <div> - <!-- <el-button type="primary" plain size="mini">淇濆瓨</el-button> --> - <el-button @click="showNewPage = false" type="primary" plain size="mini" icon="el-icon-back">杩斿洖</el-button> - </div> - </div> - <el-table :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="inspectionItems"> - <el-table-column type="index" label="搴忓彿" width="60"></el-table-column> - <el-table-column prop="name" label="椤圭洰" width="250"></el-table-column> - <el-table-column prop="unit" label="鍗曚綅" width="125"></el-table-column> - <el-table-column prop="required" label="鏍囧噯鍊�" width="125"></el-table-column> - <el-table-column prop="internal" label="鍐呮祴鍊�" width="125"></el-table-column> - <el-table-column prop="testValue" label="妫�楠屽��" width="125"></el-table-column> - <el-table-column prop="userName" label="妫�楠屼汉"> - <template slot-scope="scope"> - <el-select @blur="blurOptions(scope.row)" v-model="scope.row.check" size="small" slot="append" - style="width: 260px;"> - <el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.id" - :label="item.name"></el-option> - </el-select> - </template> - </el-table-column> - <el-table-column prop="device" label="璇曢獙璁惧"> - <template slot-scope="scope"> - <el-select @blur="blurOptions(scope.row)" v-model="scope.row.device" size="small" slot="append" - style="width: 260px;"> - <el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.id" - :label="item.equipmentName"></el-option> - </el-select> - </template> - </el-table-column> - </el-table> - </div> - </div> </div> </template> @@ -260,13 +153,12 @@ getChooseVersion, lookProByVer } from '@/api/inspection/rawmaterial' +import ItemVue from '@/layout/components/Sidebar/Item.vue' export default { data() { return { standardLibraryData:[], chooseVersion: [], - userName: "", - devices: "", addInspectionForm: { inspectionDate: [], version: null @@ -322,20 +214,6 @@ value: 0, label: '鏈姤妫�' }], - deviceoptions: [{ - value: 0, - label: '鎷夊姏鏈�' - }, { - value: 1, - label: '鎷栨媺鏈�' - }], - checkeroptions: [{ - value: 0, - label: '榛勫皬鏄�' - }, { - value: 1, - label: '寮犱笁' - }], radioOptions: [{ label: '鍏ㄩ儴', value: null @@ -347,35 +225,11 @@ label: '鏈姤妫�' }], radioValue: null, - inspectionTable: [{ - createTime: '2023-07-28', - supplier_name: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�', - materialCoding: 'BP214274', - materialName: '閾濆寘閽㈢粸绾�', - specificationsModels: 'JLHA/G1A-185/30-26/7', - unit: '鍚�', - quantity: 21, - dateSurvey: '2023-08-02', - surveyor: '榛勫皬鏄�', - inspectionDate: '2023-12-09', - condition: 1 - }], + inspectionTable: [], currentPage: 1, pageSize: 10, total: 20, data: '', - showNewPage: false, - inspectionForm: {}, - inspectionItems: [{ - index: 1, - name: "aaa", - unit: "KB", - required: "1", - internal: "2", - testValue: "3", - userName: "", - device: "" - }], insertRule: { fromDate: [{ required: true, @@ -436,18 +290,9 @@ this.$message.error(error.message); }); }, - blurOptions(row) { - console.log("鏇存柊", row); - }, - async initNewSelection() { - const res = await selectUser(); - const res2 = await selectEquipment(); - this.checkeroptions = res.data; - this.deviceoptions = res2.data; - }, resetForm(formName) { - // this.addInspectionForm.inspectionDate = [], - // this.$refs[formName].resetFields(); + this.addInspectionForm.inspectionDate = [], + this.$refs[formName].resetFields(); this.addReportDialog = false }, removeFun(row, index) { @@ -456,11 +301,10 @@ cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - console.log(row.id); this.deleteMaterialFun(row, index); }).catch(() => {}); }, - checkSelect(row, index) { + checkSelect(row) { if (row.type === 1) { return false; } else { @@ -468,8 +312,11 @@ } }, handleSelectionChange(val) { + if (val.length > 1) { + this.$refs.inspectionTable.clearSelection(); + this.$refs.inspectionTable.toggleRowSelection(val.pop()) + } this.checkData = val; - console.log(val); }, //鐢熸垚鎶ユ鍗曟寜閽� addReportBtn() { @@ -483,7 +330,6 @@ let name = this.checkData[0].materialName; let specifications = this.checkData[0].specificationsModels; this.getChooseVersionFun(mcode,name,specifications); - console.log(this.standardLibraryData); this.addReportDialog = true; } } @@ -504,7 +350,6 @@ specifications : specifications, version: version }).then((res)=>{ - console.log(res); vm.standardLibraryData = res.data; }) @@ -530,38 +375,37 @@ }, //鐢熸垚鎶ユ鍗曠‘璁ゆ寜閽� confirmBtn(formName) { - let dateArr = this.addInspectionForm.inspectionDate; - //娣诲姞鎶ユ鍗� - let val = this.checkData[0]; - let obj = { - "endTime": dateArr[1], - "experiment": "", - "formTime": val.createTime, - "id": val.id, - "mcode": val.materialCoding, - "name": val.materialName, - "num": val.quantity, - "specifications": val.specificationsModels, - "startTime": dateArr[0], - "supplier": val.supplierName, - "type": val.type, - "unit": val.unit, - "version": this.addInspectionForm.version - } - // this.createReport(obj); - this.addReportDialog = false; - this.initNewSelection(); - this.showNewPage = true; + this.$refs[formName].validate((valid=>{ + if(valid){ + let dateArr = this.addInspectionForm.inspectionDate; + //娣诲姞鎶ユ鍗� + let val = this.checkData[0]; + let obj = { + "endTime": dateArr[1], + "experiment": "", + "formTime": val.createTime, + "id": val.id, + "mcode": val.materialCoding, + "name": val.materialName, + "num": val.quantity, + "specifications": val.specificationsModels, + "startTime": dateArr[0], + "supplier": val.supplierName, + "type": val.type, + "unit": val.unit, + "version": this.addInspectionForm.version + } + this.createReport(obj); + this.addReportDialog = false; + } + })); }, //鐢熸垚鎶ユ鍗� async createReport(param) { let res = await addInspect(param); - const res2 = await selectInspectsListById({ - id: res.data - }); - this.resultData = res2.data; - this.inspectionForm = res2.data; - this.inspectionItems = res2.data.insProducts; + if(res.data==null)return + this.$message.success('鎶ユ鎴愬姛') + this.$router.push(`/experiment/Viewdetails/${res.data}`) }, // 鑾峰彇鍒嗛〉鍒楄〃鏁版嵁 async getRawMaterialList() { @@ -596,21 +440,6 @@ } this.getRawMaterialList() }, - radioclick() { - console.log(this.inspectionTable); - if (this.radioValue === 0) { - - } - }, - getAllTableData() { - this.getRawMaterialList() - }, - getCheckData() { - - }, - getUnCheckData() { - - }, // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 handleSizeChange(val) { this.pageSize = val @@ -630,13 +459,25 @@ insert() { this.$refs['addMaterialForm'].validate((valid) => { if (valid) { + console.log(this.childrenOptions); + console.log(this.insertData); + let f=this.childrenOptions.filter(item=>{ + return item.Id===this.insertData.specificationsNumber[0] + })[0] + console.log(f); + let fatherName=f.Name; + let c=f.children.filter(item=>{ + return item.Id===this.insertData.specificationsNumber[1] + })[0] + let sonName=c.Name + let specificationsId=c.Id; var str = { "dateSurvey": this.insertData.fromDate, "materialCoding": this.insertData.mCode, "materialName": this.insertData.mName, "quantity": this.insertData.num, - "specificationsModels": this.insertData.specificationsNumber[0] + '-' + this.insertData - .specificationsNumber[1], + "specificationsModels": fatherName+ '-' + sonName, + "specificationsId": specificationsId, "supplierName": this.insertData.supplierName, "type": 0, "unit": this.insertData.unit @@ -707,10 +548,15 @@ flex-direction: column; .table-header { + width: 100%; + height: 70px; padding: 20px; display: flex; justify-content: space-between; - + .generateInsp{ + position: relative; + left: 92%; + } .el-form-item { margin-bottom: 30px !important; } -- Gitblit v1.9.3