Commit 74f80fdc by liangzhen

自动稽核任务配置

1 parent 6299ca73
No preview for this file type
...@@ -269,4 +269,25 @@ export function projectInspectionIssues(params) { ...@@ -269,4 +269,25 @@ export function projectInspectionIssues(params) {
//整改反馈查询分页查询 //整改反馈查询分页查询
export function RectificationFeedbackQuery(params) { export function RectificationFeedbackQuery(params) {
return post(`${ARCH_EVALUATION}/projectInspectionIssues/iPageRectificationFeedbackQuery`, params) return post(`${ARCH_EVALUATION}/projectInspectionIssues/iPageRectificationFeedbackQuery`, params)
}
//检查规则编制
//分页
export function ruleFormulation(params) {
return post(`${ARCH_EVALUATION}/ruleFormulation/`, params)
}
//自动稽核任务配置 分页
export function auditTasks(params) {
return post(`${ARCH_EVALUATION}/auditTasks/`, params)
}
//新增自动稽核任务配置
export function addauditTasks(params) {
return post(`${ARCH_EVALUATION}/auditTasks/ad`, params)
}
//详情
export function selRuleProject(params) {
return post(`${ARCH_EVALUATION}/auditTasks/selRuleProject`, params)
}
//删除
export function delAuditTasks(params){
return post(`${ARCH_EVALUATION}/auditTasks/delAuditTasks`, params)
} }
\ No newline at end of file
...@@ -5,78 +5,95 @@ ...@@ -5,78 +5,95 @@
<div class="continer"> <div class="continer">
<div class="top"> <div class="top">
<el-steps :active="active" align-center finish-status="success"> <el-steps :active="active" align-center finish-status="success">
<el-step v-for="item in tabList" <el-step
:key="item.name" v-for="item in tabList"
:title="item.label" @click.native="change(item.id)"></el-step> :key="item.name"
:title="item.label"
@click.native="change(item.id)"
></el-step>
</el-steps> </el-steps>
</div> </div>
<div class="content"> <div class="content">
<div class="left"> <div class="left">
<p class="tableTitle">检查内容</p> <p class="tableTitle">检查内容</p>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane
v-for="item in tabList"
:key="item.name"
:label="item.label"
:name="item.name"
>
<iframe
:src="item.content"
frameborder="0"
style="width: 80%; height: 60vh; margin: auto; display: block"
></iframe>
</el-tab-pane>
</el-tabs>
</div> </div>
<div class="right"> <div class="right">
<p class="tableTitle">检查项</p> <p class="tableTitle">检查项</p>
</div>
</div> </div>
</div>
<!-- <div class="left">
<div class="right">
<p class="tableTitle">检查内容</p>
<p class="tableTitle">检查项</p>
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="问题检查项" prop="batchYear">
</el-table-column>
<el-table-column label="检查说明" prop="batchYear"> </el-table-column>
</el-table>
</div>
<div class="right">
<p class="tableTitle">检查内容</p>
</div> -->
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { data } from 'jquery';
export default { export default {
data(){ data() {
return{ return {
tabList:[ tabList: [
{label:"可研",id:'1'}, { label: "可研", id: "1" },
{label:"计划",id:'2'}, { label: "计划", id: "2" },
{label:"采购",id:'3'}, { label: "采购", id: "3" },
{label:"合同",id:'4'}, { label: "合同", id: "4" },
{label:"执行",id:'5'}, { label: "执行", id: "5" },
{label:"结决算及转资",id:'6'} { label: "结决算及转资", id: "6" },
], ],
active:0 active: 0,
activeName: "first",
} tabList: [
{
label: "可研报告",
name: "first",
content: "https://slcsp.sinosig.com/app/claimDocuments/%E7%90%86%E8%B5%94%E7%94%B3%E8%AF%B7%E4%B9%A6.pdf",
},
{
label: "项目说明书",
name: "2",
content: "https://img1.baidu.com/it/u=819446249,151808267&fm=253&fmt=auto&app=138&f=JPEG?w=455&h=336",
},
{
label: "可研评审意见",
name: "3",
content: "https://kdocs.cn/l/ctHnSFr1rXTX",
},
{
label: "可研批复",
name: "4",
content:"http://l080-prod.oss-cn-szfinance.aliyuncs.com/app%2F..%2F%E6%9F%A5%E8%AF%A2%E4%BA%A7%E5%93%81%E4%BF%A1%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3.docx?OSSAccessKeyId=LTAIwQgnLaOdLDmj&Expires=1715941816&Signature=LLQmbUM%2F8lBKHoUCiCZxhNIbgOo%3D",
},
{
label: "可研变更、论证、批复文件(若有)",
name: "5",
content:"http://192.168.50.1:19090/arch-file/66442ae56c64ff6c1782c0b2.pdf",
},
],
};
},
mounted(){
},
methods: {
change(id) {
console.log("切换");
this.active = id * 1;
}, },
methods:{ handleClick(){
change(id){ },
console.log("切换") },
this.active=id*1
}
}
}; };
</script> </script>
...@@ -87,17 +104,16 @@ export default { ...@@ -87,17 +104,16 @@ export default {
height: 100%; height: 100%;
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
} }
.close{ .close {
position: absolute; position: absolute;
right:20px; right: 20px;
top: 20px; top: 20px;
.el-icon-circle-close{ .el-icon-circle-close {
font-size: 30px; font-size: 30px;
// background-color: #0d867f; // background-color: #0d867f;
// color: #fff; // color: #fff;
} }
} }
.title { .title {
...@@ -114,14 +130,12 @@ export default { ...@@ -114,14 +130,12 @@ export default {
padding: 20px; padding: 20px;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
.top{ .top {
width: 70%; width: 70%;
margin: 0 auto; margin: 0 auto;
position: relative; position: relative;
} }
.content{ .content {
width: 100%; width: 100%;
margin-top: 10px; margin-top: 10px;
display: flex; display: flex;
...@@ -129,7 +143,7 @@ export default { ...@@ -129,7 +143,7 @@ export default {
.left { .left {
width: 49%; width: 49%;
min-height: 100px; min-height: 100px;
color: #fff; color: #fff;
} }
.right { .right {
......
No preview for this file type
...@@ -8,34 +8,35 @@ ...@@ -8,34 +8,35 @@
class="demo-ruleForm" class="demo-ruleForm"
> >
<el-form-item label="规则名称:" prop="batchName" class="fromItem"> <el-form-item label="规则名称:" prop="ruleName" class="fromItem">
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input> <el-input v-model="ruleForm.ruleName" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="规则类型:" prop="batchYear" class="fromItem"> <el-form-item label="规则类型:" prop="ruleType" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable> <el-input v-model="ruleForm.ruleType" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="ruleForm.ruleType" placeholder="请选择" clearable>
<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="postEvalState" class="fromItem"> <el-form-item label="规则状态:" prop="ruleStatus" class="fromItem">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable> <el-select v-model="ruleForm.ruleStatus" placeholder="请选择" clearable>
<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-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建人:" prop="projectName" class="fromItem"> <el-form-item label="创建人:" prop="creator" class="fromItem">
<el-input <el-input
v-model="ruleForm.projectName" v-model="ruleForm.creator"
placeholder="请输入" placeholder="请输入"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="评审时间:" prop="projectId" class="fromItem"> <el-form-item label="创建时间:" prop="createTime" class="fromItem">
<el-date-picker <el-date-picker
v-model="reviewTime" v-model="ruleForm.createTime"
type="date" type="date"
placeholder="选择日期"> placeholder="选择日期">
</el-date-picker> </el-date-picker>
...@@ -45,10 +46,10 @@ ...@@ -45,10 +46,10 @@
<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()">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button <img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
> >
<el-button @click="detailsForm('ruleForm')"> <el-button @click="detailsForm()">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button <img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
> >
</el-form-item> </el-form-item>
...@@ -68,15 +69,35 @@ ...@@ -68,15 +69,35 @@
<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 type="selection"> </el-table-column> <el-table-column type="selection"> </el-table-column>
<el-table-column label="规则名称" prop="batchYear"> </el-table-column> <el-table-column label="规则名称" prop="ruleName"> </el-table-column>
<el-table-column prop="batchName" label="规则类型"> <el-table-column prop="ruleType" label="规则类型">
</el-table-column> </el-table-column>
<el-table-column prop="projectName" label="规则状态" show-overflow-tooltip> <el-table-column prop="ruleStatus" label="规则状态" show-overflow-tooltip>
<template slot-scope="scope">
<el-switch
v-model="scope.row.ruleStatus"
active-color="#13ce66"
inactive-color="#C0C0C0"
active-value="0"
inactive-value="1"
active-text=""
inactive-text=""
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="创建人"> <el-table-column prop="creator" label="创建人">
</el-table-column> </el-table-column>
<el-table-column prop="projectStatus" label="创建时间"> <el-table-column prop="createTime" label="创建时间">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -97,127 +118,50 @@ ...@@ -97,127 +118,50 @@
width="90%" width="90%"
:modal-append-to-body="false" :modal-append-to-body="false"
:append-to-body="false" :append-to-body="false"
class="dialog"
> >
<div class="dialog"> <el-form
<h3> :model="ruleFormdialog"
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目 ref="ruleFormdialog"
</h3> label-width="100px"
class="demo-ruleForm"
<el-tabs v-model="activeName" @tab-click="handleClick"> >
<el-tab-pane label="基本信息" name="first">
<div> <el-form-item label="规则名称:" prop="ruleName" class="fromItem">
<p class="title"><span></span>项目基本信息</p> <el-input v-model="ruleFormdialog.ruleName" placeholder="请输入" disabled></el-input>
<div class="content"> </el-form-item>
<p><label>项目编号:</label>{{ listData.projectId }}</p> <el-form-item label="规则类型:" prop="ruleType" class="fromItem">
<p><label>项目下达年度:</label>{{ listData.projectYear }}</p> <el-input v-model="ruleFormdialog.ruleType" placeholder="请输入" disabled></el-input>
<p><label>项目名称:</label> <span>{{ listData.projectName }}</span> </p> <!-- <el-select v-model="ruleForm.ruleType" placeholder="请选择" clearable>
<p><label>建设形式:</label>{{ listData.projectCategory }}</p> <el-option label="2024年" value="2024"></el-option>
<p> <el-option label="2023年" value="2023"></el-option>
<label>总投资计划(万元)-成本金:</label <el-option label="2022年" value="2022"></el-option>
>{{ listData.costAmountTotal }} <el-option label="2021年" value="2021"></el-option>
</p> </el-select> -->
<p> </el-form-item>
<label>总投资计划(万元)-资本金:</label <el-form-item label="规则状态:" prop="ruleStatus" class="fromItem">
>{{ listData.capitalAmountTotal }} <el-select v-model="ruleFormdialog.ruleStatus" placeholder="请选择" disabled>
</p> <el-option label="开启" value="0"></el-option>
<p><label>部门:</label>{{ listData.department }}</p> <el-option label="关闭" value="1"></el-option>
<p><label>创建人:</label>{{ listData.inputuser }}</p> </el-select>
<p><label>创建时间:</label>{{ listData.inputuser }}</p> </el-form-item>
<p><label>修改人:</label>{{ listData.lastUpdatedby }}</p>
<p><label>修改时间:</label>{{ listData.lastUpdateTime }}</p>
</div>
<div class="table">
<p>项目后评估资料:</p>
<el-table
@selection-change="handleSelectionChange"
:data="qdtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable tablepg"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="类别" prop="batchtype">
</el-table-column>
<el-table-column prop="typeCode" label="资料类型">
</el-table-column>
<el-table-column prop="fileName" label="资料名称">
</el-table-column>
</el-table>
</div>
<p class="title"><span></span>批次详情</p>
<div class="content">
<p><label>批次年度:</label>{{ listData.batchYear }}</p>
<p><label>后评估批次名称:</label>{{ listData.batchName }}</p>
<p><label>计划评审日期:</label>{{ listData.planReviewDate }}</p>
</div>
<p class="title"><span></span>评审专家</p>
<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
:data="xxtableData"
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-form-item label="创建人:" prop="creator" class="fromItem">
</el-table-column> <el-input
<el-table-column label="检查说明" prop="checkDesc" show-overflow-tooltip> v-model="ruleFormdialog.creator"
</el-table-column> placeholder="请输入"
<el-table-column label="评估问题" prop="evalQues"> disabled
<!-- <template slot-scope="scope"> ></el-input>
<el-input v-model="scope.row.evalQues"></el-input> </el-form-item>
</template> --> <el-form-item label="创建时间:" prop="createTime" class="fromItem">
</el-table-column> <el-date-picker
</el-table> v-model="ruleFormdialog.createTime"
</el-tab-pane> type="date"
<el-tab-pane label="评审流程" name="third"> disabled
<el-table placeholder="选择日期">
:data="lctableData" </el-date-picker>
tooltip-effect="dark" </el-form-item>
style="width: 100%" </el-form>
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column
label="流程节点"
prop="processNodes"
width="150"
>
</el-table-column>
<el-table-column label="状态" prop="state"> </el-table-column>
<el-table-column label="处理人" prop="processedBy">
</el-table-column>
<el-table-column label="处理时间" prop="processingTime">
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
<p class="close"><span @click="cancel()">关闭</span></p> <p class="close"><span @click="cancel()">关闭</span></p>
</el-dialog> </el-dialog>
</div> </div>
...@@ -226,12 +170,9 @@ ...@@ -226,12 +170,9 @@
<script> <script>
import { MaterialsList } from '@/utils/cache' import { MaterialsList } from '@/utils/cache'
import { import {
fzcxselect, ruleFormulation,
fzcxXqselect, } from "@/api/index";
wtqdqselect,
clqdselect,
selLcb,
} from "@/api/index";
export default { export default {
data() { data() {
return { return {
...@@ -279,7 +220,7 @@ ...@@ -279,7 +220,7 @@
}; };
Object.assign(params, this.ruleForm); Object.assign(params, this.ruleForm);
console.log(params); console.log(params);
let res = await fzcxselect(params); let res = await ruleFormulation(params);
if (res.code == "200") { if (res.code == "200") {
this.tableData = res.data.records; this.tableData = res.data.records;
...@@ -298,38 +239,9 @@ ...@@ -298,38 +239,9 @@
this.$message("请选择"); this.$message("请选择");
return; return;
} }
this.dialog = true; this.dialog=true
let params = { this.ruleFormdialog=this.checkedList[0]
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
console.log(res[0], res[1], "2222222");
this.listData = res[0].data.records[0];
this.qdtableData=this.tableDataNew
if (res[1].data.records.length > 0) {
// this.qdtableData = res[1].data.records;
this.qdtableData = this.qdtableData.concat(res[1].data.records)
.reduce((accumulator, currentObj) => {
const existingObj = accumulator.find(
(obj) => obj.typeCode == currentObj.typeCode
);
if (existingObj) {
Object.assign(existingObj, currentObj);
} else {
accumulator.push(currentObj);
}
return accumulator;
}, []);
console.log( this.tableDataQD,' mergedArray mergedArray mergedArray')
// this.tableDataQD.forEach((item) => {
// // this.$set(item, "batchtype", "开发、实施类");
// });
}
});
}, },
//表格颜色 //表格颜色
...@@ -339,88 +251,7 @@ ...@@ -339,88 +251,7 @@
} }
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() {
this.mergingRows=[]
this.mergingPos = 0;
for (let i = 0; i < this.xxtableData.length; i++) {
// tabledata 表格数据源
if (i == 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.xxtableData[i].projectStage ===
this.xxtableData[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,
};
this.xxtableData=[]
let res = await wtqdqselect(params);
if (res.code == "200") {
this.xxtableData = res.data.records;
this.total = res.data.total * 1;
}
this.xxtableData.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();
} else if (this.activeName == "third") {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
let res = await selLcb(params);
if (res.code == "200") {
this.lctableData = res.data;
}
}
},
//主列表选中行信息 //主列表选中行信息
handleSelectionChange(selection) { handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) { if (Array.isArray(selection) && selection.length > 1) {
...@@ -563,66 +394,7 @@ ...@@ -563,66 +394,7 @@
table-layout: auto; table-layout: auto;
} }
} }
.dialog {
.title {
text-align: left;
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 {
border-radius: 2px;
display: inline-block;
width: 5px;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
}
}
.content {
width: 100%;
display: flex;
flex-wrap: wrap;
p {
width: 24%;
text-align: left;
display: flex;
label {
display: inline-block;
width: 150px;
flex-shrink: 0;
text-align: right;
font-weight: bold;
margin-right: 20px;
vertical-align: middle;
}
span{
display: inline-block;
text-align: left
}
}
}
.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 {
...@@ -711,4 +483,18 @@ ...@@ -711,4 +483,18 @@
overflow: auto; overflow: auto;
} }
} }
/deep/
.el-switch__core:after{
height: 17px;
top: 0;
}
.dialog {
.el-form{
border:none !important;
border-top: none;
border-left: none;
border-right: none;
border-bottom: none;
}
}
</style> </style>
\ No newline at end of file
<template> <template>
<div class="main"> <div class="main">
<el-form <el-form
:model="ruleForm" :model="ruleForm"
ref="ruleForm" ref="formName"
label-width="100px" label-width="100px"
class="demo-ruleForm" class="demo-ruleForm"
>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input
v-model="ruleForm.auditName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label="稽核开始时间:"
prop="auditStartTime"
class="fromItem"
> >
<el-form-item label="稽核名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="稽核开始时间:" prop="projectId" class="fromItem">
<el-date-picker <el-date-picker
v-model="reviewTime" v-model="ruleForm.auditStartTime"
type="date" type="date"
placeholder="选择日期"> placeholder="选择日期"
</el-date-picker> >
</el-form-item> </el-date-picker>
<el-form-item label="稽核结束时间:" prop="projectId" class="fromItem"> </el-form-item>
<el-form-item label="稽核结束时间:" prop="auditEndTime" class="fromItem">
<el-date-picker <el-date-picker
v-model="reviewTime" v-model="ruleForm.auditEndTime"
type="date" type="date"
placeholder="选择日期"> placeholder="选择日期"
</el-date-picker> >
</el-form-item> </el-date-picker>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem"> </el-form-item>
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable> <el-form-item label="auditFrequency:" prop="batchYear" class="fromItem">
<el-option label="2024年" value="2024"></el-option> <el-select
<el-option label="2023年" value="2023"></el-option> v-model="ruleForm.auditFrequency"
<el-option label="2022年" value="2022"></el-option> placeholder="请选择"
<el-option label="2021年" value="2021"></el-option> clearable
</el-select> >
</el-form-item> <el-option label="仅一次" value="0"></el-option>
<el-form-item label="稽核项目范围:" prop="postEvalState" class="fromItem"> <el-option label="每周" value="1"></el-option>
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable> <el-option label="每月" value="2"></el-option>
<el-option label="开启" value="0"></el-option> <el-option label="每季度" value="3"></el-option>
<el-option label="关闭" value="1"></el-option> <el-option label="每年" value="4"></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="detailsForm('ruleForm')"> <el-button @click="detailsForm()">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button <img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
> >
<el-button @click="add()"> <el-button @click="add()">
<img class="buttonIcon" src="../../assets/xz.png" /> 新增 <img class="buttonIcon" src="../../assets/xz.png" /> 新增
</el-button> </el-button>
<el-button @click="edit()"> <el-button @click="edit()">
...@@ -58,677 +66,1443 @@ ...@@ -58,677 +66,1443 @@
<el-button @click="deletes()"> <el-button @click="deletes()">
<img class="buttonIcon" src="../../assets/sc.png" /> 删除 <img class="buttonIcon" src="../../assets/sc.png" /> 删除
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="setscroll"> <div class="setscroll">
<el-table <el-table
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
ref="multipleTable" ref="multipleTable"
:data="tableData" :data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="稽核名称" prop="auditName"> </el-table-column>
<el-table-column prop="auditStartTime" label="稽核开始时间">
</el-table-column>
<el-table-column
prop="auditEndTime"
label="稽核结束时间"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="auditFrequencyText"
label="稽核频率"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="creator" label="创建人"> </el-table-column>
<el-table-column prop="createTime" label="创建时间"> </el-table-column>
</el-table>
</div>
<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="dialogAdd"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formNameAD"
:model="ruleFormdialogAdd"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input
v-model="ruleFormdialogAdd.auditName"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
@change="timeChange"
v-model="ruleFormdialogAdd.dates"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-select
v-model="ruleFormdialogAdd.auditFrequency"
placeholder="请选择"
clearable
>
<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="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">
稽核规则<span @click="checkRules()">选择稽核规则</span>
</p>
<div class="setscrolldialogAdd">
<el-table
@selection-change="handleSelectionChangeZJ"
ref="multipleTableZJ"
:data="
addtableData.slice(
(addcurrentPage - 1) * pageSizeAdd,
addcurrentPage * pageSizeAdd
)
"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="规则名称" prop="ruleName">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型">
</el-table-column>
<el-table-column
prop="ruleStatus"
label="规则状态"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-switch
v-model="scope.row.ruleStatus"
active-color="#13ce66"
inactive-color="#C0C0C0"
active-value="0"
inactive-value="1"
active-text=""
inactive-text=""
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="creator" label="创建人"> </el-table-column>
<el-table-column prop="createTime" label="创建时间">
</el-table-column>
</el-table>
</div>
<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="zjBtn">
待稽核项目<span @click="checkXM()">选择待稽核项目</span>
</p>
<div class="setscrolldialogAdd">
<el-table
:data="
addtableDataXM.slice(
(addcurrentPageXM - 1) * pageSizeAddXM,
addcurrentPageXM * pageSizeAddXM
)
"
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" show-overflow-tooltip>
</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="department" label="部门" width="auto">
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button @click="handleClickAD(scope.row,scope.$index,addtableDataXM)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChangeAddXM"
@current-change="handleCurrentChangeAddXM"
:current-page="addcurrentPageXM"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="addtotalXM"
class="elpagination"
>
</el-pagination>
</div>
<p class="midBtn">
<span @click="cancelXZ()">取消</span
><span @click="saveXZ('add')">保存</span>
</p>
</div>
</el-dialog>
<!-- 规则弹窗 -->
<el-dialog
title="选择稽核规则"
:visible.sync="dialogRule"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
:model="ruleForm"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="规则名称:" prop="ruleName" class="fromItem">
<el-input
v-model="ruleFormRule.ruleName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="规则类型:" prop="ruleType" class="fromItem">
<el-input
v-model="ruleFormRule.ruleType"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="规则状态:" prop="ruleStatus" class="fromItem">
<el-select
v-model="ruleFormRule.ruleStatus"
placeholder="请选择"
clearable
>
<el-option label="开启" value="0"></el-option>
<el-option label="关闭" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建人:" prop="creator" class="fromItem">
<el-input
v-model="ruleFormRule.creator"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="创建时间:" prop="createTime" class="fromItem">
<el-date-picker
v-model="ruleFormRule.createTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-form>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChangeZJ"
ref="multipleTableZJ"
:data="tableDataRule"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="规则名称" prop="ruleName">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型">
</el-table-column>
<el-table-column
prop="ruleStatus"
label="规则状态"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-switch
v-model="scope.row.ruleStatus"
active-color="#13ce66"
inactive-color="#C0C0C0"
active-value="0"
inactive-value="1"
active-text=""
inactive-text=""
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="creator" label="创建人"> </el-table-column>
<el-table-column prop="createTime" label="创建时间">
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChangeRule"
@current-change="handleCurrentChangeRule"
:current-page="currentPageRule"
:page-sizes="[5, 10, 15, 20]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination>
<p class="midBtn">
<span @click="cancelGZ()">取消</span
><span @click="saveGZ()">保存</span>
</p>
</div>
</el-dialog>
<!-- 选择项目 -->
<el-dialog
title="选择待评估项目"
:visible.sync="dialogAddzj"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<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="请选择" clearable>
<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="请输入"
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="projectInfo" class="fromItem">
<el-input
v-model="ruleFormZJ.projectInfo"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="建设形式:" prop="projectCategory" class="fromItem">
<el-select v-model="ruleFormZJ.projectCategory" placeholder="请选择" clearable>
<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="请选择" clearable>
<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="checkXM()"> 查询 </span>
</el-form-item>
</el-form>
<div class="setscrolldialogx">
<el-table
@selection-change="handleSelectionChangeXM"
ref="multipleTableXM"
:data="zjtableData"
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"
border border >
> <el-table-column type="selection">
</el-table-column>
<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 type="selection"> </el-table-column>
<el-table-column label="规则名称" prop="batchYear"> </el-table-column> <el-table-column label="项目编码" width="200" prop="projectId">
<el-table-column prop="batchName" label="规则类型"> </el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="200">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto" show-overflow-tooltip>
</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 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="projectName" label="规则状态" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="创建人">
<el-table-column prop="department" label="部门" width="200">
</el-table-column> </el-table-column>
<el-table-column prop="projectStatus" label="创建时间"> <el-table-column prop="department" label="承建单位" width="200">
</el-table-column>
<el-table-column prop="personCharge" label="项目经理" width="200">
</el-table-column>
<el-table-column prop="projectInfo" label="项目内容" show-overflow-tooltip>
</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-column>
</el-table> </el-table>
</div>
<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> </div>
<el-pagination </el-dialog>
@size-change="handleSizeChange" <!-- 详情弹窗 -->
@current-change="handleCurrentChange" <el-dialog
:current-page="currentPage" title="新增自动稽核任务"
:page-sizes="[10, 15, 20, 50]" :visible.sync="dialogXQ"
:page-size="100" width="90%"
layout="total, sizes, prev, pager, next, jumper" :modal-append-to-body="false"
:total="total" :append-to-body="false"
class="elpagination" >
> <div class="dialog">
</el-pagination> <el-form
<el-dialog ref="formNameAD"
title="详情" :model="ruleFormdialogXQ"
:visible.sync="dialog" label-width="100px"
width="90%" class="demo-ruleForm"
:modal-append-to-body="false"
:append-to-body="false" >
> <el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<div class="dialog"> <el-input
<h3> v-model="ruleFormdialogAdd.auditName"
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目 disabled
</h3> ></el-input>
</el-form-item>
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-tab-pane label="基本信息" name="first"> <el-date-picker
<div> @change="timeChange"
<p class="title"><span></span>项目基本信息</p> v-model="ruleFormdialogAdd.dates"
<div class="content"> style="width: 240px"
<p><label>项目编号:</label>{{ listData.projectId }}</p> value-format="yyyy-MM-dd"
<p><label>项目下达年度:</label>{{ listData.projectYear }}</p> type="daterange"
<p><label>项目名称:</label> <span>{{ listData.projectName }}</span> </p> range-separator="-"
<p><label>建设形式:</label>{{ listData.projectCategory }}</p> start-placeholder="开始日期"
<p> end-placeholder="结束日期"
<label>总投资计划(万元)-成本金:</label disabled
>{{ listData.costAmountTotal }} ></el-date-picker>
</p> </el-form-item>
<p> <el-form-item
<label>总投资计划(万元)-资本金:</label label="稽核频率:"
>{{ listData.capitalAmountTotal }} prop="auditFrequency"
</p> class="fromItem"
<p><label>部门:</label>{{ listData.department }}</p> >
<p><label>创建人:</label>{{ listData.inputuser }}</p> <el-select
<p><label>创建时间:</label>{{ listData.inputuser }}</p> v-model="ruleFormdialogAdd.auditFrequency"
<p><label>修改人:</label>{{ listData.lastUpdatedby }}</p> placeholder="请选择"
<p><label>修改时间:</label>{{ listData.lastUpdateTime }}</p> disabled
</div> >
<div class="table"> <el-option label="仅一次" value="0"></el-option>
<p>项目后评估资料:</p> <el-option label="每周" value="1"></el-option>
<el-table <el-option label="每月" value="2"></el-option>
@selection-change="handleSelectionChange" <el-option label="每季度" value="3"></el-option>
:data="qdtableData" <el-option label="每年" value="4"></el-option>
tooltip-effect="dark" </el-select>
style="width: 100%" </el-form-item>
header-cell-class-name="custom-th-background" </el-form>
class="eltable tablepg" <p class="zjBtn">
:row-class-name="tableRowClassName" 稽核规则
border </p>
> <div class="setscrolldialogAdd">
<el-table-column label="序号" width="55" type="index"> <el-table
</el-table-column> :data="XQtableData"
tooltip-effect="dark"
<el-table-column label="类别" prop="batchtype"> style="width: 100%"
</el-table-column> header-cell-class-name="custom-th-background"
<el-table-column prop="typeCode" label="资料类型"> class="eltable"
</el-table-column> :row-class-name="tableRowClassName"
<el-table-column prop="fileName" label="资料名称"> border
</el-table-column> >
</el-table> <el-table-column label="序号" width="55" type="index">
</div> </el-table-column>
<p class="title"><span></span>批次详情</p> <el-table-column type="selection"> </el-table-column>
<div class="content"> <el-table-column label="规则名称" prop="ruleName">
<p><label>批次年度:</label>{{ listData.batchYear }}</p> </el-table-column>
<p><label>后评估批次名称:</label>{{ listData.batchName }}</p> <el-table-column prop="ruleType" label="规则类型">
<p><label>计划评审日期:</label>{{ listData.planReviewDate }}</p> </el-table-column>
</div>
<p class="title"><span></span>评审专家</p> <el-table-column
<div class="content"> prop="ruleStatus"
<p><label>评审专家:</label>{{ listData.expertName }}</p> label="规则状态"
</div> show-overflow-tooltip
</div> >
</el-tab-pane> <template slot-scope="scope">
<el-tab-pane label="问题清单" name="second"> <el-switch
<p class="title"><span></span>项目基本信息</p> v-model="scope.row.ruleStatus"
<el-table active-color="#13ce66"
:data="xxtableData" inactive-color="#C0C0C0"
tooltip-effect="dark" active-value="0"
style="width: 100%" inactive-value="1"
header-cell-class-name="custom-th-background" active-text=""
class="eltable" inactive-text=""
:row-class-name="tableRowClassName" disabled
: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" 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>
</el-tab-pane>
<el-tab-pane label="评审流程" name="third">
<el-table
:data="lctableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column
label="流程节点"
prop="processNodes"
width="150"
> >
</el-table-column> <template v-slot:active>
<el-table-column label="状态" prop="state"> </el-table-column> <span>开启</span>
<el-table-column label="处理人" prop="processedBy"> </template>
</el-table-column> <template v-slot:inactive>
<el-table-column label="处理时间" prop="processingTime"> <span>关闭</span>
</el-table-column> </template>
</el-table> </el-switch>
</el-tab-pane> </template>
</el-tabs> </el-table-column>
<el-table-column prop="creator" label="创建人"> </el-table-column>
<el-table-column prop="createTime" label="创建时间">
</el-table-column>
</el-table>
</div> </div>
<p class="close"><span @click="cancel()">关闭</span></p> <el-pagination
</el-dialog> @size-change="handleSizeChangeXQ"
</div> @current-change="handleCurrentChangeAXQ"
</template> :current-page="XQcurrentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="XQtotal"
class="elpagination"
>
</el-pagination>
<p class="zjBtn">
待稽核项目
</p>
<div class="setscrolldialogAdd">
<el-table
:data="XQtableDataXM"
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" show-overflow-tooltip>
</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="department" label="部门" width="auto">
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button @click="handleClickAD(scope.row,scope.$index,addtableDataXM)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChangeAddXM"
@current-change="handleCurrentChangeAddXM"
:current-page="addcurrentPageXM"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="addtotalXM"
class="elpagination"
>
</el-pagination>
</div>
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXZ('add')" v-show="false">保存</span>
</p>
</div>
</el-dialog>
</div>
</template>
<script>
import { getCurrentDate } from '@/utils/format'
import { MaterialsList } from "@/utils/cache";
import { auditTasks, ruleFormulation,getProjectInfo, addauditTasks,selRuleProject,delAuditTasks } from "@/api/index";
export default {
data() {
return {
<script> listData: {},
import { MaterialsList } from '@/utils/cache' qdtableData: JSON.parse(JSON.stringify(MaterialsList())),
import { tableDataNew: MaterialsList(),
fzcxselect, xxtableData: [],
fzcxXqselect, showButton: true,
wtqdqselect, ruleForm: {
clqdselect, batchYear: "",
selLcb, batchName: "",
} from "@/api/index"; postEvalState: "",
export default { projectName: "",
data() { projectId: "",
return { },
listData: {}, ruleFormdialog: {
qdtableData: JSON.parse(JSON.stringify(MaterialsList())), batchYear: "",
tableDataNew:MaterialsList(), batchName: "",
xxtableData:[], planReviewDate: "",
showButton: true, fullName: "",
ruleForm: { },
batchYear: "",
batchName: "", tableData: [],
postEvalState: "",
projectName: "", checkedList: [],
projectId: "", currentPage: 1,
}, pageSize: 10,
ruleFormdialog: { currentPagetjcl: 1,
batchYear: "", pageSizetjcl: 10,
batchName: "", total: 0,
planReviewDate: "", dialog: false,
fullName: "", activeName: "first",
}, mergingRows: [],
lctableData: [],
tableData: [],
dialogAdd: false,
checkedList: [], ruleFormdialogAdd: {
currentPage: 1, auditName: "",
pageSize: 10, dates:[],
currentPagetjcl: 1, auditFrequency: "",
pageSizetjcl: 10, },
total: 0, rules: {
dialog: false, auditName: [
activeName: "first", {
mergingRows: [], required: true,
lctableData:[], message: "请输入稽核名称",
trigger: "change",
},
],
auditFrequency: [
{
required: true,
message: "请选择稽核频率",
trigger: "change",
},
],
dates: [
{
type: 'array',
required: true,
message: '请输入时间',
fields: {
0: { type: 'string', required: true, message: '请选择开始日期' },
1: { type: 'string', required: true, message: '请选择结束日期' }
}
}
],
// auditStartTime: [
// {
// required: true,
// message: "请选择开始日期",
// trigger: "change",
// },
// ],
// auditEndTime: [
// {
// required: true,
// message: "请选择结束日期",
// trigger: "change",
// },
// ],
},
addtableData: [],
currentPageRule: 1,
pageSizeRule: 5,
ruleFormRule: {},
tableDataRule: [],
totalRule: 0,
dialogRule: false,
addZJList: [],
addcurrentPage: 1,
pageSizeAdd: 5,
addtotal: 0,
addtableDataXM: [], //项目
addcurrentPageXM: 1,
pageSizeAddXM: 5,
addtotalXM: 0,
dialogAddzj: false,
ruleFormZJ:{
},
zjtableData:[],
pageSizeZJ:5,
currentZJ: 1,
zjtotal:0,
addZJListXM:[],
oldid:'',//已经选中的
dialogXQ:false,//详情
ruleFormdialogXQ:{},
XQtableData:[],
XQtableDataXM:[],
XQtotal:0,
pageSizeXQ:5,
XQcurrentPage:1,
};
},
mounted() {
this.submitForm();
},
methods: {
timeChange(time){
if(time){
//给后端的参数
this.ruleFormdialogAdd.auditStartTime = time[0]
this.ruleFormdialogAdd.auditEndTime= time[1]
}
},
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
}; };
Object.assign(params, this.ruleForm);
console.log(params);
let res = await auditTasks(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.auditFrequency == 0) {
this.$set(item, "auditFrequencyText", "仅一次");
} else if (item.auditFrequency == 1) {
this.$set(item, "auditFrequencyText", "每周");
} else if (item.auditFrequency == 2) {
this.$set(item, "auditFrequencyText", "每月");
} else if (item.auditFrequency == 3) {
this.$set(item, "auditFrequencyText", "每季度");
} else if (item.auditFrequency == 4) {
this.$set(item, "auditFrequencyText", "每年");
}
});
this.total = res.data.total * 1;
}
}, },
mounted() { resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm(); this.submitForm();
}, },
methods: { //详情
async submitForm() { async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
this.dialog = true;
let params = {
auditId: this.checkedList[0].id,
current: this.XQcurrentPage,
pageSize: this.pageSizeXQ,
};
let res= await selRuleProject(params)
this.dialogXQ=true
this.XQtableData=res.data.rule.records
this.XQtableDataXM=res.data.prj.records
},
cancelXQ(){
this.dialogXQ=false
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
return "";
},
async handleClick() {
console.log(this.activeName, "this.activeName");
if (this.activeName == "second") {
let params = { let params = {
current: this.currentPage, batchId: this.checkedList[0].batchId,
pageSize: this.pageSize, projectId: this.checkedList[0].projectId,
}; };
Object.assign(params, this.ruleForm); this.xxtableData = [];
console.log(params); let res = await wtqdqselect(params);
let res = await fzcxselect(params);
if (res.code == "200") { if (res.code == "200") {
this.tableData = res.data.records; this.xxtableData = res.data.records;
this.total = res.data.total * 1; this.total = res.data.total * 1;
} }
},
resetForm(formName) { this.xxtableData.forEach((item) => {
this.$refs[formName].resetFields(); switch (item.projectStage) {
this.currentPage = 1; case 1:
this.pageSize = 10; this.$set(item, "projectStagetext", "1.可研");
this.submitForm(); break;
}, case 2:
//详情 this.$set(item, "projectStagetext", "2.计划");
detailsForm() { break;
if (this.checkedList.length != 1) { case 3:
this.$message("请选择"); this.$set(item, "projectStagetext", "3.采购");
return; break;
} case 4:
this.dialog = true; this.$set(item, "projectStagetext", "4.合同");
break;
case 5:
this.$set(item, "projectStagetext", "5.执行");
break;
case 6:
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
this.dataPretreatment();
} else if (this.activeName == "third") {
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectId,
}; };
Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => { let res = await selLcb(params);
console.log(res[0], res[1], "2222222"); if (res.code == "200") {
this.listData = res[0].data.records[0]; this.lctableData = res.data;
this.qdtableData=this.tableDataNew
if (res[1].data.records.length > 0) {
// this.qdtableData = res[1].data.records;
this.qdtableData = this.qdtableData.concat(res[1].data.records)
.reduce((accumulator, currentObj) => {
const existingObj = accumulator.find(
(obj) => obj.typeCode == currentObj.typeCode
);
if (existingObj) {
Object.assign(existingObj, currentObj);
} else {
accumulator.push(currentObj);
}
return accumulator;
}, []);
console.log( this.tableDataQD,' mergedArray mergedArray mergedArray')
// this.tableDataQD.forEach((item) => {
// // this.$set(item, "batchtype", "开发、实施类");
// });
}
});
},
//表格颜色
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() {
this.mergingRows=[]
this.mergingPos = 0;
for (let i = 0; i < this.xxtableData.length; i++) {
// tabledata 表格数据源
if (i == 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.xxtableData[i].projectStage ===
this.xxtableData[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,
};
this.xxtableData=[]
let res = await wtqdqselect(params);
if (res.code == "200") {
this.xxtableData = res.data.records;
this.total = res.data.total * 1;
}
this.xxtableData.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();
} else if (this.activeName == "third") {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
let res = await selLcb(params);
if (res.code == "200") {
this.lctableData = res.data;
}
}
},
//主列表选中行信息
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"); //主列表选中行信息
}, handleSelectionChange(selection) {
handleSizeChange(val) { if (Array.isArray(selection) && selection.length > 1) {
console.log(`每页 ${val} 条`); this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.pageSize = val; this.$refs.multipleTable.toggleRowSelection(selection[1], true);
this.submitForm() }
}, this.checkedList = this.$refs.multipleTable.selection;
handleCurrentChange(val) { this.ruleFormdialog = this.checkedList[0];
console.log(`当前页: ${val}`); console.log(this.checkedList, "2222");
this.currentPage = val; },
this.submitForm() handleSizeChange(val) {
}, console.log(`每页 ${val} 条`);
cancel() { this.pageSize = val;
this.dialog = false; this.submitForm();
}, },
//点击新增 handleCurrentChange(val) {
async add() { console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
cancel() {
this.dialog = false;
},
//点击新增
async add() {
this.dialogAdd = true; this.dialogAdd = true;
this.addtableData = []; //每次新增清空不然点了还是这几个人 this.addtableData = []; //每次新增清空不然点了还是这几个人
}, },
//选择规则
async checkRules() {
this.addZJList=[];
let params = {
current: this.currentPageRule,
pageSize: this.pageSizeRule,
};
Object.assign(params, this.ruleFormRule);
console.log(params);
let res = await ruleFormulation(params);
if (res.code == "200") {
this.dialogRule = true;
this.tableDataRule = res.data.records;
this.totalRule = res.data.total * 1;
}
},
//规则取消
cancelGZ() {
this.dialogRule = false;
},
//规则选择
saveGZ() {
if (this.addZJList.length < 1) {
this.$message("请选择专家");
return;
}
this.addtableData = [...this.addtableData, ...this.addZJList];
this.addtableData = this.addtableData.filter(
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id)
);
console.log(this.addtableData, "新增");
this.addtotal = this.addtableData.length;
this.dialogRule = false;
},
handleSizeChangeRule() {
this.pageSizeRule = val;
this.saveGZ();
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val;
},
handleCurrentChangeAdd(val) {
this.addcurrentPage = val;
},
handleSizeChangeXQ(val) {
this.pageSizeXQ = val;
},
handleCurrentChangeXQ(val) {
this.XQcurrentPage = val;
},
handleSizeChangeAddXM(val) {
this.pageSizeAddXM = val;
},
handleCurrentChangeAddXM(val) {
this.addcurrentPageXM = val;
},
handleCurrentChangeRule() {
this.currentPageRule = val;
this.saveGZ();
},
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection;
console.log(this.$refs.multipleTableZJ.selection, "2222");
},
handleSelectionChangeXM() {
this.addZJListXM = this.$refs.multipleTableXM.selection;
},
//编辑 //编辑
edit(){ edit() {},
//删除
async deletes() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
let params = {
auditId: this.checkedList[0].id,
};
let res= await delAuditTasks(params)
if(res.code==200){
this.resetForm()
}
},
//选择项目
async checkXM(){
this.dialogAddzj = true;
this.addZJList=[];
let params = {
current: this.currentZJ,
pageSize: this. pageSizeZJ,
prjStr:this.oldid
};
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");
}, },
//删除 handleSizeChangeZJ(val) {
deletes(){ console.log(`每页 ${val} 条`);
this.pageSizeZJ = val;
} this.checkXM()
},
handleCurrentChangeZJ(val) {
console.log(`当前页: ${val}`);
this.currentZJ = val;
this.checkXM()
},
//选择项目
saveZJ() {
if (this.addZJListXM.length < 1) {
this.$message("请选择项目");
return;
}
this.addtableDataXM=[...this.addZJListXM,...this.addtableDataXM]
this.addtableDataXM = this.addtableDataXM.filter((obj, index, self)=>{
return index == self.findIndex(t =>t.projectId == obj.projectId)
})
console.log(this.addtableDataXM, "3332223");
this.addtotalXM = this.addtableDataXM.length;
this.dialogAddzj = false;
},
//点击删除
async handleClickAD(row,index,rows) {
console.log("删除",row)
rows.splice(index, 1);
this.addtableDataXM=rows
}, },
}; saveXZ() {
</script> console.log("保存验证", this.$refs);
this.$refs.formNameAD.validate((valid) => {
if (!valid) {
console.log("error submit!!");
return false;
} else {
if (this.addtableData.length < 1) {
this.$message("请选择稽核规则");
return
}
if (this.addtableDataXM.length < 1) {
this.$message("请选择待稽核项目");
return
}
let expertIdList ="";
if(this.addtableDataXM.length>0){
this.addtableDataXM.forEach((item) => {
expertIdList= expertIdList.concat(item.projectId+',')
});
}
let ruleList ="";
if(this.addtableData.length>0){
this.addtableData.forEach((item) => {
console.log(item,'item')
ruleList= ruleList.concat(item.id+',')
});
}
let params = {
prjStr:expertIdList,
ruleStr:ruleList,
creator:sessionStorage.getItem('author'),
createTime:getCurrentDate(),
};
Object.assign(params, this.ruleFormdialogAdd);
console.log(params, "222");
addauditTasks(params).then((res) => {
this.dialogAdd = false;
this.resetForm();
});
}
});
},
},
};
</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;
overflow-x: hidden; overflow-x: hidden;
} }
.el-form { .el-form {
display: flex; display: flex;
width: 100%; width: 100%;
flex-wrap: wrap; flex-wrap: wrap;
border-top: 2px solid #23c6c8; border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7; border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7; border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7; border-bottom: 1px solid #dee5e7;
padding: 20px 10px; padding: 20px 10px;
margin-bottom: 20px;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px; margin-bottom: 20px;
.fromItem { .el-input {
min-width: 24%; width: 226px;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
} }
/deep/ .el-form-item__label { .el-select {
font-weight: bold; width: 226px;
color: #000;
width: 160px !important;
} }
.button { }
display: inline-block; /deep/ .el-form-item__content {
width: 100%; text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/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; text-align: left;
/deep/ .el-form-item__content { img {
margin-left: 20px !important; width: 14px;
text-align: left; height: 14px;
img { margin-right: 15px;
width: 14px; vertical-align: middle;
height: 14px;
margin-right: 15px;
vertical-align: middle;
}
}
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
} }
} }
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
}
} }
.eltable { }
width: 100%; .eltable {
box-sizing: border-box; width: 100%;
} box-sizing: border-box;
/deep/ .el-table .warning-row { }
background: #f0ffff; /deep/ .el-table .warning-row {
// color: #2785e6; background: #f0ffff;
} // color: #2785e6;
.elpagination { }
text-align: right; .elpagination {
margin-right: 100px; text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
// height: 500px;
// box-sizing: border-box;
// overflow-y: auto;
}
/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 { }
border-radius: 10px; /deep/ .el-table__header th {
margin-top: 3vh !important; background-color: #eeeeee;
margin-left: 3vw !important; font-weight: bold;
// height: 500px; .cell {
// box-sizing: border-box; color: #333;
// overflow-y: auto;
} }
/deep/ .el-dialog__wrapper { }
position: absolute;
/deep/.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
width: 100% !important;
} }
/deep/ .v-modal { .el-table__body,
position: absolute; .el-table__footer,
.el-table__header {
table-layout: auto;
} }
/deep/ .el-dialog__header { }
background-color: #0d867f; .dialog {
// padding-bottom: 20px; .title {
text-align: left; text-align: left;
border-radius: 10px 10px 0 0; font-size: 18px;
.el-dialog__title { font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
color: #fff; font-weight: 400;
} font-style: normal;
} font-size: 16px;
/deep/ .el-table__header th { color: #1ec695;
background-color: #eeeeee; text-align: left;
font-weight: bold; height: 20px;
.cell { margin-top: 0;
color: #333;
span {
border-radius: 2px;
display: inline-block;
width: 5px;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
} }
} }
.content {
/deep/.el-table {
width: 100%; width: 100%;
.el-table__header-wrapper table, display: flex;
.el-table__body-wrapper table { flex-wrap: wrap;
width: 100% !important; p {
} width: 24%;
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
}
.dialog {
.title {
text-align: left;
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; text-align: left;
height: 20px;
margin-top: 0;
span {
border-radius: 2px;
display: inline-block;
width: 5px;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
}
}
.content {
width: 100%;
display: flex;
flex-wrap: wrap;
p {
width: 24%;
text-align: left;
display: flex;
label {
display: inline-block;
width: 150px;
flex-shrink: 0;
text-align: right;
font-weight: bold;
margin-right: 20px;
vertical-align: middle;
}
span{
display: inline-block;
text-align: left
}
}
}
.table {
width: 100%;
display: flex; display: flex;
p { label {
display: inline-block;
width: 150px; width: 150px;
flex-shrink: 0;
text-align: right; text-align: right;
font-weight: bold; font-weight: bold;
margin-right: 20px;
vertical-align: middle;
} }
.tablepg { span {
margin-top: 20px; display: inline-block;
margin-left: 5px; text-align: left;
} }
} }
} }
.textarea { .table {
width: 100%; width: 100%;
.el-textarea { display: flex;
width: 60%; p {
} width: 150px;
} text-align: right;
.Btn { font-weight: bold;
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 { .tablepg {
border: 1px solid #000; margin-top: 20px;
} margin-left: 5px;
span:last-of-type {
background-color: #0d867f;
border: 1px solid #0d867f;
color: #fff;
} }
} }
/deep/ .el-dialog__headerbtn .el-dialog__close { }
color: #fff; .textarea {
width: 100%;
.el-textarea {
width: 60%;
} }
/deep/.el-table th.el-table__cell.is-leaf, }
.el-table td.el-table__cell { .Btn {
width: 200px;
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center; text-align: center;
border-radius: 4px;
margin-right: 12px;
} }
/deep/ .el-table__cell { span:first-of-type {
text-align: center; border: 1px solid #000;
} }
span:last-of-type {
h3 { background-color: #0d867f;
text-align: left; border: 1px solid #0d867f;
color: #fff;
} }
/deep/.el-dialog__body { }
padding: 0 10px; /deep/ .el-dialog__headerbtn .el-dialog__close {
color: #fff;
h3 { }
margin: 10px 0; /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 {
text-align: left;
}
/deep/.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
} }
/deep/ .el-descriptions-item__container .el-descriptions-item__label { }
font-weight: bold; /deep/ .el-descriptions-item__container .el-descriptions-item__label {
width: 100px; font-weight: bold;
text-align: right; 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;
} }
/deep/.el-tabs__content { }
.setscroll {
width: 100%;
height: 650px;
position: relative;
overflow: auto;
}
.setscrolldialogAdd {
width: 100%;
height: 200px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height: 200px;
overflow: auto; overflow: auto;
height: 500px;
padding-bottom: 20px;
} }
.close { }
width: 100%; .zjBtn {
height: 40px; width: 400px;
line-height: 20px; text-align: left;
span { vertical-align: middle;
display: inline-block; span {
width: 80px; display: inline-block;
height: 30px; width: 140px;
line-height: 30px; height: 25px;
border: 1px solid grey; line-height: 25px;
border-radius: 5px; text-align: center;
} border-radius: 5px;
vertical-align: middle;
} }
.setscroll { span:last-of-type {
width: 100%; background-color: #4ca6a7;
height: 650px; color: #fff;
position: relative; padding: 5px 10px;
overflow: auto; margin-left: 10px;
} }
.setscrolldialog { }
width: 100%; .dialog {
height: 300px; .el-form {
overflow: auto; border: none !important;
box-sizing: border-box; border-top: none;
/deep/ .el-table { border-left: none;
width: 96% !important; border-right: none;
height: 300px; border-bottom: none;
overflow: auto; }
} }
.midBtn {
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
}
span:first-of-type {
border: 1px solid grey;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
}
}
.cxItem {
position: absolute;
right: 0;
top: 150px;
width: 20%;
.zjquery {
display: inline-block;
background-color: #4ca6a7;
width: 89px;
height: 40px;
color: #fff;
text-align: center;
line-height: 40px;
border-radius: 5px;
} }
</style> }
\ No newline at end of file </style>
\ No newline at end of file
<template> <template>
<div> <div>
<!-- <iframe name="iframeName" id="iframeId" src="../static/index.html" frameborder="0"></iframe> --> <div id="parentElement" v-show="false">{{id}}</div>
<!-- <iframe src="http://192.168.50.1/static" frameborder="0" style="width:100vw;height:100vh;"></iframe> --> <iframe src="http://192.168.50.1:18000/static/" frameborder="0" style="width:100vw;height:100vh;" id="iframe" ></iframe>
<iframe src="http://192.168.50.1:18000/static/" frameborder="0" style="width:100vw;height:100vh;"></iframe>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data(){
return{
id:sessionStorage.getItem('author')
}
},
mounted(){
console.log(sessionStorage.getItem('authorized-token'),'zi级session')
let auto=sessionStorage.getItem('author')
const iFrame = document.getElementById('iframe')
iFrame.onload = function(){
iFrame.contentWindow.postMessage(auto, '\*');
}
}
} }
</script> </script>
......
...@@ -54,78 +54,78 @@ export default { ...@@ -54,78 +54,78 @@ export default {
name: "后评估检查", name: "后评估检查",
url: "", url: "",
children: [ children: [
{ // {
name: "后评估自查", // name: "后评估自查",
url: "", // url: "",
children: [ // children: [
{ // {
name: "评估项目辅助选定", // name: "评估项目辅助选定",
url: "/mainLayout/auxiliarySelection", // url: "/mainLayout/auxiliarySelection",
children: [], // children: [],
}, // },
{ // {
name: "评估批次确认发布", // name: "评估批次确认发布",
url: "/mainLayout/confirmRelease", // url: "/mainLayout/confirmRelease",
children: [], // children: [],
}, // },
{ // {
name: "评估材料自动获取", // name: "评估材料自动获取",
url: "/mainLayout/materialAcquisition", // url: "/mainLayout/materialAcquisition",
children: [], // children: [],
}, // },
// { name: "评估材料自动解析", url: "/mainLayout/materialAnalysis", children: [] }, // // { name: "评估材料自动解析", url: "/mainLayout/materialAnalysis", children: [] },
{ // {
name: "项目辅助检查", // name: "项目辅助检查",
url: "/mainLayout/auxiliaryInspection", // url: "/mainLayout/auxiliaryInspection",
children: [], // children: [],
}, // },
{ // {
name: "项目评估结果确认更改", // name: "项目评估结果确认更改",
url: "/mainLayout/confirmChanges", // url: "/mainLayout/confirmChanges",
children: [], // children: [],
}, // },
{ // {
name: "评估结果辅助查看", // name: "评估结果辅助查看",
url: "/mainLayout/assistedViewing", // url: "/mainLayout/assistedViewing",
children: [], // children: [],
}, // },
{ // {
name: "问题辅助下发", // name: "问题辅助下发",
url: "/mainLayout/assitedDistribution", // url: "/mainLayout/assitedDistribution",
children: [], // children: [],
}, // },
{ // {
name: "问题辅助查询", // name: "问题辅助查询",
url: "/mainLayout/auxiliaryQuery", // url: "/mainLayout/auxiliaryQuery",
children: [], // children: [],
}, // },
{ // {
name: "问题辅助反馈", // name: "问题辅助反馈",
url: "/mainLayout/assistedFeedback", // url: "/mainLayout/assistedFeedback",
children: [], // children: [],
}, // },
{ // {
name: "申诉辅助确认", // name: "申诉辅助确认",
url: "/mainLayout/assistedConfirm", // url: "/mainLayout/assistedConfirm",
children: [], // children: [],
}, // },
{ // {
name: "问题辅助整改", // name: "问题辅助整改",
url: "/mainLayout/assistedRect", // url: "/mainLayout/assistedRect",
children: [], // children: [],
}, // },
{ // {
name: "整改辅助核验", // name: "整改辅助核验",
url: "/mainLayout/correctiveAssistanceVerification", // url: "/mainLayout/correctiveAssistanceVerification",
children: [], // children: [],
}, // },
{ // {
name: "材料同步归档", // name: "材料同步归档",
url: "/mainLayout/attachSynchronousArchiving", // url: "/mainLayout/attachSynchronousArchiving",
children: [], // children: [],
}, // },
], // ],
}, // },
{ {
name: "后评估互查", name: "后评估互查",
url: "", url: "",
...@@ -545,78 +545,78 @@ export default { ...@@ -545,78 +545,78 @@ export default {
name: "后评估检查", name: "后评估检查",
url: "", url: "",
children: [ children: [
{ // {
name: "后评估自查", // name: "后评估自查",
url: "", // url: "",
children: [ // children: [
{ // {
name: "评估项目辅助选定", // name: "评估项目辅助选定",
url: "/mainLayout/auxiliarySelection", // url: "/mainLayout/auxiliarySelection",
children: [], // children: [],
}, // },
{ // {
name: "评估批次确认发布", // name: "评估批次确认发布",
url: "/mainLayout/confirmRelease", // url: "/mainLayout/confirmRelease",
children: [], // children: [],
}, // },
{ // {
name: "评估材料自动获取", // name: "评估材料自动获取",
url: "/mainLayout/materialAcquisition", // url: "/mainLayout/materialAcquisition",
children: [], // children: [],
}, // },
// { name: "评估材料自动解析", url: "/mainLayout/materialAnalysis", children: [] }, // // { name: "评估材料自动解析", url: "/mainLayout/materialAnalysis", children: [] },
{ // {
name: "项目辅助检查", // name: "项目辅助检查",
url: "/mainLayout/auxiliaryInspection", // url: "/mainLayout/auxiliaryInspection",
children: [], // children: [],
}, // },
{ // {
name: "项目评估结果确认更改", // name: "项目评估结果确认更改",
url: "/mainLayout/confirmChanges", // url: "/mainLayout/confirmChanges",
children: [], // children: [],
}, // },
{ // {
name: "评估结果辅助查看", // name: "评估结果辅助查看",
url: "/mainLayout/assistedViewing", // url: "/mainLayout/assistedViewing",
children: [], // children: [],
}, // },
{ // {
name: "问题辅助下发", // name: "问题辅助下发",
url: "/mainLayout/assitedDistribution", // url: "/mainLayout/assitedDistribution",
children: [], // children: [],
}, // },
{ // {
name: "问题辅助查询", // name: "问题辅助查询",
url: "/mainLayout/auxiliaryQuery", // url: "/mainLayout/auxiliaryQuery",
children: [], // children: [],
}, // },
{ // {
name: "问题辅助反馈", // name: "问题辅助反馈",
url: "/mainLayout/assistedFeedback", // url: "/mainLayout/assistedFeedback",
children: [], // children: [],
}, // },
{ // {
name: "申诉辅助确认", // name: "申诉辅助确认",
url: "/mainLayout/assistedConfirm", // url: "/mainLayout/assistedConfirm",
children: [], // children: [],
}, // },
{ // {
name: "问题辅助整改", // name: "问题辅助整改",
url: "/mainLayout/assistedRect", // url: "/mainLayout/assistedRect",
children: [], // children: [],
}, // },
{ // {
name: "整改辅助核验", // name: "整改辅助核验",
url: "/mainLayout/correctiveAssistanceVerification", // url: "/mainLayout/correctiveAssistanceVerification",
children: [], // children: [],
}, // },
{ // {
name: "材料同步归档", // name: "材料同步归档",
url: "/mainLayout/attachSynchronousArchiving", // url: "/mainLayout/attachSynchronousArchiving",
children: [], // children: [],
}, // },
], // ],
}, // },
{ {
name: "后评估互查", name: "后评估互查",
url: "", url: "",
...@@ -802,9 +802,7 @@ export default { ...@@ -802,9 +802,7 @@ export default {
}, },
mounted() { mounted() {
console.log("重新来了么"); console.log("重新来了么");
this.handleOpen(0,['0'])
// this.handleOpen(0,['0'])
// this.handleOpen("0-0",['0','0-0'])
console.log("333333", this.$route.query); console.log("333333", this.$route.query);
if ( if (
this.$route.path == "/mainLayout/Compliancefz" || this.$route.path == "/mainLayout/Compliancefz" ||
...@@ -856,6 +854,13 @@ export default { ...@@ -856,6 +854,13 @@ export default {
if (a.length == 1) { if (a.length == 1) {
let treeIcon1 = document.getElementsByClassName("treeIcon1"); let treeIcon1 = document.getElementsByClassName("treeIcon1");
treeIcon1[e].style.transform = "rotate(0deg)"; treeIcon1[e].style.transform = "rotate(0deg)";
let treeIcon2 = document.getElementsByClassName("treeIcon2");
let treARR=[...treeIcon2]
console.log(treARR,'treARRtreARR')
treARR.forEach(element => {
element.style.transform = "rotate(0deg)";
});
// console.log(treeIcon2,'treeIcon2treeIcon2treeIcon2treeIcon2')
} else if (a.length == 2) { } else if (a.length == 2) {
let opened = document.getElementsByClassName("is-opened"); let opened = document.getElementsByClassName("is-opened");
let treeIcon2 = opened[0].querySelectorAll(".treeIcon2"); let treeIcon2 = opened[0].querySelectorAll(".treeIcon2");
...@@ -989,14 +994,10 @@ export default { ...@@ -989,14 +994,10 @@ export default {
/deep/.el-scrollbar__thumb { /deep/.el-scrollbar__thumb {
background-color: #6bcfde; /* 滑块的颜色 */ background-color: #6bcfde; /* 滑块的颜色 */
} }
// /deep/ .el-menu > li:first-child{
// .treeIcon1{
// transform: rotate(90deg); /deep/ .el-scrollbar__view >ul:first-child > li:first-child >ul>li:first-child>.el-submenu__title:first-child >.treeIcon2{
// } transform: rotate(90deg);
// } }
// /deep/ .el-menu > .submenu2:first-child{
// .treeIcon2{
// transform: rotate(90deg);
// }
// }
</style> </style>
\ No newline at end of file
<template> <template>
<div class="main"> <div class="main">
<el-form <el-form
:model="ruleForm" :model="ruleForm"
ref="ruleForm" ref="ruleForm"
label-width="100px" label-width="100px"
class="demo-ruleForm" class="demo-ruleForm"
>
<el-form-item label="稽核名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核开始时间:" prop="projectId" class="fromItem">
<el-date-picker v-model="reviewTime" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="稽核结束时间:" prop="projectId" class="fromItem">
<el-date-picker v-model="reviewTime" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<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="postEvalState" class="fromItem">
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<el-option label="开启" value="0"></el-option>
<el-option label="关闭" value="1"></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()">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="detailsForm()">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
> >
<el-table-column label="序号" width="55" type="index">
<el-form-item label="稽核名称:" prop="batchName" class="fromItem"> </el-table-column>
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input> <el-table-column type="selection"> </el-table-column>
</el-form-item> <el-table-column label="稽核名称" prop="batchYear"> </el-table-column>
<el-form-item label="稽核开始时间:" prop="projectId" class="fromItem"> <el-table-column prop="batchName" label="稽核开始时间">
<el-date-picker </el-table-column>
v-model="reviewTime"
type="date" <el-table-column
placeholder="选择日期"> prop="projectName"
</el-date-picker> label="稽核结束时间"
</el-form-item> show-overflow-tooltip
<el-form-item label="稽核结束时间:" prop="projectId" class="fromItem"> >
<el-date-picker </el-table-column>
v-model="reviewTime" <el-table-column prop="projectStatus" label="稽核状态">
type="date" </el-table-column>
placeholder="选择日期"> <el-table-column prop="projectCategory" label="稽核频率">
</el-date-picker> </el-table-column>
</el-form-item> <el-table-column prop="projectStatus" label="检查异常结果">
</el-table-column>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem"> <el-table-column prop="projectCategory" label="稽核时间">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable> </el-table-column>
<el-option label="2024年" value="2024"></el-option> </el-table>
<el-option label="2023年" value="2023"></el-option> </div>
<el-option label="2022年" value="2022"></el-option> <el-pagination
<el-option label="2021年" value="2021"></el-option> @size-change="handleSizeChange"
</el-select> @current-change="handleCurrentChange"
</el-form-item> :current-page="currentPage"
<el-form-item label="稽核状态:" prop="postEvalState" class="fromItem"> :page-sizes="[10, 15, 20, 50]"
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable> :page-size="100"
<el-option label="开启" value="0"></el-option> layout="total, sizes, prev, pager, next, jumper"
<el-option label="关闭" value="1"></el-option> :total="total"
</el-select> class="elpagination"
</el-form-item> >
<el-form-item class="button"> </el-pagination>
<el-button @click="submitForm()"> <!-- 详情弹窗 -->
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button <el-dialog
> title="稽核结果详情"
<el-button @click="resetForm('ruleForm')"> :visible.sync="dialog"
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button width="90%"
> :modal-append-to-body="false"
<el-button @click="detailsForm('ruleForm')"> :append-to-body="false"
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button >
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialog"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item
label="稽核时间:"
prop="planReviewDate"
class="fromItem"
> >
</el-form-item> <el-date-picker
</el-form> v-model="ruleFormdialog.value1"
<div class="setscroll"> type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">稽核规则配置</p>
<el-table <el-table
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
ref="multipleTable" :data="addtableData"
:data="tableData"
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"
...@@ -66,652 +153,505 @@ ...@@ -66,652 +153,505 @@
> >
<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 type="selection"> </el-table-column>
<el-table-column label="稽核名称" prop="batchYear"> </el-table-column> <el-table-column label="规则名称" width="auto" prop="projectId">
<el-table-column prop="batchName" label="稽核开始时间">
</el-table-column>
<el-table-column prop="projectName" label="稽核结束时间" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="projectStatus" label="稽核状态">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核频率">
</el-table-column> </el-table-column>
<el-table-column prop="projectStatus" label="检查异常结果"> <el-table-column prop="projectName" label="规则类型" width="auto">
</el-table-column> </el-table-column>
<el-table-column prop="projectCategory" label="稽核时间"> <el-table-column prop="projectCategory" label="稽核异常项目清单" width="auto">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<el-pagination </el-dialog>
@size-change="handleSizeChange" </div>
@current-change="handleCurrentChange" </template>
: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="dialog"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<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> <span>{{ listData.projectName }}</span> </p>
<p><label>建设形式:</label>{{ listData.projectCategory }}</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
@selection-change="handleSelectionChange"
:data="qdtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable tablepg"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="类别" prop="batchtype">
</el-table-column>
<el-table-column prop="typeCode" label="资料类型">
</el-table-column>
<el-table-column prop="fileName" label="资料名称">
</el-table-column>
</el-table>
</div>
<p class="title"><span></span>批次详情</p>
<div class="content">
<p><label>批次年度:</label>{{ listData.batchYear }}</p>
<p><label>后评估批次名称:</label>{{ listData.batchName }}</p>
<p><label>计划评审日期:</label>{{ listData.planReviewDate }}</p>
</div>
<p class="title"><span></span>评审专家</p>
<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
:data="xxtableData"
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" 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>
</el-tab-pane>
<el-tab-pane label="评审流程" name="third">
<el-table
:data="lctableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column
label="流程节点"
prop="processNodes"
width="150"
>
</el-table-column>
<el-table-column label="状态" prop="state"> </el-table-column>
<el-table-column label="处理人" prop="processedBy">
</el-table-column>
<el-table-column label="处理时间" prop="processingTime">
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
<p class="close"><span @click="cancel()">关闭</span></p>
</el-dialog>
</div>
</template>
<script> <script>
import { MaterialsList } from '@/utils/cache' import { MaterialsList } from "@/utils/cache";
import { import {
fzcxselect, fzcxselect,
fzcxXqselect, fzcxXqselect,
wtqdqselect, wtqdqselect,
clqdselect, clqdselect,
selLcb, selLcb,
} from "@/api/index"; } from "@/api/index";
export default { export default {
data() { data() {
return { return {
listData: {}, listData: {},
qdtableData: JSON.parse(JSON.stringify(MaterialsList())), qdtableData: JSON.parse(JSON.stringify(MaterialsList())),
tableDataNew:MaterialsList(), tableDataNew: MaterialsList(),
xxtableData:[], xxtableData: [],
showButton: true, showButton: true,
ruleForm: { ruleForm: {
batchYear: "", batchYear: "",
batchName: "", batchName: "",
postEvalState: "", postEvalState: "",
projectName: "", projectName: "",
projectId: "", projectId: "",
}, },
ruleFormdialog: { ruleFormdialog: {
batchYear: "", batchYear: "",
batchName: "", batchName: "",
planReviewDate: "", planReviewDate: "",
fullName: "", fullName: "",
}, },
tableData: [], tableData: [],
checkedList: [], checkedList: [],
currentPage: 1, currentPage: 1,
pageSize: 10, pageSize: 10,
currentPagetjcl: 1, currentPagetjcl: 1,
pageSizetjcl: 10, pageSizetjcl: 10,
total: 0, total: 0,
dialog: false, dialog: false,
activeName: "first", activeName: "first",
mergingRows: [], mergingRows: [],
lctableData:[], lctableData: [],
};
},
mounted() {
this.submitForm();
},
methods: {
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
}; };
Object.assign(params, this.ruleForm);
console.log(params);
let res = await fzcxselect(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.total = res.data.total * 1;
}
}, },
mounted() { resetForm(formName) {
this.$refs[formName].resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm(); this.submitForm();
}, },
methods: { //详情
async submitForm() { detailsForm() {
// if (this.checkedList.length != 1) {
// this.$message("请选择");
// return;
// }
this.dialog = true;
// let params = {
// batchId: this.checkedList[0].batchId,
// projectId: this.checkedList[0].projectId,
// };
// Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
// console.log(res[0], res[1], "2222222");
// this.listData = res[0].data.records[0];
// this.qdtableData=this.tableDataNew
// if (res[1].data.records.length > 0) {
// // this.qdtableData = res[1].data.records;
// this.qdtableData = this.qdtableData.concat(res[1].data.records)
// .reduce((accumulator, currentObj) => {
// const existingObj = accumulator.find(
// (obj) => obj.typeCode == currentObj.typeCode
// );
// if (existingObj) {
// Object.assign(existingObj, currentObj);
// } else {
// accumulator.push(currentObj);
// }
// return accumulator;
// }, []);
// console.log( this.tableDataQD,' mergedArray mergedArray mergedArray')
// this.tableDataQD.forEach((item) => {
// // this.$set(item, "batchtype", "开发、实施类");
// });
// }
// });
},
//表格颜色
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() {
this.mergingRows = [];
this.mergingPos = 0;
for (let i = 0; i < this.xxtableData.length; i++) {
// tabledata 表格数据源
if (i == 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.xxtableData[i].projectStage ===
this.xxtableData[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 = { let params = {
current: this.currentPage, batchId: this.checkedList[0].batchId,
pageSize: this.pageSize, projectId: this.checkedList[0].projectId,
}; };
Object.assign(params, this.ruleForm); this.xxtableData = [];
console.log(params); let res = await wtqdqselect(params);
let res = await fzcxselect(params);
if (res.code == "200") { if (res.code == "200") {
this.tableData = res.data.records; this.xxtableData = res.data.records;
this.total = res.data.total * 1; this.total = res.data.total * 1;
} }
},
resetForm(formName) { this.xxtableData.forEach((item) => {
this.$refs[formName].resetFields(); switch (item.projectStage) {
this.currentPage = 1; case 1:
this.pageSize = 10; this.$set(item, "projectStagetext", "1.可研");
this.submitForm(); break;
}, case 2:
//详情 this.$set(item, "projectStagetext", "2.计划");
detailsForm() { break;
if (this.checkedList.length != 1) { case 3:
this.$message("请选择"); this.$set(item, "projectStagetext", "3.采购");
return; break;
} case 4:
this.dialog = true; this.$set(item, "projectStagetext", "4.合同");
break;
case 5:
this.$set(item, "projectStagetext", "5.执行");
break;
case 6:
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
this.dataPretreatment();
} else if (this.activeName == "third") {
let params = { let params = {
batchId: this.checkedList[0].batchId, batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId, projectId: this.checkedList[0].projectId,
}; };
Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => { let res = await selLcb(params);
console.log(res[0], res[1], "2222222"); if (res.code == "200") {
this.listData = res[0].data.records[0]; this.lctableData = res.data;
this.qdtableData=this.tableDataNew
if (res[1].data.records.length > 0) {
// this.qdtableData = res[1].data.records;
this.qdtableData = this.qdtableData.concat(res[1].data.records)
.reduce((accumulator, currentObj) => {
const existingObj = accumulator.find(
(obj) => obj.typeCode == currentObj.typeCode
);
if (existingObj) {
Object.assign(existingObj, currentObj);
} else {
accumulator.push(currentObj);
}
return accumulator;
}, []);
console.log( this.tableDataQD,' mergedArray mergedArray mergedArray')
// this.tableDataQD.forEach((item) => {
// // this.$set(item, "batchtype", "开发、实施类");
// });
}
});
},
//表格颜色
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() {
this.mergingRows=[]
this.mergingPos = 0;
for (let i = 0; i < this.xxtableData.length; i++) {
// tabledata 表格数据源
if (i == 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.xxtableData[i].projectStage ===
this.xxtableData[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,
};
this.xxtableData=[]
let res = await wtqdqselect(params);
if (res.code == "200") {
this.xxtableData = res.data.records;
this.total = res.data.total * 1;
}
this.xxtableData.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();
} else if (this.activeName == "third") {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
let res = await selLcb(params);
if (res.code == "200") {
this.lctableData = res.data;
}
}
},
//主列表选中行信息
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"); //主列表选中行信息
}, handleSelectionChange(selection) {
handleSizeChange(val) { if (Array.isArray(selection) && selection.length > 1) {
console.log(`每页 ${val} 条`); this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.pageSize = val; this.$refs.multipleTable.toggleRowSelection(selection[1], true);
this.submitForm() }
}, this.checkedList = this.$refs.multipleTable.selection;
handleCurrentChange(val) { this.ruleFormdialog = this.checkedList[0];
console.log(`当前页: ${val}`); console.log(this.checkedList, "2222");
this.currentPage = val; },
this.submitForm() handleSizeChange(val) {
}, console.log(`每页 ${val} 条`);
cancel() { this.pageSize = val;
this.dialog = false; this.submitForm();
},
}, },
}; handleCurrentChange(val) {
</script> console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
cancel() {
this.dialog = false;
},
},
};
</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;
overflow-x: hidden; overflow-x: hidden;
} }
.el-form { .el-form {
display: flex; display: flex;
width: 100%; width: 100%;
flex-wrap: wrap; flex-wrap: wrap;
border-top: 2px solid #23c6c8; border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7; border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7; border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7; border-bottom: 1px solid #dee5e7;
padding: 20px 10px; padding: 20px 10px;
margin-bottom: 20px;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px; margin-bottom: 20px;
.fromItem { .el-input {
min-width: 24%; width: 226px;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
} }
/deep/ .el-form-item__label { .el-select {
font-weight: bold; width: 226px;
color: #000;
width: 160px !important;
} }
.button { }
display: inline-block; /deep/ .el-form-item__content {
width: 100%; text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/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; text-align: left;
/deep/ .el-form-item__content { img {
margin-left: 20px !important; width: 14px;
text-align: left; height: 14px;
img { margin-right: 15px;
width: 14px; vertical-align: middle;
height: 14px;
margin-right: 15px;
vertical-align: middle;
}
}
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
} }
} }
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
}
} }
.eltable { }
width: 100%; .eltable {
box-sizing: border-box; width: 100%;
} box-sizing: border-box;
/deep/ .el-table .warning-row { }
background: #f0ffff; /deep/ .el-table .warning-row {
// color: #2785e6; background: #f0ffff;
} // color: #2785e6;
.elpagination { }
text-align: right; .elpagination {
margin-right: 100px; text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
// height: 500px;
// box-sizing: border-box;
// overflow-y: auto;
}
/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 { }
border-radius: 10px; /deep/ .el-table__header th {
margin-top: 3vh !important; background-color: #eeeeee;
margin-left: 3vw !important; font-weight: bold;
// height: 500px; .cell {
// box-sizing: border-box; color: #333;
// overflow-y: auto;
} }
/deep/ .el-dialog__wrapper { }
position: absolute;
/deep/.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
width: 100% !important;
} }
/deep/ .v-modal { .el-table__body,
position: absolute; .el-table__footer,
.el-table__header {
table-layout: auto;
} }
/deep/ .el-dialog__header { }
background-color: #0d867f; .dialog {
// padding-bottom: 20px; .title {
text-align: left; text-align: left;
border-radius: 10px 10px 0 0; font-size: 18px;
.el-dialog__title { font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
color: #fff; font-weight: 400;
} font-style: normal;
} font-size: 16px;
/deep/ .el-table__header th { color: #1ec695;
background-color: #eeeeee; text-align: left;
font-weight: bold; height: 20px;
.cell { margin-top: 0;
color: #333;
span {
border-radius: 2px;
display: inline-block;
width: 5px;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
} }
} }
.content {
/deep/.el-table {
width: 100%; width: 100%;
.el-table__header-wrapper table, display: flex;
.el-table__body-wrapper table { flex-wrap: wrap;
width: 100% !important; p {
} width: 24%;
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
}
.dialog {
.title {
text-align: left;
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; text-align: left;
height: 20px;
margin-top: 0;
span {
border-radius: 2px;
display: inline-block;
width: 5px;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
}
}
.content {
width: 100%;
display: flex;
flex-wrap: wrap;
p {
width: 24%;
text-align: left;
display: flex;
label {
display: inline-block;
width: 150px;
flex-shrink: 0;
text-align: right;
font-weight: bold;
margin-right: 20px;
vertical-align: middle;
}
span{
display: inline-block;
text-align: left
}
}
}
.table {
width: 100%;
display: flex; display: flex;
p { label {
display: inline-block;
width: 150px; width: 150px;
flex-shrink: 0;
text-align: right; text-align: right;
font-weight: bold; font-weight: bold;
margin-right: 20px;
vertical-align: middle;
} }
.tablepg { span {
margin-top: 20px; display: inline-block;
margin-left: 5px; text-align: left;
} }
} }
} }
.textarea { .table {
width: 100%; width: 100%;
.el-textarea { display: flex;
width: 60%; p {
} width: 150px;
} text-align: right;
.Btn { font-weight: bold;
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 { .tablepg {
background-color: #0d867f; margin-top: 20px;
border: 1px solid #0d867f; margin-left: 5px;
color: #fff;
} }
} }
/deep/ .el-dialog__headerbtn .el-dialog__close { }
color: #fff; .textarea {
width: 100%;
.el-textarea {
width: 60%;
} }
/deep/.el-table th.el-table__cell.is-leaf, }
.el-table td.el-table__cell { .Btn {
width: 200px;
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center; text-align: center;
border-radius: 4px;
margin-right: 12px;
} }
/deep/ .el-table__cell { span:first-of-type {
text-align: center; border: 1px solid #000;
} }
span:last-of-type {
h3 { background-color: #0d867f;
text-align: left; border: 1px solid #0d867f;
} color: #fff;
/deep/.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/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%; /deep/ .el-dialog__headerbtn .el-dialog__close {
height: 40px; color: #fff;
line-height: 20px; }
span { /deep/.el-table th.el-table__cell.is-leaf,
display: inline-block; .el-table td.el-table__cell {
width: 80px; text-align: center;
height: 30px; }
line-height: 30px; /deep/ .el-table__cell {
border: 1px solid grey; text-align: center;
border-radius: 5px; }
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
} }
.setscroll { }
width: 100%; /deep/ .el-descriptions-item__container .el-descriptions-item__label {
height: 650px; font-weight: bold;
position: relative; width: 100px;
overflow: auto; 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;
} }
.setscrolldialog { }
width: 100%; .setscroll {
width: 100%;
height: 650px;
position: relative;
overflow: auto;
}
.setscrolldialog {
width: 100%;
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height: 300px; height: 300px;
overflow: auto; overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
}
} }
</style> }
\ No newline at end of file </style>
\ No newline at end of file
...@@ -51,6 +51,14 @@ ...@@ -51,6 +51,14 @@
<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-button @click="confirm()">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;结果确认</el-button
>
<el-button @click="appeal()">
<i class="el-icon-document-remove"></i
>&nbsp;&nbsp;&nbsp;问题下发</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="setscroll"> <div class="setscroll">
...@@ -97,135 +105,169 @@ ...@@ -97,135 +105,169 @@
class="elpagination" class="elpagination"
> >
</el-pagination> </el-pagination>
<el-dialog <!-- 详情弹窗 -->
title="详情" <el-dialog
:visible.sync="dialog" title="稽核结果详情"
width="90%" :visible.sync="dialog"
:modal-append-to-body="false" width="90%"
:append-to-body="false" :modal-append-to-body="false"
> :append-to-body="false"
<div class="dialog"> >
<h3> <div class="dialog">
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目 <el-form
</h3> ref="formName"
:model="ruleFormdialog"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item
label="稽核时间:"
prop="planReviewDate"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialog.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">稽核规则配置</p>
<el-table
@selection-change="handleSelectionChange"
:data="XQtableData"
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="projectName" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核异常项目清单" width="auto">
<el-tabs v-model="activeName" @tab-click="handleClick"> </el-table-column>
<el-tab-pane label="基本信息" name="first"> </el-table>
<div> </div>
<p class="title"><span></span>项目基本信息</p> </el-dialog>
<div class="content"> <!-- 确认弹窗 -->
<p><label>项目编号:</label>{{ listData.projectId }}</p> <el-dialog
<p><label>项目下达年度:</label>{{ listData.projectYear }}</p> title="稽核结果确认"
<p><label>项目名称:</label> <span>{{ listData.projectName }}</span> </p> :visible.sync="dialogQR"
<p><label>建设形式:</label>{{ listData.projectCategory }}</p> width="90%"
<p> :modal-append-to-body="false"
<label>总投资计划(万元)-成本金:</label :append-to-body="false"
>{{ listData.costAmountTotal }} >
</p> <div class="dialog">
<p> <el-form
<label>总投资计划(万元)-资本金:</label ref="formName"
>{{ listData.capitalAmountTotal }} :model="ruleFormdialog"
</p> label-width="100px"
<p><label>部门:</label>{{ listData.department }}</p> class="demo-ruleForm"
<p><label>创建人:</label>{{ listData.inputuser }}</p> :rules="rules"
<p><label>创建时间:</label>{{ listData.inputuser }}</p> >
<p><label>修改人:</label>{{ listData.lastUpdatedby }}</p> <el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<p><label>修改时间:</label>{{ listData.lastUpdateTime }}</p> <el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</div> </el-form-item>
<div class="table"> <el-form-item
<p>项目后评估资料:</p> label="稽核时间:"
<el-table prop="planReviewDate"
@selection-change="handleSelectionChange" class="fromItem"
:data="qdtableData" >
tooltip-effect="dark" <el-date-picker
style="width: 100%" v-model="ruleFormdialog.value1"
header-cell-class-name="custom-th-background" type="datetimerange"
class="eltable tablepg" range-separator="至"
:row-class-name="tableRowClassName" start-placeholder="请选择开始日期"
border end-placeholder="请选择结束日期"
> >
<el-table-column label="序号" width="55" type="index"> </el-date-picker>
</el-table-column> </el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">稽核规则配置</p>
<el-table
@selection-change="handleSelectionChange"
:data="QRtableData"
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="projectName" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核异常项目清单" width="auto">
<el-table-column label="类别" prop="batchtype"> </el-table-column>
</el-table-column> </el-table>
<el-table-column prop="typeCode" label="资料类型"> </div>
</el-table-column> </el-dialog>
<el-table-column prop="fileName" label="资料名称"> <!-- 下发弹窗 -->
</el-table-column> <el-dialog
</el-table> title="稽核问题下发"
</div> :visible.sync="dialogXF"
<p class="title"><span></span>批次详情</p> width="90%"
<div class="content"> :modal-append-to-body="false"
<p><label>批次年度:</label>{{ listData.batchYear }}</p> :append-to-body="false"
<p><label>后评估批次名称:</label>{{ listData.batchName }}</p> >
<p><label>计划评审日期:</label>{{ listData.planReviewDate }}</p> <div class="dialog">
</div> <p class="zjBtn">稽核规则配置</p>
<p class="title"><span></span>评审专家</p> <el-table
<div class="content"> @selection-change="handleSelectionChange"
<p><label>评审专家:</label>{{ listData.expertName }}</p> :data="XFtableData"
</div> tooltip-effect="dark"
</div> style="width: 100%"
</el-tab-pane> header-cell-class-name="custom-th-background"
<el-tab-pane label="问题清单" name="second"> class="eltable"
<p class="title"><span></span>项目基本信息</p> :row-class-name="tableRowClassName"
<el-table border
:data="xxtableData" >
tooltip-effect="dark" <el-table-column label="序号" width="55" type="index">
style="width: 100%" </el-table-column>
header-cell-class-name="custom-th-background"
class="eltable" <el-table-column label="规则名称" width="auto" prop="projectId">
:row-class-name="tableRowClassName" </el-table-column>
:span-method="arraySpanMethod" <el-table-column prop="projectName" label="规则类型" width="auto">
border </el-table-column>
> <el-table-column prop="projectCategory" label="稽核异常项目清单" width="auto">
<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> </el-table>
<el-table-column label="检查说明" prop="checkDesc" show-overflow-tooltip> </div>
</el-table-column> </el-dialog>
<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-table
:data="lctableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column
label="流程节点"
prop="processNodes"
width="150"
>
</el-table-column>
<el-table-column label="状态" prop="state"> </el-table-column>
<el-table-column label="处理人" prop="processedBy">
</el-table-column>
<el-table-column label="处理时间" prop="processingTime">
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
<p class="close"><span @click="cancel()">关闭</span></p>
</el-dialog>
</div> </div>
</template> </template>
...@@ -242,9 +284,10 @@ ...@@ -242,9 +284,10 @@
data() { data() {
return { return {
listData: {}, listData: {},
qdtableData: JSON.parse(JSON.stringify(MaterialsList())), QRtableData:[],
tableDataNew:MaterialsList(), dialogQR:false,
xxtableData:[], XFtableData:[],
dialogXF:false,
showButton: true, showButton: true,
ruleForm: { ruleForm: {
batchYear: "", batchYear: "",
......
<template> <template>
<div class="main"> <div class="main">
<el-form <el-form
:model="ruleForm" :model="ruleForm"
label-width="100px" label-width="100px"
class="demo-ruleForm" class="demo-ruleForm"
ref="formName" ref="formName"
> >
<el-form-item label="批次年度:" prop="batchYear" class="fromItem"> <el-form-item label="项目名称:" prop="batchName" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable> <el-input
<el-option label="2024年" value="2024"></el-option> v-model="ruleForm.batchName"
<el-option label="2023年" value="2023"></el-option> placeholder="请输入"
<el-option label="2022年" value="2022"></el-option> clearable
<el-option label="2021年" value="2021"></el-option> ></el-input>
</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
<el-input v-model="ruleForm.batchName"
v-model="ruleForm.batchName" placeholder="请输入"
placeholder="请输入" clearable
clearable ></el-input>
></el-input> </el-form-item>
</el-form-item> <el-form-item label="稽核时间:" prop="projectId" class="fromItem">
<el-form-item label="后评估状态:" prop="postEvalState" class="fromItem"> <el-date-picker v-model="reviewTime" type="date" placeholder="选择日期">
<el-select </el-date-picker>
v-model="ruleForm.postEvalState" </el-form-item>
placeholder="请选择"
clearable <el-form-item class="button">
> <el-button @click="submitForm()">
<el-option label="未下发" value="0"></el-option> <img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
<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="detailsForm('')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="confirm()">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;问题整改</el-button
>
<el-button @click="appeal()">
<i class="el-icon-document-remove"></i
>&nbsp;&nbsp;&nbsp;整改提交</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
> >
<el-table-column label="序号" width="55" type="index"> <el-button @click="resetForm('ruleForm')">
</el-table-column> <img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
<el-table-column type="selection"> </el-table-column> >
<el-table-column label="批次年度" prop="batchYear"> </el-table-column> <el-button @click="detailsForm('')">
<el-table-column prop="batchName" label="后评估批次名称"> <img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
</el-table-column> >
<el-button @click="confirm()">
<el-table-column <i class="el-icon-chat-dot-square"></i
prop="projectName" >&nbsp;&nbsp;&nbsp;问题整改</el-button
label="评估项目名称" >
show-overflow-tooltip <el-button @click="appeal()">
> <i class="el-icon-document-remove"></i
</el-table-column> >&nbsp;&nbsp;&nbsp;整改提交</el-button
<el-table-column prop="projectCategory" label="建设形式"> >
</el-table-column> </el-form-item>
<el-table-column prop="projectStatus" label="项目建设阶段"> </el-form>
</el-table-column> <div class="setscroll">
<!-- <el-table-column prop="createTime" label="历史审核状态"> <el-table
</el-table-column> --> @selection-change="handleSelectionChange"
<el-table-column prop="expertName" label="评审专家名单"> ref="multipleTable"
</el-table-column> :data="tableData"
tooltip-effect="dark"
<el-table-column prop="appealDeadline" label="问题申诉截止时间"> header-cell-class-name="custom-th-background"
</el-table-column> class="eltable"
<el-table-column prop="rectificationDeadline" label="问题整改截止时间"> :row-class-name="tableRowClassName"
</el-table-column> border
<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>
</div>
<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="dialogQR"
width="79%"
:modal-append-to-body="false"
:append-to-body="false"
@close="closed"
> >
<div class="dialog"> <el-table-column label="序号" width="55" type="index">
<h3> </el-table-column>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目 <el-table-column type="selection"> </el-table-column>
</h3> <el-table-column label="项目名称" prop="batchYear"> </el-table-column>
<div class="continer"> <el-table-column prop="batchName" label="项目经理"> </el-table-column>
<p class="xqtitle"><span></span>问题清单</p>
<div class="setTable"> <el-table-column
<el-table prop="projectName"
:data="tableDataQR" label="稽核名称"
tooltip-effect="dark" show-overflow-tooltip
style="width: 100%" >
header-cell-class-name="custom-th-background" </el-table-column>
class="eltable" <el-table-column prop="projectCategory" label="检查异常项">
:row-class-name="tableRowClassName" </el-table-column>
:span-method="arraySpanMethod" <el-table-column prop="projectStatus" label="稽核时间">
border </el-table-column>
<el-table-column prop="expertName" label="问题整改状态">
</el-table-column>
</el-table>
</div>
<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="dialogQR"
width="79%"
:modal-append-to-body="false"
:append-to-body="false"
@close="closed"
>
<div class="dialog">
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div class="continer">
<p class="xqtitle"><span></span>问题清单</p>
<div class="setTable">
<el-table
:data="tableDataQR"
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="项目环节" <el-table-column label="序号" width="100" prop="questionId">
prop="projectStagetext" </el-table-column>
width="150"
> <el-table-column
</el-table-column> label="问题检查项"
<el-table-column label="序号" width="100" prop="questionId"> prop="quesCheckItem"
</el-table-column> width="200"
>
<el-table-column </el-table-column>
label="问题检查项" <el-table-column
prop="quesCheckItem" label="检查说明"
width="200" 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)"
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-table-column> <el-input v-model="scope.row.feedback"></el-input>
<el-table-column </template>
label="检查说明" </el-table-column>
prop="checkDesc" <el-table-column label="附加解释材料" prop="fileId" width="400">
show-overflow-tooltip <template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
> >
</el-table-column> <input
<el-table-column type="file"
label="评估问题" @change="handleFileUpload($event, scope.row, 'fileId')"
prop="evalQues" />
show-overflow-tooltip </template>
</el-table-column>
<el-table-column
label="复核情况"
prop="rectificationStatus"
width="200"
>
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
> >
</el-table-column> <el-select
<el-table-column label="问题确认" width="auto"> v-model="scope.row.appealStatus"
<template slot-scope="scope"> placeholder="请选择"
<el-switch disabled
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"></el-input> <el-option label="请选择" value=""></el-option>
</template> <el-option label="未申诉" :value="0"></el-option>
</el-table-column> <el-option label="已申诉" :value="1"></el-option>
<el-table-column label="附加解释材料" prop="fileId" width="400"> <el-option label="申诉驳回" :value="2"></el-option>
<template slot-scope="scope" v-if="scope.row.confirmStatus == '1'"> <el-option label="申诉通过" :value="3"></el-option>
<input type="file" @change="handleFileUpload($event,scope.row, 'fileId')" /> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="上传整改材料" prop="zgFileId" width="400">
label="复核情况" <template
prop="rectificationStatus" slot-scope="scope"
width="200" v-if="scope.row.confirmStatus == '1'"
> >
<template <input
slot-scope="scope" type="file"
v-if="scope.row.confirmStatus == '1'" @change="handleFileUpload($event, scope.row, 'zgFileId')"
> />
<el-select </template>
v-model="scope.row.appealStatus" </el-table-column>
placeholder="请选择" <el-table-column label="情况说明" prop="zgqkFileId" width="400">
disabled <template
> slot-scope="scope"
<el-option label="请选择" value=""></el-option> v-if="scope.row.confirmStatus == '1'"
<el-option label="未申诉" :value="0"></el-option> >
<el-option label="已申诉" :value="1"></el-option> <input
<el-option label="申诉驳回" :value="2"></el-option> type="file"
<el-option label="申诉通过" :value="3"></el-option> @change="handleFileUpload($event, scope.row, 'zgqkFileId')"
</el-select> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="上传整改材料" prop="zgFileId" width="400"> </el-table>
<template slot-scope="scope" v-if="scope.row.confirmStatus == '1'">
<input type="file" @change="handleFileUpload($event,scope.row, 'zgFileId')" />
</template>
</el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template slot-scope="scope" v-if="scope.row.confirmStatus == '1'">
<input type="file" @change="handleFileUpload($event,scope.row, 'zgqkFileId')" />
</template>
</el-table-column>
</el-table>
</div>
</div> </div>
</div> </div>
<p class="midBtn"> </div>
<span @click="cancelSS()">取消</span><span @click="saveSS()">保存</span> <p class="midBtn">
</p> <span @click="cancelSS()">取消</span><span @click="saveSS()">保存</span>
</el-dialog> </p>
<!-- 复核下发 --> </el-dialog>
<el-dialog <!-- 复核下发 -->
title="复核情况" <el-dialog
:visible.sync="dialogSS" title="复核情况"
width="79%" :visible.sync="dialogSS"
:modal-append-to-body="false" width="79%"
:append-to-body="false" :modal-append-to-body="false"
> :append-to-body="false"
<div class="dialog"> >
<h3> <div class="dialog">
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目 <h3>
</h3> 项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
<div class="continer"> </h3>
<p class="xqtitle"><span></span>问题清单</p> <div class="continer">
<div class="setTable"> <p class="xqtitle"><span></span>问题清单</p>
<el-table <div class="setTable">
:data="tableDataSS" <el-table
tooltip-effect="dark" :data="tableDataSS"
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"
:span-method="arraySpanMethodss" :row-class-name="tableRowClassName"
border :span-method="arraySpanMethodss"
border
>
<el-table-column
label="项目环节"
prop="projectStagetext"
width="150"
> >
<el-table-column </el-table-column>
label="项目环节" <el-table-column label="序号" width="100" prop="questionId">
prop="projectStagetext" </el-table-column>
width="150"
> <el-table-column
</el-table-column> label="问题检查项"
<el-table-column label="序号" width="100" prop="questionId"> prop="quesCheckItem"
</el-table-column> width="200"
>
<el-table-column </el-table-column>
label="问题检查项" <el-table-column
prop="quesCheckItem" label="检查说明"
width="200" 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="有异议"
disabled
@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="解释批注" width="200">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
> >
</el-table-column> <el-input v-model="scope.row.feedback" disabled></el-input>
<el-table-column </template>
label="检查说明" </el-table-column>
prop="checkDesc"
show-overflow-tooltip <el-table-column label="附加解释材料" prop="fileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
> >
</el-table-column> {{ scope.row.fileName }}
<el-table-column <el-button @click="handleClickXZ(scope.row)">下载</el-button>
label="评估问题" </template>
prop="evalQues" </el-table-column>
show-overflow-tooltip <el-table-column
label="复核情况"
prop="rectificationStatus"
width="200"
>
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
> >
</el-table-column> <el-select
<el-table-column label="问题确认" width="auto"> v-model="scope.row.appealStatus"
<template slot-scope="scope"> placeholder="请选择"
<el-switch disabled
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
disabled
@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="解释批注" 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' && scope.row.fileId"
> >
{{ scope.row.fileName }} <el-option label="请选择" value=""></el-option>
<el-button @click="handleClickXZ(scope.row)">下载</el-button> <el-option label="未申诉" :value="0"></el-option>
</template> <el-option label="已申诉" :value="1"></el-option>
</el-table-column> <el-option label="申诉驳回" :value="2"></el-option>
<el-table-column <el-option label="申诉通过" :value="3"></el-option>
label="复核情况" </el-select>
prop="rectificationStatus" </template>
width="200" </el-table-column>
<el-table-column label="上传整改材料" prop="zgFileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
> >
<template {{ scope.row.fileName }}
slot-scope="scope" <el-button @click="handleClickXZ(scope.row)">下载</el-button>
v-if="scope.row.confirmStatus == '1'" </template>
> </el-table-column>
<el-select <el-table-column label="情况说明" prop="zgqkFileId" width="400">
v-model="scope.row.appealStatus" <template
placeholder="请选择" slot-scope="scope"
disabled v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
> >
<el-option label="请选择" value=""></el-option> {{ scope.row.fileName }}
<el-option label="未申诉" :value="0"></el-option> <el-button @click="handleClickXZ(scope.row)">下载</el-button>
<el-option label="已申诉" :value="1"></el-option> </template>
<el-option label="申诉驳回" :value="2"></el-option> </el-table-column>
<el-option label="申诉通过" :value="3"></el-option> </el-table>
</el-select>
</template>
</el-table-column>
<el-table-column label="上传整改材料" prop="zgFileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
>
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
>
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div> </div>
</div> </div>
<p class="midBtn"> </div>
<span @click="cancel()">取消</span><span @click="save()">提交</span> <p class="midBtn">
</p> <span @click="cancel()">取消</span><span @click="save()">提交</span>
</el-dialog> </p>
</div> </el-dialog>
</template> </div>
</template>
<script> <script>
import { import {
ProblemRectification, ProblemRectification,
wtssSelProblemRectification, wtssSelProblemRectification,
wtzgProblemRectification, wtzgProblemRectification,
wtzgxfProblemRectification, wtzgxfProblemRectification,
ossupload, ossupload,
downloadObject, downloadObject,
} from "@/api/index"; } from "@/api/index";
export default { export default {
data() { data() {
return { return {
dialogSS: false, dialogSS: false,
ruleForm: { ruleForm: {
batchYear: "", batchYear: "",
batchName: "", batchName: "",
postEvalState: "", postEvalState: "",
}, },
tableData: [], tableData: [],
tableDataQR: [], tableDataQR: [],
tableDataSS: [], tableDataSS: [],
checkedList: [], checkedList: [],
currentPage: 1, currentPage: 1,
pageSizetjcl: 10, pageSizetjcl: 10,
total: 0, total: 0,
dialogQR: false, dialogQR: false,
pageSize: 10, pageSize: 10,
mergingPos: 0, mergingPos: 0,
mergingRows: [], mergingRows: [],
mergingPosss: 0, mergingPosss: 0,
mergingRowsss: [], mergingRowsss: [],
};
},
mounted() {
this.submitForm();
},
methods: {
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
}; };
Object.assign(params, this.ruleForm);
console.log(params);
let res = await ProblemRectification(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.reviewStatus == "6") {
this.$set(item, "postEvalState", "整改未完成");
} else if (item.reviewStatus == "7") {
this.$set(item, "postEvalState", "整改已完成");
} else {
this.$set(item, "postEvalState", "整改提交");
}
});
this.total = res.data.total * 1;
}
}, },
mounted() { resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm(); this.submitForm();
}, },
methods: { detailsForm() {},
async submitForm() { //问题整改
let params = { async confirm() {
current: this.currentPage, this.mergingPos = 0;
pageSize: this.pageSize, this.mergingRows = [];
}; if (this.checkedList.length != 1) {
Object.assign(params, this.ruleForm); this.$message("请选择一条数据进行整改");
console.log(params); return;
let res = await ProblemRectification(params); }
if (res.code == "200") { this.dialogQR = true;
this.tableData = res.data.records; let params = {
this.tableData.forEach((item) => { projectId: this.checkedList[0].projectId,
if (item.reviewStatus == "6") { batchId: this.checkedList[0].batchId,
this.$set(item, "postEvalState", "整改未完成"); };
} else if (item.reviewStatus == "7") {
this.$set(item, "postEvalState", "整改已完成");
} else {
this.$set(item, "postEvalState", "整改提交");
}
});
this.total = res.data.total * 1;
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
detailsForm(){
}, let res = await wtssSelProblemRectification(params);
//问题整改 if (res.code == "200") {
async confirm() { this.tableDataQR = res.data.records;
this.mergingPos = 0; this.tableDataQR.forEach((item) => {
this.mergingRows = []; switch (item.projectStage) {
if (this.checkedList.length != 1) { case "1":
this.$message("请选择一条数据进行整改"); this.$set(item, "projectStagetext", "1.可研");
return; break;
} case "2":
this.dialogQR = true; this.$set(item, "projectStagetext", "2.计划");
let params = { break;
projectId: this.checkedList[0].projectId, case "3":
batchId: this.checkedList[0].batchId, this.$set(item, "projectStagetext", "3.采购");
}; break;
case "4":
let res = await wtssSelProblemRectification(params); this.$set(item, "projectStagetext", "4.合同");
if (res.code == "200") { break;
this.tableDataQR = res.data.records; case "5":
this.tableDataQR.forEach((item) => { this.$set(item, "projectStagetext", "5.执行");
switch (item.projectStage) { break;
case "1": case "6":
this.$set(item, "projectStagetext", "1.可研"); this.$set(item, "projectStagetext", "6.结决算及转资");
break; 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;
}
} }
} });
}, console.log(this.tableDataQR, "加不进去?");
dataPretreatmentSS() { this.dataPretreatment();
for (let i = 0; i < this.tableDataSS.length; i++) { }
// tabledata 表格数据源 },
if (i === 0) { dataPretreatment() {
this.mergingRowsss.push(1); for (let i = 0; i < this.tableDataQR.length; i++) {
this.mergingPosss = 0; // 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 { } else {
if ( this.mergingRows.push(1);
this.tableDataSS[i].projectStage === this.mergingPos = i;
this.tableDataSS[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRowsss[this.mergingPosss] += 1;
this.mergingRowsss.push(0);
} else {
this.mergingRowsss.push(1);
this.mergingPosss = i;
}
} }
} }
}, }
},
//表格颜色 dataPretreatmentSS() {
tableRowClassName({ row, rowIndex }) { for (let i = 0; i < this.tableDataSS.length; i++) {
if (rowIndex % 2 == 1) { // tabledata 表格数据源
return "warning-row"; if (i === 0) {
} this.mergingRowsss.push(1);
return ""; this.mergingPosss = 0;
},
//主列表选中行信息
handleSelectionChange(selection) {
console.log("222222");
if (Array.isArray(selection) && selection.length > 1) {
console.log("222222333", this.checkedList);
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.$forceUpdate();
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
arraySpanMethodss({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRowsss[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
cancelSS() {
this.dialogQR = false;
},
async save() {
let res = await wtzgxfProblemRectification(this.tableDataSS);
if (res.code == "200") {
this.dialogSS = false;
this.resetForm();
} else { } else {
this.$message("整改提交失败"); if (
} this.tableDataSS[i].projectStage ===
}, this.tableDataSS[i - 1].projectStage
cancel() { ) {
this.dialogSS = false; //哪些数据是要合并的 合并的条件是什么
}, this.mergingRowsss[this.mergingPosss] += 1;
async saveSS() { this.mergingRowsss.push(0);
this.tableDataQR.forEach((item) => { } else {
if (item.confirmStatus == "1") { this.mergingRowsss.push(1);
if (!item.feedback) { this.mergingPosss = i;
this.$message("有未填写的的解释批注");
throw new Error("主动跳出循环");
}
} }
});
let res = await wtzgProblemRectification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.resetForm();
}
},
//问题提交
async appeal() {
this.mergingPosss = 0;
this.mergingRowsss = [];
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行提交");
return;
} }
this.dialogSS = true; }
let params = { },
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId, //表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
return "";
},
//主列表选中行信息
handleSelectionChange(selection) {
console.log("222222");
if (Array.isArray(selection) && selection.length > 1) {
console.log("222222333", this.checkedList);
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.$forceUpdate();
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
}; };
}
let res = await wtssSelProblemRectification(params);
if (res.code == "200") {
this.tableDataSS = res.data.records;
this.tableDataSS.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.tableDataSS);
this.dataPretreatmentSS();
}
},
handleFileUpload(event,row,type) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFile(row,type)
},
submitFile(row,type) {
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
ossupload(formData)
.then((response) => {
console.log(response);
this.file =[]
this.$set(row, type, response.data.fileId);
})
.catch((error) => {
console.error(error);
});
}else{
this.$message('请先选择文件')
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
},
async handleClickXZ(scope) {
console.log(scope.fileId);
let response = await downloadObject({
fileId: scope.fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = scope.fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
}
},
}, },
}; arraySpanMethodss({ row, column, rowIndex, columnIndex }) {
</script> if (columnIndex === 0) {
<style scoped lang="scss"> //第一列
.main { const _row = this.mergingRowsss[rowIndex];
font-size: 14px; const _col = _row > 0 ? 1 : 0;
position: relative; return {
height: 100%; rowspan: _row,
width: 100%; colspan: _col,
box-sizing: border-box; };
overflow-x: hidden;
}
.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-bottom: 20px;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
} }
.el-select { },
width: 226px; //问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
cancelSS() {
this.dialogQR = false;
},
async save() {
let res = await wtzgxfProblemRectification(this.tableDataSS);
if (res.code == "200") {
this.dialogSS = false;
this.resetForm();
} else {
this.$message("整改提交失败");
} }
} },
/deep/ .el-form-item__content { cancel() {
text-align: left; this.dialogSS = false;
display: inline-block; },
margin-left: 10px !important; async saveSS() {
} this.tableDataQR.forEach((item) => {
/deep/ .el-form-item__label { if (item.confirmStatus == "1") {
font-weight: bold; if (!item.feedback) {
color: #000; this.$message("有未填写的的解释批注");
width: 160px !important; throw new Error("主动跳出循环");
} }
.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;
} }
});
let res = await wtzgProblemRectification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.resetForm();
} }
.el-button { },
background-color: #23c6c8; //问题提交
border-color: #23c6c8; async appeal() {
color: #fff; this.mergingPosss = 0;
this.mergingRowsss = [];
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行提交");
return;
} }
this.dialogSS = true;
let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
};
let res = await wtssSelProblemRectification(params);
if (res.code == "200") {
this.tableDataSS = res.data.records;
this.tableDataSS.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.tableDataSS);
this.dataPretreatmentSS();
}
},
handleFileUpload(event, row, type) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFile(row, type);
},
submitFile(row, type) {
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
ossupload(formData)
.then((response) => {
console.log(response);
this.file = [];
this.$set(row, type, response.data.fileId);
})
.catch((error) => {
console.error(error);
});
} else {
this.$message("请先选择文件");
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
},
async handleClickXZ(scope) {
console.log(scope.fileId);
let response = await downloadObject({
fileId: scope.fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = scope.fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
}
},
},
};
</script>
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}
.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 {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
} }
} }
.eltable { /deep/ .el-form-item__content {
box-sizing: border-box;
text-align: center;
width: 150%;
min-width: 150%;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/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; text-align: left;
border-radius: 10px 10px 0 0; display: inline-block;
.el-dialog__title { margin-left: 10px !important;
color: #fff;
}
} }
/deep/ .el-table__header th { /deep/ .el-form-item__label {
background-color: #eeeeee;
font-weight: bold; font-weight: bold;
.cell { color: #000;
color: #333; width: 160px !important;
}
}
/deep/.el-table {
position: absolute;
width: auto !important;
max-width: none;
// 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;
}
} }
.button {
.textarea { display: inline-block;
width: 100%; width: 100%;
.el-textarea { text-align: left;
width: 60%; /deep/ .el-form-item__content {
} margin-left: 20px !important;
} text-align: left;
.Btn { img {
width: 200px; width: 14px;
margin: 0 auto; height: 14px;
height: 30px; margin-right: 15px;
line-height: 30px; vertical-align: middle;
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 { .el-button {
background-color: #0d867f; background-color: #23c6c8;
border: 1px solid #0d867f; border-color: #23c6c8;
color: #fff; color: #fff;
} }
} }
/deep/ .el-dialog__headerbtn .el-dialog__close { }
.eltable {
box-sizing: border-box;
text-align: center;
height: 100%;
overflow-y: auto;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/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; color: #fff;
} }
.zjBtn { }
width: 400px; /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 {
height: 680px;
.xqtitle {
text-align: left; text-align: left;
vertical-align: middle; font-size: 18px;
span { span {
display: inline-block; display: inline-block;
width: 140px; width: 5px;
height: 25px; height: 20px;
line-height: 25px; background: #0d867f;
text-align: center; margin-right: 14px;
border-radius: 5px;
vertical-align: middle; 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 {
margin: 0 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;
}
span:first-of-type {
border: 1px solid grey;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
border: 1px solid #4ca6a7;
}
}
.setTable {
height: 500px;
overflow-y: auto;
overflow-x: scroll;
position: relative;
overflow: auto;
}
.dialog {
// height: 700px;
// overflow-y: auto;
// overflow-x: auto;
.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 { .textarea {
text-align: center; width: 100%;
/deep/ .el-form-item__content {
display: flex;
} }
/deep/ .el-table__cell { .el-textarea {
width: 60%;
}
}
.Btn {
width: 200px;
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center; text-align: center;
border-radius: 4px;
margin-right: 12px;
} }
h3 { span:first-of-type {
text-align: left; border: 1px solid #000;
}
/deep/.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
} }
/deep/.el-switch.is-checked .el-switch__core::after { span:last-of-type {
margin-left: -28px; background-color: #0d867f;
} border: 1px solid #0d867f;
/deep/ .el-switch_label { color: #fff;
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; /deep/ .el-dialog__headerbtn .el-dialog__close {
height: 26px; 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 {
/deep/.el-switch__label--left { background-color: #4ca6a7;
position: absolute;
left: 30px;
color: #fff; color: #fff;
z-index: -1111; padding: 5px 10px;
cursor: default; margin-left: 10px;
user-select: none; }
} }
/deep/ .el-icon-position {
/deep/.el-switch__label--right { margin-right: 10px;
position: absolute; }
right: 30px; /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; color: #fff;
z-index: -1111; text-align: center;
cursor: default; line-height: 40px;
user-select: none; border-radius: 5px;
} }
}
/deep/.el-switch__label--right.is-active { .midBtn {
z-index: 1111; margin: 0 auto;
color: grey !important; span {
height: 30px; display: inline-block;
line-height: 30px; width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
} }
span:first-of-type {
/deep/.el-switch__label--left.is-active { border: 1px solid grey;
z-index: 1111;
color: #fff !important;
height: 30px;
line-height: 30px;
} }
/deep/ .el-dialog__body { span:last-of-type {
padding-bottom: 15px; background-color: #4ca6a7;
color: #fff;
} }
.setscroll { }
width: 100%; /deep/.el-table th.el-table__cell.is-leaf,
height: 650px; .el-table td.el-table__cell {
position: relative; text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
.dialogHeigth {
height: 300px;
box-sizing: border-box;
overflow-y: auto;
}
.setscroll {
width: 100%;
height: 650px;
position: relative;
overflow: auto;
}
.setscrolldialog {
width: 100%;
height: 300px;
position: relative;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
height: 300px;
overflow: auto; overflow: auto;
position: absolute;
min-width: 100%;
}
}
.setscrolldialogx {
width: 100%;
height: 300px;
position: relative;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
position: absolute;
width: auto !important;
max-width: none;
} }
.dialog { }
.eltable { ::v-deep.el-table::before {
box-sizing: border-box; display: none !important;
text-align: center; }
width: 100%; </style>
min-width: 100%; \ No newline at end of file
}
}
</style>
\ No newline at end of file
<template>
<div class="main">
<el-form
:model="ruleForm"
label-width="100px"
class="demo-ruleForm"
ref="formName"
>
<el-form-item label="项目名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核时间:" prop="projectId" class="fromItem">
<el-date-picker v-model="reviewTime" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item class="button">
<el-button @click="submitForm()">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<el-button @click="resetForm('')">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="detailsForm('')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="confirm()">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;问题整改核验</el-button
>
<el-button @click="appeal()">
<i class="el-icon-document-remove"></i
>&nbsp;&nbsp;&nbsp;整改提交</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
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="稽核名称"
show-overflow-tooltip
>
</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="expertName" label="问题整改状态">
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination>
<!-- 问题整改 -->
<el-dialog
title="稽核问题整改核验"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialogBJ"
label-width="100px"
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="planReviewDate"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialogBJ.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<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="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" 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">
<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 prop="projectStatus" label="申诉证明材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="哪个字段" label="问题解决佐证材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="email" label="问题整改复核" width="auto">
</el-table-column>
</el-table>
</div>
</el-dialog>
<!-- 复核下发 -->
<el-dialog
title="稽核问题整改核验"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialogBJ"
label-width="100px"
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="planReviewDate"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialogBJ.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<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="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" 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">
<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 prop="projectStatus" label="申诉证明材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="哪个字段" label="问题解决佐证材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="email" label="问题整改复核" width="auto">
</el-table-column>
</el-table>
</div>
</el-dialog>
<!-- 详情弹窗 -->
<el-dialog
title="稽核问题整改核验"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialogBJ"
label-width="100px"
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="planReviewDate"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialogBJ.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<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="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" 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">
<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 prop="projectStatus" label="申诉证明材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="哪个字段" label="问题解决佐证材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="email" label="问题整改复核" width="auto">
</el-table-column>
</el-table>
</div>
</el-dialog>
</div>
</template>
<script>
import {
ProblemRectification,
wtssSelProblemRectification,
wtzgProblemRectification,
wtzgxfProblemRectification,
ossupload,
downloadObject,
} from "@/api/index";
export default {
data() {
return {
dialogSS: false,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
},
tableData: [],
tableDataQR: [],
tableDataSS: [],
checkedList: [],
currentPage: 1,
pageSizetjcl: 10,
total: 0,
dialogQR: false,
pageSize: 10,
dialogXQ:false,
ruleFormdialogBJ:{
value1: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)],
},
};
},
mounted() {
this.submitForm();
},
methods: {
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await ProblemRectification(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.reviewStatus == "6") {
this.$set(item, "postEvalState", "整改未完成");
} else if (item.reviewStatus == "7") {
this.$set(item, "postEvalState", "整改已完成");
} else {
this.$set(item, "postEvalState", "整改提交");
}
});
this.total = res.data.total * 1;
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
// 详情
async detailsForm() {
// if (this.checkedList.length != 1) {
// this.$message("请选择");
// return;
// }
console.log("222",this.checkedList);
this.dialogXQ = true;
// this.ruleFormdialogBJ=this.checkedList[0]
// let params={
// current:1,
// pageSize:10,
// }
// Object.assign(params, this.ruleFormdialogAdd);
// let res=await joinProjectInfo(params)
// if (res.code == "200") {
// this.tableDataXQ = res.data.records;
// this.totalXQ = res.data.total * 1;
// }
},
//问题整改
async confirm() {
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 wtssSelProblemRectification(params);
if (res.code == "200") {
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;
}
});
console.log(this.tableDataQR, "加不进去?");
this.dataPretreatment();
}
},
handleFileUpload(event, row, type) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFile(row, type);
},
submitFile(row, type) {
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
ossupload(formData)
.then((response) => {
console.log(response);
this.file = [];
this.$set(row, type, response.data.fileId);
})
.catch((error) => {
console.error(error);
});
} else {
this.$message("请先选择文件");
}
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
return "";
},
//主列表选中行信息
handleSelectionChange(selection) {
console.log("222222");
if (Array.isArray(selection) && selection.length > 1) {
console.log("222222333", this.checkedList);
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.$forceUpdate();
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
arraySpanMethodss({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRowsss[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
cancelSS() {
this.dialogQR = false;
},
async save() {
let res = await wtzgxfProblemRectification(this.tableDataSS);
if (res.code == "200") {
this.dialogSS = false;
this.resetForm();
} else {
this.$message("整改提交失败");
}
},
cancel() {
this.dialogSS = false;
},
async saveSS() {
this.tableDataQR.forEach((item) => {
if (item.confirmStatus == "1") {
if (!item.feedback) {
this.$message("有未填写的的解释批注");
throw new Error("主动跳出循环");
}
}
});
let res = await wtzgProblemRectification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.resetForm();
}
},
//问题提交
async appeal() {
this.mergingPosss = 0;
this.mergingRowsss = [];
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行提交");
return;
}
this.dialogSS = true;
let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
};
let res = await wtssSelProblemRectification(params);
if (res.code == "200") {
this.tableDataSS = res.data.records;
this.tableDataSS.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.tableDataSS);
this.dataPretreatmentSS();
}
},
handleFileUpload(event, row, type) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFile(row, type);
},
submitFile(row, type) {
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
ossupload(formData)
.then((response) => {
console.log(response);
this.file = [];
this.$set(row, type, response.data.fileId);
})
.catch((error) => {
console.error(error);
});
} else {
this.$message("请先选择文件");
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
},
async handleClickXZ(scope) {
console.log(scope.fileId);
let response = await downloadObject({
fileId: scope.fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = scope.fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
}
},
},
};
</script>
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}
.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 {
min-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;
display: inline-block;
margin-left: 10px !important;
}
/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;
height: 100%;
overflow-y: auto;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/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 {
height: 680px;
.xqtitle {
text-align: left;
font-size: 18px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
vertical-align: middle;
}
}
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
display: flex;
}
.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 {
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
}
span:first-of-type {
border: 1px solid grey;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
.dialogHeigth {
height: 300px;
box-sizing: border-box;
overflow-y: auto;
}
.setscroll {
width: 100%;
height: 650px;
position: relative;
overflow: auto;
}
.setscrolldialog {
width: 100%;
height: 300px;
position: relative;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
height: 300px;
overflow: auto;
position: absolute;
min-width: 100%;
}
}
.setscrolldialogx {
width: 100%;
height: 300px;
position: relative;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
position: absolute;
width: auto !important;
max-width: none;
}
}
::v-deep.el-table::before {
display: none !important;
}
</style>
\ No newline at end of file
...@@ -13,7 +13,7 @@ module.exports = defineConfig({ ...@@ -13,7 +13,7 @@ module.exports = defineConfig({
hot: true, hot: true,
proxy: { proxy: {
'/arch-evaluation':{ '/arch-evaluation':{
target: `http://192.168.50.1:18000`, // pin target: `http://192.168.50.1:18101`, // pin
changeOrigin: true, changeOrigin: true,
pathRewrite:{ pathRewrite:{
"^/arch-evaluation":"/" "^/arch-evaluation":"/"
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!