Commit 1deb6c0a by liangzhen

自查配置

1 parent 12d937e3
...@@ -21,7 +21,7 @@ export const routes = [ ...@@ -21,7 +21,7 @@ export const routes = [
path: '/', path: '/',
name: 'main', name: 'main',
component: () => import('@/views/layout/index.vue'), component: () => import('@/views/layout/index.vue'),
redirect:'/mainLayout/auxiliarySelection', // redirect:'/mainLayout/auxiliarySelection',
children:[ children:[
{ {
...@@ -34,6 +34,118 @@ export const routes = [ ...@@ -34,6 +34,118 @@ export const routes = [
name:"mainLayout", name:"mainLayout",
component: () => import('@/views/layout/mainLayout.vue'), component: () => import('@/views/layout/mainLayout.vue'),
children:[ children:[
//后评估自查
{
path: '/assesszc/auxiliarySelection',
name: 'auxiliarySelection',
component: () => import('@/views/assessZC/auxiliarySelection.vue'),
meta: {
title: "评估项目辅助选定",
},
},
{
path: '/assesszc/projectCheckQuestionQuery',
name: 'problemLlistQuery',
component: () => import('@/views/postConcentrationCheck/projectCheckQuestionQuery.vue'),
},
{
path: '/assesszc/rectificationFeedbackQuery',
name: 'problemLlistQuery',
component: () => import('@/views/postConcentrationCheck/rectificationFeedbackQuery.vue'),
},
{
path: '/assesszc/assistedConfirm',
name: 'assistedConfirm',
component: () => import('@/views/assessZC/assistedConfirm.vue'),
},
{
path: '/assesszc/assistedFeedback',
name: 'assistedFeedback',
component: () => import('@/views/assessZC/assistedFeedback.vue'),
},
{
path: '/assesszc/assistedRect',
name: 'assistedRect',
component: () => import('@/views/assessZC/assistedRect.vue'),
},
{
path: '/assesszc/assistedVerif',
name: 'assistedVerif',
component: () => import('@/views/assessZC/assistedVerif.vue'),
},
{
path: '/assesszc/assistedViewing',
name: 'assistedViewing',
component: () => import('@/views/assessZC/assistedViewing.vue'),
},
{
path: '/assesszc/assitedDistribution',
name: 'assitedDistribution',
component: () => import('@/views/assessZC/assitedDistribution.vue'),
},
{
path: '/assesszc/auxiliaryInspection',
name: 'auxiliaryInspection',
component: () => import('@/views/assessZC/auxiliaryInspection.vue'),
},
{
path: '/assesszc/auxiliaryQuery',
name: 'auxiliaryQuery',
component: () => import('@/views/assessZC/auxiliaryQuery.vue'),
},
{
path: '/assesszc/confirmRelease',
name: 'confirmRelease',
component: () => import('@/views/assessZC/confirmRelease.vue'),
},
{
path: '/assesszc/confirmChanges',
name: 'confirmChanges',
component: () => import('@/views/assessZC/confirmChanges.vue'),
},
{
path: '/assesszc/materialAcquisition',
name: 'materialAcquisition',
component: () => import('@/views/assessZC/materialAcquisition.vue'),
},
{
path: '/assesszc/materialAnalysis',
name: 'materialAnalysis',
component: () => import('@/views/assessZC/materialAnalysis.vue'),
},
{
path: '/assesszc/Compliance',
name: 'Compliance',
component: () => import('@/views/assessZC/checkCompliance.vue'),
},
{
path: '/assesszc/Compliancefz',
name: 'Compliancefz',
component: () => import('@/views/assessZC/checkComplianceFZ.vue'),
},
{
path: '/assesszc/Compliancexf',
name: 'Compliancexf',
component: () => import('@/views/assessZC/checkComplianceXF.vue'),
},
{
path: '/assesszc/qrCompliance',
name: 'qrCompliance',
component: () => import('@/views/assessZC/qrCompliance.vue'),
},
{
path: '/assesszc/correctiveAssistanceVerification',
name: 'correctiveAssistanceVerification',
component: () => import('@/views/assessZC/correctiveAssistanceVerification.vue'),
},
{
path: '/assesszc/attachSynchronousArchiving',
name: 'attachSynchronousArchiving',
component: () => import('@/views/assessZC/attachSynchronousArchiving.vue'),
},
//后评估互查
{ {
path: '/mainLayout/auxiliarySelection', path: '/mainLayout/auxiliarySelection',
name: 'auxiliarySelection', name: 'auxiliarySelection',
......
...@@ -200,68 +200,68 @@ export function trendsRules(type) { ...@@ -200,68 +200,68 @@ export function trendsRules(type) {
name: "后评估检查", name: "后评估检查",
url: "", url: "",
children: [ children: [
// { {
// name: "后评估自查", name: "后评估自查",
// url: "", url: "",
// children: [ children: [
// { {
// name: "自查项目辅助选定", name: "自查项目辅助选定",
// url: "/mainLayout/auxiliarySelection", url: "/assesszc/auxiliarySelection",
// children: [], children: [],
// }, },
// { {
// name: "自查批次确认发布", name: "自查批次确认发布",
// url: "/mainLayout/confirmRelease", url: "/assesszc/confirmRelease",
// children: [], children: [],
// }, },
// { {
// name: "自查材料自动获取", name: "自查材料自动获取",
// url: "/mainLayout/materialAcquisition", url: "/assesszc/materialAcquisition",
// children: [], children: [],
// }, },
// { {
// name: "自查项目辅助检查", name: "自查项目辅助检查",
// url: "/mainLayout/auxiliaryInspection", url: "/assesszc/auxiliaryInspection",
// children: [], children: [],
// }, },
// { {
// name: "自查结果确认更改", name: "自查结果确认更改",
// url: "/mainLayout/confirmChanges", url: "/assesszc/confirmChanges",
// children: [], children: [],
// }, },
// {
// { {
// name: "自查问题辅助下发", name: "自查问题辅助下发",
// url: "/mainLayout/assitedDistribution", url: "/assesszc/assitedDistribution",
// children: [], children: [],
// }, },
// { {
// name: "自查问题辅助反馈", name: "自查问题辅助反馈",
// url: "/mainLayout/assistedFeedback", url: "/assesszc/assistedFeedback",
// children: [], children: [],
// }, },
// { {
// name: "自查申诉辅助确认", name: "自查申诉辅助确认",
// url: "/mainLayout/assistedConfirm", url: "/assesszc/assistedConfirm",
// children: [], children: [],
// }, },
// { {
// name: "自查问题辅助整改", name: "自查问题辅助整改",
// url: "/mainLayout/assistedRect", url: "/assesszc/assistedRect",
// children: [], children: [],
// }, },
// { {
// name: "自查整改辅助核验", name: "自查整改辅助核验",
// url: "/mainLayout/correctiveAssistanceVerification", url: "/assesszc/correctiveAssistanceVerification",
// children: [], children: [],
// }, },
// { {
// name: "自查材料同步归档", name: "自查材料同步归档",
// url: "/mainLayout/attachSynchronousArchiving", url: "/assesszc/attachSynchronousArchiving",
// children: [], children: [],
// }, },
// ], ],
// }, },
{ {
name: "后评估互查", name: "后评估互查",
url: "", url: "",
......
<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" type="index">
</el-table-column>
<el-table-column label="问题检查项" prop="quesCheckItem" width="auto">
</el-table-column>
<el-table-column
label="检查说明"
prop="checkDesc"
show-overflow-tooltip
width="auto"
>
</el-table-column>
<el-table-column label="评估问题" width="auto">
<template slot-scope="scope">
<el-input v-model="scope.row.evalQues" :disabled="ishow"></el-input>
</template>
</el-table-column>
<el-table-column label="问题截图" width="auto">
<template slot-scope="scope">
<el-image
class="imgList"
v-for="(img, index) in scope.row.images"
:key="index"
:src="img"
:preview-src-list="scope.row.images"
@click="handleImageClick(scope.row.images)"
></el-image>
</template>
</el-table-column>
</el-table>
</div>
<p class="Btn" v-if="!ishow">
<span @click="cancel()">取消</span><span @click="save('add')">确定</span>
<span @click="save('upLoad')">提交</span>
</p>
</div>
</template>
<script>
import {
selWtqdpostEvalQuesInfo,
bcpostEvalQuesInfo,
tjpostEvalQuesInfo,
presignedUrl,
} from "@/api/index";
export default {
data() {
return {
tableData: [],
mergingRows: [],
mergingPos: 0,
clqparams: {},
ishow: true,
};
},
mounted() {
this.clqparams = JSON.parse(this.$route.query.clqparams);
this.ishow = this.$route.query.ishow;
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;
}
let urlStr = item.url;
let arrUrl = [];
let showUrlList = [];
// 有url拆分调接口换预览
if (urlStr) {
console.log(urlStr, "urlStr");
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
} else {
arrUrl.push(urlStr);
}
console.log(arrUrl, "arrUrlarrUrl");
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
};
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
console.log(showUrlList, "showUrlList");
this.$set(item, "images", showUrlList);
}
});
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);
},
handleImageClick() {},
//保存
async save(type) {
console.log(this.clqparams, "this.clqparams");
let params = {
projectId: this.clqparams.projectId,
batchId: this.clqparams.batchId,
list: this.tableData,
};
if (type == "add") {
console.log(params, "this.zjtableDatathis.zjtableData");
let res = await bcpostEvalQuesInfo(params);
if (res.code == "200") {
this.$router.go(-1);
} else {
this.$message("保存失败");
}
} else {
let res = await tjpostEvalQuesInfo(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;
overflow-x: hidden;
.Btn {
width: calc(100% - 246px);
position: fixed;
height: 80px;
bottom: -15px;
right: 0;
z-index: 100;
background-color: #f5f5f6;
line-height: 80px;
span {
display: inline-block;
width: 89px;
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;
}
}
}
.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: 20px;
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: 10px;
}
/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;
}
}
.imgList {
/deep/ .el-image__inner {
width: 60px;
height: 60px;
}
}
</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" type="index">
</el-table-column>
<el-table-column label="问题检查项" prop="quesCheckItem">
</el-table-column>
<el-table-column label="检查说明" prop="checkDesc" show-overflow-tooltip> </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"
:picker-options="pickerOptions"
>
</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"
:picker-options="pickerOptions"
>
</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 {
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
}
},
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=JSON.parse(this.$route.query.Form);
console.log(this.ruleForm,'ruleForm')
}
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;
overflow-x: hidden;
.bottom {
width:calc(100% - 270px);
position:fixed;
bottom: -15px;
right: 0;
z-index: 100;
background-color: #f5f5f6;
line-height: 80px;
.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;
padding-bottom: 10px;
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
<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" type="index">
</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-column label="问题截图" width="auto">
<template slot-scope="scope">
<el-image
class="imgList"
v-for="(img, index) in scope.row.images"
:key="index"
:src="img"
:preview-src-list="scope.row.images"
@click="handleImageClick(scope.row.images)"
></el-image>
</template>
</el-table-column>
</el-table>
</div>
<div class="bottom">
<!-- <p class="JYtitle"><span></span>建议</p>
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"
placeholder="输入建议"
v-model="textarea1"
class="textarea"
>
</el-input> -->
<p class="Btn">
<span @click="cancel()">取消</span
><span @click="confirmNo()">确认无需整改</span>
<span @click="confirm()">确认需整改</span>
</p>
</div>
</div>
</template>
<script>
import {
selWtqdpostEvalQuesInfo,
qrzgqrbgSelQuesInfo,
qrwzgqrbgSelQuesInfo,
presignedUrl
} from "@/api/index";
export default {
data() {
return {
tableData: [],
mergingRows: [],
mergingPos: 0,
clqparams: {},
textarea1: "",
};
},
mounted() {
this.clqparams = JSON.parse(this.$route.query.qrparams);
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;
}
let urlStr = item.url;
let arrUrl = [];
let showUrlList = [];
// 有url拆分调接口换预览
if (urlStr) {
console.log(urlStr, "urlStr");
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
} else {
arrUrl.push(urlStr);
}
console.log(arrUrl, "arrUrlarrUrl");
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
};
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
console.log(showUrlList, "showUrlList");
this.$set(item, "images", showUrlList);
}
});
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() {
console.log('电击取消')
this.$router.go(-1);
},
//确认更改
async confirm() {
let params = {
projectId: this.clqparams.projectId,
batchId: this.clqparams.batchId,
};
let res = await qrzgqrbgSelQuesInfo(params);
if (res.code == "200") {
this.$router.go(-1);
} else {
this.$message("确认失败");
}
},
//确认无更改
async confirmNo() {
let params = {
projectId: this.clqparams.projectId,
batchId: this.clqparams.batchId,
};
let res = await qrwzgqrbgSelQuesInfo(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;
overflow-x: hidden;
.bottom {
width:calc(100% - 246px);
position:fixed;
bottom: -15px;
right: 0;
z-index: 100;
background-color: #f5f5f6;
line-height: 80px;
.textarea {
margin-top: 1px;
}
.Btn {
line-height: 80px;
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;
}
.tableTitle {
background: #0d867f;
color: #f5f5f6;
height: 40px;
line-height: 40px;
text-align: left;
padding-left: 20px;
font-weight: 600;
font-size: 15px;
}
.eltable {
width: 100%;
box-sizing: border-box;
margin-bottom: 50px;
}
/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;
}
}
.imgList {
/deep/ .el-image__inner {
width: 60px;
height: 60px;
}
}
</style>
\ No newline at end of file
...@@ -129,7 +129,7 @@ export default { ...@@ -129,7 +129,7 @@ export default {
} else if (newVal == 99) { } else if (newVal == 99) {
this.menuList = trendsRules(99); this.menuList = trendsRules(99);
this.$router.push({ this.$router.push({
path: "/mainLayout/auxiliarySelection", path: "/assesszc/auxiliarySelection",
}); });
} }
this.$refs.kzMenu.activeIndex = this.$route.path; this.$refs.kzMenu.activeIndex = this.$route.path;
......
...@@ -86,7 +86,6 @@ export default { ...@@ -86,7 +86,6 @@ export default {
{ {
name: "张宇", name: "张宇",
code: "sgtig_zhangyu", code: "sgtig_zhangyu",
url: "/mainLayout/auxiliarySelection",
children: [], children: [],
}, },
], ],
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!