明树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
dd63132b
Commit
dd63132b
authored
Jan 29, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
日常信息报送 投委会档案 开发完毕
parent
e91d68aa
Pipeline
#106733
passed with stage
in 18 seconds
Changes
7
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
92 additions
and
191 deletions
+92
-191
evaluateAdd.vue
src/views/castbehind/evaluateAdd.vue
+0
-1
everyday.vue
src/views/everydayPage/everyday.vue
+18
-33
everydayAdd.vue
src/views/everydayPage/everydayAdd.vue
+64
-144
investmentAdd.vue
src/views/everydayPage/investmentAdd.vue
+3
-4
systemAdd.vue
src/views/everydayPage/systemAdd.vue
+0
-1
vscouncil.vue
src/views/everydayPage/vscouncil.vue
+2
-1
vscouncilAdd.vue
src/views/everydayPage/vscouncilAdd.vue
+5
-7
No files found.
src/views/castbehind/evaluateAdd.vue
View file @
dd63132b
...
...
@@ -372,7 +372,6 @@ const saveClick = () => {
},
error
:
()
=>
{
loading
.
value
=
false
;
ElMessage
.
error
(
"操作失败,请稍后重试"
);
},
});
};
...
...
src/views/everydayPage/everyday.vue
View file @
dd63132b
...
...
@@ -4,7 +4,7 @@
<div
class=
"manage-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"primary"
@
click=
"
investment
Add"
>
新增
</el-button>
<el-button
type=
"primary"
@
click=
"
everyday
Add"
>
新增
</el-button>
</div>
</div>
<div
class=
"manage-content"
v-loading=
"loading"
>
...
...
@@ -64,46 +64,31 @@ const { proxy } = getCurrentInstance();
let
tableData
=
ref
([]);
let
tableColumns
=
ref
([
{
prop
:
"
itemName
"
,
label
:
"
事项
名称"
,
prop
:
"
wjmc
"
,
label
:
"
文件
名称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"itemType"
,
label
:
"事项类型"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"planYear"
,
label
:
"编制年度"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"planCycle"
,
label
:
"规划周期(年)"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"planUnit"
,
label
:
"编制单位"
,
prop
:
"nd"
,
label
:
"报送年度"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
leadingDepartment
"
,
label
:
"
牵头部门
"
,
prop
:
"
bzr
"
,
label
:
"
编制人
"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
creatorName
"
,
label
:
"
填报人
"
,
prop
:
"
bzrbm
"
,
label
:
"
编制人部门
"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"
creatorTime
"
,
label
:
"
填报时间
"
,
prop
:
"
fjscLen
"
,
label
:
"
附件
"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"operations"
,
label
:
"操作"
,
...
...
@@ -121,7 +106,7 @@ let pageSize = ref(10);
const
getStatementData
=
()
=>
{
loading
.
value
=
true
;
proxy
.
$post
({
url
:
"/api/project/get
Tzgh
List"
,
url
:
"/api/project/get
Xxbs
List"
,
data
:
{
page
:
currentPage
.
value
,
pagesize
:
pageSize
.
value
,
...
...
@@ -148,12 +133,12 @@ const handleCurrentPageChange = (page) => {
currentPage
.
value
=
page
;
getStatementData
();
};
const
investment
Add
=
()
=>
{
router
.
push
(
"/
investment
Add"
);
const
everyday
Add
=
()
=>
{
router
.
push
(
"/
everyday
Add"
);
};
const
editStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
investment
Add"
,
name
:
"
everyday
Add"
,
query
:
{
id
:
item
.
id
,
},
...
...
@@ -161,7 +146,7 @@ const editStatement = (item) => {
};
const
previewStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"
investment
Add"
,
name
:
"
everyday
Add"
,
query
:
{
isPreview
:
true
,
id
:
item
.
id
,
...
...
@@ -176,7 +161,7 @@ const deleteStatement = (item) => {
})
.
then
(()
=>
{
proxy
.
$post
({
url
:
"/api/project/delete
Tzgh
"
,
url
:
"/api/project/delete
Xxbs
"
,
data
:
{
id
:
item
.
id
,
},
...
...
src/views/everydayPage/everydayAdd.vue
View file @
dd63132b
...
...
@@ -13,31 +13,24 @@
<div
class=
"tabs-content"
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<!-- 表单模型绑定表字段formData,保留原有布局/禁用逻辑 -->
<el-form
:model=
"formData"
:label-width=
"200"
:disabled=
"isPreview"
>
<el-row
:gutter=
"20"
>
<!--
事项名称
-->
<!--
文件名称 → 绑定wjmc
-->
<el-col
:span=
"12"
>
<el-form-item
label=
"
事项
名称"
>
<el-form-item
label=
"
文件
名称"
>
<el-input
v-model=
"formData.
itemName
"
placeholder=
"请输入
事项
名称"
v-model=
"formData.
wjmc
"
placeholder=
"请输入
文件
名称"
/>
</el-form-item>
</el-col>
<!-- 事项类型 -->
<el-col
:span=
"12"
>
<el-form-item
label=
"事项类型"
>
<el-input
v-model=
"formData.itemType"
placeholder=
"请输入事项类型(如:年度/五年)"
/>
</el-form-item>
</el-col>
<!-- 编制年度 -->
<!-- 编制年度 → 绑定nd -->
<el-col
:span=
"12"
>
<el-form-item
label=
"编制年度"
>
<el-date-picker
v-model=
"formData.
planYear
"
v-model=
"formData.
nd
"
type=
"year"
format=
"YYYY"
value-format=
"YYYY"
...
...
@@ -46,76 +39,31 @@
/>
</el-form-item>
</el-col>
<!-- 规划周期(年) -->
<el-col
:span=
"12"
>
<el-form-item
label=
"规划周期(年)"
>
<el-input-number
v-model=
"formData.planCycle"
placeholder=
"请输入规划周期"
:min=
"1"
:max=
"100"
style=
"width: 100%"
/>
<span
class=
"input-tip"
>
单位:年
</span>
</el-form-item>
</el-col>
<!-- 编制单位 -->
<el-col
:span=
"12"
>
<el-form-item
label=
"编制单位"
>
<el-input
v-model=
"formData.planUnit"
placeholder=
"请输入编制单位"
/>
</el-form-item>
</el-col>
<!-- 牵头部门 -->
<!-- 编制人 → 绑定bzr -->
<el-col
:span=
"12"
>
<el-form-item
label=
"
牵头部门
"
>
<el-form-item
label=
"
编制人
"
>
<el-input
v-model=
"formData.
leadingDepartment
"
placeholder=
"请输入
牵头部门
"
v-model=
"formData.
bzr
"
placeholder=
"请输入
编制人
"
/>
</el-form-item>
</el-col>
<!-- 填报人 -->
<!-- 编制人部门 → 绑定bzrbm -->
<el-col
:span=
"12"
>
<el-form-item
label=
"
填报人
"
>
<el-form-item
label=
"
编制人部门
"
>
<el-input
v-model=
"formData.creatorName"
placeholder=
"请输入填报人姓名"
/>
</el-form-item>
</el-col>
<!-- 填报时间 -->
<el-col
:span=
"12"
>
<el-form-item
label=
"填报时间"
>
<el-date-picker
v-model=
"formData.creatorTime"
type=
"date"
format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD"
placeholder=
"请选择填报时间"
picker-options=
"{ disabledDate: (date) => date > new Date() }"
v-model=
"formData.bzrbm"
placeholder=
"请输入编制人部门"
/>
</el-form-item>
</el-col>
<!-- 附件
上传区域 - 上级单位投资规划
-->
<!-- 附件
→ 绑定fjsc
-->
<el-col
:span=
"24"
>
<el-form-item
label=
"上级单位投资规划"
label-width=
"200"
>
<FileUploader
v-model=
"formData.sjdwtzgh"
/>
</el-form-item>
</el-col>
<!-- 附件上传区域 - 本级单位投资规划 -->
<el-col
:span=
"24"
>
<el-form-item
label=
"本级单位投资规划"
label-width=
"200"
>
<FileUploader
v-model=
"formData.bjdwtzgh"
/>
</el-form-item>
</el-col>
<!-- 附件上传区域 - 其他材料 -->
<el-col
:span=
"24"
>
<el-form-item
label=
"其他材料"
label-width=
"200"
>
<FileUploader
v-model=
"formData.qtcl"
/>
<el-form-item
label=
"附件"
label-width=
"200"
>
<FileUploader
v-model=
"formData.fjsc"
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -131,112 +79,90 @@
import
{
reactive
,
ref
,
onMounted
,
getCurrentInstance
}
from
"vue"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
}
from
"element-plus"
;
// 附件上传组件保留
import
FileUploader
from
"../../components/FileUploader/index.vue"
;
// 路由&全局实例
// 路由&全局实例
(原有逻辑保留)
const
router
=
useRouter
();
const
route
=
useRoute
();
const
{
proxy
}
=
getCurrentInstance
();
// ========== 核心状态 ==========
// ========== 核心状态
(删除无用变量,匹配表名命名)
==========
const
loading
=
ref
(
false
);
// 加载状态
const
isPreview
=
ref
(
!!
route
.
query
.
isPreview
);
// 是否预览模式
const
rcTzghId
=
ref
(
route
.
query
.
id
||
""
);
// 投资规划记录ID(匹配表名)
const
options
=
ref
({});
// 预留配置项,后续有下拉可扩展
const
rcXxbsId
=
ref
(
route
.
query
.
id
||
""
);
// 建设期投资检查记录ID(匹配表名RcXxbs)
// 所属项目ID/主表ID(从路由传参/全局获取,根据实际业务调整,这里预留)
const
projectId
=
ref
(
route
.
query
.
projectId
||
""
);
const
sourceId
=
ref
(
route
.
query
.
sourceId
||
""
);
// ========== 表单核心数据(完全匹配Rc
Tzgh表结构
) ==========
// ========== 表单核心数据(完全匹配Rc
Xxbs表结构,无冗余字段
) ==========
const
formData
=
reactive
({
itemName
:
""
,
// 事项名称
itemType
:
""
,
// 事项类型
planYear
:
""
,
// 编制年度(YYYY格式)
planCycle
:
""
,
// 规划周期(年)
planUnit
:
""
,
// 编制单位
leadingDepartment
:
""
,
// 牵头部门
creatorName
:
""
,
// 填报人
creatorTime
:
""
,
// 填报时间
sjdwtzgh
:
[],
// 上级单位投资规划(附件JSON)
bjdwtzgh
:
[],
// 本级单位投资规划(附件JSON)
qtcl
:
[],
// 其他材料(附件JSON)
creator
:
proxy
.
$store
?.
getters
?.
userId
||
""
,
// 创建人ID(从全局状态取,可根据实际调整)
del
:
0
,
// 删除标识,默认正常
wjmc
:
""
,
// 文件名称
nd
:
""
,
// 编制年度(YYYY格式,匹配表的DATE类型)
bzr
:
""
,
// 编制人
bzrbm
:
""
,
// 编制人部门
fjsc
:
[],
// 附件上传(JSON类型,匹配表的JSON)
projectId
:
""
,
// 所属项目ID(隐藏字段,提交传值)
sourceId
:
""
,
// 所属主表id(隐藏字段,提交传值)
del
:
0
,
// 删除标识,默认0(正常)
creator
:
proxy
.
$store
?.
getters
?.
userId
||
""
,
// 创建人ID(从全局状态取,无则空)
});
// ========== 接口请求 ==========
// 获取
投资规划
单条记录详情(编辑/预览时用)
const
getRc
Tzgh
Detail
=
()
=>
{
// ========== 接口请求
(匹配建设期投资检查业务,修改接口名/地址)
==========
// 获取
建设期投资检查
单条记录详情(编辑/预览时用)
const
getRc
Xxbs
Detail
=
()
=>
{
loading
.
value
=
true
;
proxy
.
$post
({
url
:
"/api/project/get
Tzgh"
,
// 匹配投资规划
接口
data
:
{
id
:
rc
Tzgh
Id
.
value
},
url
:
"/api/project/get
Xxbs"
,
// 替换为实际的【建设期投资检查】详情
接口
data
:
{
id
:
rc
Xxbs
Id
.
value
},
callback
:
(
data
)
=>
{
loading
.
value
=
false
;
// 接口返回数据直接赋值(字段完全匹配,无需额外转换)
Object
.
assign
(
formData
,
data
);
// 处理时间/数字格式,避免渲染报错
formData
.
planYear
=
data
.
planYear
||
""
;
formData
.
planCycle
=
Number
(
data
.
planCycle
)
||
""
;
formData
.
creatorTime
=
data
.
creatorTime
||
""
;
// 附件数组默认值
formData
.
sjdwtzgh
=
data
.
sjdwtzgh
||
[];
formData
.
bjdwtzgh
=
data
.
bjdwtzgh
||
[];
formData
.
qtcl
=
data
.
qtcl
||
[];
// 附件字段容错:确保是数组
formData
.
fjsc
=
data
.
fjsc
||
[];
},
error
:
()
=>
(
loading
.
value
=
false
),
});
};
// ========== 页面操作方法 ==========
// ========== 页面操作方法
(保留原有交互,删除无用校验)
==========
// 返回上一页
const
backClick
=
()
=>
{
router
.
back
(
-
1
);
};
// 保存/提交表单(新增/编辑统一处理)
// 保存/提交表单(新增/编辑统一处理
,无冗余校验
)
const
saveClick
=
()
=>
{
// // 简单表单校验
// if (!formData.itemName || !formData.itemType || !formData.planYear) {
// ElMessage.warning("请填写必填的事项名称、事项类型、编制年度");
// return;
// }
// if (
// !formData.planCycle ||
// !formData.planUnit ||
// !formData.leadingDepartment
// ) {
// ElMessage.warning("请填写必填的规划周期、编制单位、牵头部门");
// return;
// }
// if (!formData.creatorName || !formData.creatorTime) {
// ElMessage.warning("请填写必填的填报人、填报时间");
// return;
// }
// 赋值隐藏字段(所属项目/主表ID,根据实际业务调整赋值逻辑)
formData
.
projectId
=
projectId
.
value
;
formData
.
sourceId
=
sourceId
.
value
;
loading
.
value
=
true
;
// 匹配投资规划的新增/编辑接口
const
url
=
rcTzghId
.
value
?
"/api/project/updateTzgh"
:
"/api/project/createTzgh"
;
// 新增/编辑接口区分(匹配建设期投资检查业务)
const
url
=
rcXxbsId
.
value
?
"/api/project/updateXxbs"
// 编辑接口
:
"/api/project/createXxbs"
;
// 新增接口
proxy
.
$post
({
url
:
url
,
data
:
{
...
formData
},
callback
:
()
=>
{
loading
.
value
=
false
;
ElMessage
.
success
(
rcTzghId
.
value
?
"投资规划编辑成功"
:
"投资规划新增成功"
);
ElMessage
.
success
(
rcXxbsId
.
value
?
"编辑成功"
:
"新增成功"
);
router
.
back
(
-
1
);
},
error
:
(
err
)
=>
{
error
:
()
=>
{
loading
.
value
=
false
;
ElMessage
.
error
(
err
.
msg
||
"操作失败,请稍后重试"
);
},
});
};
// ========== 页面初始化 ==========
// ========== 页面初始化
(仅编辑/预览时加载详情,无冗余逻辑)
==========
onMounted
(()
=>
{
//
编辑/预览模式,加载投资规划详情数据
if
(
rc
Tzgh
Id
.
value
)
{
getRc
Tzgh
Detail
();
//
有记录ID时,加载详情数据(编辑/预览)
if
(
rc
Xxbs
Id
.
value
)
{
getRc
Xxbs
Detail
();
}
});
</
script
>
...
...
@@ -266,17 +192,11 @@ onMounted(() => {
border-bottom: 1px solid #ebeef5;
}
// 表单样式优化
// 表单样式优化
(保留原有,无冗余)
:deep(.el-form-item__label) {
font-weight: 500;
}
// 数字输入框提示文字
.input-tip {
margin-left: 8px;
color: #909399;
font-size: 12px;
}
// 附件上传区域间距
// 附件上传区域间距(保留原有)
:deep(.el-upload) {
margin-bottom: 10px;
}
...
...
src/views/everydayPage/investmentAdd.vue
View file @
dd63132b
...
...
@@ -91,9 +91,9 @@
<el-form-item
label=
"填报时间"
>
<el-date-picker
v-model=
"formData.creatorTime"
type=
"date"
format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD"
type=
"date
time
"
format=
"YYYY-MM-DD
HH:mm:ss
"
value-format=
"YYYY-MM-DD
HH:mm:ss
"
placeholder=
"请选择填报时间"
picker-options=
"{ disabledDate: (date) => date > new Date() }"
/>
...
...
@@ -227,7 +227,6 @@ const saveClick = () => {
},
error
:
(
err
)
=>
{
loading
.
value
=
false
;
ElMessage
.
error
(
err
.
msg
||
"操作失败,请稍后重试"
);
},
});
};
...
...
src/views/everydayPage/systemAdd.vue
View file @
dd63132b
...
...
@@ -143,7 +143,6 @@ const saveClick = () => {
},
error
:
()
=>
{
loading
.
value
=
false
;
ElMessage
.
error
(
"操作失败,请稍后重试"
);
},
});
};
...
...
src/views/everydayPage/vscouncil.vue
View file @
dd63132b
...
...
@@ -125,7 +125,8 @@ const getStatementData = () => {
tableData
.
value
=
data
.
rows
.
map
((
it
)
=>
{
return
{
...
it
,
fjscLen
:
it
.
fjsc
?.
length
+
"个"
,
meetingMinutesAttachmentLen
:
it
.
meetingMinutesAttachment
?.
length
+
"份"
,
};
});
total
.
value
=
data
.
count
;
...
...
src/views/everydayPage/vscouncilAdd.vue
View file @
dd63132b
...
...
@@ -170,17 +170,17 @@ const saveClick = () => {
loading
.
value
=
true
;
// 投委会管理专属新增/编辑接口
console
.
log
(
rcTwhglId
.
value
,
"rcTwhglId.value"
);
const
url
=
rcTwhglId
.
value
?
"/api/project/update
Rc
Twhgl"
:
"/api/project/create
Rc
Twhgl"
;
?
"/api/project/updateTwhgl"
:
"/api/project/createTwhgl"
;
proxy
.
$post
({
url
:
url
,
data
:
{
...
formData
},
callback
:
()
=>
{
loading
.
value
=
false
;
ElMessage
.
success
(
rcTwhglId
.
value
?
"投委会记录编辑成功"
:
"投委会记录新增成功"
);
ElMessage
.
success
(
rcTwhglId
.
value
?
"编辑成功"
:
"新增成功"
);
router
.
back
(
-
1
);
},
error
:
(
err
)
=>
{
...
...
@@ -188,8 +188,6 @@ const saveClick = () => {
// 唯一键冲突特殊提示(会议编号重复)
if
(
err
.
msg
?.
includes
(
"unique"
)
||
err
.
msg
?.
includes
(
"重复"
))
{
ElMessage
.
error
(
"会议编号已存在,请更换唯一编号后重试"
);
}
else
{
ElMessage
.
error
(
err
.
msg
||
"操作失败,请稍后重试"
);
}
},
});
...
...
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