明树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
a371fcfa
Commit
a371fcfa
authored
Mar 19, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
表单样式处理
parent
e114f81a
Pipeline
#108564
passed with stage
in 20 seconds
Changes
62
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
62 changed files
with
1113 additions
and
789 deletions
+1113
-789
SearchForm.vue
src/components/common/SearchForm.vue
+1
-5
commonTable.vue
src/components/common/commonTable.vue
+1
-1
routerBack.vue
src/components/common/routerBack.vue
+43
-0
main.js
src/main.js
+1
-1
routes.js
src/router/routes.js
+6
-6
manage.css
src/styles/manage.css
+42
-13
manage.less
src/styles/manage.less
+52
-14
evaluate.vue
src/views/castbehind/evaluate.vue
+1
-3
evaluateAdd.vue
src/views/castbehind/evaluateAdd.vue
+12
-13
investmentCecovery.vue
src/views/castbehind/investmentCecovery.vue
+1
-3
investmentCecoveryAdd.vue
src/views/castbehind/investmentCecoveryAdd.vue
+12
-13
runningPeriod.vue
src/views/castbehind/runningPeriod.vue
+1
-3
runningPeriodAdd.vue
src/views/castbehind/runningPeriodAdd.vue
+13
-13
turnover.vue
src/views/castbehind/turnover.vue
+1
-3
turnoverAdd.vue
src/views/castbehind/turnoverAdd.vue
+13
-14
cost.vue
src/views/elseManage/cost.vue
+1
-3
costAdd.vue
src/views/elseManage/costAdd.vue
+13
-14
annual.vue
src/views/everydayPage/annual.vue
+1
-3
annualAdd.vue
src/views/everydayPage/annualAdd.vue
+60
-75
everyday.vue
src/views/everydayPage/everyday.vue
+1
-3
everydayAdd.vue
src/views/everydayPage/everydayAdd.vue
+14
-13
informationConstruction.vue
src/views/everydayPage/informationConstruction.vue
+1
-3
informationConstructionAdd.vue
src/views/everydayPage/informationConstructionAdd.vue
+13
-14
investment.vue
src/views/everydayPage/investment.vue
+1
-3
investmentAdd.vue
src/views/everydayPage/investmentAdd.vue
+16
-17
record.vue
src/views/everydayPage/record.vue
+1
-3
recordAdd.vue
src/views/everydayPage/recordAdd.vue
+14
-13
share.vue
src/views/everydayPage/share.vue
+1
-3
shareAdd.vue
src/views/everydayPage/shareAdd.vue
+13
-14
system.vue
src/views/everydayPage/system.vue
+1
-3
systemAdd.vue
src/views/everydayPage/systemAdd.vue
+12
-13
vscouncil.vue
src/views/everydayPage/vscouncil.vue
+1
-3
vscouncilAdd.vue
src/views/everydayPage/vscouncilAdd.vue
+14
-13
addControl.vue
src/views/investingManage/addControl.vue
+12
-11
addRisk.vue
src/views/investingManage/addRisk.vue
+12
-10
addStatement.vue
src/views/investingManage/addStatement.vue
+12
-11
bigIssues.vue
src/views/investingManage/bigIssues.vue
+1
-3
bigIssuesAdd.vue
src/views/investingManage/bigIssuesAdd.vue
+12
-13
construction.vue
src/views/investingManage/construction.vue
+1
-3
constructionAdd.vue
src/views/investingManage/constructionAdd.vue
+13
-12
constructionTime.vue
src/views/investingManage/constructionTime.vue
+1
-3
constructionTimeAdd.vue
src/views/investingManage/constructionTimeAdd.vue
+12
-13
decision.vue
src/views/investingManage/decision.vue
+1
-3
decisionAdd.vue
src/views/investingManage/decisionAdd.vue
+13
-37
majorRisk.vue
src/views/investingManage/majorRisk.vue
+1
-3
quit.vue
src/views/investingManage/quit.vue
+1
-3
quitAdd.vue
src/views/investingManage/quitAdd.vue
+14
-70
targetControl.vue
src/views/investingManage/targetControl.vue
+1
-3
targetLiabilityStatement.vue
src/views/investingManage/targetLiabilityStatement.vue
+1
-3
addProject.vue
src/views/projectManage/addProject.vue
+390
-107
projectAllPage.vue
src/views/projectManage/projectAllPage.vue
+1
-3
projectArgument.vue
src/views/projectManage/projectArgument.vue
+1
-3
projectDecision.vue
src/views/projectManage/projectDecision.vue
+1
-3
projectDraft.vue
src/views/projectManage/projectDraft.vue
+1
-3
projectSetUp.vue
src/views/projectManage/projectSetUp.vue
+1
-3
templateManage.vue
src/views/projectManage/templateManage.vue
+1
-3
departManage.vue
src/views/systemManage/departManage.vue
+0
-1
menuManage.vue
src/views/systemManage/menuManage.vue
+1
-3
message.vue
src/views/systemManage/message.vue
+143
-87
resourceManage.vue
src/views/systemManage/resourceManage.vue
+5
-2
roleManage.vue
src/views/systemManage/roleManage.vue
+81
-49
userManage.vue
src/views/systemManage/userManage.vue
+1
-3
No files found.
src/components/common/SearchForm.vue
View file @
a371fcfa
...
@@ -175,7 +175,7 @@
...
@@ -175,7 +175,7 @@
<!-- 操作按钮 -->
<!-- 操作按钮 -->
<el-col
:span=
"buttonSpan || 6"
>
<el-col
:span=
"buttonSpan || 6"
>
<el-form-item>
<el-form-item
label=
" "
>
<div
class=
"search-form-buttons"
>
<div
class=
"search-form-buttons"
>
<el-button
type=
"primary"
:icon=
"Search"
@
click=
"handleSearch"
>
<el-button
type=
"primary"
:icon=
"Search"
@
click=
"handleSearch"
>
{{
searchText
||
"搜索"
}}
{{
searchText
||
"搜索"
}}
...
@@ -435,9 +435,5 @@ initFormData(false);
...
@@ -435,9 +435,5 @@ initFormData(false);
:deep(.el-input-number) {
:deep(.el-input-number) {
width: 100%;
width: 100%;
}
}
.el-col-6.is-guttered {
padding: 0px 24px !important;
}
}
}
</
style
>
</
style
>
src/components/common/commonTable.vue
View file @
a371fcfa
...
@@ -504,7 +504,7 @@ const handleNextClick = (val) => {
...
@@ -504,7 +504,7 @@ const handleNextClick = (val) => {
.common-table {
.common-table {
background: #fff;
background: #fff;
border-radius: 8px;
border-radius: 8px;
padding: 10px 20px;
padding: 1
6px 20px 2
0px 20px;
.table-header {
.table-header {
display: flex;
display: flex;
...
...
src/components/common/routerBack.vue
0 → 100644
View file @
a371fcfa
<
template
>
<div>
<div
class=
"add-project-back"
>
<div
class=
"back"
@
click=
"() => router.back()"
>
<el-icon
class=
"backIcon"
><ArrowLeft
/></el-icon>
<span
class=
"backText"
>
返回
</span>
</div>
<span
class=
"backName"
>
{{
route
.
meta
.
title
}}
</span>
</div>
</div>
</
template
>
<
script
setup
>
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
const
route
=
useRoute
();
const
router
=
useRouter
();
</
script
>
<
style
scoped
lang=
"scss"
>
.add-project-back
{
margin-bottom
:
16px
;
display
:
flex
;
align-items
:
center
;
.back
{
display
:
flex
;
align-items
:
center
;
opacity
:
1
;
font-size
:
14px
;
font-weight
:
400
;
color
:
rgba
(
51
,
51
,
51
,
1
);
cursor
:
pointer
;
&
:hover
{
color
:
#409eff
;
}
}
.backName
{
margin-left
:
17px
;
height
:
24px
;
font-size
:
16px
;
font-weight
:
700
;
color
:
rgba
(
51
,
51
,
51
,
1
);
}
}
</
style
>
src/main.js
View file @
a371fcfa
...
@@ -15,7 +15,7 @@ import "../public/iconFont/iconfont.css"; // 图标字体样式
...
@@ -15,7 +15,7 @@ import "../public/iconFont/iconfont.css"; // 图标字体样式
import
{
$get
,
$post
}
from
"@/data/https.js"
;
import
{
$get
,
$post
}
from
"@/data/https.js"
;
import
windowConfig
from
"@/window"
;
import
windowConfig
from
"@/window"
;
import
moment
from
"moment"
;
import
moment
from
"moment"
;
import
"@/styles/manage.less"
;
const
pinia
=
createPinia
();
const
pinia
=
createPinia
();
const
app
=
createApp
(
App
);
const
app
=
createApp
(
App
);
app
.
config
.
globalProperties
.
$get
=
$get
;
app
.
config
.
globalProperties
.
$get
=
$get
;
...
...
src/router/routes.js
View file @
a371fcfa
...
@@ -82,8 +82,8 @@ const routes = [
...
@@ -82,8 +82,8 @@ const routes = [
{
{
path
:
"/addProject"
,
path
:
"/addProject"
,
name
:
"addProject"
,
name
:
"addProject"
,
title
:
"
新增项目
"
,
title
:
"
项目详情
"
,
meta
:
{
title
:
"
新增项目详情"
},
// 修改:新增项目 → 新增项目详情
meta
:
{
title
:
"
项目详情"
},
component
:
()
=>
import
(
"@/views/projectManage/addProject.vue"
),
component
:
()
=>
import
(
"@/views/projectManage/addProject.vue"
),
},
},
],
],
...
@@ -362,16 +362,16 @@ const routes = [
...
@@ -362,16 +362,16 @@ const routes = [
{
{
path
:
"/informationConstruction"
,
path
:
"/informationConstruction"
,
name
:
"informationConstruction"
,
name
:
"informationConstruction"
,
title
:
"
信息化建设
"
,
title
:
"
问题反馈
"
,
meta
:
{
title
:
"
信息化建设
"
},
meta
:
{
title
:
"
问题反馈
"
},
component
:
()
=>
component
:
()
=>
import
(
"@/views/everydayPage/informationConstruction.vue"
),
import
(
"@/views/everydayPage/informationConstruction.vue"
),
},
},
{
{
path
:
"/informationConstructionAdd"
,
path
:
"/informationConstructionAdd"
,
name
:
"informationConstructionAdd"
,
name
:
"informationConstructionAdd"
,
title
:
"
信息化建设
"
,
title
:
"
问题反馈
"
,
meta
:
{
title
:
"
信息化建设详情"
},
// 修改:信息化建设 → 信息化建设详情
meta
:
{
title
:
"
问题反馈详情"
},
component
:
()
=>
component
:
()
=>
import
(
"@/views/everydayPage/informationConstructionAdd.vue"
),
import
(
"@/views/everydayPage/informationConstructionAdd.vue"
),
},
},
...
...
src/styles/manage.css
View file @
a371fcfa
.system-manage-container
{
.system-manage-container
{
padding
:
16px
;
background
:
#ecf2f8
;
background
:
#ecf2f8
;
height
:
100%
;
height
:
100%
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
.add-project-content
{
background-color
:
#fff
;
padding-top
:
16px
;
padding-right
:
16px
;
}
.system-manage-header
{
.system-manage-header
{
background
:
rgba
(
255
,
255
,
255
,
0.9
);
background
:
rgba
(
255
,
255
,
255
,
0.9
);
border-radius
:
8px
;
border-radius
:
8px
;
...
@@ -32,7 +26,6 @@
...
@@ -32,7 +26,6 @@
.system-manage-content
{
.system-manage-content
{
background
:
rgba
(
255
,
255
,
255
,
0.9
);
background
:
rgba
(
255
,
255
,
255
,
0.9
);
border-radius
:
8px
;
border-radius
:
8px
;
padding
:
20px
;
box-shadow
:
0
2px
8px
rgba
(
0
,
0
,
0
,
0.1
);
box-shadow
:
0
2px
8px
rgba
(
0
,
0
,
0
,
0.1
);
}
}
.manage-search
{
.manage-search
{
...
@@ -64,7 +57,7 @@
...
@@ -64,7 +57,7 @@
.manage-container
{
.manage-container
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
padding
:
24px
24px
0
24
px
;
padding
:
16px
16px
0
16
px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
@@ -80,7 +73,6 @@
...
@@ -80,7 +73,6 @@
padding-right
:
16px
;
padding-right
:
16px
;
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
padding-bottom
:
10px
;
background-color
:
#fff
;
background-color
:
#fff
;
}
}
.manage-content
{
.manage-content
{
...
@@ -106,7 +98,6 @@
...
@@ -106,7 +98,6 @@
}
}
.add-project-container
{
.add-project-container
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
padding
:
16px
;
padding
:
16px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
display
:
flex
;
display
:
flex
;
...
@@ -116,9 +107,12 @@
...
@@ -116,9 +107,12 @@
color
:
var
(
--el-color-primary
);
color
:
var
(
--el-color-primary
);
}
}
.add-project-header
{
.add-project-header
{
border
:
none
;
height
:
64px
;
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
margin-bottom
:
10px
;
margin-bottom
:
0
;
margin-top
:
10px
;
}
}
.add-project-content
{
.add-project-content
{
flex
:
1
;
flex
:
1
;
...
@@ -241,7 +235,6 @@
...
@@ -241,7 +235,6 @@
align-items
:
center
;
align-items
:
center
;
}
}
.add-project-content
.project-tab-content
{
.add-project-content
.project-tab-content
{
padding
:
0
20px
;
height
:
100%
;
height
:
100%
;
}
}
.add-dialog
.el-tree
{
.add-dialog
.el-tree
{
...
@@ -292,3 +285,39 @@
...
@@ -292,3 +285,39 @@
font-size
:
12px
;
font-size
:
12px
;
color
:
#969696
;
color
:
#969696
;
}
}
.el-form-item__label
{
min-width
:
100px
;
max-width
:
200px
;
font-weight
:
400
;
font-size
:
14px
;
color
:
#333333
;
height
:
32px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
line-height
:
1.2
;
}
.el-input-number
,
.el-date-editor
,
.el-cascader
,
.el-tree-select
.el-select
,
.el-input
,
.el-date-editor
{
width
:
100%
!important
;
}
.add-project-content
{
background-color
:
#fff
;
padding-top
:
16px
;
padding-right
:
16px
;
padding
:
16px
16px
0
16px
;
}
.add-project-content
.el-collapse
{
border
:
none
;
}
.add-project-content
.el-collapse-item__header
{
background-color
:
#f5f7fa
;
height
:
48px
!important
;
padding
:
16px
;
margin
:
0
;
margin-bottom
:
24px
;
}
src/styles/manage.less
View file @
a371fcfa
.system-manage-container {
.system-manage-container {
padding: 16px;
background: #ecf2f8;
background: #ecf2f8;
height: 100%;
height: 100%;
display: flex;
display: flex;
...
@@ -7,12 +6,6 @@
...
@@ -7,12 +6,6 @@
box-sizing: border-box;
box-sizing: border-box;
}
}
.add-project-content {
background-color: #fff;
padding-top: 16px;
padding-right: 16px;
}
.system-manage-header {
.system-manage-header {
background: rgba(255, 255, 255, 0.9);
background: rgba(255, 255, 255, 0.9);
border-radius: 8px;
border-radius: 8px;
...
@@ -34,7 +27,6 @@
...
@@ -34,7 +27,6 @@
.system-manage-content {
.system-manage-content {
background: rgba(255, 255, 255, 0.9);
background: rgba(255, 255, 255, 0.9);
border-radius: 8px;
border-radius: 8px;
padding: 20px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
}
.manage-search {
.manage-search {
...
@@ -70,7 +62,7 @@
...
@@ -70,7 +62,7 @@
&-container {
&-container {
width: 100%;
width: 100%;
height: 100%;
height: 100%;
padding:
24px 24px 0 24
px;
padding:
16px 16px 0 16
px;
box-sizing: border-box;
box-sizing: border-box;
display: flex;
display: flex;
...
@@ -88,7 +80,6 @@
...
@@ -88,7 +80,6 @@
padding-right: 16px;
padding-right: 16px;
display: flex;
display: flex;
justify-content: space-between;
justify-content: space-between;
padding-bottom: 10px;
background-color: #fff;
background-color: #fff;
}
}
&-content {
&-content {
...
@@ -117,7 +108,6 @@
...
@@ -117,7 +108,6 @@
.add-project {
.add-project {
&-container {
&-container {
width: 100%;
width: 100%;
height: 100%;
padding: 16px;
padding: 16px;
box-sizing: border-box;
box-sizing: border-box;
display: flex;
display: flex;
...
@@ -127,10 +117,14 @@
...
@@ -127,10 +117,14 @@
}
}
}
}
&-header {
&-header {
border: none;
height: 64px;
display: flex;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
margin-bottom: 0;
margin-top: 10px;
}
}
&-content {
&-content {
flex: 1;
flex: 1;
height: 0;
height: 0;
...
@@ -253,11 +247,11 @@
...
@@ -253,11 +247,11 @@
align-items: center;
align-items: center;
}
}
.project-tab-content {
.project-tab-content {
padding: 0 20px;
height: 100%;
height: 100%;
}
}
}
}
}
}
.add-dialog {
.add-dialog {
.el-tree {
.el-tree {
width: 100%;
width: 100%;
...
@@ -313,3 +307,47 @@
...
@@ -313,3 +307,47 @@
}
}
}
}
}
}
// ==========================设置定制化样式 start ==========================
.el-form-item__label {
min-width: 100px;
max-width: 200px;
font-weight: 400;
font-size: 14px;
color: rgba(51, 51, 51, 1);
height: 32px;
display: flex;
align-items: center;
justify-content: center;
line-height: 1.2;
}
.el-input-number,
.el-date-editor,
.el-cascader,
.el-tree-select .el-select,
.el-input,
.el-date-editor {
width: 100% !important;
}
.add-project-content {
background-color: #fff;
padding-top: 16px;
padding-right: 16px;
padding: 16px 16px 0 16px;
// .el-tabs--border-card {
// border: none;
// }
.el-collapse {
border: none;
}
.el-collapse-item__header {
background-color: #f5f7fa;
height: 48px !important;
padding: 16px;
margin: 0;
margin-bottom: 24px;
}
}
// ==========================设置定制化样式 end ==========================
src/views/castbehind/evaluate.vue
View file @
a371fcfa
...
@@ -185,6 +185,4 @@ onMounted(() => {
...
@@ -185,6 +185,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/castbehind/evaluateAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<!-- 项目信息 -->
<!-- 项目信息 -->
<el-collapse-item
title=
"项目信息"
name=
"项目信息"
>
<el-collapse-item
title=
"项目信息"
name=
"项目信息"
>
...
@@ -157,6 +149,15 @@
...
@@ -157,6 +149,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -168,7 +169,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
...
@@ -168,7 +169,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
// 引入增强后的DynamicTable组件
// 引入增强后的DynamicTable组件
import
DynamicTable
from
"../../components/FormDynamicTable/index.vue"
;
import
DynamicTable
from
"../../components/FormDynamicTable/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 初始化全局变量
// 初始化全局变量
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
route
=
useRoute
();
...
@@ -399,8 +400,6 @@ onMounted(() => {
...
@@ -399,8 +400,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.add-project-container {
.add-project-container {
padding: 20px;
padding: 20px;
background: #f5f7fa;
background: #f5f7fa;
...
...
src/views/castbehind/investmentCecovery.vue
View file @
a371fcfa
...
@@ -175,6 +175,4 @@ onMounted(() => {
...
@@ -175,6 +175,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/castbehind/investmentCecoveryAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"20
0"
:disabled=
"isPreview"
>
<el-form
:model=
"formData"
label-width=
"15
0"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"项目基本信息"
name=
"项目基本信息"
>
<el-collapse-item
title=
"项目基本信息"
name=
"项目基本信息"
>
<el-row
:gutter=
"24"
>
<el-row
:gutter=
"24"
>
...
@@ -359,6 +351,15 @@
...
@@ -359,6 +351,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -369,6 +370,7 @@ import { useRouter, useRoute } from "vue-router";
...
@@ -369,6 +370,7 @@ import { useRouter, useRoute } from "vue-router";
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
FinancialTable
from
"@/components/FinancialTable.vue"
;
import
FinancialTable
from
"@/components/FinancialTable.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
const
transferColumns
=
ref
([
const
transferColumns
=
ref
([
{
{
prop
:
"njfcgbl"
,
prop
:
"njfcgbl"
,
...
@@ -702,9 +704,6 @@ onMounted(() => {
...
@@ -702,9 +704,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
// @import "@/styles/manage.less";
.DynamicTable-slot {
.DynamicTable-slot {
display: flex;
display: flex;
div {
div {
...
...
src/views/castbehind/runningPeriod.vue
View file @
a371fcfa
...
@@ -159,6 +159,4 @@ onMounted(() => {
...
@@ -159,6 +159,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/castbehind/runningPeriodAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<!-- 基本信息 -->
<!-- 基本信息 -->
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
...
@@ -70,6 +62,15 @@
...
@@ -70,6 +62,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -79,6 +80,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -79,6 +80,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
// 引入通用组件
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
// 引入通用组件
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 初始化全局变量
// 初始化全局变量
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
route
=
useRoute
();
...
@@ -316,6 +318,4 @@ onMounted(() => {
...
@@ -316,6 +318,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/castbehind/turnover.vue
View file @
a371fcfa
...
@@ -194,6 +194,4 @@ onMounted(() => {
...
@@ -194,6 +194,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/castbehind/turnoverAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<!-- 项目信息 -->
<!-- 项目信息 -->
<el-collapse-item
title=
"项目信息"
name=
"项目信息"
>
<el-collapse-item
title=
"项目信息"
name=
"项目信息"
>
...
@@ -81,6 +73,15 @@
...
@@ -81,6 +73,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -90,7 +91,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -90,7 +91,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 路由与全局实例
// 路由与全局实例
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
route
=
useRoute
();
...
@@ -246,6 +247,4 @@ onMounted(() => {
...
@@ -246,6 +247,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/elseManage/cost.vue
View file @
a371fcfa
...
@@ -187,6 +187,4 @@ onMounted(() => {
...
@@ -187,6 +187,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/elseManage/costAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<!-- 项目信息 -->
<!-- 项目信息 -->
<el-collapse-item
title=
"项目信息"
name=
"项目信息"
>
<el-collapse-item
title=
"项目信息"
name=
"项目信息"
>
...
@@ -61,6 +53,15 @@
...
@@ -61,6 +53,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -70,7 +71,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -70,7 +71,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
costTab
from
"./costTab1.vue"
;
import
costTab
from
"./costTab1.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 路由与全局实例
// 路由与全局实例
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
route
=
useRoute
();
...
@@ -645,6 +646,4 @@ onMounted(() => {
...
@@ -645,6 +646,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/annual.vue
View file @
a371fcfa
...
@@ -191,6 +191,4 @@ onMounted(() => {
...
@@ -191,6 +191,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/annualAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"200
"
:disabled=
"isPreview"
>
<el-form
label-width=
"150"
:model=
"formData
"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<!-- 基本信息:字段完全对齐数据库 -->
<!-- 基本信息:字段完全对齐数据库 -->
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
...
@@ -155,7 +147,10 @@
...
@@ -155,7 +147,10 @@
<el-collapse-item
title=
"战略类A"
name=
"战略类A"
>
<el-collapse-item
title=
"战略类A"
name=
"战略类A"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否国家中长期规划重大项目(A1)"
>
<el-form-item
label-width=
"200"
label=
"是否国家中长期规划重大项目(A1)"
>
<CommonSelector
<CommonSelector
:radio=
"true"
:radio=
"true"
v-model=
"formData.sfgjzcqghzdxm"
v-model=
"formData.sfgjzcqghzdxm"
...
@@ -164,7 +159,10 @@
...
@@ -164,7 +159,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否国家有关部门下达的重点项目(A2)"
>
<el-form-item
label-width=
"200"
label=
"是否国家有关部门下达的重点项目(A2)"
>
<CommonSelector
<CommonSelector
:radio=
"true"
:radio=
"true"
v-model=
"formData.sfgjygbmxddzdxm"
v-model=
"formData.sfgjygbmxddzdxm"
...
@@ -173,7 +171,10 @@
...
@@ -173,7 +171,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"大规模设备更新(A3)"
>
<el-form-item
label-width=
"200"
label=
"大规模设备更新(A3)"
>
<CommonSelector
<CommonSelector
:radio=
"true"
:radio=
"true"
v-model=
"formData.dgmsbgx"
v-model=
"formData.dgmsbgx"
...
@@ -182,7 +183,10 @@
...
@@ -182,7 +183,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"战略性新兴产业百大工程(A4)"
>
<el-form-item
label-width=
"200"
label=
"战略性新兴产业百大工程(A4)"
>
<CommonSelector
<CommonSelector
:radio=
"true"
:radio=
"true"
v-model=
"formData.zlxxxcybdgc"
v-model=
"formData.zlxxxcybdgc"
...
@@ -192,6 +196,7 @@
...
@@ -192,6 +196,7 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
<el-form-item
label-width=
"200"
label=
"列入央企产业焕新和未来产业启航行动的项目(A5)"
label=
"列入央企产业焕新和未来产业启航行动的项目(A5)"
>
>
<CommonSelector
<CommonSelector
...
@@ -202,7 +207,10 @@
...
@@ -202,7 +207,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"强链补链重点项目(A6)"
>
<el-form-item
label-width=
"200"
label=
"强链补链重点项目(A6)"
>
<CommonSelector
<CommonSelector
:radio=
"true"
:radio=
"true"
v-model=
"formData.qlblzdxm"
v-model=
"formData.qlblzdxm"
...
@@ -211,7 +219,10 @@
...
@@ -211,7 +219,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"对应重大或重点项目名录名称"
>
<el-form-item
label-width=
"200"
label=
"对应重大或重点项目名录名称"
>
<el-input
<el-input
v-model=
"formData.dyzdhzdxmmlmc"
v-model=
"formData.dyzdhzdxmmlmc"
placeholder=
"请输入对应重大或重点项目名录名称"
placeholder=
"请输入对应重大或重点项目名录名称"
...
@@ -219,7 +230,10 @@
...
@@ -219,7 +230,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"战略性新兴产业分类(如有,必填)"
>
<el-form-item
label-width=
"200"
label=
"战略性新兴产业分类(如有,必填)"
>
<el-input
<el-input
v-model=
"formData.zlxxxcyfl"
v-model=
"formData.zlxxxcyfl"
placeholder=
"请输入战略性新兴产业分类"
placeholder=
"请输入战略性新兴产业分类"
...
@@ -234,6 +248,7 @@
...
@@ -234,6 +248,7 @@
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
<el-form-item
label-width=
"200"
label=
"列入企业发展战略性新兴产业工作方案的项目(B1)"
label=
"列入企业发展战略性新兴产业工作方案的项目(B1)"
>
>
<CommonSelector
<CommonSelector
...
@@ -244,7 +259,10 @@
...
@@ -244,7 +259,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"粮食、能源、矿产资源保障项目(B2)"
>
<el-form-item
label-width=
"200"
label=
"粮食、能源、矿产资源保障项目(B2)"
>
<CommonSelector
<CommonSelector
:radio=
"true"
:radio=
"true"
v-model=
"formData.lsnykczybzxm"
v-model=
"formData.lsnykczybzxm"
...
@@ -254,6 +272,7 @@
...
@@ -254,6 +272,7 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
<el-form-item
label-width=
"200"
label=
"传统产业高端化、智能化、绿色化转型升级项目(B3)"
label=
"传统产业高端化、智能化、绿色化转型升级项目(B3)"
>
>
<CommonSelector
<CommonSelector
...
@@ -264,7 +283,10 @@
...
@@ -264,7 +283,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"支撑企业发展的重点项目(B4)"
>
<el-form-item
label-width=
"200"
label=
"支撑企业发展的重点项目(B4)"
>
<CommonSelector
<CommonSelector
:radio=
"true"
:radio=
"true"
v-model=
"formData.zcqyfzdddxm"
v-model=
"formData.zcqyfzdddxm"
...
@@ -273,7 +295,10 @@
...
@@ -273,7 +295,10 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"制造业技术改造项目"
>
<el-form-item
label-width=
"200"
label=
"制造业技术改造项目"
>
<CommonSelector
<CommonSelector
:radio=
"true"
:radio=
"true"
v-model=
"formData.zzyjsgzxm"
v-model=
"formData.zzyjsgzxm"
...
@@ -778,7 +803,10 @@
...
@@ -778,7 +803,10 @@
>
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"参股单位出资情况修正"
>
<el-form-item
label-width=
"200"
label=
"参股单位出资情况修正"
>
<DynamicTable
<DynamicTable
:columns=
"transferColumns"
:columns=
"transferColumns"
:disabled=
"isPreview"
:disabled=
"isPreview"
...
@@ -798,6 +826,16 @@
...
@@ -798,6 +826,16 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<
template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -808,7 +846,7 @@ import { useRouter, useRoute } from "vue-router";
...
@@ -808,7 +846,7 @@ import { useRouter, useRoute } from "vue-router";
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
annualPlan
from
"./annualPlan.vue"
;
import
annualPlan
from
"./annualPlan.vue"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// ========== 年度计划子组件专属时间列表【核心:适配任意年份,父子唯一统一】 ==========
// ========== 年度计划子组件专属时间列表【核心:适配任意年份,父子唯一统一】 ==========
const
annualDynamicTimeList
=
ref
([]);
const
annualDynamicTimeList
=
ref
([]);
...
@@ -1481,56 +1519,3 @@ onMounted(() => {
...
@@ -1481,56 +1519,3 @@ onMounted(() => {
}
}
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.add-project-container {
width: 100%;
height: 100%;
padding: 20px;
box-sizing: border-box;
}
.add-project-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.tab-content {
background: #fff;
padding: 20px;
border-radius: 4px;
}
// 表格样式优化:两个表格统一样式,逻辑独立
:deep(.el-table-cell) {
padding-left: 8px !important;
box-sizing: border-box;
}
:deep(.el-input-number__input) {
text-align: right;
padding-right: 25px;
}
:deep(.el-collapse-item__header) {
font-weight: bold;
}
:deep(.el-table) {
--el-table-border-color: #ebeef5;
}
// 文本域宽度适配
:deep(.el-textarea__inner) {
width: 100% !important;
}
// 年度计划表格子组件容器
.annualPlans {
width: 100%;
overflow-x: auto;
}
// 修复数字输入框样式
:deep(.el-input-number) {
width: 100%;
}
</
style
>
src/views/everydayPage/everyday.vue
View file @
a371fcfa
...
@@ -186,6 +186,4 @@ onMounted(() => {
...
@@ -186,6 +186,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/everydayAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<!-- 表单模型绑定表字段formData,保留原有布局/禁用逻辑 -->
<!-- 表单模型绑定表字段formData,保留原有布局/禁用逻辑 -->
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<!-- 文件名称 → 绑定wjmc -->
<!-- 文件名称 → 绑定wjmc -->
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -62,7 +55,7 @@
...
@@ -62,7 +55,7 @@
<!-- 附件 → 绑定fjsc -->
<!-- 附件 → 绑定fjsc -->
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"附件"
label-width=
"200"
>
<el-form-item
label=
"附件"
>
<FileUploader
v-model=
"formData.fjsc"
/>
<FileUploader
v-model=
"formData.fjsc"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -71,6 +64,15 @@
...
@@ -71,6 +64,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -81,6 +83,7 @@ import { useRouter, useRoute } from "vue-router";
...
@@ -81,6 +83,7 @@ import { useRouter, useRoute } from "vue-router";
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
// 附件上传组件保留
// 附件上传组件保留
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 路由&全局实例(原有逻辑保留)
// 路由&全局实例(原有逻辑保留)
const
router
=
useRouter
();
const
router
=
useRouter
();
...
@@ -162,8 +165,6 @@ onMounted(() => {
...
@@ -162,8 +165,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.add-project-container {
.add-project-container {
padding: 20px;
padding: 20px;
background: #f5f7fa;
background: #f5f7fa;
...
...
src/views/everydayPage/informationConstruction.vue
View file @
a371fcfa
...
@@ -179,6 +179,4 @@ onMounted(() => {
...
@@ -179,6 +179,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/informationConstructionAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"问题标题"
required
>
<el-form-item
label=
"问题标题"
required
>
...
@@ -45,7 +37,7 @@
...
@@ -45,7 +37,7 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label
-width=
"0"
label=
"
"
>
<el-form-item
label
=
"问题文件
"
>
<FileUploader
v-model=
"formData.fjsc"
/>
<FileUploader
v-model=
"formData.fjsc"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -54,6 +46,15 @@
...
@@ -54,6 +46,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -63,7 +64,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -63,7 +64,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 路由&全局实例
// 路由&全局实例
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
route
=
useRoute
();
...
@@ -155,8 +156,6 @@ onMounted(() => {
...
@@ -155,8 +156,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.add-project-container {
.add-project-container {
padding: 20px;
padding: 20px;
background: #f5f7fa;
background: #f5f7fa;
...
...
src/views/everydayPage/investment.vue
View file @
a371fcfa
...
@@ -201,6 +201,4 @@ onMounted(() => {
...
@@ -201,6 +201,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/investmentAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"200
"
:disabled=
"isPreview"
>
<el-form
label-width=
"150"
:model=
"formData
"
:disabled=
"isPreview"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<!-- 事项名称 -->
<!-- 事项名称 -->
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -102,19 +94,19 @@
...
@@ -102,19 +94,19 @@
<!-- 附件上传区域 - 上级单位投资规划 -->
<!-- 附件上传区域 - 上级单位投资规划 -->
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"上级单位投资规划"
label-width=
"200"
>
<el-form-item
label=
"上级单位投资规划"
>
<FileUploader
v-model=
"formData.sjdwtzgh"
/>
<FileUploader
v-model=
"formData.sjdwtzgh"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<!-- 附件上传区域 - 本级单位投资规划 -->
<!-- 附件上传区域 - 本级单位投资规划 -->
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"本级单位投资规划"
label-width=
"200"
>
<el-form-item
label=
"本级单位投资规划"
>
<FileUploader
v-model=
"formData.bjdwtzgh"
/>
<FileUploader
v-model=
"formData.bjdwtzgh"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<!-- 附件上传区域 - 其他材料 -->
<!-- 附件上传区域 - 其他材料 -->
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"其他材料"
label-width=
"200"
>
<el-form-item
label=
"其他材料"
>
<FileUploader
v-model=
"formData.qtcl"
/>
<FileUploader
v-model=
"formData.qtcl"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -123,6 +115,15 @@
...
@@ -123,6 +115,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -132,7 +133,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -132,7 +133,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 路由&全局实例
// 路由&全局实例
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
route
=
useRoute
();
...
@@ -240,6 +241,4 @@ onMounted(() => {
...
@@ -240,6 +241,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/record.vue
View file @
a371fcfa
...
@@ -177,6 +177,4 @@ onMounted(() => {
...
@@ -177,6 +177,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/recordAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<!-- 仅保留档案基本信息折叠项,删除所有无用折叠项 -->
<!-- 仅保留档案基本信息折叠项,删除所有无用折叠项 -->
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"档案基本信息"
name=
"档案基本信息"
>
<el-collapse-item
title=
"档案基本信息"
name=
"档案基本信息"
>
...
@@ -105,6 +98,15 @@
...
@@ -105,6 +98,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -116,6 +118,7 @@ import { ElMessage } from "element-plus";
...
@@ -116,6 +118,7 @@ import { ElMessage } from "element-plus";
import
{
useUserStore
}
from
"@/stores/user.js"
;
import
{
useUserStore
}
from
"@/stores/user.js"
;
// 引入组件:仅保留实际用到的
// 引入组件:仅保留实际用到的
import
FileUploader
from
"@/components/FileUploader/index.vue"
;
import
FileUploader
from
"@/components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 初始化必要全局变量:删除无用的token/options
// 初始化必要全局变量:删除无用的token/options
const
userStore
=
useUserStore
();
const
userStore
=
useUserStore
();
...
@@ -242,6 +245,4 @@ onMounted(() => {
...
@@ -242,6 +245,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/share.vue
View file @
a371fcfa
...
@@ -191,6 +191,4 @@ onMounted(() => {
...
@@ -191,6 +191,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/shareAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"20
0"
:disabled=
"isPreview"
>
<el-form
:model=
"formData"
label-width=
"15
0"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
...
@@ -499,6 +492,15 @@
...
@@ -499,6 +492,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<
template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -508,7 +510,7 @@ import { reactive, ref, onMounted, getCurrentInstance, h, computed } from "vue";
...
@@ -508,7 +510,7 @@ import { reactive, ref, onMounted, getCurrentInstance, h, computed } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
useUserStore
}
from
"@/stores/user.js"
;
import
{
useUserStore
}
from
"@/stores/user.js"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 初始化全局变量
// 初始化全局变量
const
userStore
=
useUserStore
();
const
userStore
=
useUserStore
();
const
router
=
useRouter
();
const
router
=
useRouter
();
...
@@ -854,9 +856,6 @@ onMounted(() => {
...
@@ -854,9 +856,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
// @import "@/styles/manage.less";
.subtotal {
.subtotal {
background-color: #f5f7fa;
background-color: #f5f7fa;
height: 40px;
height: 40px;
...
...
src/views/everydayPage/system.vue
View file @
a371fcfa
...
@@ -187,6 +187,4 @@ onMounted(() => {
...
@@ -187,6 +187,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/systemAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"文件名称"
>
<el-form-item
label=
"文件名称"
>
...
@@ -74,6 +66,15 @@
...
@@ -74,6 +66,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -83,7 +84,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -83,7 +84,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 路由&全局实例
// 路由&全局实例
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
route
=
useRoute
();
...
@@ -159,8 +160,6 @@ onMounted(() => {
...
@@ -159,8 +160,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.add-project-container {
.add-project-container {
padding: 20px;
padding: 20px;
background: #f5f7fa;
background: #f5f7fa;
...
...
src/views/everydayPage/vscouncil.vue
View file @
a371fcfa
...
@@ -197,6 +197,4 @@ onMounted(() => {
...
@@ -197,6 +197,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/everydayPage/vscouncilAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<!-- 会议编号(必填、唯一) -->
<!-- 会议编号(必填、唯一) -->
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -77,7 +70,7 @@
...
@@ -77,7 +70,7 @@
</el-col>
</el-col>
<!-- 会议纪要附件(无需额外处理,组件直接绑定) -->
<!-- 会议纪要附件(无需额外处理,组件直接绑定) -->
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"会议纪要附件"
label-width=
"200"
>
<el-form-item
label=
"会议纪要附件"
>
<FileUploader
v-model=
"formData.meetingMinutesAttachment"
/>
<FileUploader
v-model=
"formData.meetingMinutesAttachment"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -86,6 +79,15 @@
...
@@ -86,6 +79,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -95,6 +97,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -95,6 +97,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 路由&全局实例
// 路由&全局实例
const
router
=
useRouter
();
const
router
=
useRouter
();
...
@@ -202,8 +205,6 @@ onMounted(() => {
...
@@ -202,8 +205,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.add-project-container {
.add-project-container {
padding: 20px;
padding: 20px;
background: #f5f7fa;
background: #f5f7fa;
...
...
src/views/investingManage/addControl.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"80"
:disabled=
"isPreview"
>
<el-form
:model=
"formData"
:label-width=
"80"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"
投资额控制"
name=
"投资额控制
"
>
<el-collapse-item
title=
"
项目信息"
name=
"项目信息
"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目信息"
required
>
<el-form-item
label=
"项目信息"
required
>
...
@@ -890,6 +882,15 @@
...
@@ -890,6 +882,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<
template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -898,6 +899,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -898,6 +899,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
FileUploader
from
"@/components/FileUploader/index.vue"
;
import
FileUploader
from
"@/components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
import
{
useUserStore
}
from
"@/stores/user.js"
;
import
{
useUserStore
}
from
"@/stores/user.js"
;
const
userStore
=
useUserStore
();
const
userStore
=
useUserStore
();
...
@@ -1340,7 +1342,6 @@ const saveClick = () => {
...
@@ -1340,7 +1342,6 @@ const saveClick = () => {
}
}
}
}
}
}
@import "@/styles/manage.less";
.add-project-header {
.add-project-header {
margin-bottom: 10px;
margin-bottom: 10px;
}
}
...
...
src/views/investingManage/addRisk.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
...
@@ -374,6 +367,15 @@
...
@@ -374,6 +367,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<
template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -392,6 +394,7 @@ const route = useRoute();
...
@@ -392,6 +394,7 @@ const route = useRoute();
const
{
proxy
}
=
getCurrentInstance
();
const
{
proxy
}
=
getCurrentInstance
();
let
token
=
ref
(
""
);
let
token
=
ref
(
""
);
token
.
value
=
userStore
.
authToken
||
sessionStorage
.
getItem
(
"authToken"
)
||
""
;
token
.
value
=
userStore
.
authToken
||
sessionStorage
.
getItem
(
"authToken"
)
||
""
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
const
activeCollapse
=
reactive
([
"基本信息"
,
"已发现或暴露的风险"
]);
const
activeCollapse
=
reactive
([
"基本信息"
,
"已发现或暴露的风险"
]);
let
formData
=
reactive
({});
let
formData
=
reactive
({});
...
@@ -570,7 +573,6 @@ const saveClick = () => {
...
@@ -570,7 +573,6 @@ const saveClick = () => {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
@import "@/styles/manage.less";
.add-project-header {
.add-project-header {
margin-bottom: 10px;
margin-bottom: 10px;
}
}
...
...
src/views/investingManage/addStatement.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<el-tabs
v-model=
"pageActiveName"
type=
"border-card"
>
<el-tabs
v-model=
"pageActiveName"
type=
"border-card"
>
<el-tab-pane
label=
"全生命周期责任书"
name=
"全生命周期责任书"
>
<el-tab-pane
label=
"全生命周期责任书"
name=
"全生命周期责任书"
>
...
@@ -167,7 +160,6 @@
...
@@ -167,7 +160,6 @@
:max=
"99999999999.99999999"
:max=
"99999999999.99999999"
controls-position=
"right"
controls-position=
"right"
></el-input-number>
></el-input-number>
年
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -523,6 +515,15 @@
...
@@ -523,6 +515,15 @@
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<
template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -539,6 +540,7 @@ const { proxy } = getCurrentInstance();
...
@@ -539,6 +540,7 @@ const { proxy } = getCurrentInstance();
const
pageActiveName
=
ref
(
"全生命周期责任书"
);
const
pageActiveName
=
ref
(
"全生命周期责任书"
);
let
token
=
ref
(
""
);
let
token
=
ref
(
""
);
token
.
value
=
userStore
.
authToken
||
sessionStorage
.
getItem
(
"authToken"
)
||
""
;
token
.
value
=
userStore
.
authToken
||
sessionStorage
.
getItem
(
"authToken"
)
||
""
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
const
activeCollapse
=
reactive
([
const
activeCollapse
=
reactive
([
"责任书基本信息"
,
"责任书基本信息"
,
...
@@ -1041,7 +1043,6 @@ const saveClick = () => {
...
@@ -1041,7 +1043,6 @@ const saveClick = () => {
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
@import "@/styles/manage.less";
.add-project-header {
.add-project-header {
margin-bottom: 10px;
margin-bottom: 10px;
}
}
...
...
src/views/investingManage/bigIssues.vue
View file @
a371fcfa
...
@@ -196,6 +196,4 @@ onMounted(() => {
...
@@ -196,6 +196,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/investingManage/bigIssuesAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<!-- 项目信息选择 -->
<!-- 项目信息选择 -->
<el-row
:gutter=
"20"
style=
"margin-bottom: 20px"
>
<el-row
:gutter=
"20"
style=
"margin-bottom: 20px"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -123,6 +115,15 @@
...
@@ -123,6 +115,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -132,7 +133,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -132,7 +133,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 初始化全局变量
// 初始化全局变量
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
route
=
useRoute
();
...
@@ -270,8 +271,6 @@ onMounted(() => {
...
@@ -270,8 +271,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
// 标签页样式优化
// 标签页样式优化
:deep(.el-tabs--border-card) {
:deep(.el-tabs--border-card) {
--el-tabs-card-border-color: var(--el-border-color);
--el-tabs-card-border-color: var(--el-border-color);
...
...
src/views/investingManage/construction.vue
View file @
a371fcfa
...
@@ -161,6 +161,4 @@ onMounted(() => {
...
@@ -161,6 +161,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/investingManage/constructionAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:
label-width=
"200"
:
disabled=
"isPreview"
>
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<!-- 基本信息 -->
<!-- 基本信息 -->
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
...
@@ -222,6 +215,15 @@
...
@@ -222,6 +215,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<
template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -231,6 +233,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -231,6 +233,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
// 初始化全局变量
// 初始化全局变量
const
router
=
useRouter
();
const
router
=
useRouter
();
...
@@ -403,8 +406,6 @@ onMounted(() => {
...
@@ -403,8 +406,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.tab-handle {
.tab-handle {
margin-bottom: 10px;
margin-bottom: 10px;
text-align: left;
text-align: left;
...
...
src/views/investingManage/constructionTime.vue
View file @
a371fcfa
...
@@ -175,6 +175,4 @@ onMounted(() => {
...
@@ -175,6 +175,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/investingManage/constructionTimeAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"20
0"
:disabled=
"isPreview"
>
<el-form
:model=
"formData"
label-width=
"15
0"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"项目基本信息"
name=
"项目基本信息"
>
<el-collapse-item
title=
"项目基本信息"
name=
"项目基本信息"
>
<el-row
:gutter=
"24"
>
<el-row
:gutter=
"24"
>
...
@@ -359,6 +351,15 @@
...
@@ -359,6 +351,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -369,6 +370,7 @@ import { useRouter, useRoute } from "vue-router";
...
@@ -369,6 +370,7 @@ import { useRouter, useRoute } from "vue-router";
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
FinancialTable
from
"@/components/FinancialTable.vue"
;
import
FinancialTable
from
"@/components/FinancialTable.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
const
transferColumns
=
ref
([
const
transferColumns
=
ref
([
{
{
prop
:
"njfcgbl"
,
prop
:
"njfcgbl"
,
...
@@ -701,9 +703,6 @@ onMounted(() => {
...
@@ -701,9 +703,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
// @import "@/styles/manage.less";
.DynamicTable-slot {
.DynamicTable-slot {
display: flex;
display: flex;
div {
div {
...
...
src/views/investingManage/decision.vue
View file @
a371fcfa
...
@@ -191,6 +191,4 @@ onMounted(() => {
...
@@ -191,6 +191,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/investingManage/decisionAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-tabs
v-model=
"pageActiveName"
type=
"border-card"
>
<el-tabs
v-model=
"pageActiveName"
type=
"border-card"
>
<el-tab-pane
label=
"基础信息"
name=
"基础信息"
>
<el-tab-pane
label=
"基础信息"
name=
"基础信息"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<el-form
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
:model=
"formData"
:label-width=
"200"
:disabled=
"isPreview"
>
<!-- 1. 项目基本信息 -->
<!-- 1. 项目基本信息 -->
<el-collapse-item
title=
"项目基本信息"
name=
"项目基本信息"
>
<el-collapse-item
title=
"项目基本信息"
name=
"项目基本信息"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
...
@@ -861,11 +849,7 @@
...
@@ -861,11 +849,7 @@
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"申请报告"
name=
"申请报告"
>
<el-tab-pane
label=
"申请报告"
name=
"申请报告"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<el-form
<el-form
:model=
"formData"
:disabled=
"isPreview"
>
:model=
"formData"
:label-width=
"200"
:disabled=
"isPreview"
>
<!-- 一、项目背景 -->
<!-- 一、项目背景 -->
<el-collapse-item
title=
"一、项目背景"
name=
"一、项目背景"
>
<el-collapse-item
title=
"一、项目背景"
name=
"一、项目背景"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
...
@@ -1316,6 +1300,15 @@
...
@@ -1316,6 +1300,15 @@
</el-tabs>
</el-tabs>
</el-collapse>
</el-collapse>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -1325,7 +1318,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
...
@@ -1325,7 +1318,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
import
FileUploader
from
"@/components/FileUploader/index.vue"
;
import
FileUploader
from
"@/components/FileUploader/index.vue"
;
import
FinancialTable
from
"@/components/FinancialTable.vue"
;
import
FinancialTable
from
"@/components/FinancialTable.vue"
;
...
@@ -2517,20 +2510,3 @@ onMounted(() => {
...
@@ -2517,20 +2510,3 @@ onMounted(() => {
}
}
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
// 调整折叠面板和表格样式
:deep(.el-collapse-item__header) {
font-weight: 600;
}
:deep(.el-table) {
--el-table-header-text-color: #333;
--el-table-row-hover-bg-color: #f8f9fa;
}
// 文件上传组件间距
:deep(.el-form-item) {
margin-bottom: 20px;
}
</
style
>
src/views/investingManage/majorRisk.vue
View file @
a371fcfa
...
@@ -155,6 +155,4 @@ onMounted(() => {
...
@@ -155,6 +155,4 @@ onMounted(() => {
getProjectData
();
getProjectData
();
});
});
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/investingManage/quit.vue
View file @
a371fcfa
...
@@ -187,6 +187,4 @@ onMounted(() => {
...
@@ -187,6 +187,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/investingManage/quitAdd.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-container"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-content"
v-loading=
"loading"
>
<div
class=
"add-project-header"
>
<routerBack
/>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
<div
class=
"tabs-content"
>
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"20
0"
:disabled=
"isPreview"
>
<el-form
:model=
"formData"
label-width=
"15
0"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse
v-model=
"activeCollapse"
>
<!-- 选择类型 -->
<!-- 选择类型 -->
<el-collapse-item
title=
"选择类型"
name=
"选择类型"
>
<el-collapse-item
title=
"选择类型"
name=
"选择类型"
>
...
@@ -261,7 +253,7 @@
...
@@ -261,7 +253,7 @@
<el-collapse-item
title=
"项目投资效益"
name=
"项目投资效益"
>
<el-collapse-item
title=
"项目投资效益"
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
-width=
"0
"
>
<DynamicTable
<DynamicTable
:showDeleteButton=
"false"
:showDeleteButton=
"false"
:showAddButton=
"false"
:showAddButton=
"false"
...
@@ -740,6 +732,15 @@
...
@@ -740,6 +732,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"add-project-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"default"
@
click=
"backClick"
>
返回
</el-button>
<
template
v-if=
"!loading && !isPreview"
>
<el-button
type=
"primary"
@
click=
"saveClick"
>
保存
</el-button>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -750,7 +751,7 @@ import { useRouter, useRoute } from "vue-router";
...
@@ -750,7 +751,7 @@ import { useRouter, useRoute } from "vue-router";
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
DynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
import
FileUploader
from
"@/components/FileUploader/index.vue"
;
import
FileUploader
from
"@/components/FileUploader/index.vue"
;
import
routerBack
from
"@/components/common/routerBack.vue"
;
const
transferColumns
=
ref
([
const
transferColumns
=
ref
([
{
{
prop
:
"njfcgbl"
,
prop
:
"njfcgbl"
,
...
@@ -1192,61 +1193,4 @@ onMounted(() => {
...
@@ -1192,61 +1193,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
.add-project-container {
width: 100%;
height: 100%;
padding: 20px;
box-sizing: border-box;
}
.add-project-content {
background: #fff;
border-radius: 8px;
padding: 20px;
height: 100%;
overflow-y: auto;
}
.add-project-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 1px solid #e6e6e6;
}
.header-right {
display: flex;
gap: 10px;
}
.tabs-content {
width: 100%;
}
.project-tab-content {
width: 100%;
}
.tab-content {
width: 100%;
}
.el-collapse {
--el-collapse-header-text-color: #303133;
--el-collapse-header-font-size: 16px;
}
.el-table {
--el-table-row-hover-bg-color: #f8f9fa;
margin-bottom: 10px;
}
.el-input-number {
width: 100%;
}
</
style
>
src/views/investingManage/targetControl.vue
View file @
a371fcfa
...
@@ -171,6 +171,4 @@ onMounted(() => {
...
@@ -171,6 +171,4 @@ onMounted(() => {
jcdwList
=
resourceData
.
jcdw
;
jcdwList
=
resourceData
.
jcdw
;
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/investingManage/targetLiabilityStatement.vue
View file @
a371fcfa
...
@@ -182,6 +182,4 @@ onMounted(() => {
...
@@ -182,6 +182,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/projectManage/addProject.vue
View file @
a371fcfa
This diff is collapsed.
Click to expand it.
src/views/projectManage/projectAllPage.vue
View file @
a371fcfa
...
@@ -265,6 +265,4 @@ const previewProject = (item) => {
...
@@ -265,6 +265,4 @@ const previewProject = (item) => {
};
};
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/projectManage/projectArgument.vue
View file @
a371fcfa
...
@@ -162,6 +162,4 @@ const approvalProject = (item) => {
...
@@ -162,6 +162,4 @@ const approvalProject = (item) => {
};
};
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/projectManage/projectDecision.vue
View file @
a371fcfa
...
@@ -159,6 +159,4 @@ const previewProject = (item) => {
...
@@ -159,6 +159,4 @@ const previewProject = (item) => {
};
};
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/projectManage/projectDraft.vue
View file @
a371fcfa
...
@@ -188,6 +188,4 @@ const deleteProject = (item) => {
...
@@ -188,6 +188,4 @@ const deleteProject = (item) => {
};
};
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/projectManage/projectSetUp.vue
View file @
a371fcfa
...
@@ -176,6 +176,4 @@ const fillDecision = (item) => {
...
@@ -176,6 +176,4 @@ const fillDecision = (item) => {
};
};
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/projectManage/templateManage.vue
View file @
a371fcfa
...
@@ -142,6 +142,4 @@ const exportData = () => {
...
@@ -142,6 +142,4 @@ const exportData = () => {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/systemManage/departManage.vue
View file @
a371fcfa
...
@@ -309,7 +309,6 @@ onMounted(() => {
...
@@ -309,7 +309,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.depart-manage {
.depart-manage {
padding: 20px;
padding: 20px;
background: rgba(157, 188, 218, 0.1);
background: rgba(157, 188, 218, 0.1);
...
...
src/views/systemManage/menuManage.vue
View file @
a371fcfa
...
@@ -216,6 +216,4 @@ onMounted(() => {
...
@@ -216,6 +216,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
style
>
src/views/systemManage/message.vue
View file @
a371fcfa
<
template
>
<
template
>
<div
class=
"system-manage-container message-container"
v-loading=
"loading"
>
<div
class=
"manage-container"
>
<div
class=
"manage-wrap"
>
<search-form
@
search=
"handleSearch"
/>
<div
class=
"system-manage-container message-container"
v-loading=
"loading"
>
<div
class=
"system-manage-content manage-content"
>
<div
class=
"system-manage-content manage-content"
>
<common-table
<common-table
:autoHeight=
"true"
:autoHeight=
"true"
:maxRows=
"10"
:maxRows=
"10"
:rowHeight=
"40"
:rowHeight=
"40"
:data=
"tableData"
:data=
"tableData"
:columns=
"tableColumns"
:columns=
"tableColumns"
:total=
"total"
:total=
"total"
:current-page=
"currentPage"
:current-page=
"currentPage"
:page-size=
"pageSize"
:page-size=
"pageSize"
title=
""
title=
""
:index=
"true"
:index=
"true"
:border=
"true"
:border=
"true"
@
size-change=
"handleSizeChange"
@
size-change=
"handleSizeChange"
@
current-page-change=
"handleCurrentPageChange"
@
current-page-change=
"handleCurrentPageChange"
>
>
<template
#
operations=
"
{ row, index }">
<template
#
operations=
"
{ row, index }">
<el-button
link
type=
"primary"
size=
"small"
@
click=
"handlePreview(row, index)"
>
<el-button
查看
link
</el-button>
type=
"primary"
<el-button
link
type=
"danger"
size=
"small"
@
click=
"handleDelete(row, index)"
>
size=
"small"
删除
@
click=
"handlePreview(row, index)"
</el-button>
>
</
template
>
查看
</common-table>
</el-button>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"handleDelete(row, index)"
>
删除
</el-button>
</
template
>
</common-table>
</div>
</div>
<el-dialog
v-model=
"messageDialogVisible"
title=
""
width=
"500"
align-center
<el-dialog
@
close=
"closeDialog"
v-model=
"messageDialogVisible"
title=
""
width=
"500"
align-center
@
close=
"closeDialog"
>
>
<div
class=
"message-wrap"
>
<div
class=
"message-wrap"
>
<div
class=
"message-title"
>
{{ messageInfo.title }}
</div>
<div
class=
"message-title"
>
{{ messageInfo.title }}
</div>
<div
class=
"message-content"
>
<div
class=
"message-content"
>
<div
class=
"label"
>
消息类型:
</div>
<div
class=
"label"
>
消息类型:
</div>
<div
class=
"info"
>
{{ messageInfo.type === 2 ? "项目初步审核" : messageInfo.type === 3 ? "项目终审" : "系统消息" }}
</div>
<div
class=
"info"
>
{{
messageInfo.type === 2
? "项目初步审核"
: messageInfo.type === 3
? "项目终审"
: "系统消息"
}}
</div>
</div>
<div
class=
"message-content"
>
</div>
<div
class=
"label"
>
时间:
</div>
<div
class=
"message-content"
>
<div
class=
"info"
>
{{ proxy.moment(messageInfo.createdAt).format("YYYY-MM-DD HH:mm:SS") }}
</div>
<div
class=
"label"
>
时间:
</div>
</div>
<div
class=
"info"
>
<div
class=
"message-content"
>
{{
<div
class=
"label"
>
备注:
</div>
proxy
<div
class=
"info"
>
{{ messageInfo.content }}
</div>
.moment(messageInfo.createdAt)
.format("YYYY-MM-DD HH:mm:SS")
}}
</div>
</div>
</div>
</div>
<
template
#
footer
>
<div
class=
"message-content"
>
<div
class=
"dialog-footer"
>
<div
class=
"label"
>
备注:
</div>
<el-button
@
click=
"closeDialog"
>
关闭
</el-button>
<div
class=
"info"
>
{{ messageInfo.content }}
</div>
<el-button
type=
"primary"
@
click=
"toProjectPage"
>
去处理
</el-button>
</div>
</div>
</div>
</
template
>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"closeDialog"
>
关闭
</el-button>
<el-button
type=
"primary"
@
click=
"toProjectPage"
>
去处理
</el-button
>
</div>
</
template
>
</el-dialog>
</el-dialog>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
ref
,
reactive
,
onMounted
,
getCurrentInstance
,
computed
,
nextTick
}
from
"vue"
;
import
{
ref
,
reactive
,
onMounted
,
getCurrentInstance
,
computed
,
nextTick
,
}
from
"vue"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
useRouter
}
from
"vue-router"
;
import
CommonTable
from
"@/components/common/commonTable.vue"
;
import
CommonTable
from
"@/components/common/commonTable.vue"
;
import
SearchForm
from
"@/components/common/SearchForm.vue"
;
const
handleSearch
=
(
formData
)
=>
{
currentPage
.
value
=
1
;
loadTableData
(
formData
);
};
const
router
=
useRouter
();
const
router
=
useRouter
();
const
{
proxy
}
=
getCurrentInstance
();
const
{
proxy
}
=
getCurrentInstance
();
const
loading
=
ref
(
false
);
const
loading
=
ref
(
false
);
...
@@ -72,7 +124,7 @@ const tableColumns = [
...
@@ -72,7 +124,7 @@ const tableColumns = [
{
{
prop
:
"title"
,
prop
:
"title"
,
label
:
"标题"
,
label
:
"标题"
,
minWidth
:
100
minWidth
:
100
,
},
},
{
{
prop
:
"type"
,
prop
:
"type"
,
...
@@ -80,8 +132,12 @@ const tableColumns = [
...
@@ -80,8 +132,12 @@ const tableColumns = [
width
:
120
,
width
:
120
,
align
:
"center"
,
align
:
"center"
,
formatter
:
(
data
)
=>
{
formatter
:
(
data
)
=>
{
return
data
.
type
===
2
?
"项目初步审核"
:
data
.
type
===
3
?
"项目终审"
:
"系统消息"
;
return
data
.
type
===
2
}
?
"项目初步审核"
:
data
.
type
===
3
?
"项目终审"
:
"系统消息"
;
},
},
},
{
{
prop
:
"isRead"
,
prop
:
"isRead"
,
...
@@ -89,8 +145,8 @@ const tableColumns = [
...
@@ -89,8 +145,8 @@ const tableColumns = [
width
:
90
,
width
:
90
,
align
:
"center"
,
align
:
"center"
,
formatter
:
(
data
)
=>
{
formatter
:
(
data
)
=>
{
return
data
.
isRead
?
"已读"
:
"未读"
;
return
data
.
isRead
?
"已读"
:
"未读"
;
}
}
,
},
},
{
{
prop
:
"createdAt"
,
prop
:
"createdAt"
,
...
@@ -98,8 +154,8 @@ const tableColumns = [
...
@@ -98,8 +154,8 @@ const tableColumns = [
width
:
180
,
width
:
180
,
align
:
"center"
,
align
:
"center"
,
formatter
:
(
data
)
=>
{
formatter
:
(
data
)
=>
{
return
proxy
.
moment
(
data
.
createdAt
).
format
(
"YYYY-MM-DD HH:mm:SS"
);
return
proxy
.
moment
(
data
.
createdAt
).
format
(
"YYYY-MM-DD HH:mm:SS"
);
}
}
,
},
},
{
{
prop
:
"operations"
,
prop
:
"operations"
,
...
@@ -108,15 +164,16 @@ const tableColumns = [
...
@@ -108,15 +164,16 @@ const tableColumns = [
slot
:
"operations"
,
slot
:
"operations"
,
fixed
:
"right"
,
fixed
:
"right"
,
align
:
"center"
,
align
:
"center"
,
}
}
,
];
];
const
loadTableData
=
()
=>
{
const
loadTableData
=
(
formData
=
{}
)
=>
{
loading
.
value
=
true
;
loading
.
value
=
true
;
proxy
.
$post
({
proxy
.
$post
({
url
:
"/api/message/getUserMessages"
,
url
:
"/api/message/getUserMessages"
,
data
:
{
data
:
{
page
:
currentPage
.
value
,
page
:
currentPage
.
value
,
pageSize
:
pageSize
.
value
,
pageSize
:
pageSize
.
value
,
...
formData
,
},
},
callback
:
(
data
)
=>
{
callback
:
(
data
)
=>
{
tableData
.
value
=
data
.
rows
;
tableData
.
value
=
data
.
rows
;
...
@@ -149,7 +206,7 @@ const handlePreview = (item) => {
...
@@ -149,7 +206,7 @@ const handlePreview = (item) => {
proxy
.
$post
({
proxy
.
$post
({
url
:
"/api/message/getMessageInfo"
,
url
:
"/api/message/getMessageInfo"
,
data
:
{
data
:
{
id
:
item
.
id
id
:
item
.
id
,
},
},
callback
:
(
data
)
=>
{
callback
:
(
data
)
=>
{
messageDialogVisible
.
value
=
true
;
messageDialogVisible
.
value
=
true
;
...
@@ -159,61 +216,60 @@ const handlePreview = (item) => {
...
@@ -159,61 +216,60 @@ const handlePreview = (item) => {
ElMessage
.
error
(
"加载数据失败"
);
ElMessage
.
error
(
"加载数据失败"
);
},
},
});
});
}
}
;
const
closeDialog
=
()
=>
{
const
closeDialog
=
()
=>
{
messageInfo
.
value
=
{};
messageInfo
.
value
=
{};
messageDialogVisible
.
value
=
false
;
messageDialogVisible
.
value
=
false
;
}
}
;
// 跳转到对应项目
// 跳转到对应项目
const
toProjectPage
=
()
=>
{
const
toProjectPage
=
()
=>
{
router
.
push
({
router
.
push
({
name
:
"addProject"
,
name
:
"addProject"
,
query
:
{
query
:
{
projectId
:
messageInfo
.
value
.
projectId
,
projectId
:
messageInfo
.
value
.
projectId
,
isPreview
:
true
isPreview
:
true
,
}
},
});
});
}
}
;
// 删除
// 删除
const
handleDelete
=
(
row
)
=>
{
const
handleDelete
=
(
row
)
=>
{
ElMessageBox
.
confirm
(
`确定删除该条消息?`
,
"提示"
,
{
ElMessageBox
.
confirm
(
`确定删除该条消息?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
type
:
"warning"
,
}).
then
(()
=>
{
}).
then
(()
=>
{
proxy
.
$post
({
proxy
.
$post
({
url
:
"/api/message/deleteMessage"
,
url
:
"/api/message/deleteMessage"
,
data
:
{
id
:
row
.
id
},
data
:
{
id
:
row
.
id
},
callback
:
(
data
)
=>
{
callback
:
(
data
)
=>
{
ElMessage
.
success
(
"删除成功"
);
ElMessage
.
success
(
"删除成功"
);
loadTableData
();
loadTableData
();
},
},
error
:
(
err
)
=>
{
error
:
(
err
)
=>
{
ElMessage
.
error
(
"删除失败:"
,
err
);
ElMessage
.
error
(
"删除失败:"
,
err
);
},
},
});
});
});
}
});
};
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
@import "@/styles/manage.less";
.message-wrap {
.message-wrap{
.message-title {
.message-title{
font-size: 16px;
font-size: 16px;
font-weight: 600;
font-weight: 600;
margin: 10px 0;
margin: 10px 0;
}
}
.message-content{
.message-content
{
display: flex;
display: flex;
align-items: flex-start;
align-items: flex-start;
margin-bottom: 10px;
margin-bottom: 10px;
.label{
.label
{
width: 80px;
width: 80px;
text-align: justify;
text-align: justify;
text-align-last: justify;
text-align-last: justify;
}
}
.info{
.info
{
flex: 1;
flex: 1;
width: 0;
width: 0;
}
}
...
...
src/views/systemManage/resourceManage.vue
View file @
a371fcfa
...
@@ -175,7 +175,11 @@
...
@@ -175,7 +175,11 @@
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"唯一标识"
prop=
"key"
>
<el-form-item
label=
"唯一标识"
prop=
"key"
>
<el-input
v-model=
"listFormData.key"
placeholder=
"请输入唯一标识"
:disabled=
"!!resourceFormData.id"
/>
<el-input
v-model=
"listFormData.key"
placeholder=
"请输入唯一标识"
:disabled=
"!!resourceFormData.id"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<
template
#
footer
>
<
template
#
footer
>
...
@@ -436,7 +440,6 @@ const handleDelete = async (row, index) => {
...
@@ -436,7 +440,6 @@ const handleDelete = async (row, index) => {
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
@import "@/styles/manage.less";
.tree-content {
.tree-content {
width: 100%;
width: 100%;
height: 150px;
height: 150px;
...
...
src/views/systemManage/roleManage.vue
View file @
a371fcfa
...
@@ -4,7 +4,11 @@
...
@@ -4,7 +4,11 @@
<div
class=
"header-left"
>
<div
class=
"header-left"
>
<el-form
:inline=
"true"
:model=
"searchForm"
>
<el-form
:inline=
"true"
:model=
"searchForm"
>
<el-form-item
label=
"名称查询"
>
<el-form-item
label=
"名称查询"
>
<el-input
v-model=
"searchForm.name"
clearable
@
keydown
.
enter=
"handleSearch"
/>
<el-input
v-model=
"searchForm.name"
clearable
@
keydown
.
enter=
"handleSearch"
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"handleSearch"
>
查询
</el-button>
<el-button
type=
"primary"
@
click=
"handleSearch"
>
查询
</el-button>
...
@@ -36,10 +40,20 @@
...
@@ -36,10 +40,20 @@
@
current-page-change=
"handleCurrentPageChange"
@
current-page-change=
"handleCurrentPageChange"
>
>
<template
#
operations=
"
{ row, index }">
<template
#
operations=
"
{ row, index }">
<el-button
link
type=
"primary"
size=
"small"
@
click=
"handleEdit(row, index)"
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"handleEdit(row, index)"
>
编辑
编辑
</el-button>
</el-button>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"handleDelete(row, index)"
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"handleDelete(row, index)"
>
删除
删除
</el-button>
</el-button>
<!--
<el-button
type=
"text"
size=
"small"
>
数据权限
</el-button>
-->
<!--
<el-button
type=
"text"
size=
"small"
>
数据权限
</el-button>
-->
...
@@ -47,36 +61,48 @@
...
@@ -47,36 +61,48 @@
</common-table>
</common-table>
</div>
</div>
<el-dialog
class=
"add-dialog"
<el-dialog
class=
"add-dialog"
v-model=
"dialogVisible"
v-model=
"dialogVisible"
:title=
"dialogTitle"
:title=
"dialogTitle"
width=
"400px"
width=
"400px"
@
close=
"cancelRoleForm"
@
close=
"cancelRoleForm"
:close-on-click-modal=
"false"
:close-on-press-escape=
"false"
:close-on-click-modal=
"false"
:close-on-press-escape=
"false"
>
>
<el-form
:model=
"roleFormData"
ref=
"roleForm"
:rules=
"roleRules"
label-width=
"100"
>
<el-form
:model=
"roleFormData"
ref=
"roleForm"
:rules=
"roleRules"
label-width=
"100"
>
<el-form-item
label=
"角色名称"
prop=
"name"
>
<el-form-item
label=
"角色名称"
prop=
"name"
>
<el-input
v-model=
"roleFormData.name"
placeholder=
"请输入角色名称"
/>
<el-input
v-model=
"roleFormData.name"
placeholder=
"请输入角色名称"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"角色标识"
prop=
"key"
>
<el-form-item
label=
"角色标识"
prop=
"key"
>
<el-input
v-model=
"roleFormData.key"
placeholder=
"请输入角色标识"
:disabled=
"!!roleFormData.id"
/>
<el-input
v-model=
"roleFormData.key"
placeholder=
"请输入角色标识"
:disabled=
"!!roleFormData.id"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"菜单配置"
>
<el-form-item
label=
"菜单配置"
>
<el-tree
ref=
"treeRef"
<el-tree
v-model=
"roleFormData.menus"
ref=
"treeRef"
:data=
"treeData"
v-model=
"roleFormData.menus"
node-key=
"id"
:data=
"treeData"
:props=
"{label: 'name'}"
node-key=
"id"
showCheckbox
:props=
"{ label: 'name' }"
@
check=
"selectMenus"
showCheckbox
@
check=
"selectMenus"
/>
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<
template
#
footer
>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<div
class=
"dialog-footer"
>
<el-button
@
click=
"cancelRoleForm"
>
取消
</el-button>
<el-button
@
click=
"cancelRoleForm"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"saveRoleForm"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"saveRoleForm"
>
保存
</el-button>
</div>
</div>
</
template
>
</
template
>
<!-- <commonForm
<!-- <commonForm
v-model="roleForm"
v-model="roleForm"
...
@@ -121,7 +147,14 @@
...
@@ -121,7 +147,14 @@
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
ref
,
reactive
,
onMounted
,
getCurrentInstance
,
computed
,
nextTick
}
from
"vue"
;
import
{
ref
,
reactive
,
onMounted
,
getCurrentInstance
,
computed
,
nextTick
,
}
from
"vue"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
CommonTable
from
"@/components/common/commonTable.vue"
;
import
CommonTable
from
"@/components/common/commonTable.vue"
;
...
@@ -179,12 +212,8 @@ const dialogTitle = ref("新增角色");
...
@@ -179,12 +212,8 @@ const dialogTitle = ref("新增角色");
const
roleForm
=
ref
();
const
roleForm
=
ref
();
const
roleFormData
=
ref
({});
const
roleFormData
=
ref
({});
const
roleRules
=
{
const
roleRules
=
{
name
:
[
name
:
[{
required
:
true
,
message
:
"请输入角色名称"
,
trigger
:
"blur"
}],
{
required
:
true
,
message
:
"请输入角色名称"
,
trigger
:
"blur"
}
key
:
[{
required
:
true
,
message
:
"请输入角色标识"
,
trigger
:
"blur"
}],
],
key
:
[
{
required
:
true
,
message
:
"请输入角色标识"
,
trigger
:
"blur"
}
]
};
};
// 事件处理函数
// 事件处理函数
const
handleSearch
=
(
formData
)
=>
{
const
handleSearch
=
(
formData
)
=>
{
...
@@ -228,27 +257,27 @@ const handleEdit = (row, index) => {
...
@@ -228,27 +257,27 @@ const handleEdit = (row, index) => {
// 删除
// 删除
const
handleDelete
=
async
(
row
,
index
)
=>
{
const
handleDelete
=
async
(
row
,
index
)
=>
{
ElMessageBox
.
confirm
(
`确定要删除角色"
${
row
.
name
}
"吗?`
,
"提示"
,
{
ElMessageBox
.
confirm
(
`确定要删除角色"
${
row
.
name
}
"吗?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
type
:
"warning"
,
}).
then
(()
=>
{
}).
then
(()
=>
{
proxy
.
$post
({
proxy
.
$post
({
url
:
"/api/user/role/deleteRole"
,
url
:
"/api/user/role/deleteRole"
,
data
:
{
id
:
row
.
id
},
data
:
{
id
:
row
.
id
},
callback
:
(
data
)
=>
{
callback
:
(
data
)
=>
{
ElMessage
.
success
(
"删除成功"
);
ElMessage
.
success
(
"删除成功"
);
loadTableData
();
loadTableData
();
},
},
error
:
(
err
)
=>
{
error
:
(
err
)
=>
{
ElMessage
.
error
(
"删除失败:"
,
err
);
ElMessage
.
error
(
"删除失败:"
,
err
);
},
},
});
});
});
});
};
};
const
saveRoleForm
=
()
=>
{
const
saveRoleForm
=
()
=>
{
roleForm
.
value
.
validate
(
valid
=>
{
roleForm
.
value
.
validate
(
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
let
url
=
roleFormData
.
value
.
id
?
"updateRole"
:
"createRole"
;
let
url
=
roleFormData
.
value
.
id
?
"updateRole"
:
"createRole"
;
proxy
.
$post
({
proxy
.
$post
({
...
@@ -261,23 +290,25 @@ const saveRoleForm = () => {
...
@@ -261,23 +290,25 @@ const saveRoleForm = () => {
},
},
error
:
(
err
)
=>
{
error
:
(
err
)
=>
{
ElMessage
.
error
(
dialogTitle
.
value
+
"失败:"
,
err
);
ElMessage
.
error
(
dialogTitle
.
value
+
"失败:"
,
err
);
}
}
,
});
});
}
}
})
})
;
};
};
const
cancelRoleForm
=
()
=>
{
const
cancelRoleForm
=
()
=>
{
roleFormData
.
value
=
{};
roleFormData
.
value
=
{};
roleForm
.
value
.
resetFields
();
roleForm
.
value
.
resetFields
();
treeRef
.
value
.
setCheckedKeys
([]);
treeRef
.
value
.
setCheckedKeys
([]);
dialogVisible
.
value
=
false
;
dialogVisible
.
value
=
false
;
}
}
;
const
selectMenus
=
()
=>
{
const
selectMenus
=
()
=>
{
// 使用 treeRef 获取当前勾选节点
// 使用 treeRef 获取当前勾选节点
const
treeInst
=
treeRef
.
value
;
const
treeInst
=
treeRef
.
value
;
if
(
!
treeInst
)
return
;
if
(
!
treeInst
)
return
;
const
checkedNodes
=
treeInst
.
getCheckedNodes
?
treeInst
.
getCheckedNodes
()
:
[];
const
checkedNodes
=
treeInst
.
getCheckedNodes
?
treeInst
.
getCheckedNodes
()
:
[];
const
halfCheckedNodes
=
treeInst
.
getHalfCheckedNodes
const
halfCheckedNodes
=
treeInst
.
getHalfCheckedNodes
?
treeInst
.
getHalfCheckedNodes
()
?
treeInst
.
getHalfCheckedNodes
()
:
[];
:
[];
...
@@ -287,7 +318,9 @@ const selectMenus = () => {
...
@@ -287,7 +318,9 @@ const selectMenus = () => {
?
halfCheckedNodes
.
map
((
node
)
=>
node
.
id
)
?
halfCheckedNodes
.
map
((
node
)
=>
node
.
id
)
:
[];
:
[];
const
allSelectedIds
=
Array
.
from
(
new
Set
([...
checkedIds
,
...
halfCheckedIds
]));
const
allSelectedIds
=
Array
.
from
(
new
Set
([...
checkedIds
,
...
halfCheckedIds
]),
);
// 把选中的菜单 id 写回表单数据,供提交使用
// 把选中的菜单 id 写回表单数据,供提交使用
roleFormData
.
value
.
menus
=
allSelectedIds
;
roleFormData
.
value
.
menus
=
allSelectedIds
;
...
@@ -338,7 +371,6 @@ onMounted(() => {
...
@@ -338,7 +371,6 @@ onMounted(() => {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
.el-tree {
.el-tree {
max-height: 500px;
max-height: 500px;
overflow-y: auto;
overflow-y: auto;
...
...
src/views/systemManage/userManage.vue
View file @
a371fcfa
...
@@ -413,6 +413,4 @@ onMounted(() => {
...
@@ -413,6 +413,4 @@ onMounted(() => {
});
});
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
></
style
>
@import "@/styles/manage.less";
</
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