明树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
3d224552
Commit
3d224552
authored
Feb 11, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1\
parent
b456d56b
Pipeline
#107240
passed with stage
in 19 seconds
Changes
5
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1686 additions
and
986 deletions
+1686
-986
index.vue
src/components/FormDynamicTable/index.vue
+18
-18
routes.js
src/router/routes.js
+14
-2
decision.vue
src/views/investingManage/decision.vue
+188
-0
decisionAdd.vue
src/views/investingManage/decisionAdd.vue
+1115
-0
quitAdd.vue
src/views/investingManage/quitAdd.vue
+351
-966
No files found.
src/components/FormDynamicTable/index.vue
View file @
3d224552
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
v-if=
"showAddButton"
v-if=
"showAddButton"
type=
"primary"
type=
"primary"
@
click=
"handleAdd"
@
click=
"handleAdd"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
>
>
{{
addButtonText
||
"新增"
}}
{{
addButtonText
||
"新增"
}}
</el-button>
</el-button>
...
@@ -60,7 +60,7 @@
...
@@ -60,7 +60,7 @@
style=
"width: 100%"
style=
"width: 100%"
empty-text=
"暂无数据"
empty-text=
"暂无数据"
border
border
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:scrollbar-always-on=
"scrollbarAlwaysOn"
:scrollbar-always-on=
"scrollbarAlwaysOn"
>
>
<!-- 序号列 -->
<!-- 序号列 -->
...
@@ -87,7 +87,7 @@
...
@@ -87,7 +87,7 @@
<el-input
<el-input
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:maxlength=
"column.maxlength"
:maxlength=
"column.maxlength"
/>
/>
</
template
>
</
template
>
...
@@ -96,7 +96,7 @@
...
@@ -96,7 +96,7 @@
v-model
.
number=
"scope.row[column.prop]"
v-model
.
number=
"scope.row[column.prop]"
type=
"number"
type=
"number"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:precision=
"column.precision"
:precision=
"column.precision"
:min=
"column.min"
:min=
"column.min"
:max=
"column.max"
:max=
"column.max"
...
@@ -107,7 +107,7 @@
...
@@ -107,7 +107,7 @@
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
type=
"textarea"
type=
"textarea"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:rows=
"column.rows || 3"
:rows=
"column.rows || 3"
:maxlength=
"column.maxlength"
:maxlength=
"column.maxlength"
:show-word-limit=
"column.showWordLimit || false"
:show-word-limit=
"column.showWordLimit || false"
...
@@ -117,7 +117,7 @@
...
@@ -117,7 +117,7 @@
<el-select
<el-select
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:multiple=
"column.multiple || false"
:multiple=
"column.multiple || false"
>
>
<el-option
<el-option
...
@@ -131,7 +131,7 @@
...
@@ -131,7 +131,7 @@
<
template
v-else-if=
"column.type === 'radio'"
>
<
template
v-else-if=
"column.type === 'radio'"
>
<el-radio-group
<el-radio-group
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
>
>
<el-radio
<el-radio
v-for=
"item in selectOptions?.[column.optionKey] || []"
v-for=
"item in selectOptions?.[column.optionKey] || []"
...
@@ -152,7 +152,7 @@
...
@@ -152,7 +152,7 @@
:format=
"column.format || 'YYYY-MM-DD'"
:format=
"column.format || 'YYYY-MM-DD'"
:value-format=
"column.valueFormat || 'YYYY-MM-DD'"
:value-format=
"column.valueFormat || 'YYYY-MM-DD'"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
style=
"width: 100%"
style=
"width: 100%"
/>
/>
</
template
>
</
template
>
...
@@ -160,7 +160,7 @@
...
@@ -160,7 +160,7 @@
<FileUploader
<FileUploader
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
:isInline=
"true"
:isInline=
"true"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
/>
/>
</
template
>
</
template
>
</template>
</template>
...
@@ -183,7 +183,7 @@
...
@@ -183,7 +183,7 @@
<el-input
<el-input
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:maxlength=
"column.maxlength"
:maxlength=
"column.maxlength"
/>
/>
</
template
>
</
template
>
...
@@ -192,7 +192,7 @@
...
@@ -192,7 +192,7 @@
v-model
.
number=
"scope.row[column.prop]"
v-model
.
number=
"scope.row[column.prop]"
type=
"number"
type=
"number"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:precision=
"column.precision"
:precision=
"column.precision"
:min=
"column.min"
:min=
"column.min"
:max=
"column.max"
:max=
"column.max"
...
@@ -203,7 +203,7 @@
...
@@ -203,7 +203,7 @@
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
type=
"textarea"
type=
"textarea"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:rows=
"column.rows || 3"
:rows=
"column.rows || 3"
:maxlength=
"column.maxlength"
:maxlength=
"column.maxlength"
:show-word-limit=
"column.showWordLimit || false"
:show-word-limit=
"column.showWordLimit || false"
...
@@ -213,7 +213,7 @@
...
@@ -213,7 +213,7 @@
<el-select
<el-select
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
:multiple=
"column.multiple || false"
:multiple=
"column.multiple || false"
>
>
<el-option
<el-option
...
@@ -227,7 +227,7 @@
...
@@ -227,7 +227,7 @@
<
template
v-else-if=
"column.type === 'radio'"
>
<
template
v-else-if=
"column.type === 'radio'"
>
<el-radio-group
<el-radio-group
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
>
>
<el-radio
<el-radio
v-for=
"item in selectOptions?.[column.optionKey] || []"
v-for=
"item in selectOptions?.[column.optionKey] || []"
...
@@ -248,7 +248,7 @@
...
@@ -248,7 +248,7 @@
:format=
"column.format || 'YYYY-MM-DD'"
:format=
"column.format || 'YYYY-MM-DD'"
:value-format=
"column.valueFormat || 'YYYY-MM-DD'"
:value-format=
"column.valueFormat || 'YYYY-MM-DD'"
:placeholder=
"column.placeholder"
:placeholder=
"column.placeholder"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
style=
"width: 100%"
style=
"width: 100%"
/>
/>
</
template
>
</
template
>
...
@@ -256,7 +256,7 @@
...
@@ -256,7 +256,7 @@
<FileUploader
<FileUploader
v-model=
"scope.row[column.prop]"
v-model=
"scope.row[column.prop]"
:isInline=
"true"
:isInline=
"true"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
/>
/>
</
template
>
</
template
>
</template>
</template>
...
@@ -281,7 +281,7 @@
...
@@ -281,7 +281,7 @@
type=
"danger"
type=
"danger"
size=
"small"
size=
"small"
@
click=
"handleDelete(scope.$index)"
@
click=
"handleDelete(scope.$index)"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
class=
"operation-btn"
class=
"operation-btn"
>
>
删除
删除
...
@@ -304,7 +304,7 @@
...
@@ -304,7 +304,7 @@
name=
"operations"
name=
"operations"
:row=
"scope.row"
:row=
"scope.row"
:index=
"scope.$index"
:index=
"scope.$index"
:disabled=
"disabled"
:disabled=
"disabled
|| column?.disabled
"
/>
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
...
src/router/routes.js
View file @
3d224552
...
@@ -164,15 +164,27 @@ const routes = [
...
@@ -164,15 +164,27 @@ const routes = [
{
{
path
:
"/quit"
,
path
:
"/quit"
,
name
:
"quit"
,
name
:
"quit"
,
title
:
"
重大事项审批
"
,
title
:
"
项目退出
"
,
component
:
()
=>
import
(
"@/views/investingManage/quit.vue"
),
component
:
()
=>
import
(
"@/views/investingManage/quit.vue"
),
},
},
{
{
path
:
"/quitAdd"
,
path
:
"/quitAdd"
,
name
:
"quitAdd"
,
name
:
"quitAdd"
,
title
:
"
重大事项审批
"
,
title
:
"
项目退出
"
,
component
:
()
=>
import
(
"@/views/investingManage/quitAdd.vue"
),
component
:
()
=>
import
(
"@/views/investingManage/quitAdd.vue"
),
},
},
{
path
:
"/decision"
,
name
:
"decision"
,
title
:
"重新决策"
,
component
:
()
=>
import
(
"@/views/investingManage/decision.vue"
),
},
{
path
:
"/decisionAdd"
,
name
:
"decisionAdd"
,
title
:
"重新决策"
,
component
:
()
=>
import
(
"@/views/investingManage/decisionAdd.vue"
),
},
],
],
},
},
...
...
src/views/investingManage/decision.vue
0 → 100644
View file @
3d224552
<
template
>
<div
class=
"manage-container"
>
<div
class=
"manage-wrap"
>
<div
class=
"manage-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"primary"
@
click=
"annualAdd"
>
新增
</el-button>
</div>
</div>
<div
class=
"manage-content"
v-loading=
"loading"
>
<common-table
:autoHeight=
"true"
:maxRows=
"10"
:data=
"tableData"
:columns=
"tableColumns"
:total=
"total"
:current-page=
"currentPage"
:page-size=
"pageSize"
:index=
"true"
:indexLabel=
"'序号'"
title=
""
:border=
"true"
@
size-change=
"handleSizeChange"
@
current-page-change=
"handleCurrentPageChange"
>
<template
#
operations=
"
{ row, index }">
<el-button
link
type=
"primary"
size=
"small"
@
click=
"previewStatement(row)"
>
查看
</el-button
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"editStatement(row)"
>
编辑
</el-button
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteStatement(row)"
>
删除
</el-button
>
</
template
>
</common-table>
</div>
</div>
</div>
</template>
<
script
setup
>
import
{
ref
,
onMounted
,
getCurrentInstance
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
CommonTable
from
"@/components/common/commonTable.vue"
;
const
router
=
useRouter
();
const
{
proxy
}
=
getCurrentInstance
();
let
tableData
=
ref
([]);
let
tableColumns
=
ref
([
{
prop
:
"projectName"
,
label
:
"项目名称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"projectForeignName"
,
label
:
"项目外文名称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"sbdw"
,
label
:
"申报单位"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"ssejqy"
,
label
:
"所属二级企业"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"xmgsmc"
,
label
:
"项目公司名称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"xmkgsjyj"
,
label
:
"项目预计起始时间"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"xmjgsjyj"
,
label
:
"目预计完成时间"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"operations"
,
label
:
"操作"
,
width
:
170
,
slot
:
"operations"
,
fixed
:
"right"
,
align
:
"center"
,
},
]);
let
loading
=
ref
(
false
);
let
total
=
ref
(
0
);
let
currentPage
=
ref
(
1
);
let
pageSize
=
ref
(
10
);
// 获取列表数据
const
getStatementData
=
()
=>
{
loading
.
value
=
true
;
proxy
.
$post
({
url
:
"/api/project/getTzjhList"
,
data
:
{
page
:
currentPage
.
value
,
pagesize
:
pageSize
.
value
,
},
callback
:
(
data
)
=>
{
tableData
.
value
=
data
.
rows
;
total
.
value
=
data
.
count
;
loading
.
value
=
false
;
},
});
};
// 分页
const
handleSizeChange
=
(
size
)
=>
{
pageSize
.
value
=
size
;
currentPage
.
value
=
1
;
getStatementData
();
};
const
handleCurrentPageChange
=
(
page
)
=>
{
currentPage
.
value
=
page
;
getStatementData
();
};
const
annualAdd
=
()
=>
{
router
.
push
(
"/decisionAdd"
);
};
const
editStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"decisionAdd"
,
query
:
{
id
:
item
.
id
,
},
});
};
const
previewStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"decisionAdd"
,
query
:
{
isPreview
:
true
,
id
:
item
.
id
,
},
});
};
const
deleteStatement
=
(
item
)
=>
{
ElMessageBox
.
confirm
(
"确认删除该项?"
,
"提示"
,
{
confirmButtonText
:
"确认"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
proxy
.
$post
({
url
:
"/api/project/deleteTzjh"
,
data
:
{
id
:
item
.
id
,
},
callback
:
(
data
)
=>
{
ElMessage
.
success
(
"删除成功"
);
getStatementData
();
},
});
})
.
catch
(()
=>
{});
};
onMounted
(()
=>
{
getStatementData
();
});
</
script
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
</
style
>
src/views/investingManage/decisionAdd.vue
0 → 100644
View file @
3d224552
This diff is collapsed.
Click to expand it.
src/views/investingManage/quitAdd.vue
View file @
3d224552
This diff is collapsed.
Click to expand it.
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