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 63f3b89b
authored
May 08, 2024
by
liangzhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
反馈提交
1 parent
33572eb1
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
695 additions
and
600 deletions
src/api/index.js
src/views/assessChecks/assistedConfirm.vue
src/views/assessChecks/assistedFeedback.vue
src/views/assessChecks/assitedDistribution.vue
src/views/assessChecks/auxiliaryQuery.vue
src/api/index.js
View file @
63f3b89
...
...
@@ -187,3 +187,20 @@ export function wtqdqselect(params) {
export
function
clqdselect
(
params
)
{
return
post
(
`/api/select/clqd`
,
params
)
}
//申诉辅助确认
// 申诉辅助确认分页查询
export
function
appealAssistanceConfirmatio
(
params
)
{
return
post
(
`/api/appealAssistanceConfirmation/`
,
params
)
}
//问题复核保存
export
function
wtfhappealAssistanceConfirmatio
(
params
)
{
return
post
(
`/api/appealAssistanceConfirmation/wtfh`
,
params
)
}
//问题复核下发
export
function
xfappealAssistanceConfirmatio
(
params
)
{
return
post
(
`/api/appealAssistanceConfirmation/wtfhxf`
,
params
)
}
//申诉查询
export
function
wtssSelAssistanceConfirmatio
(
params
)
{
return
post
(
`/api/appealAssistanceConfirmation/wtssSel`
,
params
)
}
\ No newline at end of file
src/views/assessChecks/assistedConfirm.vue
View file @
63f3b89
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<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>
...
...
@@ -27,11 +27,13 @@
<el-button
@
click=
"resetForm('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/cz.png"
/>
重置
</el-button
>
<el-button
@
click=
"confirm('ruleForm')"
>
<i
class=
"el-icon-position"
></i>
问题确认
</el-button
<el-button
@
click=
"confirm()"
>
<i
class=
"el-icon-chat-dot-square"
></i
>
问题复核
</el-button
>
<el-button
@
click=
"appeal('ruleForm')"
>
<i
class=
"el-icon-folder-remove"
></i>
申诉
</el-button
<el-button
@
click=
"appeal()"
>
<i
class=
"el-icon-document-remove"
></i
>
问题下发
</el-button
>
</el-form-item>
</el-form>
...
...
@@ -40,7 +42,7 @@
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%
;height: 70%
"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
...
...
@@ -58,18 +60,17 @@
</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=
"
字段待确认
"
label=
"评审专家名单"
>
<
!--
<
el-table-column
prop=
"createTime"
label=
"历史审核状态"
>
</el-table-column>
--
>
<el-table-column
prop=
"
expertName
"
label=
"评审专家名单"
>
</el-table-column>
<el-table-column
prop=
"
字段待确认
"
label=
"问题申诉截止时间"
>
<el-table-column
prop=
"
appealDeadline
"
label=
"问题申诉截止时间"
>
</el-table-column>
<el-table-column
prop=
"
字段待确认
"
label=
"问题整改截止时间"
>
<el-table-column
prop=
"
rectificationDeadline
"
label=
"问题整改截止时间"
>
</el-table-column>
<el-table-column
prop=
"字段待确认"
label=
"问题下发状态"
>
</el-table-column>
<el-table-column
prop=
"字段待确认"
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>
<el-pagination
...
...
@@ -81,56 +82,60 @@
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
class=
"elpagination"
>
</el-pagination>
<!-- 问题确认 -->
<el-dialog
title=
"
提交评估材料
"
:visible
.
sync=
"dialog
XQ
"
title=
"
问题确认
"
:visible
.
sync=
"dialog
QR
"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
@
close=
"closed"
>
<div
class=
"dialog"
>
<H3
>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</H3
>
<p
class=
"xqtitle"
><span></span>
问题确认
</p>
<el-scrollbar
style=
"height:400px;"
ref=
"scroll"
>
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<el-table
@
selection-change=
"handleSelectionChange"
:data=
"addtableData"
: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=
"项目环节"
width=
"auto"
prop=
"projectId"
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"150"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index
"
>
<el-table-column
label=
"序号"
width=
"100"
prop=
"questionId
"
>
</el-table-column>
<el-table-column
prop=
"projectYear"
label=
"问题检查项"
width=
"auto
"
>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem
"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"检查说明"
width=
"auto
"
>
<el-table-column
label=
"检查说明"
prop=
"checkDesc
"
>
</el-table-column>
<el-table-column
prop=
"projectCategory"
label=
"评估问题"
width=
"auto
"
>
<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.state
s"
v-model=
"scope.row.confirmStatu
s"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"Y
"
inactive-value=
"N
"
active-value=
"2
"
inactive-value=
"1
"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
>
@
change=
"controlSwitch($event, scope.row)"
>
<template
v-slot:active
>
<span>
开启
</span>
</
template
>
...
...
@@ -140,60 +145,77 @@
</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"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
</el-table>
</el-scrollbar>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancel
()"
>
取消
</span
><span
@
click=
"save
()"
>
确认
</span>
<span
@
click=
"cancelSS
()"
>
取消
</span
><span
@
click=
"saveSS
()"
>
确认
</span>
</p>
</div>
</el-dialog>
<!-- 申诉 -->
<el-dialog
title=
"申诉"
:visible
.
sync=
"dialog
Add
"
:visible
.
sync=
"dialog
SS
"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<
H3
>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</H3
>
<
h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3
>
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<el-scrollbar
style=
"height:400px;"
ref=
"scroll"
>
<el-table
:data=
"sstableData
"
: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=
"项目环节"
width=
"auto"
prop=
"projectId"
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"150"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index
"
>
<el-table-column
label=
"序号"
width=
"100"
prop=
"questionId
"
>
</el-table-column>
<el-table-column
prop=
"projectYear"
label=
"问题检查项"
width=
"auto
"
>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem
"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"检查说明"
width=
"auto
"
>
<el-table-column
label=
"检查说明"
prop=
"checkDesc
"
>
</el-table-column>
<el-table-column
prop=
"projectCategory"
label=
"评估问题"
width=
"auto
"
>
<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.state
s"
v-model=
"scope.row.confirmStatu
s"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"Y
"
inactive-value=
"N
"
active-value=
"2
"
inactive-value=
"1
"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
>
@
change=
"controlSwitch($event, scope.row)"
>
<template
v-slot:active
>
<span>
开启
</span>
</
template
>
...
...
@@ -203,446 +225,198 @@
</el-switch>
</template>
</el-table-column>
<el-table-column
prop=
"contentSecond"
label=
"内容"
>
<el-table-column
label=
"解释批注"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.contentSecond"
placeholder=
"请输入内容"
clearable
></el-input>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"zgqkFileId"
label=
"附加解释材料"
width=
"auto"
>
<el-upload
action=
"https://your-upload-api"
:on-success=
"imguploadSuccess"
:on-error=
"imguploadError"
>
<!-- accept="" -->
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选择文件
</el-button>
</el-upload>
<el-table-column
label=
"附加解释材料"
prop=
"zgFileId"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
</el-table>
</el-scrollbar>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancelSS
()"
>
取消
</span
><span
@
click=
"saveSS
()"
>
确认
</span>
<span
@
click=
"cancel
()"
>
取消
</span
><span
@
click=
"save
()"
>
确认
</span>
</p>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
ProblemAssistedFeedback
,
ssProblemAssistedFeedback
,
qrProblemAssistedFeedback
,
wtssSelProblemAssistedFeedback
,
}
from
"@/api/index"
;
import
{
appealAssistanceConfirmatio
,
wtfhappealAssistanceConfirmatio
,
xfappealAssistanceConfirmatio
,
wtssSelAssistanceConfirmatio
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
sstableData
:[],
value1
:
true
,
dialogSS
:
false
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
postEvalState
:
""
,
},
ruleFormdialog
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
fullName
:
""
,
},
ruleFormZJ
:
{
fields
:
""
,
expertState
:
""
,
fullName
:
""
,
},
ruleFormdialogAdd
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
description
:
""
,
remark
:
""
,
},
ruleFormdialogBJ
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
prjsOfExpert
:
""
,
description
:
""
,
appealDeadline
:
""
,
rectificationDeadline
:
""
,
},
rules
:
{
prjsOfExpert
:
[
appealDeadline
:
[
{
required
:
true
,
message
:
"请选择每位专家可评估项目数"
,
trigger
:
"prjsOfExpert"
,
message
:
"请选择问题申诉截止时间"
,
trigger
:
"change"
,
},
],
rectificationDeadline
:
[
{
required
:
true
,
message
:
"问题整改截止时间"
,
trigger
:
"change"
,
},
],
},
tableData
:
[],
tableDataQD
:
[],
//清单列表
tableDataQR
:
[],
tableDataSS
:[],
checkedList
:
[],
currentPage
:
1
,
currentPagetjcl
:
1
,
pageSizetjcl
:
10
,
total
:
0
,
dialogXQ
:
false
,
currentPageBJ
:
1
,
pageSizeBJ
:
10
,
dialogAdd
:
false
,
dialogAddzj
:
false
,
dialogQR
:
false
,
pageSize
:
10
,
current
:
1
,
pageSizeZJ
:
10
,
currentZJ
:
1
,
addtotal
:
0
,
currentAdd
:
1
,
pageSizeAdd
:
10
,
currentedit
:
1
,
pageSizeedit
:
10
,
xfParam
:
""
,
dialogedit
:
false
,
expertIdList
:
[],
totalBJ
:
0
,
addZJList
:
[],
expertState
:
""
,
fields
:
""
,
zjfullName
:
""
,
zjtotal
:
0
,
zjtableData
:
[],
addcurrentPage
:
1
,
addtableData
:
[],
message
:
{},
currentCell
:
null
,
mergingPos
:
0
,
mergingRows
:
[],
mergingPosss
:
0
,
mergingRowsss
:
[],
};
},
mounted
()
{
this
.
submitForm
();
},
methods
:
{
imguploadError
()
{
console
.
log
(
'上传失败'
)
},
//上传成功
imguploadSuccess
(
res
)
{
console
.
log
(
res
,
'22'
)
//回显图片
this
.
videoimgurl
=
res
.
data
;
},
cellClickAction
(
row
,
column
,
cell
,
event
){
if
(
event
.
target
.
nodeName
===
"INPUT"
||
event
.
target
.
nodeName
===
"TEXTAREA"
)
{
event
.
target
.
focus
();
console
.
log
(
row
,
column
,
cell
,
event
,
'333'
)
}
},
async
saveSS
(){
console
.
log
(
this
.
sstableData
)
let
params
=
{
}
let
res
=
await
ssProblemAssistedFeedback
(
params
)
this
.
dialogAdd
=
false
},
cancelSS
(){
this
.
dialogAdd
=
false
},
async
submitForm
(
formName
)
{
async
submitForm
()
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
let
res
=
await
ProblemAssistedFeedback
(
params
);
let
res
=
await
appealAssistanceConfirmatio
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
appealStatus
==
"1"
)
{
this
.
$set
(
item
,
"postEvalState"
,
"已申诉"
);
}
else
if
(
item
.
appealStatus
==
"2"
)
{
this
.
$set
(
item
,
"postEvalState"
,
"申诉驳回"
);
}
else
if
(
item
.
appealStatus
==
"3"
)
{
this
.
$set
(
item
,
"postEvalState"
,
"申诉通过"
);
}
else
{
this
.
$set
(
item
,
"postEvalState"
,
"未申诉"
);
}
});
this
.
total
=
res
.
data
.
total
*
1
;
}
},
resetForm
()
{
this
.
$refs
[
formName
]
.
resetFields
();
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
(
"请选择"
);
this
.
$message
(
"请选择
一条数据进行复核
"
);
return
;
}
console
.
log
(
"222"
,
this
.
checkedList
);
this
.
dialogXQ
=
true
;
let
params
=
{};
this
.
addtableData
=
[
{
expertId
:
1
,
fullName
:
"王小明"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"硕士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
2
,
fullName
:
"李晓帅"
,
gender
:
0
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"博士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
3
,
fullName
:
"张晓楠"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10002
,
qualification
:
"博士后"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
1
,
fullName
:
"王小明"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"硕士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
2
,
fullName
:
"李晓帅"
,
gender
:
0
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"博士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
3
,
fullName
:
"张晓楠"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10002
,
qualification
:
"博士后"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
1
,
fullName
:
"王小明"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"硕士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
2
,
fullName
:
"李晓帅"
,
gender
:
0
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"博士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
3
,
fullName
:
"张晓楠"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10002
,
qualification
:
"博士后"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
1
,
fullName
:
"王小明"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"硕士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
2
,
fullName
:
"李晓帅"
,
gender
:
0
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"博士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
{
expertId
:
3
,
fullName
:
"张晓楠"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10002
,
qualification
:
"博士后"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
];
this
.
dialogQR
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
this
.
addtableData
.
forEach
((
item
)
=>
{
this
.
$set
(
item
,
"states"
,
'Y'
);
});
return
;
// Object.assign(params, this.checkedList[0]);
let
res
=
await
wtssSelProblemAssistedFeedback
(
params
);
let
res
=
await
wtssSelAssistanceConfirmatio
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
addtableData
=
res
.
data
.
records
;
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
;
}
},
//问题确认开关
controlSwitch
(
val
,
row
)
{
console
.
log
(
"333"
,
val
,
row
);
// this.$set(row, "state", 0 * 1);
},
//问题确认取消
cancel
(){
this
.
dialogXQ
=
false
});
console
.
log
(
this
.
tableDataQR
,
'加不进去?'
)
this
.
dataPretreatment
();
}
},
async
save
(){
let
params
=
{
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
;
}
}
}
let
res
=
await
qrProblemAssistedFeedback
(
params
)
this
.
dialogXQ
=
false
},
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
})
{
...
...
@@ -653,12 +427,15 @@
},
//主列表选中行信息
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
.
ruleFormdialog
=
this
.
checkedList
[
0
]
;
this
.
$forceUpdate
()
;
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
...
...
@@ -669,108 +446,128 @@
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
},
handleSizeChangeZJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeZJ
=
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
,
};
}
},
handleCurrentChangeZJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentZJ
=
val
;
arraySpanMethodss
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRowsss
[
rowIndex
];
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
};
}
},
handleSizeChangeAdd
(
val
)
{
this
.
pageSizeAdd
=
val
;
//问题确认开关
controlSwitch
(
val
,
row
)
{
console
.
log
(
"333"
,
val
,
row
);
},
handleCurrentChangeAdd
(
val
)
{
this
.
currentAdd
=
val
;
cancelSS
()
{
this
.
dialogQR
=
false
},
async
save
(){
let
res
=
await
ssProblemAssistedFeedback
(
this
.
tableDataSS
)
if
(
res
.
code
==
'200'
){
this
.
dialogSS
=
false
this
.
resetForm
()
}
handleCurrentChangeBJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPageBJ
=
val
;
},
//点击申诉
async
appeal
()
{
//只能选择未确认的 这块需要加一下
cancel
(){
this
.
dialogSS
=
false
},
async
saveSS
(){
let
res
=
await
qrProblemAssistedFeedback
(
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
(
"请选择"
);
this
.
$message
(
"请选择
一条数据进行申诉
"
);
return
;
}
this
.
dialog
Add
=
true
this
.
dialog
SS
=
true
;
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
(
this
.
sstableData
=
[
{
expertId
:
1
,
fullName
:
"王小明"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"硕士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
let
res
=
await
wtssSelProblemAssistedFeedback
(
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
();
}
},
{
expertId
:
2
,
fullName
:
"李晓帅"
,
gender
:
0
,
birthday
:
"2024-04-23"
,
compId
:
10001
,
qualification
:
"博士"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
handleFileUpload
(
event
)
{
console
.
log
(
'来了么'
)
this
.
file
=
event
.
target
.
files
[
0
];
},
{
expertId
:
3
,
fullName
:
"张晓楠"
,
gender
:
1
,
birthday
:
"2024-04-23"
,
compId
:
10002
,
qualification
:
"博士后"
,
contact
:
"13241375678"
,
email
:
"115485@qq.com"
,
fields
:
"1"
,
expertLevel
:
1
,
description
:
"1"
,
expertState
:
1
,
creator
:
1
,
createTime
:
"2024-04-23 14:47:07"
,
lastUpdatedby
:
1
,
lastUpdateTime
:
"2024-04-23 14:47:12"
,
column14
:
1
,
},
]),
(
this
.
total
=
2
);
return
;
let
res
=
await
ProblemAssistedFeedback
(
params
);
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
);
if
(
res
.
code
==
"200"
)
{
this
.
sstableData
=
res
.
data
.
records
;
this
.
total
=
res
.
data
.
total
*
1
;
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
>
...
...
@@ -835,6 +632,7 @@
.eltable
{
box-sizing
:
border-box
;
text-align
:
center
;
//
margin-top
:
3vh
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
...
...
@@ -846,6 +644,8 @@
}
/
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
{
...
...
@@ -886,26 +686,7 @@
table-layout
:
auto
;
}
}
.dialog
{
position
:
relative
;
padding-bottom
:
30px
;
.xqtitle
{
text-align
:
left
;
font-size
:
18px
;
width
:
100%
;
border-bottom
:
1px
solid
gainsboro
;
padding-bottom
:
10px
;
span
{
display
:
inline-block
;
width
:
5px
;
height
:
20px
;
background
:
#0d867f
;
margin-right
:
14px
;
vertical-align
:
middle
;
}
}
}
.textarea
{
width
:
100%
;
.el-textarea
{
...
...
@@ -915,6 +696,8 @@
.Btn
{
width
:
200px
;
margin
:
0
auto
;
height
:
30px
;
line-height
:
30px
;
span
{
display
:
inline-block
;
width
:
80px
;
...
...
@@ -977,20 +760,17 @@
}
}
.midBtn
{
width
:
100%
;
height
:
40px
;
line-height
:
40px
;
position
:
absolute
;
margin
:
0
auto
;
bottom
:
-19
px
;
margin-top
:
20
px
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
2
5
px
;
line-height
:
2
5
px
;
height
:
2
9
px
;
line-height
:
2
9
px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
box-sizing
:
border-box
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
...
...
@@ -998,24 +778,95 @@
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
border
:
1px
solid
#4ca6a7
;
}
}
h3
{
.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-table
td
.el-table__cell
div
{
/
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
;
}
/
deep
/
.el-switch__core
{
width
:
69px
!important
;
h3
{
text-align
:
left
;
}
/
deep
/
.el-switch__core
{
height
:
30px
;
width
:
79px
!important
;
border-radius
:
20px
;
}
/
deep
/
.el-switch__label
*
{
font-size
:
11px
;
/
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
:
24
px
;
left
:
30
px
;
color
:
#fff
;
z-index
:
-1111
;
cursor
:
default
;
...
...
@@ -1024,7 +875,7 @@
/
deep
/
.el-switch__label--right
{
position
:
absolute
;
right
:
24
px
;
right
:
30
px
;
color
:
#fff
;
z-index
:
-1111
;
cursor
:
default
;
...
...
@@ -1034,20 +885,19 @@
/
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
;
color
:
#fff
!important
;
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-icon-folder-remove
{
margin-right
:
10px
;
}
/
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
;
/
deep
/
.el-dialog__body
{
padding-bottom
:
15px
;
}
</
style
>
\ No newline at end of file
src/views/assessChecks/assistedFeedback.vue
View file @
63f3b89
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<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>
...
...
@@ -91,6 +91,7 @@
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
@
close=
"closed"
>
<div
class=
"dialog"
>
<h3>
...
...
@@ -99,7 +100,6 @@
<div
class=
"continer"
>
<p
class=
"xqtitle"
><span></span>
问题清单
</p>
<el-table
ref=
"multipleTable"
:data=
"tableDataQR"
tooltip-effect=
"dark"
style=
"width: 100%"
...
...
@@ -127,11 +127,11 @@
<el-table-column
label=
"问题确认"
width=
"auto"
>
<template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.
state
s"
v-model=
"scope.row.
confirmStatu
s"
active-color=
"#C0C0C0"
inactive-color=
"#13ce66"
active-value=
"
Y
"
inactive-value=
"
N
"
active-value=
"
2
"
inactive-value=
"
1
"
active-text=
"无异议"
inactive-text=
"有异议"
@
change=
"controlSwitch($event, scope.row)"
...
...
@@ -147,16 +147,103 @@
</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=
"90%"
: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"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
>
<button
@
click=
"submitFile(scope.row)"
>
上传
</button>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancel()"
>
取消
</span
><span
@
click=
"save()"
>
确认
</span>
</p>
</el-dialog>
</div>
</template>
<
script
>
import
{
ProblemAssistedFeedback
,
selWtqdpostEvalQuesInfo
}
from
"@/api/index"
;
import
{
ProblemAssistedFeedback
,
selWtqdpostEvalQuesInfo
,
qrProblemAssistedFeedback
,
wtssSelProblemAssistedFeedback
,
ssProblemAssistedFeedback
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
dialogSS
:
false
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
...
...
@@ -184,6 +271,7 @@ export default {
},
tableData
:
[],
tableDataQR
:
[],
tableDataSS
:[],
checkedList
:
[],
currentPage
:
1
,
pageSizetjcl
:
10
,
...
...
@@ -192,13 +280,15 @@ export default {
pageSize
:
10
,
mergingPos
:
0
,
mergingRows
:
[],
mergingPosss
:
0
,
mergingRowsss
:
[],
};
},
mounted
()
{
this
.
submitForm
();
},
methods
:
{
async
submitForm
(
formName
)
{
async
submitForm
()
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
...
...
@@ -223,13 +313,19 @@ export default {
}
},
resetForm
()
{
this
.
$refs
[
formName
]
.
resetFields
();
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
,
...
...
@@ -240,6 +336,7 @@ export default {
if
(
res
.
code
==
"200"
)
{
this
.
tableDataQR
=
res
.
data
.
records
;
this
.
tableDataQR
.
forEach
((
item
)
=>
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
switch
(
item
.
projectStage
)
{
case
1
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
...
...
@@ -260,7 +357,9 @@ export default {
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataQR
)
this
.
dataPretreatment
();
}
},
...
...
@@ -285,31 +384,29 @@ export default {
}
}
},
//问题下发
detailsForm
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行下发"
);
return
;
dataPretreatmentSS
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataSS
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRowsss
.
push
(
1
);
this
.
mergingPosss
=
0
;
}
else
{
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
};
this
.
$router
.
push
({
path
:
"/mainLayout/Compliancexf"
,
query
:
{
clqparams
:
JSON
.
stringify
(
params
),
fromType
:
"fzcx"
,
Form
:
{
appealDeadline
:
this
.
checkedList
[
0
].
appealDeadline
,
rectificationDeadline
:
this
.
checkedList
[
0
].
rectificationDeadline
,
},
},
});
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
)
{
...
...
@@ -319,12 +416,15 @@ export default {
},
//主列表选中行信息
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
.
ruleFormdialog
=
this
.
checkedList
[
0
]
;
this
.
$forceUpdate
()
;
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
...
...
@@ -346,11 +446,117 @@ export default {
};
}
},
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
);
// this.$set(row, "states", 0 * 1);
},
cancelSS
(){
this
.
dialogQR
=
false
},
async
save
(){
let
res
=
await
ssProblemAssistedFeedback
(
this
.
tableDataSS
)
if
(
res
.
code
==
'200'
){
this
.
dialogSS
=
false
this
.
resetForm
()
}
},
cancel
(){
this
.
dialogSS
=
false
},
async
saveSS
(){
let
res
=
await
qrProblemAssistedFeedback
(
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
wtssSelProblemAssistedFeedback
(
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
>
...
...
@@ -415,6 +621,7 @@ export default {
.eltable
{
box-sizing
:
border-box
;
text-align
:
center
;
//
margin-top
:
3vh
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
...
...
@@ -426,6 +633,8 @@ export default {
}
/
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
{
...
...
@@ -476,6 +685,8 @@ export default {
.Btn
{
width
:
200px
;
margin
:
0
auto
;
height
:
30px
;
line-height
:
30px
;
span
{
display
:
inline-block
;
width
:
80px
;
...
...
@@ -539,14 +750,16 @@ export default {
}
.midBtn
{
margin
:
0
auto
;
margin-top
:
20px
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
2
5
px
;
line-height
:
2
5
px
;
height
:
2
9
px
;
line-height
:
2
9
px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
box-sizing
:
border-box
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
...
...
@@ -554,9 +767,12 @@ export default {
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
;
...
...
@@ -613,7 +829,7 @@ h3 {
}
/
deep
/
.el-switch__core
{
height
:
30px
;
width
:
80
px
!important
;
width
:
79
px
!important
;
border-radius
:
20px
;
}
/
deep
/
.el-switch.is-checked
.el-switch__core
::after
{
...
...
@@ -658,10 +874,19 @@ h3 {
/
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
;
}
</
style
>
\ No newline at end of file
src/views/assessChecks/assitedDistribution.vue
View file @
63f3b89
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<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>
...
...
@@ -101,7 +101,7 @@
label-width=
"100px"
class=
"demo-ruleForm"
:rules=
"rules"
ref=
"formName"
>
<el-form-item
label=
"问题申诉截止时间:"
...
...
@@ -208,7 +208,7 @@ export default {
}
},
resetForm
()
{
this
.
$refs
[
formName
]
.
resetFields
();
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
...
...
src/views/assessChecks/auxiliaryQuery.vue
View file @
63f3b89
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<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>
...
...
@@ -99,7 +99,7 @@
label-width=
"100px"
class=
"demo-ruleForm"
:rules=
"rules"
ref=
"formName"
>
<el-form-item
label=
"问题申诉截止时间:"
...
...
@@ -181,7 +181,7 @@
this
.
submitForm
();
},
methods
:
{
async
submitForm
(
formName
)
{
async
submitForm
()
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
...
...
@@ -204,7 +204,7 @@
}
},
resetForm
()
{
this
.
$refs
[
formName
]
.
resetFields
();
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
...
...
@@ -213,7 +213,7 @@
//问题下发
detailsForm
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据
进行下发
"
);
this
.
$message
(
"请选择一条数据"
);
return
;
}
else
{
let
params
=
{
...
...
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