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 c27578ff
authored
Sep 05, 2024
by
史敦盼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
禁用修改
1 parent
0012e989
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
707 additions
and
915 deletions
src/views/assessChecks/materialAcquisition.vue
src/views/assessZC/materialAcquisition.vue
src/views/assessChecks/materialAcquisition.vue
View file @
c27578f
<!-- 评估材料获取 -->
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
...
...
@@ -18,11 +13,7 @@
</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=
"batchState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchState"
placeholder=
"请选择"
clearable
>
...
...
@@ -32,30 +23,13 @@
</el-form-item>
-->
<el-form-item
label=
"项目编码:"
prop=
"projectId"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.projectId"
placeholder=
"请输入"
clearable
></el-input>
<el-input
v-model=
"ruleForm.projectId"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
show-overflow-tooltip
>
<el-input
v-model=
"ruleForm.projectName"
placeholder=
"请输入"
clearable
></el-input>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
show-overflow-tooltip
>
<el-input
v-model=
"ruleForm.projectName"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"项目年度:"
prop=
"projectYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.projectYear"
placeholder=
"请选择"
clearable
>
<el-select
v-model=
"ruleForm.projectYear"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"(item, index) in yearsList"
:key=
"index"
...
...
@@ -65,11 +39,7 @@
</el-select>
</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>
...
...
@@ -101,17 +71,18 @@
<el-button
@
click=
"detailsForm()"
>
<img
class=
"buttonIcon"
src=
"../../assets/ck.png"
/>
详情
</el-button
>
<el-button
@
click=
"confirm()"
:disabled=
"confirmdisabled"
:class=
"confirmdisabled ? 'noclick' : ''"
>
<i
class=
"el-icon-chat-dot-square"
></i
>
问题整改
</el-button
<i
class=
"el-icon-chat-dot-square"
></i>
问题整改
</el-button
>
<el-button
@
click=
"submitNexts()"
:disabled=
"subdisabled"
:class=
"subdisabled?'noclick':''"
<el-button
@
click=
"submitNexts()"
:disabled=
"subdisabled"
:class=
"subdisabled ? 'noclick' : ''"
><i
class=
"el-icon-finished"
></i>
材料已重新上传
</el-button
>
</el-form-item>
...
...
@@ -128,73 +99,46 @@
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<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"
width=
"120"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
batchYear
}}
年
</
template
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
>
</el-table-column>
<el-table-column
prop=
"expertName"
label=
"评审专家"
>
</el-table-column>
<el-table-column
prop=
"projectCode"
label=
"项目编码"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名称"
show-overflow-tooltip
>
<el-table-column
prop=
"projectName"
label=
"项目名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"issueYear"
label=
"项目年度"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<span
v-show=
"scope.row.issueYear"
>
{{
scope
.
row
.
issueYear
}}
年
</span
>
<span
v-show=
"scope.row.issueYear"
>
{{
scope
.
row
.
issueYear
}}
年
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"projectType"
label=
"项目类型"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<span
v-show=
"scope.row.projectType"
>
{{
scope
.
row
.
projectType
|
proType
}}
</span
>
<span
v-show=
"scope.row.projectType"
>
{{
scope
.
row
.
projectType
|
proType
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"constructionForm"
label=
"建设形式"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"postEvalStateText"
label=
"项目审核状态"
width=
"120"
>
<
template
v-slot=
"scope"
>
<el-table-column
prop=
"constructionForm"
label=
"建设形式"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"postEvalStateText"
label=
"项目审核状态"
width=
"120"
>
<
template
v-slot=
"scope"
>
<router-link
v-if=
" scope.row.postEvalStateText==
'已退回'"
:to=
"
{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode },
}"
v-if=
"scope.row.postEvalStateText ==
'已退回'"
:to=
"
{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode },
}"
>
<el-button
type=
"text"
size=
"small"
>
{{
scope
.
row
.
postEvalStateText
}}
</el-button>
<el-button
type=
"text"
size=
"small"
>
{{
scope
.
row
.
postEvalStateText
}}
</el-button>
</router-link>
<span
v-else
>
{{
scope
.
row
.
postEvalStateText
}}
</span>
<span
v-else
>
{{
scope
.
row
.
postEvalStateText
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"contractNumber"
label=
"合同编号"
show-overflow-tooltip
>
<el-table-column
prop=
"contractNumber"
label=
"合同编号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"contractName"
label=
"合同名称"
width=
"auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"planReviewDate"
label=
"计划评估日期"
>
<el-table-column
prop=
"contractName"
label=
"合同名称"
width=
"auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"planReviewDate"
label=
"计划评估日期"
>
</el-table-column>
</el-table>
</div>
<el-pagination
...
...
@@ -230,25 +174,14 @@
<el-form-item
label=
"后评估名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialog.batchName"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"计划评估日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialog.planReviewDate"
disabled
></el-input>
<el-form-item
label=
"计划评估日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialog.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"后评估专家:"
prop=
"expertName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialog.expertName"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"工作组织情况:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialog.desc"
disabled
></el-input>
<el-input
type=
"textarea"
v-model=
"ruleFormdialog.desc"
disabled
></el-input>
</el-form-item>
</el-form>
...
...
@@ -264,18 +197,11 @@
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"材料类别"
prop=
"projectStagetext"
>
</el-table-column>
<el-table-column
label=
"资料类型"
prop=
"materialName"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"资料名称"
show-overflow-tooltip
>
<el-table-column
label=
"材料类别"
prop=
"projectStagetext"
>
</el-table-column>
<el-table-column
label=
"资料类型"
prop=
"materialName"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"资料名称"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column prop="fullName" label="资料名称">
<template slot-scope="scope" v-if="scope.row.fullName">
...
...
@@ -317,32 +243,19 @@
ref=
"myTable"
border
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"110"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"50"
type=
"index"
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"110"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"50"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
width=
"200"
>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
width=
"200"
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
show-overflow-tooltip
>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"问题响应"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<el-switch
:disabled=
"scope.row.rectificationStatus == 2"
v-if=
"scope.row.evalQues"
v-model=
"scope.row.confirmStatus"
active-color=
"#C0C0C0"
...
...
@@ -362,24 +275,34 @@
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"上传档案材料"
prop=
"dacl"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"
{path:'/assesszc/projectView',query:{projectId:scope.row.projectId}}">
<el-button
type=
"text"
size=
"small"
>
上传材料
</el-button>
</router-link>
</
template
>
<el-table-column
label=
"上传档案材料"
prop=
"dacl"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<el-button
disabled
v-if=
"scope.row.rectificationStatus == 2"
type=
"text"
size=
"small"
>
上传材料
</el-button
>
<router-link
v-else
:to=
"
{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectId },
}"
>
<el-button
type=
"text"
size=
"small"
>
上传材料
</el-button>
</router-link>
</
template
>
</el-table-column>
<el-table-column
label=
"解释批注"
width=
"220"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
v-if=
"scope.row.confirmStatus == '1'"
type=
"textarea"
:rows=
"3"
:disabled=
"scope.row.rectificationStatus == 2"
type=
"textarea"
:rows=
"3"
></el-input>
</
template
>
</el-table-column>
...
...
@@ -389,31 +312,19 @@
v-if=
"scope.row.evalQues && scope.row.confirmStatus == '1'"
>
<input
:disabled=
"scope.row.rectificationStatus == 2"
type=
"file"
@
change=
"handleFileUploadZG($event, scope.row, 'fileId')"
/>
</
template
>
</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=
"zgqkFileId"
width=
"auto"
>
<el-table-column
label=
"复核情况说明"
prop=
"zgqkFileId"
width=
"auto"
>
</el-table-column>
<el-table-column
label=
"整改复核状态"
prop=
"checkDesc"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.rectificationStatus"
placeholder=
"请选择"
disabled
>
<el-table-column
label=
"整改复核状态"
prop=
"checkDesc"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.rectificationStatus"
placeholder=
"请选择"
disabled
>
<el-option
label=
"待复核"
:value=
"null"
></el-option>
<el-option
label=
"问题未整改"
:value=
"0"
></el-option>
<el-option
label=
"整改不合格"
:value=
"1"
></el-option>
...
...
@@ -421,7 +332,7 @@
</el-select>
</
template
>
</el-table-column>
<!-- <el-table-column label="材料整改" prop="filed" width="600">
<template slot-scope="scope" v-if="scope.row.filed">
<div v-for="(item, index) in scope.row.filed" :key="index">
...
...
@@ -464,7 +375,7 @@
</div>
</template>
</el-table-column> -->
<!--
<!--
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template slot-scope="scope" v-if="scope.row.evalQues">
<input
...
...
@@ -488,7 +399,7 @@
</template>
<
script
>
import
{
MaterialsList
}
from
"@/utils/cache"
;
import
{
MaterialsList
}
from
'@/utils/cache'
import
{
evaluationMaterials
,
clqdevaluationMaterials
,
...
...
@@ -500,29 +411,29 @@ import {
wtzgxfProblemRectification
,
ossuploadStr
,
MaterialWarehous
,
postEvalQuesInfocxtj
}
from
"@/api/index"
;
import
{
generateYearOptions
,
constructionFormText
}
from
"@/utils/cache"
;
postEvalQuesInfocxtj
,
}
from
'@/api/index'
import
{
generateYearOptions
,
constructionFormText
}
from
'@/utils/cache'
export
default
{
data
()
{
return
{
yearsList
:
generateYearOptions
(),
dialogXQ
:
false
,
file
:
""
,
file
:
''
,
showButton
:
true
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
postEvalState
:
""
,
projectName
:
""
,
projectId
:
""
,
batchYear
:
''
,
batchName
:
''
,
postEvalState
:
''
,
projectName
:
''
,
projectId
:
''
,
dates
:
[],
},
ruleFormdialog
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
fullName
:
""
,
batchYear
:
''
,
batchName
:
''
,
planReviewDate
:
''
,
fullName
:
''
,
},
tableData
:
[],
MaterialsList
:
JSON
.
parse
(
JSON
.
stringify
(
MaterialsList
())),
...
...
@@ -542,29 +453,29 @@ export default {
fileList
:
[],
subdisabled
:
false
,
confirmdisabled
:
false
,
}
;
}
},
filters
:
{
proType
(
val
)
{
if
(
val
==
1
)
{
return
"咨询设计类"
;
return
'咨询设计类'
}
else
if
(
val
==
2
)
{
return
"开发实施类"
;
return
'开发实施类'
}
else
if
(
val
==
3
)
{
return
"业务运营类"
;
return
'业务运营类'
}
else
if
(
val
==
4
)
{
return
"数据工程类"
;
return
'数据工程类'
}
else
if
(
val
==
5
)
{
return
"产品购置类"
;
return
'产品购置类'
}
},
},
watch
:
{
// 监听路由对象中的参数部分
"$route.params"
:
{
'$route.params'
:
{
immediate
:
true
,
handler
(
newParams
,
oldParams
)
{
this
.
submitForm
()
;
this
.
submitForm
()
},
},
},
...
...
@@ -575,499 +486,487 @@ export default {
timeChange
(
time
)
{
if
(
time
)
{
//给后端的参数
this
.
ruleForm
.
planStartTime
=
time
[
0
]
;
this
.
ruleForm
.
planEndTime
=
time
[
1
]
;
this
.
ruleForm
.
planStartTime
=
time
[
0
]
this
.
ruleForm
.
planEndTime
=
time
[
1
]
}
else
{
//给后端的参数
this
.
ruleForm
.
planStartTime
=
""
;
this
.
ruleForm
.
planEndTime
=
""
;
this
.
ruleForm
.
planStartTime
=
''
this
.
ruleForm
.
planEndTime
=
''
}
},
//问题整改
async
confirm
()
{
this
.
mergingPos
=
0
;
this
.
mergingRows
=
[]
;
this
.
mergingPos
=
0
this
.
mergingRows
=
[]
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行整改"
);
return
;
this
.
$message
(
'请选择一条数据进行整改'
)
return
}
if
(
this
.
checkedList
[
0
].
postEvalStateText
==
"已申诉"
)
{
this
.
$message
(
"请选择未申诉的数据"
);
return
;
if
(
this
.
checkedList
[
0
].
postEvalStateText
==
'已申诉'
)
{
this
.
$message
(
'请选择未申诉的数据'
)
return
}
if
(
this
.
checkedList
[
0
].
reviewStatusText
==
"整改提交"
)
{
this
.
$message
(
"整改已经提交"
);
return
;
if
(
this
.
checkedList
[
0
].
reviewStatusText
==
'整改提交'
)
{
this
.
$message
(
'整改已经提交'
)
return
}
this
.
dialogQR
=
true
;
this
.
dialogQR
=
true
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectCode
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
}
;
}
let
res
=
await
wtssSelProblemRectification
(
params
)
;
if
(
res
.
code
==
"200"
)
{
let
res
=
await
wtssSelProblemRectification
(
params
)
if
(
res
.
code
==
'200'
)
{
let
paramsMat
=
{
proType
:
this
.
checkedList
[
0
].
projectType
,
contractNumber
:
this
.
checkedList
[
0
].
contractNumber
,
prjId
:
this
.
checkedList
[
0
].
projectCode
,
}
;
}
// let resMat = await MaterialWarehous(paramsMat);
this
.
tableDataQR
=
res
.
data
.
records
;
let
arr
=
[]
this
.
tableDataQR
=
res
.
data
.
records
let
arr
=
[]
this
.
tableDataQR
.
forEach
((
item
)
=>
{
if
(
!
item
.
confirmStatus
)
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
);
this
.
$set
(
item
,
'confirmStatus'
,
'2'
)
}
if
(
item
.
evalQues
)
{
arr
.
push
(
item
.
projectStage
)
}
arr
.
push
(
item
.
projectStage
)
}
switch
(
item
.
projectStage
)
{
case
"1"
:
case
'1'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(1, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
'projectStagetext'
,
'1.可研'
)
break
case
'2'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(2, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
'projectStagetext'
,
'2.计划'
)
break
case
'3'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(3, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
'projectStagetext'
,
'3.采购'
)
break
case
'4'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(4, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
'projectStagetext'
,
'4.合同'
)
break
case
'5'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(5, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
'projectStagetext'
,
'5.执行'
)
break
case
'6'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(6, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
this
.
$set
(
item
,
'projectStagetext'
,
'6.结决算及转资'
)
break
}
});
this
.
tableDataQR
.
forEach
(
val
=>
{
this
.
$set
(
val
,
'prob'
,
Array
.
from
(
new
Set
(
arr
)
))
})
this
.
dataPretreatment
();
this
.
tableDataQR
.
forEach
((
val
)
=>
{
this
.
$set
(
val
,
'prob'
,
Array
.
from
(
new
Set
(
arr
)))
})
this
.
dataPretreatment
()
}
},
fileupdate
(
items
,
list
)
{
console
.
log
(
items
,
list
,
"list"
);
this
.
fileList
.
push
(
list
.
file
)
;
this
.
debounce
(
this
.
submitFile
,
500
,
items
)
;
console
.
log
(
items
,
list
,
'list'
)
this
.
fileList
.
push
(
list
.
file
)
this
.
debounce
(
this
.
submitFile
,
500
,
items
)
},
debounce
(
fn
,
waits
,
items
)
{
if
(
this
.
timer
)
{
clearTimeout
(
this
.
timer
)
;
this
.
timer
=
null
;
clearTimeout
(
this
.
timer
)
this
.
timer
=
null
}
this
.
timer
=
setTimeout
(()
=>
{
fn
.
apply
(
this
,
arguments
)
;
// 把参数传进去
},
waits
)
;
fn
.
apply
(
this
,
arguments
)
// 把参数传进去
},
waits
)
},
submitFile
()
{
console
.
log
(
arguments
[
2
],
"arguments"
);
console
.
log
(
arguments
[
2
],
'arguments'
)
if
(
this
.
fileList
.
length
===
0
)
{
this
.
$message
.
success
(
"请上传文件"
);
return
;
this
.
$message
.
success
(
'请上传文件'
)
return
}
this
.
uploadLoading
=
true
;
let
formData
=
new
FormData
()
;
// 用FormData存放上传文件
this
.
uploadLoading
=
true
let
formData
=
new
FormData
()
// 用FormData存放上传文件
this
.
fileList
.
forEach
((
file
)
=>
{
formData
.
append
(
"file"
,
file
);
// file.raw
})
;
formData
.
append
(
"typeCode"
,
arguments
[
2
].
mid
);
formData
.
append
(
"prjId"
,
this
.
checkedList
[
0
].
projectCode
);
formData
.
append
(
"bathId"
,
this
.
checkedList
[
0
].
contractNumber
);
formData
.
append
(
'file'
,
file
)
// file.raw
})
formData
.
append
(
'typeCode'
,
arguments
[
2
].
mid
)
formData
.
append
(
'prjId'
,
this
.
checkedList
[
0
].
projectCode
)
formData
.
append
(
'bathId'
,
this
.
checkedList
[
0
].
contractNumber
)
ossuploadStr
(
formData
)
.
then
((
response
)
=>
{
if
(
response
.
code
==
"200"
)
{
this
.
fileList
=
[]
;
this
.
confirm
()
;
if
(
response
.
code
==
'200'
)
{
this
.
fileList
=
[]
this
.
confirm
()
// this.MaterialWarehous(this.upprojectType);
console
.
log
(
this
.
$refs
.
upload
,
"this.$refs.upload"
);
this
.
$refs
.
upload
.
clearFiles
()
;
this
.
$message
(
"上传成功"
);
console
.
log
(
this
.
$refs
.
upload
,
'this.$refs.upload'
)
this
.
$refs
.
upload
.
clearFiles
()
this
.
$message
(
'上传成功'
)
}
else
{
this
.
$message
(
"上传失败"
);
this
.
$message
(
'上传失败'
)
}
})
.
catch
((
error
)
=>
{})
;
.
catch
((
error
)
=>
{})
},
filtersTable
()
{
let
newArr
=
arguments
[
1
].
filter
((
items
)
=>
{
return
items
.
projectStage
==
arguments
[
0
]
;
})
;
let
msg
=
[]
;
return
items
.
projectStage
==
arguments
[
0
]
})
let
msg
=
[]
newArr
.
forEach
((
item
)
=>
{
if
(
item
.
fullName
)
{
msg
.
push
({
names
:
item
.
materialName
,
values
:
item
.
fullName
,
mid
:
item
.
mid
,
})
;
})
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
}
})
;
return
msg
;
})
return
msg
},
dataPretreatment
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataQR
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRows
.
push
(
1
)
;
this
.
mergingPos
=
0
;
this
.
mergingRows
.
push
(
1
)
this
.
mergingPos
=
0
}
else
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
;
this
.
mergingRows
.
push
(
0
)
;
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
this
.
mergingRows
.
push
(
0
)
}
else
{
this
.
mergingRows
.
push
(
1
)
;
this
.
mergingPos
=
i
;
this
.
mergingRows
.
push
(
1
)
this
.
mergingPos
=
i
}
}
}
},
closed
()
{
console
.
log
(
"关闭"
);
this
.
handleSelectionChange
()
;
console
.
log
(
'关闭'
)
this
.
handleSelectionChange
()
},
async
saveSS
()
{
let
res
=
await
qrProblemAssistedFeedback
(
this
.
tableDataQR
)
;
if
(
res
.
code
==
"200"
)
{
this
.
$message
(
"保存成功"
);
let
res
=
await
qrProblemAssistedFeedback
(
this
.
tableDataQR
)
if
(
res
.
code
==
'200'
)
{
this
.
$message
(
'保存成功'
)
// this.dialogQR = false;
// this.resetForm();
}
else
{
this
.
$message
(
"保存失败"
);
this
.
$message
(
'保存失败'
)
}
},
async
saveSubmit
()
{
let
res
=
await
wtzgxfProblemRectification
(
this
.
tableDataQR
)
;
this
.
$refs
.
myTable
.
doLayout
()
;
// 解决表格错位
if
(
res
.
code
==
"200"
)
{
this
.
$message
(
"提交成功"
);
this
.
dialogQR
=
false
;
this
.
resetForm
()
;
let
res
=
await
wtzgxfProblemRectification
(
this
.
tableDataQR
)
this
.
$refs
.
myTable
.
doLayout
()
// 解决表格错位
if
(
res
.
code
==
'200'
)
{
this
.
$message
(
'提交成功'
)
this
.
dialogQR
=
false
this
.
resetForm
()
}
else
{
this
.
$message
(
"整改提交失败"
);
this
.
$message
(
'整改提交失败'
)
}
},
cancelSS
()
{
this
.
dialogQR
=
false
;
this
.
dialogQR
=
false
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRows
[
rowIndex
]
;
const
_col
=
_row
>
0
?
1
:
0
;
const
_row
=
this
.
mergingRows
[
rowIndex
]
const
_col
=
_row
>
0
?
1
:
0
return
{
rowspan
:
_row
,
colspan
:
_col
,
}
;
}
}
},
//问题确认开关
controlSwitch
(
val
,
row
)
{
console
.
log
(
"333"
,
val
,
row
);
console
.
log
(
'333'
,
val
,
row
)
},
async
submitForm
()
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
module
:
0
,
}
;
Object
.
assign
(
params
,
this
.
ruleForm
)
;
console
.
log
(
params
)
;
}
Object
.
assign
(
params
,
this
.
ruleForm
)
console
.
log
(
params
)
let
res
=
await
evaluationMaterials
(
params
)
;
let
res
=
await
evaluationMaterials
(
params
)
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
if
(
res
.
code
==
'200'
)
{
this
.
tableData
=
res
.
data
.
records
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
postEvalState
==
""
||
item
.
postEvalState
==
null
)
{
if
(
item
.
postEvalState
==
''
||
item
.
postEvalState
==
null
)
{
// this.$set(item, "postEvalStateText", "材料未上传");
}
else
if
(
item
.
postEvalState
==
0
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"已退回"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'已退回'
)
}
else
if
(
item
.
postEvalState
==
1
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"待评估"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'待评估'
)
}
else
if
(
item
.
postEvalState
==
2
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"需整改"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'需整改'
)
}
else
if
(
item
.
postEvalState
==
3
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"已整改"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'已整改'
)
}
else
if
(
item
.
postEvalState
==
4
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"已归档"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'已归档'
)
}
this
.
$set
(
item
,
"constructionForm"
,
constructionFormText
(
item
.
constructionForm
)
);
});
this
.
total
=
res
.
data
.
total
*
1
;
this
.
$set
(
item
,
'constructionForm'
,
constructionFormText
(
item
.
constructionForm
))
})
this
.
total
=
res
.
data
.
total
*
1
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
()
;
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
ruleForm
.
planStartTime
=
""
;
this
.
ruleForm
.
planEndTime
=
""
;
this
.
ruleForm
.
dates
=
[]
;
this
.
submitForm
()
;
this
.
$refs
.
formName
.
resetFields
()
this
.
currentPage
=
1
this
.
pageSize
=
10
this
.
ruleForm
.
planStartTime
=
''
this
.
ruleForm
.
planEndTime
=
''
this
.
ruleForm
.
dates
=
[]
this
.
submitForm
()
},
//提交评估材料
async
submitNexts
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
this
.
$message
(
'请选择'
)
return
}
this
.
$confirm
(
"材料是否材重新上传完成?"
,
"提示"
,
{
confirmButtonText
:
"是"
,
cancelButtonText
:
"否"
,
type
:
"warning"
,
}
).
then
(
async
()
=>
{
let
params
=
{
...
this
.
checkedList
[
0
]
}
let
res
=
await
postEvalQuesInfocxtj
(
params
)
if
(
res
.
code
==
"200"
)
{
this
.
$message
(
"重新上传成功"
);
this
.
resetForm
();
}
else
{
this
.
$message
(
"重新上传失败"
);
}
});
this
.
$confirm
(
'材料是否材重新上传完成?'
,
'提示'
,
{
confirmButtonText
:
'是'
,
cancelButtonText
:
'否'
,
type
:
'warning'
,
}).
then
(
async
()
=>
{
let
params
=
{
...
this
.
checkedList
[
0
],
}
let
res
=
await
postEvalQuesInfocxtj
(
params
)
if
(
res
.
code
==
'200'
)
{
this
.
$message
(
'重新上传成功'
)
this
.
resetForm
()
}
else
{
this
.
$message
(
'重新上传失败'
)
}
})
},
//详情
async
detailsForm
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
this
.
$message
(
'请选择'
)
return
}
let
params
=
{
proType
:
this
.
checkedList
[
0
].
projectType
,
contractNumber
:
this
.
checkedList
[
0
].
contractNumber
,
prjId
:
this
.
checkedList
[
0
].
projectCode
,
}
;
let
res
=
await
MaterialWarehous
(
params
)
;
this
.
tableDataQD
=
res
.
data
.
records
;
this
.
dialogXQ
=
true
;
}
let
res
=
await
MaterialWarehous
(
params
)
this
.
tableDataQD
=
res
.
data
.
records
this
.
dialogXQ
=
true
this
.
tableDataQD
.
forEach
((
item
)
=>
{
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"结决算及转资"
);
break
;
case
'1'
:
this
.
$set
(
item
,
'projectStagetext'
,
'可研'
)
break
case
'2'
:
this
.
$set
(
item
,
'projectStagetext'
,
'计划'
)
break
case
'3'
:
this
.
$set
(
item
,
'projectStagetext'
,
'采购'
)
break
case
'4'
:
this
.
$set
(
item
,
'projectStagetext'
,
'合同'
)
break
case
'5'
:
this
.
$set
(
item
,
'projectStagetext'
,
'执行'
)
break
case
'6'
:
this
.
$set
(
item
,
'projectStagetext'
,
'结决算及转资'
)
break
}
})
;
})
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
return
'warning-row'
}
return
""
;
return
''
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
this
.
confirmdisabled
=
false
;
this
.
subdisabled
=
false
;
this
.
confirmdisabled
=
false
this
.
subdisabled
=
false
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
)
;
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
)
;
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
)
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
)
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
if
(
this
.
checkedList
[
0
])
{
this
.
ruleFormdialog
=
this
.
checkedList
[
0
]
;
if
(
this
.
checkedList
[
0
].
postEvalStateText
!=
"需整改"
)
{
this
.
confirmdisabled
=
true
;
this
.
ruleFormdialog
=
this
.
checkedList
[
0
]
if
(
this
.
checkedList
[
0
].
postEvalStateText
!=
'需整改'
)
{
this
.
confirmdisabled
=
true
}
if
(
this
.
checkedList
[
0
].
postEvalStateText
!=
"已退回"
)
{
this
.
subdisabled
=
true
;
if
(
this
.
checkedList
[
0
].
postEvalStateText
!=
'已退回'
)
{
this
.
subdisabled
=
true
}
}
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
)
;
this
.
pageSize
=
val
;
this
.
submitForm
()
;
console
.
log
(
`每页
${
val
}
条`
)
this
.
pageSize
=
val
this
.
submitForm
()
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
)
;
this
.
currentPage
=
val
;
this
.
submitForm
()
;
console
.
log
(
`当前页:
${
val
}
`
)
this
.
currentPage
=
val
this
.
submitForm
()
},
handleSizeChangetjcl
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
)
;
this
.
pageSizetjcl
=
val
;
console
.
log
(
`每页
${
val
}
条`
)
this
.
pageSizetjcl
=
val
},
handleCurrentChangetjcl
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
)
;
this
.
currentPagetjcl
=
val
;
console
.
log
(
`当前页:
${
val
}
`
)
this
.
currentPagetjcl
=
val
},
cancel
()
{
this
.
dialog
=
false
;
this
.
dialog
=
false
// this.dialogXQ = false;
},
preserve
()
{
this
.
dialog
=
false
;
this
.
dialog
=
false
// this.dialogXQ = false;
},
closeDialog
()
{
console
.
log
(
"guanbi"
);
this
.
showButton
=
true
;
console
.
log
(
'guanbi'
)
this
.
showButton
=
true
},
async
save
(
type
)
{
this
.
dialog
=
false
;
this
.
dialog
=
false
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectCode
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
}
;
let
res
=
await
qrscevaluationMaterials
(
params
)
;
this
.
resetForm
()
;
}
let
res
=
await
qrscevaluationMaterials
(
params
)
this
.
resetForm
()
},
handleFileUploadZG
(
event
,
row
,
id
)
{
console
.
log
(
"来了么"
);
this
.
file
=
event
.
target
.
files
[
0
]
;
this
.
submitFileZG
(
row
,
id
)
;
console
.
log
(
'来了么'
)
this
.
file
=
event
.
target
.
files
[
0
]
this
.
submitFileZG
(
row
,
id
)
},
handleFileUploadmul
(
event
,
row
,
id
)
{
this
.
fileList
=
event
.
target
.
files
;
this
.
submitFileStr
(
row
,
id
)
;
this
.
fileList
=
event
.
target
.
files
this
.
submitFileStr
(
row
,
id
)
},
submitFileStr
(
row
,
type
)
{
if
(
this
.
fileList
)
{
const
formData
=
new
FormData
()
;
let
fileDom
=
this
.
fileList
;
const
formData
=
new
FormData
()
let
fileDom
=
this
.
fileList
for
(
var
i
=
0
;
i
<
fileDom
.
length
;
i
++
)
{
formData
.
append
(
"file"
,
fileDom
[
i
]);
formData
.
append
(
'file'
,
fileDom
[
i
])
}
formData
.
append
(
"typeCode"
,
row
.
typeText
);
formData
.
append
(
"prjId"
,
this
.
checkedList
[
0
].
projectCode
);
formData
.
append
(
"bathId"
,
this
.
checkedList
[
0
].
batchId
);
formData
.
append
(
'typeCode'
,
row
.
typeText
)
formData
.
append
(
'prjId'
,
this
.
checkedList
[
0
].
projectCode
)
formData
.
append
(
'bathId'
,
this
.
checkedList
[
0
].
batchId
)
ossuploadStr
(
formData
)
.
then
((
response
)
=>
{
console
.
log
(
response
,
"试试"
);
this
.
fileList
=
[]
;
let
fileId
=
""
;
console
.
log
(
response
,
'试试'
)
this
.
fileList
=
[]
let
fileId
=
''
response
.
data
.
list
.
forEach
((
item
)
=>
{
fileId
=
fileId
.
concat
(
item
.
fileId
+
","
);
})
;
fileId
=
fileId
.
substring
(
0
,
fileId
.
length
-
1
)
;
this
.
$set
(
row
,
type
,
fileId
)
;
fileId
=
fileId
.
concat
(
item
.
fileId
+
','
)
})
fileId
=
fileId
.
substring
(
0
,
fileId
.
length
-
1
)
this
.
$set
(
row
,
type
,
fileId
)
})
.
catch
((
error
)
=>
{
console
.
error
(
error
)
;
})
;
console
.
error
(
error
)
})
}
else
{
this
.
$message
(
"请先选择文件"
);
this
.
$message
(
'请先选择文件'
)
}
},
submitFileZG
(
row
,
type
)
{
// return;
console
.
log
(
row
)
;
console
.
log
(
row
)
if
(
this
.
file
)
{
const
formData
=
new
FormData
()
;
formData
.
append
(
"file"
,
this
.
file
);
const
formData
=
new
FormData
()
formData
.
append
(
'file'
,
this
.
file
)
ossupload
(
formData
)
.
then
((
response
)
=>
{
console
.
log
(
response
)
;
this
.
file
=
[]
;
this
.
$set
(
row
,
type
,
response
.
data
.
fileId
)
;
console
.
log
(
response
)
this
.
file
=
[]
this
.
$set
(
row
,
type
,
response
.
data
.
fileId
)
})
.
catch
((
error
)
=>
{
console
.
error
(
error
)
;
})
;
console
.
error
(
error
)
})
}
else
{
this
.
$message
(
"请先选择文件"
);
this
.
$message
(
'请先选择文件'
)
}
},
handleSuccess
(
response
,
file
,
fileList
)
{
// 提交保存成功后清空已上传的文件
this
.
$refs
.
upload
.
clearFiles
()
;
this
.
$refs
.
upload
.
clearFiles
()
},
async
handleClickXZ
(
scope
)
{
console
.
log
(
scope
.
fileId
)
;
console
.
log
(
scope
.
fileId
)
let
response
=
await
downloadObject
({
fileId
:
scope
.
fileId
*
1
,
})
;
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
)
;
})
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
)
}
},
handleMouseEnter
(
msg
)
{
console
.
log
(
this
.
$refs
[
msg
],
"this.$refs[msg].style"
);
console
.
log
(
this
.
$refs
[
msg
],
'this.$refs[msg].style'
)
// this.$refs[msg].style.whiteSpace = 'normal';
},
handleMouseLeave
(
msg
)
{
// this.$refs[msg].style.whiteSpace = 'nowrap';
},
},
}
;
}
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
...
...
@@ -1377,7 +1276,7 @@ h3 {
}
}
.setTable
{
height
:
490px
;
height
:
490px
;
overflow-y
:
auto
;
overflow-x
:
scroll
;
position
:
relative
;
...
...
@@ -1409,36 +1308,34 @@ h3 {
}
.filedp
{
text-align
:
left
;
width
:
600px
;
width
:
600px
;
p{
display
:
inline-block
;
width
:
88%
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
height
:
30px
;
margin-top
:
5px
;
}
.tips
{
p
{
display
:
inline-block
;
width
:
88%
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
height
:
30px
;
margin-top
:
5px
;
}
.tips
{
font-weight
:
600
;
}
span
{
//
margin-right
:
8px
;
display
:
inline-block
;
width
:
50%
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
}
.upload-demo
{
display
:
inline-block
;
vertical-align
:
top
;
}
.upload_box
{
.upload_box
{
vertical-align
:
top
;
}
...
...
@@ -1453,4 +1350,4 @@ h3 {
/
deep
/
.el-upload-list__item-name
{
display
:
none
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/assessZC/materialAcquisition.vue
View file @
c27578f
<!-- 评估材料获取 -->
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
...
...
@@ -18,11 +13,7 @@
</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=
"batchState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchState"
placeholder=
"请选择"
clearable
>
...
...
@@ -32,30 +23,13 @@
</el-form-item>
-->
<el-form-item
label=
"项目编码:"
prop=
"projectId"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.projectId"
placeholder=
"请输入"
clearable
></el-input>
<el-input
v-model=
"ruleForm.projectId"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
show-overflow-tooltip
>
<el-input
v-model=
"ruleForm.projectName"
placeholder=
"请输入"
clearable
></el-input>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
show-overflow-tooltip
>
<el-input
v-model=
"ruleForm.projectName"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"项目年度:"
prop=
"projectYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.projectYear"
placeholder=
"请选择"
clearable
>
<el-select
v-model=
"ruleForm.projectYear"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"(item, index) in yearsList"
:key=
"index"
...
...
@@ -65,11 +39,7 @@
</el-select>
</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>
...
...
@@ -101,17 +71,18 @@
<el-button
@
click=
"detailsForm()"
>
<img
class=
"buttonIcon"
src=
"../../assets/ck.png"
/>
详情
</el-button
>
<el-button
@
click=
"confirm()"
:disabled=
"confirmdisabled"
:class=
"confirmdisabled ? 'noclick' : ''"
>
<i
class=
"el-icon-chat-dot-square"
></i
>
问题整改
</el-button
<i
class=
"el-icon-chat-dot-square"
></i>
问题整改
</el-button
>
<el-button
@
click=
"submitNexts()"
:disabled=
"subdisabled"
:class=
"subdisabled?'noclick':''"
<el-button
@
click=
"submitNexts()"
:disabled=
"subdisabled"
:class=
"subdisabled ? 'noclick' : ''"
><i
class=
"el-icon-finished"
></i>
材料已重新上传
</el-button
>
</el-form-item>
...
...
@@ -128,73 +99,46 @@
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<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"
width=
"120"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
batchYear
}}
年
</
template
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
>
</el-table-column>
<el-table-column
prop=
"expertName"
label=
"评审专家"
>
</el-table-column>
<el-table-column
prop=
"projectCode"
label=
"项目编码"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名称"
show-overflow-tooltip
>
<el-table-column
prop=
"projectName"
label=
"项目名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"issueYear"
label=
"项目年度"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<span
v-show=
"scope.row.issueYear"
>
{{
scope
.
row
.
issueYear
}}
年
</span
>
<span
v-show=
"scope.row.issueYear"
>
{{
scope
.
row
.
issueYear
}}
年
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"projectType"
label=
"项目类型"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<span
v-show=
"scope.row.projectType"
>
{{
scope
.
row
.
projectType
|
proType
}}
</span
>
<span
v-show=
"scope.row.projectType"
>
{{
scope
.
row
.
projectType
|
proType
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"constructionForm"
label=
"建设形式"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"postEvalStateText"
label=
"项目审核状态"
width=
"120"
>
<
template
v-slot=
"scope"
>
<el-table-column
prop=
"constructionForm"
label=
"建设形式"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"postEvalStateText"
label=
"项目审核状态"
width=
"120"
>
<
template
v-slot=
"scope"
>
<router-link
v-if=
" scope.row.postEvalStateText==
'已退回'"
:to=
"
{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode },
}"
v-if=
"scope.row.postEvalStateText ==
'已退回'"
:to=
"
{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode },
}"
>
<el-button
type=
"text"
size=
"small"
>
{{
scope
.
row
.
postEvalStateText
}}
</el-button>
<el-button
type=
"text"
size=
"small"
>
{{
scope
.
row
.
postEvalStateText
}}
</el-button>
</router-link>
<span
v-else
>
{{
scope
.
row
.
postEvalStateText
}}
</span>
<span
v-else
>
{{
scope
.
row
.
postEvalStateText
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"contractNumber"
label=
"合同编号"
show-overflow-tooltip
>
<el-table-column
prop=
"contractNumber"
label=
"合同编号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"contractName"
label=
"合同名称"
width=
"auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"planReviewDate"
label=
"计划评估日期"
>
<el-table-column
prop=
"contractName"
label=
"合同名称"
width=
"auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"planReviewDate"
label=
"计划评估日期"
>
</el-table-column>
</el-table>
</div>
<el-pagination
...
...
@@ -230,25 +174,14 @@
<el-form-item
label=
"后评估名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialog.batchName"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"计划评估日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialog.planReviewDate"
disabled
></el-input>
<el-form-item
label=
"计划评估日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialog.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"后评估专家:"
prop=
"expertName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialog.expertName"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"工作组织情况:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialog.desc"
disabled
></el-input>
<el-input
type=
"textarea"
v-model=
"ruleFormdialog.desc"
disabled
></el-input>
</el-form-item>
</el-form>
...
...
@@ -264,18 +197,11 @@
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"材料类别"
prop=
"projectStagetext"
>
</el-table-column>
<el-table-column
label=
"资料类型"
prop=
"materialName"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"资料名称"
show-overflow-tooltip
>
<el-table-column
label=
"材料类别"
prop=
"projectStagetext"
>
</el-table-column>
<el-table-column
label=
"资料类型"
prop=
"materialName"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"资料名称"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column prop="fullName" label="资料名称">
<template slot-scope="scope" v-if="scope.row.fullName">
...
...
@@ -317,32 +243,19 @@
ref=
"myTable"
border
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"110"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"50"
type=
"index"
>
<el-table-column
label=
"项目环节"
prop=
"projectStagetext"
width=
"110"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"50"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
width=
"200"
>
<el-table-column
label=
"问题检查项"
prop=
"quesCheckItem"
width=
"200"
>
</el-table-column>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
show-overflow-tooltip
>
<el-table-column
label=
"评估问题"
prop=
"evalQues"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"问题响应"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<el-switch
:disabled=
"scope.row.rectificationStatus == 2"
v-if=
"scope.row.evalQues"
v-model=
"scope.row.confirmStatus"
active-color=
"#C0C0C0"
...
...
@@ -362,24 +275,34 @@
</el-switch>
</template>
</el-table-column>
<el-table-column
label=
"上传档案材料"
prop=
"dacl"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"
{path:'/assesszc/projectView',query:{projectId:scope.row.projectId}}">
<el-button
type=
"text"
size=
"small"
>
上传材料
</el-button>
</router-link>
</
template
>
<el-table-column
label=
"上传档案材料"
prop=
"dacl"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<el-button
disabled
v-if=
"scope.row.rectificationStatus == 2"
type=
"text"
size=
"small"
>
上传材料
</el-button
>
<router-link
v-else
:to=
"
{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectId },
}"
>
<el-button
type=
"text"
size=
"small"
>
上传材料
</el-button>
</router-link>
</
template
>
</el-table-column>
<el-table-column
label=
"解释批注"
width=
"220"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.feedback"
v-if=
"scope.row.confirmStatus == '1'"
type=
"textarea"
:rows=
"3"
type=
"textarea"
:disabled=
"scope.row.rectificationStatus == 2"
:rows=
"3"
></el-input>
</
template
>
</el-table-column>
...
...
@@ -389,31 +312,19 @@
v-if=
"scope.row.evalQues && scope.row.confirmStatus == '1'"
>
<input
:disabled=
"scope.row.rectificationStatus == 2"
type=
"file"
@
change=
"handleFileUploadZG($event, scope.row, 'fileId')"
/>
</
template
>
</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=
"zgqkFileId"
width=
"auto"
>
<el-table-column
label=
"复核情况说明"
prop=
"zgqkFileId"
width=
"auto"
>
</el-table-column>
<el-table-column
label=
"整改复核状态"
prop=
"checkDesc"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.rectificationStatus"
placeholder=
"请选择"
disabled
>
<el-table-column
label=
"整改复核状态"
prop=
"checkDesc"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.rectificationStatus"
placeholder=
"请选择"
disabled
>
<el-option
label=
"待复核"
:value=
"null"
></el-option>
<el-option
label=
"问题未整改"
:value=
"0"
></el-option>
<el-option
label=
"整改不合格"
:value=
"1"
></el-option>
...
...
@@ -421,7 +332,7 @@
</el-select>
</
template
>
</el-table-column>
<!-- <el-table-column label="材料整改" prop="filed" width="600">
<template slot-scope="scope" v-if="scope.row.filed">
<div v-for="(item, index) in scope.row.filed" :key="index">
...
...
@@ -464,7 +375,7 @@
</div>
</template>
</el-table-column> -->
<!--
<!--
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template slot-scope="scope" v-if="scope.row.evalQues">
<input
...
...
@@ -488,7 +399,7 @@
</template>
<
script
>
import
{
MaterialsList
}
from
"@/utils/cache"
;
import
{
MaterialsList
}
from
'@/utils/cache'
import
{
evaluationMaterials
,
clqdevaluationMaterials
,
...
...
@@ -500,29 +411,29 @@ import {
wtzgxfProblemRectification
,
ossuploadStr
,
MaterialWarehous
,
postEvalQuesInfocxtj
}
from
"@/api/indexzc"
;
import
{
generateYearOptions
,
constructionFormText
}
from
"@/utils/cache"
;
postEvalQuesInfocxtj
,
}
from
'@/api/indexzc'
import
{
generateYearOptions
,
constructionFormText
}
from
'@/utils/cache'
export
default
{
data
()
{
return
{
yearsList
:
generateYearOptions
(),
dialogXQ
:
false
,
file
:
""
,
file
:
''
,
showButton
:
true
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
postEvalState
:
""
,
projectName
:
""
,
projectId
:
""
,
batchYear
:
''
,
batchName
:
''
,
postEvalState
:
''
,
projectName
:
''
,
projectId
:
''
,
dates
:
[],
},
ruleFormdialog
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
fullName
:
""
,
batchYear
:
''
,
batchName
:
''
,
planReviewDate
:
''
,
fullName
:
''
,
},
tableData
:
[],
MaterialsList
:
JSON
.
parse
(
JSON
.
stringify
(
MaterialsList
())),
...
...
@@ -542,29 +453,29 @@ export default {
fileList
:
[],
subdisabled
:
false
,
confirmdisabled
:
false
,
}
;
}
},
filters
:
{
proType
(
val
)
{
if
(
val
==
1
)
{
return
"咨询设计类"
;
return
'咨询设计类'
}
else
if
(
val
==
2
)
{
return
"开发实施类"
;
return
'开发实施类'
}
else
if
(
val
==
3
)
{
return
"业务运营类"
;
return
'业务运营类'
}
else
if
(
val
==
4
)
{
return
"数据工程类"
;
return
'数据工程类'
}
else
if
(
val
==
5
)
{
return
"产品购置类"
;
return
'产品购置类'
}
},
},
watch
:
{
// 监听路由对象中的参数部分
"$route.params"
:
{
'$route.params'
:
{
immediate
:
true
,
handler
(
newParams
,
oldParams
)
{
this
.
submitForm
()
;
this
.
submitForm
()
},
},
},
...
...
@@ -575,499 +486,487 @@ export default {
timeChange
(
time
)
{
if
(
time
)
{
//给后端的参数
this
.
ruleForm
.
planStartTime
=
time
[
0
]
;
this
.
ruleForm
.
planEndTime
=
time
[
1
]
;
this
.
ruleForm
.
planStartTime
=
time
[
0
]
this
.
ruleForm
.
planEndTime
=
time
[
1
]
}
else
{
//给后端的参数
this
.
ruleForm
.
planStartTime
=
""
;
this
.
ruleForm
.
planEndTime
=
""
;
this
.
ruleForm
.
planStartTime
=
''
this
.
ruleForm
.
planEndTime
=
''
}
},
//问题整改
async
confirm
()
{
this
.
mergingPos
=
0
;
this
.
mergingRows
=
[]
;
this
.
mergingPos
=
0
this
.
mergingRows
=
[]
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择一条数据进行整改"
);
return
;
this
.
$message
(
'请选择一条数据进行整改'
)
return
}
if
(
this
.
checkedList
[
0
].
postEvalStateText
==
"已申诉"
)
{
this
.
$message
(
"请选择未申诉的数据"
);
return
;
if
(
this
.
checkedList
[
0
].
postEvalStateText
==
'已申诉'
)
{
this
.
$message
(
'请选择未申诉的数据'
)
return
}
if
(
this
.
checkedList
[
0
].
reviewStatusText
==
"整改提交"
)
{
this
.
$message
(
"整改已经提交"
);
return
;
if
(
this
.
checkedList
[
0
].
reviewStatusText
==
'整改提交'
)
{
this
.
$message
(
'整改已经提交'
)
return
}
this
.
dialogQR
=
true
;
this
.
dialogQR
=
true
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectCode
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
}
;
}
let
res
=
await
wtssSelProblemRectification
(
params
)
;
if
(
res
.
code
==
"200"
)
{
let
res
=
await
wtssSelProblemRectification
(
params
)
if
(
res
.
code
==
'200'
)
{
let
paramsMat
=
{
proType
:
this
.
checkedList
[
0
].
projectType
,
contractNumber
:
this
.
checkedList
[
0
].
contractNumber
,
prjId
:
this
.
checkedList
[
0
].
projectCode
,
}
;
}
// let resMat = await MaterialWarehous(paramsMat);
this
.
tableDataQR
=
res
.
data
.
records
;
let
arr
=
[]
this
.
tableDataQR
=
res
.
data
.
records
let
arr
=
[]
this
.
tableDataQR
.
forEach
((
item
)
=>
{
if
(
!
item
.
confirmStatus
)
{
this
.
$set
(
item
,
"confirmStatus"
,
"2"
);
this
.
$set
(
item
,
'confirmStatus'
,
'2'
)
}
if
(
item
.
evalQues
)
{
arr
.
push
(
item
.
projectStage
)
}
arr
.
push
(
item
.
projectStage
)
}
switch
(
item
.
projectStage
)
{
case
"1"
:
case
'1'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(1, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"1.可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
'projectStagetext'
,
'1.可研'
)
break
case
'2'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(2, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"2.计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
'projectStagetext'
,
'2.计划'
)
break
case
'3'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(3, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"3.采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
'projectStagetext'
,
'3.采购'
)
break
case
'4'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(4, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"4.合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
'projectStagetext'
,
'4.合同'
)
break
case
'5'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(5, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"5.执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
'projectStagetext'
,
'5.执行'
)
break
case
'6'
:
// this.$set(
// item,
// "filed",
// this.filtersTable(6, resMat.data.records)
// );
this
.
$set
(
item
,
"projectStagetext"
,
"6.结决算及转资"
);
break
;
this
.
$set
(
item
,
'projectStagetext'
,
'6.结决算及转资'
)
break
}
});
this
.
tableDataQR
.
forEach
(
val
=>
{
this
.
$set
(
val
,
'prob'
,
Array
.
from
(
new
Set
(
arr
)
))
})
this
.
dataPretreatment
();
this
.
tableDataQR
.
forEach
((
val
)
=>
{
this
.
$set
(
val
,
'prob'
,
Array
.
from
(
new
Set
(
arr
)))
})
this
.
dataPretreatment
()
}
},
fileupdate
(
items
,
list
)
{
console
.
log
(
items
,
list
,
"list"
);
this
.
fileList
.
push
(
list
.
file
)
;
this
.
debounce
(
this
.
submitFile
,
500
,
items
)
;
console
.
log
(
items
,
list
,
'list'
)
this
.
fileList
.
push
(
list
.
file
)
this
.
debounce
(
this
.
submitFile
,
500
,
items
)
},
debounce
(
fn
,
waits
,
items
)
{
if
(
this
.
timer
)
{
clearTimeout
(
this
.
timer
)
;
this
.
timer
=
null
;
clearTimeout
(
this
.
timer
)
this
.
timer
=
null
}
this
.
timer
=
setTimeout
(()
=>
{
fn
.
apply
(
this
,
arguments
)
;
// 把参数传进去
},
waits
)
;
fn
.
apply
(
this
,
arguments
)
// 把参数传进去
},
waits
)
},
submitFile
()
{
console
.
log
(
arguments
[
2
],
"arguments"
);
console
.
log
(
arguments
[
2
],
'arguments'
)
if
(
this
.
fileList
.
length
===
0
)
{
this
.
$message
.
success
(
"请上传文件"
);
return
;
this
.
$message
.
success
(
'请上传文件'
)
return
}
this
.
uploadLoading
=
true
;
let
formData
=
new
FormData
()
;
// 用FormData存放上传文件
this
.
uploadLoading
=
true
let
formData
=
new
FormData
()
// 用FormData存放上传文件
this
.
fileList
.
forEach
((
file
)
=>
{
formData
.
append
(
"file"
,
file
);
// file.raw
})
;
formData
.
append
(
"typeCode"
,
arguments
[
2
].
mid
);
formData
.
append
(
"prjId"
,
this
.
checkedList
[
0
].
projectCode
);
formData
.
append
(
"bathId"
,
this
.
checkedList
[
0
].
contractNumber
);
formData
.
append
(
'file'
,
file
)
// file.raw
})
formData
.
append
(
'typeCode'
,
arguments
[
2
].
mid
)
formData
.
append
(
'prjId'
,
this
.
checkedList
[
0
].
projectCode
)
formData
.
append
(
'bathId'
,
this
.
checkedList
[
0
].
contractNumber
)
ossuploadStr
(
formData
)
.
then
((
response
)
=>
{
if
(
response
.
code
==
"200"
)
{
this
.
fileList
=
[]
;
this
.
confirm
()
;
if
(
response
.
code
==
'200'
)
{
this
.
fileList
=
[]
this
.
confirm
()
// this.MaterialWarehous(this.upprojectType);
console
.
log
(
this
.
$refs
.
upload
,
"this.$refs.upload"
);
this
.
$refs
.
upload
.
clearFiles
()
;
this
.
$message
(
"上传成功"
);
console
.
log
(
this
.
$refs
.
upload
,
'this.$refs.upload'
)
this
.
$refs
.
upload
.
clearFiles
()
this
.
$message
(
'上传成功'
)
}
else
{
this
.
$message
(
"上传失败"
);
this
.
$message
(
'上传失败'
)
}
})
.
catch
((
error
)
=>
{})
;
.
catch
((
error
)
=>
{})
},
filtersTable
()
{
let
newArr
=
arguments
[
1
].
filter
((
items
)
=>
{
return
items
.
projectStage
==
arguments
[
0
]
;
})
;
let
msg
=
[]
;
return
items
.
projectStage
==
arguments
[
0
]
})
let
msg
=
[]
newArr
.
forEach
((
item
)
=>
{
if
(
item
.
fullName
)
{
msg
.
push
({
names
:
item
.
materialName
,
values
:
item
.
fullName
,
mid
:
item
.
mid
,
})
;
})
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
}
})
;
return
msg
;
})
return
msg
},
dataPretreatment
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataQR
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRows
.
push
(
1
)
;
this
.
mergingPos
=
0
;
this
.
mergingRows
.
push
(
1
)
this
.
mergingPos
=
0
}
else
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
;
this
.
mergingRows
.
push
(
0
)
;
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
this
.
mergingRows
.
push
(
0
)
}
else
{
this
.
mergingRows
.
push
(
1
)
;
this
.
mergingPos
=
i
;
this
.
mergingRows
.
push
(
1
)
this
.
mergingPos
=
i
}
}
}
},
closed
()
{
console
.
log
(
"关闭"
);
this
.
handleSelectionChange
()
;
console
.
log
(
'关闭'
)
this
.
handleSelectionChange
()
},
async
saveSS
()
{
let
res
=
await
qrProblemAssistedFeedback
(
this
.
tableDataQR
)
;
if
(
res
.
code
==
"200"
)
{
this
.
$message
(
"保存成功"
);
let
res
=
await
qrProblemAssistedFeedback
(
this
.
tableDataQR
)
if
(
res
.
code
==
'200'
)
{
this
.
$message
(
'保存成功'
)
// this.dialogQR = false;
// this.resetForm();
}
else
{
this
.
$message
(
"保存失败"
);
this
.
$message
(
'保存失败'
)
}
},
async
saveSubmit
()
{
let
res
=
await
wtzgxfProblemRectification
(
this
.
tableDataQR
)
;
this
.
$refs
.
myTable
.
doLayout
()
;
// 解决表格错位
if
(
res
.
code
==
"200"
)
{
this
.
$message
(
"提交成功"
);
this
.
dialogQR
=
false
;
this
.
resetForm
()
;
let
res
=
await
wtzgxfProblemRectification
(
this
.
tableDataQR
)
this
.
$refs
.
myTable
.
doLayout
()
// 解决表格错位
if
(
res
.
code
==
'200'
)
{
this
.
$message
(
'提交成功'
)
this
.
dialogQR
=
false
this
.
resetForm
()
}
else
{
this
.
$message
(
"整改提交失败"
);
this
.
$message
(
'整改提交失败'
)
}
},
cancelSS
()
{
this
.
dialogQR
=
false
;
this
.
dialogQR
=
false
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
if
(
columnIndex
===
0
)
{
//第一列
const
_row
=
this
.
mergingRows
[
rowIndex
]
;
const
_col
=
_row
>
0
?
1
:
0
;
const
_row
=
this
.
mergingRows
[
rowIndex
]
const
_col
=
_row
>
0
?
1
:
0
return
{
rowspan
:
_row
,
colspan
:
_col
,
}
;
}
}
},
//问题确认开关
controlSwitch
(
val
,
row
)
{
console
.
log
(
"333"
,
val
,
row
);
console
.
log
(
'333'
,
val
,
row
)
},
async
submitForm
()
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
module
:
1
,
}
;
Object
.
assign
(
params
,
this
.
ruleForm
)
;
console
.
log
(
params
)
;
}
Object
.
assign
(
params
,
this
.
ruleForm
)
console
.
log
(
params
)
let
res
=
await
evaluationMaterials
(
params
)
;
let
res
=
await
evaluationMaterials
(
params
)
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
if
(
res
.
code
==
'200'
)
{
this
.
tableData
=
res
.
data
.
records
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
postEvalState
==
""
||
item
.
postEvalState
==
null
)
{
if
(
item
.
postEvalState
==
''
||
item
.
postEvalState
==
null
)
{
// this.$set(item, "postEvalStateText", "材料未上传");
}
else
if
(
item
.
postEvalState
==
0
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"已退回"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'已退回'
)
}
else
if
(
item
.
postEvalState
==
1
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"待评估"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'待评估'
)
}
else
if
(
item
.
postEvalState
==
2
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"需整改"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'需整改'
)
}
else
if
(
item
.
postEvalState
==
3
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"已整改"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'已整改'
)
}
else
if
(
item
.
postEvalState
==
4
)
{
this
.
$set
(
item
,
"postEvalStateText"
,
"已归档"
);
this
.
$set
(
item
,
'postEvalStateText'
,
'已归档'
)
}
this
.
$set
(
item
,
"constructionForm"
,
constructionFormText
(
item
.
constructionForm
)
);
});
this
.
total
=
res
.
data
.
total
*
1
;
this
.
$set
(
item
,
'constructionForm'
,
constructionFormText
(
item
.
constructionForm
))
})
this
.
total
=
res
.
data
.
total
*
1
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
()
;
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
ruleForm
.
planStartTime
=
""
;
this
.
ruleForm
.
planEndTime
=
""
;
this
.
ruleForm
.
dates
=
[]
;
this
.
submitForm
()
;
this
.
$refs
.
formName
.
resetFields
()
this
.
currentPage
=
1
this
.
pageSize
=
10
this
.
ruleForm
.
planStartTime
=
''
this
.
ruleForm
.
planEndTime
=
''
this
.
ruleForm
.
dates
=
[]
this
.
submitForm
()
},
//提交评估材料
async
submitNexts
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
this
.
$message
(
'请选择'
)
return
}
this
.
$confirm
(
"材料是否材重新上传完成?"
,
"提示"
,
{
confirmButtonText
:
"是"
,
cancelButtonText
:
"否"
,
type
:
"warning"
,
}
).
then
(
async
()
=>
{
let
params
=
{
...
this
.
checkedList
[
0
]
}
let
res
=
await
postEvalQuesInfocxtj
(
params
)
if
(
res
.
code
==
"200"
)
{
this
.
$message
(
"重新上传成功"
);
this
.
resetForm
();
}
else
{
this
.
$message
(
"重新上传失败"
);
}
});
this
.
$confirm
(
'材料是否材重新上传完成?'
,
'提示'
,
{
confirmButtonText
:
'是'
,
cancelButtonText
:
'否'
,
type
:
'warning'
,
}).
then
(
async
()
=>
{
let
params
=
{
...
this
.
checkedList
[
0
],
}
let
res
=
await
postEvalQuesInfocxtj
(
params
)
if
(
res
.
code
==
'200'
)
{
this
.
$message
(
'重新上传成功'
)
this
.
resetForm
()
}
else
{
this
.
$message
(
'重新上传失败'
)
}
})
},
//详情
async
detailsForm
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
this
.
$message
(
'请选择'
)
return
}
let
params
=
{
proType
:
this
.
checkedList
[
0
].
projectType
,
contractNumber
:
this
.
checkedList
[
0
].
contractNumber
,
prjId
:
this
.
checkedList
[
0
].
projectCode
,
}
;
let
res
=
await
MaterialWarehous
(
params
)
;
this
.
tableDataQD
=
res
.
data
.
records
;
this
.
dialogXQ
=
true
;
}
let
res
=
await
MaterialWarehous
(
params
)
this
.
tableDataQD
=
res
.
data
.
records
this
.
dialogXQ
=
true
this
.
tableDataQD
.
forEach
((
item
)
=>
{
switch
(
item
.
projectStage
)
{
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"结决算及转资"
);
break
;
case
'1'
:
this
.
$set
(
item
,
'projectStagetext'
,
'可研'
)
break
case
'2'
:
this
.
$set
(
item
,
'projectStagetext'
,
'计划'
)
break
case
'3'
:
this
.
$set
(
item
,
'projectStagetext'
,
'采购'
)
break
case
'4'
:
this
.
$set
(
item
,
'projectStagetext'
,
'合同'
)
break
case
'5'
:
this
.
$set
(
item
,
'projectStagetext'
,
'执行'
)
break
case
'6'
:
this
.
$set
(
item
,
'projectStagetext'
,
'结决算及转资'
)
break
}
})
;
})
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
return
'warning-row'
}
return
""
;
return
''
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
this
.
confirmdisabled
=
false
;
this
.
subdisabled
=
false
;
this
.
confirmdisabled
=
false
this
.
subdisabled
=
false
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
)
;
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
)
;
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
)
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
)
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
if
(
this
.
checkedList
[
0
])
{
this
.
ruleFormdialog
=
this
.
checkedList
[
0
]
;
if
(
this
.
checkedList
[
0
].
postEvalStateText
!=
"需整改"
)
{
this
.
confirmdisabled
=
true
;
this
.
ruleFormdialog
=
this
.
checkedList
[
0
]
if
(
this
.
checkedList
[
0
].
postEvalStateText
!=
'需整改'
)
{
this
.
confirmdisabled
=
true
}
if
(
this
.
checkedList
[
0
].
postEvalStateText
!=
"已退回"
)
{
this
.
subdisabled
=
true
;
if
(
this
.
checkedList
[
0
].
postEvalStateText
!=
'已退回'
)
{
this
.
subdisabled
=
true
}
}
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
)
;
this
.
pageSize
=
val
;
this
.
submitForm
()
;
console
.
log
(
`每页
${
val
}
条`
)
this
.
pageSize
=
val
this
.
submitForm
()
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
)
;
this
.
currentPage
=
val
;
this
.
submitForm
()
;
console
.
log
(
`当前页:
${
val
}
`
)
this
.
currentPage
=
val
this
.
submitForm
()
},
handleSizeChangetjcl
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
)
;
this
.
pageSizetjcl
=
val
;
console
.
log
(
`每页
${
val
}
条`
)
this
.
pageSizetjcl
=
val
},
handleCurrentChangetjcl
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
)
;
this
.
currentPagetjcl
=
val
;
console
.
log
(
`当前页:
${
val
}
`
)
this
.
currentPagetjcl
=
val
},
cancel
()
{
this
.
dialog
=
false
;
this
.
dialog
=
false
// this.dialogXQ = false;
},
preserve
()
{
this
.
dialog
=
false
;
this
.
dialog
=
false
// this.dialogXQ = false;
},
closeDialog
()
{
console
.
log
(
"guanbi"
);
this
.
showButton
=
true
;
console
.
log
(
'guanbi'
)
this
.
showButton
=
true
},
async
save
(
type
)
{
this
.
dialog
=
false
;
this
.
dialog
=
false
let
params
=
{
projectId
:
this
.
checkedList
[
0
].
projectCode
,
batchId
:
this
.
checkedList
[
0
].
batchId
,
}
;
let
res
=
await
qrscevaluationMaterials
(
params
)
;
this
.
resetForm
()
;
}
let
res
=
await
qrscevaluationMaterials
(
params
)
this
.
resetForm
()
},
handleFileUploadZG
(
event
,
row
,
id
)
{
console
.
log
(
"来了么"
);
this
.
file
=
event
.
target
.
files
[
0
]
;
this
.
submitFileZG
(
row
,
id
)
;
console
.
log
(
'来了么'
)
this
.
file
=
event
.
target
.
files
[
0
]
this
.
submitFileZG
(
row
,
id
)
},
handleFileUploadmul
(
event
,
row
,
id
)
{
this
.
fileList
=
event
.
target
.
files
;
this
.
submitFileStr
(
row
,
id
)
;
this
.
fileList
=
event
.
target
.
files
this
.
submitFileStr
(
row
,
id
)
},
submitFileStr
(
row
,
type
)
{
if
(
this
.
fileList
)
{
const
formData
=
new
FormData
()
;
let
fileDom
=
this
.
fileList
;
const
formData
=
new
FormData
()
let
fileDom
=
this
.
fileList
for
(
var
i
=
0
;
i
<
fileDom
.
length
;
i
++
)
{
formData
.
append
(
"file"
,
fileDom
[
i
]);
formData
.
append
(
'file'
,
fileDom
[
i
])
}
formData
.
append
(
"typeCode"
,
row
.
typeText
);
formData
.
append
(
"prjId"
,
this
.
checkedList
[
0
].
projectCode
);
formData
.
append
(
"bathId"
,
this
.
checkedList
[
0
].
batchId
);
formData
.
append
(
'typeCode'
,
row
.
typeText
)
formData
.
append
(
'prjId'
,
this
.
checkedList
[
0
].
projectCode
)
formData
.
append
(
'bathId'
,
this
.
checkedList
[
0
].
batchId
)
ossuploadStr
(
formData
)
.
then
((
response
)
=>
{
console
.
log
(
response
,
"试试"
);
this
.
fileList
=
[]
;
let
fileId
=
""
;
console
.
log
(
response
,
'试试'
)
this
.
fileList
=
[]
let
fileId
=
''
response
.
data
.
list
.
forEach
((
item
)
=>
{
fileId
=
fileId
.
concat
(
item
.
fileId
+
","
);
})
;
fileId
=
fileId
.
substring
(
0
,
fileId
.
length
-
1
)
;
this
.
$set
(
row
,
type
,
fileId
)
;
fileId
=
fileId
.
concat
(
item
.
fileId
+
','
)
})
fileId
=
fileId
.
substring
(
0
,
fileId
.
length
-
1
)
this
.
$set
(
row
,
type
,
fileId
)
})
.
catch
((
error
)
=>
{
console
.
error
(
error
)
;
})
;
console
.
error
(
error
)
})
}
else
{
this
.
$message
(
"请先选择文件"
);
this
.
$message
(
'请先选择文件'
)
}
},
submitFileZG
(
row
,
type
)
{
// return;
console
.
log
(
row
)
;
console
.
log
(
row
)
if
(
this
.
file
)
{
const
formData
=
new
FormData
()
;
formData
.
append
(
"file"
,
this
.
file
);
const
formData
=
new
FormData
()
formData
.
append
(
'file'
,
this
.
file
)
ossupload
(
formData
)
.
then
((
response
)
=>
{
console
.
log
(
response
)
;
this
.
file
=
[]
;
this
.
$set
(
row
,
type
,
response
.
data
.
fileId
)
;
console
.
log
(
response
)
this
.
file
=
[]
this
.
$set
(
row
,
type
,
response
.
data
.
fileId
)
})
.
catch
((
error
)
=>
{
console
.
error
(
error
)
;
})
;
console
.
error
(
error
)
})
}
else
{
this
.
$message
(
"请先选择文件"
);
this
.
$message
(
'请先选择文件'
)
}
},
handleSuccess
(
response
,
file
,
fileList
)
{
// 提交保存成功后清空已上传的文件
this
.
$refs
.
upload
.
clearFiles
()
;
this
.
$refs
.
upload
.
clearFiles
()
},
async
handleClickXZ
(
scope
)
{
console
.
log
(
scope
.
fileId
)
;
console
.
log
(
scope
.
fileId
)
let
response
=
await
downloadObject
({
fileId
:
scope
.
fileId
*
1
,
})
;
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
)
;
})
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
)
}
},
handleMouseEnter
(
msg
)
{
console
.
log
(
this
.
$refs
[
msg
],
"this.$refs[msg].style"
);
console
.
log
(
this
.
$refs
[
msg
],
'this.$refs[msg].style'
)
// this.$refs[msg].style.whiteSpace = 'normal';
},
handleMouseLeave
(
msg
)
{
// this.$refs[msg].style.whiteSpace = 'nowrap';
},
},
}
;
}
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
...
...
@@ -1410,36 +1309,34 @@ h3 {
}
.filedp
{
text-align
:
left
;
width
:
600px
;
width
:
600px
;
p{
display
:
inline-block
;
width
:
88%
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
height
:
30px
;
margin-top
:
5px
;
}
.tips
{
p
{
display
:
inline-block
;
width
:
88%
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
height
:
30px
;
margin-top
:
5px
;
}
.tips
{
font-weight
:
600
;
}
span
{
//
margin-right
:
8px
;
display
:
inline-block
;
width
:
50%
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
}
.upload-demo
{
display
:
inline-block
;
vertical-align
:
top
;
}
.upload_box
{
.upload_box
{
vertical-align
:
top
;
}
...
...
@@ -1454,4 +1351,4 @@ h3 {
/
deep
/
.el-upload-list__item-name
{
display
:
none
;
}
</
style
>
\ No newline at end of file
</
style
>
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