From d762fc609a101b1a82576a54f835834f4e9cd9b9 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期四, 07 九月 2023 10:54:39 +0800 Subject: [PATCH] modified: src/layout/components/Sidebar/SidebarItem.vue modified: src/router/index.js modified: src/views/CNAS/nonConformanceManage/index.vue modified: src/views/CNAS/reviewAnnualPlan/index.vue modified: src/views/CNAS/satisfactionSurveys/index.vue modified: src/views/basicData/index.vue modified: src/views/experiment/inspectionApplication/index.vue modified: src/views/inspectionManagement/commissionInspection/index.vue modified: src/views/inspectionManagement/reportForInspection/index.vue modified: src/views/laboratory/organizational/index.vue modified: src/views/login/index.vue --- src/views/experiment/inspectionApplication/index.vue | 194 +++++++++++++++++++++++++---------------------- 1 files changed, 103 insertions(+), 91 deletions(-) diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue index 16790bd..31f2a90 100644 --- a/src/views/experiment/inspectionApplication/index.vue +++ b/src/views/experiment/inspectionApplication/index.vue @@ -5,35 +5,35 @@ <div class="top-bar"> <el-form ref="form" :inline="true" :model="searchData"> <el-form-item label="鐢宠鍗曞彿:"> - <el-input v-model="searchData.applicationnumber" class="input-form" placeholder="璇疯緭鍏ョ敵璇峰崟鍙�" + <el-input size="small" v-model="searchData.applicationnumber" class="input-form" placeholder="璇疯緭鍏ョ敵璇峰崟鍙�" style="width: 200px; margin-right: 20px;"> <i slot="prefix" class="el-input__icon el-icon-search" /> </el-input> </el-form-item> - <el-form-item label="妫�楠岀被鍨�:"> - <el-select v-model="searchData.type" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> + <el-form-item label="妫�楠岀被鍨�:" width="200"> + <el-select size="small" v-model="searchData.type" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> <el-option v-for="item in typeoptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> - <el-form-item label="妫�楠岀粨鏋�:" style="margin-right: 20px;"> - <el-select v-model="searchData.state" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> + <el-form-item label="妫�楠岀粨鏋�:" width="200"> + <el-select size="small" v-model="searchData.state" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;"> <el-option v-for="item in stateoptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item> - <el-button type="primary" @click="searchInspections">鏌ヨ</el-button> - <el-button type="primary" plain @click="reset">閲嶇疆</el-button> + <el-button size="small" type="primary" @click="searchInspections">鏌ヨ</el-button> + <el-button size="small" type="primary" plain @click="reset">閲嶇疆</el-button> </el-form-item> </el-form> <el-form class="rightBtn"> <el-form-item class="createBtn"> - <el-button type="primary" icon="el-icon-document-add" @click="checkTypeVisible = true" + <el-button size="small" type="primary" icon="el-icon-plus" @click="checkTypeVisible = true" style="background-color: rgb(1, 102, 226);">鏂板妫�楠屽崟</el-button> </el-form-item> <el-form-item class="getDataBtn"> - <el-button type="primary" icon="el-icon-download" + <el-button size="small" type="primary" icon="el-icon-download" style="background-color: rgb(1, 102, 226);">瀵煎嚭妫�楠屽崟</el-button> </el-form-item> </el-form> @@ -41,37 +41,37 @@ <div class="library-table"> <div class="table-box"> <el-table ref="inspectionTable" style="width: 100%;overflow-y: auto;max-height: 600px;" :height="600" - :cell-style="{textAlign: 'center'}" - :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" + :cell-style="{textAlign: 'left'}" + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}" :data="inspectionTable"> <el-table-column type="selection" min-width="30px" /> - <el-table-column prop="icode" label="鐢宠鍗曞彿" min-width="150px" /> - <el-table-column prop="type" label="妫�楠岀被鍨�" min-width="80px"> + <el-table-column prop="icode" label="鐢宠鍗曞彿" min-width="160px" /> + <el-table-column prop="type" label="妫�楠岀被鍨�" min-width="100px"> <template slot-scope="scope"> - <div v-if="scope.row.type === 0"><span>鍘熸潗鏂欐楠�</span></div> - <div v-if="scope.row.type === 1"><span>濮旀墭妫�楠�</span></div> - <div v-if="scope.row.type === 2"><span>鎴愬搧妫�楠�</span></div> + <div v-if="scope.row.type === 0"><el-tag type="success">鍘熸潗鏂欐楠�</el-tag></div> + <div v-if="scope.row.type === 2"><el-tag>濮旀墭妫�楠�</el-tag></div> + <div v-if="scope.row.type === 1"><el-tag type="warning">鎴愬搧妫�楠�</el-tag></div> </template> </el-table-column> <el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡" min-width="90px" /> <el-table-column prop="supplier" label="渚涘簲鍟嗗悕绉�" min-width="150px" show-overflow-tooltip /> <el-table-column prop="mcode" label="鍘熸潗鏂欑紪鐮�" min-width="170px" /> - <el-table-column prop="name" label="鍘熸潗鏂欏悕绉�" min-width="80px" /> + <el-table-column prop="name" label="鍘熸潗鏂欏悕绉�" min-width="90px" /> <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="160px" /> <el-table-column prop="unit" label="鍗曚綅" min-width="50px" /> <el-table-column prop="num" label="鏁伴噺" min-width="50px" /> - <el-table-column prop="createTime" label="鐧昏鏃ユ湡" min-width="80px" /> - <el-table-column prop="inspection_status" label="妫�楠岀粨鏋�" min-width="80px"> + <el-table-column prop="createTime" label="鐧昏鏃ユ湡" min-width="90px" /> + <el-table-column prop="inspection_status" label="妫�楠岀粨鏋�" min-width="95px"> <template slot-scope="scope"> - <el-tag class="tag" type="danger" disable-transitions + <el-tag class="tag" effect="dark" type="danger" disable-transitions v-if="scope.row.inspection_status == 0">涓嶅悎鏍�</el-tag> - <el-tag class="tag" type="success" disable-transitions + <el-tag class="tag" effect="dark" type="success" disable-transitions v-else-if="scope.row.inspection_status == 1">鍚堟牸</el-tag> </template> </el-table-column> <el-table-column prop="userName" label="鐧昏浜�" min-width="80px" /> - <el-table-column prop="checkdate" label="妫�楠屾棩鏈�" min-width="160px" /> - <el-table-column label="鎿嶄綔" min-width="150" fixed="right"> + <el-table-column prop="checkdate" label="妫�楠屾棩鏈�" min-width="170px" /> + <el-table-column label="鎿嶄綔" min-width="120" fixed="right"> <template slot-scope="scope"> <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button> <el-button type="text" size="small" @click="delInspect(scope.row)">浣滃簾</el-button> @@ -105,14 +105,13 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鏉ユ枡鏃ユ湡锛�"> - <!-- <el-input style="width: 300px" type="text" :value="infoForm.startTime" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> --> - <el-date-picker style="width: 300px" v-model="infoForm.formTime" type="date" placeholder="閫夋嫨鏃ユ湡"> + <el-date-picker style="width: 300px" disabled v-model="infoForm.formTime" type="date" placeholder="閫夋嫨鏃ユ湡"> </el-date-picker> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="渚涘簲鍟嗗悕绉帮細"> - <el-input style="width: 300px" type="text" :value="infoForm.supplier" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" + <el-input style="width: 300px" type="text" disabled :value="infoForm.supplier" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" autocomplete="off" /> </el-form-item> </el-col> @@ -120,13 +119,13 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鍘熸潗鏂欑紪鐮侊細"> - <el-input style="width: 300px" type="text" :value="infoForm.mcode" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" + <el-input style="width: 300px" type="text" disabled :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.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" + <el-input style="width: 300px" type="text" disabled :value="infoForm.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" /> </el-form-item> </el-col> @@ -134,13 +133,13 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.specifications" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" + <el-input style="width: 300px" type="text" disabled :value="infoForm.specifications" 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.unit" placeholder="璇疯緭鍏ュ崟浣�" + <el-input style="width: 300px" type="text" disabled :value="infoForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> @@ -148,7 +147,7 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鏁伴噺锛�"> - <el-input style="width: 300px" type="text" :value="infoForm.num" placeholder="璇疯緭鍏ユ暟閲�" + <el-input style="width: 300px" type="text" disabled :value="infoForm.num" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> @@ -168,13 +167,13 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="濮旀墭缂栧彿"> - <el-input style="width: 300px" type="text" :value="commisionSelection.entrust_coding" + <el-input style="width: 300px" type="text" disabled :value="commisionSelection.entrust_coding" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="濮旀墭鍗曚綅"> - <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" + <el-input style="width: 300px" type="text" disabled :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ鎵樺崟浣�" autocomplete="off" /> </el-form-item> </el-col> @@ -182,13 +181,13 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="鏍峰搧缂栧彿"> - <el-input style="width: 300px" type="text" :value="commisionSelection.mcode" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" + <el-input style="width: 300px" type="text" disabled :value="commisionSelection.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="commisionSelection.name" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" + <el-input style="width: 300px" type="text" disabled :value="commisionSelection.name" placeholder="璇疯緭鍏ユ牱鍝佸悕绉�" autocomplete="off" /> </el-form-item> </el-col> @@ -196,13 +195,13 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input style="width: 300px" type="text" :value="commisionSelection.specifications" + <el-input style="width: 300px" type="text" disabled :value="commisionSelection.specifications" placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="閫佽揪鏃堕棿"> - <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" + <el-input style="width: 300px" type="text" disabled :value="commisionSelection.supplier" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" /> </el-form-item> </el-col> @@ -210,7 +209,7 @@ <el-row :gutter="100"> <el-col :span="10"> <el-form-item label="瀹屾垚鏈熼檺"> - <el-input style="width: 300px" type="text" :value="commisionSelection.completionDeadline" + <el-input style="width: 300px" type="text" disabled :value="commisionSelection.completionDeadline" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> @@ -243,14 +242,14 @@ </el-row> <el-row :gutter="100"> <el-col :span="10"> - <el-form-item label="鍘熸潗鏂欑紪鐮侊細"> - <el-input style="width: 300px" type="text" v-model="finishedTable.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" + <el-form-item label="鎴愬搧缂栫爜锛�"> + <el-input style="width: 300px" type="text" v-model="finishedTable.code" placeholder="璇疯緭鍏ユ垚鍝佺紪鐮�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="10"> - <el-form-item label="鍘熸潗鏂欏悕绉帮細"> - <el-input style="width: 300px" type="text" v-model="finishedTable.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" + <el-form-item label="鎴愬搧鍚嶇О锛�"> + <el-input style="width: 300px" type="text" v-model="finishedTable.name" placeholder="璇疯緭鍏ユ垚鍝佸悕绉�" autocomplete="off" /> </el-form-item> </el-col> @@ -288,7 +287,6 @@ </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="QUEding">纭� 瀹�</el-button> </span> </el-dialog> @@ -300,11 +298,11 @@ <template slot-scope="scope"> <span>鐗堟湰閫夋嫨锛�</span> <el-select @change="getProductVerison" v-model="version" size="small" slot="append" style="width: 220px;"> - <el-option v-for="item in BANben" :key="item" :label="item" :value="item"></el-option> + <el-option v-for="(item,index) in BANben" :key="index" :label="item.label" :value="item.value"></el-option> </el-select> </template> </el-card> - <el-table :data="tableData" style="width: 100%; margin-bottom: 20px" row-key="id" border height="calc(40vh)" + <el-table :data="tableData" style="width: 100%; margin-bottom: 20px;overflow-y: auto;" row-key="id" border height="40vh" default-expand-all ref="multipleTable" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> <el-table-column type="index" width="50px" label="搴忓彿"></el-table-column> <el-table-column prop="name" label="椤圭洰鍚嶇О" sortable> @@ -321,9 +319,9 @@ </span> </el-dialog> <!-- 鍘熸潗鏂欐楠屾ā鎬佹 --> - <el-dialog title="鍘熸潗鏂欐楠�" :visible.sync="rawmaterialVisible" width="60%"> + <el-dialog title="鍘熸潗鏂欐楠�" :visible.sync="rawmaterialVisible" width="60%" top="100px"> <div class="table-box"> - <el-table ref="multipleTable" :max-height="800" :cell-style="{textAlign: 'center'}" + <el-table ref="multipleTable" :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="rawMaterialTable" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection" min-width="10%" /> @@ -339,10 +337,8 @@ <el-table-column prop="surveyor" label="妫�楠屼汉" min-width="8%" /> <el-table-column prop="startTime" label="妫�楠屾棩鏈�" min-width="8%" /> <el-table-column prop="type" label="鐘舵��" min-width="8%"> - <template slot-scope="scope"> - <span :style="{ color: scope.row.state === type ? 'green' : 'red' }"> - {{ scope.row.state===1 ? '宸叉娴�':'寰呮娴�' }} - </span> + <template> + <span style="color: red">寰呮楠�</span> </template> </el-table-column> </el-table> @@ -474,7 +470,7 @@ pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁� radioValue: '鍏ㄩ儴', checkTypeVisible: false, - type: 0, // 榛樿涓嶉�変腑鐨勭姸鎬� + type: 2, // 榛樿涓嶉�変腑鐨勭姸鎬� rawmaterialVisible: false, commisionVisible: false, tmp: {}, @@ -527,28 +523,31 @@ const res = await chooseVer({ mcode: this.tmp.mcode, name: this.tmp.name, - specifications: this.tmp.specifications + specifications: this.tmp.specificationsId }) this.BANben = [] res.data.forEach(a => { - this.BANben.push('V ' + a) + this.BANben.push({ + label: "V" + a, + value: a + }) }) - this.version = this.BANben[0] - this.lookProByVer() + this.version = this.BANben[0].value; + this.lookProByVerFun() }, //鏍囧噯搴� - async lookProByVer() { + async lookProByVerFun() { const res = await lookProByVer({ mcode: this.tmp.mcode, name: this.tmp.name, - specifications: this.tmp.specifications, - version: this.version.replace('V ', '') + specifications: this.tmp.specificationsId, + version: this.version }) this.tableData = res.data }, getProductVerison(val) { this.version = val - this.lookProByVer() + this.lookProByVerFun() }, async selectInspectsList() { // 鑾峰彇鍒嗛〉鍒楄〃 @@ -610,8 +609,12 @@ }, reset() { this.countSize = 1; - this.pageSize = 8; - this.searchData = {}; + this.pageSize = 10; + this.searchData = { + applicationnumber: '', + type: '', + state: '', + }; this.selectInspectsList(); }, //琚�変腑鐨勪俊鎭� 鍗曢�� @@ -646,7 +649,10 @@ checkdate.push(item['updateTime']) item['checkdate'] = checkdate // 妫�楠屾棩鏈� }) - this.rawMaterialTable = res.data + let arr = res.data.filter((val)=>{ + return val.type === 0; + }) + this.rawMaterialTable = arr }) } else if (this.type === 1) { this.commisionVisible = true @@ -667,29 +673,25 @@ }, // 鏂板妫�楠� async addInspection() { + let obj = {}; if (this.type === 0) { - addInspect({ + obj = { endTime: this.infoForm.checkdate[1], formTime: this.infoForm.formTime, mcode: this.infoForm.mcode, name: this.infoForm.name, num: this.infoForm.num, specifications: this.infoForm.specifications, + specificationId: this.infoForm.specificationsId, startTime: this.infoForm.checkdate[0], supplier: this.infoForm.supplier, type: this.type, unit: this.infoForm.unit, - version: this.version.replace('V ', '') - }).then(res => { - this.$message({ - message: '娣诲姞鎴愬姛锛�', - type: 'success' - }); - this.$router.push(`Viewdetails/${res.data}`) - }) + version: this.version + } } if (this.type === 1) { - const res = await addInspect({ + obj = { endTime: this.commisionSelection.checkdate[1], formTime: this.commisionSelection.formTime, mcode: this.commisionSelection.mcode, @@ -701,30 +703,34 @@ type: this.type, unit: this.commisionSelection.unit, version: this.version - }) + } } if (this.type === 2) { - const res = await addInspect({ - endTime: '2023-08-15', + obj = { + endTime: this.finishedTable.checkdate[1], formTime: this.finishedTable.deliverydate, mcode: this.finishedTable.code, name: this.finishedTable.name, num: parseInt(this.finishedTable.amount), specifications: this.finishedTable.modelandspecification, - startTime: '2023-08-14', + startTime: this.finishedTable.checkdate[1], supplier: this.finishedTable.supplier, type: this.type, unit: this.finishedTable.unit, version: this.version - }) + } } - this.type = 0 - this.checkTypeVisible = false - // this.$message({ - // message: '娣诲姞鎴愬姛锛�', - // type: 'success' - // }); - // this.$router.push({name: 'Viewdetails'}) + addInspect(obj).then(res => { + this.$message({ + message: '娣诲姞鎴愬姛锛�', + type: 'success' + }); + this.type = 2 + this.checkTypeVisible = false + this.$router.push(`Viewdetails/${res.data}`) + }).catch(error=>{ + this.$message.error(error.message); + }) }, // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 handleSizeChange(val) { @@ -771,12 +777,18 @@ this.addInspection() }, delInspect(row){ - delInspect({ - id: row.id - }).then(res=>{ - this.$message.success('宸蹭綔搴�') - this.selectInspectsList() - }) + this.$confirm('鎮ㄧ‘璁ゅ垹闄よ繖鏉℃暟鎹悧?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + delInspect({ + id: row.id + }).then(()=>{ + this.$message.success('宸蹭綔搴�') + this.selectInspectsList() + }) + }).catch(() => {}); } } } -- Gitblit v1.9.3