明树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
da0c710d
Commit
da0c710d
authored
Mar 30, 2026
by
yangyajing
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.bridata.com:8090/root/jt_front
parents
38f2d212
d27fdd74
Pipeline
#109029
passed with stage
in 21 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
153 additions
and
12 deletions
+153
-12
index.vue
src/components/FileUploader/index.vue
+13
-1
addControl.vue
src/views/investingManage/addControl.vue
+17
-2
addRisk.vue
src/views/investingManage/addRisk.vue
+11
-0
addStatement.vue
src/views/investingManage/addStatement.vue
+14
-3
bigIssuesAdd.vue
src/views/investingManage/bigIssuesAdd.vue
+61
-1
constructionAdd.vue
src/views/investingManage/constructionAdd.vue
+37
-5
No files found.
src/components/FileUploader/index.vue
View file @
da0c710d
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
>
>
删除选中文件
删除选中文件
</el-button>
</el-button>
<slot
name=
"actions"
></slot>
</div>
</div>
<!-- 文件列表表格 -->
<!-- 文件列表表格 -->
<el-table
<el-table
...
@@ -106,6 +107,14 @@
...
@@ -106,6 +107,14 @@
:value=
"option.value"
:value=
"option.value"
/>
/>
</el-select>
</el-select>
<!-- 字典选择器 CommonSelector -->
<CommonSelector
v-else-if=
"col.type === 'dictSelect'"
v-model=
"row[col.prop]"
:dictName=
"col.dictName"
:disabled=
"disabled || col.disabled"
@
change=
"handleCustomColChange(row, col.prop, $index)"
/>
<!-- 自定义插槽(最高优先级) -->
<!-- 自定义插槽(最高优先级) -->
<slot
<slot
v-else
v-else
...
@@ -231,6 +240,8 @@ import moment from "moment";
...
@@ -231,6 +240,8 @@ import moment from "moment";
import
windowConfig
from
"@/window"
;
import
windowConfig
from
"@/window"
;
// 引入需要的图标
// 引入需要的图标
import
{
Document
,
Download
,
Delete
,
ArrowDown
}
from
"@element-plus/icons-vue"
;
import
{
Document
,
Download
,
Delete
,
ArrowDown
}
from
"@element-plus/icons-vue"
;
// 引入 CommonSelector 组件
import
CommonSelector
from
"@/components/CommonSelector.vue"
;
// 定义组件 props(新增 customColumns 配置)
// 定义组件 props(新增 customColumns 配置)
const
props
=
defineProps
({
const
props
=
defineProps
({
...
@@ -277,7 +288,7 @@ const props = defineProps({
...
@@ -277,7 +288,7 @@ const props = defineProps({
* 列配置项说明:
* 列配置项说明:
* @param {string} prop - 字段名(必填)
* @param {string} prop - 字段名(必填)
* @param {string} label - 列标题(必填)
* @param {string} label - 列标题(必填)
* @param {string} type - 组件类型:input/
date/datetime/s
elect(默认显示文本)
* @param {string} type - 组件类型:input/
textarea/date/datetime/select/dictS
elect(默认显示文本)
* @param {number} width - 列宽度
* @param {number} width - 列宽度
* @param {string} fixed - 是否固定列:left/right
* @param {string} fixed - 是否固定列:left/right
* @param {string} align - 对齐方式:left/center/right
* @param {string} align - 对齐方式:left/center/right
...
@@ -286,6 +297,7 @@ const props = defineProps({
...
@@ -286,6 +297,7 @@ const props = defineProps({
* @param {string} format - 日期格式化(仅date/datetime)
* @param {string} format - 日期格式化(仅date/datetime)
* @param {string} valueFormat - 日期值格式化(仅date/datetime)
* @param {string} valueFormat - 日期值格式化(仅date/datetime)
* @param {Array} options - 下拉选项(仅select),格式:[{label: '选项1', value: '1'}, ...]
* @param {Array} options - 下拉选项(仅select),格式:[{label: '选项1', value: '1'}, ...]
* @param {string} dictName - 字典名称(仅dictSelect),用于 CommonSelector 组件
*/
*/
},
},
});
});
...
...
src/views/investingManage/addControl.vue
View file @
da0c710d
...
@@ -241,6 +241,21 @@
...
@@ -241,6 +241,21 @@
/>
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"tgje"
label=
"调概金额"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input-number
v-model=
"scope.row.tgje"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
:disabled=
"!fyfxkzIsEdit"
/>
</
template
>
</el-table-column>
<el-table-column
<el-table-column
prop=
"sqyc"
prop=
"sqyc"
label=
"上期预测"
label=
"上期预测"
...
@@ -1158,7 +1173,7 @@ const saveFyfxkz = () => {
...
@@ -1158,7 +1173,7 @@ const saveFyfxkz = () => {
// 验证时间范围是否重复(排除当前编辑的记录)
// 验证时间范围是否重复(排除当前编辑的记录)
const
isDuplicate
=
rangeList
.
value
.
some
(
const
isDuplicate
=
rangeList
.
value
.
some
(
(
item
)
=>
item
.
key
===
newKey
&&
item
.
key
!==
selectRange
.
value
(
item
)
=>
item
.
key
===
newKey
&&
item
.
key
!==
selectRange
.
value
,
);
);
if
(
isDuplicate
)
{
if
(
isDuplicate
)
{
return
ElMessage
.
warning
(
"该时间范围已存在,请选择其他时间"
);
return
ElMessage
.
warning
(
"该时间范围已存在,请选择其他时间"
);
...
@@ -1422,7 +1437,7 @@ const saveCwpj = () => {
...
@@ -1422,7 +1437,7 @@ const saveCwpj = () => {
// 验证时间范围是否重复(排除当前编辑的记录)
// 验证时间范围是否重复(排除当前编辑的记录)
const
isDuplicate
=
cwpjRangeList
.
value
.
some
(
const
isDuplicate
=
cwpjRangeList
.
value
.
some
(
(
item
)
=>
item
.
key
===
newKey
&&
item
.
key
!==
cwpjSelectRange
.
value
(
item
)
=>
item
.
key
===
newKey
&&
item
.
key
!==
cwpjSelectRange
.
value
,
);
);
if
(
isDuplicate
)
{
if
(
isDuplicate
)
{
return
ElMessage
.
warning
(
"该时间范围已存在,请选择其他时间"
);
return
ElMessage
.
warning
(
"该时间范围已存在,请选择其他时间"
);
...
...
src/views/investingManage/addRisk.vue
View file @
da0c710d
...
@@ -148,6 +148,13 @@
...
@@ -148,6 +148,13 @@
:label-width=
"100"
:label-width=
"100"
></el-form-item>
></el-form-item>
<div
class=
"tab-handle"
>
<div
class=
"tab-handle"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"exportTemplate"
style=
"margin-left: 12px"
>
模版导出
</el-button
>
<el-button
<el-button
type=
"primary"
type=
"primary"
size=
"small"
size=
"small"
...
@@ -155,6 +162,7 @@
...
@@ -155,6 +162,7 @@
:disabled=
"!fxczqkData.length"
:disabled=
"!fxczqkData.length"
>
导出
</el-button
>
导出
</el-button
>
>
<el-upload
<el-upload
ref=
"uploadRef"
ref=
"uploadRef"
class=
"upload-demo"
class=
"upload-demo"
...
@@ -551,6 +559,9 @@ const importTableData = (file) => {
...
@@ -551,6 +559,9 @@ const importTableData = (file) => {
const
exportTableData
=
()
=>
{
const
exportTableData
=
()
=>
{
exportTableFile
(
fxczqkData
.
value
,
tableColumns
,
""
,
"风险处置情况"
);
exportTableFile
(
fxczqkData
.
value
,
tableColumns
,
""
,
"风险处置情况"
);
};
};
const
exportTemplate
=
()
=>
{
exportTableFile
([],
tableColumns
,
""
,
"风险处置情况模版"
);
};
const
backClick
=
()
=>
{
const
backClick
=
()
=>
{
router
.
back
(
-
1
);
router
.
back
(
-
1
);
...
...
src/views/investingManage/addStatement.vue
View file @
da0c710d
...
@@ -309,7 +309,7 @@
...
@@ -309,7 +309,7 @@
</el-col>
</el-col>
</el-row>
</el-row>
</el-collapse-item>
</el-collapse-item>
<el-collapse-item
title=
"年度"
name=
"年度"
>
<
!-- <
el-collapse-item title="年度" name="年度">
<el-row>
<el-row>
<el-col :span="8">
<el-col :span="8">
<el-form-item label="年度" required>
<el-form-item label="年度" required>
...
@@ -323,7 +323,7 @@
...
@@ -323,7 +323,7 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
</el-collapse-item>
</el-collapse-item>
-->
<el-collapse-item
<el-collapse-item
title=
"投融资与运营指标(万元)"
title=
"投融资与运营指标(万元)"
...
@@ -541,10 +541,21 @@
...
@@ -541,10 +541,21 @@
<el-input
v-model=
"formData.qddw"
/>
<el-input
v-model=
"formData.qddw"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"签订时间"
>
<el-date-picker
v-model=
"formData.qdsj"
type=
"date"
placeholder=
"请选择"
value-format=
"YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
<el-form-item
style=
"padding: 8px 0"
style=
"padding: 8px 0"
:label=
"`已盖章签字的
${formData?.niandu}年度
目标责任书附件`"
:label=
"`已盖章签字的目标责任书附件`"
>
>
<FileUploader
<FileUploader
v-model=
"formData.ygzqzdyyjdmbzrsfj"
v-model=
"formData.ygzqzdyyjdmbzrsfj"
...
...
src/views/investingManage/bigIssuesAdd.vue
View file @
da0c710d
...
@@ -42,6 +42,12 @@
...
@@ -42,6 +42,12 @@
<FileUploader
<FileUploader
v-model=
"formData.qylht"
v-model=
"formData.qylht"
:custom-columns=
"[
:custom-columns=
"[
{
prop: 'htlx',
label: '权益类合同类型',
type: 'dictSelect',
dictName: 'qylhtlx',
},
{
{
prop: 'jfqdsj',
prop: 'jfqdsj',
label: '甲方签订时间',
label: '甲方签订时间',
...
@@ -66,6 +72,12 @@
...
@@ -66,6 +72,12 @@
<el-form-item
label=
"经济类合同"
>
<el-form-item
label=
"经济类合同"
>
<FileUploader
<FileUploader
:custom-columns=
"[
:custom-columns=
"[
{
prop: 'htlx',
label: '经济类合同类型',
type: 'dictSelect',
dictName: 'jjlhtlx',
},
{
{
prop: 'jfqdsj',
prop: 'jfqdsj',
label: '甲方签订时间',
label: '甲方签订时间',
...
@@ -133,12 +145,30 @@
...
@@ -133,12 +145,30 @@
<el-tab-pane
label=
"变更索赔类"
name=
"变更索赔类"
>
<el-tab-pane
label=
"变更索赔类"
name=
"变更索赔类"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<!-- 变更索赔文件 -->
<!-- 变更索赔文件 -->
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"变更索赔文件"
>
<el-form-item
label=
"变更索赔文件"
>
<FileUploader
<FileUploader
v-model=
"formData.bgsp"
v-model=
"formData.bgsp"
:custom-columns=
"customColumnsJs"
:custom-columns=
"customColumnsJs"
/>
>
<template
#
actions
>
<div
class=
"gov-notice-wrapper"
>
<div
class=
"notice-item"
>
<span
class=
"item-label"
>
【变更】
</span>
<span
class=
"item-text"
>
投资项目金额达到300万元(含)以上的设计变更立项、施工图和费用审核。
</span
>
</div>
<div
class=
"notice-item"
>
<span
class=
"item-label"
>
【索赔】
</span>
<span
class=
"item-text"
>
预计金额300万元(含)以上的工程索赔立项、费用审核。
</span
>
</div>
</div>
</
template
>
</FileUploader>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -365,4 +395,34 @@ onMounted(() => {
...
@@ -365,4 +395,34 @@ onMounted(() => {
.el-row {
.el-row {
margin-bottom: 8px;
margin-bottom: 8px;
}
}
// 政府公文样式
.gov-notice-wrapper {
background-color: #ffffff;
.notice-item {
padding-left: 16px;
display: flex;
align-items: flex-start;
line-height: 1.8;
font-size: 14px;
color: #606266;
&:last-child {
margin-bottom: 0;
}
.item-label {
color: #e6a23c;
font-weight: 600;
margin-right: 8px;
flex-shrink: 0;
}
.item-text {
flex: 1;
text-align: justify;
}
}
}
</
style
>
</
style
>
src/views/investingManage/constructionAdd.vue
View file @
da0c710d
...
@@ -167,7 +167,7 @@
...
@@ -167,7 +167,7 @@
</div>
</div>
<el-table
<el-table
:data=
"jsqtzjcZxjcsList"
:data=
"jsqtzjcZxjcsList"
style=
"width: 100%"
style=
"width: 100%
; overflow-y: scroll
"
empty-text=
"暂无数据"
empty-text=
"暂无数据"
border
border
>
>
...
@@ -217,7 +217,7 @@
...
@@ -217,7 +217,7 @@
/>
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!-- <el-table-column prop="zgcsqd" label="整改措施清单">
<!-- <el-table-column
prop="zgcsqd" label="整改措施清单">
<template #default="scope">
<template #default="scope">
<el-input
<el-input
v-model.number="scope.row.zgcsqd"
v-model.number="scope.row.zgcsqd"
...
@@ -226,7 +226,11 @@
...
@@ -226,7 +226,11 @@
</template>
</template>
</el-table-column> -->
</el-table-column> -->
<el-table-column
prop=
"zgcsqd"
label=
"整改措施清单"
>
<el-table-column
prop=
"zgcsqd"
min-width=
"120px"
label=
"整改措施清单"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<FileUploader
<FileUploader
v-model=
"scope.row.zgcsqd"
v-model=
"scope.row.zgcsqd"
...
@@ -235,7 +239,11 @@
...
@@ -235,7 +239,11 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"jcbg"
label=
"检查报告"
>
<el-table-column
min-width=
"120px"
prop=
"jcbg"
label=
"检查报告"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<FileUploader
<FileUploader
v-model=
"scope.row.jcbg"
v-model=
"scope.row.jcbg"
...
@@ -244,7 +252,11 @@
...
@@ -244,7 +252,11 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"fjcl"
label=
"附件材料"
>
<el-table-column
min-width=
"120px"
prop=
"fjcl"
label=
"附件材料"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<FileUploader
<FileUploader
v-model=
"scope.row.fjcl"
v-model=
"scope.row.fjcl"
...
@@ -252,6 +264,17 @@
...
@@ -252,6 +264,17 @@
></FileUploader>
></FileUploader>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"zgjz"
label=
"整改进展"
>
<
template
#
default=
"scope"
>
<el-input
type=
"textarea"
rows=
"2"
v-model
.
number=
"scope.row.zgjz"
placeholder=
"请输入整改进展"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"60"
>
<el-table-column
label=
"操作"
width=
"60"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
<el-button
...
@@ -487,4 +510,13 @@ onMounted(() => {
...
@@ -487,4 +510,13 @@ onMounted(() => {
line-height: 40px;
line-height: 40px;
}
}
}
}
// 支持表格横向滚动
.tab-content {
overflow-x: auto;
}
.project-tab-content {
overflow-x: auto;
}
</
style
>
</
style
>
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