Commit 5fa86f88 by henry

添加项目检查问题查询界面

1 parent 6c3cbaac
...@@ -43,9 +43,14 @@ export const routes = [ ...@@ -43,9 +43,14 @@ export const routes = [
}, },
}, },
{ {
path: '/mainLayout/problemLlistQuery', path: '/mainLayout/projectCheckQuestionQuery',
name: 'problemLlistQuery', name: 'problemLlistQuery',
component: () => import('@/views/postConcentrationCheck/problemLlistQuery.vue'), component: () => import('@/views/postConcentrationCheck/projectCheckQuestionQuery.vue'),
},
{
path: '/mainLayout/rectificationFeedbackQuery',
name: 'problemLlistQuery',
component: () => import('@/views/postConcentrationCheck/rectificationFeedbackQuery.vue'),
}, },
{ {
path: '/mainLayout/sendIssue', path: '/mainLayout/sendIssue',
......
...@@ -101,9 +101,15 @@ export default { ...@@ -101,9 +101,15 @@ export default {
url: "", url: "",
children: [ children: [
{ {
name: "项目检查问题查询",
url: "/mainLayout/projectCheckQuestionQuery",
children: []
},
{
name: "整改反馈查询", name: "整改反馈查询",
url: "/mainLayout/problemLlistQuery", url: "/mainLayout/rectificationFeedbackQuery",
children: [] }, children: []
},
{ {
name: "下发问题", name: "下发问题",
url: "/mainLayout/sendIssue", url: "/mainLayout/sendIssue",
......
<!-- 项目检查问题查询 -->
<template>
<div class="main">
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<el-form-item label="项目年度:" prop="projectYear" class="fromItem" >
<el-select v-model="ruleForm.projectYear" placeholder="请选择">
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item>
<el-form-item label="项目编码:" prop="projectCode" class="fromItem">
<el-input v-model="ruleForm.projectCode" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input v-model="ruleForm.projectName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="项目阶段:" prop="projectPhase" class="fromItem" >
<el-select v-model="ruleForm.projectPhase" placeholder="请选择">
<el-option label="项目验收" value="1"></el-option>
<el-option label="项目建设" value="2"></el-option>
<el-option label="项目前期" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="项目环节:" prop="projectLink" class="fromItem" >
<el-select v-model="ruleForm.projectLink" placeholder="请选择">
<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-option label="执行" value="5"></el-option>
<el-option label="结决算" value="6"></el-option>
<el-option label="转资" value="7"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否申诉:" prop="appealFlag" class="fromItem" >
<el-select v-model="ruleForm.appealFlag" placeholder="请选择">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="申诉是否通过:" prop="appealPassFlag" class="fromItem" >
<el-select v-model="ruleForm.appealPassFlag" placeholder="请选择">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否完成整改:" prop="completeFlag" class="fromItem" >
<el-select v-model="ruleForm.completeFlag" placeholder="请选择">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></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('ruleForm')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
</el-form-item>
</el-form>
<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 type="selection"> </el-table-column>
<el-table-column label="项目年度" width="auto" prop="projectYear">
</el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto">
</el-table-column>
<el-table-column prop="projectPhase" label="项目阶段" width="auto">
</el-table-column>
<el-table-column prop="projectLink" label="项目环节" width="auto">
</el-table-column>
<el-table-column prop="checkProblem" label="问题检查项" width="auto">
</el-table-column>
<el-table-column prop="appealFlag" label="是否申诉" width="auto">
</el-table-column>
<el-table-column prop="appealPassFlag" label="申诉是否通过" width="auto">
</el-table-column>
<el-table-column prop="completeFlag" label="是否完成整改" width="auto">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title="整改反馈详情"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
:model="ruleFormdialogBJ"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="项目年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.fromItem" disabled></el-input>
</el-form-item>
<el-form-item label="项目编码:" prop="projectCode" class="fromItem">
<el-input v-model="ruleFormdialogBJ.projectCode" disabled></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input v-model="ruleFormdialogBJ.projectName" disabled></el-input>
</el-form-item>
<el-form-item label="项目阶段:" prop="projectPhase" class="fromItem">
<el-input v-model="ruleFormdialogBJ.projectPhase" disabled></el-input>
</el-form-item>
<el-form-item label="项目环节:" prop="projectLink" class="fromItem">
<el-input v-model="ruleFormdialogBJ.projectLink" disabled></el-input>
</el-form-item>
<el-form-item label="问题检查项:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialogBJ.checkProblem"
disabled
></el-input>
</el-form-item>
<el-form-item label="是否申诉:" prop="appealFlag" class="fromItem">
<el-input v-model="ruleFormdialogBJ.appealFlag" disabled></el-input>
</el-form-item>
<el-form-item label="申诉是否通过:" prop="appealPassFlag" class="fromItem">
<el-input v-model="ruleFormdialogBJ.appealPassFlag" disabled></el-input>
</el-form-item>
<el-form-item label="是否完成整改:" prop="completeFlag" class="fromItem">
<el-input v-model="ruleFormdialogBJ.completeFlag" disabled></el-input>
</el-form-item>
</el-form>
</div>
</el-dialog>
</div>
</template>
<script>
import {
evalBatchInfo,
} from "@/api/index";
export default {
data() {
return {
category: [
{ name: "2024", id: 1 },
{ name: "2023", id: 2 },
{ name: "2022", id: 3 },
{ name: "2021", id: 4 },
], //专业领域
showButton: true,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
},
ruleFormdialogBJ: {
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
},
xfParams: "", //下发入参
tableData: [],
tableDataQD: [], //清单列表
checkedList: [],
currentPage: 1,
currentPagetjcl: 1,
pageSizetjcl: 10,
total: 0,
dialogXQ: false,
currentPageBJ:1,
pageSizeBJ:10,
dialogAdd: false,
dialogAddzj: false,
pageSize: 10,
current: 1,
addtotal: 0,
currentAdd: 1,
pageSizeAdd: 10,
currentedit: 1,
pageSizeedit: 10,
xfParam: "",
dialogedit: false,
expertIdList: [],
totalBJ:0,
addZJList: [],
expertState: "",
fields: "",
addcurrentPage: 1,
addtableData: [],
message: {},
};
},
mounted() {
this.submitForm();
},
methods: {
async submitForm(formName) {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await evalBatchInfo(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach(item=>{
if (item.projectPhase==''||item.projectPhase==null){
}else if (item.projectPhase=='1'){
this.$set( item,'projectPhase','项目验收')
}else if(item.projectPhase=='2'){
this.$set( item,'projectPhase','项目建设')
}else{
this.$set( item,'projectPhase','项目前期')
}
}),
this.tableData.forEach(item=>{
if (item.projectLink==''||item.projectLink==null){
}else if (item.projectLink=='1'){
this.$set( item,'projectLink','可研')
}else if(item.projectLink=='2'){
this.$set( item,'projectLink','计划')
}else if(item.projectLink=='3'){
this.$set( item,'projectLink','采购')
}else if(item.projectLink=='4'){
this.$set( item,'projectLink','合同')
}else if(item.projectLink=='5'){
this.$set( item,'projectLink','执行')
}else if(item.projectLink=='6'){
this.$set( item,'projectLink','结决算')
}else{
this.$set( item,'projectLink','转资')
}
})
this.total = res.data.total * 1;
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
console.log("222",this.checkedList);
this.dialogXQ = true;
this.ruleFormdialogBJ=this.checkedList[0]
let params = {
current: this.currentedit,
pageSize: this.pageSizeedit,
batchId:this.checkedList[0].batchId
};
console.log(params,'params')
let res = await expert(params);
this.addtableData=res.data.records
this.totalBJ=res.data.total * 1;
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
return "";
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
},
handleSizeChangeZJ(val) {
console.log(`每页 ${val} 条`);
this.pageSizeZJ = val;
},
handleCurrentChangeZJ(val) {
console.log(`当前页: ${val}`);
this.currentZJ = val;
},
handleSizeChangetjcl(val) {
console.log(`每页 ${val} 条`);
this.pageSizetjcl = val;
},
handleCurrentChangetjcl(val) {
console.log(`当前页: ${val}`);
this.currentPagetjcl = val;
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val;
},
handleCurrentChangeAdd(val) {
this.currentAdd = val;
},
handleSizeChangeBJ(val) {
console.log(`每页 ${val} 条`);
this.pageSizeBJ = val;
},
handleCurrentChangeBJ(val) {
console.log(`当前页: ${val}`);
this.currentPageBJ = val;
},
cancel() {
this.dialog = false;
},
},
};
</script>
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
}
.el-form {
display: flex;
width: 99%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding: 20px 10px;
margin: 20px 0;
.fromItem {
width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
text-align: left;
}
/deep/ .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
}
.button {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
width: 14px;
height: 14px;
margin-right: 15px;
vertical-align: middle;
}
}
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
}
}
}
.eltable {
widows: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
}
/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 {
.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%;
.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: 200px;
text-align: left;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 5px;
}
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;
}
</style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!