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 ae4021fc
authored
May 08, 2024
by
henry
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加问题清单查询界面
1 parent
05f8dd62
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
3187 additions
and
281 deletions
src/router/index.js
src/views/layout/leftBar.vue
src/views/postConcentrationCheck/problemAppeal.vue
src/views/postConcentrationCheck/problemLlistQuery.vue
src/views/postConcentrationCheck/sendIssue.vue
vue.config.js
src/router/index.js
View file @
ae4021f
...
...
@@ -43,11 +43,21 @@ export const routes = [
},
},
{
path
:
'/mainLayout/problemLlistQuery'
,
name
:
'problemLlistQuery'
,
component
:
()
=>
import
(
'@/views/postConcentrationCheck/problemLlistQuery.vue'
),
},
{
path
:
'/mainLayout/sendIssue'
,
name
:
'sendIssue'
,
component
:
()
=>
import
(
'@/views/postConcentrationCheck/sendIssue.vue'
),
},
{
path
:
'/mainLayout/problemAppeal'
,
name
:
'sendIssue'
,
component
:
()
=>
import
(
'@/views/postConcentrationCheck/problemAppeal.vue'
),
},
{
path
:
'/mainLayout/assistedConfirm'
,
name
:
'assistedConfirm'
,
component
:
()
=>
import
(
'@/views/assessChecks/assistedConfirm.vue'
),
...
...
src/views/layout/leftBar.vue
View file @
ae4021f
...
...
@@ -101,15 +101,26 @@ export default {
url
:
""
,
children
:
[
{
name
:
"问题清单查询"
,
url
:
"/mainLayout/problemLlistQuery"
,
children
:
[]
},
{
name
:
"下发问题"
,
url
:
"/mainLayout/sendIssue"
,
children
:
[]
},
{
name
:
"问题申诉"
,
url
:
""
,
children
:
[]
},
{
name
:
"申诉复核"
,
url
:
""
,
children
:
[]
},
{
name
:
"问题整改"
,
url
:
""
,
children
:
[]
},
{
name
:
"整改复核"
,
url
:
""
,
children
:
[]
},
{
name
:
"工作总结"
,
url
:
""
,
children
:
[]
},
{
name
:
"数据维护"
,
url
:
""
,
children
:
[]
},
{
name
:
"问题申诉"
,
url
:
"/mainLayout/problemAppeal"
,
children
:
[]
},
{
name
:
"申诉复核"
,
url
:
"/mainLayout/problemAppeal"
,
children
:
[]
},
{
name
:
"问题整改"
,
url
:
"/mainLayout/problemAppeal"
,
children
:
[]
},
{
name
:
"整改复核"
,
url
:
"/mainLayout/problemAppeal"
,
children
:
[]
},
{
name
:
"工作总结"
,
url
:
"/mainLayout/problemAppeal"
,
children
:
[]
},
{
name
:
"数据维护"
,
url
:
"/mainLayout/problemAppeal"
,
children
:
[]
},
],
},
// {
...
...
src/views/postConcentrationCheck/problemAppeal.vue
0 → 100644
View file @
ae4021f
<!-- 问题申诉 -->
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleFormdialogBJ.planReviewDate"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
>
<el-option
label=
"新建"
value=
"0"
></el-option>
<el-option
label=
"专家评估"
value=
"1"
></el-option>
<el-option
label=
"后评估完成"
value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"创建人:"
prop=
"creator"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"创建时间:"
prop=
"createTime"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleFormdialogBJ.planReviewDate"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</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=
"detailsForm('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/ck.png"
/>
详情
</el-button
>
<el-button
@
click=
"configs()"
><i
class=
"el-icon-position"
></i>
确认项目评估
</el-button>
<el-button
@
click=
"withdraw()"
>
<i
class=
"el-icon-folder-delete"
></i>
撤回
</el-button>
</el-form-item>
</el-form>
<el-table
@
selection-change=
"handleSelectionChange"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"批次年度"
width=
"auto"
prop=
"batchYear"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"planReviewDate"
label=
"计划评估日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertName"
label=
"评审专家"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"postAffirmState"
label=
"批次确认状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"postProject"
label=
"评估项目"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"selectProjectNum"
label=
"已选择项目数量"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[10, 15, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
class=
"elpagination"
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title=
"提交评估材料"
:visible
.
sync=
"dialogXQ"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<el-form
:model=
"ruleFormdialogBJ"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.batchYear"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.batchName"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"工作组织情况:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.description"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"备注:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.remark"
disabled
></el-input>
</el-form-item>
</el-form>
<el-table
@
selection-change=
"handleSelectionChange"
:data=
"addtableData"
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
label=
"单位"
width=
"auto"
prop=
"compId"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"专家姓名"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"gender"
label=
"性别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"qualification"
label=
"学历"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"contact"
label=
"联系方式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"fields"
label=
"专业领域"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertLevel"
label=
"专家级别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"成果简介"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertState"
label=
"专家状态"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChangeBJ"
@
current-change=
"handleCurrentChangeBJ"
:current-page=
"currentPageBJ"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalBJ"
class=
"elpagination"
>
</el-pagination>
</div>
</el-dialog>
<el-dialog
title=
"新增后评估批次信息"
:visible
.
sync=
"dialogAdd"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<el-form
ref=
"formName"
:model=
"ruleFormdialogAdd"
label-width=
"100px"
class=
"demo-ruleForm"
:rules=
"rules"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleFormdialogAdd.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogAdd.batchName"
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleFormdialogAdd.planReviewDate"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"工作组织情况:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogAdd.description"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
<el-form-item
label=
"备注:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogAdd.remark"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
</el-form>
<p
class=
"zjBtn"
>
后评估专家
<span
@
click=
"xzExperts()"
>
选择专家
</span>
</p>
<el-table
@
selection-change=
"handleSelectionChange"
:data=
"addtableData"
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
label=
"单位"
width=
"auto"
prop=
"compId"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"专家姓名"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"gender"
label=
"性别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"qualification"
label=
"学历"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"contact"
label=
"联系方式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"fields"
label=
"专业领域"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertLevel"
label=
"专家级别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"成果简介"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertState"
label=
"专家状态"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChangeAdd"
@
current-change=
"handleCurrentChangeAdd"
:current-page=
"addcurrentPage"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"addtotal"
class=
"elpagination"
>
</el-pagination>
<p
class=
"midBtn"
>
<span
@
click=
"cancelXZ()"
>
取消
</span
><span
@
click=
"saveXZ('add')"
>
保存
</span>
</p>
</div>
</el-dialog>
<!-- 选择专家弹窗 -->
<el-dialog
title=
"选择专家组长"
:visible
.
sync=
"dialogAddzj"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"adzjdialog"
>
<el-form
:model=
"ruleFormZJ"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"专家姓名:"
prop=
"fullName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormZJ.fullName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"专业领域:"
prop=
"fields"
class=
"fromItem"
>
<el-select
v-model=
"ruleFormZJ.fields"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"专家状态:"
prop=
"expertState"
class=
"fromItem"
>
<el-select
v-model=
"ruleFormZJ.expertState"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"cxItem"
>
<span
class=
"zjquery"
@
click=
"xzExperts()"
>
查询
</span>
</el-form-item>
</el-form>
<el-table
@
selection-change=
"handleSelectionChangeZJ"
ref=
"multipleTableZJ"
:data=
"zjtableData"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
>
border >
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
<!--
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
id
}}
</
template
>
-->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column
label=
"单位"
width=
"auto"
prop=
"compId"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"专家姓名"
width=
"fullName"
>
</el-table-column>
<el-table-column
prop=
"gender"
label=
"性别"
width=
"gender"
>
</el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"qualification"
label=
"学历"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"contact"
label=
"联系方式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"fields"
label=
"专业领域"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertLevel"
label=
"专家级别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"成果简介"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertState"
label=
"专家状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertId"
label=
"id"
width=
"auto"
v-show=
"false"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChangeZJ"
@
current-change=
"handleCurrentChangeZJ"
:current-page=
"currentZJ"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"zjtotal"
class=
"elpagination"
>
</el-pagination>
<p
class=
"midBtn"
>
<span
@
click=
"cancelZJ()"
>
取消
</span
><span
@
click=
"saveZJ()"
>
保存
</span>
</p>
</div>
</el-dialog>
<!-- 编辑弹窗 -->
<el-dialog
title=
"提交评估材料"
:visible
.
sync=
"dialogedit"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<el-form
:model=
"ruleFormdialogBJ"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formNameBJ"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleFormdialogBJ.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.batchName"
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleFormdialogBJ.planReviewDate"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"工作组织情况:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.description"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
<el-form-item
label=
"备注:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.remark"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
</el-form>
<p
class=
"zjBtn"
>
后评估专家
<span
@
click=
"xzExperts()"
>
选择专家
</span>
</p>
<el-table
@
selection-change=
"handleSelectionChange"
:data=
"addtableData"
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
label=
"单位"
width=
"auto"
prop=
"compId"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"专家姓名"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"gender"
label=
"性别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"qualification"
label=
"学历"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"contact"
label=
"联系方式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"fields"
label=
"专业领域"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertLevel"
label=
"专家级别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"成果简介"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertState"
label=
"专家状态"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChangeBJ"
@
current-change=
"handleCurrentChangeBJ"
:current-page=
"currentPageBJ"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalBJ"
class=
"elpagination"
>
</el-pagination>
<p
class=
"midBtn"
>
<span
@
click=
"cancelBJ()"
>
取消
</span
><span
@
click=
"saveBJ()"
>
保存
</span>
</p>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
expertInfo
,
expert
,
sendEvalBatchInfo
,
adEvalBatchInfo
,
updEvalBatchInfo
,
evalBatchInfo
,
delEvalBatchInfo
,
chEvalBatchInfo
,
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
category
:
[
{
name
:
"2024"
,
id
:
1
},
{
name
:
"2023"
,
id
:
2
},
{
name
:
"2022"
,
id
:
3
},
{
name
:
"2021"
,
id
:
4
},
],
//专业领域
showButton
:
true
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
postEvalState
:
""
,
},
ruleFormdialog
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
fullName
:
""
,
},
ruleFormZJ
:
{
fields
:
""
,
expertState
:
""
,
fullName
:
""
,
},
ruleFormdialogAdd
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
description
:
""
,
remark
:
""
,
},
ruleFormdialogBJ
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
description
:
""
,
remark
:
""
,
},
rules
:
{
batchYear
:
[
{
required
:
true
,
message
:
"请选择批次年度"
,
trigger
:
"change"
},
],
batchName
:
[
{
required
:
true
,
message
:
"请选择后评估批次名称"
,
trigger
:
"change"
,
},
],
planReviewDate
:
[
{
required
:
true
,
message
:
"请选择计划评审日期"
,
trigger
:
"change"
,
},
],
},
xfParams
:
""
,
//下发入参
tableData
:
[],
tableDataQD
:
[],
//清单列表
checkedList
:
[],
currentPage
:
1
,
currentPagetjcl
:
1
,
pageSizetjcl
:
10
,
total
:
0
,
dialogXQ
:
false
,
currentPageBJ
:
1
,
pageSizeBJ
:
10
,
dialogAdd
:
false
,
dialogAddzj
:
false
,
pageSize
:
10
,
current
:
1
,
pageSizeZJ
:
10
,
currentZJ
:
1
,
addtotal
:
0
,
currentAdd
:
1
,
pageSizeAdd
:
10
,
currentedit
:
1
,
pageSizeedit
:
10
,
xfParam
:
""
,
dialogedit
:
false
,
expertIdList
:
[],
totalBJ
:
0
,
addZJList
:
[],
expertState
:
""
,
fields
:
""
,
zjfullName
:
""
,
zjtotal
:
0
,
zjtableData
:
[],
addcurrentPage
:
1
,
addtableData
:
[],
message
:
{},
};
},
mounted
()
{
this
.
submitForm
();
},
methods
:
{
async
submitForm
(
formName
)
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
let
res
=
await
evalBatchInfo
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
(
item
=>
{
if
(
item
.
postEvalState
==
''
||
item
.
postEvalState
==
null
){
// this.$set( item,'postEvalState','')
}
else
if
(
item
.
postEvalState
==
'0'
){
this
.
$set
(
item
,
'postEvalState'
,
'未下发'
)
}
else
if
(
item
.
postEvalState
==
'2'
){
this
.
$set
(
item
,
'postEvalState'
,
'已撤回'
)
}
else
{
this
.
$set
(
item
,
'postEvalState'
,
'已下发'
)
}
})
this
.
total
=
res
.
data
.
total
*
1
;
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
},
//点击新增
async
add
()
{
this
.
dialogAdd
=
true
;
this
.
addtableData
=
[];
//每次新增清空不然点了还是这几个人
},
//详情
async
detailsForm
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
console
.
log
(
"222"
,
this
.
checkedList
);
this
.
dialogXQ
=
true
;
this
.
ruleFormdialogBJ
=
this
.
checkedList
[
0
]
let
params
=
{
current
:
this
.
currentedit
,
pageSize
:
this
.
pageSizeedit
,
batchId
:
this
.
checkedList
[
0
].
batchId
};
console
.
log
(
params
,
'params'
)
let
res
=
await
expert
(
params
);
this
.
addtableData
=
res
.
data
.
records
this
.
totalBJ
=
res
.
data
.
total
*
1
;
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
}
return
""
;
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
);
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
ruleFormdialog
=
this
.
checkedList
[
0
];
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSize
=
val
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
},
handleSizeChangeZJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeZJ
=
val
;
},
handleCurrentChangeZJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentZJ
=
val
;
},
handleSizeChangetjcl
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizetjcl
=
val
;
},
handleCurrentChangetjcl
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPagetjcl
=
val
;
},
handleSizeChangeAdd
(
val
)
{
this
.
pageSizeAdd
=
val
;
},
handleCurrentChangeAdd
(
val
)
{
this
.
currentAdd
=
val
;
},
handleSizeChangeBJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeBJ
=
val
;
},
handleCurrentChangeBJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPageBJ
=
val
;
},
cancel
()
{
this
.
dialog
=
false
;
},
async
save
(
type
)
{
this
.
dialog
=
false
;
if
(
type
==
"add"
)
{
let
params
=
{};
let
res
=
await
qrscevaluationMaterials
(
params
);
}
},
//保存专家
saveZJ
()
{
if
(
this
.
addZJList
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
return
;
}
this
.
addtableData
=
this
.
addZJList
;
console
.
log
(
this
.
addtableData
,
"addtableData"
);
this
.
addtotal
=
this
.
addtableData
.
length
;
this
.
dialogAddzj
=
false
;
},
cancelZJ
()
{
this
.
dialogAddzj
=
false
;
},
cancelBJ
()
{
this
.
dialogedit
=
false
;
},
async
xzExperts
()
{
this
.
dialogAddzj
=
true
;
let
params
=
{
current
:
this
.
currentZJ
,
pageSize
:
this
.
pageSizeZJ
,
};
Object
.
assign
(
params
,
this
.
ruleFormZJ
);
console
.
log
(
"查询专家"
,
params
);
let
res
=
await
expertInfo
(
params
);
this
.
zjtableData
=
res
.
data
.
records
;
this
.
zjtotal
=
res
.
data
.
total
*
1
;
console
.
log
(
res
,
"xxx"
);
},
cancelBJ
()
{
this
.
dialogedit
=
false
;
},
saveXZ
()
{
console
.
log
(
"保存验证"
,
this
.
$refs
);
this
.
$refs
.
formName
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
console
.
log
(
"error submit!!"
);
return
false
;
}
else
{
if
(
this
.
addtableData
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
}
console
.
log
(
this
.
addZJList
,
"this.addZJList"
);
let
expertIdList
=
[];
let
expertStr
=
''
;
this
.
addtableData
.
forEach
((
item
)
=>
{
expertIdList
.
push
(
item
.
expertId
);
expertStr
=
JSON
.
stringify
(
expertIdList
).
slice
(
1
,
-
1
);
});
let
params
=
{
expertStr
:
expertStr
,
};
Object
.
assign
(
params
,
this
.
ruleFormdialogAdd
);
this
.
xfParams
=
JSON
.
parse
(
JSON
.
stringify
(
params
));
console
.
log
(
params
,
"222"
);
adEvalBatchInfo
(
params
).
then
((
res
)
=>
{
this
.
dialogAdd
=
false
;
this
.
expertIdList
=
expertIdList
this
.
resetForm
();
});
}
});
// this.$emit("listenToChildEvent", "reset");
// }
},
cancelXZ
()
{
this
.
dialogAdd
=
false
;
},
saveBJ
()
{
console
.
log
(
"保存编辑验证"
,
this
.
$refs
.
formNameBJ
);
this
.
$refs
.
formNameBJ
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
console
.
log
(
"error submit!!"
);
return
false
;
}
else
{
if
(
this
.
addtableData
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
}
console
.
log
(
this
.
addtableData
,
'addtableData'
)
let
expertIdList
=
[];
let
expertStr
=
''
;
this
.
addtableData
.
forEach
((
item
)
=>
{
expertIdList
.
push
(
item
.
expertId
);
expertStr
=
JSON
.
stringify
(
expertIdList
).
slice
(
1
,
-
1
);
});
console
.
log
(
expertStr
,
'expertStr'
)
let
params
=
{
expertStr
:
expertStr
,
};
Object
.
assign
(
this
.
ruleFormdialogBJ
,
params
);
// this.xfParams = JSON.parse(JSON.stringify(params));
console
.
log
(
this
.
ruleFormdialogBJ
,
"222"
);
updEvalBatchInfo
(
this
.
ruleFormdialogBJ
).
then
((
res
)
=>
{
this
.
dialogedit
=
false
;
this
.
resetForm
();
});
}
});
},
//选中的专家
handleSelectionChangeZJ
()
{
this
.
addZJList
=
this
.
$refs
.
multipleTableZJ
.
selection
;
console
.
log
(
this
.
$refs
.
multipleTableZJ
.
selection
,
"2222"
);
},
//点击编辑
async
edit
()
{
//只能选择编辑未下发 待增加
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已下发'
){
this
.
$message
(
"不能编辑已下发的项目"
);
return
;
}
this
.
ruleFormdialogBJ
=
this
.
checkedList
[
0
]
this
.
dialogedit
=
true
let
params
=
{
current
:
this
.
currentedit
,
pageSize
:
this
.
pageSizeedit
,
batchId
:
this
.
checkedList
[
0
].
batchId
};
console
.
log
(
params
,
'params'
)
let
res
=
await
expert
(
params
);
this
.
addtableData
=
res
.
data
.
records
this
.
totalBJ
=
res
.
data
.
total
*
1
;
this
.
addtableData
.
forEach
(
item
=>
{
this
.
expertIdList
.
push
(
item
.
expertId
)
})
},
//点击删除
async
deletes
()
{
console
.
log
(
"删除"
)
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
let
res
=
await
delEvalBatchInfo
(
this
.
checkedList
[
0
]);
this
.
resetForm
()
},
//点击下发
async
sendMsg
(){
//只能选择未下发的 这块需要加一下
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已下发'
){
this
.
$message
(
"该项目已下发"
);
return
;
}
// if(this.checkedList[0].postEvalState=='已撤回'){
// this.$message("该项目已撤回");
// return;
// }
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已撤回'
){
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'2'
)
}
else
{
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'0'
)
}
let
res
=
await
sendEvalBatchInfo
(
this
.
checkedList
[
0
])
if
(
res
.
code
==
'200'
){
this
.
resetForm
()
}
},
//点击撤回
async
withdraw
(){
//只能选择已下发未确认的 这块需要加一下
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'未下发'
){
this
.
$message
(
"该项目未下发"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已撤回'
){
this
.
$message
(
"该项目已撤回"
);
return
;
}
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'2'
)
let
res
=
await
chEvalBatchInfo
(
this
.
checkedList
[
0
])
if
(
res
.
code
==
'200'
){
this
.
resetForm
()
}
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
font-size
:
14px
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
}
.el-form
{
display
:
flex
;
width
:
99%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin
:
20px
0
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-form-item__label
{
font-weight
:
bold
;
color
:
#000
;
width
:
160px
!important
;
}
.button
{
display
:
inline-block
;
width
:
100%
;
text-align
:
left
;
/deep/
.el-form-item__content
{
margin-left
:
20px
!important
;
text-align
:
left
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
15px
;
vertical-align
:
middle
;
}
}
.el-button
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
color
:
#fff
;
}
}
}
.eltable
{
widows
:
100%
;
box-sizing
:
border-box
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
color
:
#2785e6
;
}
.elpagination
{
text-align
:
right
;
margin-right
:
100px
;
}
/
deep
/
.el-dialog
{
border-radius
:
10px
;
}
/
deep
/
.el-dialog__wrapper
{
position
:
absolute
;
}
/
deep
/
.v-modal
{
position
:
absolute
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0d867f
;
padding-bottom
:
20px
;
text-align
:
left
;
border-radius
:
10px
10px
0
0
;
.el-dialog__title
{
color
:
#fff
;
}
}
/
deep
/
.el-table__header
th
{
background-color
:
#eeeeee
;
font-weight
:
bold
;
.cell
{
color
:
#333
;
}
}
/
deep
/
.el-table
{
width
:
100%
;
.el-table__header-wrapper
table,
.el-table__body-wrapper
table
{
width
:
100%
!important
;
}
.el-table__body
,
.el-table__footer
,
.el-table__header
{
table-layout
:
auto
;
}
}
.dialog
{
.xqtitle
{
text-align
:
left
;
font-size
:
18px
;
span
{
display
:
inline-block
;
width
:
5px
;
height
:
20px
;
background
:
#0d867f
;
margin-right
:
14px
;
vertical-align
:
middle
;
}
}
}
.textarea
{
width
:
100%
;
.el-textarea
{
width
:
60%
;
}
}
.Btn
{
width
:
200px
;
margin
:
0
auto
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
4px
;
margin-right
:
12px
;
}
span
:first-of-type
{
border
:
1px
solid
#000
;
}
span
:last-of-type
{
background-color
:
#0d867f
;
border
:
1px
solid
#0d867f
;
color
:
#fff
;
}
}
/
deep
/
.el-dialog__headerbtn
.el-dialog__close
{
color
:
#fff
;
}
.zjBtn
{
width
:
200px
;
text-align
:
left
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
5px
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
padding
:
5px
10px
;
margin-left
:
10px
;
}
}
/
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
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
}
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.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/postConcentrationCheck/problemLlistQuery.vue
0 → 100644
View file @
ae4021f
<!-- 问题清单查询 -->
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<el-form-item
label=
"项目年度:"
prop=
"projectYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.projectYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"项目编码:"
prop=
"projectCode"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.projectCode"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.projectName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"项目阶段:"
prop=
"projectPhase"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.projectPhase"
placeholder=
"请选择"
>
<el-option
label=
"项目验收"
value=
"1"
></el-option>
<el-option
label=
"项目建设"
value=
"2"
></el-option>
<el-option
label=
"项目前期"
value=
"3"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"项目环节:"
prop=
"projectLink"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.projectLink"
placeholder=
"请选择"
>
<el-option
label=
"实施"
value=
"1"
></el-option>
<el-option
label=
"结决算"
value=
"2"
></el-option>
<el-option
label=
"合同"
value=
"3"
></el-option>
<el-option
label=
"结决算"
value=
"4"
></el-option>
<el-option
label=
"计划"
value=
"5"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"是否申诉:"
prop=
"appealFlag"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.appealFlag"
placeholder=
"请选择"
>
<el-option
label=
"是"
value=
"Y"
></el-option>
<el-option
label=
"否"
value=
"N"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"申诉是否通过:"
prop=
"appealPassFlag"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.appealPassFlag"
placeholder=
"请选择"
>
<el-option
label=
"是"
value=
"Y"
></el-option>
<el-option
label=
"否"
value=
"N"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"是否完成整改:"
prop=
"completeFlag"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.completeFlag"
placeholder=
"请选择"
>
<el-option
label=
"是"
value=
"Y"
></el-option>
<el-option
label=
"否"
value=
"N"
></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=
"detailsForm('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/ck.png"
/>
详情
</el-button
>
</el-form-item>
</el-form>
<el-table
@
selection-change=
"handleSelectionChange"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"项目年度"
width=
"auto"
prop=
"projectYear"
>
</el-table-column>
<el-table-column
prop=
"projectCode"
label=
"项目编码"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名称"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"projectPhase"
label=
"项目阶段"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"projectLink"
label=
"项目环节"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"checkProblem"
label=
"问题检查项"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"appealFlag"
label=
"是否申诉"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"appealPassFlag"
label=
"申诉是否通过"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"completeFlag"
label=
"是否完成整改"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[10, 15, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
class=
"elpagination"
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title=
"提交评估材料"
:visible
.
sync=
"dialogXQ"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<el-form
:model=
"ruleFormdialogBJ"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"项目年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.fromItem"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"项目编码:"
prop=
"projectCode"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.projectCode"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.projectName"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"项目阶段:"
prop=
"projectPhase"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.projectPhase"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"项目环节:"
prop=
"projectLink"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.projectLink"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"问题检查项:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.checkProblem"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"是否申诉:"
prop=
"appealFlag"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.appealFlag"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"申诉是否通过:"
prop=
"appealPassFlag"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.appealPassFlag"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"是否完成整改:"
prop=
"completeFlag"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.completeFlag"
disabled
></el-input>
</el-form-item>
</el-form>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
expertInfo
,
expert
,
sendEvalBatchInfo
,
adEvalBatchInfo
,
updEvalBatchInfo
,
evalBatchInfo
,
delEvalBatchInfo
,
chEvalBatchInfo
,
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
category
:
[
{
name
:
"2024"
,
id
:
1
},
{
name
:
"2023"
,
id
:
2
},
{
name
:
"2022"
,
id
:
3
},
{
name
:
"2021"
,
id
:
4
},
],
//专业领域
showButton
:
true
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
postEvalState
:
""
,
},
ruleFormdialog
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
fullName
:
""
,
},
ruleFormZJ
:
{
fields
:
""
,
expertState
:
""
,
fullName
:
""
,
},
ruleFormdialogAdd
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
description
:
""
,
remark
:
""
,
},
ruleFormdialogBJ
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
description
:
""
,
remark
:
""
,
},
rules
:
{
batchYear
:
[
{
required
:
true
,
message
:
"请选择批次年度"
,
trigger
:
"change"
},
],
batchName
:
[
{
required
:
true
,
message
:
"请选择后评估批次名称"
,
trigger
:
"change"
,
},
],
planReviewDate
:
[
{
required
:
true
,
message
:
"请选择计划评审日期"
,
trigger
:
"change"
,
},
],
},
xfParams
:
""
,
//下发入参
tableData
:
[],
tableDataQD
:
[],
//清单列表
checkedList
:
[],
currentPage
:
1
,
currentPagetjcl
:
1
,
pageSizetjcl
:
10
,
total
:
0
,
dialogXQ
:
false
,
currentPageBJ
:
1
,
pageSizeBJ
:
10
,
dialogAdd
:
false
,
dialogAddzj
:
false
,
pageSize
:
10
,
current
:
1
,
pageSizeZJ
:
10
,
currentZJ
:
1
,
addtotal
:
0
,
currentAdd
:
1
,
pageSizeAdd
:
10
,
currentedit
:
1
,
pageSizeedit
:
10
,
xfParam
:
""
,
dialogedit
:
false
,
expertIdList
:
[],
totalBJ
:
0
,
addZJList
:
[],
expertState
:
""
,
fields
:
""
,
zjfullName
:
""
,
zjtotal
:
0
,
zjtableData
:
[],
addcurrentPage
:
1
,
addtableData
:
[],
message
:
{},
};
},
mounted
()
{
this
.
submitForm
();
},
methods
:
{
async
submitForm
(
formName
)
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
let
res
=
await
evalBatchInfo
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
(
item
=>
{
if
(
item
.
postEvalState
==
''
||
item
.
postEvalState
==
null
){
// this.$set( item,'postEvalState','')
}
else
if
(
item
.
postEvalState
==
'0'
){
this
.
$set
(
item
,
'postEvalState'
,
'未下发'
)
}
else
if
(
item
.
postEvalState
==
'2'
){
this
.
$set
(
item
,
'postEvalState'
,
'已撤回'
)
}
else
{
this
.
$set
(
item
,
'postEvalState'
,
'已下发'
)
}
})
this
.
total
=
res
.
data
.
total
*
1
;
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
},
//点击新增
async
add
()
{
this
.
dialogAdd
=
true
;
this
.
addtableData
=
[];
//每次新增清空不然点了还是这几个人
},
//详情
async
detailsForm
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
console
.
log
(
"222"
,
this
.
checkedList
);
this
.
dialogXQ
=
true
;
this
.
ruleFormdialogBJ
=
this
.
checkedList
[
0
]
let
params
=
{
current
:
this
.
currentedit
,
pageSize
:
this
.
pageSizeedit
,
batchId
:
this
.
checkedList
[
0
].
batchId
};
console
.
log
(
params
,
'params'
)
let
res
=
await
expert
(
params
);
this
.
addtableData
=
res
.
data
.
records
this
.
totalBJ
=
res
.
data
.
total
*
1
;
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
}
return
""
;
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
);
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
ruleFormdialog
=
this
.
checkedList
[
0
];
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSize
=
val
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
},
handleSizeChangeZJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeZJ
=
val
;
},
handleCurrentChangeZJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentZJ
=
val
;
},
handleSizeChangetjcl
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizetjcl
=
val
;
},
handleCurrentChangetjcl
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPagetjcl
=
val
;
},
handleSizeChangeAdd
(
val
)
{
this
.
pageSizeAdd
=
val
;
},
handleCurrentChangeAdd
(
val
)
{
this
.
currentAdd
=
val
;
},
handleSizeChangeBJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeBJ
=
val
;
},
handleCurrentChangeBJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPageBJ
=
val
;
},
cancel
()
{
this
.
dialog
=
false
;
},
async
save
(
type
)
{
this
.
dialog
=
false
;
if
(
type
==
"add"
)
{
let
params
=
{};
let
res
=
await
qrscevaluationMaterials
(
params
);
}
},
//保存专家
saveZJ
()
{
if
(
this
.
addZJList
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
return
;
}
this
.
addtableData
=
this
.
addZJList
;
console
.
log
(
this
.
addtableData
,
"addtableData"
);
this
.
addtotal
=
this
.
addtableData
.
length
;
this
.
dialogAddzj
=
false
;
},
cancelZJ
()
{
this
.
dialogAddzj
=
false
;
},
cancelBJ
()
{
this
.
dialogedit
=
false
;
},
async
xzExperts
()
{
this
.
dialogAddzj
=
true
;
let
params
=
{
current
:
this
.
currentZJ
,
pageSize
:
this
.
pageSizeZJ
,
};
Object
.
assign
(
params
,
this
.
ruleFormZJ
);
console
.
log
(
"查询专家"
,
params
);
let
res
=
await
expertInfo
(
params
);
this
.
zjtableData
=
res
.
data
.
records
;
this
.
zjtotal
=
res
.
data
.
total
*
1
;
console
.
log
(
res
,
"xxx"
);
},
cancelBJ
()
{
this
.
dialogedit
=
false
;
},
saveXZ
()
{
console
.
log
(
"保存验证"
,
this
.
$refs
);
this
.
$refs
.
formName
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
console
.
log
(
"error submit!!"
);
return
false
;
}
else
{
if
(
this
.
addtableData
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
}
console
.
log
(
this
.
addZJList
,
"this.addZJList"
);
let
expertIdList
=
[];
let
expertStr
=
''
;
this
.
addtableData
.
forEach
((
item
)
=>
{
expertIdList
.
push
(
item
.
expertId
);
expertStr
=
JSON
.
stringify
(
expertIdList
).
slice
(
1
,
-
1
);
});
let
params
=
{
expertStr
:
expertStr
,
};
Object
.
assign
(
params
,
this
.
ruleFormdialogAdd
);
this
.
xfParams
=
JSON
.
parse
(
JSON
.
stringify
(
params
));
console
.
log
(
params
,
"222"
);
adEvalBatchInfo
(
params
).
then
((
res
)
=>
{
this
.
dialogAdd
=
false
;
this
.
expertIdList
=
expertIdList
this
.
resetForm
();
});
}
});
// this.$emit("listenToChildEvent", "reset");
// }
},
cancelXZ
()
{
this
.
dialogAdd
=
false
;
},
saveBJ
()
{
console
.
log
(
"保存编辑验证"
,
this
.
$refs
.
formNameBJ
);
this
.
$refs
.
formNameBJ
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
console
.
log
(
"error submit!!"
);
return
false
;
}
else
{
if
(
this
.
addtableData
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
}
console
.
log
(
this
.
addtableData
,
'addtableData'
)
let
expertIdList
=
[];
let
expertStr
=
''
;
this
.
addtableData
.
forEach
((
item
)
=>
{
expertIdList
.
push
(
item
.
expertId
);
expertStr
=
JSON
.
stringify
(
expertIdList
).
slice
(
1
,
-
1
);
});
console
.
log
(
expertStr
,
'expertStr'
)
let
params
=
{
expertStr
:
expertStr
,
};
Object
.
assign
(
this
.
ruleFormdialogBJ
,
params
);
// this.xfParams = JSON.parse(JSON.stringify(params));
console
.
log
(
this
.
ruleFormdialogBJ
,
"222"
);
updEvalBatchInfo
(
this
.
ruleFormdialogBJ
).
then
((
res
)
=>
{
this
.
dialogedit
=
false
;
this
.
resetForm
();
});
}
});
},
//选中的专家
handleSelectionChangeZJ
()
{
this
.
addZJList
=
this
.
$refs
.
multipleTableZJ
.
selection
;
console
.
log
(
this
.
$refs
.
multipleTableZJ
.
selection
,
"2222"
);
},
//点击编辑
async
edit
()
{
//只能选择编辑未下发 待增加
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已下发'
){
this
.
$message
(
"不能编辑已下发的项目"
);
return
;
}
this
.
ruleFormdialogBJ
=
this
.
checkedList
[
0
]
this
.
dialogedit
=
true
let
params
=
{
current
:
this
.
currentedit
,
pageSize
:
this
.
pageSizeedit
,
batchId
:
this
.
checkedList
[
0
].
batchId
};
console
.
log
(
params
,
'params'
)
let
res
=
await
expert
(
params
);
this
.
addtableData
=
res
.
data
.
records
this
.
totalBJ
=
res
.
data
.
total
*
1
;
this
.
addtableData
.
forEach
(
item
=>
{
this
.
expertIdList
.
push
(
item
.
expertId
)
})
},
//点击删除
async
deletes
()
{
console
.
log
(
"删除"
)
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
let
res
=
await
delEvalBatchInfo
(
this
.
checkedList
[
0
]);
this
.
resetForm
()
},
//点击下发
async
sendMsg
(){
//只能选择未下发的 这块需要加一下
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已下发'
){
this
.
$message
(
"该项目已下发"
);
return
;
}
// if(this.checkedList[0].postEvalState=='已撤回'){
// this.$message("该项目已撤回");
// return;
// }
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已撤回'
){
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'2'
)
}
else
{
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'0'
)
}
let
res
=
await
sendEvalBatchInfo
(
this
.
checkedList
[
0
])
if
(
res
.
code
==
'200'
){
this
.
resetForm
()
}
},
//点击撤回
async
withdraw
(){
//只能选择已下发未确认的 这块需要加一下
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'未下发'
){
this
.
$message
(
"该项目未下发"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已撤回'
){
this
.
$message
(
"该项目已撤回"
);
return
;
}
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'2'
)
let
res
=
await
chEvalBatchInfo
(
this
.
checkedList
[
0
])
if
(
res
.
code
==
'200'
){
this
.
resetForm
()
}
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
font-size
:
14px
;
position
:
relative
;
height
:
100%
;
width
:
100%
;
box-sizing
:
border-box
;
}
.el-form
{
display
:
flex
;
width
:
99%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding
:
20px
10px
;
margin
:
20px
0
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
margin-bottom
:
20px
;
.el-input
{
width
:
226px
;
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-form-item__label
{
font-weight
:
bold
;
color
:
#000
;
width
:
160px
!important
;
}
.button
{
display
:
inline-block
;
width
:
100%
;
text-align
:
left
;
/deep/
.el-form-item__content
{
margin-left
:
20px
!important
;
text-align
:
left
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
15px
;
vertical-align
:
middle
;
}
}
.el-button
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
color
:
#fff
;
}
}
}
.eltable
{
widows
:
100%
;
box-sizing
:
border-box
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
color
:
#2785e6
;
}
.elpagination
{
text-align
:
right
;
margin-right
:
100px
;
}
/
deep
/
.el-dialog
{
border-radius
:
10px
;
}
/
deep
/
.el-dialog__wrapper
{
position
:
absolute
;
}
/
deep
/
.v-modal
{
position
:
absolute
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0d867f
;
padding-bottom
:
20px
;
text-align
:
left
;
border-radius
:
10px
10px
0
0
;
.el-dialog__title
{
color
:
#fff
;
}
}
/
deep
/
.el-table__header
th
{
background-color
:
#eeeeee
;
font-weight
:
bold
;
.cell
{
color
:
#333
;
}
}
/
deep
/
.el-table
{
width
:
100%
;
.el-table__header-wrapper
table,
.el-table__body-wrapper
table
{
width
:
100%
!important
;
}
.el-table__body
,
.el-table__footer
,
.el-table__header
{
table-layout
:
auto
;
}
}
.dialog
{
.xqtitle
{
text-align
:
left
;
font-size
:
18px
;
span
{
display
:
inline-block
;
width
:
5px
;
height
:
20px
;
background
:
#0d867f
;
margin-right
:
14px
;
vertical-align
:
middle
;
}
}
}
.textarea
{
width
:
100%
;
.el-textarea
{
width
:
60%
;
}
}
.Btn
{
width
:
200px
;
margin
:
0
auto
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
4px
;
margin-right
:
12px
;
}
span
:first-of-type
{
border
:
1px
solid
#000
;
}
span
:last-of-type
{
background-color
:
#0d867f
;
border
:
1px
solid
#0d867f
;
color
:
#fff
;
}
}
/
deep
/
.el-dialog__headerbtn
.el-dialog__close
{
color
:
#fff
;
}
.zjBtn
{
width
:
200px
;
text-align
:
left
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
5px
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
padding
:
5px
10px
;
margin-left
:
10px
;
}
}
/
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
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
}
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.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/postConcentrationCheck/sendIssue.vue
View file @
ae4021f
<!-- 下发问题 -->
<
template
>
<!-- 下发问题 -->
<
template
>
<div
class=
"main"
>
<div
class=
"form-horizontal"
>
<div
class=
"form-group"
>
<label>
批次年度:
</label>
<select
class=
"form-control"
placeholder=
"请选择"
v-model=
"modelYear"
>
<option
v-for=
"(item, index) in category"
:value=
"item.id"
:key=
"item.id"
>
{{
item
.
name
}}
</option>
</select>
</div>
<div
class=
"form-group"
>
<label>
后评估批次名称:
</label>
<input
v-model=
"assessName"
type=
"text"
class=
"form-control"
placeholder=
"请输入内容"
/>
</div>
<div
class=
"form-group"
>
<label>
计划评审日期:
</label>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-date-picker
v-model=
"addplanTim
e"
v-model=
"ruleFormdialogBJ.planReviewDat
e"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</div>
<div
class=
"form-group"
>
<label>
后评估专家组长:
</label>
<select
class=
"form-control"
placeholder=
"请选择"
v-model=
"experts"
>
<option
v-for=
"(item, index) in category"
:value=
"item.id"
:key=
"item.id"
>
{{
item
.
name
}}
</option>
</select>
</div>
<div
class=
"form-group"
>
<label>
创建人:
</label>
<input
v-model=
"creator"
type=
"text"
class=
"form-control"
placeholder=
"请输入内容"
/>
</div>
<div
class=
"form-group"
>
<label>
创建时间:
</label>
</el-form-item>
<el-form-item
label=
"后评估专家组长:"
prop=
"expertGroupLeader"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
>
<el-option
label=
"新建"
value=
"0"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
>
<el-option
label=
"新建"
value=
"0"
></el-option>
<el-option
label=
"专家评估"
value=
"1"
></el-option>
<el-option
label=
"后评估完成"
value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"创建人:"
prop=
"creator"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"创建时间:"
prop=
"createTime"
class=
"fromItem"
>
<el-date-picker
v-model=
"addplanTim
e"
v-model=
"ruleFormdialogBJ.planReviewDat
e"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</div>
<div
style=
"width: 100%"
></div>
<div
class=
"btn_container"
>
<p
class=
"btn btn-primary"
@
click=
"query()"
>
<img
class=
"buttonIcon"
src=
"../../assets/cx.png"
/>
查询
</p>
<p
class=
"btn btn-primary"
@
click=
"reset()"
>
<img
class=
"buttonIcon"
src=
"../../assets/cz.png"
/>
重置
</p >
<p
class=
"btn btn-primary"
@
click=
"details()"
>
<img
class=
"buttonIcon"
src=
"../../assets/ck.png"
/>
详情
</p>
<p
class=
"btn btn-primary"
@
click=
"add()"
>
</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=
"detailsForm('ruleForm')"
>
<img
class=
"buttonIcon"
src=
"../../assets/ck.png"
/>
详情
</el-button
>
<el-button
@
click=
"add()"
>
<img
class=
"buttonIcon"
src=
"../../assets/xz.png"
/>
新增
</p
>
<p
class=
"btn btn-primary"
@
click=
"edit()"
>
</el-button
>
<el-button
@
click=
"edit()"
>
<img
class=
"buttonIcon"
src=
"../../assets/bj.png"
/>
编辑
</p
>
<p
class=
"btn btn-primary"
@
click=
"deletes()"
>
</el-button
>
<el-button
@
click=
"deletes()"
>
<img
class=
"buttonIcon"
src=
"../../assets/sc.png"
/>
删除
</p
>
<p
class=
"btn btn-primary"
@
click=
"sendMsg()"
</el-button
>
<el-button
@
click=
"sendMsg()"
><i
class=
"el-icon-position"
></i>
下发
</p
>
<p
class=
"btn btn-primary"
@
click=
"withdraw()"
>
</el-button
>
<el-button
@
click=
"withdraw()"
>
<i
class=
"el-icon-folder-delete"
></i>
撤回
</el-button>
</el-form-item>
</el-form>
<el-table
@
selection-change=
"handleSelectionChange"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"批次年度"
width=
"auto"
prop=
"batchYear"
>
</el-table-column>
<el-table-column
prop=
"batchName"
label=
"后评估批次名称"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"planReviewDate"
label=
"计划评估日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertName"
label=
"后评估专家"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"postEvalState"
label=
"批次下发状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"postEvalState"
label=
"后评估状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"creator"
label=
"创建人"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"创建时间"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[10, 15, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
class=
"elpagination"
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title=
"提交评估材料"
:visible
.
sync=
"dialogXQ"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<el-form
:model=
"ruleFormdialogBJ"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.batchYear"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.batchName"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"工作组织情况:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.description"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"备注:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.remark"
disabled
></el-input>
</el-form-item>
</el-form>
<el-table
@
selection-change=
"handleSelectionChange"
:data=
"addtableData"
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
label=
"单位"
width=
"auto"
prop=
"compId"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"专家姓名"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"gender"
label=
"性别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"qualification"
label=
"学历"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"contact"
label=
"联系方式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"fields"
label=
"专业领域"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertLevel"
label=
"专家级别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"成果简介"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertState"
label=
"专家状态"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChangeBJ"
@
current-change=
"handleCurrentChangeBJ"
:current-page=
"currentPageBJ"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalBJ"
class=
"elpagination"
>
</el-pagination>
</div>
</el-dialog>
<el-dialog
title=
"新增后评估批次信息"
:visible
.
sync=
"dialogAdd"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<el-form
ref=
"formName"
:model=
"ruleFormdialogAdd"
label-width=
"100px"
class=
"demo-ruleForm"
:rules=
"rules"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleFormdialogAdd.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogAdd.batchName"
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleFormdialogAdd.planReviewDate"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"工作组织情况:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogAdd.description"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
<el-form-item
label=
"备注:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogAdd.remark"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
</el-form>
<p
class=
"zjBtn"
>
后评估专家
<span
@
click=
"xzExperts()"
>
选择专家
</span>
</p>
<el-table
@
selection-change=
"handleSelectionChange"
:data=
"addtableData"
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
label=
"单位"
width=
"auto"
prop=
"compId"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"专家姓名"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"gender"
label=
"性别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"qualification"
label=
"学历"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"contact"
label=
"联系方式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"fields"
label=
"专业领域"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertLevel"
label=
"专家级别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"成果简介"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertState"
label=
"专家状态"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChangeAdd"
@
current-change=
"handleCurrentChangeAdd"
:current-page=
"addcurrentPage"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"addtotal"
class=
"elpagination"
>
</el-pagination>
<p
class=
"midBtn"
>
<span
@
click=
"cancelXZ()"
>
取消
</span
><span
@
click=
"saveXZ('add')"
>
保存
</span>
</p>
</div>
</el-dialog>
<!-- 选择专家弹窗 -->
<el-dialog
title=
"选择专家组长"
:visible
.
sync=
"dialogAddzj"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"adzjdialog"
>
<el-form
:model=
"ruleFormZJ"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"专家姓名:"
prop=
"fullName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormZJ.fullName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"专业领域:"
prop=
"fields"
class=
"fromItem"
>
<el-select
v-model=
"ruleFormZJ.fields"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"专家状态:"
prop=
"expertState"
class=
"fromItem"
>
<el-select
v-model=
"ruleFormZJ.expertState"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"cxItem"
>
<span
class=
"zjquery"
@
click=
"xzExperts()"
>
查询
</span>
</el-form-item>
</el-form>
<el-table
@
selection-change=
"handleSelectionChangeZJ"
ref=
"multipleTableZJ"
:data=
"zjtableData"
tooltip-effect=
"dark"
style=
"width: 100%"
header-cell-class-name=
"custom-th-background"
class=
"eltable"
:row-class-name=
"tableRowClassName"
>
border >
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
<!--
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
id
}}
</
template
>
-->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column
label=
"单位"
width=
"auto"
prop=
"compId"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"专家姓名"
width=
"fullName"
>
</el-table-column>
<el-table-column
prop=
"gender"
label=
"性别"
width=
"gender"
>
</el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"qualification"
label=
"学历"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"contact"
label=
"联系方式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"fields"
label=
"专业领域"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertLevel"
label=
"专家级别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"成果简介"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertState"
label=
"专家状态"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertId"
label=
"id"
width=
"auto"
v-show=
"false"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChangeZJ"
@
current-change=
"handleCurrentChangeZJ"
:current-page=
"currentZJ"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"zjtotal"
class=
"elpagination"
>
</el-pagination>
<p
class=
"midBtn"
>
<span
@
click=
"cancelZJ()"
>
取消
</span
><span
@
click=
"saveZJ()"
>
保存
</span>
</p>
</div>
<!--
<seachList
searchtype=
"TBGD"
></seachList>
-->
<tableList
class=
"tableList"
tbtyps=
"TBGD"
></tableList>
</el-dialog>
<!-- 编辑弹窗 -->
<el-dialog
title=
"提交评估材料"
:visible
.
sync=
"dialogedit"
width=
"90%"
:modal-append-to-body=
"false"
:append-to-body=
"false"
>
<div
class=
"dialog"
>
<el-form
:model=
"ruleFormdialogBJ"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formNameBJ"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleFormdialogBJ.batchYear"
placeholder=
"请选择"
>
<el-option
label=
"2024年"
value=
"2024"
></el-option>
<el-option
label=
"2023年"
value=
"2023"
></el-option>
<el-option
label=
"2022年"
value=
"2022"
></el-option>
<el-option
label=
"2021年"
value=
"2021"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-input
v-model=
"ruleFormdialogBJ.batchName"
></el-input>
</el-form-item>
<el-form-item
label=
"计划评审日期:"
prop=
"planReviewDate"
class=
"fromItem"
>
<el-date-picker
v-model=
"ruleFormdialogBJ.planReviewDate"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"工作组织情况:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.description"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
<el-form-item
label=
"备注:"
class=
"textarea"
>
<el-input
type=
"textarea"
v-model=
"ruleFormdialogBJ.remark"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
</el-form>
<p
class=
"zjBtn"
>
后评估专家
<span
@
click=
"xzExperts()"
>
选择专家
</span>
</p>
<el-table
@
selection-change=
"handleSelectionChange"
:data=
"addtableData"
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
label=
"单位"
width=
"auto"
prop=
"compId"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"专家姓名"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"gender"
label=
"性别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生日期"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"qualification"
label=
"学历"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"contact"
label=
"联系方式"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"fields"
label=
"专业领域"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertLevel"
label=
"专家级别"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"description"
label=
"成果简介"
width=
"auto"
>
</el-table-column>
<el-table-column
prop=
"expertState"
label=
"专家状态"
width=
"auto"
>
</el-table-column>
</el-table>
<el-pagination
@
size-change=
"handleSizeChangeBJ"
@
current-change=
"handleCurrentChangeBJ"
:current-page=
"currentPageBJ"
:page-sizes=
"[5, 10, 20, 50]"
:page-size=
"100"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalBJ"
class=
"elpagination"
>
</el-pagination>
<p
class=
"midBtn"
>
<span
@
click=
"cancelBJ()"
>
取消
</span
><span
@
click=
"saveBJ()"
>
保存
</span>
</p>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
tableList
from
'./components/tableList.vue'
export
default
{
name
:
'sendIssue'
,
components
:
{
tableList
},
import
{
expertInfo
,
expert
,
sendEvalBatchInfo
,
adEvalBatchInfo
,
updEvalBatchInfo
,
evalBatchInfo
,
delEvalBatchInfo
,
chEvalBatchInfo
,
}
from
"@/api/index"
;
export
default
{
data
()
{
return
{
SplanNum
:
''
,
XTplanNum
:
""
,
typeContiner
:
""
,
typeCode
:
""
,
typeName
:
""
,
modelYear
:
1
,
//批次年度
assessName
:
""
,
//后评估批次名称
planTime
:
""
,
//计划评审日期
return
{
category
:
[
{
name
:
"11"
,
id
:
1
},
{
name
:
"21"
,
id
:
2
},
{
name
:
"31"
,
id
:
3
},
{
name
:
"2024"
,
id
:
1
},
{
name
:
"2023"
,
id
:
2
},
{
name
:
"2022"
,
id
:
3
},
{
name
:
"2021"
,
id
:
4
},
],
//专业领域
showButton
:
true
,
ruleForm
:
{
batchYear
:
""
,
batchName
:
""
,
postEvalState
:
""
,
},
ruleFormdialog
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
fullName
:
""
,
},
ruleFormZJ
:
{
fields
:
""
,
expertState
:
""
,
fullName
:
""
,
},
ruleFormdialogAdd
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
description
:
""
,
remark
:
""
,
},
ruleFormdialogBJ
:
{
batchYear
:
""
,
batchName
:
""
,
planReviewDate
:
""
,
description
:
""
,
remark
:
""
,
},
rules
:
{
batchYear
:
[
{
required
:
true
,
message
:
"请选择批次年度"
,
trigger
:
"change"
},
],
batchName
:
[
{
required
:
true
,
message
:
"请选择后评估批次名称"
,
trigger
:
"change"
,
},
],
planReviewDate
:
[
{
required
:
true
,
message
:
"请选择计划评审日期"
,
trigger
:
"change"
,
},
],
},
xfParams
:
""
,
//下发入参
tableData
:
[],
tableDataQD
:
[],
//清单列表
checkedList
:
[],
currentPage
:
1
,
currentPagetjcl
:
1
,
pageSizetjcl
:
10
,
total
:
0
,
dialogXQ
:
false
,
currentPageBJ
:
1
,
pageSizeBJ
:
10
,
dialogAdd
:
false
,
dialogAddzj
:
false
,
pageSize
:
10
,
current
:
1
,
pageSizeZJ
:
10
,
currentZJ
:
1
,
addtotal
:
0
,
currentAdd
:
1
,
pageSizeAdd
:
10
,
currentedit
:
1
,
pageSizeedit
:
10
,
xfParam
:
""
,
dialogedit
:
false
,
expertIdList
:
[],
totalBJ
:
0
,
addZJList
:
[],
expertState
:
""
,
fields
:
""
,
zjfullName
:
""
,
zjtotal
:
0
,
zjtableData
:
[],
addcurrentPage
:
1
,
addtableData
:
[],
message
:
{},
};
},
mounted
()
{
this
.
submitForm
();
},
methods
:
{
async
submitForm
(
formName
)
{
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
};
Object
.
assign
(
params
,
this
.
ruleForm
);
console
.
log
(
params
);
let
res
=
await
evalBatchInfo
(
params
);
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
.
forEach
(
item
=>
{
if
(
item
.
postEvalState
==
''
||
item
.
postEvalState
==
null
){
// this.$set( item,'postEvalState','')
}
else
if
(
item
.
postEvalState
==
'0'
){
this
.
$set
(
item
,
'postEvalState'
,
'未下发'
)
}
else
if
(
item
.
postEvalState
==
'2'
){
this
.
$set
(
item
,
'postEvalState'
,
'已撤回'
)
}
else
{
this
.
$set
(
item
,
'postEvalState'
,
'已下发'
)
}
})
this
.
total
=
res
.
data
.
total
*
1
;
}
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
();
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
();
},
//点击新增
async
add
()
{
this
.
dialogAdd
=
true
;
this
.
addtableData
=
[];
//每次新增清空不然点了还是这几个人
},
//详情
async
detailsForm
()
{
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
console
.
log
(
"222"
,
this
.
checkedList
);
this
.
dialogXQ
=
true
;
this
.
ruleFormdialogBJ
=
this
.
checkedList
[
0
]
let
params
=
{
current
:
this
.
currentedit
,
pageSize
:
this
.
pageSizeedit
,
batchId
:
this
.
checkedList
[
0
].
batchId
};
console
.
log
(
params
,
'params'
)
let
res
=
await
expert
(
params
);
this
.
addtableData
=
res
.
data
.
records
this
.
totalBJ
=
res
.
data
.
total
*
1
;
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
"warning-row"
;
}
return
""
;
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
);
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
);
}
this
.
checkedList
=
this
.
$refs
.
multipleTable
.
selection
;
this
.
ruleFormdialog
=
this
.
checkedList
[
0
];
console
.
log
(
this
.
checkedList
,
"2222"
);
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSize
=
val
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPage
=
val
;
},
handleSizeChangeZJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeZJ
=
val
;
},
handleCurrentChangeZJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentZJ
=
val
;
},
handleSizeChangetjcl
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizetjcl
=
val
;
},
handleCurrentChangetjcl
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPagetjcl
=
val
;
},
handleSizeChangeAdd
(
val
)
{
this
.
pageSizeAdd
=
val
;
},
handleCurrentChangeAdd
(
val
)
{
this
.
currentAdd
=
val
;
},
handleSizeChangeBJ
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
pageSizeBJ
=
val
;
},
handleCurrentChangeBJ
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
currentPageBJ
=
val
;
},
cancel
()
{
this
.
dialog
=
false
;
},
async
save
(
type
)
{
this
.
dialog
=
false
;
if
(
type
==
"add"
)
{
let
params
=
{};
let
res
=
await
qrscevaluationMaterials
(
params
);
}
},
//保存专家
saveZJ
()
{
if
(
this
.
addZJList
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
return
;
}
this
.
addtableData
=
this
.
addZJList
;
console
.
log
(
this
.
addtableData
,
"addtableData"
);
this
.
addtotal
=
this
.
addtableData
.
length
;
this
.
dialogAddzj
=
false
;
},
cancelZJ
()
{
this
.
dialogAddzj
=
false
;
},
cancelBJ
()
{
this
.
dialogedit
=
false
;
},
async
xzExperts
()
{
this
.
dialogAddzj
=
true
;
let
params
=
{
current
:
this
.
currentZJ
,
pageSize
:
this
.
pageSizeZJ
,
};
Object
.
assign
(
params
,
this
.
ruleFormZJ
);
console
.
log
(
"查询专家"
,
params
);
let
res
=
await
expertInfo
(
params
);
this
.
zjtableData
=
res
.
data
.
records
;
this
.
zjtotal
=
res
.
data
.
total
*
1
;
console
.
log
(
res
,
"xxx"
);
},
mounted
(){
cancelBJ
()
{
this
.
dialogedit
=
false
;
},
methods
:
{
saveXZ
()
{
console
.
log
(
"保存验证"
,
this
.
$refs
);
this
.
$refs
.
formName
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
console
.
log
(
"error submit!!"
);
return
false
;
}
else
{
if
(
this
.
addtableData
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
}
console
.
log
(
this
.
addZJList
,
"this.addZJList"
);
let
expertIdList
=
[];
let
expertStr
=
''
;
this
.
addtableData
.
forEach
((
item
)
=>
{
expertIdList
.
push
(
item
.
expertId
);
expertStr
=
JSON
.
stringify
(
expertIdList
).
slice
(
1
,
-
1
);
});
let
params
=
{
expertStr
:
expertStr
,
};
Object
.
assign
(
params
,
this
.
ruleFormdialogAdd
);
this
.
xfParams
=
JSON
.
parse
(
JSON
.
stringify
(
params
));
console
.
log
(
params
,
"222"
);
adEvalBatchInfo
(
params
).
then
((
res
)
=>
{
this
.
dialogAdd
=
false
;
this
.
expertIdList
=
expertIdList
this
.
resetForm
();
});
}
});
// this.$emit("listenToChildEvent", "reset");
// }
},
cancelXZ
()
{
this
.
dialogAdd
=
false
;
},
saveBJ
()
{
console
.
log
(
"保存编辑验证"
,
this
.
$refs
.
formNameBJ
);
this
.
$refs
.
formNameBJ
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
console
.
log
(
"error submit!!"
);
return
false
;
}
else
{
if
(
this
.
addtableData
.
length
<
1
)
{
this
.
$message
(
"请选择专家"
);
}
}
console
.
log
(
this
.
addtableData
,
'addtableData'
)
let
expertIdList
=
[];
let
expertStr
=
''
;
this
.
addtableData
.
forEach
((
item
)
=>
{
expertIdList
.
push
(
item
.
expertId
);
expertStr
=
JSON
.
stringify
(
expertIdList
).
slice
(
1
,
-
1
);
});
console
.
log
(
expertStr
,
'expertStr'
)
let
params
=
{
expertStr
:
expertStr
,
};
Object
.
assign
(
this
.
ruleFormdialogBJ
,
params
);
// this.xfParams = JSON.parse(JSON.stringify(params));
console
.
log
(
this
.
ruleFormdialogBJ
,
"222"
);
updEvalBatchInfo
(
this
.
ruleFormdialogBJ
).
then
((
res
)
=>
{
this
.
dialogedit
=
false
;
this
.
resetForm
();
});
}
});
},
//选中的专家
handleSelectionChangeZJ
()
{
this
.
addZJList
=
this
.
$refs
.
multipleTableZJ
.
selection
;
console
.
log
(
this
.
$refs
.
multipleTableZJ
.
selection
,
"2222"
);
},
//点击编辑
async
edit
()
{
//只能选择编辑未下发 待增加
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已下发'
){
this
.
$message
(
"不能编辑已下发的项目"
);
return
;
}
this
.
ruleFormdialogBJ
=
this
.
checkedList
[
0
]
this
.
dialogedit
=
true
let
params
=
{
current
:
this
.
currentedit
,
pageSize
:
this
.
pageSizeedit
,
batchId
:
this
.
checkedList
[
0
].
batchId
};
console
.
log
(
params
,
'params'
)
let
res
=
await
expert
(
params
);
this
.
addtableData
=
res
.
data
.
records
this
.
totalBJ
=
res
.
data
.
total
*
1
;
this
.
addtableData
.
forEach
(
item
=>
{
this
.
expertIdList
.
push
(
item
.
expertId
)
})
},
//点击删除
async
deletes
()
{
console
.
log
(
"删除"
)
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
let
res
=
await
delEvalBatchInfo
(
this
.
checkedList
[
0
]);
this
.
resetForm
()
},
//点击下发
async
sendMsg
(){
//只能选择未下发的 这块需要加一下
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已下发'
){
this
.
$message
(
"该项目已下发"
);
return
;
}
// if(this.checkedList[0].postEvalState=='已撤回'){
// this.$message("该项目已撤回");
// return;
// }
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已撤回'
){
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'2'
)
}
else
{
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'0'
)
}
let
res
=
await
sendEvalBatchInfo
(
this
.
checkedList
[
0
])
if
(
res
.
code
==
'200'
){
this
.
resetForm
()
}
},
//点击撤回
async
withdraw
(){
//只能选择已下发未确认的 这块需要加一下
if
(
this
.
checkedList
.
length
!=
1
)
{
this
.
$message
(
"请选择"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'未下发'
){
this
.
$message
(
"该项目未下发"
);
return
;
}
if
(
this
.
checkedList
[
0
].
postEvalState
==
'已撤回'
){
this
.
$message
(
"该项目已撤回"
);
return
;
}
this
.
$set
(
this
.
checkedList
[
0
],
'postEvalState'
,
'2'
)
let
res
=
await
chEvalBatchInfo
(
this
.
checkedList
[
0
])
if
(
res
.
code
==
'200'
){
this
.
resetForm
()
}
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.main
{
<
style
scoped
lang=
"scss"
>
.main
{
font-size
:
14px
;
}
.estimateBatchConfirmRelease
{
position
:
relative
;
height
:
100%
;
}
.btn_container
{
margin-left
:
20px
;
margin-top
:
20px
;
margin-bottom
:
15px
;
}
.btn
{
display
:
inline-block
;
margin-right
:
5px
;
line-height
:
20px
;
height
:
20px
;
color
:
#fff
;
border-radius
:
5px
;
padding
:
7px
12px
;
}
.buttonIcon
{
width
:
14px
;
margin-bottom
:
3px
;
height
:
14px
;
vertical-align
:
middle
;
}
.btn-primary
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
}
.btn-primary
:hover
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
}
.form-horizontal
{
width
:
100%
;
box-sizing
:
border-box
;
}
.el-form
{
display
:
flex
;
width
:
99%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
border-right
:
1px
solid
#dee5e7
;
border-bottom
:
1px
solid
#dee5e7
;
padding-top
:
15px
;
padding
:
20px
10px
;
margin
:
20px
0
;
.fromItem
{
width
:
24%
;
margin
:
0
0.5%
;
margin-bottom
:
20px
;
}
.form-group
{
width
:
20%
;
display
:
flex
;
align-items
:
center
;
margin-right
:
40px
!important
;
}
.form-group
>
label
{
width
:
150px
;
text-align
:
right
;
padding-right
:
10px
;
display
:
inline-block
;
max-width
:
100%
;
margin-bottom
:
5px
;
font-weight
:
700
;
}
.form-group
>
select
{
.el-input
{
width
:
226px
;
}
.form-group
>
input
{
width
:
195px
;
}
.pageTitle
{
font-size
:
20px
;
}
.pageLine
{
margin-top
:
4px
;
border-top
:
2px
solid
#e5e5e5
;
}
.modal-header
{
background-color
:
#0d867f
;
color
:
#fff
;
}
.close
{
}
.el-select
{
width
:
226px
;
}
}
/
deep
/
.el-form-item__content
{
text-align
:
left
;
}
/
deep
/
.el-form-item__label
{
font-weight
:
bold
;
color
:
#000
;
width
:
160px
!important
;
}
.button
{
display
:
inline-block
;
width
:
100%
;
text-align
:
left
;
/deep/
.el-form-item__content
{
margin-left
:
20px
!important
;
text-align
:
left
;
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
15px
;
vertical-align
:
middle
;
}
}
.el-button
{
background-color
:
#23c6c8
;
border-color
:
#23c6c8
;
color
:
#fff
;
}
.form-group2
{
width
:
22%
;
display
:
flex
;
align-items
:
center
;
margin-right
:
40px
!important
;
}
.form-group2
>
label
{
width
:
150px
;
height
:
34px
;
line-height
:
34px
;
text-align
:
right
;
padding-right
:
10px
;
}
.form-group2
>
select
{
width
:
180px
;
}
.form-group2
>
input
{
width
:
180px
;
}
.fixed-table-pagination
{
margin-top
:
400px
;
display
:
flex
;
justify-content
:
flex-end
;
}
tbody
tr
:nth-of-type
(
even
)
{
}
}
}
.eltable
{
widows
:
100%
;
box-sizing
:
border-box
;
}
/
deep
/
.el-table
.warning-row
{
background
:
#f0ffff
;
color
:
#2785e6
;
}
thead
th
{
background
:
#eeeeee
;
padding
:
6px
0
;
}
}
.elpagination
{
text-align
:
right
;
margin-right
:
100px
;
}
/
deep
/
.el-dialog
{
border-radius
:
10px
;
}
/
deep
/
.el-dialog__wrapper
{
position
:
absolute
;
}
/
deep
/
.v-modal
{
position
:
absolute
;
}
/
deep
/
.el-dialog__header
{
background-color
:
#0d867f
;
padding-bottom
:
20px
;
text-align
:
left
;
border-radius
:
10px
10px
0
0
;
.el-dialog__title
{
color
:
#fff
;
}
}
/
deep
/
.el-table__header
th
{
background-color
:
#eeeeee
;
font-weight
:
bold
;
.cell
{
color
:
#333
;
}
}
select
.form-control
{
display
:
block
;
/
deep
/
.el-table
{
width
:
100%
;
height
:
34px
;
padding
:
6px
12px
;
font-size
:
14px
;
line-height
:
1.42857143
;
color
:
#555
;
background-color
:
#fff
;
background-image
:
none
;
border
:
1px
solid
#ccc
;
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-webkit-transition
:
border-color
ease-in-out
0.15s
,
-webkit-box-shadow
ease-in-out
0.15s
;
-o-transition
:
border-color
ease-in-out
0.15s
,
box-shadow
ease-in-out
0.15s
;
transition
:
border-color
ease-in-out
0.15s
,
box-shadow
ease-in-out
0.15s
;
}
.form-control
:focus
{
border-color
:
#66afe9
;
outline
:
0
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
102
,
175
,
233
,
0.6
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
102
,
175
,
233
,
0.6
);
}
.form-horizontal
.form-group
{
margin-right
:
-15px
;
margin-left
:
-15px
;
}
.form-group
{
margin-bottom
:
15px
;
}
input
.form-control
{
box-sizing
:
border-box
;
display
:
block
;
.el-table__header-wrapper
table,
.el-table__body-wrapper
table
{
width
:
100%
!important
;
}
.el-table__body
,
.el-table__footer
,
.el-table__header
{
table-layout
:
auto
;
}
}
.dialog
{
.xqtitle
{
text-align
:
left
;
font-size
:
18px
;
span
{
display
:
inline-block
;
width
:
5px
;
height
:
20px
;
background
:
#0d867f
;
margin-right
:
14px
;
vertical-align
:
middle
;
}
}
}
.textarea
{
width
:
100%
;
height
:
34px
;
padding
:
6px
12px
;
font-size
:
14px
;
line-height
:
1.42857143
;
color
:
#555
;
background-color
:
#fff
;
background-image
:
none
;
border
:
1px
solid
#ccc
;
.el-textarea
{
width
:
60%
;
}
}
.Btn
{
width
:
200px
;
margin
:
0
auto
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-webkit-transition
:
border-color
ease-in-out
0.15s
,
-webkit-box-shadow
ease-in-out
0.15s
;
-o-transition
:
border-color
ease-in-out
0.15s
,
box-shadow
ease-in-out
0.15s
;
transition
:
border-color
ease-in-out
0.15s
,
box-shadow
ease-in-out
0.15s
;
}
.form-group
>
input
{
width
:
195px
;
}
.form-group
>
select
{
width
:
226px
;
}
/
deep
/
.el-input__inner
{
height
:
34px
;
line-height
:
34px
;
border
:
1px
solid
#ccc
;
}
/
deep
/
.el-input__icon
{
line-height
:
34px
;
}
/
deep
/
::placeholder
{
color
:
#999
;
}
/
deep
/
.el-date-table
td
.today
span
{
color
:
red
!important
;
}
/
deep
/
.el-input__prefix
.el-input__icon
{
margin-left
:
157px
;
background-color
:
#eee
;
border
:
1px
solid
#ccc
;
width
:
34px
;
color
:
#000
;
height
:
94%
;
}
/
deep
/
.el-input__suffix
{
border
:
none
}
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
:
200px
;
text-align
:
left
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
border-radius
:
5px
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
padding
:
5px
10px
;
margin-left
:
10px
;
}
}
/
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
;
span
{
display
:
inline-block
;
width
:
80px
;
height
:
25px
;
line-height
:
25px
;
text-align
:
center
;
margin-right
:
10px
;
border-radius
:
5px
;
}
span
:first-of-type
{
border
:
1px
solid
grey
;
}
span
:last-of-type
{
background-color
:
#4ca6a7
;
color
:
#fff
;
}
}
/
deep
/
.el-table
th
.el-table__cell.is-leaf
,
.el-table
td
.el-table__cell
{
text-align
:
center
;
}
/
deep
/
.el-table__cell
{
text-align
:
center
;
}
</
style
>
\ No newline at end of file
vue.config.js
View file @
ae4021f
...
...
@@ -4,7 +4,7 @@ const { defineConfig } = require('@vue/cli-service')
// const ip = '172.20.10.9'; // 何鹏
// const ip = '192.168.0.120';
// const ip = '192.168.0.13';
const
ip
=
'192.168.
0.102
'
;
const
ip
=
'192.168.
8.120
'
;
module
.
exports
=
defineConfig
({
transpileDependencies
:
true
,
//如果是hash模式, publicPath:"";如果是history, publicPath:"/"
...
...
@@ -13,7 +13,7 @@ module.exports = defineConfig({
hot
:
true
,
proxy
:
{
'/api'
:{
target
:
`http://192.168.8.
248
:18101`
,
// pin
target
:
`http://192.168.8.
120
:18101`
,
// pin
changeOrigin
:
true
,
pathRewrite
:{
"^/api"
:
""
...
...
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