From eb2a77ad38d79b2370dbfe213bdd5ace02f94c4d Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 29 十一月 2024 09:12:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/projectManage/plan/planInfo.vue | 12 +++- src/views/projectManage/progress/progressRecord.vue | 63 +++++++++++++-------- src/views/projectManage/plan/index.vue | 1 src/views/projectManage/plan/planInfoCheck.vue | 13 +-- src/views/projectManage/progress/index.vue | 58 ++++--------------- src/views/projectManage/plan/planRecord.vue | 3 6 files changed, 66 insertions(+), 84 deletions(-) diff --git a/src/views/projectManage/plan/index.vue b/src/views/projectManage/plan/index.vue index ac6e35f..b4b6913 100644 --- a/src/views/projectManage/plan/index.vue +++ b/src/views/projectManage/plan/index.vue @@ -301,7 +301,6 @@ } }) }) - } } }; diff --git a/src/views/projectManage/plan/planInfo.vue b/src/views/projectManage/plan/planInfo.vue index bf620a5..0644e12 100644 --- a/src/views/projectManage/plan/planInfo.vue +++ b/src/views/projectManage/plan/planInfo.vue @@ -22,12 +22,17 @@ </el-table-column> <el-table-column prop="startTime" label="璁″垝寮�濮嬫椂闂�" width="160" align="center"> <template #default="scope"> - <el-date-picker v-model="scope.row.startTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" /> + <el-date-picker v-model="scope.row.startTime" + type="date" + placeholder="閫夋嫨鏃ユ湡" + size="small" + style="width: 130px" + value-format="yyyy-MM-dd HH:mm:ss"/> </template> </el-table-column> <el-table-column prop="endTime" label="璁″垝瀹屾垚鏃堕棿" width="160" align="center"> <template #default="scope"> - <el-date-picker v-model="scope.row.endTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" /> + <el-date-picker v-model="scope.row.endTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" value-format="yyyy-MM-dd HH:mm:ss"/> </template> </el-table-column> <el-table-column :label="planInfoData.planTimeFlag === 0 ? '鏈堝害' : planInfoData.planTimeFlag === 1 ? '瀛e害' : '骞村害' " width="100" align="center"> @@ -45,7 +50,7 @@ </el-table> <div style="display: flex; align-items: center;"> <h1 style="margin: 0;"> - 鎴鏈鍒掕繘搴﹀畬鎴愭姇璧勶紙涓囧厓锛夛細 + 璁″垝鎶曡祫閲戦锛堜竾鍏冿級锛� </h1> <el-input placeholder="璇疯緭鍏ユ姇璧勯噾棰�" @@ -139,6 +144,7 @@ } addPlanInfo(this.addData).then(response => { this.handlePlanRecord() + this.$message.success('涓婃姤鎴愬姛'); }) }, // 閲嶇疆褰撳墠琛屾暟鎹� diff --git a/src/views/projectManage/plan/planInfoCheck.vue b/src/views/projectManage/plan/planInfoCheck.vue index 0a3ed72..73cb549 100644 --- a/src/views/projectManage/plan/planInfoCheck.vue +++ b/src/views/projectManage/plan/planInfoCheck.vue @@ -7,7 +7,6 @@ <el-card shadow="hover"> <el-row :gutter="20"> <el-col :span="24" class="mb-4"> - <el-button type="primary" size="small" @click="handlePlanRecord" style="float: right; margin-bottom: 10px;">杩斿洖</el-button> <!--椤圭洰璁″垝椤�--> <el-table :data="tableData" border stripe style="width: 100%; margin-bottom: 20px"> <el-table-column prop="index" label="搴忓彿" width="50" align="center"> @@ -112,13 +111,11 @@ <el-input type="textarea" v-model="scope.row.manageApprovalReply" placeholder="璇疯緭鍏�" rows="3" /> </template> </el-table-column> - <el-table-column fixed="right" label="鎿嶄綔" align="center"> - <template #default="scope" v-if="!projectInfoData.managerFlag"> - <el-button size="small" @click="handleReply(scope.$index)">鍥炲</el-button> - <el-button size="small" type="danger" @click="handleReset(scope.$index)">閲嶇疆</el-button> - </template> - <template v-if="projectInfoData.managerFlag" #default="scope"> - <el-button size="small" @click="handleSave(scope.$index)">淇濆瓨</el-button> + <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200"> + <template #default="scope"> + <el-button v-show="!projectInfoData.managerFlag" size="small" @click="handleReply(scope.$index)">鍥炲</el-button> + <el-button v-show="!projectInfoData.managerFlag" size="small" type="danger" @click="handleReset(scope.$index)">閲嶇疆</el-button> + <el-button v-show="projectInfoData.managerFlag" size="small" @click="handleSave(scope.$index)">淇濆瓨</el-button> </template> </el-table-column> </el-table> diff --git a/src/views/projectManage/plan/planRecord.vue b/src/views/projectManage/plan/planRecord.vue index dc9e845..ed81999 100644 --- a/src/views/projectManage/plan/planRecord.vue +++ b/src/views/projectManage/plan/planRecord.vue @@ -41,7 +41,7 @@ <el-col :span="24" class="mb-4" style="margin-top: 20px"> <div style="margin-bottom: 10px"> <span style="font-size: 20px; font-weight: bold;">瀛e害璁″垝</span> - <el-button type="primary" size="small" style="float: right" @click="handleAddSeasonPlan" v-show="!projectInfoData.managerFlag">鏌ョ湅</el-button> + <el-button type="primary" size="small" style="float: right" @click="handleAddSeasonPlan" v-show="!projectInfoData.managerFlag">鏂板</el-button> </div> <el-table :data="seasonRecords" border stripe style="width: 100%; margin-bottom: 20px"> <!-- 琛ㄥご --> @@ -220,7 +220,6 @@ }, // 鏌ョ湅椤圭洰璁″垝椤� handleCheckPlanInfo(row) { - console.log(this.projectInfoData); this.$router.push({ path: '/projectManage/planInfoCheck', query: { diff --git a/src/views/projectManage/progress/index.vue b/src/views/projectManage/progress/index.vue index 514064a..1e85d12 100644 --- a/src/views/projectManage/progress/index.vue +++ b/src/views/projectManage/progress/index.vue @@ -189,7 +189,7 @@ </template> <script> -import { getList, getRecord, delRecord, addRecord, updateRecord } from "@/api/projectPlan/index"; +import { getList, getManagerFlag } from "@/api/projectPlan/index"; export default { name: "Index", @@ -280,46 +280,7 @@ this.open = true; this.title = "娣诲姞椤圭洰璁″垝璁板綍"; }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const id = row.id || this.ids - getRecord(id).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼椤圭洰璁″垝璁板綍"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.id != null) { - updateRecord(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addRecord(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const ids = row.id || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎椤圭洰璁″垝璁板綍缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() { - return delRecord(ids); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download('plan/record/export', { @@ -328,11 +289,16 @@ }, /** 鏌ョ湅椤圭洰璁″垝璁板綍 */ handlePlanRecord(row) { - this.$router.push({ - path: '/projectManage/progressRecord', - query: { - data: JSON.stringify(row) - } + // 鑾峰緱涓荤鏍囧織 + getManagerFlag(row.id).then(res => { + this.managerFlag = res.data; + row.managerFlag = this.managerFlag; + this.$router.push({ + path: '/projectManage/progressRecord', + query: { + data: row + } + }) }) } } diff --git a/src/views/projectManage/progress/progressRecord.vue b/src/views/projectManage/progress/progressRecord.vue index 566a7e9..54a0e4d 100644 --- a/src/views/projectManage/progress/progressRecord.vue +++ b/src/views/projectManage/progress/progressRecord.vue @@ -31,8 +31,9 @@ <el-table-column prop="endTime" label="璁″垝瀹屾垚鏃堕棿" align="center" /> <el-table-column fixed="right" label="鎿嶄綔" align="center"> <template slot-scope="scope"> - <el-button type="primary" size="small" :disabled="scope.row.progressStatus === 1 || scope.row.progressStatus === 3" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button> - <el-button type="primary" size="small" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button> + <el-button v-if="!projectInfoData.managerFlag" type="primary" size="small" :disabled="scope.row.progressStatus === 1 || scope.row.progressStatus === 3" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button> + <el-button v-if="!projectInfoData.managerFlag" type="primary" size="small" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button> + <el-button v-if="projectInfoData.managerFlag" type="primary" size="small" @click="handleCheckProgress(scope.row)">瀹℃牳</el-button> </template> </el-table-column> </el-table> @@ -59,8 +60,9 @@ <el-table-column prop="endTime" label="璁″垝瀹屾垚鏃堕棿" align="center" /> <el-table-column fixed="right" label="鎿嶄綔" align="center"> <template slot-scope="scope"> - <el-button type="primary" size="small" :disabled="scope.row.progressStatus === 1 || scope.row.progressStatus === 3" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button> - <el-button type="primary" size="small" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button> + <el-button v-if="!projectInfoData.managerFlag" type="primary" size="small" :disabled="scope.row.progressStatus === 1 || scope.row.progressStatus === 3" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button> + <el-button v-if="!projectInfoData.managerFlag" type="primary" size="small" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button> + <el-button v-if="projectInfoData.managerFlag" type="primary" size="small" @click="handleCheckProgress(scope.row)">瀹℃牳</el-button> </template> </el-table-column> </el-table> @@ -87,8 +89,9 @@ <el-table-column prop="endTime" label="璁″垝瀹屾垚鏃堕棿" align="center" /> <el-table-column fixed="right" label="鎿嶄綔" align="center"> <template slot-scope="scope"> - <el-button type="primary" size="small" :disabled="scope.row.progressStatus === 1 || scope.row.progressStatus === 3" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button> - <el-button type="primary" size="small" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button> + <el-button v-if="!projectInfoData.managerFlag" type="primary" size="small" :disabled="scope.row.progressStatus === 1 || scope.row.progressStatus === 3" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button> + <el-button v-if="!projectInfoData.managerFlag" type="primary" size="small" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button> + <el-button v-if="projectInfoData.managerFlag" type="primary" size="small" @click="handleCheckProgress(scope.row)">瀹℃牳</el-button> </template> </el-table-column> </el-table> @@ -130,42 +133,55 @@ <el-date-picker v-model="progressReportData.endTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" readonly/> </el-form-item> <el-form-item label="瀹為檯瀹屾垚鏃堕棿锛�" :label-width="formLabelWidth"> - <el-date-picker v-model="progressReportData.actualStartTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" :readonly="checkFlag"/> + <el-date-picker v-model="progressReportData.actualStartTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" :readonly="checkFlag && projectInfoData.managerFlag"/> 鑷� - <el-date-picker v-model="progressReportData.actualEndTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" :readonly="checkFlag"/> + <el-date-picker v-model="progressReportData.actualEndTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" :readonly="checkFlag && projectInfoData.managerFlag"/> </el-form-item> <el-form-item label="杩涘害鎯呭喌锛�" :label-width="formLabelWidth"> - <el-input type="textarea" v-model="progressReportData.progressStatus" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" /> + <el-input type="textarea" v-model="progressReportData.progressStatus" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag && projectInfoData.managerFlag" /> </el-form-item> - <el-form-item prop="fileList" label="宸ョ▼杩涘害闄勪欢锛�" :label-width="formLabelWidth"> + <el-form-item label="宸ョ▼杩涘害闄勪欢锛�" :label-width="formLabelWidth"> <file-upload v-model="progressReportData.fileList" :fileType="accept" :isShowTip="false"/> </el-form-item> <el-form-item label="鎴鏈姤鍛婂畬鎴愭姇璧勶細" :label-width="formLabelWidth"> - <el-input v-model="progressReportData.actualInvest" type="number" :readonly="checkFlag" /> + <el-input v-model="progressReportData.actualInvest" type="number" :readonly="checkFlag && projectInfoData.managerFlag" /> </el-form-item> <el-form-item label="涓婄骇瀹℃牳锛�" :label-width="formLabelWidth"> - <el-input :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'" readonly /> + <el-input v-if="!projectInfoData.managerFlag" :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'" readonly /> + <el-select v-if="projectInfoData.managerFlag" v-model="progressReportData.departmentExamine" placeholder="璇烽�夋嫨" size="small" clearable> + <el-option label="鍚屾剰" :value="0"></el-option> + <el-option label="椹冲洖" :value="1"></el-option> + </el-select> </el-form-item> <el-form-item label="涓婄骇鎵瑰锛�" :label-width="formLabelWidth"> - <el-input v-model="progressReportData.departmentApproval" readonly /> + <el-input v-if="!projectInfoData.managerFlag" v-model="progressReportData.departmentApproval" readonly /> + <el-input v-if="projectInfoData.managerFlag" v-model="progressReportData.departmentApproval" /> </el-form-item> <el-form-item label="涓婄骇鎵瑰鍥炲锛�" :label-width="formLabelWidth"> - <el-input type="textarea" v-model="progressReportData.departmentApprovalReply" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" /> + <el-input v-if="!projectInfoData.managerFlag" type="textarea" v-model="progressReportData.departmentApprovalReply" placeholder="璇疯緭鍏�" rows="3" /> + <el-input v-if="projectInfoData.managerFlag" type="textarea" v-model="progressReportData.departmentApprovalReply" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" /> </el-form-item> <el-form-item label="涓荤閮ㄩ棬瀹℃牳锛�" :label-width="formLabelWidth"> - <el-input :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'" readonly /> + <el-input v-if="!projectInfoData.managerFlag" :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'" readonly /> + <el-select v-if="projectInfoData.managerFlag" v-model="progressReportData.manageExamine" placeholder="璇烽�夋嫨" size="small" clearable> + <el-option label="鍚屾剰" :value="0"></el-option> + <el-option label="椹冲洖" :value="1"></el-option> + </el-select> </el-form-item> <el-form-item label="涓荤閮ㄩ棬瀹℃牳鎵瑰锛�" :label-width="formLabelWidth"> - <el-input v-model="progressReportData.manageApproval" readonly /> + <el-input v-if="!projectInfoData.managerFlag" v-model="progressReportData.manageApproval" readonly /> + <el-input v-if="projectInfoData.managerFlag" v-model="progressReportData.manageApproval" /> </el-form-item> <el-form-item label="涓荤閮ㄩ棬鎵瑰鍥炲锛�" :label-width="formLabelWidth"> - <el-input type="textarea" v-model="progressReportData.manageApprovalReply" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" /> + <el-input v-if="!projectInfoData.managerFlag" type="textarea" v-model="progressReportData.manageApprovalReply" placeholder="璇疯緭鍏�" rows="3" /> + <el-input v-if="projectInfoData.managerFlag" type="textarea" v-model="progressReportData.manageApprovalReply" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" /> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="handleRecordSubmit" v-if="!checkFlag">涓� 鎶�</el-button> + <el-button type="primary" @click="handleRecordSubmit" v-if="!checkFlag && !projectInfoData.managerFlag">涓� 鎶�</el-button> + <el-button type="primary" @click="handleRecordSubmit" v-if="projectInfoData.managerFlag">瀹� 鎵�</el-button> <el-button @click="handleCancel">鍙� 娑�</el-button> </div> </el-dialog> @@ -215,16 +231,14 @@ }, methods: { search() { - this.getProjectInfoData() this.getProjectProgressForm(this.projectInfoData.id); + this.getProgressInfoList(this.projectInfoData.id); }, // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏 getProjectInfoData() { // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁 - if (this.$route.query.data) { - this.projectInfoData = JSON.parse(this.$route.query.data); - this.getProgressInfoList(this.projectInfoData.id); - } + this.projectInfoData = this.$route.query.data; + this.search(); }, getProjectProgressForm(id) { getProjectProgressForm(id).then(res => { @@ -244,6 +258,7 @@ this.dialogFormVisible = true; getProgressReport(row.id).then(res => { this.progressReportData = res.data; + console.log(this.progressReportData) }) }, // 涓婃姤鎻愪氦 @@ -278,7 +293,7 @@ } }, created() { - this.search(); + this.getProjectInfoData() }, }; </script> -- Gitblit v1.8.0