Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
project_progress
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 1bacad2a
authored
May 09, 2024
by
liangzhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
整改辅助核验
1 parent
1191e62e
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
2343 additions
and
1680 deletions
src/api/index.js
src/views/assessChecks/assistedConfirm.vue
src/views/assessChecks/assistedFeedback.vue
src/views/assessChecks/assistedRect.vue
src/views/assessChecks/assistedVerif.vue
src/views/assessChecks/auxiliarySelection.vue
src/views/assessChecks/checkComplianceXF.vue
src/views/assessChecks/confirmChanges.vue
src/views/assessChecks/confirmRelease.vue
src/views/assessChecks/correctiveAssistanceVerification.vue
src/views/assessChecks/materialAcquisition.vue
src/views/layout/continerView.vue
src/views/layout/index.vue
src/views/layout/leftBar.vue
src/views/layout/mainLayout.vue
src/api/index.js
View file @
1bacad2
...
...
@@ -222,6 +222,26 @@ export function wtzgProblemRectification(params) {
export
function
wtzgxfProblemRectification
(
params
)
{
return
post
(
`/api/ProblemRectification/wtzgxf`
,
params
)
}
//整改辅助核验
//分页
export
function
rectificationVerification
(
params
)
{
return
post
(
`/api/rectificationVerification/`
,
params
)
}
//问题清单查询
export
function
wtssSelectificationVerification
(
params
)
{
return
post
(
`/api/rectificationVerification/wtssSel`
,
params
)
}
//保存
export
function
bcrectificationVerification
(
params
)
{
return
post
(
`/api/rectificationVerification/zgfhbc`
,
params
)
}
//提交
export
function
tjrectificationVerification
(
params
)
{
return
post
(
`/api/rectificationVerification/wtfhtj`
,
params
)
}
//材料同步归档
//列表
export
function
materialSync
(
params
)
{
...
...
src/views/assessChecks/assistedConfirm.vue
View file @
1bacad2
...
...
@@ -151,13 +151,13 @@
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"
zgF
ileId"
width=
"400"
>
<el-table-column
label=
"附加解释材料"
prop=
"
f
ileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"
zgFileId
"
>
<el-table-column
label=
"复核情况"
prop=
"
rectificationStatus
"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.appealStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
value=
""
></el-option>
...
...
@@ -242,13 +242,13 @@
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"
zgF
ileId"
width=
"400"
>
<el-table-column
label=
"附加解释材料"
prop=
"
f
ileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"
zgFileId
"
>
<el-table-column
label=
"复核情况"
prop=
"
rectificationStatus
"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.appealStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
:value=
"null"
></el-option>
...
...
@@ -534,24 +534,24 @@
this
.
tableDataSS
.
forEach
((
item
)
=>
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
switch
(
item
.
projectStage
)
{
case
1
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
2
:
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
3
:
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
4
:
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
5
:
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
6
:
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
...
...
@@ -655,7 +655,7 @@
text-align
:
center
;
width
:
150%
;
min-width
:
150%
;
margin-right
:
210px
;
//
margin-right
:
210px
;
//
margin-top
:
3vh
;
}
/
deep
/
.el-table
.warning-row
{
...
...
@@ -669,6 +669,7 @@
/
deep
/
.el-dialog
{
border-radius
:
10px
;
margin-top
:
3vh
!important
;
margin-left
:
3vw
!important
;
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
...
...
@@ -921,11 +922,11 @@
line-height
:
30px
;
}
/
deep
/
.el-dialog__body
{
padding-bottom
:
1
5px
;
padding-bottom
:
5px
;
}
.setscroll
{
width
:
100%
;
height
:
6
0
0px
;
height
:
6
5
0px
;
overflow
:
auto
;
}
.dialog
{
...
...
src/views/assessChecks/assistedFeedback.vue
View file @
1bacad2
...
...
@@ -219,7 +219,7 @@
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"
zgF
ileId"
>
<el-table-column
label=
"附加解释材料"
prop=
"
f
ileId"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
...
...
src/views/assessChecks/assistedRect.vue
View file @
1bacad2
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
>
<el-option
label=
"未下发"
value=
"0"
></el-option>
<el-option
label=
"已下发"
value=
"1"
></el-option>
<el-option
label=
"已撤回"
value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"button"
>
<el-button
@
click=
"submitForm()"
>
<img
class=
"buttonIcon"
src=
"../../assets/cx.png"
/>
查询
</el-button
>
<el-button
@
click=
"resetForm('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/cz.png"
/>
重置
</el-button
>
<el-button
@
click=
"confirm()"
>
<i
class=
"el-icon-chat-dot-square"
></i
>
问题整改
</el-button
>
<el-button
@
click=
"appeal()"
>
<i
class=
"el-icon-document-remove"
></i
>
整改提交
</el-button
>
</el-form-item>
</el-form>
<div
class=
"setscroll"
>
<el-table
@
selection-change=
"handleSelectionChange"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"批次年度"
prop=
"batchYear"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"评估项目名称"
>
</el-table-column>
<el-table-column
prop=
"projectCategory"
label=
"建设形式"
>
</el-table-column>
<el-table-column
prop=
"projectStatus"
label=
"项目建设阶段"
>
</el-table-column>
<!--
<el-table-column
prop=
"createTime"
label=
"历史审核状态"
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
>
<el-option
label=
"未下发"
value=
"0"
></el-option>
<el-option
label=
"已下发"
value=
"1"
></el-option>
<el-option
label=
"已撤回"
value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"button"
>
<el-button
@
click=
"submitForm()"
>
<img
class=
"buttonIcon"
src=
"../../assets/cx.png"
/>
查询
</el-button
>
<el-button
@
click=
"resetForm('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/cz.png"
/>
重置
</el-button
>
<el-button
@
click=
"confirm()"
>
<i
class=
"el-icon-chat-dot-square"
></i
>
问题整改
</el-button
>
<el-button
@
click=
"appeal()"
>
<i
class=
"el-icon-document-remove"
></i
>
整改提交
</el-button
>
</el-form-item>
</el-form>
<div
class=
"setscroll"
>
<el-table
@
selection-change=
"handleSelectionChange"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"批次年度"
prop=
"batchYear"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"评估项目名称"
>
</el-table-column>
<el-table-column
prop=
"projectCategory"
label=
"建设形式"
>
</el-table-column>
<el-table-column
prop=
"projectStatus"
label=
"项目建设阶段"
>
</el-table-column>
<!--
<el-table-column
prop=
"createTime"
label=
"历史审核状态"
>
</el-table-column>
-->
<el-table-column
prop=
"expertName"
label=
"评审专家名单"
>
</el-table-column>
<el-table-column
prop=
"appealDeadline"
label=
"问题申诉截止时间"
>
</el-table-column>
<el-table-column
prop=
"rectificationDeadline"
label=
"问题整改截止时间"
>
</el-table-column>
<el-table-column
prop=
"postEvalState"
label=
"问题整改状态"
>
</el-table-column>
<!--
<el-table-column
prop=
"reviewStatus"
label=
"后评估状态"
>
</el-table-column>
-->
<el-table-column
prop=
"reviewDate"
label=
"评估日期"
>
</el-table-column>
</el-table>
</div>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[10, 15, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
class=
"elpagination"
>
</el-pagination>
<!-- 问题复核 -->
<el-dialog
title=
"问题确认"
:visible
.
sync=
"dialogQR"
width=
"79%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
@
close=
"closed"
>
<div
class=
"dialog"
>
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<el-table
:data=
"tableDataQR"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
:span-method=
"arraySpanMethod"
border
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"150"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"100"
prop=
"questionId"
>
</el-table-column>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
>
</el-table-column>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
>
</el-table-column>
<el-table-column
label=
"问题确认"
width=
"auto"
>
<template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.confirmStatus"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"2"
inactive-value=
"1"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
>
<template
v-slot:active
>
<span>
开启
</span>
</
template
>
<
template
v-slot:inactive
>
<span>
关闭
</span>
</
template
>
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"解释批注"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"zgFileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"zgFileId"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.appealStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
value=
""
></el-option>
<el-option
label=
"未申诉"
:value=
"0"
></el-option>
<el-option
label=
"已申诉"
:value=
"1"
></el-option>
<el-option
label=
"申诉驳回"
:value=
"2"
></el-option>
<el-option
label=
"申诉通过"
:value=
"3"
></el-option>
</el-select>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancelSS()"
>
取消
</span
><span
@
click=
"saveSS()"
>
保存
</span>
</p>
</el-dialog>
<!-- 复核下发 -->
<el-dialog
title=
"复核情况"
:visible
.
sync=
"dialogSS"
width=
"79%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<el-table
:data=
"tableDataSS"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
:span-method=
"arraySpanMethodss"
border
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"150"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"100"
prop=
"questionId"
>
</el-table-column>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
>
</el-table-column>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
>
</el-table-column>
<el-table-column
label=
"问题确认"
width=
"auto"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.confirmStatus"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"2"
inactive-value=
"1"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
>
<template
v-slot:active
>
<span>
开启
</span>
</
template
>
<
template
v-slot:inactive
>
<span>
关闭
</span>
</
template
>
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"解释批注"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"zgFileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"zgFileId"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.appealStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
:value=
"null"
></el-option>
<el-option
label=
"未申诉"
:value=
"0"
></el-option>
<el-option
label=
"已申诉"
:value=
"1"
></el-option>
<el-option
label=
"申诉驳回"
:value=
"2"
></el-option>
<el-option
label=
"申诉通过"
:value=
"3"
></el-option>
</el-select>
</
template
>
</el-table-column>
</el-table>
</div>
<el-table-column
prop=
"expertName"
label=
"评审专家名单"
>
</el-table-column>
<el-table-column
prop=
"appealDeadline"
label=
"问题申诉截止时间"
>
</el-table-column>
<el-table-column
prop=
"rectificationDeadline"
label=
"问题整改截止时间"
>
</el-table-column>
<el-table-column
prop=
"postEvalState"
label=
"问题整改状态"
>
</el-table-column>
<!--
<el-table-column
prop=
"reviewStatus"
label=
"后评估状态"
>
</el-table-column>
-->
<el-table-column
prop=
"reviewDate"
label=
"评估日期"
>
</el-table-column>
</el-table>
</div>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[10, 15, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
class=
"elpagination"
>
</el-pagination>
<!-- 问题整改 -->
<el-dialog
title=
"复核情况"
:visible
.
sync=
"dialogQR"
width=
"79%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
@
close=
"closed"
>
<div
class=
"dialog"
>
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<div
class=
"setTable"
>
<el-table
:data=
"tableDataQR"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
:span-method=
"arraySpanMethod"
border
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"150"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"100"
prop=
"questionId"
>
</el-table-column>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
width=
"200"
>
</el-table-column>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
width=
"300"
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
width=
"300"
>
</el-table-column>
<el-table-column
label=
"问题确认"
width=
"auto"
>
<template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.confirmStatus"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"2"
inactive-value=
"1"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
>
<template
v-slot:active
>
<span>
开启
</span>
</
template
>
<
template
v-slot:inactive
>
<span>
关闭
</span>
</
template
>
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"解释批注"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"fileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"rectificationStatus"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.appealStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
value=
""
></el-option>
<el-option
label=
"未申诉"
:value=
"0"
></el-option>
<el-option
label=
"已申诉"
:value=
"1"
></el-option>
<el-option
label=
"申诉驳回"
:value=
"2"
></el-option>
<el-option
label=
"申诉通过"
:value=
"3"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
label=
"上传整改材料"
prop=
"rectificationStatus"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"情况说明"
prop=
"zgqkFileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancelSS()"
>
取消
</span><span
@
click=
"saveSS()"
>
保存
</span>
</p>
</el-dialog>
<!-- 复核下发 -->
<el-dialog
title=
"复核情况"
:visible
.
sync=
"dialogSS"
width=
"79%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<div
class=
"setTable"
>
<el-table
:data=
"tableDataSS"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
:span-method=
"arraySpanMethodss"
border
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"150"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"100"
prop=
"questionId"
>
</el-table-column>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
width=
"200"
>
</el-table-column>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
width=
"300"
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
width=
"300"
>
</el-table-column>
<el-table-column
label=
"问题确认"
width=
"auto"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.confirmStatus"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"2"
inactive-value=
"1"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
>
<template
v-slot:active
>
<span>
开启
</span>
</
template
>
<
template
v-slot:inactive
>
<span>
关闭
</span>
</
template
>
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"解释批注"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"fileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"rectificationStatus"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.appealStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
value=
""
></el-option>
<el-option
label=
"未申诉"
:value=
"0"
></el-option>
<el-option
label=
"已申诉"
:value=
"1"
></el-option>
<el-option
label=
"申诉驳回"
:value=
"2"
></el-option>
<el-option
label=
"申诉通过"
:value=
"3"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
label=
"上传整改材料"
prop=
"rectificationStatus"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"情况说明"
prop=
"zgqkFileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
</el-table>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancel()"
>
取消
</span
><span
@
click=
"save()"
>
问题下发
</span
>
</p
>
</el-dialog
>
</div>
</template>
</div
>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancel()"
>
取消
</span><span
@
click=
"save()"
>
提交
</span
>
</p
>
</el-dialog>
</div>
</template>
<
script
>
import
{
ProblemRectification
,
wtssSelProblemRectification
,
wtzgProblemRectification
,
wtzgxfProblemRectification
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
dialogSS
:
false
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
postEvalState
:
""
,
},
ruleFormdialogBJ
:
{
appealDeadline
:
""
,
rectificationDeadline
:
""
,
},
rules
:
{
appealDeadline
:
[
{
required
:
true
,
message
:
"请选择问题申诉截止时间"
,
trigger
:
"change"
,
},
],
rectificationDeadline
:
[
{
required
:
true
,
message
:
"问题整改截止时间"
,
trigger
:
"change"
,
},
],
},
tableData
:
[],
tableDataQR
:
[],
tableDataSS
:[],
checkedList
:
[],
currentPage
:
1
,
pageSizetjcl
:
10
,
total
:
0
,
dialogQR
:
false
,
pageSize
:
10
,
mergingPos
:
0
,
mergingRows
:
[],
mergingPosss
:
0
,
mergingRowsss
:
[],
};
},
mounted
()
{
this
.
submitForm
();
},
methods
:
{
async
submitForm
()
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
let
res
=
await
ProblemRectification
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
reviewStatus
>=
"5"
)
{
this
.
$set
(
item
,
"postEvalState"
,
"整改提交"
);
}
else
{
this
.
$set
(
item
,
"postEvalState"
,
"整改未提交"
);
}
});
this
.
total
=
res
.
data
.
total
*
1
;
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
},
//问题整改
async
confirm
()
{
this
.
mergingPos
=
0
;
this
.
mergingRows
=
[]
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行整改"
);
return
;
}
this
.
dialogQR
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
let
res
=
await
wtssSelAssistanceConfirmatio
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableDataQR
=
res
.
data
.
records
;
this
.
tableDataQR
.
forEach
((
item
)
=>
{
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataQR
,
'加不进去?'
)
this
.
dataPretreatment
();
}
},
dataPretreatment
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataQR
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRows
.
push
(
1
);
this
.
mergingPos
=
0
;
}
else
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
;
this
.
mergingRows
.
push
(
0
);
}
else
{
this
.
mergingRows
.
push
(
1
);
this
.
mergingPos
=
i
;
}
}
}
},
dataPretreatmentSS
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataSS
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRowsss
.
push
(
1
);
this
.
mergingPosss
=
0
;
}
else
{
if
(
this
.
tableDataSS
[
i
].
projectStage
===
this
.
tableDataSS
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRowsss
[
this
.
mergingPosss
]
+=
1
;
this
.
mergingRowsss
.
push
(
0
);
}
else
{
this
.
mergingRowsss
.
push
(
1
);
this
.
mergingPosss
=
i
;
}
}
}
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
}
return
""
;
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
console
.
log
(
'222222'
)
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
console
.
log
(
'222222333'
,
this
.
checkedList
)
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
);
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
$forceUpdate
();
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSize
=
val
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRows
[
rowIndex
];
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
};
}
},
arraySpanMethodss
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRowsss
[
rowIndex
];
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
};
}
},
//问题确认开关
controlSwitch
(
val
,
row
)
{
console
.
log
(
"333"
,
val
,
row
);
},
cancelSS
(){
this
.
dialogQR
=
false
},
async
save
(){
let
res
=
await
xfappealAssistanceConfirmatio
(
this
.
tableDataSS
)
if
(
res
.
code
==
'200'
){
this
.
dialogSS
=
false
this
.
resetForm
()
}
else
{
this
.
$message
(
'复核下发失败'
)
}
},
cancel
(){
this
.
dialogSS
=
false
},
async
saveSS
(){
let
res
=
await
wtfhappealAssistanceConfirmatio
(
this
.
tableDataQR
)
if
(
res
.
code
==
'200'
){
this
.
dialogQR
=
false
this
.
resetForm
()
}
},
//问题提交
async
appeal
(){
this
.
mergingPosss
=
0
;
this
.
mergingRowsss
=
[];
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行提交"
);
return
;
}
this
.
dialogSS
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
let
res
=
await
wtssSelAssistanceConfirmatio
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableDataSS
=
res
.
data
.
records
;
this
.
tableDataSS
.
forEach
((
item
)
=>
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
switch
(
item
.
projectStage
)
{
case
1
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
2
:
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
3
:
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
4
:
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
5
:
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
6
:
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataSS
)
this
.
dataPretreatmentSS
();
}
},
handleFileUpload
(
event
)
{
console
.
log
(
'来了么'
)
this
.
file
=
event
.
target
.
files
[
0
];
},
submitFile
(
row
)
{
this
.
$message
(
'上传还没做'
)
return
console
.
log
(
row
)
if
(
this
.
file
)
{
const
formData
=
new
FormData
();
formData
.
append
(
'file'
,
this
.
file
);
formData
.
append
(
'prjId'
,
this
.
checkedList
[
0
].
projectId
);
formData
.
append
(
'typeCode'
,
row
.
typeCode
);
ossupload
(
formData
).
then
(
response
=>
{
console
.
log
(
response
);
this
.
$set
(
row
,
'fileName'
,
response
.
data
.
fileName
)
})
.
catch
(
error
=>
{
console
.
error
(
error
);
});
}
},
closed
(){
console
.
log
(
"关闭"
)
this
.
handleSelectionChange
()
}
},
};
</
script
>
import
{
ProblemRectification
,
wtssSelProblemRectification
,
wtzgProblemRectification
,
wtzgxfProblemRectification
,
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
dialogSS
:
false
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
postEvalState
:
""
,
},
tableData
:
[],
tableDataQR
:
[],
tableDataSS
:
[],
checkedList
:
[],
currentPage
:
1
,
pageSizetjcl
:
10
,
total
:
0
,
dialogQR
:
false
,
pageSize
:
10
,
mergingPos
:
0
,
mergingRows
:
[],
mergingPosss
:
0
,
mergingRowsss
:
[],
};
},
mounted
()
{
this
.
submitForm
();
},
methods
:
{
async
submitForm
()
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
let
res
=
await
ProblemRectification
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
reviewStatus
==
"6"
)
{
this
.
$set
(
item
,
"postEvalState"
,
"整改未完成"
);
}
else
if
(
item
.
reviewStatus
==
"7"
)
{
this
.
$set
(
item
,
"postEvalState"
,
"整改已完成"
);
}
else
{
this
.
$set
(
item
,
"postEvalState"
,
"整改提交"
);
}
});
this
.
total
=
res
.
data
.
total
*
1
;
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
},
//问题整改
async
confirm
()
{
this
.
mergingPos
=
0
;
this
.
mergingRows
=
[];
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行整改"
);
return
;
}
this
.
dialogQR
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
let
res
=
await
wtssSelProblemRectification
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableDataQR
=
res
.
data
.
records
;
this
.
tableDataQR
.
forEach
((
item
)
=>
{
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataQR
,
"加不进去?"
);
this
.
dataPretreatment
();
}
},
dataPretreatment
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataQR
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRows
.
push
(
1
);
this
.
mergingPos
=
0
;
}
else
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
;
this
.
mergingRows
.
push
(
0
);
}
else
{
this
.
mergingRows
.
push
(
1
);
this
.
mergingPos
=
i
;
}
}
}
},
dataPretreatmentSS
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataSS
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRowsss
.
push
(
1
);
this
.
mergingPosss
=
0
;
}
else
{
if
(
this
.
tableDataSS
[
i
].
projectStage
===
this
.
tableDataSS
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRowsss
[
this
.
mergingPosss
]
+=
1
;
this
.
mergingRowsss
.
push
(
0
);
}
else
{
this
.
mergingRowsss
.
push
(
1
);
this
.
mergingPosss
=
i
;
}
}
}
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
}
return
""
;
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
console
.
log
(
"222222"
);
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
console
.
log
(
"222222333"
,
this
.
checkedList
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
);
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
$forceUpdate
();
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSize
=
val
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRows
[
rowIndex
];
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
};
}
},
arraySpanMethodss
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRowsss
[
rowIndex
];
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
};
}
},
//问题确认开关
controlSwitch
(
val
,
row
)
{
console
.
log
(
"333"
,
val
,
row
);
},
cancelSS
()
{
this
.
dialogQR
=
false
;
},
async
save
()
{
let
res
=
await
wtzgxfProblemRectification
(
this
.
tableDataSS
);
if
(
res
.
code
==
"200"
)
{
this
.
dialogSS
=
false
;
this
.
resetForm
();
}
else
{
this
.
$message
(
"整改提交失败"
);
}
},
cancel
()
{
this
.
dialogSS
=
false
;
},
async
saveSS
()
{
let
res
=
await
wtzgProblemRectification
(
this
.
tableDataQR
);
if
(
res
.
code
==
"200"
)
{
this
.
dialogQR
=
false
;
this
.
resetForm
();
}
},
//问题提交
async
appeal
()
{
this
.
mergingPosss
=
0
;
this
.
mergingRowsss
=
[];
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行提交"
);
return
;
}
this
.
dialogSS
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
let
res
=
await
wtssSelProblemRectification
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableDataSS
=
res
.
data
.
records
;
this
.
tableDataSS
.
forEach
((
item
)
=>
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
);
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataSS
);
this
.
dataPretreatmentSS
();
}
},
handleFileUpload
(
event
)
{
console
.
log
(
"来了么"
);
this
.
file
=
event
.
target
.
files
[
0
];
},
submitFile
(
row
)
{
this
.
$message
(
"上传还没做"
);
return
;
console
.
log
(
row
);
if
(
this
.
file
)
{
const
formData
=
new
FormData
();
formData
.
append
(
"file"
,
this
.
file
);
formData
.
append
(
"prjId"
,
this
.
checkedList
[
0
].
projectId
);
formData
.
append
(
"typeCode"
,
row
.
typeCode
);
ossupload
(
formData
)
.
then
((
response
)
=>
{
console
.
log
(
response
);
this
.
$set
(
row
,
"fileName"
,
response
.
data
.
fileName
);
})
.
catch
((
error
)
=>
{
console
.
error
(
error
);
});
}
},
closed
()
{
console
.
log
(
"关闭"
);
this
.
handleSelectionChange
();
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
font-size
:
14px
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
}
.el-form
{
display
:
flex
;
width
:
99%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin-bottom
:
20px
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-form-item__label
{
font-weight
:
bold
;
color
:
#000
;
width
:
160px
!important
;
}
.button
{
display
:
inline-block
;
width
:
100%
;
text-align
:
left
;
/deep/
.el-form-item__content
{
margin-left
:
20px
!important
;
text-align
:
left
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
15px
;
vertical-align
:
middle
;
}
}
.el-button
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
color
:
#fff
;
}
}
}
.main
{
font-size
:
14px
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
}
.el-form
{
display
:
flex
;
width
:
99%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin-bottom
:
20px
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-form-item__label
{
font-weight
:
bold
;
color
:
#000
;
width
:
160px
!important
;
}
.button
{
display
:
inline-block
;
width
:
100%
;
text-align
:
left
;
/deep/
.el-form-item__content
{
margin-left
:
20px
!important
;
text-align
:
left
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
15px
;
vertical-align
:
middle
;
}
}
.el-button
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
color
:
#fff
;
}
}
}
.eltable
{
box-sizing
:
border-box
;
text-align
:
center
;
width
:
150%
;
min-width
:
150%
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
color
:
#2785e6
;
}
.elpagination
{
text-align
:
right
;
margin-right
:
100px
;
}
/
deep
/
.el-dialog
{
border-radius
:
10px
;
margin-top
:
3vh
!important
;
margin-left
:
3vw
!important
;
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.el-table
td
.el-table__cell
{
text-align
:
center
;
}
/
deep
/
.el-dialog__wrapper
{
position
:
absolute
;
}
/
deep
/
.v-modal
{
position
:
absolute
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0d867f
;
padding-bottom
:
20px
;
text-align
:
left
;
border-radius
:
10px
10px
0
0
;
.el-dialog__title
{
color
:
#fff
;
}
}
/
deep
/
.el-table__header
th
{
background-color
:
#eeeeee
;
font-weight
:
bold
;
.cell
{
color
:
#333
;
}
}
/
deep
/
.el-table
{
position
:
absolute
;
width
:
auto
!important
;
max-width
:
none
;
//
width
:
100%
;
.el-table__header-wrapper
table,
.el-table__body-wrapper
table
{
//
width
:
100%
!important
;
}
.el-table__body
,
.el-table__footer
,
.el-table__header
{
table-layout
:
auto
;
}
}
.textarea
{
width
:
100%
;
.el-textarea
{
width
:
60%
;
}
}
.Btn
{
width
:
200px
;
margin
:
0
auto
;
height
:
30px
;
line-height
:
30px
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
4px
;
margin-right
:
12px
;
}
span
:first-of-type
{
border
:
1px
solid
#000
;
}
span
:last-of-type
{
background-color
:
#0d867f
;
border
:
1px
solid
#0d867f
;
color
:
#fff
;
}
}
/
deep
/
.el-dialog__headerbtn
.el-dialog__close
{
color
:
#fff
;
}
.zjBtn
{
width
:
400px
;
text-align
:
left
;
vertical-align
:
middle
;
span
{
display
:
inline-block
;
width
:
140px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
5px
;
vertical-align
:
middle
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
padding
:
5px
10px
;
margin-left
:
10px
;
}
}
/
deep
/
.el-icon-position
{
margin-right
:
10px
;
}
/
deep
/
.el-icon-folder-delete
{
margin-right
:
10px
;
}
.cxItem
{
text-align
:
right
;
width
:
20%
;
.zjquery
{
display
:
inline-block
;
background-color
:
#4ca6a7
;
width
:
89px
;
height
:
40px
;
color
:
#fff
;
text-align
:
center
;
line-height
:
40px
;
border-radius
:
5px
;
}
}
.midBtn
{
margin
:
0
auto
;
margin-top
:
20px
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
29px
;
line-height
:
29px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
box-sizing
:
border-box
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
border
:
1px
solid
#4ca6a7
;
}
}
.setTable
{
height
:
500px
;
overflow-y
:
auto
;
overflow-x
:
scroll
;
position
:
relative
;
overflow
:
auto
;
}
.dialog
{
//
height
:
700px
;
//
overflow-y
:
auto
;
//
overflow-x
:
auto
;
.xqtitle
{
text-align
:
left
;
font-size
:
18px
;
border-bottom
:
1px
solid
gainsboro
;
padding-bottom
:
10px
;
span
{
display
:
inline-block
;
width
:
5px
;
height
:
20px
;
background
:
#0d867f
;
margin-right
:
14px
;
vertical-align
:
middle
;
}
}
/
deep
/
.el-form
{
width
:
65%
;
flex-wrap
:
wrap
;
padding
:
0
10px
;
text-align
:
center
;
margin
:
100px
auto
;
border
:
none
;
.fromItem
{
text-align
:
center
;
width
:
51%
;
margin
:
0
auto
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-form-item__label
{
font-weight
:
400
;
//
color
:
#000
;
width
:
160px
!important
;
}
}
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.el-table
td
.el-table__cell
{
text-align
:
center
;
}
/
deep
/
.el-table__cell
{
text-align
:
center
;
}
h3
{
text-align
:
left
;
}
/
deep
/
.el-switch__core
{
height
:
30px
;
width
:
79px
!important
;
border-radius
:
20px
;
}
/
deep
/
.el-switch.is-checked
.el-switch__core
::after
{
margin-left
:
-28px
;
}
/
deep
/
.el-switch_label
{
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-switch
{
height
:
30px
;
line-height
:
30px
;
border-radius
:
20px
;
}
/
deep
/
.el-switch__label
*
{
font-size
:
12px
;
}
/
deep
/
.el-switch__core
:after
{
width
:
26px
;
height
:
26px
;
}
/
deep
/
.el-switch__label--left
{
position
:
absolute
;
left
:
30px
;
color
:
#fff
;
z-index
:
-1111
;
cursor
:
default
;
user-select
:
none
;
}
/
deep
/
.el-switch__label--right
{
position
:
absolute
;
right
:
30px
;
color
:
#fff
;
z-index
:
-1111
;
cursor
:
default
;
user-select
:
none
;
}
/
deep
/
.el-switch__label--right.is-active
{
z-index
:
1111
;
color
:
grey
!important
;
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-switch__label--left.is-active
{
z-index
:
1111
;
color
:
#fff
!important
;
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-dialog__body
{
padding-bottom
:
15px
;
}
.setscroll
{
width
:
100%
;
height
:
650px
;
position
:
relative
;
overflow
:
auto
;
}
.dialog
{
.eltable
{
box-sizing
:
border-box
;
text-align
:
center
;
width
:
150%
;
min-width
:
150%
;
margin-right
:
210px
;
//
margin-top
:
3vh
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
color
:
#2785e6
;
}
.elpagination
{
text-align
:
right
;
margin-right
:
100px
;
}
/
deep
/
.el-dialog
{
border-radius
:
10px
;
margin-top
:
3vh
!important
;
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.el-table
td
.el-table__cell
{
text-align
:
center
;
}
/
deep
/
.el-dialog__wrapper
{
position
:
absolute
;
}
/
deep
/
.v-modal
{
position
:
absolute
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0d867f
;
padding-bottom
:
20px
;
text-align
:
left
;
border-radius
:
10px
10px
0
0
;
.el-dialog__title
{
color
:
#fff
;
}
}
/
deep
/
.el-table__header
th
{
background-color
:
#eeeeee
;
font-weight
:
bold
;
.cell
{
color
:
#333
;
}
}
/
deep
/
.el-table
{
//
width
:
100%
;
.el-table__header-wrapper
table,
.el-table__body-wrapper
table
{
//
width
:
100%
!important
;
}
.el-table__body
,
.el-table__footer
,
.el-table__header
{
table-layout
:
auto
;
}
}
.textarea
{
width
:
100%
;
.el-textarea
{
width
:
60%
;
}
}
.Btn
{
width
:
200px
;
margin
:
0
auto
;
height
:
30px
;
line-height
:
30px
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
4px
;
margin-right
:
12px
;
}
span
:first-of-type
{
border
:
1px
solid
#000
;
}
span
:last-of-type
{
background-color
:
#0d867f
;
border
:
1px
solid
#0d867f
;
color
:
#fff
;
}
}
/
deep
/
.el-dialog__headerbtn
.el-dialog__close
{
color
:
#fff
;
}
.zjBtn
{
width
:
400px
;
text-align
:
left
;
vertical-align
:
middle
;
span
{
display
:
inline-block
;
width
:
140px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
5px
;
vertical-align
:
middle
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
padding
:
5px
10px
;
margin-left
:
10px
;
}
}
/
deep
/
.el-icon-position
{
margin-right
:
10px
;
}
/
deep
/
.el-icon-folder-delete
{
margin-right
:
10px
;
}
.cxItem
{
text-align
:
right
;
width
:
20%
;
.zjquery
{
display
:
inline-block
;
background-color
:
#4ca6a7
;
width
:
89px
;
height
:
40px
;
color
:
#fff
;
text-align
:
center
;
line-height
:
40px
;
border-radius
:
5px
;
}
}
.midBtn
{
margin
:
0
auto
;
margin-top
:
20px
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
29px
;
line-height
:
29px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
box-sizing
:
border-box
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
border
:
1px
solid
#4ca6a7
;
}
}
.dialog
{
height
:
700px
;
overflow-y
:
auto
;
.xqtitle
{
text-align
:
left
;
font-size
:
18px
;
border-bottom
:
1px
solid
gainsboro
;
padding-bottom
:
10px
;
span
{
display
:
inline-block
;
width
:
5px
;
height
:
20px
;
background
:
#0d867f
;
margin-right
:
14px
;
vertical-align
:
middle
;
}
}
/
deep
/
.el-form
{
width
:
65%
;
flex-wrap
:
wrap
;
padding
:
0
10px
;
text-align
:
center
;
margin
:
100px
auto
;
border
:
none
;
.fromItem
{
text-align
:
center
;
width
:
51%
;
margin
:
0
auto
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-form-item__label
{
font-weight
:
400
;
//
color
:
#000
;
width
:
160px
!important
;
}
}
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.el-table
td
.el-table__cell
{
text-align
:
center
;
}
/
deep
/
.el-table__cell
{
text-align
:
center
;
}
h3
{
text-align
:
left
;
}
/
deep
/
.el-switch__core
{
height
:
30px
;
width
:
79px
!important
;
border-radius
:
20px
;
}
/
deep
/
.el-switch.is-checked
.el-switch__core
::after
{
margin-left
:
-28px
;
}
/
deep
/
.el-switch_label
{
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-switch
{
height
:
30px
;
line-height
:
30px
;
border-radius
:
20px
;
}
/
deep
/
.el-switch__label
*
{
font-size
:
12px
;
}
/
deep
/
.el-switch__core
:after
{
width
:
26px
;
height
:
26px
;
}
/
deep
/
.el-switch__label--left
{
position
:
absolute
;
left
:
30px
;
color
:
#fff
;
z-index
:
-1111
;
cursor
:
default
;
user-select
:
none
;
}
/
deep
/
.el-switch__label--right
{
position
:
absolute
;
right
:
30px
;
color
:
#fff
;
z-index
:
-1111
;
cursor
:
default
;
user-select
:
none
;
}
/
deep
/
.el-switch__label--right.is-active
{
z-index
:
1111
;
color
:
grey
!important
;
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-switch__label--left.is-active
{
z-index
:
1111
;
color
:
#fff
!important
;
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-dialog__body
{
padding-bottom
:
15px
;
}
.setscroll
{
width
:
100%
;
height
:
600px
;
overflow
:
auto
;
}
.dialog
{
.eltable
{
box-sizing
:
border-box
;
text-align
:
center
;
width
:
100%
;
min-width
:
100%
;
//
margin-right
:
210px
;
//
margin-top
:
3vh
;
}
box-sizing
:
border-box
;
text-align
:
center
;
width
:
100%
;
min-width
:
100%
;
}
}
//
::-webkit-scrollbar
{
//
width
:
6px
;
//
横向滚动条
...
...
@@ -945,5 +984,4 @@
//
height
:
6px
;
//
纵向滚动条必写
//
}
</
style
>
\ No newline at end of file
</
style
>
\ No newline at end of file
src/views/assessChecks/assistedVerif.vue
View file @
1bacad2
...
...
@@ -810,7 +810,7 @@ export default {
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin-bottom
:
20px
;
margin
:
20px
0
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
...
...
src/views/assessChecks/auxiliarySelection.vue
View file @
1bacad2
...
...
@@ -1044,10 +1044,6 @@ export default {
}
}
}
.eltable
{
widows
:
100%
;
box-sizing
:
border-box
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
...
...
@@ -1085,7 +1081,10 @@ export default {
}
/
deep
/
.el-table
{
width
:
100%
;
//
width
:
100%
;
position
:
absolute
;
//
width
:
auto
!important
;
max-width
:
none
;
.el-table__header-wrapper
table,
.el-table__body-wrapper
table
{
width
:
100%
!important
;
...
...
@@ -1207,13 +1206,18 @@ export default {
}
.setscroll
{
width
:
100%
;
height
:
600px
;
height
:
650px
;
position
:
relative
;
overflow
:
auto
;
}
.setscrolldialog
{
width
:
100%
;
height
:
300px
;
overflow
:
auto
;
box-sizing
:
border-box
;
/deep/
.el-table{
width
:
96%
!important
;
}
}
/
deep
/
.el-table__body-wrapper
::-webkit-scrollbar
{
...
...
src/views/assessChecks/checkComplianceXF.vue
View file @
1bacad2
...
...
@@ -239,7 +239,7 @@ export default {
width
:
99%
;
position
:
absolute
;
//
height
:
80px
;
bottom
:
1
5
0px
;
bottom
:
1
3
0px
;
right
:
0
;
//
left
:
50%
;
z-index
:
100
;
...
...
src/views/assessChecks/confirmChanges.vue
View file @
1bacad2
...
...
@@ -71,8 +71,8 @@
</el-table-column>
<el-table-column
prop=
"projectStatus"
label=
"项目建设阶段"
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"历史审核状态"
>
</el-table-column>
<
!--
<
el-table-column
prop=
"createTime"
label=
"历史审核状态"
>
</el-table-column>
-->
<el-table-column
prop=
"expertName"
label=
"评审专家名单"
>
</el-table-column>
...
...
src/views/assessChecks/confirmRelease.vue
View file @
1bacad2
...
...
@@ -791,7 +791,7 @@ export default {
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin-bottom
:
20px
;
margin
:
20px
0
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
...
...
src/views/assessChecks/correctiveAssistanceVerification.vue
View file @
1bacad2
<!-- 整改辅助核验 -->
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleForm.planReviewDate"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"后评估专家组长:"
prop=
"fullName"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.fullName"
placeholder=
"请选择"
>
<el-option
label=
"zhangsan"
value=
"0"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
>
<el-option
label=
"未下发"
value=
"0"
></el-option>
<el-option
label=
"已下发"
value=
"1"
></el-option>
<el-option
label=
"已撤回"
value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"创建人:"
prop=
"creator"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.creator"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"创建时间:"
prop=
"createTime"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleForm.createTime"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</el-form-item>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleForm.planReviewDate"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"后评估专家组长:"
prop=
"fullName"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.fullName"
placeholder=
"请选择"
>
<el-option
label=
"zhangsan"
value=
"0"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
>
<el-option
label=
"未下发"
value=
"0"
></el-option>
<el-option
label=
"已下发"
value=
"1"
></el-option>
<el-option
label=
"已撤回"
value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"button"
>
<el-button
@
click=
"submitForm()"
>
<img
class=
"buttonIcon"
src=
"../../assets/cx.png"
/>
查询
</el-button
>
<el-button
@
click=
"resetForm('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/cz.png"
/>
重置
</el-button
>
<el-button
@
click=
"rectificationReview('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/fh.png"
/>
整改复核
</el-button
>
<el-button
@
click=
"submmitRectificationReview('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/fh.png"
/>
提交整改复核
</el-button
>
</el-form-item>
</el-form>
<el-table
@
selection-change=
"handleSelectionChange"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
border
<el-form-item
label=
"创建人:"
prop=
"creator"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.creator"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"创建时间:"
prop=
"createTime"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleForm.createTime"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"批次年度"
width=
"auto"
prop=
"batchYear"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"postProjectName"
label=
"评估项目名称"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"buildStyle"
label=
"建设形式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"historyCheckStatus"
label=
"历史审核状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"formerYearsCheckStatus"
label=
"往年审核状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"evaluationExpertList"
label=
"评审专家名单"
width=
"auto"
>
</el-table-column>
</el-date-picker>
</el-form-item>
<el-table-column
prop=
"problemAppealEndTime"
label=
"问题申诉截止时间"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"problemAbarbeitEndTime"
label=
"问题整改截止时间"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"RectifyReviewStatus"
label=
"整改复核状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"postDate"
label=
"评估日期"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[10, 15, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
class=
"elpagination"
<el-form-item
class=
"button"
>
<el-button
@
click=
"submitForm()"
>
<img
class=
"buttonIcon"
src=
"../../assets/cx.png"
/>
查询
</el-button
>
<el-button
@
click=
"resetForm('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/cz.png"
/>
重置
</el-button
>
<el-button
@
click=
"rectificationReview('ruleForm')"
>
<i
class=
"el-icon-chat-dot-square"
></i
>
整改复核
</el-button
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title=
"材料同步归档详情"
:visible
.
sync=
"dialogXQ"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
<el-button
@
click=
"submmitRectificationReview('ruleForm')"
>
<i
class=
"el-icon-document-remove"
></i
>
提交整改复核
</el-button
>
<div
class=
"dialog"
>
<el-form
:model=
"ruleFormdialogData"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"项目年度:"
prop=
"projectYear"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogData.projectYear"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"项目编码:"
prop=
"projectCode"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogData.projectCode"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogData.projectName"
disabled
></el-input>
</el-form-item>
</el-form-item>
</el-form>
<div
class=
"setscroll"
>
<el-table
@
selection-change=
"handleSelectionChange"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"批次年度"
width=
"auto"
prop=
"batchYear"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"评估项目名称"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"projectCategory"
label=
"建设形式"
width=
"auto"
>
</el-table-column>
<!--
<el-table-column
prop=
"historyCheckStatus"
label=
"历史审核状态"
width=
"auto"
>
</el-table-column>
-->
<!--
<el-table-column
prop=
"formerYearsCheckStatus"
label=
"往年审核状态"
width=
"auto"
>
</el-table-column>
-->
<el-table-column
prop=
"expertName"
label=
"评审专家名单"
width=
"auto"
>
</el-table-column>
<el-form-item
label=
"项目阶段:"
prop=
"projectPhase"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogData.projectPhase"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"项目环节:"
prop=
"projectLink"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogData.projectLink"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"问题检查项:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogData.checkProblem"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"是否申诉:"
prop=
"appealFlag"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogData.appealFlag"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"申诉是否通过:"
prop=
"appealPassFlag"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogData.appealPassFlag"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"是否完成整改:"
prop=
"completeFlag"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogData.completeFlag"
disabled
></el-input>
</el-form-item>
</el-form>
</div>
</el-dialog>
<el-table-column
prop=
"appealDeadline"
label=
"问题申诉截止时间"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"rectificationDeadline"
label=
"问题整改截止时间"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"postEvalState"
label=
"整改复核状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"reviewDate"
label=
"评估日期"
width=
"auto"
>
</el-table-column>
</el-table>
</div>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[10, 15, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
class=
"elpagination"
>
</el-pagination>
<!-- 问题整改 -->
<el-dialog
title=
"复核情况"
:visible
.
sync=
"dialogQR"
width=
"79%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
@
close=
"closed"
>
<div
class=
"dialog"
>
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<div
class=
"setTable"
>
<el-table
:data=
"tableDataQR"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
:span-method=
"arraySpanMethod"
border
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"150"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"100"
prop=
"questionId"
>
</el-table-column>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
width=
"200"
>
</el-table-column>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
width=
"300"
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
width=
"300"
>
</el-table-column>
<el-table-column
label=
"问题确认"
width=
"auto"
>
<template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.confirmStatus"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"2"
inactive-value=
"1"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
>
<template
v-slot:active
>
<span>
开启
</span>
</
template
>
<
template
v-slot:inactive
>
<span>
关闭
</span>
</
template
>
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"解释批注"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"fileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"rectificationStatus"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.appealStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
value=
""
></el-option>
<el-option
label=
"未申诉"
:value=
"0"
></el-option>
<el-option
label=
"已申诉"
:value=
"1"
></el-option>
<el-option
label=
"申诉驳回"
:value=
"2"
></el-option>
<el-option
label=
"申诉通过"
:value=
"3"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
label=
"上传整改材料"
prop=
"rectificationStatus"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"情况说明"
prop=
"zgqkFileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"整改复核"
prop=
"rectificationStatus"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.rectificationStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
value=
""
></el-option>
<el-option
label=
"问题未整改"
:value=
"0"
></el-option>
<el-option
label=
"整改不合格"
:value=
"1"
></el-option>
<el-option
label=
"整改完成"
:value=
"2"
></el-option>
</el-select>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancelSS()"
>
取消
</span><span
@
click=
"saveSS()"
>
保存
</span>
</p>
</el-dialog>
<!-- 复核下发 -->
<el-dialog
title=
"复核情况"
:visible
.
sync=
"dialogSS"
width=
"79%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<div
class=
"setTable"
>
<el-table
:data=
"tableDataSS"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
:span-method=
"arraySpanMethodss"
border
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"150"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"100"
prop=
"questionId"
>
</el-table-column>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
width=
"200"
>
</el-table-column>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
width=
"300"
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
width=
"300"
>
</el-table-column>
<el-table-column
label=
"问题确认"
width=
"auto"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.confirmStatus"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"2"
inactive-value=
"1"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
>
<template
v-slot:active
>
<span>
开启
</span>
</
template
>
<
template
v-slot:inactive
>
<span>
关闭
</span>
</
template
>
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"解释批注"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"fileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"rectificationStatus"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.appealStatus"
placeholder=
"请选择"
>
<el-option
label=
"请选择"
value=
""
></el-option>
<el-option
label=
"未申诉"
:value=
"0"
></el-option>
<el-option
label=
"已申诉"
:value=
"1"
></el-option>
<el-option
label=
"申诉驳回"
:value=
"2"
></el-option>
<el-option
label=
"申诉通过"
:value=
"3"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
label=
"上传整改材料"
prop=
"rectificationStatus"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
<el-table-column
label=
"情况说明"
prop=
"zgqkFileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
/>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancel()"
>
取消
</span><span
@
click=
"save()"
>
提交
</span>
</p>
</el-dialog>
</div>
</template>
<
script
>
import
{
evalBatchInfo
,
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
category
:
[
{
name
:
"2024"
,
id
:
1
},
{
name
:
"2023"
,
id
:
2
},
{
name
:
"2022"
,
id
:
3
},
{
name
:
"2021"
,
id
:
4
},
],
//专业领域
showButton
:
true
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
fullName
:
""
,
postEvalState
:
""
,
creator
:
""
,
createTime
:
""
,
},
ruleFormdialogRow
:
{
batchYear
:
""
,
batchName
:
""
,
buildStyle
:
""
,
historyCheckStatus
:
""
,
formerYearsCheckStatus
:
""
,
evaluationExpertList
:
""
,
problemAppealEndTime
:
""
,
problemAbarbeitEndTime
:
""
,
RectifyReviewStatus
:
""
,
postDate
:
""
,
},
ruleFormdialogData
:
{
batchYear
:
""
,
batchName
:
""
,
},
xfParams
:
""
,
//下发入参
tableData
:
[],
tableDataQD
:
[],
//清单列表
checkedList
:
[],
currentPage
:
1
,
currentPagetjcl
:
1
,
pageSizetjcl
:
10
,
total
:
0
,
dialogXQ
:
false
,
currentPageBJ
:
1
,
pageSizeBJ
:
10
,
dialogAdd
:
false
,
dialogAddzj
:
false
,
pageSize
:
10
,
current
:
1
,
addtotal
:
0
,
currentAdd
:
1
,
pageSizeAdd
:
10
,
currentedit
:
1
,
pageSizeedit
:
10
,
xfParam
:
""
,
dialogedit
:
false
,
expertIdList
:
[],
totalBJ
:
0
,
addZJList
:
[],
expertState
:
""
,
fields
:
""
,
addcurrentPage
:
1
,
addtableData
:
[],
message
:
{},
};
},
mounted
()
{
this
.
submitForm
();
},
methods
:
{
async
submitForm
(
formName
)
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
let
res
=
await
evalBatchInfo
(
params
);
import
{
rectificationVerification
,
wtssSelectificationVerification
,
bcrectificationVerification
,
tjrectificationVerification
,
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
dialogSS
:
false
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
fullName
:
""
,
postEvalState
:
""
,
creator
:
""
,
createTime
:
""
,
},
tableData
:
[],
tableDataQR
:
[],
tableDataSS
:
[],
checkedList
:
[],
currentPage
:
1
,
pageSizetjcl
:
10
,
total
:
0
,
dialogQR
:
false
,
pageSize
:
10
,
mergingPos
:
0
,
mergingRows
:
[],
mergingPosss
:
0
,
mergingRowsss
:
[],
};
},
mounted
()
{
this
.
submitForm
();
},
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
total
=
res
.
data
.
total
*
1
;
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
},
//详情
async
detailsForm
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
console
.
log
(
"222"
,
this
.
checkedList
);
this
.
dialogXQ
=
true
;
this
.
ruleFormdialogData
=
this
.
checkedList
[
0
]
let
params
=
{
current
:
this
.
currentedit
,
pageSize
:
this
.
pageSizeedit
,
batchId
:
this
.
checkedList
[
0
].
batchId
};
console
.
log
(
params
,
'params'
)
let
res
=
await
expert
(
params
);
mounted
()
{
this
.
submitForm
();
},
methods
:
{
async
submitForm
()
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
let
res
=
await
rectificationVerification
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
reviewStatus
>=
"5"
)
{
this
.
$set
(
item
,
"postEvalState"
,
"整改提交"
);
}
else
{
this
.
$set
(
item
,
"postEvalState"
,
"整改未提交"
);
}
});
this
.
total
=
res
.
data
.
total
*
1
;
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
},
//整改复核
async
rectificationReview
()
{
this
.
mergingPos
=
0
;
this
.
mergingRows
=
[];
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行整改"
);
return
;
}
this
.
dialogQR
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
this
.
addtableData
=
res
.
data
.
records
this
.
totalBJ
=
res
.
data
.
total
*
1
;
},
rectificationReview
(){
alert
(
"整改复核"
);
},
submmitRectificationReview
(){
alert
(
"提交整改复核"
);
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
}
return
""
;
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
);
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
ruleFormdialogRow
=
this
.
checkedList
[
0
];
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSize
=
val
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
},
handleSizeChangeZJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeZJ
=
val
;
},
handleCurrentChangeZJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentZJ
=
val
;
},
handleSizeChangetjcl
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizetjcl
=
val
;
},
handleCurrentChangetjcl
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPagetjcl
=
val
;
},
handleSizeChangeAdd
(
val
)
{
this
.
pageSizeAdd
=
val
;
},
handleCurrentChangeAdd
(
val
)
{
this
.
currentAdd
=
val
;
},
handleSizeChangeBJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeBJ
=
val
;
},
handleCurrentChangeBJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPageBJ
=
val
;
},
cancel
()
{
this
.
dialog
=
false
;
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
font-size
:
14px
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
}
.el-form
{
display
:
flex
;
width
:
99%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin-bottom
:
20px
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
let
res
=
await
wtssSelectificationVerification
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableDataQR
=
res
.
data
.
records
;
this
.
tableDataQR
.
forEach
((
item
)
=>
{
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataQR
,
"加不进去?"
);
this
.
dataPretreatment
();
}
},
dataPretreatment
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataQR
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRows
.
push
(
1
);
this
.
mergingPos
=
0
;
}
else
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
;
this
.
mergingRows
.
push
(
0
);
}
else
{
this
.
mergingRows
.
push
(
1
);
this
.
mergingPos
=
i
;
}
}
/
deep
/
.el-form-item__label
{
font-weight
:
bold
;
color
:
#000
;
width
:
160px
!important
;
}
},
dataPretreatmentSS
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataSS
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRowsss
.
push
(
1
);
this
.
mergingPosss
=
0
;
}
else
{
if
(
this
.
tableDataSS
[
i
].
projectStage
===
this
.
tableDataSS
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRowsss
[
this
.
mergingPosss
]
+=
1
;
this
.
mergingRowsss
.
push
(
0
);
}
else
{
this
.
mergingRowsss
.
push
(
1
);
this
.
mergingPosss
=
i
;
}
}
.button
{
display
:
inline-block
;
width
:
100%
;
text-align
:
left
;
/deep/
.el-form-item__content
{
margin-left
:
20px
!important
;
text-align
:
left
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
15px
;
vertical-align
:
middle
;
}
}
.el-button
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
color
:
#fff
;
}
}
}
.eltable
{
widows
:
100%
;
box-sizing
:
border-box
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
color
:
#2785e6
;
}
.elpagination
{
text-align
:
right
;
margin-right
:
100px
;
}
/
deep
/
.el-dialog
{
border-radius
:
10px
;
}
/
deep
/
.el-dialog__wrapper
{
position
:
absolute
;
}
/
deep
/
.v-modal
{
position
:
absolute
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0d867f
;
padding-bottom
:
20px
;
text-align
:
left
;
border-radius
:
10px
10px
0
0
;
.el-dialog__title
{
color
:
#fff
;
}
}
/
deep
/
.el-table__header
th
{
background-color
:
#eeeeee
;
font-weight
:
bold
;
.cell
{
color
:
#333
;
}
}
}
},
/
deep
/
.el-table
{
width
:
100%
;
.el-table__header-wrapper
table,
.el-table__body-wrapper
table
{
width
:
100%
!important
;
}
.el-table__body
,
.el-table__footer
,
.el-table__header
{
table-layout
:
auto
;
}
}
.dialog
{
.xqtitle
{
text-align
:
left
;
font-size
:
18px
;
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
}
return
""
;
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
console
.
log
(
"222222"
);
span
{
display
:
inline-block
;
width
:
5px
;
height
:
20px
;
background
:
#0d867f
;
margin-right
:
14px
;
vertical-align
:
middle
;
}
}
}
.textarea
{
width
:
100%
;
.el-textarea
{
width
:
60%
;
}
}
.Btn
{
width
:
200px
;
margin
:
0
auto
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
4px
;
margin-right
:
12px
;
}
span
:first-of-type
{
border
:
1px
solid
#000
;
}
span
:last-of-type
{
background-color
:
#0d867f
;
border
:
1px
solid
#0d867f
;
color
:
#fff
;
}
}
/
deep
/
.el-dialog__headerbtn
.el-dialog__close
{
color
:
#fff
;
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
console
.
log
(
"222222333"
,
this
.
checkedList
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
);
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
$forceUpdate
();
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSize
=
val
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRows
[
rowIndex
];
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
};
}
},
arraySpanMethodss
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRowsss
[
rowIndex
];
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
};
}
},
//问题确认开关
controlSwitch
(
val
,
row
)
{
console
.
log
(
"333"
,
val
,
row
);
},
cancelSS
()
{
this
.
dialogQR
=
false
;
},
async
save
()
{
let
res
=
await
tjrectificationVerification
(
this
.
tableDataSS
);
if
(
res
.
code
==
"200"
)
{
this
.
dialogSS
=
false
;
this
.
resetForm
();
}
else
{
this
.
$message
(
"整改复核提交失败"
);
}
},
cancel
()
{
this
.
dialogSS
=
false
;
},
async
saveSS
()
{
let
res
=
await
bcrectificationVerification
(
this
.
tableDataQR
);
if
(
res
.
code
==
"200"
)
{
this
.
dialogQR
=
false
;
this
.
resetForm
();
}
},
//提交整改复核
async
submmitRectificationReview
()
{
this
.
mergingPosss
=
0
;
this
.
mergingRowsss
=
[];
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行提交"
);
return
;
}
this
.
dialogSS
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
let
res
=
await
wtssSelectificationVerification
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableDataSS
=
res
.
data
.
records
;
this
.
tableDataSS
.
forEach
((
item
)
=>
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
);
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataSS
);
this
.
dataPretreatmentSS
();
}
},
handleFileUpload
(
event
)
{
console
.
log
(
"来了么"
);
this
.
file
=
event
.
target
.
files
[
0
];
},
submitFile
(
row
)
{
this
.
$message
(
"上传还没做"
);
return
;
console
.
log
(
row
);
if
(
this
.
file
)
{
const
formData
=
new
FormData
();
formData
.
append
(
"file"
,
this
.
file
);
formData
.
append
(
"prjId"
,
this
.
checkedList
[
0
].
projectId
);
formData
.
append
(
"typeCode"
,
row
.
typeCode
);
ossupload
(
formData
)
.
then
((
response
)
=>
{
console
.
log
(
response
);
this
.
$set
(
row
,
"fileName"
,
response
.
data
.
fileName
);
})
.
catch
((
error
)
=>
{
console
.
error
(
error
);
});
}
},
closed
()
{
console
.
log
(
"关闭"
);
this
.
handleSelectionChange
();
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
font-size
:
14px
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
}
.el-form
{
display
:
flex
;
width
:
99%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin-bottom
:
20px
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.zjBtn
{
width
:
200px
;
text-align
:
left
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
5px
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
padding
:
5px
10px
;
margin-left
:
10px
;
}
.el-select
{
width
:
226px
;
}
/
deep
/
.el-icon-position
{
margin-right
:
10px
;
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-form-item__label
{
font-weight
:
bold
;
color
:
#000
;
width
:
160px
!important
;
}
.button
{
display
:
inline-block
;
width
:
100%
;
text-align
:
left
;
/deep/
.el-form-item__content
{
margin-left
:
20px
!important
;
text-align
:
left
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
15px
;
vertical-align
:
middle
;
}
}
/
deep
/
.el-icon-folder-delete
{
margin-right
:
10px
;
.el-button
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
color
:
#fff
;
}
.cxItem
{
text-align
:
right
;
width
:
20%
;
.zjquery
{
display
:
inline-block
;
background-color
:
#4ca6a7
;
width
:
89px
;
height
:
40px
;
color
:
#fff
;
text-align
:
center
;
line-height
:
40px
;
border-radius
:
5px
;
}
}
}
.eltable
{
box-sizing
:
border-box
;
text-align
:
center
;
width
:
150%
;
min-width
:
150%
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
color
:
#2785e6
;
}
.elpagination
{
text-align
:
right
;
margin-right
:
100px
;
}
/
deep
/
.el-dialog
{
border-radius
:
10px
;
margin-top
:
3vh
!important
;
margin-left
:
3vw
!important
;
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.el-table
td
.el-table__cell
{
text-align
:
center
;
}
/
deep
/
.el-dialog__wrapper
{
position
:
absolute
;
}
/
deep
/
.v-modal
{
position
:
absolute
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0d867f
;
padding-bottom
:
20px
;
text-align
:
left
;
border-radius
:
10px
10px
0
0
;
.el-dialog__title
{
color
:
#fff
;
}
}
/
deep
/
.el-table__header
th
{
background-color
:
#eeeeee
;
font-weight
:
bold
;
.cell
{
color
:
#333
;
}
}
/
deep
/
.el-table
{
position
:
absolute
;
width
:
auto
!important
;
max-width
:
none
;
//
width
:
100%
;
.el-table__header-wrapper
table,
.el-table__body-wrapper
table
{
//
width
:
100%
!important
;
}
.el-table__body
,
.el-table__footer
,
.el-table__header
{
table-layout
:
auto
;
}
}
.textarea
{
width
:
100%
;
.el-textarea
{
width
:
60%
;
}
}
.Btn
{
width
:
200px
;
margin
:
0
auto
;
height
:
30px
;
line-height
:
30px
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
4px
;
margin-right
:
12px
;
}
span
:first-of-type
{
border
:
1px
solid
#000
;
}
span
:last-of-type
{
background-color
:
#0d867f
;
border
:
1px
solid
#0d867f
;
color
:
#fff
;
}
}
/
deep
/
.el-dialog__headerbtn
.el-dialog__close
{
color
:
#fff
;
}
.zjBtn
{
width
:
400px
;
text-align
:
left
;
vertical-align
:
middle
;
span
{
display
:
inline-block
;
width
:
140px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
5px
;
vertical-align
:
middle
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
padding
:
5px
10px
;
margin-left
:
10px
;
}
}
/
deep
/
.el-icon-position
{
margin-right
:
10px
;
}
/
deep
/
.el-icon-folder-delete
{
margin-right
:
10px
;
}
.cxItem
{
text-align
:
right
;
width
:
20%
;
.zjquery
{
display
:
inline-block
;
background-color
:
#4ca6a7
;
width
:
89px
;
height
:
40px
;
color
:
#fff
;
text-align
:
center
;
line-height
:
40px
;
border-radius
:
5px
;
}
}
.midBtn
{
margin
:
0
auto
;
margin-top
:
20px
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
29px
;
line-height
:
29px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
box-sizing
:
border-box
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
border
:
1px
solid
#4ca6a7
;
}
}
.setTable
{
height
:
500px
;
overflow-y
:
auto
;
overflow-x
:
scroll
;
position
:
relative
;
overflow
:
auto
;
}
.dialog
{
//
height
:
700px
;
//
overflow-y
:
auto
;
//
overflow-x
:
auto
;
.xqtitle
{
text-align
:
left
;
font-size
:
18px
;
border-bottom
:
1px
solid
gainsboro
;
padding-bottom
:
10px
;
span
{
display
:
inline-block
;
width
:
5px
;
height
:
20px
;
background
:
#0d867f
;
margin-right
:
14px
;
vertical-align
:
middle
;
}
.midBtn
{
margin
:
0
auto
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
}
}
/
deep
/
.el-form
{
width
:
65%
;
flex-wrap
:
wrap
;
padding
:
0
10px
;
text-align
:
center
;
margin
:
100px
auto
;
border
:
none
;
.fromItem
{
text-align
:
center
;
width
:
51%
;
margin
:
0
auto
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.el-table
td
.el-table__cell
{
text-align
:
center
;
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-table__cell
{
text-align
:
center
;
/
deep
/
.el-form-item__label
{
font-weight
:
400
;
//
color
:
#000
;
width
:
160px
!important
;
}
}
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.el-table
td
.el-table__cell
{
text-align
:
center
;
}
/
deep
/
.el-table__cell
{
text-align
:
center
;
}
h3
{
text-align
:
left
;
}
/
deep
/
.el-switch__core
{
height
:
30px
;
width
:
79px
!important
;
border-radius
:
20px
;
}
/
deep
/
.el-switch.is-checked
.el-switch__core
::after
{
margin-left
:
-28px
;
}
/
deep
/
.el-switch_label
{
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-switch
{
height
:
30px
;
line-height
:
30px
;
border-radius
:
20px
;
}
/
deep
/
.el-switch__label
*
{
font-size
:
12px
;
}
/
deep
/
.el-switch__core
:after
{
width
:
26px
;
height
:
26px
;
}
/
deep
/
.el-switch__label--left
{
position
:
absolute
;
left
:
30px
;
color
:
#fff
;
z-index
:
-1111
;
cursor
:
default
;
user-select
:
none
;
}
/
deep
/
.el-switch__label--right
{
position
:
absolute
;
right
:
30px
;
color
:
#fff
;
z-index
:
-1111
;
cursor
:
default
;
user-select
:
none
;
}
/
deep
/
.el-switch__label--right.is-active
{
z-index
:
1111
;
color
:
grey
!important
;
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-switch__label--left.is-active
{
z-index
:
1111
;
color
:
#fff
!important
;
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-dialog__body
{
padding-bottom
:
15px
;
}
.setscroll
{
width
:
100%
;
height
:
650px
;
position
:
relative
;
overflow
:
auto
;
}
.dialog
{
.eltable
{
box-sizing
:
border-box
;
text-align
:
center
;
width
:
100%
;
min-width
:
100%
;
}
}
//
::-webkit-scrollbar
{
//
width
:
6px
;
//
横向滚动条
//
height
:
6px
;
//
纵向滚动条必写
//
}
</
style
>
\ No newline at end of file
src/views/assessChecks/materialAcquisition.vue
View file @
1bacad2
...
...
@@ -296,18 +296,6 @@ export default {
planReviewDate
:
""
,
fullName
:
""
,
},
rules
:
{
batchYear
:
[
{
required
:
true
,
message
:
"请选择批次年度"
,
trigger
:
"change"
},
],
batchName
:
[
{
required
:
true
,
message
:
"请选择后评估批次名称"
,
trigger
:
"change"
,
},
],
},
tableData
:
[],
tableDataQD
:
[],
//清单列表
checkedList
:
[],
...
...
src/views/layout/continerView.vue
View file @
1bacad2
...
...
@@ -12,8 +12,13 @@ export default {
<
style
lang=
"scss"
scoped
>
.main
{
height
:
100%
;
padding
:
10px
;
padding-top
:
5px
;
padding-bottom
:
0
;
//
overflow-y
:
auto
;
//
overflow-x
:
hidden
;
//
overflow
:
auto
;
}
</
style
>
\ No newline at end of file
src/views/layout/index.vue
View file @
1bacad2
...
...
@@ -12,7 +12,19 @@
<div
style=
"margin-right: 5px"
>
<img
src=
"../../assets/user.png"
alt=
"user"
/>
</div>
<div
style=
"margin-right: 35px"
>
您好,管理员
</div>
<!--
<div
style=
"margin-right: 35px"
>
您好,管理员
</div>
-->
<el-dropdown>
<el-button
type=
"primary"
>
<div
style=
"margin-right: 35px"
@
click=
"changeSelect()"
>
您好,管理员
</div>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item>
黄金糕
</el-dropdown-item>
<el-dropdown-item>
狮子头
</el-dropdown-item>
<el-dropdown-item>
螺蛳粉
</el-dropdown-item>
<el-dropdown-item>
双皮奶
</el-dropdown-item>
<el-dropdown-item>
蚵仔煎
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div
style=
"margin-right: 5px"
>
<img
src=
"../../assets/exit.png"
alt=
"exit"
/>
</div>
...
...
@@ -109,7 +121,10 @@ export default {
navigateToChild
(
num
,
pushUrl
){
this
.
active
=
num
this
.
$router
.
push
({
path
:
pushUrl
});
}
},
changeSelect
(){
},
}
};
</
script
>
...
...
src/views/layout/leftBar.vue
View file @
1bacad2
<
template
>
<div
class=
"navbar"
>
<el-scrollbar
style=
"height:900px;"
ref=
"scroll"
>
<el-menu
router
class=
"el-menu-vertical-demo"
:unique-opened=
"true"
@
open=
"handleOpen"
@
close=
"handleClose"
:default-active=
"activeIndex"
>
<!-- :default-openeds="['submenu1']" -->
<el-submenu
v-for=
"(item, index) in menuList"
:key=
"index"
:index=
"index + ''"
class=
"submenu1"
<el-scrollbar
style=
"height: 900px"
ref=
"scroll"
>
<el-menu
router
class=
"el-menu-vertical-demo"
:unique-opened=
"true"
@
open=
"handleOpen"
@
close=
"handleClose"
:default-active=
"activeIndex"
>
<template
slot=
"title"
>
<span
class=
"iconfont treeIcon1"
>

</span>
<span>
{{
item
.
name
}}
</span>
</
template
>
<!-- :default-openeds="['submenu1']" -->
<el-submenu
v-for=
"(item
2, index2) in item.children
"
:key=
"index
2
"
:index=
"index + '
-' + index2 + '
'"
class=
"submenu
2
"
v-for=
"(item
, index) in menuList
"
:key=
"index"
:index=
"index + ''"
class=
"submenu
1
"
>
<template
slot=
"title"
>
<span
class=
"iconfont treeIcon
2
"
>

</span>
<span>
{{
item
2
.
name
}}
</span>
<span
class=
"iconfont treeIcon
1
"
>

</span>
<span>
{{
item
.
name
}}
</span>
</
template
>
<el-menu-item
v-for=
"(item3, index3) in item2.children"
:key=
"index3"
:index=
"item3.url"
class=
"submenu3"
>
<span
class=
"title3"
></span>
{{ item3.name }}
</el-menu-item>
<el-submenu
v-for=
"(item2, index2) in item.children"
:key=
"index2"
:index=
"index + '-' + index2 + ''"
class=
"submenu2"
>
<
template
slot=
"title"
>
<span
class=
"iconfont treeIcon2"
>

</span>
<span>
{{
item2
.
name
}}
</span>
</
template
>
<el-menu-item
v-for=
"(item3, index3) in item2.children"
:key=
"index3"
:index=
"item3.url"
class=
"submenu3"
>
<span
class=
"title3"
></span>
{{ item3.name }}
</el-menu-item>
</el-submenu>
</el-submenu>
</el-submenu>
</el-menu>
</el-scrollbar>
</el-menu>
</el-scrollbar>
</div>
</template>
...
...
@@ -58,10 +58,72 @@ export default {
name
:
"后评估自查"
,
url
:
""
,
children
:
[
{
name
:
"自查流程发起"
,
url
:
""
,
children
:
[]
},
{
name
:
"项目自评估"
,
url
:
""
,
children
:
[]
},
{
name
:
"自查问题整改"
,
url
:
""
,
children
:
[]
},
{
name
:
"自查问题复核"
,
url
:
""
,
children
:
[]
},
{
name
:
"评估项目辅助选定"
,
url
:
"/mainLayout/auxiliarySelection"
,
children
:
[],
},
{
name
:
"评估批次确认发布"
,
url
:
"/mainLayout/confirmRelease"
,
children
:
[],
},
{
name
:
"评估材料自动获取"
,
url
:
"/mainLayout/materialAcquisition"
,
children
:
[],
},
// { name: "评估材料自动解析", url: "/mainLayout/materialAnalysis", children: [] },
{
name
:
"项目辅助检查"
,
url
:
"/mainLayout/auxiliaryInspection"
,
children
:
[],
},
{
name
:
"项目评估结果确认更改"
,
url
:
"/mainLayout/confirmChanges"
,
children
:
[],
},
{
name
:
"评估结果辅助查看"
,
url
:
"/mainLayout/assistedViewing"
,
children
:
[],
},
{
name
:
"问题辅助下发"
,
url
:
"/mainLayout/assitedDistribution"
,
children
:
[],
},
{
name
:
"问题辅助查询"
,
url
:
"/mainLayout/auxiliaryQuery"
,
children
:
[],
},
{
name
:
"问题辅助反馈"
,
url
:
"/mainLayout/assistedFeedback"
,
children
:
[],
},
{
name
:
"申诉辅助确认"
,
url
:
"/mainLayout/assistedConfirm"
,
children
:
[],
},
{
name
:
"问题辅助整改"
,
url
:
"/mainLayout/assistedRect"
,
children
:
[],
},
{
name
:
"整改辅助核验"
,
url
:
"/mainLayout/correctiveAssistanceVerification"
,
children
:
[],
},
{
name
:
"材料同步归档"
,
url
:
"/mainLayout/attachSynchronousArchiving"
,
children
:
[],
},
],
},
{
...
...
@@ -84,18 +146,56 @@ export default {
children
:
[],
},
// { name: "评估材料自动解析", url: "/mainLayout/materialAnalysis", children: [] },
{
name
:
"项目辅助检查"
,
url
:
"/mainLayout/auxiliaryInspection"
,
children
:
[]
},
{
name
:
"项目评估结果确认更改"
,
url
:
"/mainLayout/confirmChanges"
,
children
:
[]
},
{
name
:
"评估结果辅助查看"
,
url
:
"/mainLayout/assistedViewing"
,
children
:
[]
},
{
name
:
"问题辅助下发"
,
url
:
"/mainLayout/assitedDistribution"
,
children
:
[]
},
{
name
:
"问题辅助查询"
,
url
:
"/mainLayout/auxiliaryQuery"
,
children
:
[]
},
{
name
:
"问题辅助反馈"
,
url
:
"/mainLayout/assistedFeedback"
,
children
:
[]
},
{
name
:
"申诉辅助确认"
,
url
:
"/mainLayout/assistedConfirm"
,
children
:
[]
},
{
name
:
"问题辅助整改"
,
url
:
"/mainLayout/assistedRect"
,
children
:
[]
},
{
name
:
"整改辅助核验"
,
url
:
"/mainLayout/correctiveAssistanceVerification"
,
children
:
[]
},
{
name
:
"材料同步归档"
,
{
name
:
"项目辅助检查"
,
url
:
"/mainLayout/auxiliaryInspection"
,
children
:
[],
},
{
name
:
"项目评估结果确认更改"
,
url
:
"/mainLayout/confirmChanges"
,
children
:
[],
},
{
name
:
"评估结果辅助查看"
,
url
:
"/mainLayout/assistedViewing"
,
children
:
[],
},
{
name
:
"问题辅助下发"
,
url
:
"/mainLayout/assitedDistribution"
,
children
:
[],
},
{
name
:
"问题辅助查询"
,
url
:
"/mainLayout/auxiliaryQuery"
,
children
:
[],
},
{
name
:
"问题辅助反馈"
,
url
:
"/mainLayout/assistedFeedback"
,
children
:
[],
},
{
name
:
"申诉辅助确认"
,
url
:
"/mainLayout/assistedConfirm"
,
children
:
[],
},
{
name
:
"问题辅助整改"
,
url
:
"/mainLayout/assistedRect"
,
children
:
[],
},
{
name
:
"整改辅助核验"
,
url
:
"/mainLayout/correctiveAssistanceVerification"
,
children
:
[],
},
{
name
:
"材料同步归档"
,
url
:
"/mainLayout/attachSynchronousArchiving"
,
children
:
[]
},
children
:
[],
},
],
},
{
...
...
@@ -105,12 +205,12 @@ export default {
{
name
:
"项目检查问题查询"
,
url
:
"/mainLayout/projectCheckQuestionQuery"
,
children
:
[]
children
:
[]
,
},
{
name
:
"整改反馈查询"
,
url
:
"/mainLayout/rectificationFeedbackQuery"
,
children
:
[]
children
:
[]
,
},
],
},
...
...
@@ -221,25 +321,24 @@ export default {
},
],
isOpen
:
false
,
openeds
:
[
'0'
],
//默认展开导航栏
activeIndex
:
"/mainLayout/auxiliarySelection"
,
openeds
:
[
"0"
],
//默认展开导航栏
activeIndex
:
"/mainLayout/auxiliarySelection"
,
// openeds:["/mainLayout/confirmRelease"]
};
},
mounted
(){
this
.
activeIndex
=
this
.
$route
.
path
mounted
()
{
this
.
activeIndex
=
this
.
$route
.
path
;
},
methods
:
{
handleOpen
(
e
,
a
)
{
this
.
$nextTick
(()
=>
{
console
.
log
(
this
.
$refs
.
scroll
,
'this.$refs.scroll'
)
this
.
$refs
.
scroll
.
update
()
})
console
.
log
(
this
.
$refs
.
scroll
,
"this.$refs.scroll"
);
this
.
$refs
.
scroll
.
update
();
});
console
.
log
(
"打开"
,
e
,
a
);
if
(
a
.
length
==
1
)
{
console
.
log
(
'一级菜单'
)
console
.
log
(
"一级菜单"
);
let
treeIcon1
=
document
.
getElementsByClassName
(
"treeIcon1"
);
for
(
var
i
=
0
;
i
<
treeIcon1
.
length
;
i
++
)
{
...
...
@@ -248,16 +347,14 @@ export default {
treeIcon1
[
e
].
style
.
transform
=
"rotate(90deg)"
;
}
else
if
(
a
.
length
==
2
)
{
let
opened
=
document
.
getElementsByClassName
(
"is-opened"
);
console
.
log
(
'二级菜单'
,
opened
)
let
treeIcon2
=
opened
[
0
].
querySelectorAll
(
'.treeIcon2'
)
console
.
log
(
treeIcon2
,
'333'
)
console
.
log
(
"二级菜单"
,
opened
);
let
treeIcon2
=
opened
[
0
].
querySelectorAll
(
".treeIcon2"
);
console
.
log
(
treeIcon2
,
"333"
);
for
(
var
i
=
0
;
i
<
treeIcon2
.
length
;
i
++
)
{
treeIcon2
[
i
].
style
.
transform
=
"rotate(0deg)"
;
}
treeIcon2
[
e
.
slice
(
2
)].
style
.
transform
=
"rotate(90deg)"
;
}
},
handleClose
(
e
,
a
)
{
...
...
@@ -267,7 +364,7 @@ export default {
treeIcon1
[
e
].
style
.
transform
=
"rotate(0deg)"
;
}
else
if
(
a
.
length
==
2
)
{
let
opened
=
document
.
getElementsByClassName
(
"is-opened"
);
let
treeIcon2
=
opened
[
0
].
querySelectorAll
(
'.treeIcon2'
)
let
treeIcon2
=
opened
[
0
].
querySelectorAll
(
".treeIcon2"
);
treeIcon2
[
e
.
slice
(
2
)].
style
.
transform
=
"rotate(0deg)"
;
}
},
...
...
@@ -279,10 +376,10 @@ export default {
<
style
lang=
"scss"
scoped
>
.navbar
{
width
:
235px
;
height
:
100%
;
height
:
100%
;
padding-top
:
10px
;
}
/
deep
/
.el-menu
{
/
deep
/
.el-menu
{
border
:
none
!important
;
box-sizing
:
border-box
;
}
...
...
@@ -291,13 +388,13 @@ export default {
background-color
:
#63a4a6
;
margin-bottom
:
10px
;
border-radius
:
5px
;
box-shadow
:
1px
2px
4px
0px
#0068624
C
;
box-shadow
:
1px
2px
4px
0px
#0068624
c
;
}
.submenu1
/
deep
/
.el-submenu__title
{
height
:
40px
;
line-height
:
40px
;
box-shadow
:
1px
2px
4px
0px
#0068624
C
;
box-shadow
:
1px
2px
4px
0px
#0068624
c
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
#fff
;
...
...
@@ -307,12 +404,12 @@ export default {
background-color
:
#effbfa
;
margin-top
:
8px
;
border-radius
:
5px
;
box-shadow
:
1px
2px
4px
0px
#0068624
C
;
box-shadow
:
1px
2px
4px
0px
#0068624
c
;
}
.submenu2
/
deep
/
.el-submenu__title
{
height
:
40px
;
line-height
:
40px
;
box-shadow
:
1px
2px
4px
0px
#0068624
C
;
box-shadow
:
1px
2px
4px
0px
#0068624
c
;
font-size
:
15px
;
font-weight
:
bold
;
color
:
grey
;
...
...
@@ -364,19 +461,18 @@ export default {
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
}
.title3
{
.title3
{
display
:
inline-block
;
width
:
5px
;
height
:
5px
;
border-radius
:
5px
;
margin-right
:
5px
;
border-radius
:
5px
;
margin-right
:
5px
;
vertical-align
:
middle
;
background-color
:
#63a4a6
;
text-align
:
left
;
}
.submenu3
{
border-radius
:
5px
;
border-radius
:
5px
;
height
:
40px
;
line-height
:
40px
;
font-size
:
15px
;
...
...
@@ -386,14 +482,14 @@ export default {
padding-left
:
40px
!important
;
background-color
:
#effbfa
;
margin-top
:
8px
;
box-shadow
:
1px
2px
4px
0px
#0068624
C
;
box-shadow
:
1px
2px
4px
0px
#0068624
c
;
padding-right
:
0
;
}
.submenu2
/
deep
/
.is-active
{
.submenu2
/
deep
/
.is-active
{
background
:
rgba
(
99
,
164
,
166
,
0.6
);
color
:
#FFF
;
}
.menu-scrollbar
/
deep
/
.el-scrollbar__view
{
color
:
#fff
;
}
.menu-scrollbar
/
deep
/
.el-scrollbar__view
{
height
:
100%
;
/* 设置高度以填满父容器 */
}
/
deep
/
.el-scrollbar__thumb
{
...
...
src/views/layout/mainLayout.vue
View file @
1bacad2
<
template
>
<div
class=
"layout"
>
<LeftBar
class=
"bar"
></LeftBar>
<ContinerView
class=
"continer"
id=
"myElement"
>
<router-view></router-view>
</ContinerView>
</div>
<div
class=
"layout"
>
<LeftBar
class=
"bar"
></LeftBar>
<ContinerView
class=
"continer"
id=
"myElement"
>
<router-view></router-view>
</ContinerView>
</div>
</
template
>
<
script
>
import
ContinerView
from
'./continerView'
import
LeftBar
from
'./leftBar'
import
ContinerView
from
"./continerView"
;
import
LeftBar
from
"./leftBar"
;
export
default
{
components
:
{
ContinerView
,
LeftBar
},
data
()
{
return
{
title
:
'确认更改'
}
},
mounted
(){
window
.
addEventListener
(
'resize'
,
this
.
handleResize
);
},
methods
:
{
handleResize
()
{
components
:
{
ContinerView
,
LeftBar
,
},
data
()
{
return
{
title
:
"确认更改"
,
};
},
mounted
()
{
window
.
addEventListener
(
"resize"
,
this
.
handleResize
);
},
methods
:
{
handleResize
()
{
// 处理窗口大小变化的逻辑
console
.
log
(
'Window was resized!'
);
var
element
=
document
.
getElementById
(
'myElement'
);
// 获取元素
var
maxWidth
=
window
.
innerWidth
;
// 窗口宽度
var
elementWidth
=
element
.
offsetWidth
;
// 元素宽度
var
elementLeft
=
element
.
offsetLeft
;
// 元素左边缘到文档左边缘的距离
if
(
elementLeft
+
elementWidth
>
maxWidth
)
{
// 如果元素右边界超出窗口右边界,将元素左边缘设置为窗口宽度减去元素宽度
element
.
style
.
left
=
maxWidth
-
elementWidth
+
'px'
;
}
}
}
}
console
.
log
(
"Window was resized!"
);
var
element
=
document
.
getElementById
(
"myElement"
);
// 获取元素
var
maxWidth
=
window
.
innerWidth
;
// 窗口宽度
var
elementWidth
=
element
.
offsetWidth
;
// 元素宽度
var
elementLeft
=
element
.
offsetLeft
;
// 元素左边缘到文档左边缘的距离
if
(
elementLeft
+
elementWidth
>
maxWidth
)
{
// 如果元素右边界超出窗口右边界,将元素左边缘设置为窗口宽度减去元素宽度
element
.
style
.
left
=
maxWidth
-
elementWidth
+
"px"
;
}
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.layout
{
width
:
100%
;
//
height
:
100%
;
height
:
100vh
;
display
:
flex
;
padding
:
15px
;
background-color
:
#fff
;
overflow
:
hidden
;
.bar{
width
:
235px
;
height
:
100%
;
}
.continer
{
width
:
100%
;
//
height
:
100%
;
flex
:
1
;
box-sizing
:
border-box
;
}
}
.layout
{
width
:
100%
;
//
height
:
100%
;
height
:
100vh
;
display
:
flex
;
padding
:
15px
;
background-color
:
#fff
;
//
overflow
:
hidden
;
.bar
{
width
:
235px
;
height
:
100%
;
}
.continer
{
width
:
100%
;
height
:
100%
;
//
height
:
86vh
;
flex
:
1
;
box-sizing
:
border-box
;
//
overflow
:
auto
;
}
}
</
style
>
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
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 post a comment