Merge remote-tracking branch 'origin/master'
| | |
| | | }) |
| | | } |
| | | |
| | | // 审批 |
| | | export function examine(data) { |
| | | return request({ |
| | | url: '/api/project-plan-progress-report/examine', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 保存竣工报告、情况说明附件 |
| | | export function saveProjectProgressFileLists(data) { |
| | | return request({ |
| | |
| | | <div class="statistics"> |
| | | <div>{{ i.statistics }}</div> |
| | | <div :style="setTextColor(i.text)"> |
| | | {{ i.statisticsMun |
| | | {{ |
| | | i.statisticsMun |
| | | }}<span style="font-size: 18px">亿</span> |
| | | </div> |
| | | </div> |
| | |
| | | } |
| | | }); |
| | | break; |
| | | case '省': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/projectLibrary', |
| | | query: { |
| | | importanceType: 'provincial_key' |
| | | } |
| | | }); |
| | | break; |
| | | case '县': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/projectLibrary', |
| | | query: { |
| | | importanceType: 'shehong_key' |
| | | } |
| | | }); |
| | | break; |
| | | case '市': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/projectLibrary', |
| | | query: { |
| | | importanceType: 'suining_key' |
| | | } |
| | | }); |
| | | break; |
| | | case '普': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/projectLibrary', |
| | | query: { |
| | | importanceType: 'normal' |
| | | } |
| | | }); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .overview-div { |
| | | min-width: 1250px; |
| | | width: 1250px; |
| | |
| | | this.$message.success('获取地址成功'); |
| | | this.dialogMap = false; |
| | | } else { |
| | | this.$message.error('获取坐标失败'); |
| | | this.$message.error('请先点击地图选择地址'); |
| | | } |
| | | }, |
| | | |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | queryParams: {}, |
| | | uploadRef: null, |
| | | targetColumn: [], |
| | | accept: `.zip`, |
| | |
| | | } |
| | | }, |
| | | handleDownloadFile() { |
| | | // fetch(`${process.env.VITE_APP_BASE_API}/project/info/export/template`, { |
| | | // method: 'GET', |
| | | // headers: self.upload.headers |
| | | // }) |
| | | // .then(response => response.blob()) |
| | | // .then(blob => { |
| | | // const url = window.URL.createObjectURL(blob); |
| | | // const a = document.createElement('a'); |
| | | // a.style.display = 'none'; |
| | | // a.href = url; |
| | | // a.download = `项目文件模板_${new Date().getTime()}.zip`; |
| | | // document.body.appendChild(a); |
| | | // a.click(); |
| | | // window.URL.revokeObjectURL(url); |
| | | // }) |
| | | // .catch(error => { |
| | | // console.error('文件下载失败:', error); |
| | | // }); |
| | | |
| | | const url = process.env.VUE_APP_BASE_API + '/project/info/export/template'; |
| | | axios.post(url, [], { // 发送一个空数组而不是空对象 |
| | | responseType: 'blob', // 告诉axios期望服务器返回的是blob类型 |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | Authorization: "Bearer " + getToken() |
| | | } |
| | | }) |
| | | .then(response => { |
| | | // 处理文件下载 |
| | | const blob = new Blob([response.data], { type: 'application/zip' }); // 指定MIME类型为zip |
| | | const url = window.URL.createObjectURL(blob); |
| | | const a = document.createElement('a'); |
| | | a.style.display = 'none'; |
| | | a.href = url; |
| | | a.download = `项目文件模板_${new Date().getTime()}.zip`; |
| | | document.body.appendChild(a); |
| | | a.click(); |
| | | document.body.removeChild(a); |
| | | window.URL.revokeObjectURL(url); |
| | | }) |
| | | .catch(error => { |
| | | console.error('There was an error!', error); |
| | | }); |
| | | this.download('/project/info/export/template', {}, `项目文件模板_${new Date().getTime()}.zip`) |
| | | }, |
| | | submitFileForm() { |
| | | if (this.uploadRef) { |
| | |
| | | this.$emit('fileDialogCancel'); |
| | | }, |
| | | handleDownloadTargetList() { |
| | | console.log('导出目标列表内容', this.currentColumns); |
| | | this.targetColumn = this.currentColumns.filter(item => item.visible); |
| | | this.queryParams.fieldList = this.currentColumns.filter(item => item.visible).map(item =>item.id); |
| | | this.queryParams.requireFile = false; |
| | | this.download('project/info/export', { |
| | | ...this.queryParams |
| | | }, `项目库${new Date().getTime()}.xlsx`) |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.uploadRef = this.$refs.uploadRef; |
| | | }, |
| | | created() { |
| | | |
| | | this.isFileDialogVisible = this.fileDialogVisible; |
| | | } |
| | | }; |
| | |
| | | <template v-if="item.slotName === 'investType'"> |
| | | <dict-tag :options="dict.type.sys_investment_type" :value="scope.row.investType"/> |
| | | </template> |
| | | <!-- investType插槽 --> |
| | | <template v-if="item.slotName === 'importanceType'"> |
| | | <dict-tag :options="dict.type.sys_key_categories" :value="scope.row.importanceType"/> |
| | | </template> |
| | | <!-- planStartTime --> |
| | | <template v-if="item.slotName === 'planStartTime'"> |
| | | {{ scope.row.planStartTime ? scope.row.planStartTime.split('-')[0] + '年' : '' }} |
| | |
| | | }; |
| | | }, |
| | | created() { |
| | | this.queryParams.importanceType = this.$route.query.importanceType; |
| | | const projectCategory = this.$route.query.projectCategory; |
| | | if (!projectCategory || projectCategory === '1') { |
| | | this.isReserve = true; |
| | |
| | | }, |
| | | handleDetail(row) { |
| | | this.removeStore(); |
| | | this.$router.push({path: '/projectEngineering/project/ProjectDetails', query: {projectId: row.id}}); |
| | | this.$router.push({path: '/projectEngineering/project/ProjectDetails', query: {projectId: row.id,disabled: 'true' }}); |
| | | }, |
| | | // 新增页面 |
| | | add() { |
| | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除项目管理基础信息编号为"' + ids + '"的数据项?').then(function () { |
| | | return delInfo(ids); |
| | | this.$modal.confirm('是否确认删除项目:"' + row.projectName + '"的数据项?').then(function () { |
| | | return delProject(ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | |
| | | {id: 'area', label: '行政区划', visible: false}, |
| | | {id: 'managementCentralizationList', label: '管理归口', visible: false}, |
| | | {id: 'projectApprovalType', label: '项目审批类型', visible: false}, |
| | | {id: 'importanceType', label: '重点分类', visible: false}, |
| | | {id: 'importanceType', label: '重点分类', slotName: 'importanceType', visible: false}, |
| | | {id: 'setTime', label: '立项时间', visible: false}, |
| | | {id: 'planCompleteTime', label: '计划竣工时间', visible: false}, |
| | | {id: 'winUnit', label: '中标单位', visible: false}, |
| | |
| | | { id: 'area', label: '行政区划', visible: false }, |
| | | { id: 'managementCentralizationList', label: '管理归口', visible: false }, |
| | | { id: 'projectApprovalType', label: '项目审批类型', visible: false }, |
| | | { id: 'importanceType', label: '重点分类', visible: false }, |
| | | {id: 'importanceType', label: '重点分类', slotName: 'importanceType', visible: false}, |
| | | { id: 'setTime', label: '立项时间', visible: false }, |
| | | { id: 'planCompleteTime', label: '计划竣工时间', visible: false }, |
| | | { id: 'winUnit', label: '中标单位', visible: false }, |
| | |
| | | this.$refs.childRef.reset(); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | if(this.$route.query.disabled){ |
| | | this.disabled = true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | |
| | | </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 ? '季度' : '年度' " width="100" align="center"> |
| | |
| | | </el-table> |
| | | <div style="display: flex; align-items: center;"> |
| | | <h1 style="margin: 0;"> |
| | | 截止本计划进度完成投资(万元): |
| | | 计划投资金额(万元): |
| | | </h1> |
| | | <el-input |
| | | placeholder="请输入投资金额" |
| | |
| | | import { getPlanInfoData, addPlanInfo, savePlanInfo } from "@/api/projectPlan/index"; |
| | | |
| | | export default { |
| | | name: "PlanInfo", |
| | | name: "planInfo", |
| | | data() { |
| | | return { |
| | | loading: true, |
| | |
| | | } |
| | | addPlanInfo(this.addData).then(response => { |
| | | this.handlePlanRecord() |
| | | this.$message.success('上报成功'); |
| | | }) |
| | | }, |
| | | // 重置当前行数据 |
| | |
| | | <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-button type="primary" size="small" @click="handlePlanRecord" style="float: right; margin-bottom: 10px; margin-left: 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"> |
| | |
| | | <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> |
| | |
| | | import { getPlanInfoData, delayPlanInfo, getDepartmentApproval, getPlanLog, replyExamine, saveExamine } from "@/api/projectPlan/index"; |
| | | |
| | | export default { |
| | | name: "PlanInfoCheck", |
| | | name: "planInfoCheck", |
| | | data() { |
| | | return { |
| | | loading: true, |
| | |
| | | }, |
| | | /** 返回项目计划记录 */ |
| | | handlePlanRecord() { |
| | | this.$router.push({ |
| | | this.$router.replace({ |
| | | path: '/projectManage/planRecord', |
| | | query: { |
| | | data: this.projectInfoData |
| | |
| | | <el-col :span="24" class="mb-4" style="margin-top: 20px"> |
| | | <div style="margin-bottom: 10px"> |
| | | <span style="font-size: 20px; font-weight: bold;">季度计划</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"> |
| | | <!-- 表头 --> |
| | |
| | | }, |
| | | // 查看项目计划项 |
| | | handleCheckPlanInfo(row) { |
| | | console.log(this.projectInfoData); |
| | | this.$router.push({ |
| | | path: '/projectManage/planInfoCheck', |
| | | query: { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, getRecord, delRecord, addRecord, updateRecord } from "@/api/projectPlan/index"; |
| | | import { getList, getManagerFlag } from "@/api/projectPlan/index"; |
| | | |
| | | export default { |
| | | name: "Index", |
| | |
| | | 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', { |
| | |
| | | }, |
| | | /** 查看项目计划记录 */ |
| | | handlePlanRecord(row) { |
| | | // 获得主管标志 |
| | | getManagerFlag(row.id).then(res => { |
| | | this.managerFlag = res.data; |
| | | row.managerFlag = this.managerFlag; |
| | | this.$router.push({ |
| | | path: '/projectManage/progressRecord', |
| | | query: { |
| | | data: JSON.stringify(row) |
| | | data: row |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | }; |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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-option label="请选择" :value="null"></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="null"></el-option> |
| | | <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="handleExamine" v-if="projectInfoData.managerFlag">审 批</el-button> |
| | | <el-button @click="handleCancel">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getProgressInfoList, getProgressReport, recordSubmit, saveProjectProgressFileLists, getProjectProgressForm } from "@/api/projectManage/progress/index"; |
| | | import { getProgressInfoList, getProgressReport, recordSubmit, saveProjectProgressFileLists, getProjectProgressForm, examine } from "@/api/projectManage/progress/index"; |
| | | import progressRecord from "./progressRecord.vue"; |
| | | |
| | | export default { |
| | | name: "ProgressRecord", |
| | | name: "progressRecord", |
| | | computed: { |
| | | progressRecord() { |
| | | return progressRecord |
| | |
| | | }, |
| | | 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 => { |
| | |
| | | this.search(); |
| | | }) |
| | | }, |
| | | // 审批 |
| | | handleExamine() { |
| | | examine(this.progressReportData).then(res => { |
| | | this.dialogFormVisible = false; |
| | | this.$message.success('审批成功'); |
| | | this.search(); |
| | | }) |
| | | }, |
| | | // 查看进度 |
| | | handleCheckProgress(row) { |
| | | this.dialogFormVisible = true; |
| | |
| | | } |
| | | }, |
| | | created() { |
| | | this.search(); |
| | | this.getProjectInfoData() |
| | | }, |
| | | }; |
| | | </script> |