From cf2faab021222e1e345e8098da38f2c24ea8b504 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 28 十一月 2024 06:07:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/views/projectEngineering/projectLibrary/component/investmentFunds.vue | 145 ++++-
src/views/projectEngineering/projectLibrary/index.vue | 61 -
src/views/projectManage/plan/planInfo.vue | 19
src/api/projectEngineering/projectInvestmentPolicyCompliance.js | 61 ++
src/views/projectEngineering/projectLibrary/component/legalPerson.vue | 4
src/views/projectManage/progress/progressRecord.vue | 62 +
src/api/projectEngineering/projectInvestmentFunding.js | 61 ++
src/views/projectManage/plan/index.vue | 2
src/api/projectEngineering/projectUnitRegistrationInfo.js | 61 ++
src/api/system/dept.js | 11
src/views/projectEngineering/projectLibrary/component/FileDialog.vue | 3
src/views/projectEngineering/projectLibrary/component/DocumentsInfo.vue | 3
src/api/projectEngineering/projectInvestmentInfo.js | 61 ++
/dev/null | 171 -------
src/views/projectEngineering/projectLibrary/component/PolicyInfo.vue | 3
src/api/projectEngineering/projectInfo.js | 18
src/views/projectEngineering/projectLibrary/component/BasicInfo.vue | 232 ++++++---
src/views/projectEngineering/projectLibrary/component/InvestInfo.vue | 194 ++++---
src/views/projectManage/plan/planInfoCheck.vue | 15
src/api/projectManage/progress/index.js | 9
src/views/projectEngineering/projectLibrary/projectDetails.vue | 121 ----
src/views/projectProcess/index.vue | 2
src/views/projectManage/plan/planRecord.vue | 29
23 files changed, 753 insertions(+), 595 deletions(-)
diff --git a/src/api/projectInfo.js b/src/api/projectEngineering/projectInfo.js
similarity index 65%
rename from src/api/projectInfo.js
rename to src/api/projectEngineering/projectInfo.js
index 59c3fe8..8829fc2 100644
--- a/src/api/projectInfo.js
+++ b/src/api/projectEngineering/projectInfo.js
@@ -1,7 +1,7 @@
import request from '@/utils/request'
// 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃
-export function listInfo(query) {
+export function listProject(query) {
return request({
url: '/project/info/page',
method: 'get',
@@ -10,7 +10,7 @@
}
// 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅璇︾粏
-export function getInfo(id) {
+export function getProject(id) {
return request({
url: '/project/info/' + id,
method: 'get'
@@ -18,7 +18,7 @@
}
// 鏂板椤圭洰绠$悊鍩虹淇℃伅
-export function addInfo(data) {
+export function addProject(data) {
return request({
url: '/project/info',
method: 'post',
@@ -27,7 +27,7 @@
}
// 淇敼椤圭洰绠$悊鍩虹淇℃伅
-export function updateInfo(data) {
+export function updateProject(data) {
return request({
url: '/project/info',
method: 'put',
@@ -36,9 +36,17 @@
}
// 鍒犻櫎椤圭洰绠$悊鍩虹淇℃伅
-export function delInfo(id) {
+export function delProject(id) {
return request({
url: '/project/info/' + id,
method: 'delete'
})
}
+//鑾峰彇鍚庡彴鐢熸垚鐨勯」鐩爜
+export function getProjectCode(id) {
+ return request({
+ url: '/project/info/getProjectCode',
+ method: 'get'
+ })
+}
+
diff --git a/src/api/projectEngineering/projectInvestmentFunding.js b/src/api/projectEngineering/projectInvestmentFunding.js
new file mode 100644
index 0000000..4343779
--- /dev/null
+++ b/src/api/projectEngineering/projectInvestmentFunding.js
@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 鑾峰彇椤圭洰鎶曡祫鍙婅祫閲戞潵婧愭儏鍐佃〃鍒嗛〉
+export const getProjectInvestmentFundings = (params) => {
+ return request({
+ url: "/project/investmentFunding/page",
+ method: "GET",
+ params: params
+ })
+}
+
+// 鑾峰彇椤圭洰鎶曡祫鍙婅祫閲戞潵婧愭儏鍐佃〃鍒楄〃
+export const getProjectInvestmentFundingList = () => {
+ return request({
+ url: "/project/investmentFunding/list",
+ method: "GET"
+ })
+}
+
+// 閫氳繃id鑾峰彇椤圭洰鎶曡祫鍙婅祫閲戞潵婧愭儏鍐佃〃
+export const getProjectInvestmentFundingById = (params) => {
+ return request({
+ url: "/project/investmentFunding/" + params,
+ method: "GET"
+ })
+}
+
+// 閫氳繃id鍒犻櫎椤圭洰鎶曡祫鍙婅祫閲戞潵婧愭儏鍐佃〃
+export const deleteProjectInvestmentFundingById = (params) => {
+ return request({
+ url: "/project/investmentFunding/" + params,
+ method: "DELETE"
+ })
+}
+
+// 鎵归噺鍒犻櫎椤圭洰鎶曡祫鍙婅祫閲戞潵婧愭儏鍐佃〃
+export const deleteProjectInvestmentFundingByIds = (params) => {
+ return request({
+ url: "project/investmentFunding/batch",
+ method: "DELETE",
+ data: params
+ })
+}
+
+// 淇敼椤圭洰鎶曡祫鍙婅祫閲戞潵婧愭儏鍐佃〃
+export const editProjectInvestmentFunding = (params) => {
+ return request({
+ url: "/project/investmentFunding/",
+ method: "PUT",
+ data: params
+ })
+}
+
+// 娣诲姞椤圭洰鎶曡祫鍙婅祫閲戞潵婧愭儏鍐佃〃
+export const addProjectInvestmentFunding = (params) => {
+ return request({
+ url: "/project/investmentFunding/",
+ method: "POST",
+ data: params
+ })
+}
diff --git a/src/api/projectEngineering/projectInvestmentInfo.js b/src/api/projectEngineering/projectInvestmentInfo.js
new file mode 100644
index 0000000..f04a9fd
--- /dev/null
+++ b/src/api/projectEngineering/projectInvestmentInfo.js
@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 鑾峰彇鎶曡祫椤圭洰鍩虹淇℃伅琛ㄥ垎椤�
+export const getProjectInvestmentInfos = (params) => {
+ return request({
+ url: "/project/investmentInfo/page",
+ method: "GET",
+ params: params
+ })
+}
+
+// 鑾峰彇鎶曡祫椤圭洰鍩虹淇℃伅琛ㄥ垪琛�
+export const getProjectInvestmentInfoList = () => {
+ return request({
+ url: "/project/investmentInfo/list",
+ method: "GET"
+ })
+}
+
+// 閫氳繃id鑾峰彇鎶曡祫椤圭洰鍩虹淇℃伅琛�
+export const getProjectInvestmentInfoById = (params) => {
+ return request({
+ url: "/project/investmentInfo/" + params,
+ method: "GET"
+ })
+}
+
+// 閫氳繃id鍒犻櫎鎶曡祫椤圭洰鍩虹淇℃伅琛�
+export const deleteProjectInvestmentInfoById = (params) => {
+ return request({
+ url: "/project/investmentInfo/" + params,
+ method: "DELETE"
+ })
+}
+
+// 鎵归噺鍒犻櫎鎶曡祫椤圭洰鍩虹淇℃伅琛�
+export const deleteProjectInvestmentInfoByIds = (params) => {
+ return request({
+ url: "/project/investmentInfo/batch",
+ method: "DELETE",
+ data: params
+ })
+}
+
+// 淇敼鎶曡祫椤圭洰鍩虹淇℃伅琛�
+export const editProjectInvestmentInfo = (params) => {
+ return request({
+ url: "/project/investmentInfo/",
+ method: "PUT",
+ data: params
+ })
+}
+
+// 娣诲姞鎶曡祫椤圭洰鍩虹淇℃伅琛�
+export const addProjectInvestmentInfo = (params) => {
+ return request({
+ url: "/project/investmentInfo/",
+ method: "POST",
+ data: params
+ })
+}
diff --git a/src/api/projectEngineering/projectInvestmentPolicyCompliance.js b/src/api/projectEngineering/projectInvestmentPolicyCompliance.js
new file mode 100644
index 0000000..d0b9b9c
--- /dev/null
+++ b/src/api/projectEngineering/projectInvestmentPolicyCompliance.js
@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 鑾峰彇鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌琛ㄥ垎椤�
+export const getProjectInvestmentPolicyCompliances = (params) => {
+ return request({
+ url: "/project/investmentPolicyCompliance/page",
+ method: "GET",
+ params: params
+ })
+}
+
+// 鑾峰彇鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌琛ㄥ垪琛�
+export const getProjectInvestmentPolicyComplianceList = () => {
+ return request({
+ url: "project/investmentPolicyCompliance/list",
+ method: "GET"
+ })
+}
+
+// 閫氳繃id鑾峰彇鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌琛�
+export const getProjectInvestmentPolicyComplianceById = (params) => {
+ return request({
+ url: "/project/investmentPolicyCompliance/" + params,
+ method: "GET"
+ })
+}
+
+// 閫氳繃id鍒犻櫎鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌琛�
+export const deleteProjectInvestmentPolicyComplianceById = (params) => {
+ return request({
+ url: "/project/investmentPolicyCompliance/" + params,
+ method: "DELETE"
+ })
+}
+
+// 鎵归噺鍒犻櫎鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌琛�
+export const deleteProjectInvestmentPolicyComplianceByIds = (params) => {
+ return request({
+ url: "/project/investmentPolicyCompliance/batch",
+ method: "DELETE",
+ data: params
+ })
+}
+
+// 淇敼鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌琛�
+export const editProjectInvestmentPolicyCompliance = (params) => {
+ return request({
+ url: "/project/investmentPolicyCompliance/",
+ method: "PUT",
+ data: params
+ })
+}
+
+// 娣诲姞鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌琛�
+export const addProjectInvestmentPolicyCompliance = (params) => {
+ return request({
+ url: "/project/investmentPolicyCompliance/",
+ method: "POST",
+ data: params
+ })
+}
diff --git a/src/api/projectEngineering/projectUnitRegistrationInfo.js b/src/api/projectEngineering/projectUnitRegistrationInfo.js
new file mode 100644
index 0000000..2be1ab0
--- /dev/null
+++ b/src/api/projectEngineering/projectUnitRegistrationInfo.js
@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 鑾峰彇椤圭洰锛堟硶浜猴級鍗曚綅鐧昏淇℃伅琛ㄥ垎椤�
+export const getProjectUnitRegistrationInfos = (params) => {
+ return request({
+ url: "/project/unitRegistrationInfo/page",
+ method: "GET",
+ params: params
+ })
+}
+
+// 鑾峰彇椤圭洰锛堟硶浜猴級鍗曚綅鐧昏淇℃伅琛ㄥ垪琛�
+export const getProjectUnitRegistrationInfoList = () => {
+ return request({
+ url: "/project/unitRegistrationInfo/list",
+ method: "GET"
+ })
+}
+
+// 閫氳繃id鑾峰彇椤圭洰锛堟硶浜猴級鍗曚綅鐧昏淇℃伅琛�
+export const getProjectUnitRegistrationInfoById = (params) => {
+ return request({
+ url: "/project/unitRegistrationInfo/" + params,
+ method: "GET"
+ })
+}
+
+// 閫氳繃id鍒犻櫎椤圭洰锛堟硶浜猴級鍗曚綅鐧昏淇℃伅琛�
+export const deleteProjectUnitRegistrationInfoById = (params) => {
+ return request({
+ url: "/project/unitRegistrationInfo/" + params,
+ method: "DELETE"
+ })
+}
+
+// 鎵归噺鍒犻櫎椤圭洰锛堟硶浜猴級鍗曚綅鐧昏淇℃伅琛�
+export const deleteProjectUnitRegistrationInfoByIds = (params) => {
+ return request({
+ url: "/project/unitRegistrationInfo/batch",
+ method: "DELETE",
+ data: params
+ })
+}
+
+// 淇敼椤圭洰锛堟硶浜猴級鍗曚綅鐧昏淇℃伅琛�
+export const editProjectUnitRegistrationInfo = (params) => {
+ return request({
+ url: "/project/unitRegistrationInfo/",
+ method: "PUT",
+ data: params
+ })
+}
+
+// 娣诲姞椤圭洰锛堟硶浜猴級鍗曚綅鐧昏淇℃伅琛�
+export const addProjectUnitRegistrationInfo = (params) => {
+ return request({
+ url: "/project/unitRegistrationInfo/",
+ method: "POST",
+ data: params
+ })
+}
diff --git a/src/api/projectManage/progress/index.js b/src/api/projectManage/progress/index.js
index 6e1b5e7..e5c2eda 100644
--- a/src/api/projectManage/progress/index.js
+++ b/src/api/projectManage/progress/index.js
@@ -41,5 +41,14 @@
})
}
+// 鎻愪氦涓婃姤鍐呭
+export function recordSubmit(data) {
+ return request({
+ url: '/api/project-plan-progress-report',
+ method: 'post',
+ data: data
+ })
+}
+
diff --git a/src/api/system/dept.js b/src/api/system/dept.js
index fc943cd..0c4e4b6 100644
--- a/src/api/system/dept.js
+++ b/src/api/system/dept.js
@@ -49,4 +49,13 @@
url: '/system/dept/' + deptId,
method: 'delete'
})
-}
\ No newline at end of file
+}
+
+// 鏌ヨ瀹℃壒绔儴闂�
+export function approvalList(query) {
+ return request({
+ url: '/system/dept/approvalList',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue b/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue
index 54d9aca..1319e34 100644
--- a/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue
+++ b/src/views/projectEngineering/projectLibrary/component/BasicInfo.vue
@@ -1,25 +1,27 @@
<template>
<div class="basic-info">
- <el-form ref="demoFormRef" :disabled="disabled" :model="projectForm" :rules="rules" class="dialog_form">
+ <el-form ref="projectForm" :disabled="disabled" :model="projectForm" :rules="rules" class="dialog_form">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item class="item" label="椤圭洰鍚嶇О" label-width="100px" prop="projectName">
- <el-input v-model.trim="projectForm.projectName" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="projectForm.projectName" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="item" label="椤圭洰浠g爜" label-width="100px" prop="projectCode">
- <el-input v-model.trim="projectForm.projectCode" class="item" clearable disabled maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="projectForm.projectCode" class="item" clearable disabled maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="12" style="position: relative">
- <div style="width: 150px; position: absolute;"><img alt="" src="../../../../assets/images/s.png" /></div>
+ <div style="width: 150px; position: absolute;"><img alt="" src="../../../../assets/images/s.png"/></div>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item class="item" label="寤鸿鍐呭" label-width="100px" prop="content">
- <el-input v-model.trim="projectForm.content" style="width: 100%;" clearable maxlength="255" placeholder="璇疯緭鍏�" type="textarea" />
+ <el-input v-model.trim="projectForm.content" style="width: 100%;" clearable maxlength="255"
+ placeholder="璇疯緭鍏�" type="textarea"/>
</el-form-item>
</el-col>
</el-row>
@@ -42,14 +44,15 @@
</el-col>
<el-col :span="6">
<el-form-item label="椤圭洰闃舵" label-width="100px" prop="fundsType" style="width: 100%">
- <el-input v-model.trim="projectForm.projectPhase" class="item" clearable disabled maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="projectForm.projectPhase" class="item" clearable disabled maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="椤圭洰绫诲瀷" label-width="100px" prop="projectType" style="width: 100%">
- <el-select v-model="projectForm.projectType" clearable placeholder="璇烽�夋嫨" style="width: 100%" >
+ <el-select v-model="projectForm.projectType" clearable placeholder="璇烽�夋嫨" style="width: 100%">
<el-option v-for="item in dict.type.sys_project_type" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
@@ -57,7 +60,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="椤圭洰鐘舵��" label-width="100px" prop="projectstatus" style="width: 100%">
- <el-select v-model="projectForm.projectStatus"clearable placeholder="璇烽�夋嫨" style="width: 100%">
+ <el-select v-model="projectForm.projectStatus" clearable placeholder="璇烽�夋嫨" style="width: 100%">
<el-option v-for="item in dict.type.sys_project_status" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
@@ -65,28 +68,31 @@
</el-col>
<el-col :span="6">
<el-form-item label="椤圭洰涓氫富鍗曚綅" label-width="100px" prop="projectOwnerUnit" style="width: 100%">
- <el-input v-model.trim="projectForm.projectOwnerUnit" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="projectForm.projectOwnerUnit" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
- <el-form-item label="椤圭洰鑱旂郴浜�" label-width="100px" prop="projectContactPerson" style="width: 100%">
- <el-input v-model.trim="projectForm.projectContactPerson" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-form-item label="椤圭洰鑱旂郴浜�" label-width="100px" prop="projectContactPerson" style="width: 100%">
+ <el-input v-model.trim="projectForm.projectContactPerson" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="鑱旂郴鏂瑰紡" label-width="100px" prop="contact" style="width: 100%">
- <el-input v-model.trim="projectForm.contact" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="projectForm.contact" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<!-- TODO锛氭殏鏃朵笉鍋� -->
<el-form-item label="鍏宠仈宸ョ▼" label-width="100px" prop="engineering" style="width: 100%">
<!-- <el-input v-model.trim="getEngineeringName" class="item" clearable disabled maxlength="255" placeholder="璇峰湪宸ョ▼涓�夋嫨椤圭洰" />-->
- <el-select v-model="projectForm.engineeringIdList" :multiple="true" collapse-tags placeholder="璇烽�夋嫨" style="width: 100%">
- <el-option v-for="item in selectOptions" :key="item.id" :label="item.engineeringName" :value="item.id" />
-<!-- <RemoteSelect v-if="selectOptions.length" :hasMore="hasMore" :loading="loading" :page="page" @loadMore="handleLoadMore" />-->
+ <el-select v-model="projectForm.engineeringIdList" :multiple="true" collapse-tags placeholder="璇烽�夋嫨"
+ style="width: 100%">
+ <el-option v-for="item in selectOptions" :key="item.id" :label="item.engineeringName" :value="item.id"/>
+ <!-- <RemoteSelect v-if="selectOptions.length" :hasMore="hasMore" :loading="loading" :page="page" @loadMore="handleLoadMore" />-->
</el-select>
</el-form-item>
</el-col>
@@ -102,8 +108,12 @@
style="width: 100%"
collapse-tags
@change="changeDepartment">
- <el-option v-for="item in dict.type.sys_competent_department" :key="item.value" :label="item.label"
- :value="item.value"/>
+ <el-option
+ v-for="item in approvalList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.value"
+ />
</el-select>
</el-form-item>
</el-col>
@@ -114,7 +124,7 @@
clearable
placeholder="璇烽�夋嫨"
style="width: 100%"
- >
+ >
<el-option v-for="item in dict.type.sys_administrative_divisions" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
@@ -152,9 +162,9 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="鎸夌洰褰�" label-width="100px" style="width: 100%">
- <el-input v-model="largeCategory" clearable disabled placeholder="璇烽�夋嫨澶х被" style="width: 49%" />
- <el-input v-model="subclass" clearable disabled placeholder="璇烽�夋嫨灏忕被" style="width: 49%;margin-left: 2%" />
+ <el-form-item label="鎶曡祫绫诲埆" label-width="100px" style="width: 100%">
+ <el-input v-model="largeCategory" clearable disabled placeholder="璇烽�夋嫨澶х被" style="width: 49%"/>
+ <el-input v-model="subclass" clearable disabled placeholder="璇烽�夋嫨灏忕被" style="width: 49%;margin-left: 2%"/>
</el-form-item>
</el-col>
<el-col :span="6">
@@ -174,34 +184,51 @@
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="绔嬮」鏃堕棿" label-width="100px" prop="setTime" style="width: 100%">
- <el-date-picker v-model="setTime" placeholder="閫夋嫨鏃堕棿" style="width: 100%" type="date" @change="chaneApproval" />
+ <el-date-picker v-model="projectForm.createProjectTime"
+ placeholder="閫夋嫨鏃堕棿"
+ style="width: 100%"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="璁″垝寮�宸ユ椂闂�" label-width="100px" style="width: 100%">
- <el-date-picker v-model="planStartTime" placeholder="閫夋嫨鏃堕棿" style="width: 100%" type="date" @change="chaneStartWork" />
+ <el-date-picker v-model="projectForm.planStartTime "
+ placeholder="閫夋嫨鏃堕棿"
+ style="width: 100%"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="璁″垝绔e伐鏃堕棿" label-width="100px" style="width: 100%">
- <el-date-picker v-model="planCompleteTime" placeholder="閫夋嫨鏃堕棿" style="width: 100%" type="date" @change="chaneCompleted" />
+ <el-date-picker v-model="projectForm.planCompleteTime "
+ placeholder="閫夋嫨鏃堕棿"
+ style="width: 100%"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="涓爣鍗曚綅" label-width="100px" prop="setTime" style="width: 100%">
- <el-input v-model.trim="projectForm.winUnit" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="projectForm.winUnit" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="涓爣閲戦" label-width="100px" style="width: 100%">
- <el-input v-model.trim="projectForm.winAmount" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" type="number" />
+ <el-input v-model.trim="projectForm.winAmount" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"
+ type="number"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="涓爣鏃堕棿" label-width="100px" style="width: 100%">
- <el-date-picker v-model="winTime" placeholder="閫夋嫨鏃堕棿" style="width: 100%" type="date" @change="chaneWinTime" />
+ <el-date-picker v-model="projectForm.winTime"
+ placeholder="閫夋嫨鏃堕棿"
+ style="width: 100%"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"/>
</el-form-item>
</el-col>
</el-row>
@@ -221,7 +248,8 @@
</el-col>
<el-col :span="6">
<el-form-item label="骞村害鎶曡祫閲戦" label-width="100px" prop="company" style="width: 100%; min-width: 260px">
- <el-input v-model.trim="projectForm.yearInvestAmount" clearable maxlength="255" placeholder="璇疯緭鍏�" style="width: 90%" type="number" />
+ <el-input v-model.trim="projectForm.yearInvestAmount" clearable maxlength="255" placeholder="璇疯緭鍏�"
+ style="width: 90%" type="number"/>
<span style="margin-left: 2px">鍏�</span>
</el-form-item>
</el-col>
@@ -230,9 +258,10 @@
<el-col :span="18">
<el-form-item label="椤圭洰鍦板潃:" label-width="100px" prop="medicalAddr" style="width: 100%">
<div class="input-row">
- <el-input v-model.trim="projectForm.address" class="input-item" disabled maxlength="255" placeholder="璇疯緭鍏�"></el-input>
+ <el-input v-model.trim="projectForm.projectAddress" class="input-item" disabled maxlength="255"
+ placeholder="璇疯緭鍏�"></el-input>
<div v-if="!disabled" class="map-btn" @click="dialogMap = true">
- <img alt="" src="@/assets/images/positionl.png" />
+ <img alt="" src="@/assets/images/positionl.png"/>
</div>
</div>
</el-form-item>
@@ -241,7 +270,7 @@
<el-row :gutter="0">
<el-col :span="18">
<el-form-item label="瀹℃壒璁″垝涔�:" label-width="100px" prop="medicalAddr" style="width: 100%">
- <file-upload v-model="projectList"
+ <file-upload v-model="projectForm.fileList"
:fileType="accept"
:isShowTip="false"/>
</el-form-item>
@@ -271,11 +300,13 @@
// import { usePlanLibrary } from '@/hooks/detailsInformation';
// import { getList } from '@/api/engineeringLibrary/index';
// import RemoteSelect from '@/components/RemoteSelect/index.vue';
-import { formatDate } from '@/utils';
+import Cookies from "js-cookie";
+import {addProject, getProject, updateProject, getProjectCode} from '@/api/projectEngineering/projectInfo';
+import {approvalList} from "@/api/system/dept";
export default {
- dicts: ['sys_funding_type', 'sys_investment_type', 'sys_project_type', 'sys_project_status','sys_competent_department'
- ,'sys_administrative_divisions','sys_centralized_management','sys_approval_type','sys_key_categories','sys_annual_plan'],
+ dicts: ['sys_funding_type', 'sys_investment_type', 'sys_project_type', 'sys_project_status', 'sys_competent_department'
+ , 'sys_administrative_divisions', 'sys_centralized_management', 'sys_approval_type', 'sys_key_categories', 'sys_annual_plan'],
components: {
Map,
// UploadStandard,
@@ -290,6 +321,7 @@
data() {
return {
projectForm: {
+ id: '',
projectName: '',
projectCode: '',
projectType: '',
@@ -315,7 +347,7 @@
winTime: '',
winUnit: '',
winAmount: '',
- address: '',
+ projectAddress: '',
engineeringIdList: [],
content: '',
contact: '',
@@ -323,77 +355,117 @@
planStartTime: '',
planCompleteTime: '',
projectContactPerson: '',
- fileIdList: [],
- sysOssVos: [],
+ fileList: [],
engineeringInfos: [],
year: '',
yearInvestAmount: '',
competentDepartmentList: [],
managementCentralizationList: []
},
+ approvalList: [],
setTime: '',
planStartTime: '',
planCompleteTime: '',
winTime: '',
- projectList: [],
dialogMap: false,
page: 1,
loading: false,
hasMore: true,
selectOptions: [],
- accept: ['pdf', 'docx', 'xlsx', 'jpg','jpeg'],
+ accept: ['pdf', 'docx', 'xlsx', 'jpg', 'jpeg'],
largeCategory: '',
subclass: '',
mapCreateInfo: {},
demoFormRef: null,
rules: {
- projectName: [{ required: true, message: '璇疯緭鍏ラ」鐩悕绉�', trigger: 'blur' }]
+ projectName: [{required: true, message: '璇疯緭鍏ラ」鐩悕绉�', trigger: 'blur'}]
}
};
},
computed: {
- dialogMapList () {
+ dialogMapList() {
return [{
- addr: this.projectForm.address,
+ addr: this.projectForm.projectAddress,
name: '鍒涘缓'
}];
},
},
- created() {
- this.handleLoadMore(1);
+ mounted() {
+ this.projectForm.id = this.$route.query.projectId;
+ const projectForm = Cookies.get("projectForm");
+ if (projectForm) {
+ this.projectForm = JSON.parse(projectForm);
+ } else {
+ //鍒濆鍖栦富绠¢儴闂ㄤ笅鎷夋
+ this.getApprovalList();
+ // 鍦ㄧ粍浠跺垱寤烘椂鑾峰彇椤圭洰淇℃伅锛屽鏋� projectId 瀛樺湪
+ if (this.projectForm.id) {
+ this.getProjectInfo(this.projectForm.id);
+ } else {
+ this.getProjectCodeApi();
+ }
+ // this.handleLoadMore(1);
+ }
+ },
+ beforeDestroy() {
+ Cookies.set("projectForm", JSON.stringify(this.projectForm));
},
methods: {
+ getProjectInfo(id) {
+ getProject(id).then(res => {
+ this.projectForm = res.data;
+ });
+ },
+ getApprovalList() {
+ approvalList().then(res => {
+ this.approvalList = res.data;
+ });
+ },
+ submit() {
+ this.$refs["projectForm"].validate(valid => {
+ if (valid) {
+ if (this.projectForm.id != null) {
+ updateProject(this.projectForm).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ //璺宠浆鍒颁笅涓粍浠�
+ this.$emit('toNext', 1);
+ });
+ } else {
+ addProject(this.projectForm).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.projectForm.id = response.data
+ //璺宠浆鍒颁笅涓粍浠�
+ this.$emit('toNext', 1);
+ });
+ }
+ }
+ });
+ },
+ getProjectCodeApi() {
+ getProjectCode().then(res => {
+ this.projectForm.projectCode = res.data;
+ });
+ },
changeDepartment(val) {
if (!val.length) {
this.largeCategory = '';
return;
}
- const labels = this.sysDepartment.filter(item => val.includes(item.value)).map(item => item.label);
+ const labels = this.approvalList.filter(item => val.includes(item.id)).map(item => item.value);
this.largeCategory = labels.join(',');
},
changePutUnder(val) {
- // 鍚� changeDepartment 鏂规硶
- },
- chaneApproval(val) {
- if (!val) return;
- this.projectForm.setTime = formatDate(val);
- },
- chaneCompleted(val) {
- if (!val) return;
- this.projectForm.planCompleteTime = formatDate(val);
- },
- chaneWinTime(val) {
- if (!val) return;
- this.projectForm.winTime = formatDate(val);
- },
- chaneStartWork(val) {
- if (!val) return;
- this.projectForm.planStartTime = formatDate(val);
+ if (!val.length) {
+ this.subclass = '';
+ return;
+ }
+ const labels = this.dict.type.sys_centralized_management.filter(item => val.includes(item.value)).map(item => item.label);
+ this.subclass = labels.join(',');
},
async loadDataList(newPage) {
try {
this.loading = true;
- const res = await getList({ pageNum: newPage, pageSize: 10000 });
+ const res = await getList({pageNum: newPage, pageSize: 10000});
const list = res.rows || [];
if (newPage === 1) {
this.selectOptions = [];
@@ -420,33 +492,23 @@
},
mapCreateClick() {
console.log("鍒涘缓")
- const { lon, lat, addr } = this.mapCreateInfo;
+ const {lon, lat, addr} = this.mapCreateInfo;
if (lon && lat && addr) {
this.projectForm.longitude = lon;
this.projectForm.latitude = lat;
- this.projectForm.address = addr;
+ this.projectForm.projectAddress = addr;
this.$message.success('鑾峰彇鍦板潃鎴愬姛');
this.dialogMap = false;
} else {
this.$message.error('鑾峰彇鍧愭爣澶辫触');
}
},
- handleRemove(file) {
- if (file) {
- this.projectForm.fileIdList = this.projectList.map(item => item.fileId);
- localStorage.setItem('projectList', JSON.stringify(file));
- }
- },
- handleAdd(file) {
- if (file) {
- localStorage.setItem('projectList', JSON.stringify(file));
- }
- }
+
},
watch: {
'projectForm.managementCentralizationList'(val) {
if (val) {
- const labels = this.sysCentralizedManagement
+ const labels = this.dict.type.sys_centralized_management
.filter(item => val.includes(item.value))
.map(item => item.label);
this.subclass = labels.join(',');
@@ -454,20 +516,12 @@
},
'projectForm.competentDepartmentList'(val) {
if (val) {
- const labels = this.sysDepartment
- .filter(item => val.includes(item.value))
- .map(item => item.label);
+ const labels = this.approvalList
+ .filter(item => val.includes(item.id))
+ .map(item => item.value);
this.largeCategory = labels.join(',');
}
},
- projectList: {
- handler(val) {
- if (val) {
- this.projectForm.fileIdList = val.map(item => item.fileId);
- }
- },
- deep: true
- }
}
};
</script>
@@ -476,10 +530,12 @@
.item {
width: 100%;
}
+
.map_div {
width: 100%;
height: 643px;
}
+
.input-row {
display: flex;
width: 100%;
diff --git a/src/views/projectEngineering/projectLibrary/component/DocumentsInfo.vue b/src/views/projectEngineering/projectLibrary/component/DocumentsInfo.vue
index f599c38..fd71b70 100644
--- a/src/views/projectEngineering/projectLibrary/component/DocumentsInfo.vue
+++ b/src/views/projectEngineering/projectLibrary/component/DocumentsInfo.vue
@@ -41,6 +41,9 @@
}
},
methods: {
+ submit() {
+ console.log("鏂囦欢submit")
+ },
handleRemove(file) {
if (file) {
this.fileIdList = this.documentsInfoList.map(item => item.fileId);
diff --git a/src/views/projectEngineering/projectLibrary/component/FileDialog.vue b/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
index 443aee5..15b09ec 100644
--- a/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
+++ b/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
@@ -85,6 +85,9 @@
};
},
methods: {
+ submit() {
+ console.log("瀛愮粍浠秙ubmit")
+ },
handleFileUploadProgress() {
this.uploadIsUploading = true;
},
diff --git a/src/views/projectEngineering/projectLibrary/component/InvestInfo.vue b/src/views/projectEngineering/projectLibrary/component/InvestInfo.vue
index 7b22b12..beda437 100644
--- a/src/views/projectEngineering/projectLibrary/component/InvestInfo.vue
+++ b/src/views/projectEngineering/projectLibrary/component/InvestInfo.vue
@@ -1,25 +1,26 @@
<template>
<div class="basic-info">
- <el-form ref="demoFormRef" :disabled="disabled" :model="investment" class="dialog_form">
+ <el-form ref="demoFormRef" :disabled="disabled" :model="investmentForm" class="dialog_form">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="寤鸿鍦扮偣鏄惁璺ㄥ煙" label-width="120px" prop="fundsType" style="width: 100%">
<el-select
- v-model="investment.beCrossRegion"
+ v-model="investmentForm.beCrossRegion"
clearable
placeholder="璇烽�夋嫨"
style="width: 100%"
>
<el-option v-for="item in dict.type.sys_cross_domain" :key="item.value" :label="item.label"
- :value="item.value"/>
+ :value="parseInt(item.value)"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="椤圭洰寤鸿鍦扮偣" label-width="120px" prop="investmentType" style="width: 100%">
<el-select
- v-model="investment.constructionLocation"
+ v-model="investmentForm.constructionLocation"
clearable
+ disabled
placeholder="璇烽�夋嫨"
style="width: 100%"
>
@@ -30,7 +31,8 @@
</el-col>
<el-col :span="6">
<el-form-item label="寤鸿璇︾粏鍦板潃" label-width="120px" prop="fundsType" style="width: 100%">
- <el-input v-model.trim="investment.detailedAddress" class="item" clearable disabled maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentForm.detailedAddress" class="item" clearable disabled maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
@@ -38,44 +40,54 @@
<el-col :span="6">
<el-form-item label="鏄惁鏄ˉ鐮侀」鐩�" label-width="120px" prop="projectType" style="width: 100%">
<el-select
- v-model="investment.beCompensationProject"
+ v-model="investmentForm.beCompensationProject"
clearable
placeholder="璇烽�夋嫨"
style="width: 100%"
>
<el-option v-for="item in dict.type.sys_whether_project" :key="item.value" :label="item.label"
- :value="item.value"/>
+ :value="parseInt(item.value)"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="琛ョ爜鍘熷洜" label-width="120px" prop="projectstatus" style="width: 100%">
- <el-input v-model.trim="investment.compensationReason" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentForm.compensationReason" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="璁″垝寮�宸ユ椂闂�" label-width="120px" prop="plannedStartDate" style="width: 100%">
- <!-- <el-date-picker v-model="plannedStartDate" placeholder="閫夋嫨鏃堕棿" style="width: 100%" type="date" @change="chaneStartWork" />-->
- <el-input v-model.trim="plannedStartDate" class="item" clearable disabled maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-date-picker v-model="investmentForm.plannedStartDate"
+ placeholder="閫夋嫨鏃堕棿"
+ style="width: 100%"
+ disabled
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="鎷熷缓鎴愭椂闂�" label-width="120px" prop="expectedCompletionDate" style="width: 100%">
- <!-- <el-date-picker v-model="expectedCompletionDate" placeholder="閫夋嫨鏃堕棿" style="width: 100%" type="date" @change="chaneCompleted" />-->
- <el-input v-model.trim="expectedCompletionDate" class="item" clearable disabled maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-date-picker
+ v-model="investmentForm.expectedCompletionDate"
+ placeholder="閫夋嫨鏃堕棿"
+ disabled
+ style="width: 100%"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="鍥介檯琛屼笟鍒嗙被" label-width="120px" prop="engineering" style="width: 100%">
<el-select
- v-model="investment.nationalIndustryClassification"
+ v-model="investmentForm.nationalIndustryClassification"
clearable
placeholder="璇烽�夋嫨"
style="width: 100%"
>
- <el-option v-for="item in dict.type.sys_whether_project" :key="item.value" :label="item.label"
+ <el-option v-for="item in dict.type.sys_industry_classification" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
@@ -84,13 +96,14 @@
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="鎵�灞炶涓氬垎绫�" label-width="120px" prop="department" style="width: 100%">
- <el-input v-model.trim="investment.industryClassification" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentForm.industryClassification" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="椤圭洰寤烘垚鎬ц川" label-width="120px" prop="design" style="width: 100%">
<el-select
- v-model="investment.projectNature"
+ v-model="investmentForm.projectNature"
clearable
placeholder="璇烽�夋嫨"
style="width: 100%"
@@ -103,7 +116,7 @@
<el-col :span="6">
<el-form-item label="椤圭洰灞炴��" label-width="120px" prop="putUnder" style="width: 100%">
<el-select
- v-model="investment.projectAttribute"
+ v-model="investmentForm.projectAttribute"
clearable
placeholder="璇烽�夋嫨"
style="width: 100%"
@@ -118,13 +131,13 @@
<el-col :span="18">
<el-form-item label="鏄惁浣跨敤鍦熷湴" label-width="120px" prop="approvalType" style="width: 100%">
<el-select
- v-model="investment.useEarth"
+ v-model="investmentForm.useEarth"
clearable
placeholder="璇烽�夋嫨"
style="width: 100%"
>
<el-option v-for="item in dict.type.sys_whether_project" :key="item.value" :label="item.label"
- :value="item.value"/>
+ :value="parseInt(item.value)"/>
</el-select>
</el-form-item>
</el-col>
@@ -132,14 +145,17 @@
<el-row :gutter="20">
<el-col :span="18">
<el-form-item class="item" label="涓昏寤鸿鍐呭鍙婅妯�" label-width="120px" prop="content">
- <el-input v-model.trim="investment.contentScale" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" type="textarea" />
+ <el-input v-model.trim="investmentForm.contentScale" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"
+ type="textarea"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item class="item" label="寤虹骞冲彴浠g爜" label-width="120px" prop="content">
- <el-input v-model.trim="investment.code" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" type="textarea" />
+ <el-input v-model.trim="investmentForm.code" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�"
+ type="textarea"/>
</el-form-item>
</el-col>
</el-row>
@@ -148,10 +164,15 @@
</template>
<script>
-import { formatDate } from '@/utils';
+import Cookies from "js-cookie";
+import {
+ addProjectInvestmentInfo,
+ editProjectInvestmentInfo,
+ getProjectInvestmentInfoById
+} from "@/api/projectEngineering/projectInvestmentInfo";
export default {
- dicts: ['sys_cross_domain','sys_administrative_divisions','sys_whether_project','sys_industry_belong','sys_project_attributes'],
+ dicts: ['sys_cross_domain', 'sys_industry_classification', 'sys_administrative_divisions', 'sys_whether_project', 'sys_industry_belong', 'sys_project_attributes'],
name: 'InvestmentForm',
props: {
disabled: {
@@ -162,7 +183,9 @@
},
data() {
return {
- investment: {
+ projectForm: {},
+ investmentForm: {
+ id: '',
beCrossRegion: '',
constructionLocation: '',
detailedAddress: '',
@@ -177,49 +200,7 @@
useEarth: '',
contentScale: '',
code: '',
- projectId: ''
- },
- projectForm: {
- projectName: '',
- projectCode: '',
- projectType: '',
- projectStatus: '1',
- fundType: '',
- investType: '',
- importanceType: '',
- projectPhase: '鍌ㄥ瑙勫垝闃舵',
- tag: '',
- competentDepartment: '',
- projectLocation: '',
- longitude: '',
- latitude: '',
- managementCentralization: '',
- projectApplicationPhase: '',
- projectApprovalType: '',
- investmentCatalogue: '',
- approvalPlan: '',
- isSetProject: '',
- setTime: '',
- assignmentStatus: '',
- area: '',
- winTime: '',
- winUnit: '',
- winAmount: '',
- address: '',
- engineeringIdList: [],
- content: '',
- contact: '',
- projectOwnerUnit: '',
- planStartTime: '',
- planCompleteTime: '',
- projectContactPerson: '',
- fileIdList: [],
- sysOssVos: [],
- engineeringInfos: [],
- year: '',
- yearInvestAmount: '',
- competentDepartmentList: [],
- managementCentralizationList: []
+ projectId: '',
},
plannedStartDate: '',
expectedCompletionDate: '',
@@ -232,34 +213,67 @@
};
},
mounted() {
- this.updateFormData();
+ this.investmentForm.projectId = this.$route.query.projectId
+ // 浠嶤ookies涓幏鍙栫紦瀛樻暟鎹�
+ const investmentForm = Cookies.get("investmentForm");
+ const projectForm = Cookies.get("projectForm");
+
+ // 灏濊瘯瑙f瀽JSON鏁版嵁
+ const parsedInvestmentForm = investmentForm ? JSON.parse(investmentForm) : null;
+ const parsedProjectForm = projectForm ? JSON.parse(projectForm) : null;
+
+ // 璁剧疆investment鍜宲rojectForm瀵硅薄
+ if(parsedInvestmentForm) {
+ this.investmentForm = parsedInvestmentForm;
+ }
+ if(parsedProjectForm) {
+ this.projectForm = parsedProjectForm;
+ }
+ // 濡傛灉璺敱瀛樺湪id涓旀病鏈夌紦瀛橈紝瑙嗕负缂栬緫鎴栨煡鐪嬶紝璋冪敤api
+ if (this.investmentForm.projectId && !investmentForm) {
+ this.getInvestment();
+ }
+ this.investmentForm.constructionLocation = this.projectForm.area;
+ this.investmentForm.detailedAddress = this.projectForm.projectAddress;
+ this.investmentForm.plannedStartDate = this.projectForm.planStartTime;
+ this.investmentForm.expectedCompletionDate = this.projectForm.planCompleteTime;
+ },
+ beforeDestroy() {
+ Cookies.set("investmentForm", JSON.stringify(this.investmentForm));
},
methods: {
- chaneCompleted(val) {
- if (!val) return;
- this.investment.expectedCompletionDate = formatDate(val);
+ getInvestment() {
+ getProjectInvestmentInfoById(this.investmentForm.projectId ).then(res => {
+ this.investmentForm = res.data;
+ this.investmentForm.constructionLocation = this.projectForm.area;
+ this.investmentForm.detailedAddress = this.projectForm.projectAddress;
+ this.investmentForm.plannedStartDate = this.projectForm.planStartTime;
+ this.investmentForm.expectedCompletionDate = this.projectForm.planCompleteTime;
+ });
},
- chaneStartWork(val) {
- if (!val) return;
- this.investment.plannedStartDate = formatDate(val);
+ submit() {
+ if (!this.projectForm.id) {
+ this.$message.error("璇峰厛淇濆瓨鎶曡祫绠$悊鍩烘湰淇℃伅")
+ } else {
+ this.investmentForm.projectId = this.projectForm.id;
+ if (this.investmentForm.id != null) {
+ editProjectInvestmentInfo(this.investmentForm).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ //璺宠浆鍒颁笅涓粍浠�
+ this.$emit('toNext', 2);
+ });
+ } else {
+ addProjectInvestmentInfo(this.investmentForm).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.investmentForm.id = response.data
+ //璺宠浆鍒颁笅涓粍浠�
+ this.$emit('toNext', 2);
+ });
+ }
+ }
},
- updateFormData() {
- if(this.projectForm) {
- this.plannedStartDate = this.projectForm.planStartTime.slice(0, 10);
- this.expectedCompletionDate = this.projectForm.planCompleteTime.slice(0, 10);
- this.investment.constructionLocation = this.projectForm.area;
- this.investment.detailedAddress = this.projectForm.address;
- }
- }
- },
- watch: {
- projectForm: {
- deep: true,
- handler() {
- this.updateFormData();
- }
- }
}
+
};
</script>
diff --git a/src/views/projectEngineering/projectLibrary/component/PolicyInfo.vue b/src/views/projectEngineering/projectLibrary/component/PolicyInfo.vue
index 33598ab..2aa6cf7 100644
--- a/src/views/projectEngineering/projectLibrary/component/PolicyInfo.vue
+++ b/src/views/projectEngineering/projectLibrary/component/PolicyInfo.vue
@@ -195,6 +195,9 @@
}
},
methods: {
+ submit() {
+ console.log("鏀跨瓥submit")
+ },
handleRemove(file) {
if (file) {
this.investmentProjectPolicyComplianceDTO.fileIdList = this.fileList.map(item => item.fileId);
diff --git a/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue b/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue
index c0ae3d7..9896aa8 100644
--- a/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue
+++ b/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue
@@ -1,161 +1,188 @@
<template>
<div class="basic-info">
- <el-form ref="demoFormRef" :disabled="disabled" :model="investmentFunds" class="dialog_form">
+ <el-form ref="demoFormRef" :disabled="disabled" :model="investmentFundsForm" class="dialog_form">
<!-- 淇濇寔鍘熸湁妯℃澘鍐呭涓嶅彉 -->
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="椤圭洰鎬绘姇璧勯" label-width="130px" prop="fundsType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.totalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.totalInvestment" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="椤圭洰鏈噾" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.principal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.principal" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="涓�銆佹斂搴滄姇璧�" label-width="130px" prop="projectType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.governmentInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.governmentInvestmentTotal" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="锛堜竴锛変腑澶姇璧�" label-width="130px" prop="projectType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.centralInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.centralInvestmentTotal" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="1.涓ぎ棰勭畻鎶曡祫" label-width="130px" prop="fundsType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.centralBudgetInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.centralBudgetInvestment" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="2.涓ぎ璐㈡斂" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.centralFiscalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.centralFiscalInvestment" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item class="items" label="3.涓ぎ涓撻」鍊哄埜绛归泦鐨勪笓椤瑰缓璁捐祫閲�" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.centralSpecialBondInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-form-item class="items" label="3.涓ぎ涓撻」鍊哄埜绛归泦鐨勪笓椤瑰缓璁捐祫閲�" label-width="130px" prop="investmentType"
+ style="width: 100%">
+ <el-input v-model.trim="investmentFundsForm.centralSpecialBondInvestment" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="4.涓ぎ涓撻」寤鸿鍩洪噾" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.centralSpecialFundInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.centralSpecialFundInvestment" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="锛堜簩锛夌渷绾ф姇璧�" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.provincialInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.provincialInvestmentTotal" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="1.鐪侀绠楀唴鎶曡祫" label-width="130px" prop="fundsType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.provincialBudgetInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.provincialBudgetInvestment" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="2.鐪佽储鏀挎�у缓璁炬姇璧�" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.provincialFiscalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.provincialFiscalInvestment" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="3.鐪佷笓椤瑰缓璁捐祫閲�" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.provincialSpecialFundInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.provincialSpecialFundInvestment" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="锛堜笁锛夊競(宸�)鎶曡祫" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.cityInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.cityInvestmentTotal" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="1.甯�(宸�)棰勭畻鍐呮姇璧�" label-width="130px" prop="fundsType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.cityBudgetInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.cityBudgetInvestment" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="2.甯�(宸�)璐㈡斂鎬ф姇璧�" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.cityFiscalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.cityFiscalInvestment" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="3.甯�(宸�)涓撻」璧勯噾" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.citySpecialFundInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.citySpecialFundInvestment" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="锛堝洓锛夊幙(甯傘�佸尯)鎶曡祫" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.countyInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.countyInvestmentTotal" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="1.鍖�(鍘�)棰勭畻鍐呮姇璧�" label-width="130px" prop="fundsType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.countyBudgetInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.countyBudgetInvestment" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item class="items" label="2.鍖猴紙鍘匡級璐㈡斂鎬у缓璁捐祫閲�" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.countyFiscalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-form-item class="items" label="2.鍖猴紙鍘匡級璐㈡斂鎬у缓璁捐祫閲�" label-width="130px" prop="investmentType"
+ style="width: 100%">
+ <el-input v-model.trim="investmentFundsForm.countyFiscalInvestment" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="3.鍖�(鍘�)涓撻」璧勯噾" label-width="130px" prop="investmentType" style="width: 100%">
- <el-input v-model.trim="investmentFunds.countySpecialFundInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.countySpecialFundInvestment" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="浜屻�佸浗鍐呰捶娆�" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.domesticLoanTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.domesticLoanTotal" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="閾惰璐锋" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.bankLoan" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.bankLoan" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="涓夈�佸鍟嗘姇璧�" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.foreignInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.foreignInvestmentTotal" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="鍥涖�佷紒涓氳嚜绛�" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.enterpriseSelfRaisedTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.enterpriseSelfRaisedTotal" class="item" clearable
+ maxlength="255" placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="浜斻�佸叾浠栨姇璧�" label-width="130px" prop="engineering" style="width: 100%">
- <el-input v-model.trim="investmentFunds.otherInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+ <el-input v-model.trim="investmentFundsForm.otherInvestmentTotal" class="item" clearable maxlength="255"
+ placeholder="璇疯緭鍏�"/>
</el-form-item>
</el-col>
</el-row>
@@ -164,6 +191,13 @@
</template>
<script>
+import Cookies from "js-cookie";
+import {
+ addProjectInvestmentFunding,
+ editProjectInvestmentFunding,
+ getProjectInvestmentFundingById
+} from "@/api/projectEngineering/projectInvestmentFunding";
+
export default {
name: 'InvestmentFundsForm',
props: {
@@ -175,7 +209,10 @@
},
data() {
return {
- investmentFunds: {
+ projectForm: {},
+ investmentFundsForm: {
+ id: '',
+ projectId: '',
totalInvestment: '',
principal: '',
governmentInvestmentTotal: '',
@@ -205,12 +242,54 @@
};
},
methods: {
-
+ getInvestmentFunds() {
+ getProjectInvestmentFundingById(this.investmentForm.projectId ).then(res => {
+ this.investmentFundsForm = res.data;
+ });
+ },
+ submit() {
+ if (!this.projectForm.id) {
+ this.$message.error("璇峰厛淇濆瓨鎶曡祫绠$悊鍩烘湰淇℃伅")
+ } else {
+ this.investmentFundsForm.projectId = this.projectForm.id;
+ if (this.investmentFundsForm.id != null) {
+ editProjectInvestmentFunding(this.investmentFundsForm).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ //璺宠浆鍒颁笅涓粍浠�
+ this.$emit('toNext', 3);
+ });
+ } else {
+ addProjectInvestmentFunding(this.investmentFundsForm).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.investmentFundsForm.id = response.data
+ //璺宠浆鍒颁笅涓粍浠�
+ this.$emit('toNext', 3);
+ });
+ }
+ }
+ },
},
- created() {
+ mounted() {
+ this.investmentFundsForm.id = this.$route.query.projectId;
+ const investmentFundsForm = Cookies.get("investmentFundsForm");
+ const projectForm = Cookies.get("projectForm");
+ const parsedInvestmentForm = investmentFundsForm ? JSON.parse(investmentFundsForm) : null;
+ const parsedProjectForm = projectForm ? JSON.parse(projectForm) : null;
+ if (parsedInvestmentForm) {
+ this.investmentFundsForm = parsedInvestmentForm
+ }
+ if (parsedProjectForm){
+ this.projectForm = parsedProjectForm
+ }
+ // 濡傛灉璺敱瀛樺湪id涓旀病鏈夌紦瀛�,瑙嗕负缂栬緫鎴栨煡鐪嬶紝璋冪敤api
+ if (this.investmentFundsForm.projectId && !parsedInvestmentForm) {
+ this.getInvestmentFunds();
+ }
},
-
+ beforeDestroy() {
+ Cookies.set("investmentFundsForm", JSON.stringify(this.investmentFundsForm));
+ },
}
</script>
@@ -244,7 +323,7 @@
}
.items {
- ::v-deep .el-form-item__label {
+ ::v-deep .el-form-item__label {
line-height: 16px;
text-align: right;
}
diff --git a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue b/src/views/projectEngineering/projectLibrary/component/legalPerson.vue
index d50cc21..0f2cc67 100644
--- a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue
+++ b/src/views/projectEngineering/projectLibrary/component/legalPerson.vue
@@ -188,7 +188,9 @@
},
methods: {
-
+ submit() {
+ console.log("娉曚汉submit")
+ },
}
}
</script>
diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue
index 730e22c..8a6c287 100644
--- a/src/views/projectEngineering/projectLibrary/index.vue
+++ b/src/views/projectEngineering/projectLibrary/index.vue
@@ -271,10 +271,10 @@
</template>
<script>
-import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectInfo";
+import {listProject, getProject, delProject, addProject, updateProject} from "@/api/projectEngineering/projectInfo";
import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list';
import FileDialog from '@/views/projectEngineering/projectLibrary/component/FileDialog';
-
+import Cookies from "js-cookie";
export default {
dicts: ['sys_administrative_divisions', 'sys_investment_type', 'sys_project_phases',
'sys_funding_type', 'sys_association_status', 'sys_project_status', 'sys_project_code',
@@ -367,9 +367,24 @@
this.getList();
},
methods: {
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.removeCookie();
+ this.$router.push({ path: '/projectEngineering/project/ProjectDetails', query: { projectId: row.id }});
+ },
+ handleDetail(row) {
+ this.removeCookie();
+ this.$router.push({ path: '/projectEngineering/project/ProjectDetails', query: { projectId: row.id }});
+ },
// 鏂板椤甸潰
add() {
- this.$router.push({ path: '/projectEngineering/project/projectDetails' });
+ this.removeCookie();
+ this.$router.push({ path: '/projectEngineering/project/ProjectDetails' });
+ },
+ //娓呯悊缂撳瓨
+ removeCookie() {
+ Cookies.remove("projectForm")
+ Cookies.remove("investmentForm")
},
// 閲嶇疆鎺掑簭鐨勬柟娉�
handleResetSort() {
@@ -428,7 +443,7 @@
/** 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃 */
getList() {
this.loading = true;
- listInfo(this.queryParams).then(response => {
+ listProject(this.queryParams).then(response => {
this.projectInfoList = response.data;
this.total = response.total;
});
@@ -496,42 +511,8 @@
this.single = selection.length !== 1
this.multiple = !selection.length
},
- /** 鏂板鎸夐挳鎿嶄綔 */
- handleAdd() {
- this.reset();
- this.open = true;
- this.title = "娣诲姞椤圭洰绠$悊鍩虹淇℃伅";
- },
- /** 淇敼鎸夐挳鎿嶄綔 */
- handleUpdate(row) {
- this.reset();
- const id = row.id || this.ids
- getInfo(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) {
- updateInfo(this.form).then(response => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
- });
- } else {
- addInfo(this.form).then(response => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
- });
- }
- }
- });
- },
+
+
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
const ids = row.id || this.ids;
diff --git a/src/views/projectEngineering/projectLibrary/projectDetails.vue b/src/views/projectEngineering/projectLibrary/projectDetails.vue
index 39a6a44..b486d1c 100644
--- a/src/views/projectEngineering/projectLibrary/projectDetails.vue
+++ b/src/views/projectEngineering/projectLibrary/projectDetails.vue
@@ -18,6 +18,7 @@
:is="componentName"
ref="childRef"
:disabled="disabled"
+ @toNext="changeTable"
class="full-width custom-height"
/>
<div v-if="!disabled" class="button-container">
@@ -35,14 +36,14 @@
import LegalPerson from '@/views/projectEngineering/projectLibrary/component/legalPerson';
import PolicyInfo from '@/views/projectEngineering/projectLibrary/component/PolicyInfo';
import DocumentsInfo from '@/views/projectEngineering/projectLibrary/component/DocumentsInfo';
-import { addProject, getProject, updateProject, getProjectCode } from '@/api/projectInfo';
export default {
+ name: 'ProjectDetails',
data() {
return {
currentTab: '椤圭洰绠$悊鍩虹淇℃伅',
- id: this.$route.query.id || '',
disabled: false,
+ projectForm:{},
componentName: BasicInfo,
TABS_DATA: [
{
@@ -52,11 +53,11 @@
},
{
label: '鎶曡祫绠$悊鍩虹淇℃伅',
- value: '浠诲姟涓嬪彂',
+ value: '鎶曡祫绠$悊鍩虹淇℃伅',
componentName: InvestInfo
},
{
- label: ' 椤圭洰鎶曡祫鍙婅祫閲戞潵婧�',
+ label: '椤圭洰鎶曡祫鍙婅祫閲戞潵婧�',
value: '椤圭洰鎶曡祫鍙婅祫閲戞潵婧�',
componentName: InvestmentFunds
},
@@ -83,117 +84,19 @@
handleClick(tabTarget) {
this.componentName = this.TABS_DATA[tabTarget.index].componentName;
},
- submit() {
- if (!this.projectForm.projectName) {
- this.$message.error('璇疯緭鍏ラ」鐩悕绉�');
- return;
- }
- if (this.projectForm.contact) {
- const phoneRegex = /^1[3-9]\d{9}$/;
- if (!phoneRegex.test(this.projectForm.contact)) {
- this.$message.error('璇疯緭鍏ユ纭殑鎵嬫満鍙风爜');
- return;
- }
- }
- if (this.$refs.childRef) {
- this.$refs.childRef.$refs.demoFormRef.validate((valid) => {
- if (valid) {
- const payload = {
- projectInfoInsertDTO: this.projectForm,
- projectInvestmentInfo: this.investment,
- projectInvestmentFunding: this.investmentFunds,
- projectUnitRegistrationInfo: this.legalPerson,
- investmentProjectPolicyComplianceDTO: this.investmentProjectPolicyComplianceDTO,
- fileIdList: this.fileIdList
- };
- if (this.id) {
- updateProject(payload).then(res => {
- if (res.code === 200) {
- this.$message.success(res.msg);
- this.$router.push({ path: '/projectEngineering/project/projectLibrary' });
- } else {
- this.$message.error(res.msg);
- }
- });
- } else {
- addProject(payload).then(res => {
- if (res.code === 200) {
- this.$message.success(res.msg);
- this.$router.push({ path: '/projectEngineering/project/projectLibrary' });
- } else {
- this.$message.error(res.msg);
- }
- });
- }
- }
- });
- }
+ changeTable(index) {
+ this.componentName = this.TABS_DATA[index].componentName;
+ this.currentTab = this.TABS_DATA[index].value;
},
- getProjectInfo(id) {
- getProject(id, 0).then(res => {
- if (res.data) {
- this.investment = res.data.projectInvestmentInfo || {};
- this.investmentFunds = res.data.projectInvestmentFunding || {};
- this.legalPerson = res.data.projectUnitRegistrationInfo || {};
- this.investmentProjectPolicyComplianceDTO = res.data.investmentProjectPolicyComplianceDTO || {};
- if (res.data.investmentProjectPolicyComplianceDTO && res.data.investmentProjectPolicyComplianceDTO.sysOssVos.length > 0) {
- this.fileList = res.data.investmentProjectPolicyComplianceDTO.sysOssVos.map(item => ({
- fileId: item.ossId,
- name: item.originalName,
- url: item.url
- }));
- } else {
- this.fileList = [];
- }
-
- if (res.data.fileIdList) {
- this.fileIdList = res.data.fileIdList;
- this.documentsInfoList = res.data.sysOssVos.map(item => ({
- fileId: item.ossId,
- name: item.originalName,
- url: item.url
- }));
- }
- this.projectForm = res.data.projectInfoInsertDTO || {};
- this.projectList = res.data.projectInfoInsertDTO.sysOssVos.map(item => ({
- fileId: item.ossId,
- name: item.originalName,
- url: item.url
- }));
- }
- });
+ submit() {
+ this.$refs.childRef.submit();
},
reset() {
- if (this.id) {
- this.getProjectInfo(this.id);
- } else {
- this.getProjectCodeApi();
- this.resetPlanLibrary();
- this.fileList = [];
- this.fileIdList = [];
- this.projectList = [];
- this.documentsInfoList = [];
- }
- },
- cancel() {
- this.$router.push({ path: '/projectEngineering/project/reserveProjects', query: { projectCategory: '1' } });
- localStorage.removeItem('fileIdList');
- },
- getProjectCodeApi() {
- getProjectCode().then(res => {
- if (res.code === 200) {
- this.projectForm.projectCode = res.msg;
- }
- });
+ this.$refs.childRef.reset();
},
},
created() {
- // 鍦ㄧ粍浠跺垱寤烘椂鑾峰彇椤圭洰淇℃伅锛屽鏋� id 瀛樺湪
- if (this.id) {
- this.getProjectInfo(this.id);
- } else {
- this.getProjectCodeApi();
- }
+ console.log("sss")
},
};
diff --git a/src/views/projectManage/plan/index.vue b/src/views/projectManage/plan/index.vue
index 7d2d5f5..676cbd7 100644
--- a/src/views/projectManage/plan/index.vue
+++ b/src/views/projectManage/plan/index.vue
@@ -331,7 +331,7 @@
this.$router.push({
path: '/projectManage/planRecord',
query: {
- data: JSON.stringify(row)
+ data: row
}
})
}
diff --git a/src/views/projectManage/plan/planInfo.vue b/src/views/projectManage/plan/planInfo.vue
index 3fd438b..9608965 100644
--- a/src/views/projectManage/plan/planInfo.vue
+++ b/src/views/projectManage/plan/planInfo.vue
@@ -7,6 +7,7 @@
<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; margin-left: 10px">杩斿洖</el-button>
<el-button type="primary" size="small" @click="handleAdd" 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">
@@ -99,15 +100,13 @@
methods: {
// 椤甸潰鍔犺浇
search() {
- this.getPlanInfoData(this.planRecordData.id);
+ this.getPlanInfoData(this.planInfoData.id);
},
// 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
getPlanRecordData() {
// 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
- if (this.$route.query.data) {
- this.planRecordData = JSON.parse(this.$route.query.data)
- }
- this.planInfoData = this.$route.query.planInfoData
+ this.planRecordData = this.$route.query.planRecordData
+ this.planInfoData = this.$route.query.data
this.search();
},
// 鑾峰彇椤圭洰璁″垝椤�
@@ -134,12 +133,12 @@
// 閬嶅巻tableData锛岃幏寰楀�间笉涓虹┖瀛楃涓茬殑琛�
const validList = this.tableData.filter(item => item.title !== '' || item.startTime !== '' || item.endTime !== '');
this.addData = {
- projectPlanRecordId: this.planRecordData.id,
+ projectPlanRecordId: this.planInfoData.id,
actualInvest: this.actualInvest,
addList: validList
}
addPlanInfo(this.addData).then(response => {
- this.handlePlanRecord(this.planInfoData)
+ this.handlePlanRecord()
})
},
// 閲嶇疆褰撳墠琛屾暟鎹�
@@ -167,11 +166,11 @@
});
},
/** 杩斿洖椤圭洰璁″垝璁板綍 */
- handlePlanRecord(planInfoData) {
+ handlePlanRecord() {
this.$router.push({
- name: '/projectManage/planRecord',
+ path: '/projectManage/planRecord',
query: {
- data: JSON.stringify(planInfoData)
+ data: this.planRecordData
}
})
}
diff --git a/src/views/projectManage/plan/planInfoCheck.vue b/src/views/projectManage/plan/planInfoCheck.vue
index 30c2174..ae85cde 100644
--- a/src/views/projectManage/plan/planInfoCheck.vue
+++ b/src/views/projectManage/plan/planInfoCheck.vue
@@ -7,6 +7,7 @@
<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">
@@ -176,9 +177,7 @@
// 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
getPlanRecordData() {
// 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
- if (this.$route.query.data) {
- this.planRecordData = JSON.parse(this.$route.query.data)
- }
+ this.planRecordData = this.$route.query.data
this.planInfoData = this.$route.query.planInfoData
this.search();
},
@@ -226,15 +225,15 @@
this.tableData[index].startTime = '';
this.tableData[index].endTime = '';
},
- /** 杩斿洖椤圭洰璁″垝璁板綍椤甸潰 */
- handlePlanRecord(planInfoData) {
+ /** 杩斿洖椤圭洰璁″垝璁板綍 */
+ handlePlanRecord() {
this.$router.push({
- name: '/projectManage/planRecord',
+ path: '/projectManage/planRecord',
query: {
- data: JSON.stringify(planInfoData)
+ data: this.planRecordData
}
})
- },
+ }
},
created() {
this.getPlanRecordData();
diff --git a/src/views/projectManage/plan/planRecord.vue b/src/views/projectManage/plan/planRecord.vue
index 19f0123..f2022b1 100644
--- a/src/views/projectManage/plan/planRecord.vue
+++ b/src/views/projectManage/plan/planRecord.vue
@@ -1,8 +1,8 @@
<template>
<div class="app-container">
<el-container>
- <el-header v-show="planInfoData && planInfoData.projectName" class="header-title">椤圭洰鍚嶇О锛歿{ planInfoData.projectName }}</el-header>
- <h4 v-show="planInfoData && planInfoData.projectCode" style="text-align: center">椤圭洰浠g爜锛歿{ planInfoData.projectCode }}</h4>
+ <el-header v-show="planRecordData && planRecordData.projectName" class="header-title">椤圭洰鍚嶇О锛歿{ planRecordData.projectName }}</el-header>
+ <h4 v-show="planRecordData && planRecordData.projectCode" style="text-align: center">椤圭洰浠g爜锛歿{ planRecordData.projectCode }}</h4>
<el-main>
<el-card shadow="hover">
<el-row :gutter="20">
@@ -102,7 +102,7 @@
data() {
return {
// 鎺ユ敹浼犻�掕繃鏉ョ殑椤圭洰璁″垝鏁版嵁
- planInfoData: {},
+ planRecordData: {},
// 鏈堝害璁″垝鏁版嵁
monthRecords: [],
// 瀛e害璁″垝鏁版嵁
@@ -114,15 +114,13 @@
methods: {
// 椤甸潰鍔犺浇
search() {
- this.getPlanRecordData(this.planInfoData.id);
+ this.getPlanRecordData(this.planRecordData.id);
},
// 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
getPlanInfoData() {
// 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
- if (this.$route.query.data) {
- this.planInfoData = JSON.parse(this.$route.query.data);
- this.getPlanRecordData(this.planInfoData.id);
- }
+ this.planRecordData = this.$route.query.data
+ this.getPlanRecordData(this.planRecordData.id);
},
// 鑾峰彇椤圭洰璁″垝璁板綍鏁版嵁
getPlanRecordData(id) {
@@ -138,7 +136,7 @@
handleAddMonthPlan() {
let planRecordData = {
id: undefined,
- projectInfoId: this.planInfoData.id,
+ projectInfoId: this.planRecordData.id,
planTimeFlag: 0
}
// 鍒ゆ柇鏈堝害璁″垝鏄惁涓虹┖
@@ -156,7 +154,7 @@
handleAddSeasonPlan() {
let planRecordData = {
id: undefined,
- projectInfoId: this.planInfoData.id,
+ projectInfoId: this.planRecordData.id,
planTimeFlag: 1
}
// 鍒ゆ柇瀛e害璁″垝鏄惁涓虹┖
@@ -174,7 +172,7 @@
handleAddYearPlan() {
let planRecordData = {
id: undefined,
- projectInfoId: this.planInfoData.id,
+ projectInfoId: this.planRecordData.id,
planTimeFlag: 2
}
// 鍒ゆ柇骞村害璁″垝鏄惁涓虹┖
@@ -191,10 +189,10 @@
/** 淇敼椤圭洰璁″垝椤� */
handlePlanInfo(row) {
this.$router.push({
- name: 'PlanInfo',
+ path: '/projectManage/planInfo',
query: {
- data: JSON.stringify(row),
- planInfoData: this.planInfoData
+ data: row,
+ planRecordData: this.planRecordData
}
})
},
@@ -209,7 +207,8 @@
this.$router.push({
path: '/projectManage/planInfoCheck',
query: {
- data: JSON.stringify(row),
+ data: row,
+ planRecordData: this.planRecordData
}
})
}
diff --git a/src/views/projectManage/progress/progressRecord.vue b/src/views/projectManage/progress/progressRecord.vue
index 422b813..3c2eafe 100644
--- a/src/views/projectManage/progress/progressRecord.vue
+++ b/src/views/projectManage/progress/progressRecord.vue
@@ -125,62 +125,63 @@
</div>
</el-row>
- <el-dialog title="杩涘害涓婃姤" :visible.sync="dialogFormVisible" custom-class="custom-dialog">
+ <el-dialog :title=" checkFlag ? '杩涘害鏌ョ湅' : '杩涘害涓婃姤' " :visible.sync="dialogFormVisible" custom-class="custom-dialog">
<el-form :model="progressReportData">
<el-form-item label="鎶ュ憡鏈燂細" :label-width="formLabelWidth">
- <el-input :value="progressReportData.planTime + (progressReportData.planTimeFlag === 0 ? '鏈堝害' : progressReportData.planTimeFlag === 1 ? '瀛e害' : '骞村害')" disabled />
+ <el-input :value="progressReportData.planTime + (progressReportData.planTimeFlag === 0 ? '鏈堝害' : progressReportData.planTimeFlag === 1 ? '瀛e害' : '骞村害')" readonly />
</el-form-item>
<el-form-item label="璁″垝浜嬮」锛�" :label-width="formLabelWidth">
- <el-input v-model="progressReportData.title" disabled />
+ <el-input v-model="progressReportData.title" readonly />
</el-form-item>
<el-form-item label="璁″垝鏃堕棿锛�" :label-width="formLabelWidth">
- <el-date-picker v-model="progressReportData.startTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" disabled/>
+ <el-date-picker v-model="progressReportData.startTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" readonly/>
鑷�
- <el-date-picker v-model="progressReportData.endTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" disabled/>
+ <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" />
+ <el-date-picker v-model="progressReportData.actualStartTime" 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" />
+ <el-date-picker v-model="progressReportData.actualEndTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" :readonly="checkFlag"/>
</el-form-item>
<el-form-item label="杩涘害鎯呭喌锛�" :label-width="formLabelWidth">
- <el-input type="textarea" v-model="progressReportData.progressStatus" placeholder="璇疯緭鍏�" rows="3" />
+ <el-input type="textarea" v-model="progressReportData.progressStatus" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" />
</el-form-item>
<el-form-item label="宸ョ▼杩涘害闄勪欢锛�" :label-width="formLabelWidth">
<el-upload
class="upload-demo"
drag
action="https://jsonplaceholder.typicode.com/posts/"
- multiple>
+ multiple
+ :disabled="checkFlag" >
<i class="el-icon-upload"></i>
<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
<div class="el-upload__tip" slot="tip">鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�500kb</div>
</el-upload>
</el-form-item>
<el-form-item label="鎴鏈姤鍛婂畬鎴愭姇璧勶細" :label-width="formLabelWidth">
- <el-input v-model="progressReportData.actualInvest" type="number" />
+ <el-input v-model="progressReportData.actualInvest" type="number" :readonly="checkFlag" />
</el-form-item>
<el-form-item label="涓婄骇瀹℃牳锛�" :label-width="formLabelWidth">
- <el-input :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : '椹冲洖'" disabled />
+ <el-input :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'" readonly />
</el-form-item>
<el-form-item label="涓婄骇鎵瑰锛�" :label-width="formLabelWidth">
- <el-input v-model="progressReportData.departmentApproval" disabled />
+ <el-input v-model="progressReportData.departmentApproval" readonly />
</el-form-item>
<el-form-item label="涓婄骇鎵瑰鍥炲锛�" :label-width="formLabelWidth">
- <el-input type="textarea" v-model="progressReportData.departmentApprovalReply" placeholder="璇疯緭鍏�" rows="3" />
+ <el-input 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 ? '鍚屾剰' : '椹冲洖'" disabled />
+ <el-input :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'" readonly />
</el-form-item>
<el-form-item label="涓荤閮ㄩ棬瀹℃牳鎵瑰锛�" :label-width="formLabelWidth">
- <el-input v-model="progressReportData.manageApproval" disabled />
+ <el-input v-model="progressReportData.manageApproval" readonly />
</el-form-item>
<el-form-item label="涓荤閮ㄩ棬鎵瑰鍥炲锛�" :label-width="formLabelWidth">
- <el-input type="textarea" v-model="progressReportData.manageApprovalReply" placeholder="璇疯緭鍏�" rows="3" />
+ <el-input 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="dialogFormVisible = false">涓� 鎶�</el-button>
+ <el-button type="primary" @click="handleRecordSubmit" v-if="!checkFlag">涓� 鎶�</el-button>
<el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
</div>
</el-dialog>
@@ -191,7 +192,7 @@
</template>
<script>
-import { getProgressInfoList, getProgressReport } from "@/api/projectManage/progress/index";
+import { getProgressInfoList, getProgressReport, recordSubmit } from "@/api/projectManage/progress/index";
export default {
name: "progressRecord",
@@ -205,17 +206,18 @@
activeTab: "month", // 榛樿鏄剧ず鏈堝害璁″垝
dialogFormVisible: false,
+ // 鏌ョ湅鏄剧ず
+ checkFlag: false,
progressReportData: {},
formLabelWidth: '150px'
}
},
methods: {
- // 椤甸潰鍔犺浇
search() {
- this.getPlanRecordData(this.planRecordData.id);
+ this.getPlanRecordData()
},
// 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
- getplanRecordData() {
+ getPlanRecordData() {
// 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
if (this.$route.query.data) {
this.planRecordData = JSON.parse(this.$route.query.data);
@@ -236,10 +238,26 @@
getProgressReport(row.id).then(res => {
this.progressReportData = res.data;
})
+ },
+ // 涓婃姤鎻愪氦
+ handleRecordSubmit() {
+ recordSubmit(this.progressReportData).then(res => {
+ this.dialogFormVisible = false;
+ this.$message.success('涓婃姤鎴愬姛');
+ this.search();
+ })
+ },
+ // 鏌ョ湅杩涘害
+ handleCheckProgress(row) {
+ this.dialogFormVisible = true;
+ this.checkFlag = true;
+ getProgressReport(row.id).then(res => {
+ this.progressReportData = res.data;
+ })
}
},
created() {
- this.getplanRecordData();
+ this.search();
},
};
</script>
diff --git a/src/views/projectManage/progress/progressReport.vue b/src/views/projectManage/progress/progressReport.vue
deleted file mode 100644
index 5942452..0000000
--- a/src/views/projectManage/progress/progressReport.vue
+++ /dev/null
@@ -1,171 +0,0 @@
-<template>
- <div class="app-container">
- <el-container>
- <el-header v-show="planRecordData && planRecordData.projectName" class="header-title">椤圭洰鍚嶇О锛歿{ planRecordData.projectName }}</el-header>
- <h4 v-show="planRecordData && planRecordData.projectCode" style="text-align: center">椤圭洰浠g爜锛歿{ planRecordData.projectCode }}</h4>
- <el-main>
- <el-card shadow="hover">
- <el-row :gutter="20">
- <el-form :model="form" label-width="80px">
- <el-row>
- <el-col :span="6">
- <el-form-item label="鎶ュ憡鏈燂細">
- <el-input v-model="form.reportPeriod"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="璁″垝浜嬮」锛�">
- <el-input v-model="form.planItem"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="璁″垝鏃堕棿锛�">
- <el-date-picker type="daterange" placeholder="閫夋嫨鏃ユ湡鑼冨洿" v-model="form.planTimeRange" style="width: 100%;"></el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="瀹為檯瀹屾垚鏃堕棿锛�">
- <el-date-picker type="daterange" placeholder="閫夋嫨鏃ユ湡鑼冨洿" v-model="form.actualCompletionTimeRange" style="width: 100%;"></el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="6">
- <el-form-item label="杩涘害鎯呭喌锛�">
- <el-input type="textarea" v-model="form.progressSituation"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="宸ョ▼杩涘害闄勪欢锛�">
- <el-upload
- class="upload-demo"
- action="/api/upload"
- :on-preview="handlePreview"
- :on-remove="handleRemove"
- :file-list="fileList"
- list-type="picture-card"
- multiple
- :auto-upload="false"
- >
- <i class="el-icon-plus"></i>
- </el-upload>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="6">
- <el-form-item label="鎴鏈姤鍛婂畬鎴愭姇璧勶細">
- <el-input v-model="form.investmentAmount"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="涓婄骇瀹℃牳锛�">
- <el-select v-model="form.superiorReview" placeholder="璇烽�夋嫨">
- <el-option label="鍚屾剰" value="agree"></el-option>
- <el-option label="涓嶅悓鎰�" value="disagree"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="涓婄骇鎵瑰锛�">
- <el-input v-model="form.superiorApproval"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="涓荤閮ㄩ棬瀹℃牳锛�">
- <el-input v-model="form.departmentReview"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <div slot="footer" class="dialog-footer">
- <el-button @click="reset">閲嶇疆</el-button>
- <el-button type="primary" @click="submit">淇濆瓨</el-button>
- </div>
- </el-form>
- </el-row>
- </el-card>
- </el-main>
- </el-container>
- </div>
-</template>
-
-<script>
-import { getProgressInfoList } from "@/api/projectManage/progress/index";
-
-export default {
- name: "progressReport",
- data() {
- return {
- // 鎺ユ敹浼犻�掕繃鏉ョ殑椤圭洰璁″垝鏁版嵁
- planRecordData: {},
- projectPlanInfo:{},
- monthProgress: [],
- seasonProgress: [],
- yearProgress: [],
- activeTab: "month", // 榛樿鏄剧ず鏈堝害璁″垝
-
-
- form: {
- reportPeriod: '',
- planItem: '',
- planTimeRange: [],
- actualCompletionTimeRange: [],
- progressSituation: '',
- investmentAmount: '',
- superiorReview: '',
- superiorApproval: '',
- departmentReview: ''
- },
- fileList: []
- }
- },
- methods: {
- // 椤甸潰鍔犺浇
- search() {
- this.getPlanRecordData(this.planRecordData.id);
- },
- // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
- getData() {
- // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
- this.planRecordData = this.$route.query.data
- this.projectPlanInfo = this.$route.query.projectPlanInfo;
- },
- // 鑾峰彇椤圭洰杩涘害璁″垝椤�
- getProgressInfoList(id) {
- getProgressInfoList(id).then(res => {
- this.monthProgress = res.data.monthProgress;
- this.seasonProgress = res.data.seasonProgress;
- this.yearProgress = res.data.yearProgress;
- })
- },
-
-
-
- handleRemove(file, fileList) {
- console.log(file, fileList);
- },
- handlePreview(file) {
- console.log(file);
- },
- reset() {
- this.form = {};
- this.fileList = [];
- },
- submit() {
- // 鎻愪氦琛ㄥ崟鐨勯�昏緫
- }
- },
- created() {
- this.getData();
- },
-};
-</script>
-
-<style scoped>
-.header-title {
- font-size: 24px; /* 鏍规嵁闇�瑕佽皟鏁村瓧浣撳ぇ灏� */
- text-align: center; /* 灞呬腑瀵归綈 */
- line-height: 64px; /* 濡傛灉闇�瑕佷笌 header 楂樺害瀵归綈 */
-}
-</style>
-
diff --git a/src/views/projectProcess/index.vue b/src/views/projectProcess/index.vue
index cab82e0..18f76a8 100644
--- a/src/views/projectProcess/index.vue
+++ b/src/views/projectProcess/index.vue
@@ -281,7 +281,7 @@
<script>
import { listDefinition } from "@/api/flowable/definition";
-import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectInfo";
+import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectEngineering/projectInfo";
import { getProjectProcess } from "@/api/projectProcess/projectProcess"
import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list';
import FileDialog from '@/views/projectEngineering/projectLibrary/component/FileDialog';
--
Gitblit v1.8.0