Commit b495441d by liangzhen

存下

1 parent ba87c981
......@@ -20,6 +20,9 @@
height: 100%;
text-align: center;
}
body .el-table th.gutter{
display: table-cell!important;
}
......
......@@ -120,22 +120,22 @@ export function trendsRules(type) {
// children: [],
// },
{
name: "申诉确认",
url: "/mainLayout/assistedConfirm",
children: [],
},
// {
// name: "申诉确认",
// url: "/mainLayout/assistedConfirm",
// children: [],
// },
{
name: "整改核验",
url: "/mainLayout/correctiveAssistanceVerification",
children: [],
},
{
name: "同步归档",
url: "/mainLayout/attachSynchronousArchiving",
children: [],
},
// {
// name: "整改核验",
// url: "/mainLayout/correctiveAssistanceVerification",
// children: [],
// },
// {
// name: "同步归档",
// url: "/mainLayout/attachSynchronousArchiving",
// children: [],
// },
],
},
],
......@@ -154,25 +154,25 @@ export function trendsRules(type) {
url: "",
children: [
{
name: "评估材料获取",
name: "评估材料提交",
url: "/mainLayout/materialAcquisition",
children: [],
},
{
name: "问题反馈",
url: "/mainLayout/assistedFeedback",
children: [],
},
// {
// name: "问题反馈",
// url: "/mainLayout/assistedFeedback",
// children: [],
// },
// {
// name: "问题整改",
// url: "/mainLayout/assistedRect",
// children: [],
// },
{
name: "同步归档",
url: "/mainLayout/attachSynchronousArchiving",
children: [],
},
// {
// name: "同步归档",
// url: "/mainLayout/attachSynchronousArchiving",
// children: [],
// },
],
},
],
......@@ -220,7 +220,7 @@ export function trendsRules(type) {
children: [],
},
{
name: "自查评估材料获取",
name: "自查评估材料提交",
url: "/assesszc/materialAcquisition",
children: [],
},
......@@ -282,7 +282,7 @@ export function trendsRules(type) {
children: [],
},
{
name: "评估材料获取",
name: "评估材料提交",
url: "/mainLayout/materialAcquisition",
children: [],
},
......@@ -426,7 +426,7 @@ export function trendsRules(type) {
}
}
export function defaultRouter() {
sessionStorage.setItem("author", "sgitg_weizheng");
sessionStorage.setItem("author", "weizheng");
sessionStorage.setItem("authorName",99);
let type=sessionStorage.getItem('authorName')
console.log( type,'hahaha ')
......
......@@ -533,59 +533,6 @@ export default {
this.pageSize = 10;
this.submitForm();
},
//确认问题
// async confirm() {
// console.log('整改')
// this.mergingPos = 0;
// this.mergingRows = [];
// if (this.checkedList.length != 1) {
// this.$message("请选择一条数据进行确认");
// return;
// }
// console.log(this.checkedList[0].postEvalStateText,'this.checkedList[0].postEvalStateText')
// if (this.checkedList[0].postEvalStateText == '已申诉') {
// this.$message("请选择未申诉的数据");
// return;
// }
// this.dialogQR = true;
// let params = {
// projectId: this.checkedList[0].projectId,
// batchId: this.checkedList[0].batchId,
// };
// let res = await wtssSelProblemAssistedFeedback(params);
// if (res.code == "200") {
// this.tableDataQR = res.data.records;
// this.tableDataQR.forEach((item) => {
// if (!item.confirmStatus) {
// this.$set(item, "confirmStatus", "2");
// }
// switch (item.projectStage) {
// case "1":
// this.$set(item, "projectStagetext", "1.可研");
// break;
// case "2":
// this.$set(item, "projectStagetext", "2.计划");
// break;
// case "3":
// this.$set(item, "projectStagetext", "3.采购");
// break;
// case "4":
// this.$set(item, "projectStagetext", "4.合同");
// break;
// case "5":
// this.$set(item, "projectStagetext", "5.执行");
// break;
// case "6":
// this.$set(item, "projectStagetext", "6.结决算及转资");
// break;
// }
// });
// console.log(this.tableDataQR);
// this.dataPretreatment();
// }
// },
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
......@@ -775,7 +722,7 @@ export default {
this.dataPretreatmentSS();
}
},
handleFileUpload(event, row, id) {
handleFileUploadZG(event, row, id) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFile(row, id);
......
......@@ -24,13 +24,6 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="后评估批次状态:" prop="batchState" class="fromItem">
<el-select v-model="ruleForm.batchState" placeholder="请选择" clearable>
<el-option label="执行中" value="3"></el-option>
<el-option label="已完成" value="5"></el-option>
</el-select>
</el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input
v-model="ruleForm.projectId"
......@@ -104,9 +97,17 @@
<el-button @click="submitNexts()"
><i class="el-icon-finished"></i> &nbsp;&nbsp;提交问题清单</el-button
>
<el-button @click="withdraw()">
<el-button @click="rectificationReview('ruleForm')">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;整改复核</el-button
>
<el-button @click="subfinished()">
<i class="el-icon-finished"></i
>&nbsp;&nbsp;&nbsp;归档</el-button
>
<!-- <el-button @click="withdraw()">
<i class="el-icon-folder-delete"></i>撤回
</el-button>
</el-button> -->
</el-form-item>
</el-form>
<div class="setscroll">
......@@ -132,12 +133,7 @@
<el-table-column prop="batchName" label="后评估批次名称">
</el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column
prop="batchStateText"
label="后评估批次状态"
width="120"
>
</el-table-column>
<el-table-column prop="projectId" label="项目编码" width="120"> </el-table-column>
<el-table-column
prop="projectName"
......@@ -152,10 +148,10 @@
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="120">
</el-table-column>
<el-table-column prop="postEvalState" label="检查评估状态 " width="120">
</el-table-column>
<el-table-column prop="reviewStatusText" label="项目审核状态" width="120">
<el-table-column prop="postEvalStateText" label="项目审核状态 " width="120">
</el-table-column>
<!-- <el-table-column prop="reviewStatusText" label="项目审核状态" width="120">
</el-table-column> -->
<el-table-column prop="planReviewDate" label="计划评估日期">
</el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期">
......@@ -173,6 +169,167 @@
class="elpagination"
>
</el-pagination>
<!-- 问题整改 -->
<el-dialog
title="复核情况"
:visible.sync="dialogQR"
width="79%"
:modal-append-to-body="false"
:append-to-body="false"
@close="closed"
>
<div class="dialog">
<h3 v-if="checkedList[0]&&checkedList[0].projectName">
项目名称:{{checkedList[0].projectName}}
</h3>
<div class="continer">
<p class="xqtitle"><span></span>问题清单</p>
<div class="setTable">
<el-table
:data="tableDataQR"
tooltip-effect="dark myTooltips"
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" type="index">
</el-table-column>
<el-table-column
label="问题检查项"
prop="quesCheckItem"
width="200"
>
</el-table-column>
<el-table-column label="检查说明" prop="checkDesc" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column label="评估问题" prop="evalQues" width="300">
</el-table-column>
<el-table-column label="问题确认" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column label="解释批注" width="200">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<el-input v-model="scope.row.feedback" disabled></el-input>
</template>
</el-table-column>
<el-table-column label="附加解释材料" prop="fileId" width="400">
<!-- <template slot-scope="scope" v-if="scope.row.confirmStatus=='1'">
<input type="file" @change="handleFileUpload($event,scope.row, 'fileId')" />
</template> -->
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
>
{{ scope.row.fileName }}
<el-button
@click="handleClickXZ(scope.row.fileId, scope.row.fileName)"
>下载</el-button
>
</template>
</el-table-column>
<el-table-column
label="复核情况"
prop="rectificationStatus"
width="200"
>
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<el-select
v-model="scope.row.appealStatus"
placeholder="请选择"
disabled
>
<el-option label="请选择" value=""></el-option>
<el-option label="未申诉" :value="0"></el-option>
<el-option label="已申诉" :value="1"></el-option>
<el-option label="申诉驳回" :value="2"></el-option>
<el-option label="申诉通过" :value="3"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="上传整改材料" width="400">
<template slot-scope="scope" v-if="scope.row.zgFileId">
{{ scope.row.zgName }}
<el-button
@click="handleClickXZ(scope.row.zgFileId, scope.row.zgName)"
>下载</el-button
>
</template>
</el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template slot-scope="scope" v-if="scope.row.zgqkFileId">
{{ scope.row.zgqkFileName }}
<el-button
@click="
handleClickXZ(
scope.row.zgqkFileId,
scope.row.zgqkFileName
)
"
>下载</el-button
>
</template>
</el-table-column>
<el-table-column
label="整改复核"
prop="rectificationStatus"
width="200"
>
<template slot-scope="scope" v-if="scope.row.evalQues">
<el-select
v-model="scope.row.rectificationStatus"
placeholder="请选择"
>
<el-option label="请选择" value=""></el-option>
<el-option label="问题未整改" :value="0"></el-option>
<el-option label="整改不合格" :value="1"></el-option>
<el-option label="整改完成" :value="2"></el-option>
</el-select>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
<p class="midBtn">
<span @click="cancelSS()">取消</span><span @click="saveSS()">保存</span
><span @click="savetj()">提交</span>
</p>
</el-dialog>
</div>
</template>
......@@ -181,6 +338,11 @@ import {
postEvalQuesInfo,
chpostEvalQuesInfo,
qrscevaluationMaterials,
wtssSelectificationVerification,
bcrectificationVerification,
tjrectificationVerification,
gdrectificationVerification,
downloadObject,
} from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache";
export default {
......@@ -223,12 +385,100 @@ export default {
pageSizetjcl: 10,
total: 0,
dialog: false,
dialogQR: false,
mergingPos: 0,
mergingRows: [],
tableDataQR: [],
};
},
mounted() {
console.log(this.$route.query,'this.$route.query')
this.ruleForm.batchName=this.$route.query.batchName
this.submitForm();
},
methods: {
//整改复核
async rectificationReview() {
this.mergingPos = 0;
this.mergingRows = [];
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行整改");
return;
}
this.dialogQR = true;
let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
};
let res = await wtssSelectificationVerification(params);
if (res.code == "200") {
this.tableDataQR = res.data.records;
this.tableDataQR.forEach((item) => {
if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2");
}
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "1.可研");
break;
case "2":
this.$set(item, "projectStagetext", "2.计划");
break;
case "3":
this.$set(item, "projectStagetext", "3.采购");
break;
case "4":
this.$set(item, "projectStagetext", "4.合同");
break;
case "5":
this.$set(item, "projectStagetext", "5.执行");
break;
case "6":
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
console.log(this.tableDataQR, "加不进去?");
this.dataPretreatment();
}
},
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
timeChange(time) {
if (time) {
//给后端的参数
......@@ -239,6 +489,46 @@ export default {
this.ruleForm.createEndTime = "";
}
},
async saveSS() {
let res = await bcrectificationVerification(this.tableDataQR);
if (res.code == "200") {
// this.dialogQR = false;
this.$message('保存成功')
this.resetForm();
}
},
async savetj() {
console.log('提交')
let res = await tjrectificationVerification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.$message("整改复核提交成功");
this.resetForm();
} else {
this.$message("整改复核提交失败");
}
},
//提交归档
async subfinished(){
if(sessionStorage.getItem('authorName')==3){
this.$message('只有专家可以操作归档')
}
console.log('只有专家可以操作归档')
let params={
projectId:this.checkedList[0].projectId,
batchId:this.checkedList[0].batchId
}
let res= await gdrectificationVerification(params)
if(res.code=='200'){
this.$message('归档成功')
}else{
this.$message('归档失败')
}
},
async submitForm() {
let params = {
current: this.currentPage,
......@@ -251,29 +541,24 @@ export default {
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.postEvalState == "1") {
this.$set(item, "postEvalState", "待评估");
} else if (item.postEvalState == "2") {
this.$set(item, "postEvalState", "待提交");
} else if (item.postEvalState == "4") {
this.$set(item, "postEvalState", "已撤回");
} else {
this.$set(item, "postEvalState", "已提交");
}
if (item.batchState == "3") {
this.$set(item, "batchStateText", "执行中");
} else if (item.batchState == "5") {
this.$set(item, "batchStateText", "已完成");
}
if (item.reviewStatus == "0") {
this.$set(item, "reviewStatusText", "无问题");
} else if (item.reviewStatus == "1") {
this.$set(item, "reviewStatusText", "需整改");
} else if (item.reviewStatus == "2") {
this.$set(item, "reviewStatusText", "已整改");
}else if (item.reviewStatus == "3") {
this.$set(item, "reviewStatusText", "已归档");
if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估");
} else if (item.postEvalState == 2) {
this.$set(item, "postEvalStateText", "已评估");
}else if (item.postEvalState == 3) {
this.$set(item, "postEvalStateText", "无需整改");
}else if (item.postEvalState == 4) {
this.$set(item, "postEvalStateText", "需整改");
}else if (item.postEvalState == 5) {
this.$set(item, "postEvalStateText", "已整改");
}else if (item.postEvalState == 6) {
this.$set(item, "postEvalStateText", "已归档");
}
this.$set(
item,
"projectCategory",
......@@ -409,18 +694,13 @@ export default {
this.dialog = false;
// this.dialogXQ = false;
},
cancelSS() {
this.dialogQR = false;
},
closeDialog() {
console.log("guanbi");
this.showButton = true;
},
async save(type) {
this.dialog = false;
// this.dialogXQ = false;
if (type == "add") {
let params = {};
let res = await qrscevaluationMaterials(params);
}
},
},
};
</script>
......@@ -601,4 +881,114 @@ export default {
position: relative;
overflow: auto;
}
.dialog {
.eltable {
height: 650px;
overflow-y: auto;
}
}
/deep/.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
line-height: 30px;
}
h3 {
text-align: left;
}
.midBtn {
margin: 20px auto;
// margin-top: 20px;
span {
display: inline-block;
width: 80px;
height: 29px;
line-height: 29px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
box-sizing: border-box;
background-color: #4ca6a7;
color: #fff;
border: 1px solid #4ca6a7;
}
span:first-of-type {
border: 1px solid grey;
background-color: #fff;
color: grey;
}
}
.setTable {
height: 560px;
overflow-y: auto;
overflow-x: scroll;
position: relative;
overflow: auto;
.eltable {
box-sizing: border-box;
text-align: center;
width: 150%;
min-width: 150%;
}
/deep/.el-table__fixed-body-wrapper .el-table__body {
padding-bottom: 6px; // 6px为横向滚动条高度
}
/deep/.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden !important;
}
}
</style>
\ No newline at end of file
......@@ -41,7 +41,7 @@
<el-option label="已完成" value="5"></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建时间:" prop="batchName" class="fromItem">
<el-form-item label="发起时间:" prop="batchName" class="fromItem">
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
......@@ -103,10 +103,12 @@
<el-table-column prop="expertName" label="后评估专家" width="auto">
</el-table-column>
<!-- <el-table-column prop="expertId" label="专家编号" width="auto">
</el-table-column> -->
<el-table-column
prop="planReviewDate"
label="计划评估日期"
width="auto"
width="220"
>
</el-table-column>
<el-table-column
......@@ -118,9 +120,9 @@
<!-- <el-table-column prop="postEvalState" label="后评估状态" width="auto">
</el-table-column> -->
<el-table-column prop="creator" label="创建人" width="120">
<el-table-column prop="creator" label="发起人" width="120">
</el-table-column>
<el-table-column prop="createTime" label="创建时间" width="auto">
<el-table-column prop="createTime" label="发起时间" width="220">
</el-table-column>
</el-table>
</div>
......@@ -202,6 +204,8 @@
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
......@@ -342,6 +346,8 @@
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
......@@ -409,6 +415,24 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="专家编号:" prop="expertId" class="fromItem">
<el-input
v-model="ruleFormZJ.expertId"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="专家级别:" prop="expertLevel" class="fromItem">
<el-select
v-model="ruleFormZJ.expertLevel"
placeholder="请选择"
clearable
>
<el-option label="初级" value="0"></el-option>
<el-option label="高级" value="1"></el-option>
<el-option label="中级" value="2"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="专业领域:" prop="fields" class="fromItem">
<el-select
v-model="ruleFormZJ.fields"
......@@ -456,7 +480,9 @@
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column label="单位" width="auto" prop="compId">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="fullName">
<el-table-column prop="fullName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="gender">
<template slot-scope="scope">{{
......@@ -476,6 +502,8 @@
scope.row.fields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="新增字段" label="专家简介" width="auto">
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
......@@ -602,6 +630,8 @@
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
......
......@@ -107,15 +107,26 @@
width="auto"
>
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="postEvalStateText"
label="后评估批次状态"
width="120"
>
</el-table-column> -->
<el-table-column label="后评估批次状态" prop="link">
<template v-slot="scope">
<!-- <router-link :to="`/mainLayout/assistedViewing/${scope.row.id}`">
<el-button type="text" size="small">{{scope.row.postEvalStateText}}</el-button>
</router-link> -->
<router-link :to="{path:'/mainLayout/auxiliaryInspection',query:{batchName:scope.row.batchName}}">
<el-button type="text" size="small">{{scope.row.postEvalStateText}}</el-button>
</router-link>
</template>
</el-table-column>
<el-table-column prop="creator" label="创建人" width="120" >
<el-table-column prop="creator" label="发起人" width="120" >
</el-table-column>
<el-table-column prop="createTime" label="创建时间" width="auto">
<el-table-column prop="createTime" label="发起时间" width="auto">
</el-table-column>
<!-- <el-table-column prop="batchName" label="评估项目" width="auto">
</el-table-column> -->
......@@ -233,8 +244,8 @@
>
</el-table-column>
</el-table-column>
<el-table-column prop="department" label="承建单位" width="150">
</el-table-column>
<!-- <el-table-column prop="department" label="承建单位" width="150">
</el-table-column> -->
<el-table-column prop="personCharge" label="负责人" width="110">
</el-table-column>
<el-table-column
......@@ -364,8 +375,8 @@
>
</el-table-column>
</el-table-column>
<el-table-column prop="department" label="承建单位" width="150">
</el-table-column>
<!-- <el-table-column prop="department" label="承建单位" width="150">
</el-table-column> -->
<el-table-column prop="personCharge" label="负责人" width="110">
</el-table-column>
<el-table-column
......@@ -399,8 +410,9 @@
>
</el-pagination>
<p class="midBtn">
<span @click="cancelXZ()">取消</span
><span @click="saveXZ()">确认发布</span>
<span @click="cancelXZ()">取消</span>
<span @click="savepro()">保存</span>
<span @click="saveXZ()">确认发布</span>
</p>
</div>
</el-dialog>
......@@ -414,6 +426,27 @@
>
<div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="部门:" prop="department" class="fromItem">
<el-input
v-model="ruleFormZJ.department"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input
v-model="ruleFormZJ.projectId"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleFormZJ.projectName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select
v-model="ruleFormZJ.projectYear"
......@@ -428,27 +461,38 @@
/>
</el-select>
</el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-form-item label="建设形式:" prop="projectCategory" class="fromItem">
<el-select
v-model="ruleFormZJ.projectCategory"
placeholder="请选择"
clearable
>
<el-option label="统推" value="01"></el-option>
<el-option label="自建" value="02"></el-option>
<el-option label="独立建设" value="03"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="承建单位:" prop="projectName" class="fromItem">
<el-input
v-model="ruleFormZJ.projectId"
v-model="ruleFormZJ.projectName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
</el-form-item> -->
<el-form-item label="负责人:" prop="personCharge" class="fromItem">
<el-input
v-model="ruleFormZJ.projectName"
v-model="ruleFormZJ.personCharge"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目内容:" prop="projectInfo" class="fromItem">
<!-- <el-form-item label="项目内容:" prop="projectInfo" class="fromItem">
<el-input
v-model="ruleFormZJ.projectInfo"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
</el-form-item> -->
<el-form-item class="cxItem">
<span class="zjquery" @click="xzExperts()"> 查询 </span>
</el-form-item>
......@@ -507,8 +551,8 @@
>
</el-table-column>
</el-table-column>
<el-table-column prop="department" label="承建单位" width="150">
</el-table-column>
<!-- <el-table-column prop="department" label="承建单位" width="150">
</el-table-column> -->
<el-table-column prop="personCharge" label="负责人" width="110">
</el-table-column>
<el-table-column
......@@ -855,11 +899,38 @@ export default {
},
saveXZ() {
console.log("保存验证", this.addtableData);
if (this.addtableData.length < 1) {
this.$message("请选择待评估项目");
}
console.log(this.addZJList, "this.addZJList");
// 确认发布入参
let expertIdList = "";
if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => {
expertIdList = expertIdList.concat(item.projectId + ",");
});
}
let params = {
expertStr: expertIdList,
};
params.batchId = this.ruleFormdialogBJ.batchId;
params.prjsOfExpert = this.ruleFormdialogBJ.prjsOfExpert;
console.log(params, "222");
// return
fbProjectInfo(params).then((res) => {
this.dialogAdd = false;
this.expertIdList = expertIdList;
this.resetForm();
});
},
//保存选择项目
savepro() {
if (this.addtableData.length < 1) {
this.$message("请选择待评估项目");
}
console.log('调取保存接口')
return
console.log(this.addZJList, "this.addZJList");
// 确认发布入参
let expertIdList = "";
......@@ -1154,14 +1225,18 @@ export default {
text-align: center;
margin-right: 10px;
border-radius: 5px;
background-color: #4ca6a7;
color: #fff;
}
span:first-of-type {
border: 1px solid grey;
color: grey;
background-color: #fff;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
}
// span:last-of-type {
// background-color: #4ca6a7;
// color: #fff;
// }
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
......
......@@ -24,12 +24,12 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="后评估批次状态:" prop="batchState" class="fromItem">
<!-- <el-form-item label="后评估批次状态:" prop="batchState" class="fromItem">
<el-select v-model="ruleForm.batchState" placeholder="请选择" clearable>
<el-option label="执行中" value="3"></el-option>
<el-option label="已完成" value="5"></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input
......@@ -65,7 +65,7 @@
</el-select>
</el-form-item>
<el-form-item
label="提交评估材料状态:"
label="项目审核状态:"
prop="postEvalState"
class="fromItem"
>
......@@ -74,8 +74,14 @@
placeholder="请选择"
clearable
>
<el-option label="未上传" value="0"></el-option>
<el-option label="已上传" value="1"></el-option>
<el-option label="材料未上传" value="0"></el-option>
<el-option label="材料已上传" value="1"></el-option>
<!-- <el-option label="待评估" value="2"></el-option>
<el-option label="已评估" value="3"></el-option> -->
<el-option label="无需整改" value="3"></el-option>
<el-option label="需整改" value="4"></el-option>
<el-option label="已整改" value="5"></el-option>
<el-option label="已归档" value="6"></el-option>
</el-select>
</el-form-item>
......@@ -105,6 +111,10 @@
<el-button @click="submitNexts()"
><i class="el-icon-finished"></i> 提交评估材料</el-button
>
<el-button @click="confirm()">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;问题整改</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
......@@ -128,12 +138,12 @@
<el-table-column prop="batchName" label="后评估批次名称">
</el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column
<!-- <el-table-column
prop="batchStateText"
label="后评估批次状态"
width="120"
>
</el-table-column>
</el-table-column> -->
<el-table-column prop="projectId" label="项目编码"> </el-table-column>
<el-table-column
......@@ -152,7 +162,7 @@
<!-- <el-table-column prop="projectStatus" label="项目建设阶段">
</el-table-column> -->
<!-- <el-table-column prop="待确认" label="历史审核状态"> </el-table-column> -->
<el-table-column prop="postEvalStateText" label="提交评估材料" width="120">
<el-table-column prop="postEvalStateText" label="项目审核状态" width="120">
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期">
</el-table-column>
......@@ -177,7 +187,7 @@
:append-to-body="false"
@close="closeDialog"
>
<div class="dialog">
<div class="dialogFrom">
<p class="xqtitle"><span></span>批次详情</p>
<el-form
:model="ruleFormdialog"
......@@ -328,6 +338,125 @@
</div>
</div>
</el-dialog>
<!-- 问题整改 -->
<el-dialog
title="问题整改"
:visible.sync="dialogQR"
width="79%"
:modal-append-to-body="false"
:append-to-body="false"
@close="closed"
>
<div class="dialog">
<h3 v-if="checkedList[0]&&checkedList[0].projectName">
项目名称:{{checkedList[0].projectName}}
</h3>
<div class="continer">
<p class="xqtitle"><span></span>问题清单</p>
<div class="setTable">
<el-table
v-horizontal-scroll="'always'"
:data="tableDataQR"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
:span-method="arraySpanMethod"
ref="myTable"
border
>
<el-table-column
label="项目环节"
prop="projectStagetext"
width="150"
>
</el-table-column>
<el-table-column label="序号" width="100" type="index">
</el-table-column>
<el-table-column
label="问题检查项"
prop="quesCheckItem"
width="200"
>
</el-table-column>
<el-table-column
label="检查说明"
prop="checkDesc"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="评估问题"
prop="evalQues"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="问题确认" width="auto">
<template slot-scope="scope" >
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column label="解释批注">
<template slot-scope="scope">
<el-input
v-model="scope.row.feedback"
v-if="scope.row.confirmStatus == '1'"
></el-input>
</template>
</el-table-column>
<el-table-column label="附加解释材料" prop="fileId" width="400">
<template slot-scope="scope">
<input
type="file"
@change="handleFileUploadZG($event, scope.row, 'fileId')"
/>
</template>
</el-table-column>
<el-table-column label="上传整改材料" prop="zgFileId" width="auto">
<template slot-scope="scope">
<input
type="file"
@change="handleFileUploadZG($event, scope.row, 'zgFileId')"
/>
</template>
</el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template slot-scope="scope">
<input
type="file"
@change="handleFileUploadZG($event, scope.row, 'zgqkFileId')"
/>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
<p class="midBtn">
<span @click="cancelSS()">取消</span><span @click="saveSS()">保存</span
><span @click="saveSubmit()">提交</span>
</p>
</el-dialog>
</div>
</template>
......@@ -339,6 +468,9 @@ import {
qrscevaluationMaterials,
ossupload,
downloadObject,
qrProblemAssistedFeedback,
wtssSelProblemRectification,
wtzgxfProblemRectification,
} from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache";
export default {
......@@ -373,6 +505,10 @@ export default {
pageSizetjcl: 10,
total: 0,
dialog: false,
dialogQR: false,
mergingPos: 0,
mergingRows: [],
tableDataQR: [],
};
},
watch: {
......@@ -399,6 +535,134 @@ export default {
this.ruleForm.planEndTime = "";
}
},
//问题整改
async confirm() {
this.mergingPos = 0;
this.mergingRows = [];
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行整改");
return;
}
if (this.checkedList[0].postEvalStateText == "已申诉") {
this.$message("请选择未申诉的数据");
return;
}
if (this.checkedList[0].reviewStatusText == "整改提交") {
this.$message("整改已经提交");
return;
}
this.dialogQR = true;
let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
};
let res = await wtssSelProblemRectification(params);
if (res.code == "200") {
this.tableDataQR = res.data.records;
this.tableDataQR.forEach((item) => {
if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2");
}
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "1.可研");
break;
case "2":
this.$set(item, "projectStagetext", "2.计划");
break;
case "3":
this.$set(item, "projectStagetext", "3.采购");
break;
case "4":
this.$set(item, "projectStagetext", "4.合同");
break;
case "5":
this.$set(item, "projectStagetext", "5.执行");
break;
case "6":
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
this.$nextTick(() => {
console.log('表格错位',this.$refs.myTable.doLayout)
this.$refs.myTable.doLayout(); // 解决表格错位
});
this.dataPretreatment();
}
},
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
},
async saveSS() {
let res = await qrProblemAssistedFeedback(this.tableDataQR);
if (res.code == "200") {
this.$message('保存成功')
// this.dialogQR = false;
// this.resetForm();
}else{
this.$message('保存失败')
}
},
async saveSubmit() {
let res = await wtzgxfProblemRectification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.resetForm();
} else {
this.$message("整改提交失败");
}
},
cancelSS() {
this.dialogQR = false;
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
this.$nextTick(() => {
console.log('表格错位',this.$refs.myTable.doLayout)
this.$refs.myTable.doLayout(); // 解决表格错位
});
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
async submitForm() {
let params = {
current: this.currentPage,
......@@ -413,17 +677,25 @@ export default {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "未上传");
this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "未上传");
} else if (item.postEvalState >= 1) {
this.$set(item, "postEvalStateText", "已上传");
}
if (item.batchState == "3") {
this.$set(item, "batchStateText", "执行中");
} else if (item.batchState == "5") {
this.$set(item, "batchStateText", "已完成");
this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "材料已上传");
}else if (item.postEvalState == 3) {
this.$set(item, "postEvalStateText", "无需整改");
}else if (item.postEvalState == 4) {
this.$set(item, "postEvalStateText", "需整改");
}else if (item.postEvalState == 5) {
this.$set(item, "postEvalStateText", "已整改");
}else if (item.postEvalState == 6) {
this.$set(item, "postEvalStateText", "已归档");
}
// if (item.batchState == "3") {
// this.$set(item, "batchStateText", "执行中");
// } else if (item.batchState == "5") {
// this.$set(item, "batchStateText", "已完成");
// }
this.$set(
item,
"projectCategory",
......@@ -582,6 +854,33 @@ export default {
event.target.value =''
}
},
handleFileUploadZG(event, row, id) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFileZG(row, id);
},
submitFileZG(row, type) {
// return;
console.log(row);
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
// formData.append("prjId", this.checkedList[0].projectId);
// formData.append("typeCode", row.typeCode);
ossupload(formData)
.then((response) => {
console.log(response);
this.file = [];
this.$set(row, type, response.data.fileId);
})
.catch((error) => {
console.error(error);
});
} else {
this.$message("请先选择文件");
}
},
submitFile(row) {
console.log(row);
if (this.file) {
......@@ -743,10 +1042,13 @@ export default {
}
}
.dialog {
height: 680px;
overflow-y: auto;
.xqtitle {
text-align: left;
font-size: 18px;
border-bottom: 1px solid gainsboro;
padding-bottom: 10px;
span {
display: inline-block;
width: 5px;
......@@ -756,6 +1058,35 @@ export default {
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;
}
}
}
.textarea {
width: 100%;
......@@ -796,10 +1127,10 @@ export default {
/deep/ .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
// /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;
}
......@@ -820,10 +1151,116 @@ export default {
overflow: auto;
}
}
.dialog {
.dialogFrom {
.eltable {
height: 650px;
overflow-y: auto;
}
}
/deep/.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
line-height: 30px;
}
h3 {
text-align: left;
}
.midBtn {
margin: 20px auto;
// margin-top: 20px;
span {
display: inline-block;
width: 80px;
height: 29px;
line-height: 29px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
box-sizing: border-box;
background-color: #4ca6a7;
color: #fff;
border: 1px solid #4ca6a7;
}
span:first-of-type {
border: 1px solid grey;
background-color: #fff;
color: grey;
}
}
.setTable {
height: 560px;
overflow-y: auto;
overflow-x: scroll;
position: relative;
overflow: auto;
.eltable {
box-sizing: border-box;
text-align: center;
width: 150%;
min-width: 150%;
}
/deep/.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden !important;
}
}
/deep/ .el-table th .gutter {
display: table-cell !important;
}
// /deep/ .el-table .cell{
// padding-right: 0;
// }
</style>
\ No newline at end of file
......@@ -67,37 +67,43 @@ export default {
},
},
watch: {
"$route": {
immediate: true,
handler(newParams, oldParams) {
console.log('路又变了',newParams)
},
},
autho(newVal, oldVal) {
console.log(newVal, "newValnewVal");
if (newVal == "sgtig_liyiming") {
if (newVal == "liyiming") {
this.$router.push({
path: "/mainLayout/confirmRelease",
query: {
madata: newVal,
},
});
} else if (newVal == "sgtig_wangmeiling") {
} else if (newVal == "wangmeiling") {
this.$router.push({
path: "/mainLayout/confirmRelease",
query: {
madata: newVal,
},
});
} else if (newVal == "sgtig_mengdejian") {
} else if (newVal == "mengdejian") {
this.$router.push({
path: "/mainLayout/materialAcquisition",
query: {
madata: newVal,
},
});
} else if (newVal == "sgtig_liwenbo") {
} else if (newVal == "liwenbo") {
this.$router.push({
path: "/mainLayout/materialAcquisition",
query: {
madata: newVal,
},
});
} else if (newVal == "sgtig_zhangke") {
} else if (newVal == "zhangke") {
this.$router.push({
path: "/mainLayout/materialAcquisition",
query: {
......@@ -123,26 +129,23 @@ export default {
path: "/mainLayout/confirmRelease",
});
this.activeIndex = "/mainLayout/confirmRelease"
// this.$refs.kzMenu.activeIndex= "/mainLayout/materialAcquisition"
} else if (newVal == 3) {
this.menuList = trendsRules(3);
this.$router.push({
path: "/mainLayout/materialAcquisition",
});
this.activeIndex = "/mainLayout/materialAcquisition"
// this.$refs.kzMenu.activeIndex= "/mainLayout/materialAcquisition"
} else if (newVal == 99) {
this.menuList = trendsRules(99);
this.$router.push({
path: "/mainLayout/auxiliarySelection",
});
this.activeIndex = '/mainLayout/auxiliarySelection'
// this.$refs.kzMenu.activeIndex='/assesszc/auxiliarySelection'
}
console.log('不是来了么',this.$route.path)
// this.activeIndex = this.$route.path;
// this.$refs.kzMenu.activeIndex = this.$route.path;
console.log('获取权限后的页面',this.$refs.kzMenu.activeIndex)
},
},
mounted() {
......@@ -163,7 +166,6 @@ export default {
}
} else {
this.activeIndex = this.$route.path;
}
},
......
......@@ -85,7 +85,7 @@ export default {
children: [
{
name: "张宇",
code: "sgtig_zhangyu",
code: "zhangyu",
children: [],
},
],
......@@ -96,13 +96,13 @@ export default {
children: [
{
name: "李一鸣",
code: "sgtig_liyiming",
code: "liyiming",
children: [],
},
{
name: "王美玲",
code: "sgtig_wangmeiling",
code: "wangmeiling",
children: [],
},
......@@ -114,19 +114,19 @@ export default {
children: [
{
name: "孟德建",
code: "sgtig_mengdejian",
code: "mengdejian",
children: [],
},
{
name: "李文博",
code: "sgtig_liwenbo",
code: "liwenbo",
children: [],
},
{
name: "章轲",
code: "sgtig_zhangke",
code: "zhangke",
children: [],
},
......@@ -139,7 +139,7 @@ export default {
children: [
{
name: "魏征",
code: "sgitg_weizheng",
code: "weizheng",
children: [],
},
],
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!