Commit 8a0a821b by liangzhen

问题辅助查询

1 parent 05f8dd62
...@@ -118,6 +118,11 @@ export const routes = [ ...@@ -118,6 +118,11 @@ export const routes = [
component: () => import('@/views/assessChecks/checkComplianceFZ.vue'), component: () => import('@/views/assessChecks/checkComplianceFZ.vue'),
}, },
{ {
path: '/mainLayout/Compliancexf',
name: 'Compliancexf',
component: () => import('@/views/assessChecks/checkComplianceXF.vue'),
},
{
path: '/mainLayout/qrCompliance', path: '/mainLayout/qrCompliance',
name: 'qrCompliance', name: 'qrCompliance',
component: () => import('@/views/assessChecks/qrCompliance.vue'), component: () => import('@/views/assessChecks/qrCompliance.vue'),
......
<!-- 辅助确认 --><template>
<div class="archiEvoluteLine">
<!-- <HeaderInfo :title="title"></HeaderInfo> -->
<seachList searchtype="FZQR"></seachList>
<tableList class="tableList" tbtyps="FZQR"></tableList>
</div>
</template>
<script>
import seachList from './components/seachList.vue'
import tableList from './components/tableList.vue'
export default { <template>
name: 'auxiliarySelection', <div class="main">
components: { <el-form :model="ruleForm" label-width="100px" class="demo-ruleForm">
seachList, <el-form-item label="批次年度:" prop="batchYear" class="fromItem">
tableList <el-select v-model="ruleForm.batchYear" placeholder="请选择">
}, <el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleForm.batchName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="后评估状态:" prop="postEvalState" class="fromItem">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择">
<el-option label="未下发" value="0"></el-option>
<el-option label="已下发" value="1"></el-option>
<el-option label="已撤回" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item class="button">
<el-button @click="submitForm()">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<el-button @click="resetForm('ruleForm')">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="confirm('ruleForm')">
<i class="el-icon-position"></i>问题确认</el-button
>
<el-button @click="appeal('ruleForm')">
<i class="el-icon-folder-remove"></i>申诉</el-button
>
</el-form-item>
</el-form>
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%;height: 70%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" prop="batchYear"> </el-table-column>
<el-table-column prop="batchName" label="后评估批次名称">
</el-table-column>
<el-table-column prop="projectName" label="评估项目名称">
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段">
</el-table-column>
<el-table-column prop="createTime" label="历史审核状态">
</el-table-column>
<el-table-column prop="字段待确认" label="评审专家名单">
</el-table-column>
<el-table-column prop="字段待确认" label="问题申诉截止时间">
</el-table-column>
<el-table-column prop="字段待确认" label="问题整改截止时间">
</el-table-column>
<el-table-column prop="字段待确认" label="问题下发状态">
</el-table-column>
<el-table-column prop="字段待确认" label="后评估状态"> </el-table-column>
<el-table-column prop="reviewDate" label="评估日期"> </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">
<H3
>项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目</H3
>
<p class="xqtitle"><span></span>问题确认</p>
<el-scrollbar style="height:400px;" ref="scroll">
<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="auto" prop="projectId">
</el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column prop="projectYear" label="问题检查项" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="检查说明" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="评估问题" width="auto">
</el-table-column>
<el-table-column label="问题确认" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.states"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="Y"
inactive-value="N"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)">
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
</el-table>
</el-scrollbar>
<p class="midBtn">
<span @click="cancel()">取消</span
><span @click="save()">确认</span>
</p>
</div>
</el-dialog>
<!-- 申诉 -->
<el-dialog
title="申诉"
:visible.sync="dialogAdd"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<H3
>项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目</H3
>
<p class="xqtitle"><span></span>问题清单</p>
<el-scrollbar style="height:400px;" ref="scroll">
<el-table
:data="sstableData"
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="auto" prop="projectId">
</el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column prop="projectYear" label="问题检查项" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="检查说明" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="评估问题" width="auto">
</el-table-column>
<el-table-column label="问题确认" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.states"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="Y"
inactive-value="N"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)">
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="contentSecond" label="内容">
<template slot-scope="scope">
<el-input v-model="scope.row.contentSecond" placeholder="请输入内容" clearable></el-input>
</template>
</el-table-column>
<el-table-column prop="zgqkFileId" label="附加解释材料" width="auto">
<el-upload
action="https://your-upload-api"
:on-success="imguploadSuccess"
:on-error="imguploadError"
>
<!-- accept="" -->
<el-button slot="trigger" size="small" type="primary">选择文件</el-button>
</el-upload>
</el-table-column>
</el-table>
</el-scrollbar>
<p class="midBtn">
<span @click="cancelSS()">取消</span
><span @click="saveSS()">确认</span>
</p>
</div>
</el-dialog>
</div>
</template>
<script>
import {
ProblemAssistedFeedback,
ssProblemAssistedFeedback,
qrProblemAssistedFeedback,
wtssSelProblemAssistedFeedback,
} from "@/api/index";
export default {
data() { data() {
return{ return {
title:'确认更改' sstableData:[],
} value1: true,
ruleForm: {
}, batchYear: "",
mounted(){ batchName: "",
postEvalState: "",
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
},
ruleFormZJ: {
fields: "",
expertState: "",
fullName: "",
},
ruleFormdialogAdd: {
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
},
ruleFormdialogBJ: {
batchYear: "",
batchName: "",
planReviewDate: "",
prjsOfExpert: "",
description: "",
},
rules: {
prjsOfExpert: [
{
required: true,
message: "请选择每位专家可评估项目数",
trigger: "prjsOfExpert",
},
],
},
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: {},
currentCell: null,
};
},
mounted() {
this.submitForm();
}, },
methods: { methods: {
imguploadError() {
} console.log('上传失败')
} },
</script> //上传成功
<style scoped> imguploadSuccess(res) {
.archiEvoluteLine{ console.log(res,'22')
width: 100%; //回显图片
height: 100%; this.videoimgurl = res.data;
display: flex; },
flex-direction: column; cellClickAction(row,column, cell, event){
justify-content: flex-start;
align-items:flex-start; if (event.target.nodeName === "INPUT" || event.target.nodeName === "TEXTAREA") {
} event.target.focus();
.tableList{ console.log(row,column, cell, event,'333')
width: 100%; }
} },
</style> async saveSS(){
\ No newline at end of file console.log(this.sstableData)
let params={
}
let res= await ssProblemAssistedFeedback(params)
this.dialogAdd=false
},
cancelSS(){
this.dialogAdd=false
},
async submitForm(formName) {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await ProblemAssistedFeedback(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.total = res.data.total * 1;
}
},
resetForm() {
this.$refs[formName].resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
//问题确认
async confirm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
console.log("222", this.checkedList);
this.dialogXQ = true;
let params = {};
this.addtableData = [
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
];
this.addtableData.forEach((item) => {
this.$set( item, "states", 'Y');
});
return;
// Object.assign(params, this.checkedList[0]);
let res = await wtssSelProblemAssistedFeedback(params);
if (res.code == "200") {
this.addtableData = res.data.records;
}
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
// this.$set(row, "state", 0 * 1);
},
//问题确认取消
cancel(){
this.dialogXQ=false
},
async save(){
let params={
}
let res=await qrProblemAssistedFeedback(params)
this.dialogXQ=false
},
//表格颜色
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;
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val;
},
handleCurrentChangeAdd(val) {
this.currentAdd = val;
},
handleCurrentChangeBJ(val) {
console.log(`当前页: ${val}`);
this.currentPageBJ = val;
},
//点击申诉
async appeal() {
//只能选择未确认的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
this.dialogAdd=true
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
(this.sstableData = [
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
]),
(this.total = 2);
return;
let res = await ProblemAssistedFeedback(params);
if (res.code == "200") {
this.sstableData = res.data.records;
this.total = res.data.total * 1;
}
},
},
};
</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 {
box-sizing: border-box;
text-align: center;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
}
}
/deep/ .el-table__header th {
background-color: #eeeeee;
font-weight: bold;
.cell {
color: #333;
}
}
/deep/.el-table {
// width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
// width: 100% !important;
}
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
}
.dialog {
position: relative;
padding-bottom: 30px;
.xqtitle {
text-align: left;
font-size: 18px;
width: 100%;
border-bottom: 1px solid gainsboro;
padding-bottom: 10px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
vertical-align: middle;
}
}
}
.textarea {
width: 100%;
.el-textarea {
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: 400px;
text-align: left;
vertical-align: middle;
span {
display: inline-block;
width: 140px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 5px;
vertical-align: middle;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
padding: 5px 10px;
margin-left: 10px;
}
}
/deep/ .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
text-align: right;
width: 20%;
.zjquery {
display: inline-block;
background-color: #4ca6a7;
width: 89px;
height: 40px;
color: #fff;
text-align: center;
line-height: 40px;
border-radius: 5px;
}
}
.midBtn {
width: 100%;
height: 40px;
line-height: 40px;
position: absolute;
margin: 0 auto;
bottom: -19px;
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;
}
}
h3 {
text-align: left;
}
/deep/.el-table td.el-table__cell div{
text-align: center;
}
/deep/.el-switch__core{
width: 69px !important;
}
/deep/ .el-switch__label *{
font-size: 11px;
}
/deep/.el-switch__label--left {
position: absolute;
left: 24px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right {
position: absolute;
right: 24px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
}
/deep/.el-switch__label--left.is-active {
z-index: 1111;
color:#fff!important;
}
/deep/ .el-icon-folder-remove {
margin-right: 10px;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
</style>
\ No newline at end of file
...@@ -27,11 +27,13 @@ ...@@ -27,11 +27,13 @@
<el-button @click="resetForm('ruleForm')"> <el-button @click="resetForm('ruleForm')">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button <img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
> >
<el-button @click="confirm('ruleForm')"> <el-button @click="confirm()">
<i class="el-icon-position"></i>问题确认</el-button <i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;问题确认</el-button
> >
<el-button @click="appeal('ruleForm')"> <el-button @click="appeal()">
<i class="el-icon-folder-remove"></i>申诉</el-button <i class="el-icon-document-remove"></i
>&nbsp;&nbsp;&nbsp;申诉</el-button
> >
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -40,7 +42,7 @@ ...@@ -40,7 +42,7 @@
ref="multipleTable" ref="multipleTable"
:data="tableData" :data="tableData"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%;height: 70%" style="width: 100%"
header-cell-class-name="custom-th-background" header-cell-class-name="custom-th-background"
class="eltable" class="eltable"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
...@@ -58,18 +60,17 @@ ...@@ -58,18 +60,17 @@
</el-table-column> </el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段"> <el-table-column prop="projectStatus" label="项目建设阶段">
</el-table-column> </el-table-column>
<el-table-column prop="createTime" label="历史审核状态"> <!-- <el-table-column prop="createTime" label="历史审核状态">
</el-table-column> </el-table-column> -->
<el-table-column prop="字段待确认" label="评审专家名单"> <el-table-column prop="expertName" label="评审专家名单">
</el-table-column> </el-table-column>
<el-table-column prop="字段待确认" label="问题申诉截止时间"> <el-table-column prop="appealDeadline" label="问题申诉截止时间">
</el-table-column>
<el-table-column prop="字段待确认" label="问题整改截止时间">
</el-table-column> </el-table-column>
<el-table-column prop="字段待确认" label="问题下发状态"> <el-table-column prop="rectificationDeadline" label="问题整改截止时间">
</el-table-column> </el-table-column>
<el-table-column prop="字段待确认" label="后评估状态"> </el-table-column> <el-table-column prop="postEvalState" label="申诉状态"> </el-table-column>
<!-- <el-table-column prop="reviewStatus" label="后评估状态"> </el-table-column> -->
<el-table-column prop="reviewDate" label="评估日期"> </el-table-column> <el-table-column prop="reviewDate" label="评估日期"> </el-table-column>
</el-table> </el-table>
<el-pagination <el-pagination
...@@ -81,281 +82,122 @@ ...@@ -81,281 +82,122 @@
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="total" :total="total"
class="elpagination" class="elpagination"
> >
</el-pagination> </el-pagination>
<!-- 问题确认 --> <!-- 问题确认 -->
<el-dialog <el-dialog
title="提交评估材料" title="问题确认"
:visible.sync="dialogXQ" :visible.sync="dialogQR"
width="90%" width="90%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
> >
<div class="dialog"> <div class="dialog">
<H3 <h3>
>项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目</H3 项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
> </h3>
<div class="continer">
<p class="xqtitle"><span></span>问题确认</p> <p class="xqtitle"><span></span>问题清单</p>
<el-scrollbar style="height:400px;" ref="scroll"> <el-table
<el-table ref="multipleTable"
@selection-change="handleSelectionChange" :data="tableDataQR"
:data="addtableData" tooltip-effect="dark"
tooltip-effect="dark" style="width: 100%"
style="width: 100%" header-cell-class-name="custom-th-background"
header-cell-class-name="custom-th-background" class="eltable"
class="eltable" :row-class-name="tableRowClassName"
:row-class-name="tableRowClassName" :span-method="arraySpanMethod"
border border
> >
<el-table-column label="项目环节" width="auto" prop="projectId"> <el-table-column
</el-table-column> label="项目环节"
<el-table-column label="序号" width="55" type="index"> prop="projectStagetext"
</el-table-column> width="150"
>
<el-table-column prop="projectYear" label="问题检查项" width="auto"> </el-table-column>
</el-table-column> <el-table-column label="序号" width="100" prop="questionId">
<el-table-column prop="projectName" label="检查说明" width="auto"> </el-table-column>
</el-table-column>
<el-table-column prop="projectCategory" label="评估问题" width="auto">
</el-table-column>
<el-table-column label="问题确认" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.states"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="Y"
inactive-value="N"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)">
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
</el-table>
</el-scrollbar>
<p class="midBtn">
<span @click="cancel()">取消</span
><span @click="save()">确认</span>
</p>
</div>
</el-dialog>
<!-- 申诉 -->
<el-dialog
title="申诉"
:visible.sync="dialogAdd"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<H3
>项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目</H3
>
<p class="xqtitle"><span></span>问题清单</p> <el-table-column label="问题检查项" prop="quesCheckItem">
<el-scrollbar style="height:400px;" ref="scroll"> </el-table-column>
<el-table <el-table-column label="检查说明" prop="checkDesc">
:data="sstableData" </el-table-column>
tooltip-effect="dark" <el-table-column label="评估问题" prop="evalQues">
style="width: 100%" </el-table-column>
header-cell-class-name="custom-th-background" <el-table-column label="问题确认" width="auto">
class="eltable" <template slot-scope="scope">
:row-class-name="tableRowClassName" <el-switch
border v-model="scope.row.states"
> active-color="#C0C0C0"
<el-table-column label="项目环节" width="auto" prop="projectId"> inactive-color="#13ce66"
</el-table-column> active-value="Y"
<el-table-column label="序号" width="55" type="index"> inactive-value="N"
</el-table-column> active-text="无异议"
inactive-text="有异议"
<el-table-column prop="projectYear" label="问题检查项" width="auto"> @change="controlSwitch($event, scope.row)"
</el-table-column> >
<el-table-column prop="projectName" label="检查说明" width="auto"> <template v-slot:active>
</el-table-column> <span>开启</span>
<el-table-column prop="projectCategory" label="评估问题" width="auto"> </template>
</el-table-column> <template v-slot:inactive>
<el-table-column label="问题确认" width="auto"> <span>关闭</span>
<template slot-scope="scope"> </template>
<el-switch </el-switch>
v-model="scope.row.states" </template>
active-color="#C0C0C0" </el-table-column>
inactive-color="#13ce66" </el-table>
active-value="Y" </div>
inactive-value="N"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)">
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="contentSecond" label="内容">
<template slot-scope="scope">
<el-input v-model="scope.row.contentSecond" placeholder="请输入内容" clearable></el-input>
</template>
</el-table-column>
<el-table-column prop="zgqkFileId" label="附加解释材料" width="auto">
<el-upload
action="https://your-upload-api"
:on-success="imguploadSuccess"
:on-error="imguploadError"
>
<!-- accept="" -->
<el-button slot="trigger" size="small" type="primary">选择文件</el-button>
</el-upload>
</el-table-column>
</el-table>
</el-scrollbar>
<p class="midBtn">
<span @click="cancelSS()">取消</span
><span @click="saveSS()">确认</span>
</p>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import { ProblemAssistedFeedback, selWtqdpostEvalQuesInfo } from "@/api/index";
ProblemAssistedFeedback,
ssProblemAssistedFeedback,
qrProblemAssistedFeedback,
wtssSelProblemAssistedFeedback,
} from "@/api/index";
export default { export default {
data() { data() {
return { return {
sstableData:[],
value1: true,
ruleForm: { ruleForm: {
batchYear: "", batchYear: "",
batchName: "", batchName: "",
postEvalState: "", postEvalState: "",
}, },
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
},
ruleFormZJ: {
fields: "",
expertState: "",
fullName: "",
},
ruleFormdialogAdd: {
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
},
ruleFormdialogBJ: { ruleFormdialogBJ: {
batchYear: "", appealDeadline: "",
batchName: "", rectificationDeadline: "",
planReviewDate: "",
prjsOfExpert: "",
description: "",
}, },
rules: { rules: {
prjsOfExpert: [ appealDeadline: [
{
required: true,
message: "请选择问题申诉截止时间",
trigger: "change",
},
],
rectificationDeadline: [
{ {
required: true, required: true,
message: "请选择每位专家可评估项目数", message: "问题整改截止时间",
trigger: "prjsOfExpert", trigger: "change",
}, },
], ],
}, },
tableData: [], tableData: [],
tableDataQD: [], //清单列表 tableDataQR: [],
checkedList: [], checkedList: [],
currentPage: 1, currentPage: 1,
currentPagetjcl: 1,
pageSizetjcl: 10, pageSizetjcl: 10,
total: 0, total: 0,
dialogXQ: false, dialogQR: false,
currentPageBJ: 1,
pageSizeBJ: 10,
dialogAdd: false,
dialogAddzj: false,
pageSize: 10, pageSize: 10,
current: 1, mergingPos: 0,
pageSizeZJ: 10, mergingRows: [],
currentZJ: 1,
addtotal: 0,
currentAdd: 1,
pageSizeAdd: 10,
currentedit: 1,
pageSizeedit: 10,
xfParam: "",
dialogedit: false,
expertIdList: [],
totalBJ: 0,
addZJList: [],
expertState: "",
fields: "",
zjfullName: "",
zjtotal: 0,
zjtableData: [],
addcurrentPage: 1,
addtableData: [],
message: {},
currentCell: null,
}; };
}, },
mounted() { mounted() {
this.submitForm(); this.submitForm();
}, },
methods: { methods: {
imguploadError() {
console.log('上传失败')
},
//上传成功
imguploadSuccess(res) {
console.log(res,'22')
//回显图片
this.videoimgurl = res.data;
},
cellClickAction(row,column, cell, event){
if (event.target.nodeName === "INPUT" || event.target.nodeName === "TEXTAREA") {
event.target.focus();
console.log(row,column, cell, event,'333')
}
},
async saveSS(){
console.log(this.sstableData)
let params={
}
let res= await ssProblemAssistedFeedback(params)
this.dialogAdd=false
},
cancelSS(){
this.dialogAdd=false
},
async submitForm(formName) { async submitForm(formName) {
let params = { let params = {
current: this.currentPage, current: this.currentPage,
...@@ -363,71 +205,20 @@ this.dialogAdd=false ...@@ -363,71 +205,20 @@ this.dialogAdd=false
}; };
Object.assign(params, this.ruleForm); Object.assign(params, this.ruleForm);
console.log(params); console.log(params);
(this.tableData = [
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
]),
(this.total = 2);
return;
let res = await ProblemAssistedFeedback(params); let res = await ProblemAssistedFeedback(params);
if (res.code == "200") { if (res.code == "200") {
this.tableData = res.data.records; this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.appealStatus == "1") {
this.$set(item, "postEvalState", "已申诉");
} else if (item.appealStatus == "2") {
this.$set(item, "postEvalState", "申诉驳回");
} else if (item.appealStatus == "3") {
this.$set(item, "postEvalState", "申诉通过");
} else {
this.$set(item, "postEvalState", "未申诉");
}
});
this.total = res.data.total * 1; this.total = res.data.total * 1;
} }
}, },
...@@ -437,272 +228,86 @@ this.dialogAdd=false ...@@ -437,272 +228,86 @@ this.dialogAdd=false
this.pageSize = 10; this.pageSize = 10;
this.submitForm(); this.submitForm();
}, },
//问题确认 //确认问题
async confirm() { async confirm() {
if (this.checkedList.length != 1) { this.dialogQR = true;
this.$message("请选择"); let params = {
return; projectId: this.checkedList[0].projectId,
} batchId: this.checkedList[0].batchId,
console.log("222", this.checkedList); };
this.dialogXQ = true;
let params = {};
this.addtableData = [
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
];
this.addtableData.forEach((item) => { let res = await selWtqdpostEvalQuesInfo(params);
this.$set( item, "states", 'Y');
});
return;
// Object.assign(params, this.checkedList[0]);
let res = await wtssSelProblemAssistedFeedback(params);
if (res.code == "200") { if (res.code == "200") {
this.addtableData = res.data.records; this.tableDataQR = res.data.records;
this.tableDataQR.forEach((item) => {
switch (item.projectStage) {
case 1:
this.$set(item, "projectStagetext", "1.可研");
break;
case 2:
this.$set(item, "projectStagetext", "2.计划");
break;
case 3:
this.$set(item, "projectStagetext", "3.采购");
break;
case 4:
this.$set(item, "projectStagetext", "4.合同");
break;
case 5:
this.$set(item, "projectStagetext", "5.执行");
break;
case 6:
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
this.dataPretreatment();
} }
}, },
//问题确认开关 dataPretreatment() {
controlSwitch(val, row) { for (let i = 0; i < this.tableDataQR.length; i++) {
console.log("333", val, row); // tabledata 表格数据源
// this.$set(row, "state", 0 * 1); if (i === 0) {
}, this.mergingRows.push(1);
//问题确认取消 this.mergingPos = 0;
cancel(){ } else {
this.dialogXQ=false if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
}, },
async save(){
let params={
//问题下发
detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行下发");
return;
} else {
let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
};
this.$router.push({
path: "/mainLayout/Compliancexf",
query: {
clqparams: JSON.stringify(params),
fromType: "fzcx",
Form: {
appealDeadline: this.checkedList[0].appealDeadline,
rectificationDeadline: this.checkedList[0].rectificationDeadline,
},
},
});
} }
let res=await qrProblemAssistedFeedback(params)
this.dialogXQ=false
}, },
//表格颜色 //表格颜色
...@@ -730,112 +335,26 @@ this.dialogAdd=false ...@@ -730,112 +335,26 @@ this.dialogAdd=false
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.currentPage = val; this.currentPage = val;
}, },
handleSizeChangeZJ(val) { arraySpanMethod({ row, column, rowIndex, columnIndex }) {
console.log(`每页 ${val} 条`); if (columnIndex === 0) {
this.pageSizeZJ = val; //第一列
}, const _row = this.mergingRows[rowIndex];
handleCurrentChangeZJ(val) { const _col = _row > 0 ? 1 : 0;
console.log(`当前页: ${val}`); return {
this.currentZJ = val; rowspan: _row,
}, colspan: _col,
handleSizeChangeAdd(val) { };
this.pageSizeAdd = val;
},
handleCurrentChangeAdd(val) {
this.currentAdd = val;
},
handleCurrentChangeBJ(val) {
console.log(`当前页: ${val}`);
this.currentPageBJ = val;
},
//点击申诉
async appeal() {
//只能选择未确认的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
this.dialogAdd=true
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
(this.sstableData = [
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
]),
(this.total = 2);
return;
let res = await ProblemAssistedFeedback(params);
if (res.code == "200") {
this.sstableData = res.data.records;
this.total = res.data.total * 1;
} }
}, },
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
// this.$set(row, "states", 0 * 1);
},
}, },
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.main { .main {
font-size: 14px; font-size: 14px;
position: relative; position: relative;
...@@ -947,26 +466,7 @@ this.dialogAdd=false ...@@ -947,26 +466,7 @@ this.dialogAdd=false
table-layout: auto; table-layout: auto;
} }
} }
.dialog {
position: relative;
padding-bottom: 30px;
.xqtitle {
text-align: left;
font-size: 18px;
width: 100%;
border-bottom: 1px solid gainsboro;
padding-bottom: 10px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
vertical-align: middle;
}
}
}
.textarea { .textarea {
width: 100%; width: 100%;
.el-textarea { .el-textarea {
...@@ -1038,12 +538,7 @@ this.dialogAdd=false ...@@ -1038,12 +538,7 @@ this.dialogAdd=false
} }
} }
.midBtn { .midBtn {
width: 100%;
height: 40px;
line-height: 40px;
position: absolute;
margin: 0 auto; margin: 0 auto;
bottom: -19px;
span { span {
display: inline-block; display: inline-block;
width: 80px; width: 80px;
...@@ -1061,47 +556,112 @@ this.dialogAdd=false ...@@ -1061,47 +556,112 @@ this.dialogAdd=false
color: #fff; color: #fff;
} }
} }
.dialog {
.xqtitle {
text-align: left;
font-size: 18px;
border-bottom: 1px solid gainsboro;
padding-bottom: 10px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
vertical-align: middle;
}
}
/deep/ .el-form {
width: 65%;
flex-wrap: wrap;
padding: 0 10px;
text-align: center;
margin: 100px auto;
border: none;
.fromItem {
text-align: center;
width: 51%;
margin: 0 auto;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
text-align: left;
}
/deep/ .el-form-item__label {
font-weight: 400;
// color: #000;
width: 160px !important;
}
}
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
h3 { h3 {
text-align: left; text-align: left;
} }
/deep/.el-table td.el-table__cell div{ /deep/.el-switch__core {
text-align: center; height: 30px;
width: 80px !important;
border-radius: 20px;
} }
/deep/.el-switch__core{ /deep/.el-switch.is-checked .el-switch__core::after {
width: 69px !important; margin-left: -28px;
} }
/deep/ .el-switch__label *{ /deep/ .el-switch_label {
font-size: 11px; height: 30px;
line-height: 30px;
}
/deep/.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
width: 26px;
height: 26px;
} }
/deep/.el-switch__label--left { /deep/.el-switch__label--left {
position: absolute; position: absolute;
left: 24px; left: 30px;
color: #fff; color: #fff;
z-index: -1111; z-index: -1111;
cursor: default; cursor: default;
user-select: none; user-select: none;
} }
/deep/.el-switch__label--right { /deep/.el-switch__label--right {
position: absolute; position: absolute;
right: 24px; right: 30px;
color: #fff; color: #fff;
z-index: -1111; z-index: -1111;
cursor: default; cursor: default;
user-select: none; user-select: none;
} }
/deep/.el-switch__label--right.is-active { /deep/.el-switch__label--right.is-active {
z-index: 1111; z-index: 1111;
color: grey !important; color: grey !important;
} }
/deep/.el-switch__label--left.is-active { /deep/.el-switch__label--left.is-active {
z-index: 1111; z-index: 1111;
color:#fff!important; color: #fff !important;
}
/deep/ .el-icon-folder-remove {
margin-right: 10px;
} }
</style> </style>
\ No newline at end of file
<template> <template>
<div class="main"> <div class="main">
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form :model="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem"> <el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择"> <el-select v-model="ruleForm.batchYear" placeholder="请选择">
<el-option label="2024年" value="2024"></el-option> <el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option> <el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option> <el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option> <el-option label="2021年" value="2021"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem"> <el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleForm.batchName" placeholder="请输入"></el-input> <el-input v-model="ruleForm.batchName" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="后评估状态:" prop="postEvalState" class="fromItem"> <el-form-item label="后评估状态:" prop="postEvalState" class="fromItem">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择"> <el-select v-model="ruleForm.postEvalState" placeholder="请选择">
<el-option label="未下发" value="0"></el-option> <el-option label="未下发" value="0"></el-option>
<el-option label="已下发" value="1"></el-option> <el-option label="已下发" value="1"></el-option>
<el-option label="已撤回" value="2"></el-option> <el-option label="已撤回" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="button"> <el-form-item class="button">
<el-button @click="submitForm()"> <el-button @click="submitForm()">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button <img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
> >
<el-button @click="resetForm('ruleForm')"> <el-button @click="resetForm('ruleForm')">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button <img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
> >
<el-button @click="sendQuestion()"> <el-button @click="sendQuestion()">
<i class="el-icon-chat-dot-square"></i>&nbsp;&nbsp;&nbsp;问题下发</el-button <i class="el-icon-chat-dot-square"></i
> >&nbsp;&nbsp;&nbsp;问题下发</el-button
<el-button @click="sendQuestions()" >
><i class="el-icon-chat-line-square"></i> &nbsp;&nbsp;问题批量下发 <el-button @click="sendQuestions()"
</el-button> ><i class="el-icon-chat-line-square"></i> &nbsp;&nbsp;问题批量下发
<el-button @click="withdraw()"> </el-button>
<i class="el-icon-folder-delete"></i>撤回 <el-button @click="withdraw()">
</el-button> <i class="el-icon-folder-delete"></i>撤回
</el-form-item> </el-button>
</el-form> </el-form-item>
<el-table </el-form>
@selection-change="handleSelectionChange" <el-table
ref="multipleTable" @selection-change="handleSelectionChange"
:data="tableData" ref="multipleTable"
tooltip-effect="dark" :data="tableData"
style="width: 100%" tooltip-effect="dark"
header-cell-class-name="custom-th-background" style="width: 100%"
class="eltable" header-cell-class-name="custom-th-background"
:row-class-name="tableRowClassName" class="eltable"
border :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="55" type="index"> </el-table-column>
<el-table-column label="批次年度" prop="batchYear"> </el-table-column> <el-table-column type="selection"> </el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> <el-table-column label="批次年度" prop="batchYear"> </el-table-column>
</el-table-column> <el-table-column prop="batchName" label="后评估批次名称">
</el-table-column>
<el-table-column prop="projectName" label="评估项目名称">
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段">
</el-table-column>
<el-table-column prop="createTime" label="历史审核状态">
</el-table-column>
<el-table-column prop="字段待确认" label="评审专家名单">
</el-table-column>
<el-table-column prop="字段待确认" label="问题申诉截止时间"> </el-table-column> <el-table-column prop="projectName" label="评估项目名称">
<el-table-column prop="字段待确认" label="问题整改截止时间"> </el-table-column> </el-table-column>
<el-table-column prop="字段待确认" label="问题下发状态"> </el-table-column> <el-table-column prop="projectCategory" label="建设形式">
<el-table-column prop="字段待确认" label="后评估状态"> </el-table-column> </el-table-column>
<el-table-column prop="reviewDate" label="评估日期"> </el-table-column> <el-table-column prop="projectStatus" label="项目建设阶段">
</el-table> </el-table-column>
<el-pagination <!-- <el-table-column prop="createTime" label="历史审核状态">
@size-change="handleSizeChange" </el-table-column> -->
@current-change="handleCurrentChange" <el-table-column prop="expertName" label="评审专家名单">
:current-page="currentPage" </el-table-column>
:page-sizes="[10, 15, 20, 50]"
:page-size="100" <el-table-column prop="appealDeadline" label="问题申诉截止时间">
layout="total, sizes, prev, pager, next, jumper" </el-table-column>
:total="total" <el-table-column prop="rectificationDeadline" label="问题整改截止时间">
class="elpagination" </el-table-column>
> <el-table-column prop="postEvalState" label="问题下发状态">
</el-pagination> </el-table-column>
<!-- 详情弹窗 --> <!-- <el-table-column prop="reviewStatus" label="后评估状态"> </el-table-column> -->
<el-dialog <el-table-column prop="reviewDate" label="评估日期"> </el-table-column>
title="提交评估材料" </el-table>
:visible.sync="dialogXQ" <el-pagination
width="90%" @size-change="handleSizeChange"
:modal-append-to-body="false" @current-change="handleCurrentChange"
:append-to-body="false" :current-page="currentPage"
> :page-sizes="[10, 15, 20, 50]"
<div class="dialog"> :page-size="100"
<el-form layout="total, sizes, prev, pager, next, jumper"
ref="formName" :total="total"
:model="ruleFormdialogBJ" class="elpagination"
label-width="100px" >
class="demo-ruleForm" </el-pagination>
:rules="rules" <!-- 详情弹窗 -->
> <el-dialog
<el-form-item label="批次年度:" prop="batchYear" class="fromItem"> title="问题下发"
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input> :visible.sync="dialogXQ"
</el-form-item> width="70%"
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem"> :modal-append-to-body="false"
<el-input v-model="ruleFormdialogBJ.batchName" disabled></el-input> :append-to-body="false"
</el-form-item> >
<el-form-item <div class="dialog">
label="计划评审日期:" <el-form
prop="planReviewDate" :model="ruleFormdialogBJ"
class="fromItem" label-width="100px"
> class="demo-ruleForm"
<el-input :rules="rules"
v-model="ruleFormdialogBJ.planReviewDate" disabled ref="formName"
></el-input> >
</el-form-item> <el-form-item
<el-form-item label="每位专家可评估项目数:" prop="prjsOfExpert" class="fromItem"> label="问题申诉截止时间:"
<el-input prop="appealDeadline"
v-model="ruleFormdialogBJ.prjsOfExpert" disabled class="fromItem"
></el-input> >
</el-form-item> <el-date-picker
<el-form-item label="工作组织情况:" class="textarea"> v-model="ruleFormdialogBJ.appealDeadline"
<el-input type="date"
type="textarea" placeholder="选择日期"
v-model="ruleFormdialogBJ.description" value-format="yyyy-MM-dd hh:mm:ss"
disabled >
></el-input> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item
</el-form> label="问题整改截止时间:"
prop="rectificationDeadline"
<p class="zjBtn"> class="fromItem"
待评估项目 >
</p> <el-date-picker
<el-table v-model="ruleFormdialogBJ.rectificationDeadline"
@selection-change="handleSelectionChange" type="date"
:data="addtableData" placeholder="选择日期"
tooltip-effect="dark" value-format="yyyy-MM-dd hh:mm:ss"
style="width: 100%" >
header-cell-class-name="custom-th-background" </el-date-picker>
class="eltable" </el-form-item>
:row-class-name="tableRowClassName" </el-form>
border <p class="Btn">
> <span @click="cancel()">取消</span><span @click="save()">确认</span>
<el-table-column label="序号" width="55" type="index"> </p>
</el-table-column> </div>
</el-dialog>
<el-table-column label="项目编码" width="auto" prop="projectId"> </div>
</el-table-column> </template>
<el-table-column prop="projectYear" label="项目下达年度" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="auto">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="auto">
</el-table-column>
<el-table-column prop="哪个字段" label="历史核查状态" width="auto">
</el-table-column>
<el-table-column prop="email" label="部门" width="auto">
</el-table-column>
<!-- <el-table-column fixed="right" label="操作" width="auto">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">删除</el-button>
</template>
</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()">确认发布</span>
</p> -->
</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="150px"
class="demo-ruleForm"
:rules="rules"
>
<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="每位专家可评估项目数:" prop="prjsOfExpert" class="fromItem">
<el-select
v-model="ruleFormdialogBJ.prjsOfExpert"
placeholder="请选择"
>
<el-option label="100" value="100"></el-option>
<el-option label="200" value="200"></el-option>
<el-option label="300" value="300"></el-option>
<el-option label="不限" value="不限"></el-option>
</el-select>
</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>
<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="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="auto">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="auto">
</el-table-column>
<el-table-column prop="哪个字段" label="历史核查状态" width="auto">
</el-table-column>
<el-table-column prop="email" label="部门" width="auto">
</el-table-column>
<el-table-column fixed="right" label="操作" width="auto">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">删除</el-button>
</template>
</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()">确认发布</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="projectYear" class="fromItem">
<el-select v-model="ruleFormZJ.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="projectId" class="fromItem">
<el-input
v-model="ruleFormZJ.projectId"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleFormZJ.projectName"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="项目内容:" prop="projectInfo" class="fromItem">
<el-input
v-model="ruleFormZJ.projectInfo"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="省公司计划文件号:" prop="字段待确认" class="fromItem">
<el-input
v-model="ruleFormZJ.fullName"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="信通公司计划文件号:" prop="字段待确认" class="fromItem">
<el-input
v-model="ruleFormZJ.fullName"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="建设形式:" prop="projectCategory" class="fromItem">
<el-select v-model="ruleFormZJ.projectCategory" 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="department" class="fromItem">
<el-select v-model="ruleFormZJ.department" 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="200" prop="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="200">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="200">
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="200">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="历史核查状态" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="是否处于正在执行批次" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="计划文号" width="300">
<el-table-column prop="expertLevel" label="省公司" width="auto">
</el-table-column>
<el-table-column prop="expertLevel" label="信通公司" width="auto">
</el-table-column>
</el-table-column>
<el-table-column label="总投资计划(万元)" width="300">
<el-table-column prop=" costAmountTotal" label="成本金" width="auto">
</el-table-column>
<el-table-column prop="capitalAmountTotal" label="资本金" width="auto">
</el-table-column>
</el-table-column>
<el-table-column label="当年投资计划(万元)" width="300">
<el-table-column prop="costAmountCurrentMfdel" label="成本金" width="auto">
</el-table-column>
<el-table-column prop="capitalAmountCurrentMfdel" label="资本金" width="200">
</el-table-column>
</el-table-column>
<el-table-column prop="department" label="部门" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="承建单位" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="项目经理" width="200">
</el-table-column>
<el-table-column prop="projectInfo" label="项目内容" width="200">
</el-table-column>
<el-table-column prop="inputuser" label="创建人" width="200">
</el-table-column>
<el-table-column prop="inputtime" label="创建时间" width="200">
</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>
</div>
</template>
<script> <script>
import { import {
problemAssistedDistribution,chproblemAssistedDistribution,wtplxfproblemAssistedDistribution,wtxfproblemAssistedDistribution problemAssistedDistribution,
wtplxfproblemAssistedDistribution,
} from "@/api/index"; chproblemAssistedDistribution
export default { } from "@/api/index";
data() { export default {
return { data() {
ruleForm: { return {
batchYear: "", ruleForm: {
batchName: "", batchYear: "",
postEvalState: "", batchName: "",
}, postEvalState: "",
ruleFormdialog: { },
batchYear: "", ruleFormdialogBJ: {
batchName: "", appealDeadline: "",
planReviewDate: "", rectificationDeadline: "",
fullName: "", },
}, rules: {
ruleFormZJ: { appealDeadline: [
fields: "", {
expertState: "", required: true,
fullName: "", message: "请选择问题申诉截止时间",
}, trigger: "change",
ruleFormdialogAdd: { },
batchYear: "", ],
batchName: "", rectificationDeadline: [
planReviewDate: "", {
description: "", required: true,
remark: "", message: "问题整改截止时间",
}, trigger: "change",
ruleFormdialogBJ: { },
batchYear: "", ],
batchName: "", },
planReviewDate: "", tableData: [],
prjsOfExpert:"", checkedList: [],
description: "", currentPage: 1,
}, pageSizetjcl: 10,
rules: { total: 0,
prjsOfExpert: [ dialogXQ: false,
{ required: true, message: "请选择每位专家可评估项目数", trigger: "prjsOfExpert" }, pageSize: 10,
], };
},
}, mounted() {
tableData: [], this.submitForm();
tableDataQD: [], //清单列表 },
checkedList: [], methods: {
currentPage: 1, async submitForm(formName) {
currentPagetjcl: 1, let params = {
pageSizetjcl: 10, current: this.currentPage,
total: 0, pageSize: this.pageSize,
dialogXQ: false, };
currentPageBJ:1, Object.assign(params, this.ruleForm);
pageSizeBJ:10, console.log(params);
let res = await problemAssistedDistribution(params);
dialogAdd: false, if (res.code == "200") {
dialogAddzj: false, this.tableData = res.data.records;
pageSize: 10, this.tableData.forEach((item) => {
current: 1, if (item.reviewStatus == "1") {
pageSizeZJ: 10, this.$set(item, "postEvalState", "已下发");
currentZJ: 1, } else if (item.reviewStatus == "2") {
addtotal: 0, this.$set(item, "postEvalState", "已撤回");
currentAdd: 1, } else {
pageSizeAdd: 10, this.$set(item, "postEvalState", "未下发");
currentedit: 1, }
pageSizeedit: 10, });
xfParam: "", this.total = res.data.total * 1;
dialogedit: false, }
expertIdList: [], },
totalBJ:0, resetForm() {
addZJList: [], this.$refs[formName].resetFields();
expertState: "", this.currentPage = 1;
fields: "", this.pageSize = 10;
zjfullName: "", this.submitForm();
zjtotal: 0, },
zjtableData: [],
addcurrentPage: 1, //问题下发
addtableData: [], sendQuestion() {
message: {}, if (this.checkedList.length != 1) {
}; this.$message("请选择一条数据进行下发");
}, return;
mounted() { } else {
this.submitForm(); if (this.checkedList[0].reviewStatus == 1) {
}, this.$message("该项目已下发");
methods: { return;
async submitForm(formName) { }
let params = { let params = {
current: this.currentPage, projectId: this.checkedList[0].projectId,
pageSize: this.pageSize, batchId: this.checkedList[0].batchId,
}; };
Object.assign(params, this.ruleForm); this.$router.push({
console.log(params); path: "/mainLayout/Compliancexf",
(this.tableData = [ query: {
{ clqparams: JSON.stringify(params),
expertId: 1, },
fullName: "王小明", });
gender: 1, }
birthday: "2024-04-23", },
compId: 10001, //问题批量下发
qualification: "硕士", sendQuestions() {
contact: "13241375678", try {
email: "115485@qq.com", this.checkedList.forEach((item) => {
fields: "1", if (item.reviewStatus == 1) {
expertLevel: 1, this.$message("请选择未下发的项目");
description: "1", throw new Error("退出forEach循环!");
expertState: 1, }
creator: 1, });
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
]),
(this.total = 2);
return;
let res = await problemAssistedDistribution(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.total = res.data.total * 1;
}
},
resetForm() {
this.$refs[formName].resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
console.log("222",this.checkedList);
this.dialogXQ = true; this.dialogXQ = true;
this.ruleFormdialogBJ=this.checkedList[0] } catch (e) {
let params={ console.log(e);
// current:1, }
// pageSize:10,
} //
Object.assign(params, this.ruleFormdialogAdd);
let res=await joinProjectInfo(params) },
if (res.code == "200") { cancel() {
this.tableData = res.data.records; this.dialogXQ = false;
// this.total = res.data.total * 1; },
} async save() {
let batchStrList = "";
}, let prjStrList = "";
//确认评估项目
async configs(){ this.checkedList.forEach((item) => {
// 只能选中状态待评估的 batchStrList = batchStrList.concat(item.batchId + ",");
if (this.checkedList.length != 1) { prjStrList = prjStrList.concat(item.projectId + ",");
this.$message("请选择"); });
return;
} let params = {
this.ruleFormdialogBJ=this.checkedList[0] batchStr: batchStrList,
this.dialogAdd=true prjStr: prjStrList,
let params={
// current:1, ...this.ruleFormdialogBJ,
// pageSize:10, };
} console.log(params, "222");
Object.assign(params, this.ruleFormdialogAdd); let res = await wtplxfproblemAssistedDistribution(params);
let res=await joinProjectInfo(params) if (res.code == "200") {
if (res.code == "200") { this.dialogXQ = false;
this.tableData = res.data.records; } else {
// this.total = res.data.total * 1; this.$message("下发失败");
} }
}, },
//表格颜色 //表格颜色
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return "warning-row"; return "warning-row";
} }
return ""; return "";
}, },
//主列表选中行信息 //主列表选中行信息
handleSelectionChange(selection) { handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) { this.checkedList = this.$refs.multipleTable.selection;
this.$refs.multipleTable.toggleRowSelection(selection[0], false); // if (Array.isArray(selection) && selection.length > 1) {
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.ruleFormdialog = this.checkedList[0]; // this.checkedList = this.$refs.multipleTable.selection;
console.log(this.checkedList, "2222"); // this.ruleFormdialog = this.checkedList[0];
}, // console.log(this.checkedList, "2222");
handleSizeChange(val) { },
console.log(`每页 ${val} 条`); handleSizeChange(val) {
this.pageSize = val; console.log(`每页 ${val} 条`);
}, this.pageSize = val;
handleCurrentChange(val) { },
console.log(`当前页: ${val}`); handleCurrentChange(val) {
this.currentPage = val; console.log(`当前页: ${val}`);
}, this.currentPage = val;
handleSizeChangeZJ(val) { },
console.log(`每页 ${val} 条`);
this.pageSizeZJ = val; //点击撤回
}, async withdraw() {
handleCurrentChangeZJ(val) { //只能选择已下发未确认的 这块需要加一下
console.log(`当前页: ${val}`); if (this.checkedList.length != 1) {
this.currentZJ = val; this.$message("请选择");
}, return;
handleSizeChangeAdd(val) { }
this.pageSizeAdd = val; if (this.checkedList[0].postEvalState == "未下发") {
}, this.$message("该项目未下发");
handleCurrentChangeAdd(val) { return;
this.currentAdd = val; }
}, if (this.checkedList[0].postEvalState == "已撤回") {
this.$message("该项目已撤回");
handleCurrentChangeBJ(val) { return;
console.log(`当前页: ${val}`); }
this.currentPageBJ = val; let params = {
}, projectId: this.checkedList[0].projectId,
//选择项目 batchId: this.checkedList[0].batchId,
saveZJ() { };
if (this.addZJList.length < 1) { let res = await chproblemAssistedDistribution(params);
this.$message("请选择项目"); if (res.code == "200") {
return; this.resetForm()
} } else {
this.addtableData=this.addZJList; this.$message("撤回失败");
console.log(this.addtableData, "addtableData"); }
this.addtotal = this.addtableData.length; },
this.dialogAddzj = false; },
}, };
cancelZJ() { </script>
this.dialogAddzj = false;
},
async xzExperts() {
this.dialogAddzj = true;
let params = {
current: this.currentZJ,
pageSize: this.pageSizeZJ,
};
Object.assign(params, this.ruleFormZJ);
let res = await getProjectInfo(params);
this.zjtableData = res.data.records;
// this.zjtotal = res.data.total * 1;
console.log(res, "xxx");
},
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 = [];
// this.addZJList.forEach((item) => {
// expertIdList.push(item.expertId);
// });
// let expertStr = JSON.stringify(expertIdList).slice(1, -1);
// console.log(expertIdList, "expertIdList", expertStr);
// let params = {
// expertStr: expertStr,
// };
// Object.assign(params, this.ruleFormdialogAdd);
// this.xfParams = JSON.parse(JSON.stringify(params));
// console.log(params, "222");
// fbProjectInfo(params).then((res) => {
// this.dialogAdd = false;
// this.expertIdList=expertIdList
// this.resetForm();
// });
}
});
// this.$emit("listenToChildEvent", "reset");
// }
},
cancelXZ() {
this.dialogAdd = false;
},
//选中的专家
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection;
console.log(this.$refs.multipleTableZJ.selection, "2222");
},
//点击删除
async handleClick(index, row) {
console.log("删除",index, row)
let params={
}
let res = await delProjectInfo(row);
// this.configs()
},
//点击撤回
async withdraw(){
//只能选择已下发未确认的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
let res= await chProjectInfo(this.checkedList[0])
},
},
};
</script>
<style scoped lang="scss"> <style scoped lang="scss">
.main { .main {
font-size: 14px; font-size: 14px;
position: relative; position: relative;
height: 100%; height: 100%;
width: 100%; width: 100%;
box-sizing: border-box; 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;
}
} }
.el-form { /deep/ .el-form-item__content {
display: flex; text-align: left;
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 { /deep/ .el-form-item__label {
box-sizing: border-box; font-weight: bold;
text-align: center; color: #000;
width: 160px !important;
} }
/deep/ .el-table .warning-row { .button {
background: #f0ffff; display: inline-block;
color: #2785e6; 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;
}
} }
.elpagination { }
text-align: right; .eltable {
margin-right: 100px; box-sizing: border-box;
} text-align: center;
/deep/ .el-dialog { }
border-radius: 10px; /deep/ .el-table .warning-row {
} background: #f0ffff;
/deep/.el-table th.el-table__cell.is-leaf, .el-table td.el-table__cell{ color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center; text-align: center;
}
/deep/ .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
} }
/deep/ .el-dialog__wrapper { }
position: absolute; /deep/ .el-table__header th {
background-color: #eeeeee;
font-weight: bold;
.cell {
color: #333;
} }
/deep/ .v-modal { }
position: absolute;
/deep/.el-table {
// width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
// width: 100% !important;
} }
/deep/ .el-dialog__header { .el-table__body,
background-color: #0d867f; .el-table__footer,
padding-bottom: 20px; .el-table__header {
text-align: left; table-layout: auto;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
}
} }
/deep/ .el-table__header th { }
background-color: #eeeeee;
font-weight: bold; .textarea {
.cell { width: 100%;
color: #333; .el-textarea {
} width: 60%;
} }
}
/deep/.el-table { .Btn {
// width: 100%; width: 200px;
.el-table__header-wrapper table, margin: 0 auto;
.el-table__body-wrapper table { span {
// width: 100% !important; display: inline-block;
} width: 80px;
.el-table__body, height: 25px;
.el-table__footer, line-height: 25px;
.el-table__header { text-align: center;
table-layout: auto; border-radius: 4px;
} margin-right: 12px;
} }
.dialog { span:first-of-type {
.xqtitle { border: 1px solid #000;
text-align: left;
font-size: 18px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
vertical-align: middle;
}
}
} }
.textarea { span:last-of-type {
width: 100%; background-color: #0d867f;
.el-textarea { border: 1px solid #0d867f;
width: 60%; color: #fff;
}
} }
.Btn { }
width: 200px; /deep/ .el-dialog__headerbtn .el-dialog__close {
margin: 0 auto; color: #fff;
span { }
display: inline-block; .zjBtn {
width: 80px; width: 400px;
height: 25px; text-align: left;
line-height: 25px; vertical-align: middle;
text-align: center; span {
border-radius: 4px; display: inline-block;
margin-right: 12px; width: 140px;
} height: 25px;
span:first-of-type { line-height: 25px;
border: 1px solid #000; text-align: center;
} border-radius: 5px;
span:last-of-type { vertical-align: middle;
background-color: #0d867f;
border: 1px solid #0d867f;
color: #fff;
}
} }
/deep/ .el-dialog__headerbtn .el-dialog__close { span:last-of-type {
color: #fff; background-color: #4ca6a7;
color: #fff;
padding: 5px 10px;
margin-left: 10px;
} }
.zjBtn { }
width:400px; /deep/ .el-icon-position {
text-align: left; margin-right: 10px;
vertical-align: middle; }
span { /deep/ .el-icon-folder-delete {
display: inline-block; margin-right: 10px;
width:140px; }
height: 25px; .cxItem {
line-height: 25px; text-align: right;
text-align: center; width: 20%;
border-radius: 5px; .zjquery {
vertical-align: middle; display: inline-block;
} background-color: #4ca6a7;
span:last-of-type { width: 89px;
background-color: #4ca6a7; height: 40px;
color: #fff; color: #fff;
padding: 5px 10px; text-align: center;
margin-left: 10px; line-height: 40px;
} border-radius: 5px;
} }
/deep/ .el-icon-position { }
margin-right: 10px; .midBtn {
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
} }
/deep/ .el-icon-folder-delete { span:first-of-type {
margin-right: 10px; border: 1px solid grey;
} }
.cxItem { span:last-of-type {
text-align: right; background-color: #4ca6a7;
width: 20%; color: #fff;
.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; .dialog {
span { .xqtitle {
display: inline-block; text-align: left;
width: 80px; font-size: 18px;
height: 25px; span {
line-height: 25px; display: inline-block;
text-align: center; width: 5px;
margin-right: 10px; height: 20px;
border-radius: 5px; background: #0d867f;
} margin-right: 14px;
span:first-of-type { vertical-align: middle;
border: 1px solid grey; }
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
}
} }
/deep/ .el-form {
</style> width: 65%;
\ No newline at end of file flex-wrap: wrap;
padding: 0 10px;
text-align: center;
margin: 100px auto;
border: none;
.fromItem {
text-align: center;
width: 51%;
margin: 0 auto;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
text-align: left;
}
/deep/ .el-form-item__label {
font-weight: 400;
// color: #000;
width: 160px !important;
}
}
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
</style>
\ No newline at end of file
...@@ -293,8 +293,6 @@ export default { ...@@ -293,8 +293,6 @@ export default {
console.log("222"); console.log("222");
// this.dialog = true; // this.dialog = true;
let params = { let params = {
current: this.currentPage,
pageSize: this.pageSize,
projectId:this.checkedList[0].projectId, projectId:this.checkedList[0].projectId,
batchId:this.checkedList[0].batchId batchId:this.checkedList[0].batchId
}; };
......
...@@ -27,9 +27,14 @@ ...@@ -27,9 +27,14 @@
<el-button @click="resetForm('ruleForm')"> <el-button @click="resetForm('ruleForm')">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button <img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
> >
<!-- <el-button @click="sendQuestion()">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;问题下发</el-button
> -->
<el-button @click="detailsForm('ruleForm')"> <el-button @click="detailsForm('ruleForm')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button <img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
> >
</el-form-item>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
...@@ -55,15 +60,18 @@ ...@@ -55,15 +60,18 @@
</el-table-column> </el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段"> <el-table-column prop="projectStatus" label="项目建设阶段">
</el-table-column> </el-table-column>
<el-table-column prop="createTime" label="历史审核状态"> <!-- <el-table-column prop="createTime" label="历史审核状态">
</el-table-column> -->
<el-table-column prop="expertName" label="评审专家名单">
</el-table-column> </el-table-column>
<el-table-column prop="字段待确认" label="评审专家名单">
<el-table-column prop="appealDeadline" label="问题申诉截止时间">
</el-table-column> </el-table-column>
<el-table-column prop="rectificationDeadline" label="问题整改截止时间">
<el-table-column prop="字段待确认" label="问题申诉截止时间"> </el-table-column> </el-table-column>
<el-table-column prop="字段待确认" label="问题整改截止时间"> </el-table-column> <el-table-column prop="postEvalState" label="问题下发状态">
<el-table-column prop="字段待确认" label="问题下发状态"> </el-table-column> </el-table-column>
<el-table-column prop="字段待确认" label="后评估状态"> </el-table-column> <!-- <el-table-column prop="reviewStatus" label="后评估状态"> </el-table-column> -->
<el-table-column prop="reviewDate" label="评估日期"> </el-table-column> <el-table-column prop="reviewDate" label="评估日期"> </el-table-column>
</el-table> </el-table>
<el-pagination <el-pagination
...@@ -79,368 +87,58 @@ ...@@ -79,368 +87,58 @@
</el-pagination> </el-pagination>
<!-- 详情弹窗 --> <!-- 详情弹窗 -->
<el-dialog <el-dialog
title="提交评估材料" title="问题下发"
:visible.sync="dialogXQ" :visible.sync="dialogXQ"
width="90%" width="70%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
> >
<div class="dialog"> <div class="dialog">
<el-form <el-form
ref="formName"
:model="ruleFormdialogBJ" :model="ruleFormdialogBJ"
label-width="100px" label-width="100px"
class="demo-ruleForm" class="demo-ruleForm"
:rules="rules" :rules="rules"
ref="formName"
> >
<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 <el-form-item
label="计划评审日期:" label="问题申诉截止时间:"
prop="planReviewDate" prop="appealDeadline"
class="fromItem" class="fromItem"
> >
<el-input <el-date-picker
v-model="ruleFormdialogBJ.planReviewDate" disabled v-model="ruleFormdialogBJ.appealDeadline"
></el-input> type="date"
</el-form-item> placeholder="选择日期"
<el-form-item label="每位专家可评估项目数:" prop="prjsOfExpert" class="fromItem"> value-format="yyyy-MM-dd hh:mm:ss"
<el-input >
v-model="ruleFormdialogBJ.prjsOfExpert" disabled </el-date-picker>
></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>
<p class="zjBtn">
待评估项目
</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="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="auto">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="auto">
</el-table-column>
<el-table-column prop="哪个字段" label="历史核查状态" width="auto">
</el-table-column>
<el-table-column prop="email" label="部门" width="auto">
</el-table-column>
<!-- <el-table-column fixed="right" label="操作" width="auto">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">删除</el-button>
</template>
</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()">确认发布</span>
</p> -->
</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="150px"
class="demo-ruleForm"
:rules="rules"
>
<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>
<el-form-item <el-form-item
label="计划评审日期:" label="问题整改截止时间:"
prop="planReviewDate" prop="rectificationDeadline"
class="fromItem" class="fromItem"
> >
<el-input <el-date-picker
v-model="ruleFormdialogBJ.planReviewDate" disabled v-model="ruleFormdialogBJ.rectificationDeadline"
></el-input> type="date"
</el-form-item> placeholder="选择日期"
<el-form-item label="每位专家可评估项目数:" prop="prjsOfExpert" class="fromItem"> value-format="yyyy-MM-dd hh:mm:ss"
<el-select
v-model="ruleFormdialogBJ.prjsOfExpert"
placeholder="请选择"
> >
<el-option label="100" value="100"></el-option> </el-date-picker>
<el-option label="200" value="200"></el-option>
<el-option label="300" value="300"></el-option>
<el-option label="不限" value="不限"></el-option>
</el-select>
</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>
<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="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="auto">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="auto">
</el-table-column>
<el-table-column prop="哪个字段" label="历史核查状态" width="auto">
</el-table-column>
<el-table-column prop="email" label="部门" width="auto">
</el-table-column>
<el-table-column fixed="right" label="操作" width="auto">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">删除</el-button>
</template>
</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()">确认发布</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="projectYear" class="fromItem">
<el-select v-model="ruleFormZJ.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="projectId" class="fromItem">
<el-input
v-model="ruleFormZJ.projectId"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleFormZJ.projectName"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="项目内容:" prop="projectInfo" class="fromItem">
<el-input
v-model="ruleFormZJ.projectInfo"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="省公司计划文件号:" prop="字段待确认" class="fromItem">
<el-input
v-model="ruleFormZJ.fullName"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="信通公司计划文件号:" prop="字段待确认" class="fromItem">
<el-input
v-model="ruleFormZJ.fullName"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="建设形式:" prop="projectCategory" class="fromItem">
<el-select v-model="ruleFormZJ.projectCategory" 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="department" class="fromItem">
<el-select v-model="ruleFormZJ.department" 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-item>
</el-form> </el-form>
<el-table <p class="Btn">
@selection-change="handleSelectionChangeZJ" <span @click="cancel()">取消</span><span @click="save()">确认</span>
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="200" prop="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="200">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="200">
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="200">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="历史核查状态" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="是否处于正在执行批次" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="计划文号" width="300">
<el-table-column prop="expertLevel" label="省公司" width="auto">
</el-table-column>
<el-table-column prop="expertLevel" label="信通公司" width="auto">
</el-table-column>
</el-table-column>
<el-table-column label="总投资计划(万元)" width="300">
<el-table-column prop=" costAmountTotal" label="成本金" width="auto">
</el-table-column>
<el-table-column prop="capitalAmountTotal" label="资本金" width="auto">
</el-table-column>
</el-table-column>
<el-table-column label="当年投资计划(万元)" width="300">
<el-table-column prop="costAmountCurrentMfdel" label="成本金" width="auto">
</el-table-column>
<el-table-column prop="capitalAmountCurrentMfdel" label="资本金" width="200">
</el-table-column>
</el-table-column>
<el-table-column prop="department" label="部门" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="承建单位" width="200">
</el-table-column>
<el-table-column prop="字段待确认" label="项目经理" width="200">
</el-table-column>
<el-table-column prop="projectInfo" label="项目内容" width="200">
</el-table-column>
<el-table-column prop="inputuser" label="创建人" width="200">
</el-table-column>
<el-table-column prop="inputtime" label="创建时间" width="200">
</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> </p>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
fzcxpostSelect,WtqdpostSelect fzcxpostSelect
} from "@/api/index"; } from "@/api/index";
export default { export default {
data() { data() {
...@@ -450,72 +148,33 @@ ...@@ -450,72 +148,33 @@
batchName: "", batchName: "",
postEvalState: "", postEvalState: "",
}, },
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
},
ruleFormZJ: {
fields: "",
expertState: "",
fullName: "",
},
ruleFormdialogAdd: {
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
},
ruleFormdialogBJ: { ruleFormdialogBJ: {
batchYear: "", appealDeadline: "",
batchName: "", rectificationDeadline: "",
planReviewDate: "",
prjsOfExpert:"",
description: "",
}, },
rules: { rules: {
prjsOfExpert: [ appealDeadline: [
{ required: true, message: "请选择每位专家可评估项目数", trigger: "prjsOfExpert" }, {
required: true,
message: "请选择问题申诉截止时间",
trigger: "change",
},
],
rectificationDeadline: [
{
required: true,
message: "问题整改截止时间",
trigger: "change",
},
], ],
}, },
tableData: [], tableData: [],
tableDataQD: [], //清单列表
checkedList: [], checkedList: [],
currentPage: 1, currentPage: 1,
currentPagetjcl: 1,
pageSizetjcl: 10, pageSizetjcl: 10,
total: 0, total: 0,
dialogXQ: false, dialogXQ: false,
currentPageBJ:1,
pageSizeBJ:10,
dialogAdd: false,
dialogAddzj: false,
pageSize: 10, 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() { mounted() {
...@@ -529,71 +188,18 @@ ...@@ -529,71 +188,18 @@
}; };
Object.assign(params, this.ruleForm); Object.assign(params, this.ruleForm);
console.log(params); console.log(params);
(this.tableData = [
{
expertId: 1,
fullName: "王小明",
gender: 1,
birthday: "2024-04-23",
compId: 10001,
qualification: "硕士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 2,
fullName: "李晓帅",
gender: 0,
birthday: "2024-04-23",
compId: 10001,
qualification: "博士",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
{
expertId: 3,
fullName: "张晓楠",
gender: 1,
birthday: "2024-04-23",
compId: 10002,
qualification: "博士后",
contact: "13241375678",
email: "115485@qq.com",
fields: "1",
expertLevel: 1,
description: "1",
expertState: 1,
creator: 1,
createTime: "2024-04-23 14:47:07",
lastUpdatedby: 1,
lastUpdateTime: "2024-04-23 14:47:12",
column14: 1,
},
]),
(this.total = 2);
return;
let res = await fzcxpostSelect(params); let res = await fzcxpostSelect(params);
if (res.code == "200") { if (res.code == "200") {
this.tableData = res.data.records; this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.reviewStatus == "1") {
this.$set(item, "postEvalState", "已下发");
} else if (item.reviewStatus == "2") {
this.$set(item, "postEvalState", "已撤回");
} else {
this.$set(item, "postEvalState", "未下发");
}
});
this.total = res.data.total * 1; this.total = res.data.total * 1;
} }
}, },
...@@ -603,47 +209,32 @@ ...@@ -603,47 +209,32 @@
this.pageSize = 10; this.pageSize = 10;
this.submitForm(); this.submitForm();
}, },
//详情
async detailsForm() { //问题下发
if (this.checkedList.length != 1) { detailsForm() {
this.$message("请选择");
return;
}
console.log("222",this.checkedList);
this.dialogXQ = true;
this.ruleFormdialogBJ=this.checkedList[0]
let params={
// current:1,
// pageSize:10,
}
Object.assign(params, this.ruleFormdialogAdd);
let res=await joinProjectInfo(params)
if (res.code == "200") {
this.tableData = res.data.records;
// this.total = res.data.total * 1;
}
},
//确认评估项目
async configs(){
// 只能选中状态待评估的
if (this.checkedList.length != 1) { if (this.checkedList.length != 1) {
this.$message("请选择"); this.$message("请选择一条数据进行下发");
return; return;
} } else {
this.ruleFormdialogBJ=this.checkedList[0] let params = {
this.dialogAdd=true projectId: this.checkedList[0].projectId,
let params={ batchId: this.checkedList[0].batchId,
// current:1, };
// pageSize:10, this.$router.push({
} path: "/mainLayout/Compliancexf",
Object.assign(params, this.ruleFormdialogAdd); query: {
let res=await joinProjectInfo(params) clqparams: JSON.stringify(params),
if (res.code == "200") { fromType:'fzcx',
this.tableData = res.data.records; Form:{
// this.total = res.data.total * 1; appealDeadline:this.checkedList[0].appealDeadline,
rectificationDeadline:this.checkedList[0].rectificationDeadline,
}
},
});
} }
}, },
//表格颜色 //表格颜色
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
...@@ -669,122 +260,10 @@ ...@@ -669,122 +260,10 @@
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.currentPage = val; this.currentPage = val;
}, },
handleSizeChangeZJ(val) {
console.log(`每页 ${val} 条`);
this.pageSizeZJ = val;
},
handleCurrentChangeZJ(val) {
console.log(`当前页: ${val}`);
this.currentZJ = val;
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val;
},
handleCurrentChangeAdd(val) {
this.currentAdd = val;
},
handleCurrentChangeBJ(val) {
console.log(`当前页: ${val}`);
this.currentPageBJ = val;
},
//选择项目
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;
},
async xzExperts() {
this.dialogAddzj = true;
let params = {
current: this.currentZJ,
pageSize: this.pageSizeZJ,
};
Object.assign(params, this.ruleFormZJ);
let res = await getProjectInfo(params);
this.zjtableData = res.data.records;
// this.zjtotal = res.data.total * 1;
console.log(res, "xxx");
},
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 = [];
// this.addZJList.forEach((item) => {
// expertIdList.push(item.expertId);
// });
// let expertStr = JSON.stringify(expertIdList).slice(1, -1);
// console.log(expertIdList, "expertIdList", expertStr);
// let params = {
// expertStr: expertStr,
// };
// Object.assign(params, this.ruleFormdialogAdd);
// this.xfParams = JSON.parse(JSON.stringify(params));
// console.log(params, "222");
// fbProjectInfo(params).then((res) => {
// this.dialogAdd = false;
// this.expertIdList=expertIdList
// this.resetForm();
// });
}
});
// this.$emit("listenToChildEvent", "reset");
// }
},
cancelXZ() {
this.dialogAdd = false;
},
//选中的专家
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection;
console.log(this.$refs.multipleTableZJ.selection, "2222");
},
//点击删除
async handleClick(index, row) {
console.log("删除",index, row)
let params={
}
let res = await delProjectInfo(row);
// this.configs()
},
//点击撤回
async withdraw(){
//只能选择已下发未确认的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
let res= await chProjectInfo(this.checkedList[0])
},
}, },
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.main { .main {
font-size: 14px; font-size: 14px;
position: relative; position: relative;
...@@ -857,8 +336,9 @@ ...@@ -857,8 +336,9 @@
/deep/ .el-dialog { /deep/ .el-dialog {
border-radius: 10px; border-radius: 10px;
} }
/deep/.el-table th.el-table__cell.is-leaf, .el-table td.el-table__cell{ /deep/.el-table th.el-table__cell.is-leaf,
text-align: center; .el-table td.el-table__cell {
text-align: center;
} }
/deep/ .el-dialog__wrapper { /deep/ .el-dialog__wrapper {
position: absolute; position: absolute;
...@@ -895,21 +375,7 @@ ...@@ -895,21 +375,7 @@
table-layout: auto; 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 { .textarea {
width: 100%; width: 100%;
.el-textarea { .el-textarea {
...@@ -941,12 +407,12 @@ ...@@ -941,12 +407,12 @@
color: #fff; color: #fff;
} }
.zjBtn { .zjBtn {
width:400px; width: 400px;
text-align: left; text-align: left;
vertical-align: middle; vertical-align: middle;
span { span {
display: inline-block; display: inline-block;
width:140px; width: 140px;
height: 25px; height: 25px;
line-height: 25px; line-height: 25px;
text-align: center; text-align: center;
...@@ -999,4 +465,54 @@ ...@@ -999,4 +465,54 @@
color: #fff; color: #fff;
} }
} }
.dialog {
.xqtitle {
text-align: left;
font-size: 18px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
vertical-align: middle;
}
}
/deep/ .el-form {
width: 65%;
flex-wrap: wrap;
padding: 0 10px;
text-align: center;
margin: 100px auto;
border: none;
.fromItem {
text-align: center;
width: 51%;
margin: 0 auto;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
text-align: left;
}
/deep/ .el-form-item__label {
font-weight: 400;
// color: #000;
width: 160px !important;
}
}
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
</style> </style>
\ No newline at end of file
<template>
<div class="main">
<div class="close">
<i class="el-icon-circle-close" @click="cancel()"></i>
</div>
<p class="title">国网辽宁电力-桌面终端管理系统合规性检查评估</p>
<div class="continer">
<p class="xqtitle"><span></span>问题清单</p>
<el-table
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
:span-method="arraySpanMethod"
border
>
<el-table-column label="项目环节" prop="projectStagetext" width="150">
</el-table-column>
<el-table-column label="序号" width="100" prop="questionId">
</el-table-column>
<el-table-column label="问题检查项" prop="quesCheckItem">
</el-table-column>
<el-table-column label="检查说明" prop="checkDesc"> </el-table-column>
<el-table-column label="评估问题" prop="evalQues">
<!-- <template slot-scope="scope">
<el-input v-model="scope.row.evalQues"></el-input>
</template> -->
</el-table-column>
</el-table>
</div>
<div class="bottom">
<p class="JYtitle"><span></span>问题下发要求</p>
<el-form
:model="ruleForm"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
ref="formName"
>
<el-form-item
label="问题申诉截止时间:"
prop="appealDeadline"
class="fromItem"
>
<el-date-picker
v-model="ruleForm.appealDeadline"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd hh:mm:ss"
:disabled="fromType"
>
</el-date-picker>
</el-form-item>
<el-form-item
label="问题整改截止时间:"
prop="rectificationDeadline"
class="fromItem"
>
<el-date-picker
v-model="ruleForm.rectificationDeadline"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd hh:mm:ss"
:disabled="fromType"
>
</el-date-picker>
</el-form-item>
</el-form>
<p class="Btn" v-if="!fromType">
<span @click="cancel()">取消</span>
<span @click="confirm()">下发</span>
</p>
</div>
</div>
</template>
<script>
import {
selWtqdpostEvalQuesInfo,
wtxfproblemAssistedDistribution,
} from "@/api/index";
export default {
data() {
return {
tableData: [],
mergingRows: [],
mergingPos: 0,
clqparams: {},
textarea1: "",
ruleForm: {
appealDeadline: "",
rectificationDeadline: "",
},
rules: {
appealDeadline: [
{
required: true,
message: "请选择问题申诉截止时间",
trigger: "change",
},
],
rectificationDeadline: [
{
required: true,
message: "问题整改截止时间",
trigger: "change",
},
],
},
fromType:false,
};
},
mounted() {
this.clqparams = JSON.parse(this.$route.query.clqparams);
if (this.$route.query.fromType == "fzcx") {
this.fromType = true;
this.ruleForm=this.$route.query.Form
}
console.log(this.fromType,'this.fromType')
console.log(this.clqparams, "this.clqparams");
this.init(this.clqparams);
},
methods: {
async init(type) {
let params = type;
console.log(params, "333");
let res = await selWtqdpostEvalQuesInfo(params);
console.log(res, "0000");
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
switch (item.projectStage) {
case 1:
this.$set(item, "projectStagetext", "1.可研");
break;
case 2:
this.$set(item, "projectStagetext", "2.计划");
break;
case 3:
this.$set(item, "projectStagetext", "3.采购");
break;
case 4:
this.$set(item, "projectStagetext", "4.合同");
break;
case 5:
this.$set(item, "projectStagetext", "5.执行");
break;
case 6:
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
this.total = res.data.total * 1;
this.dataPretreatment();
}
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
return "";
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
dataPretreatment() {
for (let i = 0; i < this.tableData.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.tableData[i].projectStage ===
this.tableData[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
},
cancel() {
this.$router.go(-1);
},
//确认更改
async confirm() {
this.$refs.formName.validate((valid) => {
if (!valid) {
console.log("error submit!!");
return false;
}
});
let params = {
projectId: this.clqparams.projectId,
batchId: this.clqparams.batchId,
...this.ruleForm,
};
console.log(params, "222");
let res = await wtxfproblemAssistedDistribution(params);
if (res.code == "200") {
this.$router.go(-1);
} else {
this.$message("下发失败");
}
},
},
};
</script>
<style lang="scss" scoped>
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
.bottom {
width: 99%;
position: absolute;
// height: 80px;
bottom: 150px;
right: 0;
// left: 50%;
z-index: 100;
// transform: translate(-50%);
background-color: #f5f5f6;
line-height: 62px;
.textarea {
margin-top: 1px;
}
.Btn {
span {
display: inline-block;
width: 95px;
height: 30px;
line-height: 30px;
text-align: center;
border-radius: 5px;
margin-right: 32px;
background-color: #0d867f;
border: 1px solid #0d867f;
color: #fff;
}
span:first-of-type {
border: 1px solid grey;
color: #000;
background-color: #fff;
}
}
}
.JYtitle {
width: 100%;
height: 20px;
text-align: left;
font-size: 18px;
// margin-top: 1px;
padding-left: 10px;
line-height: 20px;
span {
display: inline-block;
width: 5px;
height: 30px;
background: #0d867f;
margin-right: 24px;
vertical-align: middle;
border-radius: 3px;
}
}
}
.close {
position: absolute;
right: 20px;
top: 20px;
.el-icon-circle-close {
font-size: 30px;
// background-color: #0d867f;
// color: #fff;
}
}
.title {
text-align: left;
background-color: #fff;
height: 40px;
line-height: 40px;
color: grey;
font-size: 15px;
}
.continer {
width: 100%;
height: 800px;
overflow-y: auto;
background-color: #f5f5f6;
padding: 10px;
padding-top: 0;
// display: flex;
// padding: 0 20px;
padding-bottom: 200px;
position: relative;
}
.tableTitle {
background: #0d867f;
color: #f5f5f6;
height: 40px;
line-height: 40px;
text-align: left;
padding-left: 20px;
font-weight: 600;
font-size: 15px;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
color: #2785e6;
}
.eltable {
width: 100%;
box-sizing: border-box;
margin-bottom: 180px;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/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;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-icon-folder-delete {
margin-right: 10px;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
.xqtitle {
width: 100%;
height: 20px;
text-align: left;
font-size: 18px;
padding: 20px 0;
border-bottom: 1px solid gainsboro;
margin-top: 1px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
vertical-align: middle;
}
}
.el-form {
display: flex;
width: 99%;
flex-wrap: wrap;
padding: 0 10px;
.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;
}
}
</style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!