Commit 4a4bfca7 by liangzhen

评估结果辅助查看

1 parent 68af9046
...@@ -168,5 +168,22 @@ export function qrzgqrbgSelQuesInfo(params) { ...@@ -168,5 +168,22 @@ export function qrzgqrbgSelQuesInfo(params) {
} }
//确认无更改 //确认无更改
export function qrwzgqrbgSelQuesInfo(params) { export function qrwzgqrbgSelQuesInfo(params) {
return post(`/api/postEvalQuesInfo/`, params) return post(`/api/postEvalQuesInfo/qrwzg`, params)
}
//评估结果辅助查看
//评估结果辅助页面
export function fzcxselect(params) {
return post(`/api/select/fzcx`, params)
}
//基本信息
export function fzcxXqselect(params) {
return post(`/api/select/fzcxXq`, params)
}
//问题清单
export function wtqdqselect(params) {
return post(`/api/select/selWtqd`, params)
}
//项目后评估资料
export function clqdselect(params) {
return post(`/api/select/clqd`, params)
} }
\ No newline at end of file
...@@ -71,12 +71,12 @@ ...@@ -71,12 +71,12 @@
</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> <!-- <el-table-column prop="字段待确认" 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
...@@ -91,102 +91,128 @@ ...@@ -91,102 +91,128 @@
> >
</el-pagination> </el-pagination>
<el-dialog <el-dialog
title="国网辽宁电力-桌面终端管理系统合规性检查评估" title="详情"
:visible.sync="dialog" :visible.sync="dialog"
width="90%" width="90%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
@close="closeDialog"
> >
<div class="dialog"> <div class="dialog">
<p class="xqtitle"><span></span>问题清单</p> <h3>
<el-form 项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
:model="ruleFormdialog" </h3>
ref="ruleFormdialog"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
<!-- <el-select v-model="ruleFormdialog.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="ruleFormdialog.batchName" disabled></el-input>
</el-form-item>
<el-form-item
label="计划评审日期:"
prop="planReviewDate"
class="fromItem"
>
<el-input
v-model="ruleFormdialog.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item label="后评估专家:" prop="fullName" class="fromItem">
<el-input v-model="ruleFormdialog.fullName" disabled></el-input>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input type="textarea" v-model="ruleFormdialog.desc"></el-input>
</el-form-item>
</el-form>
<p class="xqtitle"><span></span>本项目材料清单</p> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="基本信息" name="first">
<div>
<p class="title"><span></span>项目基本信息</p>
<div class="content">
<p><label>项目编号:</label>{{ listData.projectId }}</p>
<p><label>项目下达年度:</label>{{ listData.projectYear }}</p>
<p><label>项目名称:</label>{{ listData.projectName }}</p>
<p><label>建设形式:</label>{{ listData.projectCategory }}</p>
<!-- <p><label>省公司计划文号:</label>111111111111111111111111111</p>
<p>
<label>信通公司计划文号:</label>111111111111111111111111111
</p> -->
<p>
<label>总投资计划(万元)-成本金:</label
>{{ listData.costAmountTotal }}
</p>
<p>
<label>总投资计划(万元)-资本金:</label
>{{ listData.capitalAmountTotal }}
</p>
<p><label>部门:</label>{{ listData.department }}</p>
<p><label>创建人:</label>{{ listData.inputuser }}</p>
<p><label>创建时间:</label>{{ listData.inputuser }}</p>
<p><label>修改人:</label>{{ listData.lastUpdatedby }}</p>
<p><label>修改时间:</label>{{ listData.lastUpdateTime }}</p>
</div>
<div class="table">
<p>项目后评估资料:</p>
<el-table <el-table
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
ref="multipleTable" ref="multipleTable"
:data="tableDataQD" :data="qdtableData"
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 tablepg"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
border border
> >
<el-table-column label="序号" width="55" type="index"> <el-table-column label="序号" width="55" type="index">
</el-table-column> </el-table-column>
<el-table-column label="材料类别" prop="batchYear"> </el-table-column> <el-table-column label="类别" prop="batchtype">
<el-table-column prop="batchName" label="资料类型"> </el-table-column> </el-table-column>
<el-table-column prop="projectName" label="资料名称"> <el-table-column prop="typeCode" label="资料类型">
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="操作"> <el-table-column prop="fileName" label="资料名称">
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination </div>
@size-change="handleSizeChangetjcl" <p class="title"><span></span>批次详情</p>
@current-change="handleCurrentChangetjcl" <div class="content">
:current-page="currentPagetjcl" <p><label>批次年度:</label>{{ listData.batchYear }}</p>
:page-sizes="[10, 15, 20, 50]" <p><label>后评估批次名称:</label>{{ listData.batchName }}</p>
:page-size="100" <p><label>计划评审日期:</label>{{ listData.planReviewDate }}</p>
layout="total, sizes, prev, pager, next, jumper" </div>
:total="total" <p class="title"><span></span>评审专家</p>
class="elpagination" <div class="content">
<p><label>评审专家:</label>{{ listData.expertName }}</p>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="问题清单" name="second">
<p class="title"><span></span>项目基本信息</p>
<el-table
ref="multipleTable"
:data="qdtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
:span-method="arraySpanMethod"
border
> >
</el-pagination> <el-table-column
<p class="Btn" v-if="showButton"> label="项目环节"
<span @click="cancel()">取消</span prop="projectStagetext"
><span @click="save('add')">确认上传</span> width="150"
</p> >
</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>
</el-tab-pane>
<el-tab-pane label="评审流程" name="third">评审流程</el-tab-pane>
</el-tabs>
</div> </div>
<p class="close"> <span @click="cancel()">关闭</span></p>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import { fzcxselect, fzcxXqselect, wtqdqselect, clqdselect } from "@/api/index";
evaluationMaterials, export default {
clqdevaluationMaterials,
qrscevaluationMaterials,
} from "@/api/index";
export default {
data() { data() {
return { return {
listData: {},
qdtableData: [],
showButton: true, showButton: true,
ruleForm: { ruleForm: {
batchYear: "", batchYear: "",
...@@ -201,20 +227,9 @@ ...@@ -201,20 +227,9 @@
planReviewDate: "", planReviewDate: "",
fullName: "", fullName: "",
}, },
rules: {
batchYear: [
{ required: true, message: "请选择批次年度", trigger: "change" },
],
batchName: [
{
required: true,
message: "请选择后评估批次名称",
trigger: "change",
},
],
},
tableData: [], tableData: [],
tableDataQD: [], //清单列表
checkedList: [], checkedList: [],
currentPage: 1, currentPage: 1,
pageSize: 10, pageSize: 10,
...@@ -222,89 +237,22 @@ ...@@ -222,89 +237,22 @@
pageSizetjcl: 10, pageSizetjcl: 10,
total: 0, total: 0,
dialog: false, dialog: false,
activeName: "first",
mergingRows:[],
}; };
}, },
mounted() { mounted() {
this.submitForm(); this.submitForm();
}, },
methods: { methods: {
submitForm(formName) { async submitForm() {
// this.$refs[formName].validate((valid) => {
// if (valid) {
// alert("submit!");
// } else {
// console.log("error submit!!");
// return false;
// }
// });
let params = { let params = {
current: this.currentPage, current: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
}; };
Object.assign(params, this.ruleForm); Object.assign(params, this.ruleForm);
console.log(params); console.log(params);
(this.tableData = [ let res = await fzcxselect(params);
{
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 = evaluationMaterials(params);
if (res.code == "200") { if (res.code == "200") {
this.tableData = res.data.records; this.tableData = res.data.records;
...@@ -317,20 +265,27 @@ ...@@ -317,20 +265,27 @@
this.pageSize = 10; this.pageSize = 10;
this.submitForm(); this.submitForm();
}, },
//提交评估材料 //详情
async submitNexts() { detailsForm() {
if (this.checkedList.length != 1) { if (this.checkedList.length != 1) {
this.$message("请选择"); this.$message("请选择");
return; return;
} }
console.log("222");
this.dialog = true; this.dialog = true;
let params = { let params = {
current: this.currentPage, batchId: this.checkedList[0].batchId,
pageSize: this.pageSize, projectId: this.checkedList[0].projectId,
}; };
let res = await clqdevaluationMaterials(params); Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
console.log(res[0], res[1], "2222222");
this.listData = res[0].data.records[0];
this.qdtableData = res[1].data.records;
this.qdtableData.forEach((item) => {
this.$set(item, "batchtype", "开发、实施类");
});
});
}, },
//表格颜色 //表格颜色
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
...@@ -338,6 +293,79 @@ ...@@ -338,6 +293,79 @@
} }
return ""; 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.qdtableData.length; i++) {
// tabledata 表格数据源
if (i == 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.qdtableData[i].projectStage ===
this.qdtableData[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
},
async handleClick() {
console.log(this.activeName,'this.activeName')
if(this.activeName=='second'){
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
let res= await wtqdqselect(params)
if (res.code == "200") {
this.qdtableData = res.data.records;
this.total = res.data.total * 1;
}
this.qdtableData.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();
}
},
//主列表选中行信息 //主列表选中行信息
handleSelectionChange(selection) { handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) { if (Array.isArray(selection) && selection.length > 1) {
...@@ -356,42 +384,22 @@ ...@@ -356,42 +384,22 @@
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.currentPage = val; this.currentPage = val;
}, },
handleSizeChangetjcl(val) {
console.log(`每页 ${val} 条`);
this.pageSizetjcl = val;
},
handleCurrentChangetjcl(val) {
console.log(`当前页: ${val}`);
this.currentPagetjcl = val;
},
cancel() { cancel() {
this.dialog = false; this.dialog = false;
// this.dialogXQ = 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> </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 { .el-form {
display: flex; display: flex;
width: 100%; width: 100%;
flex-wrap: wrap; flex-wrap: wrap;
...@@ -440,46 +448,49 @@ ...@@ -440,46 +448,49 @@
color: #fff; color: #fff;
} }
} }
} }
.eltable { .eltable {
widows: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
} }
/deep/ .el-table .warning-row { /deep/ .el-table .warning-row {
background: #f0ffff; background: #f0ffff;
color: #2785e6; color: #2785e6;
} }
.elpagination { .elpagination {
text-align: right; text-align: right;
margin-right: 100px; margin-right: 100px;
} }
/deep/ .el-dialog { /deep/ .el-dialog {
border-radius: 10px; border-radius: 10px;
} // height: 500px;
/deep/ .el-dialog__wrapper { // box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
position: absolute; position: absolute;
} }
/deep/ .v-modal { /deep/ .v-modal {
position: absolute; position: absolute;
} }
/deep/ .el-dialog__header { /deep/ .el-dialog__header {
background-color: #0d867f; background-color: #0d867f;
padding-bottom: 20px; // padding-bottom: 20px;
text-align: left; text-align: left;
border-radius: 10px 10px 0 0; border-radius: 10px 10px 0 0;
.el-dialog__title { .el-dialog__title {
color: #fff; color: #fff;
} }
} }
/deep/ .el-table__header th { /deep/ .el-table__header th {
background-color: #eeeeee; background-color: #eeeeee;
font-weight: bold; font-weight: bold;
.cell { .cell {
color: #333; color: #333;
} }
} }
/deep/.el-table { /deep/.el-table {
width: 100%; width: 100%;
.el-table__header-wrapper table, .el-table__header-wrapper table,
.el-table__body-wrapper table { .el-table__body-wrapper table {
...@@ -490,29 +501,68 @@ ...@@ -490,29 +501,68 @@
.el-table__header { .el-table__header {
table-layout: auto; table-layout: auto;
} }
} }
.dialog { .dialog {
.xqtitle { .title {
text-align: left; text-align: left;
font-size: 18px; font-size: 18px;
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
color: #1ec695;
text-align: left;
height: 20px;
margin-top: 0;
span { span {
border-radius: 2px;
display: inline-block; display: inline-block;
width: 5px; width: 5px;
height: 20px; height: 18px;
background: #0d867f; background-color: #1ec695;
margin-right: 14px; margin-right: 14px;
vertical-align: middle; vertical-align: middle;
} }
} }
.content {
width: 100%;
display: flex;
flex-wrap: wrap;
p {
width: 24%;
text-align: left;
label {
display: inline-block;
width: 150px;
text-align: right;
font-weight: bold;
margin-right: 20px;
vertical-align: middle;
}
}
}
.table {
width: 100%;
display: flex;
p {
width: 150px;
text-align: right;
font-weight: bold;
}
.tablepg {
margin-top: 20px;
margin-left: 5px;
}
} }
.textarea { }
.textarea {
width: 100%; width: 100%;
.el-textarea { .el-textarea {
width: 60%; width: 60%;
} }
} }
.Btn { .Btn {
width: 200px; width: 200px;
margin: 0 auto; margin: 0 auto;
span { span {
...@@ -532,12 +582,49 @@ ...@@ -532,12 +582,49 @@
border: 1px solid #0d867f; border: 1px solid #0d867f;
color: #fff; color: #fff;
} }
} }
/deep/ .el-dialog__headerbtn .el-dialog__close { /deep/ .el-dialog__headerbtn .el-dialog__close {
color: #fff; color: #fff;
} }
/deep/.el-table th.el-table__cell.is-leaf, /deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell { .el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center; text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
} }
</style> }
\ No newline at end of file /deep/ .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
}
.close{
width: 100%;
height: 40px;
line-height: 20px;
span{
display: inline-block;
width:80px;
height: 30px;
line-height: 30px;
border: 1px solid grey;
border-radius: 5px;
}
}
</style>
\ No newline at end of file
...@@ -56,8 +56,8 @@ ...@@ -56,8 +56,8 @@
<script> <script>
import { import {
selWtqdpostEvalQuesInfo, selWtqdpostEvalQuesInfo,
bcpostEvalQuesInfo, qrzgqrbgSelQuesInfo,
tjpostEvalQuesInfo, qrwzgqrbgSelQuesInfo,
} from "@/api/index"; } from "@/api/index";
export default { export default {
data() { data() {
...@@ -152,29 +152,30 @@ export default { ...@@ -152,29 +152,30 @@ export default {
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
}, },
//保存 //确认更改
async confirm(type) { async confirm() {
let params = { let params = {
projectId: this.clqparams.projectId, projectId: this.clqparams.projectId,
batchId: this.clqparams.batchId, batchId: this.clqparams.batchId,
list: this.tableData,
}; };
let res = await qrzgqrbgSelQuesInfo(params);
if (type == "add") {
console.log(params, "this.zjtableDatathis.zjtableData");
let res = await bcpostEvalQuesInfo(params);
if (res.code == "200") { if (res.code == "200") {
this.$router.go(-1); this.$router.go(-1);
} else { } else {
this.$message("保存失败"); this.$message("确认失败");
} }
} else { },
let res = await tjpostEvalQuesInfo(params); //确认无更改
async confirmNo() {
let params = {
projectId: this.clqparams.projectId,
batchId: this.clqparams.batchId,
};
let res = await qrwzgqrbgSelQuesInfo(params);
if (res.code == "200") { if (res.code == "200") {
this.$router.go(-1); this.$router.go(-1);
} else { } else {
this.$message("上传失败"); this.$message("确认失败");
}
} }
}, },
}, },
...@@ -198,10 +199,10 @@ export default { ...@@ -198,10 +199,10 @@ export default {
transform: translate(-50%); transform: translate(-50%);
background-color: #f5f5f6; background-color: #f5f5f6;
line-height: 62px; line-height: 62px;
.textarea{ .textarea {
margin-top: 1px; margin-top: 1px;
} }
.Btn{ .Btn {
span { span {
display: inline-block; display: inline-block;
width: 95px; width: 95px;
...@@ -220,7 +221,6 @@ export default { ...@@ -220,7 +221,6 @@ export default {
background-color: #fff; background-color: #fff;
} }
} }
} }
.JYtitle { .JYtitle {
width: 100%; width: 100%;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!