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 7882de70
authored
May 14, 2024
by
liangzhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
下载功能
1 parent
e603c8d3
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1164 additions
and
1051 deletions
src/api/index.js
src/utils/http.js
src/views/assessChecks/assistedConfirm.vue
src/views/assessChecks/assistedFeedback.vue
src/views/assessChecks/materialAcquisition.vue
src/api/index.js
View file @
7882de7
// import request from '@/utils/request'
// let mainURL="192.168.8.248:18101"
var
qs
=
require
(
'qs'
)
import
{
get
,
post
,
download
}
from
'@/utils/http'
...
...
@@ -250,4 +251,9 @@ export function tjrectificationVerification(params) {
//列表
export
function
materialSync
(
params
)
{
return
post
(
`/arch-evaluation/materialSync/`
,
params
)
}
\ No newline at end of file
}
//下载
export
function
downloadObject
(
params
)
{
return
post
(
`/arch-evaluation/oss/downloadObject`
,
qs
.
stringify
(
params
))
}
src/utils/http.js
View file @
7882de7
...
...
@@ -26,6 +26,10 @@ function decryptStringBySM4_CBC(str) {//使用sm4-cbc算法给字符串解密
axios
.
interceptors
.
request
.
use
(
config
=>
{
config
.
headers
[
'X-USER'
]
=
sessionStorage
.
getItem
(
'author'
);
config
.
headers
[
'X-USER-NAME'
]
=
sessionStorage
.
getItem
(
'authorName'
)
console
.
log
(
config
.
url
.
indexOf
(
'oss/downloadObject'
)
!=
'-1'
,
'config.url'
)
if
(
config
.
url
.
indexOf
(
'oss/downloadObject'
)
!=
'-1'
){
config
.
headers
[
"Content-Type"
]
=
'application/x-www-form-urlencoded'
}
// config.headers.token = JSON.parse(localStorage.getItem('token')).token;
...
...
src/views/assessChecks/assistedConfirm.vue
View file @
7882de7
<
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=
"请选择"
clearable
>
<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=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
clearable
>
<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=
"请选择"
clearable
>
<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=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
clearable
>
<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=
"postEvalStateText"
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"
show-overflow-tooltip
>
</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=
"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"
>
<
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"
show-overflow-tooltip
>
</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=
"fileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<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=
"postEvalStateText"
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"
show-overflow-tooltip
>
</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"
v-if=
"scope.row.confirmStatus == '1'"
>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
width=
"400"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.confirmStatus == '1'&&scope.row.fileId"
>
{{
scope
.
row
.
fileName
}}
<el-button
@
click=
"handleClickXZ(scope.row)"
>
下载
</el-button>
</
template
>
<!-- <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"
>
<
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>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancel()"
>
取消
</span
><span
@
click=
"save()"
>
问题下发
</span>
</p>
</el-dialog>
</div>
</template>
</template> -->
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"rectificationStatus"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.confirmStatus == '1'"
>
<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"
show-overflow-tooltip
>
</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"
v-if=
"scope.row.confirmStatus == '1'"
>
<el-input
v-model=
"scope.row.feedback"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
width=
"400"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.confirmStatus == '1'&&scope.row.fileId"
>
{{
scope
.
row
.
fileName
}}
<el-button
@
click=
"handleClickXZ(scope.row)"
>
下载
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"复核情况"
prop=
"rectificationStatus"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.confirmStatus == '1'"
>
<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>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancel()"
>
取消
</span><span
@
click=
"save()"
>
问题下发
</span>
</p>
</el-dialog>
</div>
</template>
<
script
>
import
{
appealAssistanceConfirmatio
,
ossupload
,
wtfhappealAssistanceConfirmatio
,
xfappealAssistanceConfirmatio
,
wtssSelAssistanceConfirmatio
}
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
appealAssistanceConfirmatio
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
reviewStatus
>=
"4"
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"复核已下发"
);
}
else
{
this
.
$set
(
item
,
"postEvalStateText"
,
"复核未下发"
);
}
});
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
;
}
if
(
this
.
checkedList
[
0
].
postEvalStateText
==
'复核已下发'
){
import
{
appealAssistanceConfirmatio
,
ossupload
,
wtfhappealAssistanceConfirmatio
,
xfappealAssistanceConfirmatio
,
wtssSelAssistanceConfirmatio
,
downloadObject
}
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
appealAssistanceConfirmatio
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
reviewStatus
>=
"4"
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"复核已下发"
);
}
else
{
this
.
$set
(
item
,
"postEvalStateText"
,
"复核未下发"
);
}
});
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
;
}
if
(
this
.
checkedList
[
0
].
postEvalStateText
==
"复核已下发"
)
{
this
.
$message
(
"请选择未下发的数据"
);
return
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
)
=>
{
if
(
!
item
.
confirmStatus
)
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
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
)
=>
{
if
(
!
item
.
confirmStatus
)
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
;
}
switch
(
item
.
projectStage
)
{
case
"1"
:
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
...
...
@@ -558,397 +595,419 @@
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
);
}
});
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
();
},
async
handleClickXZ
(
scope
)
{
console
.
log
(
scope
.
fileId
);
let
response
=
await
downloadObject
({
fileId
:
scope
.
fileId
*
1
})
// const url = window.URL.createObjectURL(new Blob([response]));
// const link = document.createElement('a');
// link.href = url;
// link.setAttribute('download', 'file.pdf');
// document.body.appendChild(link);
// link.click();
let
blob
=
new
Blob
([
response
]);
if
(
'download'
in
document
.
createElement
(
'a'
))
{
let
elink
=
document
.
createElement
(
'a'
);
elink
.
download
=
scope
.
fileName
;
elink
.
style
.
display
=
'none'
;
elink
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
elink
);
elink
.
click
();
URL
.
revokeObjectURL
(
elink
.
href
);
// 释放URL 对象
document
.
body
.
removeChild
(
elink
);
}
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
>
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
font-size
:
14px
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
overflow-x
:
hidden
;
}
.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
{
min-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
;
display
:
inline-block
;
.main
{
font-size
:
14px
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
overflow-x
:
hidden
;
}
.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
{
min-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
;
display
:
inline-block
;
margin-left
:
10px
!important
;
}
/
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
;
}
}
}
/
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%
;
//
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
;
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
{
//
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
:
680px
;
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
:
5px
;
}
.setscroll
{
width
:
100%
;
height
:
650px
;
overflow
:
auto
;
padding-right
:
500px
;
}
.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
;
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
{
//
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
:
680px
;
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
:
5px
;
}
.setscroll
{
width
:
100%
;
height
:
650px
;
overflow
:
auto
;
padding-right
:
500px
;
}
.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%
;
//
margin-right
:
210px
;
//
margin-top
:
3vh
;
}
}
//
::-webkit-scrollbar
{
//
width
:
6px
;
//
横向滚动条
...
...
@@ -956,5 +1015,4 @@
//
height
:
6px
;
//
纵向滚动条必写
//
}
</
style
>
\ No newline at end of file
</
style
>
\ No newline at end of file
src/views/assessChecks/assistedFeedback.vue
View file @
7882de7
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<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=
"请选择"
clearable
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
...
...
@@ -11,10 +16,18 @@
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
clearable
></el-input >
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
clearable
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
clearable
>
<el-option
label=
"未下发"
value=
"0"
></el-option>
<el-option
label=
"已下发"
value=
"1"
></el-option>
<el-option
label=
"已撤回"
value=
"2"
></el-option>
...
...
@@ -38,43 +51,49 @@
</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=
"批次年度"
prop=
"batchYear"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
>
</el-table-column>
<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=
"批次年度"
prop=
"batchYear"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"评估项目名称"
show-overflow-tooltip
>
</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
prop=
"projectName"
label=
"评估项目名称"
show-overflow-tooltip
>
</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=
"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=
"postEvalStateText"
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-table-column
prop=
"appealDeadline"
label=
"问题申诉截止时间"
>
</el-table-column>
<el-table-column
prop=
"rectificationDeadline"
label=
"问题整改截止时间"
>
</el-table-column>
<el-table-column
prop=
"postEvalStateText"
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"
...
...
@@ -122,7 +141,11 @@
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
>
</el-table-column>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
show-overflow-tooltip
>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
>
</el-table-column>
...
...
@@ -150,15 +173,13 @@
</el-table-column>
</el-table>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancelSS()"
>
取消
</span
><span
@
click=
"saveSS()"
>
确认
</span>
</p>
<span
@
click=
"cancelSS()"
>
取消
</span><span
@
click=
"saveSS()"
>
确认
</span>
</p>
</el-dialog>
<!-- 申诉 -->
<el-dialog
<el-dialog
title=
"申诉"
:visible
.
sync=
"dialogSS"
width=
"90%"
...
...
@@ -192,7 +213,11 @@
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
>
</el-table-column>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
show-overflow-tooltip
>
<el-table-column
label=
"检查说明"
prop=
"checkDesc"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
>
</el-table-column>
...
...
@@ -218,36 +243,51 @@
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"解释批注"
>
<el-table-column
label=
"解释批注"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
v-if=
"scope.row.confirmStatus=='1'"
></el-input>
</
template
>
<el-input
v-model=
"scope.row.feedback"
v-if=
"scope.row.confirmStatus == '1'"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"附加解释材料"
prop=
"fileId"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<input
type=
"file"
@
change=
"handleFileUpload"
v-if=
"scope.row.confirmStatus=='1'"
>
<button
@
click=
"submitFile(scope.row)"
v-if=
"scope.row.confirmStatus=='1'"
>
上传
</button>
</
template
>
<input
type=
"file"
@
change=
"handleFileUpload"
v-if=
"scope.row.confirmStatus == '1'"
/>
<button
@
click=
"submitFile(scope.row)"
v-if=
"scope.row.confirmStatus == '1'"
>
上传
</button>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<p
class=
"midBtn"
>
<span
@
click=
"cancel()"
>
取消
</span
><span
@
click=
"save()"
>
申诉
</span>
</p>
<span
@
click=
"cancel()"
>
取消
</span><span
@
click=
"save()"
>
申诉
</span>
</p>
</el-dialog>
</div>
</template>
<
script
>
import
{
ProblemAssistedFeedback
,
ossupload
,
qrProblemAssistedFeedback
,
wtssSelProblemAssistedFeedback
,
ssProblemAssistedFeedback
}
from
"@/api/index"
;
import
{
ProblemAssistedFeedback
,
ossupload
,
qrProblemAssistedFeedback
,
wtssSelProblemAssistedFeedback
,
ssProblemAssistedFeedback
,
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
dialogSS
:
false
,
dialogSS
:
false
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
...
...
@@ -275,7 +315,7 @@ export default {
},
tableData
:
[],
tableDataQR
:
[],
tableDataSS
:[],
tableDataSS
:
[],
checkedList
:
[],
currentPage
:
1
,
pageSizetjcl
:
10
,
...
...
@@ -324,12 +364,12 @@ export default {
},
//确认问题
async
confirm
()
{
this
.
mergingPos
=
0
;
this
.
mergingRows
=
[]
this
.
mergingPos
=
0
;
this
.
mergingRows
=
[];
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行确认"
);
return
;
}
}
this
.
dialogQR
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
...
...
@@ -340,10 +380,10 @@ export default {
if
(
res
.
code
==
"200"
)
{
this
.
tableDataQR
=
res
.
data
.
records
;
this
.
tableDataQR
.
forEach
((
item
)
=>
{
if
(
!
item
.
confirmStatus
)
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
if
(
!
item
.
confirmStatus
)
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
;
}
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
...
...
@@ -364,9 +404,8 @@ export default {
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataQR
)
console
.
log
(
this
.
tableDataQR
)
;
this
.
dataPretreatment
();
}
},
...
...
@@ -413,7 +452,6 @@ export default {
}
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
...
...
@@ -423,10 +461,10 @@ export default {
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
console
.
log
(
'222222'
)
console
.
log
(
"222222"
);
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
console
.
log
(
'222222333'
,
this
.
checkedList
)
console
.
log
(
"222222333"
,
this
.
checkedList
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
);
}
...
...
@@ -437,12 +475,12 @@ export default {
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSize
=
val
;
this
.
submitForm
()
this
.
submitForm
()
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
this
.
submitForm
()
this
.
submitForm
()
;
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
...
...
@@ -470,33 +508,40 @@ export default {
controlSwitch
(
val
,
row
)
{
console
.
log
(
"333"
,
val
,
row
);
},
cancelSS
(){
this
.
dialogQR
=
false
cancelSS
()
{
this
.
dialogQR
=
false
;
},
async
save
(){
console
.
log
(
this
.
tableDataSS
,
'this.tableDataSS'
)
async
save
()
{
console
.
log
(
this
.
tableDataSS
,
"this.tableDataSS"
);
this
.
tableDataSS
.
forEach
((
item
)
=>
{
if
(
item
.
confirmStatus
==
"1"
)
{
if
(
!
item
.
feedback
)
{
this
.
$message
(
"有未填写的的解释批注"
);
throw
new
Error
(
"主动跳出循环"
);
}
}
});
// return
let
res
=
await
ssProblemAssistedFeedback
(
this
.
tableDataSS
)
if
(
res
.
code
==
'200'
)
{
this
.
dialogSS
=
false
this
.
resetForm
()
let
res
=
await
ssProblemAssistedFeedback
(
this
.
tableDataSS
);
if
(
res
.
code
==
"200"
)
{
this
.
dialogSS
=
false
;
this
.
resetForm
();
}
},
cancel
(){
this
.
dialogSS
=
false
cancel
()
{
this
.
dialogSS
=
false
;
},
async
saveSS
(){
let
res
=
await
qrProblemAssistedFeedback
(
this
.
tableDataQR
)
if
(
res
.
code
==
'200'
)
{
this
.
dialogQR
=
false
this
.
resetForm
()
async
saveSS
()
{
let
res
=
await
qrProblemAssistedFeedback
(
this
.
tableDataQR
);
if
(
res
.
code
==
"200"
)
{
this
.
dialogQR
=
false
;
this
.
resetForm
();
}
},
//申诉
async
appeal
()
{
this
.
mergingPosss
=
0
;
this
.
mergingRowsss
=
[];
async
appeal
()
{
this
.
mergingPosss
=
0
;
this
.
mergingRowsss
=
[];
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行申诉"
);
return
;
...
...
@@ -505,7 +550,7 @@ export default {
// this.$message("请选择未申诉的数据");
// return
// }
this
.
dialogSS
=
true
;
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectId
,
...
...
@@ -516,8 +561,8 @@ export default {
if
(
res
.
code
==
"200"
)
{
this
.
tableDataSS
=
res
.
data
.
records
;
this
.
tableDataSS
.
forEach
((
item
)
=>
{
if
(
!
item
.
confirmStatus
)
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
if
(
!
item
.
confirmStatus
)
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
)
;
}
switch
(
item
.
projectStage
)
{
case
"1"
:
...
...
@@ -539,42 +584,42 @@ export default {
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
}
});
console
.
log
(
this
.
tableDataSS
)
console
.
log
(
this
.
tableDataSS
)
;
this
.
dataPretreatmentSS
();
}
},
handleFileUpload
(
event
)
{
console
.
log
(
'来了么'
)
console
.
log
(
"来了么"
);
this
.
file
=
event
.
target
.
files
[
0
];
},
submitFile
(
row
)
{
// this.$message('上传还没做')
// return
console
.
log
(
row
)
console
.
log
(
row
)
;
if
(
this
.
file
)
{
const
formData
=
new
FormData
();
formData
.
append
(
'file'
,
this
.
file
);
ossupload
(
formData
).
then
(
response
=>
{
console
.
log
(
response
);
this
.
$set
(
row
,
'file_id'
,
response
.
data
.
file_id
)
// this.tableDataSS.forEach(item=>{
// })
// this.$set(row,'fileName',response.data.fileName)
})
.
catch
(
error
=>
{
console
.
error
(
error
);
});
formData
.
append
(
"file"
,
this
.
file
);
ossupload
(
formData
)
.
then
((
response
)
=>
{
console
.
log
(
response
);
if
(
response
.
code
==
"200"
)
{
this
.
$set
(
row
,
"fileId"
,
response
.
data
.
fileId
);
this
.
$message
(
"上传成功"
);
}
else
{
this
.
$message
(
"上传失败"
);
}
})
.
catch
((
error
)
=>
{
console
.
error
(
error
);
this
.
$message
(
"上传失败"
);
});
}
},
closed
(){
console
.
log
(
"关闭"
)
this
.
handleSelectionChange
()
}
closed
()
{
console
.
log
(
"关闭"
)
;
this
.
handleSelectionChange
()
;
}
,
},
};
</
script
>
...
...
@@ -596,7 +641,7 @@ export default {
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
.fromItem
{
min-width
:
24%
;
margin
:
0
0.5%
;
...
...
@@ -655,7 +700,6 @@ 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
{
...
...
@@ -792,7 +836,7 @@ export default {
}
}
.dialog
{
height
:
680px
;
height
:
680px
;
overflow-y
:
auto
;
.xqtitle
{
text-align
:
left
;
...
...
@@ -897,7 +941,6 @@ h3 {
color
:
grey
!important
;
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-switch__label--left.is-active
{
...
...
@@ -906,7 +949,7 @@ h3 {
height
:
30px
;
line-height
:
30px
;
}
/
deep
/
.el-dialog__body
{
/
deep
/
.el-dialog__body
{
padding-bottom
:
15px
;
}
.setscroll
{
...
...
@@ -916,10 +959,10 @@ h3 {
overflow
:
auto
;
}
/
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
;
}
.el-table
td
.el-table__cell
{
text-align
:
center
;
}
/
deep
/
.el-table__cell
{
text-align
:
center
;
}
</
style
>
\ No newline at end of file
src/views/assessChecks/materialAcquisition.vue
View file @
7882de7
...
...
@@ -546,7 +546,9 @@ export default {
//_blank表示在新窗口打开链接
// link.target = '_blank'
// link.href =scope.url
window
.
open
(
scope
.
url
,
'_blank'
);
if
(
scope
.
url
){
window
.
open
(
scope
.
url
,
"_blank"
);
}
}
},
...
...
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