From e93a917320825bdfb92b1a9e60da96c0e9491976 Mon Sep 17 00:00:00 2001 From: “zhuo” <“zhuo@itcast.cn”> Date: 星期五, 11 八月 2023 17:16:29 +0800 Subject: [PATCH] modified: .env.development modified: src/api/CNAS/reviewAnnualPlan.js modified: src/views/CNAS/reviewAnnualPlan/index.vue modified: src/views/experiment/checkTheReport/index.vue modified: src/views/experiment/reportAuditing/index.vue modified: src/views/laboratory/ledger/index.vue --- .env.development | 1 src/views/experiment/reportAuditing/index.vue | 24 + src/api/CNAS/reviewAnnualPlan.js | 19 + src/views/laboratory/ledger/index.vue | 3 src/views/experiment/checkTheReport/index.vue | 32 ++ src/views/CNAS/reviewAnnualPlan/index.vue | 495 ++++++++++++++++++++++++++++++++++++++++++------- 6 files changed, 484 insertions(+), 90 deletions(-) diff --git a/.env.development b/.env.development index e5e7b7a..a8e0131 100644 --- a/.env.development +++ b/.env.development @@ -3,3 +3,4 @@ # base api VUE_APP_BASE_API = 'http://localhost:1234/' + \ No newline at end of file diff --git a/src/api/CNAS/reviewAnnualPlan.js b/src/api/CNAS/reviewAnnualPlan.js index b483e1e..020809b 100644 --- a/src/api/CNAS/reviewAnnualPlan.js +++ b/src/api/CNAS/reviewAnnualPlan.js @@ -17,3 +17,22 @@ data }) } + + + //涓婁紶闄勪欢 +export function addAccessory(data) { + return request({ + url: '/cnasAnnualPlan/addAccessory', + method: 'post', + data + }) +} + +//鍒犻櫎瀹℃牳骞村害璁″垝 +export function deleteCnasAnnualPlan(params) { + return request({ + url: '/cnasAnnualPlan/deleteCnasAnnualPlan', + method: 'get', + params + }) +} diff --git a/src/views/CNAS/reviewAnnualPlan/index.vue b/src/views/CNAS/reviewAnnualPlan/index.vue index 9b26139..e99d7f6 100644 --- a/src/views/CNAS/reviewAnnualPlan/index.vue +++ b/src/views/CNAS/reviewAnnualPlan/index.vue @@ -5,7 +5,8 @@ <el-form-item> <el-date-picker v-model="input" - type="date" + class="input-form" + type="month" placeholder="璇烽�夋嫨鏌ヨ鏃ユ湡" > </el-date-picker> @@ -15,69 +16,261 @@ <el-button type="primary" plain @click="resetData()">閲嶇疆</el-button> </el-form-item> </el-form> - <el-form> + <el-form class="rightBtn"> <!-- 涓婁紶闄勪欢 --> - <el-button - class="rightBtn" - type="primary" - icon="el-icon-upload2" - @click="dialogFormVisible1 = true" - >涓婁紶闄勪欢</el-button - > - - <el-dialog title="鏂板璁″垝" :visible.sync="dialogFormVisible1"> - <el-form :model="uploadingForm"> - <el-form-item label="瀹℃牳鏃ユ湡:" :label-width="formLabelWidth"> - <el-date-picker - v-model="uploadingForm.auditTime" - type="date" - placeholder="璇烽�夋嫨鏃ユ湡" - autocomplete="off" + <el-form-item class="createBtn"> + <el-button + type="primary" + icon="el-icon-upload2" + @click=" + dialogFormVisible1 = true; + uploading = {}; + resetForm('uploading'); + " + >涓婁紶闄勪欢</el-button + > + <el-dialog + title="涓婁紶闄勪欢" + :visible.sync="dialogFormVisible1" + width="30%" + > + <el-form :model="uploading" :rules="rules1" ref="uploading"> + <el-form-item + label="瀹℃牳鏃ユ湡:" + :label-width="formLabelWidth1" + prop="auditTime" + style="margin-bottom: 20px" > - </el-date-picker> - </el-form-item> - <el-form-item label="褰曞叆浜�:" :label-width="formLabelWidth"> - <el-input - v-model="uploadingForm.keyboarder" - autocomplete="off" - placeholder="璇疯緭鍏ュ綍鍏ヤ汉" - ></el-input> - </el-form-item> - <el-form-item label="涓婁紶闄勪欢:" :label-width="formLabelWidth"> - <el-input - v-model="uploadingForm.attachment" - autocomplete="off" - ></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="dialogFormVisible1 = false">鍙� 娑�</el-button> - <el-button type="primary" @click="dialogFormVisible1 = false" - >纭� 瀹�</el-button - > - </div> - </el-dialog> + <el-date-picker + class="uploading-form" + v-model="uploading.auditTime" + type="date" + placeholder="璇烽�夋嫨鏃ユ湡" + autocomplete="off" + > + </el-date-picker> + </el-form-item> + <el-form-item + prop="accessoryFile" + label="涓婁紶闄勪欢:" + :label-width="formLabelWidth1" + > + <el-input + class="uploading-form" + v-model="uploading.accessoryFile" + autocomplete="off" + placeholder="璇烽�夋嫨鏂囦欢" + ></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogFormVisible1 = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitUp('uploading')" + >纭� 瀹�</el-button + > + </div> + </el-dialog> + </el-form-item> + <!-- 鏂板璁″垝 --> + <el-form-item class="createBtn"> + <el-button + type="primary" + icon="el-icon-document-add" + @click=" + dialogFormVisible2 = true; + newly = {}; + resetForm('newly'); + " + >鏂板璁″垝</el-button + > - <!-- 涓婁紶璁″垝 --> - <el-button - class="rightBtn" - type="primary" - icon="el-icon-document-add" - @click="addPlan" - >鏂板璁″垝</el-button - > - <el-button - class="rightBtn" - type="primary" - icon="el-icon-document-checked" - >瀵煎嚭骞村害璁″垝</el-button - > - <el-button - class="rightBtn" - type="primary" - icon="el-icon-document-checked" - >瀵煎嚭鍐呴儴瀹炴柦璁″垝</el-button - > + <el-dialog + title="鏂板璁″垝" + :visible.sync="dialogFormVisible2" + width="55%" + > + <el-form :model="newly" :rules="rules2" ref="newly"> + <!-- 绗竴琛� --> + <el-row class="newly-margin-bottom"> + <el-col :span="12"> + <el-form-item + label="璁″垝鏃堕棿:" + :label-width="formLabelWidth2" + prop="planTime" + > + <el-date-picker + class="newly-form" + v-model="newly.planTime" + type="date" + placeholder="璇烽�夋嫨璁″垝鏃ユ湡" + autocomplete="off" + > + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item + label="閮ㄩ棬:" + :label-width="formLabelWidth2" + prop="department" + > + <el-input + class="newly-form" + v-model="newly.department" + placeholder="璇烽�夋嫨閮ㄩ棬" + autocomplete="off" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <!-- 绗簩琛� --> + <el-row class="newly-margin-bottom"> + <el-col :span="12"> + <el-form-item + label="鎬ц川:" + :label-width="formLabelWidth2" + prop="auditType" + > + <el-select + class="newly-form" + v-model="newly.auditType" + placeholder="璇烽�夋嫨鎬ц川" + autocomplete="off" + > + <el-option label="鍐呭" value="0"></el-option> + <el-option label="绠$悊璇勫" value="1"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item + label="瀹℃牳鐩殑:" + :label-width="formLabelWidth2" + prop="auditPurpose" + > + <el-input + class="newly-form" + v-model="newly.auditPurpose" + placeholder="璇疯緭鍏ュ鏍哥洰鐨�" + autocomplete="off" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <!-- 绗笁琛� --> + <el-row class="newly-margin-bottom"> + <el-col :span="12"> + <el-form-item + label="瀹℃牳缁勯暱:" + :label-width="formLabelWidth2" + prop="auditLeader" + > + <el-input + class="newly-form" + v-model="newly.auditLeader" + placeholder="璇疯緭鍏ュ鏍哥粍闀�" + autocomplete="off" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item + label="瀹℃牳鑼冨洿:" + :label-width="formLabelWidth2" + prop="auditScope" + > + <el-input + class="newly-form" + v-model="newly.auditScope" + placeholder="璇疯緭鍏ュ鏍歌寖鍥�" + autocomplete="off" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <!-- 绗洓琛� --> + <el-row class="newly-margin-bottom"> + <el-col :span="12"> + <el-form-item + label="缁勫憳:" + :label-width="formLabelWidth2" + prop="auditEmp" + > + <el-input + class="newly-form" + v-model="newly.auditEmp" + placeholder="璇疯緭鍏ョ粍鍛�" + autocomplete="off" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item + label="瀹℃牳渚濇嵁:" + :label-width="formLabelWidth2" + prop="auditPursuant" + > + <el-input + class="newly-form" + v-model="newly.auditPursuant" + placeholder="璇疯緭鍏ュ鏍镐緷鎹�" + autocomplete="off" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <!-- 绗簲琛� --> + <el-row class="newly-margin-bottom"> + <el-col :span="12"> + <el-form-item + label="缂栧埗浜�:" + :label-width="formLabelWidth2" + prop="writeUser" + > + <el-input + class="newly-form" + v-model="newly.writeUser" + placeholder="璇疯緭鍏ョ紪鍒朵汉" + autocomplete="off" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item + label="瀹℃牳鏃ユ湡:" + :label-width="formLabelWidth2" + > + <el-date-picker + class="newly-form" + v-model="newly.auditTime" + type="date" + placeholder="璇烽�夋嫨瀹℃牳鏃ユ湡" + autocomplete="off" + > + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogFormVisible2 = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitAddData('newly')" + >纭� 瀹�</el-button + > + </div> + </el-dialog> + </el-form-item> + <!-- 瀵煎嚭骞村害璁″垝 --> + <el-form-item class="createBtn"> + <el-button type="primary" icon="el-icon-document-checked" + >瀵煎嚭骞村害璁″垝</el-button + > + </el-form-item> + <el-form-item class="createBtn"> + <el-button type="primary" icon="el-icon-document-checked" + >瀵煎嚭鍐呴儴瀹炴柦璁″垝</el-button + > + </el-form-item> </el-form> </div> <div class="library-table"> @@ -160,13 +353,13 @@ </el-table-column> <el-table-column label="鎿嶄綔" min-width="100" fixed="right"> <template slot-scope="scope"> + <el-button type="text" size="small">鏌ョ湅</el-button> <el-button type="text" size="small" - @click="handleClick(scope.row)" - >鏌ョ湅</el-button + @click="deleteClick(scope.row.id)" + >鍒犻櫎</el-button > - <el-button type="text" size="small">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -188,28 +381,148 @@ </template> <script> -import { selectAllList, addCnasAnnualPlan } from "@/api/CNAS/reviewAnnualPlan"; +import { + selectAllList, + addCnasAnnualPlan, + addAccessory, + deleteCnasAnnualPlan, +} from "@/api/CNAS/reviewAnnualPlan"; +import { P } from "af-table-column"; export default { data() { return { - input: [], + input: "", auditTable: [], page: 1, total: 0, pageSize: 10, dialogFormVisible1: false, - uploadingForm: { + dialogFormVisible2: false, + formLabelWidth1: "80px", + formLabelWidth2: "80px", + //涓婁紶闄勪欢鍙傛暟 + uploading: { auditTime: "", - keyboarder: "", - keyboarder: "", + //====================鏂囦欢涓婁紶杩樻病鍋�,姝ゅ鏄簲鏄枃浠跺弬鏁�,鏆傛椂杩樻槸鏂囨湰 + accessoryFile: "", }, - formLabelWidth: "80px", + rules1: { + auditTime: [ + { + type: "date", + required: true, + message: "璇烽�夋嫨鏃ユ湡", + trigger: "blur", + }, + ], + accessoryFile: [ + { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" }, + { min: 3, max: 5, message: "闀垮害鍦� 3 鍒� 5 涓瓧绗�", trigger: "blur" }, + ], + }, + //鏂板璁″垝瀵硅薄 + newly: { + planTime: "", + auditType: "", + department: "", + auditPurpose: "", + auditLeader: "", + auditEmp: "", + auditPursuant: "", + auditScope: "", + writeUser: "", + auditTime: "", + }, + rules2: { + planTime: [ + { + type: "date", + required: true, + message: "璇烽�夋嫨鏃ユ湡", + trigger: "blur", + }, + ], + auditType: [ + { required: true, message: "璇烽�夋嫨鎬ц川", trigger: "change" }, + ], + department: [ + { required: true, message: "璇疯緭鍏ラ儴闂�", trigger: "blur" }, + { min: 1, max: 25, message: "瀛楁暟杩囬暱", trigger: "blur" }, + ], + auditPurpose: [ + { required: true, message: "璇疯緭鍏ュ鏍哥洰鐨�", trigger: "blur" }, + { min: 1, max: 25, message: "瀛楁暟杩囬暱", trigger: "blur" }, + ], + auditLeader: [ + { required: true, message: "璇疯緭鍏ュ鏍哥粍闀�", trigger: "blur" }, + { min: 1, max: 25, message: "瀛楁暟杩囬暱", trigger: "blur" }, + ], + auditEmp: [ + { required: true, message: "璇疯緭鍏ョ粍鍛�", trigger: "blur" }, + { min: 1, max: 25, message: "瀛楁暟杩囬暱", trigger: "blur" }, + ], + auditPursuant: [ + { required: true, message: "璇疯緭鍏ュ鏍镐緷鎹�", trigger: "blur" }, + { min: 1, max: 25, message: "瀛楁暟杩囬暱", trigger: "blur" }, + ], + auditScope: [ + { required: true, message: "璇疯緭鍏ュ鏍歌寖鍥�", trigger: "blur" }, + { min: 1, max: 5, message: "瀛楁暟杩囬暱", trigger: "blur" }, + ], + writeUser: [ + { required: true, message: "璇疯緭鍏ョ紪鍒朵汉", trigger: "blur" }, + { min: 1, max: 25, message: "瀛楁暟杩囬暱", trigger: "blur" }, + ], + }, }; }, created() { this.getData(); }, methods: { + //====================================================涓婁紶闄勪欢 + //涓婁紶闄勪欢瀛楁纭 + submitUp(uploading) { + this.$refs[uploading].validate((valid) => { + if (!valid) { + return false; + } else { + // this.upData(); + } + }); + }, + // //涓婁紶闄勪欢 + // async upData() { + // try { + // const res = await addAccessory(this.uploading); + // console.log(res); + // } catch (error) { + // this.$message.error("娣诲姞澶辫触"); + // } + // this.resetData(); + // this.dialogFormVisible1 = false; + // }, + + //鏂板璁″垝瀛楁纭 + submitAddData(newly) { + this.$refs[newly].validate((valid) => { + if (!valid) { + return false; + } else { + this.addData(); + } + }); + }, + //鏂板璁″垝 + async addData() { + try { + const res = await deleteCnasAnnualPlan(this.newly); + } catch (error) { + this.$message.error("娣诲姞澶辫触"); + } + this.getData(); + this.dialogFormVisible2 = false; + }, // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 handleSizeChange(val) { console.log(`姣忛〉 ${val} 鏉); @@ -234,10 +547,29 @@ const params = { page: this.page, pageSize: this.pageSize, + planTime: this.input ? this.input : undefined, }; const { data } = await selectAllList(params); this.auditTable = data.row; this.total = data.total; + }, + async deleteOneData(planId) { + await deleteCnasAnnualPlan({ planId: planId }); + this.getData(); + console.log(planId); + }, + + deleteClick(planId) { + this.$confirm("纭鍒犻櫎?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + }).then(() => { + this.deleteOneData(planId); + }); + }, + //閲嶇疆琛ㄥ崟 + resetForm(formName) { + this.$refs[formName].resetFields(); }, }, }; @@ -250,7 +582,22 @@ display: flex; justify-content: space-between; padding: 5px 24px 0px 24px; + .input-form { + width: 400px; + } + .uploading-form { + // margin-bottom: 20px; + width: 400px; + } + .newly-form { + // margin-bottom: 20px; + width: 400px; + } + .newly-margin-bottom { + margin-bottom: 23px; + } } + .library-table { background-color: #fff; flex: 1; @@ -258,6 +605,7 @@ margin-top: 40px; display: flex; flex-direction: column; + .table-box { padding: 0px 20px; margin-top: 20px; @@ -275,4 +623,11 @@ } } } +.rightBtn { + display: flex; + justify-content: flex-end; +} +.createBtn { + margin-left: 10px; +} </style> diff --git a/src/views/experiment/checkTheReport/index.vue b/src/views/experiment/checkTheReport/index.vue index 5183a0c..a5057c4 100644 --- a/src/views/experiment/checkTheReport/index.vue +++ b/src/views/experiment/checkTheReport/index.vue @@ -24,11 +24,7 @@ </el-dropdown> </el-form> <el-form> - <el-button - class="rightBtn" - type="primary" - icon="el-icon-document" - @click="exportData" + <el-button class="rightBtn" type="primary" icon="el-icon-document" >瀵煎嚭鎶ュ憡</el-button > </el-form> @@ -70,19 +66,37 @@ label="鏍峰搧缂栧彿" sortable min-width="10%" - /> + > + <template slot-scope="scope"> + <span style="color: #409eff;"> + {{ scope.row.materialCode }} + </span> + </template></el-table-column + > <el-table-column - prop="reportCode" + prop="materialCode" label="鎶ュ憡鍗曞彿" sortable min-width="10%" - /> + > + <template slot-scope="scope"> + <span style="color: #409eff;"> + {{ scope.row.materialCode }} + </span> + </template></el-table-column + > <el-table-column prop="inspectionCode" label="鐢宠鍗曞彿" sortable min-width="10%" - /> + > + <template slot-scope="scope"> + <span style="color: #409eff;"> + {{ scope.row.inspectionCode }} + </span> + </template></el-table-column + > <el-table-column prop="approver" label="瀹℃壒浜�" min-width="8%"> <template slot-scope="scope"> <span> diff --git a/src/views/experiment/reportAuditing/index.vue b/src/views/experiment/reportAuditing/index.vue index 3bd0410..ad3c04e 100644 --- a/src/views/experiment/reportAuditing/index.vue +++ b/src/views/experiment/reportAuditing/index.vue @@ -24,9 +24,7 @@ </el-dropdown> </el-form> <el-form> - <el-button class="rightBtn" type="primary" @click="exportData" - >瀹℃牳</el-button - > + <el-button class="rightBtn" type="primary">瀹℃牳</el-button> </el-form> </div> <div class="library-table"> @@ -58,12 +56,20 @@ style="width: 100%" > <el-table-column type="selection" label="" min-width="5%" /> - <el-table-column - prop="materialCode" - label="鏍峰搧缂栧彿" - min-width="10%" - /> - <el-table-column prop="reportCode" label="鎶ュ憡鍗曞彿" min-width="10%" /> + <el-table-column prop="materialCode" label="鏍峰搧缂栧彿" min-width="10%"> + <template slot-scope="scope"> + <span style="color: #409eff"> + {{ scope.row.materialCode }} + </span> + </template></el-table-column + > + <el-table-column prop="reportCode" label="鎶ュ憡鍗曞彿" min-width="10%"> + <template slot-scope="scope"> + <span style="color: #409eff"> + {{ scope.row.reportCode }} + </span> + </template></el-table-column + > <el-table-column prop="materialName" label="鏍峰搧鍚嶇О" diff --git a/src/views/laboratory/ledger/index.vue b/src/views/laboratory/ledger/index.vue index f092459..329e21b 100644 --- a/src/views/laboratory/ledger/index.vue +++ b/src/views/laboratory/ledger/index.vue @@ -655,8 +655,7 @@ <el-dialog title="鎻愮ず" :visible.sync="deletedialogVisible" - width="30%" - :before-close="handleClose"> + width="30%"> <span>纭畾鍒犻櫎璇ヤ华鍣ㄥ悧锛�</span> <span slot="footer" class="dialog-footer"> <el-button @click="deletedialogVisible = false">鍙� 娑�</el-button> -- Gitblit v1.9.3