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