明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
J
jt_front
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
jt_front
Commits
e4b0cd8d
Commit
e4b0cd8d
authored
Jan 20, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.bridata.com:8090/root/jt_front
parents
c825408f
14ae0c5d
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
188 additions
and
95 deletions
+188
-95
https.js
src/data/https.js
+1
-0
addControl.vue
src/views/investingManage/addControl.vue
+187
-95
No files found.
src/data/https.js
View file @
e4b0cd8d
...
...
@@ -29,6 +29,7 @@ axios.interceptors.response.use(response => {
});
export
function
$get
({
url
,
params
=
{},
callback
,
error
})
{
const
userStore
=
useUserStore
();
return
axios
({
method
:
"get"
,
url
:
windowConfig
.
baseUrl
+
url
,
...
...
src/views/investingManage/addControl.vue
View file @
e4b0cd8d
...
...
@@ -30,39 +30,46 @@
</el-collapse-item>
<el-collapse-item
title=
"费用分项控制、阶段对比表"
name=
"费用分项控制、阶段对比表"
>
<el-row
:gutter=
"20"
>
<
template
v-if=
"fyfxkzIsEdit"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"本期时间"
>
<el-form-item
label=
"本期时间"
required
>
<el-date-picker
v-model=
"fyfxkzFormData.bqsj"
type=
"month"
placeholder=
"请选择"
:disabled=
"!!selectRange
"
value-format=
"YYYY-MM
"
/>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"上期时间"
>
<el-form-item
label=
"上期时间"
required
>
<el-date-picker
v-model=
"fyfxkzFormData.sqsj"
type=
"month"
placeholder=
"请选择"
:disabled=
"!!selectRange
"
value-format=
"YYYY-MM
"
/>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
</el-col>
<el-col
:span=
"6"
>
</
template
>
<el-col
:span=
"6"
:offset=
"fyfxkzIsEdit ? 6 : 18"
>
<div
class=
"tab-handle"
>
<!-- 点击新增后,这里显示确认按钮 -->
<
template
v-if=
"fyfxkzIsEdit"
>
<el-button
type=
"default"
size=
"small"
@
click=
"cancelFyfxkz"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"saveFyfxkz"
>
确定
</el-button>
</
template
>
<
template
v-else
>
<el-select
v-model=
"selectRange"
placeholder=
"请选择"
no-data-text=
"暂无数据"
:style=
"
{width: '200px', marginRight: '20px'}"
@change="changeRange"
>
<el-option
v-for=
"item in rangeList"
:key=
"item.id
"
:label=
"item.name"
:value=
"item.id
"
<el-option
v-for=
"item in rangeList"
:key=
"item.key
"
:label=
"item.key"
:value=
"item.key
"
></el-option>
</el-select>
<el-button
v-if=
"selectRange"
type=
"primary"
size=
"small"
@
click=
"editFyfxkz"
>
编辑
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"addFyfxkz"
>
新增
</el-button>
</
template
>
</div>
</el-col>
</el-row>
...
...
@@ -72,82 +79,89 @@
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
/>
<el-table-column
prop=
"xm"
label=
"项目"
width=
"240"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.xm"
/>
<el-input
v-model=
"scope.row.xm"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"zbgs"
label=
"招标估算"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.zbgs"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"jcgs"
label=
"决策估算"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.jcgs"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"pfgusuan"
label=
"批复估算"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.pfgusuan"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"pfgs"
label=
"批复概算"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.pfgs"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"tkjgs"
label=
"同口径概算"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.tkjgs"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"pfys"
label=
"批复预算"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.pfys"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"zbqy"
label=
"招标签约"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.zbqy"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"jgjssj"
label=
"竣工决算审计"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.jgjssj"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"sqyc"
label=
"上期预测"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.sqyc"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"bqyc"
label=
"本期预测"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.bqyc"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"bqjsq"
label=
"本期-上期"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.bqjsq"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"cysm"
label=
"本期较上期差异原因说明"
width=
"240"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.cysm"
type=
"textarea"
/>
<el-input
v-model=
"scope.row.cysm"
type=
"textarea"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -158,7 +172,11 @@
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"决策单位"
>
<el-input
v-model=
"formData.jcdw"
/>
<el-select
v-model=
"formData.jcdw"
placeholder=
"请选择"
no-data-text=
"暂无数据"
>
<el-option
v-for=
"item in jcdwList"
:key=
"item.key"
:label=
"item.name"
:value=
"item.key"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
...
...
@@ -175,7 +193,11 @@
</el-table-column>
<el-table-column
prop=
"ssjd"
label=
"实施阶段"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.ssjd"
/>
<el-select
v-model=
"scope.row.ssjd"
placeholder=
"请选择"
no-data-text=
"暂无数据"
>
<el-option
v-for=
"item in ssjdList"
:key=
"item.key"
:label=
"item.name"
:value=
"item.key"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
prop=
"pfnr"
label=
"批复内容"
width=
"180"
>
...
...
@@ -190,7 +212,11 @@
</el-table-column>
<el-table-column
prop=
"lszxqk"
label=
"落实(执行)情况"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.lszxqk"
type=
"textarea"
/>
<el-select
v-model=
"scope.row.lszxqk"
placeholder=
"请选择"
no-data-text=
"暂无数据"
>
<el-option
v-for=
"item in lsqkList"
:key=
"item.key"
:label=
"item.name"
:value=
"item.key"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
prop=
"wlsyy"
label=
"未落实原因"
width=
"180"
>
...
...
@@ -400,31 +426,13 @@
xm
:
"项目建设其他费"
},
{
xm
:
"建设项目管理费"
},
{
xm
:
"建设项目前期工作费"
},
{
xm
:
"研究试验费"
},
{
xm
:
"专项评估费"
xm
:
"建设单位管理费"
},
{
xm
:
"
联合试运转
"
xm
:
"
信息化费
"
},
{
xm
:
"生产准备费"
},
{
xm
:
"工程保通管理费"
},
{
xm
:
"工程保险费"
},
{
xm
:
"其他相关费用"
xm
:
"监理费"
},
{
xm
:
"预备费"
...
...
@@ -440,6 +448,7 @@
}
];
let
fyfxkzData
=
ref
([]);
let
fyfxkzIsEdit
=
ref
(
false
);
let
isPreview
=
!!
route
.
query
.
isPreview
;
let
controlId
=
route
.
query
.
controlId
;
...
...
@@ -453,24 +462,105 @@
callback
:
(
res
)
=>
{
loading
.
value
=
false
;
Object
.
assign
(
formData
,
res
);
// TODO 费用分项控制、阶段对比表,获取到全周期的数据,默认显示最新的
if
(
res
.
tzkztzekzs
&&
res
.
tzkztzekzs
.
length
)
{
rangeList
.
value
=
res
.
tzkztzekzs
.
map
(
item
=>
{
return
{
...
item
,
bqsj
:
proxy
.
moment
(
item
.
bqsj
).
format
(
"YYYY-MM"
),
sqsj
:
proxy
.
moment
(
item
.
sqsj
).
format
(
"YYYY-MM"
)
}
});
selectRange
.
value
=
res
.
tzkztzekzs
[
0
].
key
;
fyfxkzData
.
value
=
res
.
tzkztzekzs
[
0
].
tables
;
}
Object
.
assign
(
pfyjlsqkData
.
value
,
res
.
tzkzjcpfyjs
);
Object
.
assign
(
mbpcData
.
value
,
res
.
qtjsmbzdpc
);
Object
.
assign
(
cwpjData
.
value
,
res
.
tzkzcwpjs
);
Object
.
assign
(
tzsyData
.
value
,
res
.
tzkztzsys
);
}
});
}
};
let
ssjdList
=
reactive
([]);
let
jcdwList
=
reactive
([]);
let
lsqkList
=
reactive
([]);
onMounted
(()
=>
{
getProjectData
();
let
resourceData
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"resourceData"
));
ssjdList
=
resourceData
.
ssjd
;
jcdwList
=
resourceData
.
jcdw
;
lsqkList
=
resourceData
.
lszxqk
;
if
(
controlId
)
{
getControlInfo
();
fyfxkzIsEdit
.
value
=
false
;
}
else
{
fyfxkzData
.
value
=
fyfxkzDefaultData
;
fyfxkzData
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
fyfxkzDefaultData
));
fyfxkzIsEdit
.
value
=
true
;
}
});
// 新增费用分项控制、阶段对比表
const
addFyfxkz
=
()
=>
{
selectRange
.
value
=
""
;
fyfxkzIsEdit
.
value
=
true
;
fyfxkzData
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
fyfxkzDefaultData
));
};
const
editFyfxkz
=
()
=>
{
fyfxkzIsEdit
.
value
=
true
;
let
selectData
=
rangeList
.
value
.
filter
(
item
=>
item
.
key
===
selectRange
.
value
);
fyfxkzFormData
.
bqsj
=
selectData
[
0
].
bqsj
;
fyfxkzFormData
.
sqsj
=
selectData
[
0
].
sqsj
;
};
const
saveFyfxkz
=
()
=>
{
if
(
fyfxkzFormData
.
bqsj
&&
fyfxkzFormData
.
sqsj
)
{
if
(
selectRange
.
value
)
{
rangeList
.
value
=
rangeList
.
value
.
map
(
item
=>
{
if
(
item
.
key
===
selectRange
.
value
)
{
selectRange
.
value
=
fyfxkzFormData
.
bqsj
+
"至"
+
fyfxkzFormData
.
sqsj
;
return
{
bqsj
:
fyfxkzFormData
.
bqsj
,
sqsj
:
fyfxkzFormData
.
sqsj
,
key
:
fyfxkzFormData
.
bqsj
+
"至"
+
fyfxkzFormData
.
sqsj
,
tables
:
fyfxkzData
.
value
}
}
else
{
return
{
...
item
};
}
})
}
else
{
rangeList
.
value
.
push
({
bqsj
:
fyfxkzFormData
.
bqsj
,
sqsj
:
fyfxkzFormData
.
sqsj
,
key
:
fyfxkzFormData
.
bqsj
+
"至"
+
fyfxkzFormData
.
sqsj
,
tables
:
fyfxkzData
.
value
});
}
fyfxkzIsEdit
.
value
=
false
;
if
(
!
selectRange
.
value
)
{
selectRange
.
value
=
rangeList
.
value
[
0
].
key
;
fyfxkzData
.
value
=
rangeList
.
value
[
0
].
tables
;
}
else
{
let
selectData
=
rangeList
.
value
.
filter
(
item
=>
item
.
key
===
selectRange
.
value
);
fyfxkzData
.
value
=
selectData
.
length
?
selectData
[
0
].
tables
:
[];
}
}
else
{
ElMessage
.
warning
(
"请补充本期及上期时间"
);
}
}
const
cancelFyfxkz
=
()
=>
{
if
(
selectRange
.
value
)
{
fyfxkzData
.
value
=
rangeList
.
value
[
0
].
tables
;
}
else
if
(
formData
.
id
)
{
fyfxkzData
.
value
=
[];
}
else
{
fyfxkzData
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
fyfxkzDefaultData
));
}
fyfxkzIsEdit
.
value
=
false
;
}
const
changeRange
=
(
val
)
=>
{
fyfxkzData
.
value
=
rangeList
.
value
.
filter
(
item
=>
item
.
key
===
val
)[
0
].
tables
;
};
// 项目批复意见落实情况
let
pfyjlsqkData
=
ref
([]);
...
...
@@ -536,19 +626,19 @@
// 财务评价主要边界条件变化对比表
const
cwpjData
=
ref
([
{
bjtj
:
"项目总投资(
亿
元)"
bjtj
:
"项目总投资(
万
元)"
},
{
bjtj
:
"项目资本金(
亿
元)"
bjtj
:
"项目资本金(
万
元)"
},
{
bjtj
:
"我方出资(
亿
元)"
bjtj
:
"我方出资(
万
元)"
},
{
bjtj
:
"政府方出资(
亿
元)"
bjtj
:
"政府方出资(
万
元)"
},
{
bjtj
:
"项目融资(
亿
元)"
bjtj
:
"项目融资(
万
元)"
},
{
bjtj
:
"年度投资比例"
...
...
@@ -625,13 +715,18 @@
router
.
back
(
-
1
)
}
const
saveClick
=
()
=>
{
if
(
formData
.
projectId
)
{
if
(
!
formData
.
projectId
)
{
return
ElMessage
.
warning
(
"请选择项目信息"
);
}
if
(
fyfxkzIsEdit
.
value
)
{
return
ElMessage
.
warning
(
"请先保存正在添加的费用分项控制、阶段对比表"
);
}
let
url
=
formData
.
id
?
"updateTzkz"
:
"createTzkz"
;
proxy
.
$post
({
url
:
"/api/project/"
+
url
,
data
:
{
...
formData
,
// tzkztzekzs: fyfxkzData
.value,
tzkztzekzs
:
rangeList
.
value
,
tzkzjcpfyjs
:
pfyjlsqkData
.
value
,
qtjsmbzdpc
:
mbpcData
.
value
,
tzkzcwpjs
:
cwpjData
.
value
,
...
...
@@ -640,10 +735,7 @@
callback
:
(
data
)
=>
{
router
.
back
(
-
1
)
}
})
}
else
{
ElMessage
.
warning
(
"请选择项目信息"
);
}
});
}
</
script
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment