明树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
e91d68aa
Commit
e91d68aa
authored
Jan 29, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
体系建设 投资规划 开发完毕
parent
7d1f1f9a
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1090 additions
and
2620 deletions
+1090
-2620
CommonSelector.vue
src/components/CommonSelector.vue
+171
-0
main.js
src/main.js
+15
-13
evaluateAdd.vue
src/views/castbehind/evaluateAdd.vue
+136
-40
everyday.vue
src/views/everydayPage/everyday.vue
+36
-26
everydayAdd.vue
src/views/everydayPage/everydayAdd.vue
+214
-712
investment.vue
src/views/everydayPage/investment.vue
+36
-26
investmentAdd.vue
src/views/everydayPage/investmentAdd.vue
+180
-715
system.vue
src/views/everydayPage/system.vue
+15
-23
systemAdd.vue
src/views/everydayPage/systemAdd.vue
+82
-331
vscouncil.vue
src/views/everydayPage/vscouncil.vue
+31
-26
vscouncilAdd.vue
src/views/everydayPage/vscouncilAdd.vue
+174
-708
No files found.
src/components/CommonSelector.vue
0 → 100644
View file @
e91d68aa
<
template
>
<div
class=
"common-selector-container"
>
<el-select
v-if=
"!radio"
v-model=
"innerValue"
:placeholder=
"placeholder"
:no-data-text=
"noDataText"
:disabled=
"disabled"
style=
"width: 100%"
@
change=
"handleChange"
>
<el-option
v-for=
"(item, index) in currentOptions"
:key=
"`$
{dictName}-${index}`"
:label="item[labelKey]"
:value="item[valueKey]"
>
</el-option>
</el-select>
<el-radio-group
v-else
v-model=
"innerValue"
:disabled=
"disabled"
@
change=
"handleChange"
class=
"common-radio-group"
>
<el-radio
v-for=
"(item, index) in currentOptions"
:key=
"`$
{dictName}-${index}`"
:value="item[valueKey]"
>
{{
item
[
labelKey
]
}}
</el-radio>
</el-radio-group>
</div>
</
template
>
<
script
setup
>
import
{
ref
,
watch
,
defineProps
,
defineEmits
,
onMounted
,
onUnmounted
,
}
from
"vue"
;
// 极简Props:仅传 v-model + dictName(必传),其余可选
const
props
=
defineProps
({
// 双向绑定值(必传)
modelValue
:
{
type
:
[
String
,
Number
,
Object
],
default
:
undefined
,
},
// 必传:指定从resourceData中取哪个字典(如dqlx/ zdfx-type/ fileHierarchy)
dictName
:
{
type
:
String
,
required
:
true
,
},
// 可选:自定义选项标签字段(默认name)
labelKey
:
{
type
:
String
,
default
:
"name"
,
},
// 可选:自定义选项值字段(默认key)
valueKey
:
{
type
:
String
,
default
:
"key"
,
},
// 可选:是否切换为单选组(默认false=下拉)
radio
:
{
type
:
Boolean
,
default
:
false
,
},
// 可选:是否禁用
disabled
:
{
type
:
Boolean
,
default
:
false
,
},
// 可选:自定义占位符
placeholder
:
{
type
:
String
,
default
:
"请选择"
,
},
// 可选:自定义无数据文本
noDataText
:
{
type
:
String
,
default
:
"暂无数据"
,
},
});
// 事件派发(v-model规范 + 自定义change)
const
emit
=
defineEmits
([
"update:modelValue"
,
"change"
]);
// 内部状态
const
innerValue
=
ref
(
props
.
modelValue
);
// 内部绑定值
const
currentOptions
=
ref
([]);
// 最终渲染的字典数据
// 核心方法:从sessionStorage读取resourceData并匹配字典
const
getDictFromStorage
=
()
=>
{
try
{
// 读取并解析sessionStorage中的resourceData
const
resourceStr
=
sessionStorage
.
getItem
(
"resourceData"
)
||
"{}"
;
const
resourceData
=
JSON
.
parse
(
resourceStr
);
// 根据dictName取对应字典,容错:非数组则置空
const
targetDict
=
resourceData
[
props
.
dictName
]
||
[];
currentOptions
.
value
=
Array
.
isArray
(
targetDict
)
?
targetDict
:
[];
}
catch
(
e
)
{
currentOptions
.
value
=
[];
console
.
warn
(
`【通用选择器】读取
${
props
.
dictName
}
字典失败:`
,
e
);
}
};
// 监听sessionStorage变化(适配resourceData动态更新的场景)
const
handleStorageChange
=
(
e
)
=>
{
if
(
e
.
key
===
"resourceData"
)
getDictFromStorage
();
};
// 初始化+监听
onMounted
(()
=>
{
getDictFromStorage
();
// 首次加载读取字典
window
.
addEventListener
(
"storage"
,
handleStorageChange
);
// 监听storage变化
});
// 销毁时移除监听,避免内存泄漏
onUnmounted
(()
=>
{
window
.
removeEventListener
(
"storage"
,
handleStorageChange
);
});
// 监听1:外部v-model值变化,同步到组件内部
watch
(
()
=>
props
.
modelValue
,
(
newVal
)
=>
{
innerValue
.
value
=
newVal
;
},
{
immediate
:
true
}
);
// 监听2:dictName/labelKey/valueKey变化,重新读取字典(适配动态切换字典的场景)
watch
(
()
=>
[
props
.
dictName
,
props
.
labelKey
,
props
.
valueKey
],
()
=>
{
getDictFromStorage
();
},
{
deep
:
true
}
);
// 核心:值变化时更新外部v-model
const
handleChange
=
(
val
)
=>
{
emit
(
"update:modelValue"
,
val
);
emit
(
"change"
,
val
);
};
</
script
>
<
style
scoped
lang=
"less"
>
.common-selector-container {
width: 100%; // 自适应布局
}
// 单选组间距优化
.common-radio-group {
display: flex;
flex-wrap: wrap;
gap: 16px 32px;
align-items: center;
width: 100%;
}
// 修复下拉选项宽度继承
:deep(.el-select) {
width: 100%;
}
</
style
>
src/main.js
View file @
e91d68aa
import
{
createApp
}
from
'vue'
import
'./style.css'
import
App
from
'./App.vue'
import
ElementPlus
from
'element-plus'
import
'element-plus/dist/index.css'
import
*
as
ElIcons
from
'@element-plus/icons'
import
zhCn
from
'element-plus/dist/locale/zh-cn.mjs'
import
router
from
'./router'
import
{
createPinia
}
from
'pinia'
;
import
{
createApp
}
from
"vue"
;
import
"./style.css"
;
import
App
from
"./App.vue"
;
import
ElementPlus
from
"element-plus"
;
import
"element-plus/dist/index.css"
;
import
CommonSelector
from
"@/components/CommonSelector.vue"
;
import
*
as
ElIcons
from
"@element-plus/icons"
;
import
zhCn
from
"element-plus/dist/locale/zh-cn.mjs"
;
import
router
from
"./router"
;
import
{
createPinia
}
from
"pinia"
;
import
"./assets/fonts/font.less"
;
// 字体样式
import
"../public/iconFont/iconfont.css"
;
// 图标字体样式
import
{
$get
,
$post
}
from
"@/data/https.js"
;
import
windowConfig
from
"@/window"
;
import
moment
from
"moment"
;
const
pinia
=
createPinia
()
const
app
=
createApp
(
App
)
const
pinia
=
createPinia
()
;
const
app
=
createApp
(
App
)
;
app
.
config
.
globalProperties
.
$get
=
$get
;
app
.
config
.
globalProperties
.
$post
=
$post
;
app
.
config
.
globalProperties
.
windowConfig
=
windowConfig
;
app
.
config
.
globalProperties
.
moment
=
moment
;
for
(
const
[
key
,
component
]
of
Object
.
entries
(
ElIcons
))
{
app
.
component
(
key
,
component
)
app
.
component
(
key
,
component
)
;
}
app
.
use
(
ElementPlus
,
{
locale
:
zhCn
}).
use
(
router
).
use
(
pinia
).
mount
(
'#app'
)
app
.
component
(
"CommonSelector"
,
CommonSelector
);
app
.
use
(
ElementPlus
,
{
locale
:
zhCn
}).
use
(
router
).
use
(
pinia
).
mount
(
"#app"
);
src/views/castbehind/evaluateAdd.vue
View file @
e91d68aa
...
...
@@ -14,30 +14,69 @@
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"200"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<!-- 项目信息 -->
<el-collapse-item
title=
"项目信息"
name=
"项目信息"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"文件名称"
>
<el-input
v-model=
"formData.qsmbgbzdw"
placeholder=
"请输入文件名称"
/>
<el-form-item
label-width=
"0"
required
>
<el-select
v-model=
"formData.projectId"
placeholder=
"请选择项目信息"
no-data-text=
"暂无数据"
@
change=
"changeProject"
>
<el-option
v-for=
"item in projectList"
:key=
"item.key"
:label=
"item.projectName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item
title=
"项目公司自查报告"
name=
"项目公司自查报告"
>
<el-form-item
label-width=
"0"
label=
""
>
<FileUploader
v-model=
"formData.xmgszcbg"
/>
</el-form-item>
</el-collapse-item>
<el-collapse-item
title=
"投资后评价报告"
name=
"投资后评价报告"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"0"
label=
""
>
<FileUploader
v-model=
"formData.hpjbg"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"颁布
时间"
>
<el-form-item
label=
"评价
时间"
>
<el-date-picker
v-model=
"formData.qsm
sj"
v-model=
"formData.hpj
sj"
type=
"datetime"
format=
"YYYY-MM-DD HH:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
placeholder=
"请选择颁布时间"
placeholder=
"请选择评价时间"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"报告编制单位"
>
<el-input
v-model=
"formData.hpjbgbzdw"
placeholder=
"请输入报告编制单位"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"评审单位"
>
<el-input
v-model=
"formData.qsm
psdw"
v-model=
"formData.hpj
psdw"
placeholder=
"请输入评审单位"
/>
</el-form-item>
...
...
@@ -45,18 +84,75 @@
<el-col
:span=
"12"
>
<el-form-item
label=
"评价结果"
>
<el-input
v-model=
"formData.qsm
pjjg"
v-model=
"formData.hpj
pjjg"
placeholder=
"请输入评价结果"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item
title=
"问题整改"
name=
"问题整改"
>
<DynamicTable
v-model=
"formData.tzhpjwtzgs"
:columns=
"problemColumns"
:default-row=
"problemDefaultRow"
:select-options=
"selectOptions"
:show-import-export=
"true"
export-name=
"问题整改数据"
:scrollbar-always-on=
"true"
:disabled=
"isPreview"
/>
</el-collapse-item>
<el-collapse-item
title=
"全生命周期评价报告"
name=
"全生命周期评价报告"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"0"
label=
""
>
<FileUploader
v-model=
"formData.qsmzqpj"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"评价时间"
>
<el-date-picker
v-model=
"formData.qsmsj"
type=
"datetime"
format=
"YYYY-MM-DD HH:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
placeholder=
"请选择评价时间"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"报告编制单位"
>
<el-input
v-model=
"formData.qsmbgbzdw"
placeholder=
"请输入报告编制单位"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"评审单位"
>
<el-input
v-model=
"formData.qsmpsdw"
placeholder=
"请输入评审单位"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"评价结果"
>
<el-input
v-model=
"formData.qsmpjjg"
placeholder=
"请输入评价结果"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
...
...
src/views/everydayPage/everyday.vue
View file @
e91d68aa
...
...
@@ -4,7 +4,7 @@
<div
class=
"manage-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"primary"
@
click=
"
share
Add"
>
新增
</el-button>
<el-button
type=
"primary"
@
click=
"
investment
Add"
>
新增
</el-button>
</div>
</div>
<div
class=
"manage-content"
v-loading=
"loading"
>
...
...
@@ -64,39 +64,44 @@ const { proxy } = getCurrentInstance();
let
tableData
=
ref
([]);
let
tableColumns
=
ref
([
{
prop
:
"
qc
"
,
label
:
"
项目全
称"
,
prop
:
"
itemName
"
,
label
:
"
事项名
称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
jc
"
,
label
:
"
项目简称
"
,
prop
:
"
itemType
"
,
label
:
"
事项类型
"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"nbtzglzt"
,
label
:
"内部投资管理主体"
,
prop
:
"planYear"
,
label
:
"编制年度"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"planCycle"
,
label
:
"规划周期(年)"
,
showOverflowTooltip
:
true
,
width
:
170
,
},
{
prop
:
"
xmscjd
"
,
label
:
"
项目所处阶段
"
,
prop
:
"
planUnit
"
,
label
:
"
编制单位
"
,
showOverflowTooltip
:
true
,
width
:
120
,
},
{
prop
:
"
gqjg
"
,
label
:
"
股权结构
"
,
prop
:
"
leadingDepartment
"
,
label
:
"
牵头部门
"
,
showOverflowTooltip
:
true
,
width
:
120
,
},
{
prop
:
"xmzbjze"
,
label
:
"项目资本金总额(亿元)"
,
prop
:
"creatorName"
,
label
:
"填报人"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"creatorTime"
,
label
:
"填报时间"
,
showOverflowTooltip
:
true
,
width
:
180
,
},
{
...
...
@@ -116,13 +121,18 @@ let pageSize = ref(10);
const
getStatementData
=
()
=>
{
loading
.
value
=
true
;
proxy
.
$post
({
url
:
"/api/project/get
Cgqygl
List"
,
url
:
"/api/project/get
Tzgh
List"
,
data
:
{
page
:
currentPage
.
value
,
pagesize
:
pageSize
.
value
,
},
callback
:
(
data
)
=>
{
tableData
.
value
=
data
.
rows
;
tableData
.
value
=
data
.
rows
.
map
((
it
)
=>
{
return
{
...
it
,
fjscLen
:
it
.
fjsc
?.
length
+
"个"
,
};
});
total
.
value
=
data
.
count
;
loading
.
value
=
false
;
},
...
...
@@ -138,12 +148,12 @@ const handleCurrentPageChange = (page) => {
currentPage
.
value
=
page
;
getStatementData
();
};
const
share
Add
=
()
=>
{
router
.
push
(
"/
share
Add"
);
const
investment
Add
=
()
=>
{
router
.
push
(
"/
investment
Add"
);
};
const
editStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
share
Add"
,
name
:
"
investment
Add"
,
query
:
{
id
:
item
.
id
,
},
...
...
@@ -151,7 +161,7 @@ const editStatement = (item) => {
};
const
previewStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
share
Add"
,
name
:
"
investment
Add"
,
query
:
{
isPreview
:
true
,
id
:
item
.
id
,
...
...
@@ -166,7 +176,7 @@ const deleteStatement = (item) => {
})
.
then
(()
=>
{
proxy
.
$post
({
url
:
"/api/project/delete
Cgqygl
"
,
url
:
"/api/project/delete
Tzgh
"
,
data
:
{
id
:
item
.
id
,
},
...
...
@@ -184,5 +194,5 @@ onMounted(() => {
</
script
>
<
style
scoped
lang=
"less"
>
@import "@/styles/
manage
.less";
@import "@/styles/
verticalManages
.less";
</
style
>
src/views/everydayPage/everydayAdd.vue
View file @
e91d68aa
This diff is collapsed.
Click to expand it.
src/views/everydayPage/investment.vue
View file @
e91d68aa
...
...
@@ -4,7 +4,7 @@
<div
class=
"manage-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"primary"
@
click=
"
share
Add"
>
新增
</el-button>
<el-button
type=
"primary"
@
click=
"
investment
Add"
>
新增
</el-button>
</div>
</div>
<div
class=
"manage-content"
v-loading=
"loading"
>
...
...
@@ -64,39 +64,44 @@ const { proxy } = getCurrentInstance();
let
tableData
=
ref
([]);
let
tableColumns
=
ref
([
{
prop
:
"
qc
"
,
label
:
"
项目全
称"
,
prop
:
"
itemName
"
,
label
:
"
事项名
称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
jc
"
,
label
:
"
项目简称
"
,
prop
:
"
itemType
"
,
label
:
"
事项类型
"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"nbtzglzt"
,
label
:
"内部投资管理主体"
,
prop
:
"planYear"
,
label
:
"编制年度"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"planCycle"
,
label
:
"规划周期(年)"
,
showOverflowTooltip
:
true
,
width
:
170
,
},
{
prop
:
"
xmscjd
"
,
label
:
"
项目所处阶段
"
,
prop
:
"
planUnit
"
,
label
:
"
编制单位
"
,
showOverflowTooltip
:
true
,
width
:
120
,
},
{
prop
:
"
gqjg
"
,
label
:
"
股权结构
"
,
prop
:
"
leadingDepartment
"
,
label
:
"
牵头部门
"
,
showOverflowTooltip
:
true
,
width
:
120
,
},
{
prop
:
"xmzbjze"
,
label
:
"项目资本金总额(亿元)"
,
prop
:
"creatorName"
,
label
:
"填报人"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"creatorTime"
,
label
:
"填报时间"
,
showOverflowTooltip
:
true
,
width
:
180
,
},
{
...
...
@@ -116,13 +121,18 @@ let pageSize = ref(10);
const
getStatementData
=
()
=>
{
loading
.
value
=
true
;
proxy
.
$post
({
url
:
"/api/project/get
Cgqygl
List"
,
url
:
"/api/project/get
Tzgh
List"
,
data
:
{
page
:
currentPage
.
value
,
pagesize
:
pageSize
.
value
,
},
callback
:
(
data
)
=>
{
tableData
.
value
=
data
.
rows
;
tableData
.
value
=
data
.
rows
.
map
((
it
)
=>
{
return
{
...
it
,
fjscLen
:
it
.
fjsc
?.
length
+
"个"
,
};
});
total
.
value
=
data
.
count
;
loading
.
value
=
false
;
},
...
...
@@ -138,12 +148,12 @@ const handleCurrentPageChange = (page) => {
currentPage
.
value
=
page
;
getStatementData
();
};
const
share
Add
=
()
=>
{
router
.
push
(
"/
share
Add"
);
const
investment
Add
=
()
=>
{
router
.
push
(
"/
investment
Add"
);
};
const
editStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
share
Add"
,
name
:
"
investment
Add"
,
query
:
{
id
:
item
.
id
,
},
...
...
@@ -151,7 +161,7 @@ const editStatement = (item) => {
};
const
previewStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
share
Add"
,
name
:
"
investment
Add"
,
query
:
{
isPreview
:
true
,
id
:
item
.
id
,
...
...
@@ -166,7 +176,7 @@ const deleteStatement = (item) => {
})
.
then
(()
=>
{
proxy
.
$post
({
url
:
"/api/project/delete
Cgqygl
"
,
url
:
"/api/project/delete
Tzgh
"
,
data
:
{
id
:
item
.
id
,
},
...
...
@@ -184,5 +194,5 @@ onMounted(() => {
</
script
>
<
style
scoped
lang=
"less"
>
@import "@/styles/
manage
.less";
@import "@/styles/
verticalManages
.less";
</
style
>
src/views/everydayPage/investmentAdd.vue
View file @
e91d68aa
This diff is collapsed.
Click to expand it.
src/views/everydayPage/system.vue
View file @
e91d68aa
...
...
@@ -4,7 +4,7 @@
<div
class=
"manage-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"primary"
@
click=
"
evaluate
Add"
>
新增
</el-button>
<el-button
type=
"primary"
@
click=
"
system
Add"
>
新增
</el-button>
</div>
</div>
<div
class=
"manage-content"
v-loading=
"loading"
>
...
...
@@ -64,34 +64,29 @@ const { proxy } = getCurrentInstance();
let
tableData
=
ref
([]);
let
tableColumns
=
ref
([
{
prop
:
"projectName"
,
label
:
"项目信息"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"xmgszcbgLen"
,
prop
:
"wjmc"
,
label
:
"文件名称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
hpjbgLen
"
,
prop
:
"
wjcj
"
,
label
:
"文件层级"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
qsmzqpjLen
"
,
prop
:
"
wjlb
"
,
label
:
"文件类别"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
附件上传
"
,
label
:
"
文件类别
"
,
prop
:
"
fjscLen
"
,
label
:
"
附件上传
"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
颁布时间
"
,
label
:
"
文件类别
"
,
prop
:
"
bbsj
"
,
label
:
"
颁布时间
"
,
showOverflowTooltip
:
true
,
},
...
...
@@ -112,7 +107,7 @@ let pageSize = ref(10);
const
getStatementData
=
()
=>
{
loading
.
value
=
true
;
proxy
.
$post
({
url
:
"/api/project/getT
zhpj
List"
,
url
:
"/api/project/getT
xjs
List"
,
data
:
{
page
:
currentPage
.
value
,
pagesize
:
pageSize
.
value
,
...
...
@@ -121,10 +116,7 @@ const getStatementData = () => {
tableData
.
value
=
data
.
rows
.
map
((
it
)
=>
{
return
{
...
it
,
xmgszcbgLen
:
it
.
xmgszcbg
?.
length
+
"个"
,
hpjbgLen
:
it
.
hpjbg
?.
length
+
"个"
,
qsmzqpjLen
:
it
.
qsmzqpj
?.
length
+
"个"
,
fjscLen
:
it
.
fjsc
?.
length
+
"个"
,
};
});
total
.
value
=
data
.
count
;
...
...
@@ -142,12 +134,12 @@ const handleCurrentPageChange = (page) => {
currentPage
.
value
=
page
;
getStatementData
();
};
const
evaluate
Add
=
()
=>
{
router
.
push
(
"/
evaluate
Add"
);
const
system
Add
=
()
=>
{
router
.
push
(
"/
system
Add"
);
};
const
editStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
evaluate
Add"
,
name
:
"
system
Add"
,
query
:
{
id
:
item
.
id
,
},
...
...
@@ -155,7 +147,7 @@ const editStatement = (item) => {
};
const
previewStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
evaluate
Add"
,
name
:
"
system
Add"
,
query
:
{
isPreview
:
true
,
id
:
item
.
id
,
...
...
@@ -170,7 +162,7 @@ const deleteStatement = (item) => {
})
.
then
(()
=>
{
proxy
.
$post
({
url
:
"/api/project/deleteT
zhpj
"
,
url
:
"/api/project/deleteT
xjs
"
,
data
:
{
id
:
item
.
id
,
},
...
...
src/views/everydayPage/systemAdd.vue
View file @
e91d68aa
This diff is collapsed.
Click to expand it.
src/views/everydayPage/vscouncil.vue
View file @
e91d68aa
...
...
@@ -4,7 +4,7 @@
<div
class=
"manage-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"primary"
@
click=
"
share
Add"
>
新增
</el-button>
<el-button
type=
"primary"
@
click=
"
vscouncil
Add"
>
新增
</el-button>
</div>
</div>
<div
class=
"manage-content"
v-loading=
"loading"
>
...
...
@@ -64,39 +64,39 @@ const { proxy } = getCurrentInstance();
let
tableData
=
ref
([]);
let
tableColumns
=
ref
([
{
prop
:
"
qc
"
,
label
:
"
项目全称
"
,
prop
:
"
meetingCode
"
,
label
:
"
会议编号
"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
jc
"
,
label
:
"
项目简
称"
,
prop
:
"
meetingName
"
,
label
:
"
会议名
称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"nbtzglzt"
,
label
:
"内部投资管理主体"
,
prop
:
"meetingDate"
,
label
:
"会议时间"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"meetingLocation"
,
label
:
"会议地点"
,
showOverflowTooltip
:
true
,
width
:
170
,
},
{
prop
:
"
xmscjd
"
,
label
:
"
项目所处阶段
"
,
prop
:
"
attendingLeaders
"
,
label
:
"
参会领导
"
,
showOverflowTooltip
:
true
,
width
:
120
,
},
{
prop
:
"
gqjg
"
,
label
:
"
股权结构
"
,
prop
:
"
attendingDepartments
"
,
label
:
"
参会部门
"
,
showOverflowTooltip
:
true
,
width
:
120
,
},
{
prop
:
"
xmzbjze"
,
label
:
"
项目资本金总额(亿元)
"
,
prop
:
"
meetingMinutesAttachmentLen"
,
// 会议纪要附件数量(表meetingMinutesAttachment数组长度)
label
:
"
会议纪要
"
,
showOverflowTooltip
:
true
,
width
:
180
,
},
{
...
...
@@ -116,13 +116,18 @@ let pageSize = ref(10);
const
getStatementData
=
()
=>
{
loading
.
value
=
true
;
proxy
.
$post
({
url
:
"/api/project/get
Cgqy
glList"
,
url
:
"/api/project/get
Twh
glList"
,
data
:
{
page
:
currentPage
.
value
,
pagesize
:
pageSize
.
value
,
},
callback
:
(
data
)
=>
{
tableData
.
value
=
data
.
rows
;
tableData
.
value
=
data
.
rows
.
map
((
it
)
=>
{
return
{
...
it
,
fjscLen
:
it
.
fjsc
?.
length
+
"个"
,
};
});
total
.
value
=
data
.
count
;
loading
.
value
=
false
;
},
...
...
@@ -138,12 +143,12 @@ const handleCurrentPageChange = (page) => {
currentPage
.
value
=
page
;
getStatementData
();
};
const
share
Add
=
()
=>
{
router
.
push
(
"/
share
Add"
);
const
vscouncil
Add
=
()
=>
{
router
.
push
(
"/
vscouncil
Add"
);
};
const
editStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
share
Add"
,
name
:
"
vscouncil
Add"
,
query
:
{
id
:
item
.
id
,
},
...
...
@@ -151,7 +156,7 @@ const editStatement = (item) => {
};
const
previewStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
share
Add"
,
name
:
"
vscouncil
Add"
,
query
:
{
isPreview
:
true
,
id
:
item
.
id
,
...
...
@@ -166,7 +171,7 @@ const deleteStatement = (item) => {
})
.
then
(()
=>
{
proxy
.
$post
({
url
:
"/api/project/delete
Cgqy
gl"
,
url
:
"/api/project/delete
Twh
gl"
,
data
:
{
id
:
item
.
id
,
},
...
...
@@ -184,5 +189,5 @@ onMounted(() => {
</
script
>
<
style
scoped
lang=
"less"
>
@import "@/styles/
manage
.less";
@import "@/styles/
verticalManages
.less";
</
style
>
src/views/everydayPage/vscouncilAdd.vue
View file @
e91d68aa
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment