Commit 498ab649 by 史敦盼

问题修复

1 parent c27578ff
......@@ -2,19 +2,17 @@
// let mainURL="192.168.8.248:18101"
// var qs = require('qs')
import { ARCH_EVALUATION} from '@/config/micromodule'
import { ARCH_EVALUATION } from '@/config/micromodule'
import { get, post, download } from '@/utils/http'
// 获取流程列表
export function evalBatchInfo(params) {
return post(`${ARCH_EVALUATION}/postEvalBatchInfo/`, params)
}
//专家库
export function expertInfo(params) {
return post(`${ARCH_EVALUATION}/expertInfo/`, params)
}
//查询关联专家
export function expert(params) {
......@@ -55,7 +53,7 @@ export function fbProjectInfo(params) {
export function bcProjectInfo(params) {
return post(`${ARCH_EVALUATION}/projectInfo/bc`, params)
}
//删除  
//删除
export function delProjectInfo(params) {
return post(`${ARCH_EVALUATION}/projectInfo/del`, params)
}
......@@ -171,7 +169,6 @@ export function wtssSelProblemAssistedFeedback(params) {
return post(`${ARCH_EVALUATION}/ProblemAssistedFeedback/wtssSel`, params)
}
//项目结果确认更改
//项目评估结果确认更改查询
export function qrbgSelQuesInfo(params) {
......@@ -260,7 +257,6 @@ export function tjrectificationVerification(params) {
return post(`${ARCH_EVALUATION}/rectificationVerification/wtfhtj`, params)
}
//材料同步归档
//列表
export function tbgdrectificationVerification(params) {
......@@ -288,7 +284,6 @@ export function downloadObjectAll(params) {
return download(`${ARCH_EVALUATION}/oss/downloadObjectAll`, params)
}
//后评估集中检查
//项目检查问题查询
export function projectInspectionIssues(params) {
......@@ -329,7 +324,7 @@ export function selProject(params) {
return post(`${ARCH_EVALUATION}/auditTasks/selProject`, params)
}
//删除
export function delAuditTasks(params){
export function delAuditTasks(params) {
return post(`${ARCH_EVALUATION}/auditTasks/delAuditTasks`, params)
}
//编辑
......@@ -337,121 +332,124 @@ export function upauditTasks(params) {
return post(`${ARCH_EVALUATION}/auditTasks/up`, params)
}
//删除规则
export function delRule(params){
export function delRule(params) {
return post(`${ARCH_EVALUATION}/auditTasks/delRule`, params)
}
//删除项目
export function delProject(params){
export function delProject(params) {
return post(`${ARCH_EVALUATION}/auditTasks/delProject`, params)
}
//合规检查结果
//合规检查结果分页
export function auditTasksResults(params){
export function auditTasksResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/`, params)
}
//合规检查结果确认分页
export function auditTasksResultsNew(params){
export function auditTasksResultsNew(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/ipage`, params)
}
//详情
export function xqauditTasksResults(params){
export function xqauditTasksResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/xq`, params)
}
//删除
export function scauditTasksResults(params){
export function scauditTasksResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/sc`, params)
}
//确认
export function jgxqResults(params){
export function jgxqResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/jgxq`, params)
}
//下发
export function wtxfResults(params){
export function wtxfResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/wtxf`, params)
}
//合规问题整改
//分页
export function auditTasksRuleProjectLink(params){
export function auditTasksRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/`, params)
}
//详情
export function xqRuleProjectLink(params){
export function xqRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/xq`, params)
}
//整改
export function savaauditRuleProjectLink(params){
export function savaauditRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/sava`, params)
}
//提交
export function tjTasksRuleProjectLink(params){
export function tjTasksRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/tj`, params)
}
////合规问题整改核验
//分页
export function auditTasksRuleProjectLinkZg(params){
export function auditTasksRuleProjectLinkZg(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/`, params)
}
//详情
export function zgxqRuleProjectLink(params){
export function zgxqRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/zgxq`, params)
}
//整改
export function savaRuleProjectLink(params){
export function savaRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/sava`, params)
}
//提交
export function tjRuleProjectLink(params){
export function tjRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/tj`, params)
}
//项目辅助检查
//问题清单查询
export function selWtqdFZ(params){
export function selWtqdFZ(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfo/selWtqd`, params)
}
export function selWtqdFZ2(params) {
return post(`${ARCH_EVALUATION}/postEvalQuesInfo/adSelWtqd`, params)
}
//iframe展示文件
export function selFile(params){
export function selFile(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfo/selFile`, params)
}
export function selFileList(params){
export function selFileList(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfo/selFileList`, params)
}
//明显查询
export function selWtmx(params){
export function selWtmx(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfo/selWtmx`, params)
}
//智能分析查询
export function selZnfx(params){
export function selZnfx(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfo/selZnfx`, params)
}
//保存
export function bcevalQuesInfo(params){
export function bcevalQuesInfo(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfo/bc`, params)
}
//首页
export function projectInfoSy(params){
export function projectInfoSy(params) {
return post(`${ARCH_EVALUATION}/projectInfo/sy`, params)
}
//项目列表页面
export function pmProInitiation(params){
export function pmProInitiation(params) {
return post(`${ARCH_EVALUATION}/projectInfo/getProjectInfo`, params)
}
//项目清单
export function MaterialWarehous(params){
export function MaterialWarehous(params) {
return post(`${ARCH_EVALUATION}/pmProInitiation/MaterialWarehouse`, params)
}
//更新类型
export function chpmProInitiation(params){
export function chpmProInitiation(params) {
return post(`${ARCH_EVALUATION}/pmProInitiation/ch`, params)
}
//历史记录
export function HistoryVersion(params){
export function HistoryVersion(params) {
return post(`${ARCH_EVALUATION}/pmProInitiation/HistoryVersion`, params)
}
//是否可以上传
export function postExist(params){
export function postExist(params) {
return post(`${ARCH_EVALUATION}/pmProInitiation/postExist`, params)
}
//新增问题
......@@ -459,12 +457,10 @@ export function xzwtpostEvalQuesInfo(params) {
return post(`${ARCH_EVALUATION}/postEvalQuesInfo/xzwt`, params)
}
//材料退回
export function postEvalQuesInfoTh(params){
export function postEvalQuesInfoTh(params) {
return post(`${ARCH_EVALUATION}/postEvalQuesInfo/th`, params)
}
//重新长传状态
export function postEvalQuesInfocxtj(params){
export function postEvalQuesInfocxtj(params) {
return post(`${ARCH_EVALUATION}/postEvalQuesInfo/cxtj`, params)
}
......@@ -2,19 +2,17 @@
// let mainURL="192.168.8.248:18101"
// var qs = require('qs')
import { ARCH_EVALUATION} from '@/config/micromodule'
import { ARCH_EVALUATION } from '@/config/micromodule'
import { get, post, download } from '@/utils/http'
// 获取流程列表
export function evalBatchInfo(params) {
return post(`${ARCH_EVALUATION}/postEvalBatchInfoZc/`, params)
}
//专家库
export function expertInfo(params) {
return post(`${ARCH_EVALUATION}/expertInfo/`, params)
}
//查询关联专家
export function expert(params) {
......@@ -55,7 +53,7 @@ export function fbProjectInfo(params) {
export function bcProjectInfo(params) {
return post(`${ARCH_EVALUATION}/projectInfoZc/bc`, params)
}
//删除  
//删除
export function delProjectInfo(params) {
return post(`${ARCH_EVALUATION}/projectInfoZc/del`, params)
}
......@@ -110,6 +108,7 @@ export function postEvalQuesInfo(params) {
//新增问题
export function xzwtpostEvalQuesInfo(params) {
return post(`${ARCH_EVALUATION}/postEvalQuesInfoZc/xzwt`, params)
// return post(`${ARCH_EVALUATION}/postEvalQuesInfoZc/adSelWtqd`, params)
}
//问题清单
......@@ -175,7 +174,6 @@ export function wtssSelProblemAssistedFeedback(params) {
return post(`${ARCH_EVALUATION}/ProblemAssistedFeedbackZc/wtssSel`, params)
}
//项目结果确认更改
//项目评估结果确认更改查询
export function qrbgSelQuesInfo(params) {
......@@ -264,7 +262,6 @@ export function tjrectificationVerification(params) {
return post(`${ARCH_EVALUATION}/rectificationVerificationZc/wtfhtj`, params)
}
//材料同步归档
//列表
export function tbgdrectificationVerification(params) {
......@@ -292,7 +289,6 @@ export function downloadObjectAll(params) {
return download(`${ARCH_EVALUATION}/oss/downloadObjectAll`, params)
}
//后评估集中检查
//项目检查问题查询
export function projectInspectionIssues(params) {
......@@ -333,7 +329,7 @@ export function selProject(params) {
return post(`${ARCH_EVALUATION}/auditTasks/selProject`, params)
}
//删除
export function delAuditTasks(params){
export function delAuditTasks(params) {
return post(`${ARCH_EVALUATION}/auditTasks/delAuditTasks`, params)
}
//编辑
......@@ -341,128 +337,128 @@ export function upauditTasks(params) {
return post(`${ARCH_EVALUATION}/auditTasks/up`, params)
}
//删除规则
export function delRule(params){
export function delRule(params) {
return post(`${ARCH_EVALUATION}/auditTasks/delRule`, params)
}
//删除项目
export function delProject(params){
export function delProject(params) {
return post(`${ARCH_EVALUATION}/auditTasks/delProject`, params)
}
//合规检查结果
//合规检查结果分页
export function auditTasksResults(params){
export function auditTasksResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/`, params)
}
//合规检查结果确认分页
export function auditTasksResultsNew(params){
export function auditTasksResultsNew(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/ipage`, params)
}
//详情
export function xqauditTasksResults(params){
export function xqauditTasksResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/xq`, params)
}
//删除
export function scauditTasksResults(params){
export function scauditTasksResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/sc`, params)
}
//确认
export function jgxqResults(params){
export function jgxqResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/jgxq`, params)
}
//下发
export function wtxfResults(params){
export function wtxfResults(params) {
return post(`${ARCH_EVALUATION}/auditTasksResults/wtxf`, params)
}
//合规问题整改
//分页
export function auditTasksRuleProjectLink(params){
export function auditTasksRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/`, params)
}
//详情
export function xqRuleProjectLink(params){
export function xqRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/xq`, params)
}
//整改
export function savaauditRuleProjectLink(params){
export function savaauditRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/sava`, params)
}
//提交
export function tjTasksRuleProjectLink(params){
export function tjTasksRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/tj`, params)
}
////合规问题整改核验
//分页
export function auditTasksRuleProjectLinkZg(params){
export function auditTasksRuleProjectLinkZg(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/`, params)
}
//详情
export function zgxqRuleProjectLink(params){
export function zgxqRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/zgxq`, params)
}
//整改
export function savaRuleProjectLink(params){
export function savaRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/sava`, params)
}
//提交
export function tjRuleProjectLink(params){
export function tjRuleProjectLink(params) {
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/tj`, params)
}
//项目辅助检查
//问题清单查询
export function selWtqdFZ(params){
export function selWtqdFZ(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfoZc/selWtqd`, params)
}
export function selWtqdFZ2(params) {
return post(`${ARCH_EVALUATION}/postEvalQuesInfoZc/adSelWtqd`, params)
}
//iframe展示文件
export function selFile(params){
export function selFile(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfoZc/selFile`, params)
}
export function selFileList(params){
export function selFileList(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfoZc/selFileList`, params)
}
//明显查询
export function selWtmx(params){
export function selWtmx(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfoZc/selWtmx`, params)
}
//智能分析查询
export function selZnfx(params){
export function selZnfx(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfoZc/selZnfx`, params)
}
//保存
export function bcevalQuesInfo(params){
export function bcevalQuesInfo(params) {
return post(`${ARCH_EVALUATION}/evalQuesInfoZc/bc`, params)
}
//首页
export function projectInfoSy(params){
export function projectInfoSy(params) {
return post(`${ARCH_EVALUATION}/projectInfo/sy`, params)
}
//项目列表页面
export function pmProInitiation(params){
export function pmProInitiation(params) {
return post(`${ARCH_EVALUATION}/projectInfoZc/getProjectInfo`, params)
}
//项目清单
export function MaterialWarehous(params){
export function MaterialWarehous(params) {
return post(`${ARCH_EVALUATION}/pmProInitiation/MaterialWarehouse`, params)
}
//更新类型
export function chpmProInitiation(params){
export function chpmProInitiation(params) {
return post(`${ARCH_EVALUATION}/pmProInitiation/ch`, params)
}
//历史记录
export function HistoryVersion(params){
export function HistoryVersion(params) {
return post(`${ARCH_EVALUATION}/pmProInitiation/HistoryVersion`, params)
}
//材料退回
export function postEvalQuesInfoTh(params){
export function postEvalQuesInfoTh(params) {
return post(`${ARCH_EVALUATION}/postEvalQuesInfoZc/th`, params)
}
//重新长传状态
export function postEvalQuesInfocxtj(params){
export function postEvalQuesInfocxtj(params) {
return post(`${ARCH_EVALUATION}/postEvalQuesInfoZc/cxtj`, params)
}
<template>
<div class="main">
<el-form
:model="ruleForm"
ref="formName"
label-width="100px"
class="demo-ruleForm"
>
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -18,32 +12,16 @@
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input
v-model="ruleForm.projectId"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectId" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select
v-model="ruleForm.projectYear"
placeholder="请选择"
clearable
>
<el-select v-model="ruleForm.projectYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -53,16 +31,8 @@
</el-select>
</el-form-item>
<el-form-item
label="项目审核状态:"
prop="postEvalState"
class="fromItem"
>
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<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-option label="需整改" value="2"></el-option>
......@@ -71,11 +41,7 @@
</el-select>
</el-form-item>
<el-form-item
label="实际评估日期:"
prop="lastUpdateTime"
class="fromItem"
>
<el-form-item label="实际评估日期:" prop="lastUpdateTime" class="fromItem">
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
......@@ -115,52 +81,32 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<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" width="120">
<template slot-scope="scope">
{{ scope.row.batchYear }}
</template></el-table-column
<template slot-scope="scope"> {{ scope.row.batchYear }}</template></el-table-column
>
<el-table-column prop="batchName" label="后评估批次名称">
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="140"> </el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
show-overflow-tooltip
>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope" >
<template slot-scope="scope">
<span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
</template>
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120"> </el-table-column>
<el-table-column prop="postEvalStateText" label="项目审核状态" width="120">
</el-table-column>
<el-table-column
prop="contractNumber"
label="合同编号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="contractNumber" label="合同编号" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期">
</el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期">
<el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> </el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期"> </el-table-column>
</el-table>
</div>
<el-pagination
......@@ -182,9 +128,7 @@
:append-to-body="false"
>
<div class="dialog">
<h3>
项目名称{{ listData.projectName }}
</h3>
<h3>项目名称{{ listData.projectName }}</h3>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="基本信息" name="first">
......@@ -198,14 +142,8 @@
<span>{{ listData.projectName }}</span>
</p>
<p><label>建设形式:</label>{{ listData.constructionForm }}</p>
<p>
<label>总投资计划(万元)-成本金:</label
>{{ listData.costAmountTotal }}
</p>
<p>
<label>总投资计划(万元)-资本金:</label
>{{ listData.capitalAmountTotal }}
</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>
......@@ -245,13 +183,10 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="材料类别" prop="batchtype">
</el-table-column>
<el-table-column prop="typeText" label="资料类型">
</el-table-column>
<el-table-column label="材料类别" prop="batchtype"> </el-table-column>
<el-table-column prop="typeText" label="资料类型"> </el-table-column>
<el-table-column prop="fileName" label="资料名称">
<template slot-scope="scope" v-if="scope.row.fileName">
{{ scope.row.fileName }}&nbsp;&nbsp;<el-button
......@@ -287,25 +222,14 @@
:span-method="arraySpanMethod"
border
>
<el-table-column
label="项目环节"
prop="projectStagetext"
width="150"
>
</el-table-column>
<el-table-column label="序号" width="100" type="index">
<el-table-column label="项目环节" prop="projectStagetext" width="150">
</el-table-column>
<el-table-column label="序号" width="100" type="index"> </el-table-column>
<el-table-column label="问题检查项" prop="quesCheckItem">
</el-table-column>
<el-table-column
label="检查说明"
prop="checkDesc"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="评估问题" prop="evalQues">
<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"> </el-table-column>
<el-table-column label="问题截图" width="auto">
<template slot-scope="scope">
<el-image
......@@ -330,13 +254,10 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="流程节点" prop="processNodes" width="150">
</el-table-column>
<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-column label="处理人" prop="processedBy"> </el-table-column>
<el-table-column label="处理时间" prop="processingTime"> </el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
......@@ -346,8 +267,8 @@
</div>
</template>
<script>
import { MaterialsList } from "@/utils/cache";
<script>
import { MaterialsList } from '@/utils/cache'
import {
fzcxselect,
fzcxXqselect,
......@@ -356,9 +277,9 @@ import {
selLcb,
presignedUrl,
downloadObject,
downloadObjectAll
} from "@/api/index";
import { generateYearOptions, constructionFormText } from "@/utils/cache";
downloadObjectAll,
} from '@/api/index'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
export default {
data() {
return {
......@@ -369,17 +290,17 @@ export default {
xxtableData: [],
showButton: true,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
projectName: "",
projectId: "",
batchYear: '',
batchName: '',
postEvalState: '',
projectName: '',
projectId: '',
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
},
tableData: [],
......@@ -391,271 +312,257 @@ export default {
pageSizetjcl: 10,
total: 0,
dialog: false,
activeName: "first",
activeName: 'first',
mergingRows: [],
lctableData: [],
};
}
},
mounted() {
this.ruleForm.batchName = this.$route.query.batchName;
this.ruleForm.projectCode = this.$route.query.projCode;
this.submitForm();
this.ruleForm.batchName = this.$route.query.batchName
this.ruleForm.projectCode = this.$route.query.projCode
this.submitForm()
},
methods: {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
}else{
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
} else {
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
}
},
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
module:0,
};
Object.assign(params, this.ruleForm);
let res = await fzcxselect(params);
module: 0,
}
Object.assign(params, this.ruleForm)
let res = await fzcxselect(params)
if (res.code == "200") {
this.tableData = res.data.records;
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) {
if (item.postEvalState == '' || item.postEvalState == null) {
// this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") {
} else if (item.postEvalState == '0') {
// this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估");
this.$set(item, 'postEvalStateText', '待评估')
} else if (item.postEvalState == 2) {
this.$set(item, "postEvalStateText", "需整改");
}else if (item.postEvalState == 3) {
this.$set(item, "postEvalStateText", "已整改");
}else if (item.postEvalState == 4) {
this.$set(item, "postEvalStateText", "已归档");
}
this.$set(
item,
"constructionForm",
constructionFormText(item.constructionForm)
);
});
this.total = res.data.total * 1;
this.$set(item, 'postEvalStateText', '需整改')
} else if (item.postEvalState == 3) {
this.$set(item, 'postEvalStateText', '已整改')
} else if (item.postEvalState == 4) {
this.$set(item, 'postEvalStateText', '已归档')
}
this.$set(item, 'constructionForm', constructionFormText(item.constructionForm))
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.dates=[]
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
},
//详情
detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
this.dialog = true;
this.dialog = true
let params = {
batchId: this.checkedList[0].batchId,
batchId: this.checkedList[0].contractNumber,
projectId: this.checkedList[0].projectCode,
};
}
Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
this.listData = res[0].data.records[0];
this.listData.constructionForm = constructionFormText(
this.listData.constructionForm
);
this.qdtableData = JSON.parse(JSON.stringify(this.tableDataNew));
this.listData = res[0].data.records[0]
this.listData.constructionForm = constructionFormText(this.listData.constructionForm)
this.qdtableData = JSON.parse(JSON.stringify(this.tableDataNew))
if (res[1].data.records.length > 0) {
this.qdtableData = this.qdtableData
.concat(res[1].data.records)
.reduce((accumulator, currentObj) => {
const existingObj = accumulator.find(
(obj) => obj.typeCode == currentObj.typeCode
);
const existingObj = accumulator.find((obj) => obj.typeCode == currentObj.typeCode)
if (existingObj) {
Object.assign(existingObj, currentObj);
Object.assign(existingObj, currentObj)
} else {
accumulator.push(currentObj);
accumulator.push(currentObj)
}
return accumulator;
}, []);
return accumulator
}, [])
}
});
})
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
return ''
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
const _row = this.mergingRows[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col,
};
}
}
},
dataPretreatment() {
this.mergingRows = [];
this.mergingPos = 0;
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;
this.mergingRows.push(1)
this.mergingPos = 0
} else {
if (
this.xxtableData[i].projectStage ===
this.xxtableData[i - 1].projectStage
) {
if (this.xxtableData[i].projectStage === this.xxtableData[i - 1].projectStage) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
this.mergingRows[this.mergingPos] += 1
this.mergingRows.push(0)
} else {
this.mergingRows.push(1);
this.mergingPos = i;
this.mergingRows.push(1)
this.mergingPos = i
}
}
}
},
async handleClick() {
if (this.activeName == "second") {
if (this.activeName == 'second') {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
};
this.xxtableData = [];
let res = await wtqdqselect(params);
if (res.code == "200") {
this.xxtableData = res.data.records;
this.total = res.data.total * 1;
}
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;
this.$set(item, 'projectStagetext', '1.可研')
break
case 2:
this.$set(item, "projectStagetext", "2.计划");
break;
this.$set(item, 'projectStagetext', '2.计划')
break
case 3:
this.$set(item, "projectStagetext", "3.采购");
break;
this.$set(item, 'projectStagetext', '3.采购')
break
case 4:
this.$set(item, "projectStagetext", "4.合同");
break;
this.$set(item, 'projectStagetext', '4.合同')
break
case 5:
this.$set(item, "projectStagetext", "5.执行");
break;
this.$set(item, 'projectStagetext', '5.执行')
break
case 6:
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
this.$set(item, 'projectStagetext', '6.结决算及转资')
break
}
let urlStr = item.url;
let arrUrl = [];
let showUrlList = [];
let urlStr = item.url
let arrUrl = []
let showUrlList = []
// 有url拆分调接口换预览
if (urlStr) {
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
if (urlStr.includes(',')) {
arrUrl = item.url.split(',')
} else {
arrUrl.push(urlStr);
arrUrl.push(urlStr)
}
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
};
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
}
let resUrl = await presignedUrl(paramsUrl)
showUrlList.push(resUrl.msg)
})
this.$set(item, "images", showUrlList);
this.$set(item, 'images', showUrlList)
}
});
this.dataPretreatment();
} else if (this.activeName == "third") {
})
this.dataPretreatment()
} else if (this.activeName == 'third') {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
};
let res = await selLcb(params);
if (res.code == "200") {
this.lctableData = res.data;
}
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.$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");
this.checkedList = this.$refs.multipleTable.selection
this.ruleFormdialog = this.checkedList[0]
console.log(this.checkedList, '2222')
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
},
cancel() {
this.dialog = false;
this.dialog = false
},
handleImageClick() {},
async handleClickXZ(scope) {
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 = 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);
let blob = new Blob([response])
if ('download' in document.createElement('a')) {
let elink = document.createElement('a')
elink.download = 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)
}
},
async downFiles(){
async downFiles() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if(this.checkedList[0].postEvalStateText!='已归档'){
this.$message("该项目还未归档,请重新选择");
return;
if (this.checkedList[0].postEvalStateText != '已归档') {
this.$message('该项目还未归档,请重新选择')
return
}
let response = await downloadObjectAll({
prjId:this.checkedList[0].projectCode,
prjId: this.checkedList[0].projectCode,
bathId: this.checkedList[0].contractNumber,
});
})
let blob = new Blob([response], { type: 'application/zip' })
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
......@@ -663,11 +570,11 @@ export default {
link.download = '归档' // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
}
},
};
},
}
</script>
<style scoped lang="scss">
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
......@@ -787,7 +694,7 @@ export default {
.title {
text-align: left;
font-size: 18px;
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
......
<!-- 辅助检查 -->
<template>
<div class="main">
<el-form
:model="ruleForm"
ref="formName"
label-width="100px"
class="demo-ruleForm"
>
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -18,32 +13,16 @@
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input
v-model="ruleForm.projectId"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectId" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select
v-model="ruleForm.projectYear"
placeholder="请选择"
clearable
>
<el-select v-model="ruleForm.projectYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -53,11 +32,7 @@
</el-select>
</el-form-item>
<el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem">
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option>
<el-option label="需整改" value="2"></el-option>
......@@ -65,11 +40,7 @@
<el-option label="已归档" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item
label="实际评估日期:"
prop="lastUpdateTime"
class="fromItem"
>
<el-form-item label="实际评估日期:" prop="lastUpdateTime" class="fromItem">
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
......@@ -103,8 +74,7 @@
:disabled="confirmdisabled"
:class="confirmdisabled ? 'noclick' : ''"
>
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;整改复核</el-button
<i class="el-icon-chat-dot-square"></i>&nbsp;&nbsp;&nbsp;整改复核</el-button
>
<el-button
@click="inspectBack()"
......@@ -126,68 +96,39 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<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" width="120">
<template slot-scope="scope">
{{ scope.row.batchYear }}
</template></el-table-column
<template slot-scope="scope"> {{ scope.row.batchYear }}</template></el-table-column
>
<el-table-column prop="batchName" label="后评估批次名称">
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
<el-table-column prop="expertName" label="评审专家" width="90"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="130">
</el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
show-overflow-tooltip
>
<el-table-column prop="projectCode" label="项目编码" width="130"> </el-table-column>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope">
<span v-show="scope.row.issueYear">
{{ scope.row.issueYear }}</span
>
<span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
</template>
</el-table-column>
<el-table-column prop="projectType" label="项目类型" width="120">
<template slot-scope="scope">
<span v-show="scope.row.projectType">
{{ scope.row.projectType | proType }}</span
>
<span v-show="scope.row.projectType"> {{ scope.row.projectType | proType }}</span>
</template>
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120"> </el-table-column>
<el-table-column
prop="postEvalStateText"
label="项目审核状态 "
width="120"
>
<el-table-column prop="postEvalStateText" label="项目审核状态 " width="120">
</el-table-column>
<el-table-column
prop="contractNumber"
label="合同编号"
show-overflow-tooltip
>
<el-table-column prop="contractNumber" label="合同编号" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
</el-table-column>
<!-- <el-table-column prop="reviewStatusText" label="项目审核状态" width="120">
</el-table-column> -->
<el-table-column prop="planReviewDate" label="计划评估日期">
</el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期">
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> </el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期"> </el-table-column>
</el-table>
</div>
<el-pagination
......@@ -224,6 +165,7 @@
<div class="setTable">
<el-table
:data="tableDataQR"
height="100%"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
......@@ -232,32 +174,35 @@
:span-method="arraySpanMethod"
border
>
<el-table-column
label="项目环节"
prop="projectStagetext"
width="100"
>
</el-table-column>
<el-table-column label="序号" width="40" type="index">
<el-table-column label="项目环节" prop="pprojectStage" min-width="100">
<template v-slot="scope">
{{ projectStageOptions[scope.row.pprojectStage] }}
</template>
</el-table-column>
<el-table-column label="序号" width="40" type="index"> </el-table-column>
<el-table-column
label="问题检查项"
prop="quesCheckItem"
width="auto"
min-width="100"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="检查说明"
prop="checkDesc"
width="auto"
min-width="100"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="评估问题" prop="evalQues" width="auto" show-overflow-tooltip>
<el-table-column
label="评估问题"
prop="evalQues"
min-width="100"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="问题响应" width="100">
<el-table-column label="问题响应" min-width="100">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
......@@ -279,7 +224,12 @@
</el-switch>
</template>
</el-table-column>
<el-table-column label="解释批注" prop="feedback" width="auto" show-overflow-tooltip>
<el-table-column
label="解释批注"
prop="feedback"
min-width="100"
show-overflow-tooltip
>
<!-- <template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
......@@ -287,7 +237,7 @@
<el-input v-model="scope.row.feedback" disabled></el-input>
</template> -->
</el-table-column>
<el-table-column label="整改材料下载" width="120">
<el-table-column label="整改材料下载" min-width="120">
<template slot-scope="scope">
<router-link
:to="{
......@@ -300,7 +250,7 @@
</template>
</el-table-column>
<el-table-column label="附加解释材料" prop="fileId" width="300">
<el-table-column label="附加解释材料" prop="fileId" min-width="200">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
......@@ -368,27 +318,14 @@
</div>
</template>
</el-table-column> -->
<el-table-column
label="复核情况说明"
prop="zgqkFileId"
width="200"
>
<el-table-column label="复核情况说明" prop="zgqkFileId" min-width="200">
<template slot-scope="scope">
<el-input v-model="scope.row.zgqkFileId" type="textarea"
:rows="2"></el-input>
<el-input v-model="scope.row.zgqkFileId" type="textarea" :rows="2"></el-input>
</template>
</el-table-column>
<el-table-column
label="整改复核"
prop="rectificationStatus"
width="200"
>
<el-table-column label="整改复核" prop="rectificationStatus" min-width="200">
<template slot-scope="scope" v-if="scope.row.evalQues">
<el-select
v-model="scope.row.rectificationStatus"
placeholder="请选择"
>
<el-select v-model="scope.row.rectificationStatus" placeholder="请选择">
<!-- <el-option label="请选择" value=""></el-option> -->
<el-option label="问题未整改" :value="0"></el-option>
<el-option label="整改不合格" :value="1"></el-option>
......@@ -417,7 +354,11 @@
<p>问题描述</p> -->
<el-form ref="form" :model="form" label-width="80px" class="addfrom">
<el-form-item label="项目环节">
<el-select v-model="form.projectStage" placeholder="请选择项目环节" @change="selectProjectStage">
<el-select
v-model="form.projectStage"
placeholder="请选择项目环节"
@change="selectProjectStage"
>
<el-option label="可研" value="1"></el-option>
<!-- <el-option label="计划" value="2"></el-option> -->
<el-option label="采购" value="3"></el-option>
......@@ -427,12 +368,17 @@
</el-select>
</el-form-item>
<el-form-item label="问题检查项">
<el-select v-model="form.quesCheckItem" placeholder="请选择问题检查项" @change="selectCheckItem" >
<el-select
v-model="form.quesCheckItem"
placeholder="请选择问题检查项"
@change="selectCheckItem"
>
<el-option
v-for="item in quesoptions"
:key="item.checkDesc"
:label="item.quesCheckItem"
:value="item.quesCheckItem">
:value="item.quesCheckItem"
>
</el-option>
</el-select>
</el-form-item>
......@@ -440,7 +386,7 @@
<el-form-item label="检查说明">
<el-input v-model="form.checkDesc" type="textarea" row="4" disabled></el-input>
</el-form-item>
<el-form-item label="问题描述" >
<el-form-item label="问题描述">
<el-input v-model="form.evalQues" type="textarea" row="4"></el-input>
</el-form-item>
</el-form>
......@@ -452,7 +398,7 @@
</div>
</template>
<script>
<script>
import {
postEvalQuesInfo,
chpostEvalQuesInfo,
......@@ -462,46 +408,44 @@ import {
tjrectificationVerification,
MaterialWarehous,
downloadObjectStr,
selWtqdFZ,
selWtqdFZ2,
xzwtpostEvalQuesInfo,
postEvalQuesInfoTh
} from "@/api/index";
import { generateYearOptions, constructionFormText } from "@/utils/cache";
postEvalQuesInfoTh,
} from '@/api/index'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
export default {
data() {
return {
quesoptions:[],
quesoptions: [],
form: {
projectStage:'',
evalQues:''
projectStage: '',
evalQues: '',
},
innerVisible: false,
dialogFullScreen: false,
yearsList: generateYearOptions(),
showButton: true,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
projectName: "",
projectId: "",
batchYear: '',
batchName: '',
postEvalState: '',
projectName: '',
projectId: '',
dates: [],
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
},
rules: {
batchYear: [
{ required: true, message: "请选择批次年度", trigger: "change" },
],
batchYear: [{ required: true, message: '请选择批次年度', trigger: 'change' }],
batchName: [
{
required: true,
message: "请选择后评估批次名称",
trigger: "change",
message: '请选择后评估批次名称',
trigger: 'change',
},
],
},
......@@ -520,25 +464,26 @@ export default {
tableDataQR: [],
confirmdisabled: false,
inspectdisabled: false,
};
projectStageOptions: [null, '可研', '采购', '合同', '执行', '结决算及转资'],
}
},
mounted() {
console.log(this.$route.query, "this.$route.query");
this.ruleForm.batchName = this.$route.query.batchName;
this.submitForm();
console.log(this.$route.query, 'this.$route.query')
this.ruleForm.batchName = this.$route.query.batchName
this.submitForm()
},
filters: {
proType(val) {
if (val == 1) {
return "咨询设计类";
return '咨询设计类'
} else if (val == 2) {
return "开发实施类";
return '开发实施类'
} else if (val == 3) {
return "业务运营类";
return '业务运营类'
} else if (val == 4) {
return "数据工程类";
return '数据工程类'
} else if (val == 5) {
return "产品购置类";
return '产品购置类'
}
},
},
......@@ -549,117 +494,93 @@ export default {
fullNameStr: row.values,
fullUrlStr: row.fullUrl,
materialName: row.names,
};
let response = await downloadObjectStr(params);
let blob = new Blob([response], { type: "application/zip" });
let url = window.URL.createObjectURL(blob);
const link = document.createElement("a"); // 创建a标签
link.href = url;
link.download = row.names + "压缩文件"; // 重命名文件
link.click();
URL.revokeObjectURL(url); // 释放内存
}
let response = await downloadObjectStr(params)
let blob = new Blob([response], { type: 'application/zip' })
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
link.download = row.names + '压缩文件' // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
},
//整改复核
async rectificationReview() {
this.mergingPos = 0;
this.mergingRows = [];
this.mergingPos = 0
this.mergingRows = []
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行整改");
return;
this.$message('请选择一条数据进行整改')
return
}
this.dialogQR = true;
this.dialogQR = true
let params = {
projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId,
};
}
let res = await wtssSelectificationVerification(params);
if (res.code == "200") {
let res = await wtssSelectificationVerification(params)
if (res.code == '200') {
let paramsMat = {
proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode,
};
let resMat = await MaterialWarehous(paramsMat);
this.tableDataQR = res.data.records;
let arrs = [];
}
let resMat = await MaterialWarehous(paramsMat)
this.tableDataQR = res.data.records
let arrs = []
this.tableDataQR.forEach((item) => {
if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2");
this.$set(item, 'confirmStatus', '2')
}
if (item.evalQues) {
arrs.push(item.projectStage);
arrs.push(item.projectStage)
}
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "1.可研");
this.$set(
item,
"filed",
this.filtersTable(1, resMat.data.records)
);
break;
case "2":
this.$set(item, "projectStagetext", "2.计划");
this.$set(
item,
"filed",
this.filtersTable(2, resMat.data.records)
);
break;
case "3":
this.$set(item, "projectStagetext", "3.采购");
this.$set(
item,
"filed",
this.filtersTable(3, resMat.data.records)
);
break;
case "4":
this.$set(item, "projectStagetext", "4.合同");
this.$set(
item,
"filed",
this.filtersTable(4, resMat.data.records)
);
break;
case "5":
this.$set(item, "projectStagetext", "5.执行");
this.$set(
item,
"filed",
this.filtersTable(5, resMat.data.records)
);
break;
case "6":
this.$set(item, "projectStagetext", "6.结决算及转资");
this.$set(
item,
"filed",
this.filtersTable(6, resMat.data.records)
);
break;
}
let arr = [];
let arrID = [];
case '1':
this.$set(item, 'projectStagetext', '1.可研')
this.$set(item, 'filed', this.filtersTable(1, resMat.data.records))
break
case '2':
this.$set(item, 'projectStagetext', '2.计划')
this.$set(item, 'filed', this.filtersTable(2, resMat.data.records))
break
case '3':
this.$set(item, 'projectStagetext', '3.采购')
this.$set(item, 'filed', this.filtersTable(3, resMat.data.records))
break
case '4':
this.$set(item, 'projectStagetext', '4.合同')
this.$set(item, 'filed', this.filtersTable(4, resMat.data.records))
break
case '5':
this.$set(item, 'projectStagetext', '5.执行')
this.$set(item, 'filed', this.filtersTable(5, resMat.data.records))
break
case '6':
this.$set(item, 'projectStagetext', '6.结决算及转资')
this.$set(item, 'filed', this.filtersTable(6, resMat.data.records))
break
}
let arr = []
let arrID = []
if (item.zgName) {
arr = item.zgName.split(",");
arrID = item.zgFileId.split(",");
this.$set(item, "tags", arr);
this.$set(item, "tagId", arrID);
arr = item.zgName.split(',')
arrID = item.zgFileId.split(',')
this.$set(item, 'tags', arr)
this.$set(item, 'tagId', arrID)
}
});
})
this.tableDataQR.forEach((val) => {
this.$set(val, "prob", Array.from(new Set(arrs)));
});
this.dataPretreatment();
this.$set(val, 'prob', Array.from(new Set(arrs)))
})
this.dataPretreatment()
}
},
filtersTable() {
let newArr = arguments[1].filter((items) => {
return items.projectStage == arguments[0];
});
let msg = [];
return items.projectStage == arguments[0]
})
let msg = []
newArr.forEach((item) => {
if (item.fullName) {
msg.push({
......@@ -668,107 +589,98 @@ export default {
mid: item.mid,
fullId: item.fullId,
fullUrl: item.fullUrl,
});
})
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
}
});
return msg;
})
return msg
},
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
this.mergingRows.push(1)
this.mergingPos = 0
} else {
if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
if (this.tableDataQR[i].projectStage === this.tableDataQR[i - 1].projectStage) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
this.mergingRows[this.mergingPos] += 1
this.mergingRows.push(0)
} else {
this.mergingRows.push(1);
this.mergingPos = i;
this.mergingRows.push(1)
this.mergingPos = i
}
}
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
console.log('关闭')
this.handleSelectionChange()
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
const _row = this.mergingRows[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col,
};
}
}
},
timeChange(time) {
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
} else {
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
}
},
async saveSS() {
let res = await bcrectificationVerification(this.tableDataQR);
if (res.code == "200") {
let res = await bcrectificationVerification(this.tableDataQR)
if (res.code == '200') {
// this.dialogQR = false;
this.$message("保存成功");
this.resetForm();
this.$message('保存成功')
this.resetForm()
}
},
async savetj() {
this.tableDataQR.forEach((item) => {
console.log(item.rectificationStatus, "item.rectificationStatus");
console.log(item.rectificationStatus, 'item.rectificationStatus')
if (!item.rectificationStatus && item.rectificationStatus !== 0) {
this.$message({
message: "请完成所有整改复核后在进行提交",
type: "warning",
});
throw new Error();
}
});
const isallwc = this.tableDataQR.every(
(element) => element.rectificationStatus == 2
);
message: '请完成所有整改复核后在进行提交',
type: 'warning',
})
throw new Error()
}
})
const isallwc = this.tableDataQR.every((element) => element.rectificationStatus == 2)
if (isallwc) {
this.$confirm(
"若所有整改复核状态均为整改完成即为完成归档, 是否继续?",
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
).then(async () => {
let res = await tjrectificationVerification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.$message("提交成功");
this.resetForm();
this.$confirm('若所有整改复核状态均为整改完成即为完成归档, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(async () => {
let res = await tjrectificationVerification(this.tableDataQR)
if (res.code == '200') {
this.dialogQR = false
this.$message('提交成功')
this.resetForm()
} else {
this.$message("提交失败");
this.$message('提交失败')
}
});
})
} else {
let res = await tjrectificationVerification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.$message("提交成功");
this.resetForm();
let res = await tjrectificationVerification(this.tableDataQR)
if (res.code == '200') {
this.dialogQR = false
this.$message('提交成功')
this.resetForm()
} else {
this.$message("提交失败");
this.$message('提交失败')
}
}
},
......@@ -777,26 +689,26 @@ export default {
current: this.currentPage,
pageSize: this.pageSize,
module: 0,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await postEvalQuesInfo(params);
}
Object.assign(params, this.ruleForm)
console.log(params)
let res = await postEvalQuesInfo(params)
if (res.code == "200") {
this.tableData = res.data.records;
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) {
if (item.postEvalState == '' || item.postEvalState == null) {
// this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "已退回");
} else if (item.postEvalState == '0') {
this.$set(item, 'postEvalStateText', '已退回')
} else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估");
this.$set(item, 'postEvalStateText', '待评估')
} else if (item.postEvalState == 2) {
this.$set(item, "postEvalStateText", "需整改");
this.$set(item, 'postEvalStateText', '需整改')
} else if (item.postEvalState == 3) {
this.$set(item, "postEvalStateText", "已整改");
this.$set(item, 'postEvalStateText', '已整改')
} else if (item.postEvalState == 4) {
this.$set(item, "postEvalStateText", "已归档");
this.$set(item, 'postEvalStateText', '已归档')
}
// else if (item.postEvalState == 5) {
// this.$set(item, "postEvalStateText", "已整改");
......@@ -804,259 +716,250 @@ export default {
// this.$set(item, "postEvalStateText", "已归档");
// }
this.$set(
item,
"constructionForm",
constructionFormText(item.constructionForm)
);
});
this.total = res.data.total * 1;
this.$set(item, 'constructionForm', constructionFormText(item.constructionForm))
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.dates = [];
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
},
//合规性检查评估
inspectNexts() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
contractNumber: this.checkedList[0].contractNumber,
proType: this.checkedList[0].projectType,
};
}
this.$router.push({
path: "/mainLayout/Compliance",
path: '/mainLayout/Compliance',
query: {
clqparams: JSON.stringify(params),
projectName: this.checkedList[0].projectName,
},
});
})
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
let params = {
projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId,
};
}
this.$router.push({
path: "/mainLayout/Compliancefz",
path: '/mainLayout/Compliancefz',
query: {
clqparams: JSON.stringify(params),
ishow: false,
},
});
})
},
//提交问题清单
async submitNexts() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
// if(this.checkedList[0].postEvalState=='待评估'){
// this.$message("该项目还未评估");
// return;
// }
if (this.checkedList[0].postEvalState == "已提交") {
this.$message("该项目已提交");
return;
if (this.checkedList[0].postEvalState == '已提交') {
this.$message('该项目已提交')
return
}
// this.dialog = true;
let params = {
projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId,
};
}
this.$router.push({
path: "/mainLayout/Compliancefz",
path: '/mainLayout/Compliancefz',
query: {
clqparams: JSON.stringify(params),
},
});
})
},
//撤销
async withdraw() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalState != "已提交") {
this.$message("该项目还未提交");
return;
if (this.checkedList[0].postEvalState != '已提交') {
this.$message('该项目还未提交')
return
}
let params = {
current: this.currentPage,
pageSize: this.pageSize,
projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId,
};
let res = await chpostEvalQuesInfo(params);
}
let res = await chpostEvalQuesInfo(params)
if (res.code == 200) {
this.resetForm();
this.resetForm()
}
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
return ''
},
async handleClickXZ(fileId, fileName) {
let response = await downloadObject({
fileId: fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = 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);
})
let blob = new Blob([response])
if ('download' in document.createElement('a')) {
let elink = document.createElement('a')
elink.download = 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)
}
},
//主列表选中行信息
handleSelectionChange(selection) {
this.inspectdisabled = false;
this.confirmdisabled = false;
this.inspectdisabled = false
this.confirmdisabled = false
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
}
this.checkedList = this.$refs.multipleTable.selection;
this.checkedList = this.$refs.multipleTable.selection
if (this.checkedList[0]) {
this.ruleFormdialog = this.checkedList[0];
if (this.checkedList[0].postEvalStateText != "已整改") {
this.confirmdisabled = true;
this.ruleFormdialog = this.checkedList[0]
if (this.checkedList[0].postEvalStateText != '已整改') {
this.confirmdisabled = true
}
if (this.checkedList[0].postEvalStateText != "待评估") {
this.inspectdisabled = true;
if (this.checkedList[0].postEvalStateText != '待评估') {
this.inspectdisabled = true
}
}
this.ruleFormdialog = this.checkedList[0];
this.ruleFormdialog = this.checkedList[0]
},
handleSizeChange(val) {
this.pageSize = val;
this.submitForm();
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
this.currentPage = val;
this.submitForm();
this.currentPage = val
this.submitForm()
},
cancel() {
this.dialog = false;
this.dialog = false
// this.dialogXQ = false;
},
cancelSS() {
this.dialogQR = false;
this.dialogQR = false
},
closeDialog() {
this.showButton = true;
this.showButton = true
},
async selectProjectStage(val){
this.form={
evalQues:''
async selectProjectStage(val) {
this.form = {
evalQues: '',
}
this.form.projectStage=val
console.log(val,'333344444')
this.form.projectStage = val
console.log(val, '333344444')
let params = {
projectStage: val,
hgx:"hgx",
batchId:this.checkedList[0].batchId,
contractNumber:this.checkedList[0].contractNumber,
hgx: 'hgx',
batchId: this.checkedList[0].batchId,
contractNumber: this.checkedList[0].contractNumber,
projectId: this.checkedList[0].projectCode,
proType: this.checkedList[0].projectType,
};
let res=await selWtqdFZ(params)
this.quesoptions=res.data.records
}
let res = await selWtqdFZ2(params)
this.quesoptions = res.data.records
},
selectCheckItem(val){
this.form.evalQues=''
this.quesoptions.forEach(ele=>{
if(ele.quesCheckItem==val){
this.form.checkDesc=ele.checkDesc
selectCheckItem(val) {
this.form.evalQues = ''
this.quesoptions.forEach((ele) => {
if (ele.quesCheckItem == val) {
this.form.checkDesc = ele.checkDesc
}
})
},
async submitpro(){
let isxt= this.tableDataQR.some(item=>{
return item.quesCheckItem== this.form.quesCheckItem;
async submitpro() {
let isxt = this.tableDataQR.some((item) => {
return item.quesCheckItem == this.form.quesCheckItem
})
if(isxt){
if (isxt) {
this.$message('已存在该问题检查项,请选择其他问题')
return
}
let params={
if (!this.form.evalQues) {
return this.$message.warning('请填写问题描述')
}
let params = {
...this.form,
isProblem: "1",
batchId:this.checkedList[0].batchId,
isProblem: '1',
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
}
let res=await xzwtpostEvalQuesInfo(params)
if(res.code==200){
this.innerVisible=false
let res = await xzwtpostEvalQuesInfo(params)
if (res.code == 200) {
this.innerVisible = false
this.rectificationReview()
}
},
cancelpro(){
this.innerVisible=false
cancelpro() {
this.innerVisible = false
},
addpro(){
this.form={
evalQues:''
addpro() {
this.form = {
evalQues: '',
}
this.innerVisible = true
},
async inspectBack(){
async inspectBack() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
this.$confirm(
"是否材料不全,将退回重新上传?",
"提示",
{
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
}
).then(async () => {
let params={
...this.checkedList[0]
}
let res= await postEvalQuesInfoTh(params)
if (res.code == "200") {
this.$message("已成功退回");
this.resetForm();
} else {
this.$message("退回失败");
this.$confirm('是否材料不全,将退回重新上传?', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
type: 'warning',
}).then(async () => {
let params = {
...this.checkedList[0],
}
});
let res = await postEvalQuesInfoTh(params)
if (res.code == '200') {
this.$message('已成功退回')
this.resetForm()
} else {
this.$message('退回失败')
}
})
},
},
};
}
</script>
<style scoped lang="scss">
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
......@@ -1230,7 +1133,7 @@ export default {
.dialog {
.eltable {
height: 650px;
overflow-y:hidden;
overflow-y: hidden;
}
}
/deep/.el-switch__core {
......@@ -1385,20 +1288,19 @@ h3 {
.addfrom {
display: inline-block;
height: 300px;
/deep/.el-input__inner{
/deep/.el-input__inner {
width: 450px !important;
}
/deep/.el-textarea__inner{
/deep/.el-textarea__inner {
width: 450px !important;
}
/deep/ .el-select-dropdown {
margin-top: -55px !important; /* 调整与触发按钮的距离 */
margin-left: 20px; /* 也可以调整左边距,根据需要 */
}
}
}
.addBtn{
.addBtn {
text-align: center;
margin-bottom: 0;
}
}
</style>
<template>
<div class="main">
<el-form
:model="ruleForm"
ref="formName"
label-width="100px"
class="demo-ruleForm"
>
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -18,32 +12,16 @@
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input
v-model="ruleForm.projectId"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectId" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select
v-model="ruleForm.projectYear"
placeholder="请选择"
clearable
>
<el-select v-model="ruleForm.projectYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -53,16 +31,8 @@
</el-select>
</el-form-item>
<el-form-item
label="项目审核状态:"
prop="postEvalState"
class="fromItem"
>
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<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-option label="需整改" value="2"></el-option>
......@@ -71,11 +41,7 @@
</el-select>
</el-form-item>
<el-form-item
label="实际评估日期:"
prop="lastUpdateTime"
class="fromItem"
>
<el-form-item label="实际评估日期:" prop="lastUpdateTime" class="fromItem">
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
......@@ -115,52 +81,32 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<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" width="120">
<template slot-scope="scope">
{{ scope.row.batchYear }}
</template></el-table-column
<template slot-scope="scope"> {{ scope.row.batchYear }}</template></el-table-column
>
<el-table-column prop="batchName" label="后评估批次名称">
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="140"> </el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
show-overflow-tooltip
>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope" >
<template slot-scope="scope">
<span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
</template>
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120"> </el-table-column>
<el-table-column prop="postEvalStateText" label="项目审核状态" width="120">
</el-table-column>
<el-table-column
prop="contractNumber"
label="合同编号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="contractNumber" label="合同编号" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期">
</el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期">
<el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> </el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期"> </el-table-column>
</el-table>
</div>
<el-pagination
......@@ -182,9 +128,7 @@
:append-to-body="false"
>
<div class="dialog">
<h3>
项目名称{{ listData.projectName }}
</h3>
<h3>项目名称{{ listData.projectName }}</h3>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="基本信息" name="first">
......@@ -198,14 +142,8 @@
<span>{{ listData.projectName }}</span>
</p>
<p><label>建设形式:</label>{{ listData.constructionForm }}</p>
<p>
<label>总投资计划(万元)-成本金:</label
>{{ listData.costAmountTotal }}
</p>
<p>
<label>总投资计划(万元)-资本金:</label
>{{ listData.capitalAmountTotal }}
</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>
......@@ -245,13 +183,10 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="材料类别" prop="batchtype">
</el-table-column>
<el-table-column prop="typeText" label="资料类型">
</el-table-column>
<el-table-column label="材料类别" prop="batchtype"> </el-table-column>
<el-table-column prop="typeText" label="资料类型"> </el-table-column>
<el-table-column prop="fileName" label="资料名称">
<template slot-scope="scope" v-if="scope.row.fileName">
{{ scope.row.fileName }}&nbsp;&nbsp;<el-button
......@@ -287,25 +222,14 @@
:span-method="arraySpanMethod"
border
>
<el-table-column
label="项目环节"
prop="projectStagetext"
width="150"
>
</el-table-column>
<el-table-column label="序号" width="100" type="index">
<el-table-column label="项目环节" prop="projectStagetext" width="150">
</el-table-column>
<el-table-column label="序号" width="100" type="index"> </el-table-column>
<el-table-column label="问题检查项" prop="quesCheckItem">
</el-table-column>
<el-table-column
label="检查说明"
prop="checkDesc"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="评估问题" prop="evalQues">
<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"> </el-table-column>
<el-table-column label="问题截图" width="auto">
<template slot-scope="scope">
<el-image
......@@ -330,13 +254,10 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="流程节点" prop="processNodes" width="150">
</el-table-column>
<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-column label="处理人" prop="processedBy"> </el-table-column>
<el-table-column label="处理时间" prop="processingTime"> </el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
......@@ -346,8 +267,8 @@
</div>
</template>
<script>
import { MaterialsList } from "@/utils/cache";
<script>
import { MaterialsList } from '@/utils/cache'
import {
fzcxselect,
fzcxXqselect,
......@@ -356,9 +277,9 @@ import {
selLcb,
presignedUrl,
downloadObject,
downloadObjectAll
} from "@/api/indexzc";
import { generateYearOptions, constructionFormText } from "@/utils/cache";
downloadObjectAll,
} from '@/api/indexzc'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
export default {
data() {
return {
......@@ -369,17 +290,17 @@ export default {
xxtableData: [],
showButton: true,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
projectName: "",
projectId: "",
batchYear: '',
batchName: '',
postEvalState: '',
projectName: '',
projectId: '',
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
},
tableData: [],
......@@ -391,271 +312,257 @@ export default {
pageSizetjcl: 10,
total: 0,
dialog: false,
activeName: "first",
activeName: 'first',
mergingRows: [],
lctableData: [],
};
}
},
mounted() {
this.ruleForm.batchName = this.$route.query.batchName;
this.ruleForm.projectCode = this.$route.query.projCode;
this.submitForm();
this.ruleForm.batchName = this.$route.query.batchName
this.ruleForm.projectCode = this.$route.query.projCode
this.submitForm()
},
methods: {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
}else{
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
} else {
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
}
},
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
module:1,
};
Object.assign(params, this.ruleForm);
let res = await fzcxselect(params);
module: 1,
}
Object.assign(params, this.ruleForm)
let res = await fzcxselect(params)
if (res.code == "200") {
this.tableData = res.data.records;
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) {
if (item.postEvalState == '' || item.postEvalState == null) {
// this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") {
} else if (item.postEvalState == '0') {
// this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估");
this.$set(item, 'postEvalStateText', '待评估')
} else if (item.postEvalState == 2) {
this.$set(item, "postEvalStateText", "需整改");
}else if (item.postEvalState == 3) {
this.$set(item, "postEvalStateText", "已整改");
}else if (item.postEvalState == 4) {
this.$set(item, "postEvalStateText", "已归档");
}
this.$set(
item,
"constructionForm",
constructionFormText(item.constructionForm)
);
});
this.total = res.data.total * 1;
this.$set(item, 'postEvalStateText', '需整改')
} else if (item.postEvalState == 3) {
this.$set(item, 'postEvalStateText', '已整改')
} else if (item.postEvalState == 4) {
this.$set(item, 'postEvalStateText', '已归档')
}
this.$set(item, 'constructionForm', constructionFormText(item.constructionForm))
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.dates=[]
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
},
//详情
detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
this.dialog = true;
this.dialog = true
let params = {
batchId: this.checkedList[0].batchId,
batchId: this.checkedList[0].contractNumber,
projectId: this.checkedList[0].projectCode,
};
}
Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
this.listData = res[0].data.records[0];
this.listData.constructionForm = constructionFormText(
this.listData.constructionForm
);
this.qdtableData = JSON.parse(JSON.stringify(this.tableDataNew));
this.listData = res[0].data.records[0]
this.listData.constructionForm = constructionFormText(this.listData.constructionForm)
this.qdtableData = JSON.parse(JSON.stringify(this.tableDataNew))
if (res[1].data.records.length > 0) {
this.qdtableData = this.qdtableData
.concat(res[1].data.records)
.reduce((accumulator, currentObj) => {
const existingObj = accumulator.find(
(obj) => obj.typeCode == currentObj.typeCode
);
const existingObj = accumulator.find((obj) => obj.typeCode == currentObj.typeCode)
if (existingObj) {
Object.assign(existingObj, currentObj);
Object.assign(existingObj, currentObj)
} else {
accumulator.push(currentObj);
accumulator.push(currentObj)
}
return accumulator;
}, []);
return accumulator
}, [])
}
});
})
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
return ''
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
const _row = this.mergingRows[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col,
};
}
}
},
dataPretreatment() {
this.mergingRows = [];
this.mergingPos = 0;
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;
this.mergingRows.push(1)
this.mergingPos = 0
} else {
if (
this.xxtableData[i].projectStage ===
this.xxtableData[i - 1].projectStage
) {
if (this.xxtableData[i].projectStage === this.xxtableData[i - 1].projectStage) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
this.mergingRows[this.mergingPos] += 1
this.mergingRows.push(0)
} else {
this.mergingRows.push(1);
this.mergingPos = i;
this.mergingRows.push(1)
this.mergingPos = i
}
}
}
},
async handleClick() {
if (this.activeName == "second") {
if (this.activeName == 'second') {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
};
this.xxtableData = [];
let res = await wtqdqselect(params);
if (res.code == "200") {
this.xxtableData = res.data.records;
this.total = res.data.total * 1;
}
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;
this.$set(item, 'projectStagetext', '1.可研')
break
case 2:
this.$set(item, "projectStagetext", "2.计划");
break;
this.$set(item, 'projectStagetext', '2.计划')
break
case 3:
this.$set(item, "projectStagetext", "3.采购");
break;
this.$set(item, 'projectStagetext', '3.采购')
break
case 4:
this.$set(item, "projectStagetext", "4.合同");
break;
this.$set(item, 'projectStagetext', '4.合同')
break
case 5:
this.$set(item, "projectStagetext", "5.执行");
break;
this.$set(item, 'projectStagetext', '5.执行')
break
case 6:
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
this.$set(item, 'projectStagetext', '6.结决算及转资')
break
}
let urlStr = item.url;
let arrUrl = [];
let showUrlList = [];
let urlStr = item.url
let arrUrl = []
let showUrlList = []
// 有url拆分调接口换预览
if (urlStr) {
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
if (urlStr.includes(',')) {
arrUrl = item.url.split(',')
} else {
arrUrl.push(urlStr);
arrUrl.push(urlStr)
}
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
};
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
}
let resUrl = await presignedUrl(paramsUrl)
showUrlList.push(resUrl.msg)
})
this.$set(item, "images", showUrlList);
this.$set(item, 'images', showUrlList)
}
});
this.dataPretreatment();
} else if (this.activeName == "third") {
})
this.dataPretreatment()
} else if (this.activeName == 'third') {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
};
let res = await selLcb(params);
if (res.code == "200") {
this.lctableData = res.data;
}
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.$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");
this.checkedList = this.$refs.multipleTable.selection
this.ruleFormdialog = this.checkedList[0]
console.log(this.checkedList, '2222')
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
},
cancel() {
this.dialog = false;
this.dialog = false
},
handleImageClick() {},
async handleClickXZ(scope) {
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 = 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);
let blob = new Blob([response])
if ('download' in document.createElement('a')) {
let elink = document.createElement('a')
elink.download = 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)
}
},
async downFiles(){
async downFiles() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if(this.checkedList[0].postEvalStateText!='已归档'){
this.$message("该项目还未归档,请重新选择");
return;
if (this.checkedList[0].postEvalStateText != '已归档') {
this.$message('该项目还未归档,请重新选择')
return
}
let response = await downloadObjectAll({
prjId:this.checkedList[0].projectCode,
prjId: this.checkedList[0].projectCode,
bathId: this.checkedList[0].contractNumber,
});
})
let blob = new Blob([response], { type: 'application/zip' })
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
......@@ -663,11 +570,11 @@ export default {
link.download = '归档' // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
}
},
};
},
}
</script>
<style scoped lang="scss">
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
......@@ -787,7 +694,7 @@ export default {
.title {
text-align: left;
font-size: 18px;
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
......
<!-- 辅助检查 -->
<template>
<div class="main">
<el-form
:model="ruleForm"
ref="formName"
label-width="100px"
class="demo-ruleForm"
>
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -18,32 +13,16 @@
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input
v-model="ruleForm.projectId"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectId" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem">
<el-select
v-model="ruleForm.projectYear"
placeholder="请选择"
clearable
>
<el-select v-model="ruleForm.projectYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -53,11 +32,7 @@
</el-select>
</el-form-item>
<el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem">
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<!-- <el-option label="材料未上传" value="0"></el-option> -->
<el-option label="待评估" value="1"></el-option>
<el-option label="需整改" value="2"></el-option>
......@@ -65,11 +40,7 @@
<el-option label="已归档" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item
label="实际评估日期:"
prop="lastUpdateTime"
class="fromItem"
>
<el-form-item label="实际评估日期:" prop="lastUpdateTime" class="fromItem">
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
......@@ -103,8 +74,7 @@
:disabled="confirmdisabled"
:class="confirmdisabled ? 'noclick' : ''"
>
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;整改复核</el-button
<i class="el-icon-chat-dot-square"></i>&nbsp;&nbsp;&nbsp;整改复核</el-button
>
<el-button
@click="inspectBack()"
......@@ -126,68 +96,39 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<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" width="120">
<template slot-scope="scope">
{{ scope.row.batchYear }}
</template></el-table-column
<template slot-scope="scope"> {{ scope.row.batchYear }}</template></el-table-column
>
<el-table-column prop="batchName" label="后评估批次名称">
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
<el-table-column prop="expertName" label="评审专家" width="90"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="130">
</el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
show-overflow-tooltip
>
<el-table-column prop="projectCode" label="项目编码" width="130"> </el-table-column>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="120">
<template slot-scope="scope">
<span v-show="scope.row.issueYear">
{{ scope.row.issueYear }}</span
>
<span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
</template>
</el-table-column>
<el-table-column prop="projectType" label="项目类型" width="120">
<template slot-scope="scope">
<span v-show="scope.row.projectType">
{{ scope.row.projectType | proType }}</span
>
<span v-show="scope.row.projectType"> {{ scope.row.projectType | proType }}</span>
</template>
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120">
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120"> </el-table-column>
<el-table-column
prop="postEvalStateText"
label="项目审核状态 "
width="120"
>
<el-table-column prop="postEvalStateText" label="项目审核状态 " width="120">
</el-table-column>
<el-table-column
prop="contractNumber"
label="合同编号"
show-overflow-tooltip
>
<el-table-column prop="contractNumber" label="合同编号" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
</el-table-column>
<!-- <el-table-column prop="reviewStatusText" label="项目审核状态" width="120">
</el-table-column> -->
<el-table-column prop="planReviewDate" label="计划评估日期">
</el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期">
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> </el-table-column>
<el-table-column prop="lastUpdateTime" label="实际评估日期"> </el-table-column>
</el-table>
</div>
<el-pagination
......@@ -224,6 +165,7 @@
<div class="setTable">
<el-table
:data="tableDataQR"
height="100%"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
......@@ -232,32 +174,35 @@
:span-method="arraySpanMethod"
border
>
<el-table-column
label="项目环节"
prop="projectStagetext"
width="100"
>
</el-table-column>
<el-table-column label="序号" width="40" type="index">
<el-table-column label="项目环节" prop="pprojectStage" min-width="100">
<template v-slot="scope">
{{ projectStageOptions[scope.row.pprojectStage] }}
</template>
</el-table-column>
<el-table-column label="序号" width="40" type="index"> </el-table-column>
<el-table-column
label="问题检查项"
prop="quesCheckItem"
width="auto"
min-width="100"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="检查说明"
prop="checkDesc"
width="auto"
min-width="100"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="评估问题" prop="evalQues" width="auto" show-overflow-tooltip>
<el-table-column
label="评估问题"
prop="evalQues"
min-width="100"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="问题响应" width="100">
<el-table-column label="问题响应" min-width="100">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
......@@ -279,7 +224,12 @@
</el-switch>
</template>
</el-table-column>
<el-table-column label="解释批注" prop="feedback" width="auto" show-overflow-tooltip>
<el-table-column
label="解释批注"
prop="feedback"
min-width="100"
show-overflow-tooltip
>
<!-- <template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
......@@ -287,7 +237,7 @@
<el-input v-model="scope.row.feedback" disabled></el-input>
</template> -->
</el-table-column>
<el-table-column label="整改材料下载" width="120">
<el-table-column label="整改材料下载" min-width="120">
<template slot-scope="scope">
<router-link
:to="{
......@@ -300,7 +250,7 @@
</template>
</el-table-column>
<el-table-column label="附加解释材料" prop="fileId" width="300">
<el-table-column label="附加解释材料" prop="fileId" min-width="200">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
......@@ -368,27 +318,14 @@
</div>
</template>
</el-table-column> -->
<el-table-column
label="复核情况说明"
prop="zgqkFileId"
width="200"
>
<el-table-column label="复核情况说明" prop="zgqkFileId" min-width="200">
<template slot-scope="scope">
<el-input v-model="scope.row.zgqkFileId" type="textarea"
:rows="2"></el-input>
<el-input v-model="scope.row.zgqkFileId" type="textarea" :rows="2"></el-input>
</template>
</el-table-column>
<el-table-column
label="整改复核"
prop="rectificationStatus"
width="200"
>
<el-table-column label="整改复核" prop="rectificationStatus" min-width="200">
<template slot-scope="scope" v-if="scope.row.evalQues">
<el-select
v-model="scope.row.rectificationStatus"
placeholder="请选择"
>
<el-select v-model="scope.row.rectificationStatus" placeholder="请选择">
<!-- <el-option label="请选择" value=""></el-option> -->
<el-option label="问题未整改" :value="0"></el-option>
<el-option label="整改不合格" :value="1"></el-option>
......@@ -417,7 +354,11 @@
<p>问题描述</p> -->
<el-form ref="form" :model="form" label-width="80px" class="addfrom">
<el-form-item label="项目环节">
<el-select v-model="form.projectStage" placeholder="请选择项目环节" @change="selectProjectStage">
<el-select
v-model="form.projectStage"
placeholder="请选择项目环节"
@change="selectProjectStage"
>
<el-option label="可研" value="1"></el-option>
<!-- <el-option label="计划" value="2"></el-option> -->
<el-option label="采购" value="3"></el-option>
......@@ -427,12 +368,17 @@
</el-select>
</el-form-item>
<el-form-item label="问题检查项">
<el-select v-model="form.quesCheckItem" placeholder="请选择问题检查项" @change="selectCheckItem" >
<el-select
v-model="form.quesCheckItem"
placeholder="请选择问题检查项"
@change="selectCheckItem"
>
<el-option
v-for="item in quesoptions"
:key="item.checkDesc"
:label="item.quesCheckItem"
:value="item.quesCheckItem">
:value="item.quesCheckItem"
>
</el-option>
</el-select>
</el-form-item>
......@@ -440,7 +386,7 @@
<el-form-item label="检查说明">
<el-input v-model="form.checkDesc" type="textarea" row="4" disabled></el-input>
</el-form-item>
<el-form-item label="问题描述" >
<el-form-item label="问题描述">
<el-input v-model="form.evalQues" type="textarea" row="4"></el-input>
</el-form-item>
</el-form>
......@@ -452,7 +398,7 @@
</div>
</template>
<script>
<script>
import {
postEvalQuesInfo,
chpostEvalQuesInfo,
......@@ -462,46 +408,44 @@ import {
tjrectificationVerification,
MaterialWarehous,
downloadObjectStr,
selWtqdFZ,
selWtqdFZ2,
xzwtpostEvalQuesInfo,
postEvalQuesInfoTh
} from "@/api/indexzc";
import { generateYearOptions, constructionFormText } from "@/utils/cache";
postEvalQuesInfoTh,
} from '@/api/indexzc'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
export default {
data() {
return {
quesoptions:[],
quesoptions: [],
form: {
projectStage:'',
evalQues:''
projectStage: '',
evalQues: '',
},
innerVisible: false,
dialogFullScreen: false,
yearsList: generateYearOptions(),
showButton: true,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
projectName: "",
projectId: "",
batchYear: '',
batchName: '',
postEvalState: '',
projectName: '',
projectId: '',
dates: [],
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
},
rules: {
batchYear: [
{ required: true, message: "请选择批次年度", trigger: "change" },
],
batchYear: [{ required: true, message: '请选择批次年度', trigger: 'change' }],
batchName: [
{
required: true,
message: "请选择后评估批次名称",
trigger: "change",
message: '请选择后评估批次名称',
trigger: 'change',
},
],
},
......@@ -520,25 +464,26 @@ export default {
tableDataQR: [],
confirmdisabled: false,
inspectdisabled: false,
};
projectStageOptions: [null, '可研', '采购', '合同', '执行', '结决算及转资'],
}
},
mounted() {
console.log(this.$route.query, "this.$route.query");
this.ruleForm.batchName = this.$route.query.batchName;
this.submitForm();
console.log(this.$route.query, 'this.$route.query')
this.ruleForm.batchName = this.$route.query.batchName
this.submitForm()
},
filters: {
proType(val) {
if (val == 1) {
return "咨询设计类";
return '咨询设计类'
} else if (val == 2) {
return "开发实施类";
return '开发实施类'
} else if (val == 3) {
return "业务运营类";
return '业务运营类'
} else if (val == 4) {
return "数据工程类";
return '数据工程类'
} else if (val == 5) {
return "产品购置类";
return '产品购置类'
}
},
},
......@@ -549,117 +494,93 @@ export default {
fullNameStr: row.values,
fullUrlStr: row.fullUrl,
materialName: row.names,
};
let response = await downloadObjectStr(params);
let blob = new Blob([response], { type: "application/zip" });
let url = window.URL.createObjectURL(blob);
const link = document.createElement("a"); // 创建a标签
link.href = url;
link.download = row.names + "压缩文件"; // 重命名文件
link.click();
URL.revokeObjectURL(url); // 释放内存
}
let response = await downloadObjectStr(params)
let blob = new Blob([response], { type: 'application/zip' })
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
link.download = row.names + '压缩文件' // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
},
//整改复核
async rectificationReview() {
this.mergingPos = 0;
this.mergingRows = [];
this.mergingPos = 0
this.mergingRows = []
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行整改");
return;
this.$message('请选择一条数据进行整改')
return
}
this.dialogQR = true;
this.dialogQR = true
let params = {
projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId,
};
}
let res = await wtssSelectificationVerification(params);
if (res.code == "200") {
let res = await wtssSelectificationVerification(params)
if (res.code == '200') {
let paramsMat = {
proType: this.checkedList[0].projectType,
contractNumber: this.checkedList[0].contractNumber,
prjId: this.checkedList[0].projectCode,
};
let resMat = await MaterialWarehous(paramsMat);
this.tableDataQR = res.data.records;
let arrs = [];
}
let resMat = await MaterialWarehous(paramsMat)
this.tableDataQR = res.data.records
let arrs = []
this.tableDataQR.forEach((item) => {
if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2");
this.$set(item, 'confirmStatus', '2')
}
if (item.evalQues) {
arrs.push(item.projectStage);
arrs.push(item.projectStage)
}
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "1.可研");
this.$set(
item,
"filed",
this.filtersTable(1, resMat.data.records)
);
break;
case "2":
this.$set(item, "projectStagetext", "2.计划");
this.$set(
item,
"filed",
this.filtersTable(2, resMat.data.records)
);
break;
case "3":
this.$set(item, "projectStagetext", "3.采购");
this.$set(
item,
"filed",
this.filtersTable(3, resMat.data.records)
);
break;
case "4":
this.$set(item, "projectStagetext", "4.合同");
this.$set(
item,
"filed",
this.filtersTable(4, resMat.data.records)
);
break;
case "5":
this.$set(item, "projectStagetext", "5.执行");
this.$set(
item,
"filed",
this.filtersTable(5, resMat.data.records)
);
break;
case "6":
this.$set(item, "projectStagetext", "6.结决算及转资");
this.$set(
item,
"filed",
this.filtersTable(6, resMat.data.records)
);
break;
}
let arr = [];
let arrID = [];
case '1':
this.$set(item, 'projectStagetext', '1.可研')
this.$set(item, 'filed', this.filtersTable(1, resMat.data.records))
break
case '2':
this.$set(item, 'projectStagetext', '2.计划')
this.$set(item, 'filed', this.filtersTable(2, resMat.data.records))
break
case '3':
this.$set(item, 'projectStagetext', '3.采购')
this.$set(item, 'filed', this.filtersTable(3, resMat.data.records))
break
case '4':
this.$set(item, 'projectStagetext', '4.合同')
this.$set(item, 'filed', this.filtersTable(4, resMat.data.records))
break
case '5':
this.$set(item, 'projectStagetext', '5.执行')
this.$set(item, 'filed', this.filtersTable(5, resMat.data.records))
break
case '6':
this.$set(item, 'projectStagetext', '6.结决算及转资')
this.$set(item, 'filed', this.filtersTable(6, resMat.data.records))
break
}
let arr = []
let arrID = []
if (item.zgName) {
arr = item.zgName.split(",");
arrID = item.zgFileId.split(",");
this.$set(item, "tags", arr);
this.$set(item, "tagId", arrID);
arr = item.zgName.split(',')
arrID = item.zgFileId.split(',')
this.$set(item, 'tags', arr)
this.$set(item, 'tagId', arrID)
}
});
})
this.tableDataQR.forEach((val) => {
this.$set(val, "prob", Array.from(new Set(arrs)));
});
this.dataPretreatment();
this.$set(val, 'prob', Array.from(new Set(arrs)))
})
this.dataPretreatment()
}
},
filtersTable() {
let newArr = arguments[1].filter((items) => {
return items.projectStage == arguments[0];
});
let msg = [];
return items.projectStage == arguments[0]
})
let msg = []
newArr.forEach((item) => {
if (item.fullName) {
msg.push({
......@@ -668,107 +589,98 @@ export default {
mid: item.mid,
fullId: item.fullId,
fullUrl: item.fullUrl,
});
})
// msg=msg.concat(item.materialName+':'+item.fullName+"<br>");
}
});
return msg;
})
return msg
},
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
this.mergingRows.push(1)
this.mergingPos = 0
} else {
if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
if (this.tableDataQR[i].projectStage === this.tableDataQR[i - 1].projectStage) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
this.mergingRows[this.mergingPos] += 1
this.mergingRows.push(0)
} else {
this.mergingRows.push(1);
this.mergingPos = i;
this.mergingRows.push(1)
this.mergingPos = i
}
}
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
console.log('关闭')
this.handleSelectionChange()
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
const _row = this.mergingRows[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col,
};
}
}
},
timeChange(time) {
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
} else {
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
}
},
async saveSS() {
let res = await bcrectificationVerification(this.tableDataQR);
if (res.code == "200") {
let res = await bcrectificationVerification(this.tableDataQR)
if (res.code == '200') {
// this.dialogQR = false;
this.$message("保存成功");
this.resetForm();
this.$message('保存成功')
this.resetForm()
}
},
async savetj() {
this.tableDataQR.forEach((item) => {
console.log(item.rectificationStatus, "item.rectificationStatus");
console.log(item.rectificationStatus, 'item.rectificationStatus')
if (!item.rectificationStatus && item.rectificationStatus !== 0) {
this.$message({
message: "请完成所有整改复核后在进行提交",
type: "warning",
});
throw new Error();
}
});
const isallwc = this.tableDataQR.every(
(element) => element.rectificationStatus == 2
);
message: '请完成所有整改复核后在进行提交',
type: 'warning',
})
throw new Error()
}
})
const isallwc = this.tableDataQR.every((element) => element.rectificationStatus == 2)
if (isallwc) {
this.$confirm(
"若所有整改复核状态均为整改完成即为完成归档, 是否继续?",
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
).then(async () => {
let res = await tjrectificationVerification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.$message("提交成功");
this.resetForm();
this.$confirm('若所有整改复核状态均为整改完成即为完成归档, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(async () => {
let res = await tjrectificationVerification(this.tableDataQR)
if (res.code == '200') {
this.dialogQR = false
this.$message('提交成功')
this.resetForm()
} else {
this.$message("提交失败");
this.$message('提交失败')
}
});
})
} else {
let res = await tjrectificationVerification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.$message("提交成功");
this.resetForm();
let res = await tjrectificationVerification(this.tableDataQR)
if (res.code == '200') {
this.dialogQR = false
this.$message('提交成功')
this.resetForm()
} else {
this.$message("提交失败");
this.$message('提交失败')
}
}
},
......@@ -777,26 +689,26 @@ export default {
current: this.currentPage,
pageSize: this.pageSize,
module: 1,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await postEvalQuesInfo(params);
}
Object.assign(params, this.ruleForm)
console.log(params)
let res = await postEvalQuesInfo(params)
if (res.code == "200") {
this.tableData = res.data.records;
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) {
if (item.postEvalState == '' || item.postEvalState == null) {
// this.$set(item, "postEvalStateText", "材料未上传");
} else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "已退回");
} else if (item.postEvalState == '0') {
this.$set(item, 'postEvalStateText', '已退回')
} else if (item.postEvalState == 1) {
this.$set(item, "postEvalStateText", "待评估");
this.$set(item, 'postEvalStateText', '待评估')
} else if (item.postEvalState == 2) {
this.$set(item, "postEvalStateText", "需整改");
this.$set(item, 'postEvalStateText', '需整改')
} else if (item.postEvalState == 3) {
this.$set(item, "postEvalStateText", "已整改");
this.$set(item, 'postEvalStateText', '已整改')
} else if (item.postEvalState == 4) {
this.$set(item, "postEvalStateText", "已归档");
this.$set(item, 'postEvalStateText', '已归档')
}
// else if (item.postEvalState == 5) {
// this.$set(item, "postEvalStateText", "已整改");
......@@ -804,259 +716,250 @@ export default {
// this.$set(item, "postEvalStateText", "已归档");
// }
this.$set(
item,
"constructionForm",
constructionFormText(item.constructionForm)
);
});
this.total = res.data.total * 1;
this.$set(item, 'constructionForm', constructionFormText(item.constructionForm))
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.dates = [];
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
},
//合规性检查评估
inspectNexts() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
contractNumber: this.checkedList[0].contractNumber,
proType: this.checkedList[0].projectType,
};
}
this.$router.push({
path: "/assesszc/Compliance",
path: '/assesszc/Compliance',
query: {
clqparams: JSON.stringify(params),
projectName: this.checkedList[0].projectName,
},
});
})
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
let params = {
projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId,
};
}
this.$router.push({
path: "/assesszc/Compliancefz",
path: '/assesszc/Compliancefz',
query: {
clqparams: JSON.stringify(params),
ishow: false,
},
});
})
},
//提交问题清单
async submitNexts() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
// if(this.checkedList[0].postEvalState=='待评估'){
// this.$message("该项目还未评估");
// return;
// }
if (this.checkedList[0].postEvalState == "已提交") {
this.$message("该项目已提交");
return;
if (this.checkedList[0].postEvalState == '已提交') {
this.$message('该项目已提交')
return
}
// this.dialog = true;
let params = {
projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId,
};
}
this.$router.push({
path: "/assesszc/Compliancefz",
path: '/assesszc/Compliancefz',
query: {
clqparams: JSON.stringify(params),
},
});
})
},
//撤销
async withdraw() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalState != "已提交") {
this.$message("该项目还未提交");
return;
if (this.checkedList[0].postEvalState != '已提交') {
this.$message('该项目还未提交')
return
}
let params = {
current: this.currentPage,
pageSize: this.pageSize,
projectId: this.checkedList[0].projectCode,
batchId: this.checkedList[0].batchId,
};
let res = await chpostEvalQuesInfo(params);
}
let res = await chpostEvalQuesInfo(params)
if (res.code == 200) {
this.resetForm();
this.resetForm()
}
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
return ''
},
async handleClickXZ(fileId, fileName) {
let response = await downloadObject({
fileId: fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = 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);
})
let blob = new Blob([response])
if ('download' in document.createElement('a')) {
let elink = document.createElement('a')
elink.download = 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)
}
},
//主列表选中行信息
handleSelectionChange(selection) {
this.inspectdisabled = false;
this.confirmdisabled = false;
this.inspectdisabled = false
this.confirmdisabled = false
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
}
this.checkedList = this.$refs.multipleTable.selection;
this.checkedList = this.$refs.multipleTable.selection
if (this.checkedList[0]) {
this.ruleFormdialog = this.checkedList[0];
if (this.checkedList[0].postEvalStateText != "已整改") {
this.confirmdisabled = true;
this.ruleFormdialog = this.checkedList[0]
if (this.checkedList[0].postEvalStateText != '已整改') {
this.confirmdisabled = true
}
if (this.checkedList[0].postEvalStateText != "待评估") {
this.inspectdisabled = true;
if (this.checkedList[0].postEvalStateText != '待评估') {
this.inspectdisabled = true
}
}
this.ruleFormdialog = this.checkedList[0];
this.ruleFormdialog = this.checkedList[0]
},
handleSizeChange(val) {
this.pageSize = val;
this.submitForm();
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
this.currentPage = val;
this.submitForm();
this.currentPage = val
this.submitForm()
},
cancel() {
this.dialog = false;
this.dialog = false
// this.dialogXQ = false;
},
cancelSS() {
this.dialogQR = false;
this.dialogQR = false
},
closeDialog() {
this.showButton = true;
this.showButton = true
},
async selectProjectStage(val){
this.form={
evalQues:''
async selectProjectStage(val) {
this.form = {
evalQues: '',
}
this.form.projectStage=val
console.log(val,'333344444')
this.form.projectStage = val
console.log(val, '333344444')
let params = {
projectStage: val,
hgx:"hgx",
batchId:this.checkedList[0].batchId,
contractNumber:this.checkedList[0].contractNumber,
hgx: 'hgx',
batchId: this.checkedList[0].batchId,
contractNumber: this.checkedList[0].contractNumber,
projectId: this.checkedList[0].projectCode,
proType: this.checkedList[0].projectType,
};
let res=await selWtqdFZ(params)
this.quesoptions=res.data.records
}
let res = await selWtqdFZ2(params)
this.quesoptions = res.data.records
},
selectCheckItem(val){
this.form.evalQues=''
this.quesoptions.forEach(ele=>{
if(ele.quesCheckItem==val){
this.form.checkDesc=ele.checkDesc
selectCheckItem(val) {
this.form.evalQues = ''
this.quesoptions.forEach((ele) => {
if (ele.quesCheckItem == val) {
this.form.checkDesc = ele.checkDesc
}
})
},
async submitpro(){
let isxt= this.tableDataQR.some(item=>{
return item.quesCheckItem== this.form.quesCheckItem;
async submitpro() {
let isxt = this.tableDataQR.some((item) => {
return item.quesCheckItem == this.form.quesCheckItem
})
if(isxt){
if (isxt) {
this.$message('已存在该问题检查项,请选择其他问题')
return
}
let params={
if (!this.form.evalQues) {
return this.$message.warning('请填写问题描述')
}
let params = {
...this.form,
isProblem: "1",
batchId:this.checkedList[0].batchId,
isProblem: '1',
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectCode,
}
let res=await xzwtpostEvalQuesInfo(params)
if(res.code==200){
this.innerVisible=false
let res = await xzwtpostEvalQuesInfo(params)
if (res.code == 200) {
this.innerVisible = false
this.rectificationReview()
}
},
cancelpro(){
this.innerVisible=false
cancelpro() {
this.innerVisible = false
},
addpro(){
this.form={
evalQues:''
addpro() {
this.form = {
evalQues: '',
}
this.innerVisible = true
},
async inspectBack(){
async inspectBack() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
this.$confirm(
"是否材料不全,将退回重新上传?",
"提示",
{
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
}
).then(async () => {
let params={
...this.checkedList[0]
}
let res= await postEvalQuesInfoTh(params)
if (res.code == "200") {
this.$message("已成功退回");
this.resetForm();
} else {
this.$message("退回失败");
this.$confirm('是否材料不全,将退回重新上传?', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
type: 'warning',
}).then(async () => {
let params = {
...this.checkedList[0],
}
});
let res = await postEvalQuesInfoTh(params)
if (res.code == '200') {
this.$message('已成功退回')
this.resetForm()
} else {
this.$message('退回失败')
}
})
},
},
};
}
</script>
<style scoped lang="scss">
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
......@@ -1316,7 +1219,7 @@ h3 {
}
}
.setTable {
height: 560px;
height: 570px;
overflow-y: auto;
overflow-x: scroll;
position: relative;
......@@ -1385,20 +1288,19 @@ h3 {
.addfrom {
display: inline-block;
height: 300px;
/deep/.el-input__inner{
/deep/.el-input__inner {
width: 450px !important;
}
/deep/.el-textarea__inner{
/deep/.el-textarea__inner {
width: 450px !important;
}
/deep/ .el-select-dropdown {
margin-top: -55px !important; /* 调整与触发按钮的距离 */
margin-left: 20px; /* 也可以调整左边距,根据需要 */
}
}
}
.addBtn{
.addBtn {
text-align: center;
margin-bottom: 0;
}
}
</style>
<template>
<div class="main">
<el-form
:model="ruleForm"
ref="formName"
label-width="100px"
class="demo-ruleForm"
>
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<el-form-item label="项目编码:" prop="projectCode" class="fromItem">
<el-input
v-model="ruleForm.projectCode"
......@@ -15,11 +10,7 @@
></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目年度:" prop="issueYear" class="fromItem">
<el-select v-model="ruleForm.issueYear" placeholder="请选择" clearable>
......@@ -32,29 +23,17 @@
</el-select>
</el-form-item>
<el-form-item label="建设形式:" prop="constructionForm" class="fromItem">
<el-select
v-model="ruleForm.constructionForm"
placeholder="请选择"
clearable
>
<el-select v-model="ruleForm.constructionForm" placeholder="请选择" clearable>
<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="contractNumber" class="fromItem">
<el-input
v-model="ruleForm.contractNumber"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.contractNumber" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="合同名称:" prop="contractName" class="fromItem">
<el-input
v-model="ruleForm.contractName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.contractName" placeholder="请输入" clearable></el-input>
</el-form-item>
<!-- <el-form-item label="部门:" prop="department" class="fromItem">
<el-input
......@@ -93,17 +72,11 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="140">
</el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="140"> </el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
show-overflow-tooltip
>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="90">
......@@ -111,55 +84,26 @@
</el-table-column>
<el-table-column prop="projectType" label="项目类型" width="120">
<template slot-scope="scope">
<span v-show="scope.row.type">
{{ scope.row.type | proType }}</span
>
<span v-show="scope.row.type"> {{ scope.row.type | proType }}</span>
</template>
</el-table-column>
<el-table-column
prop="constructionFormText"
label="建设形式"
width="90"
>
<el-table-column prop="constructionFormText" label="建设形式" width="90"> </el-table-column>
<el-table-column prop="startupStatus" label="启动日期" width="90"> </el-table-column>
<el-table-column prop="accountingStatus" label="入账状态" width="90"> </el-table-column>
<el-table-column prop="accountingProportion" label="累计入账占比" width="90">
<template slot-scope="scope"> {{ scope.row.accountingProportion }}% </template>
</el-table-column>
<el-table-column prop="startupStatus" label="启动日期" width="90">
<el-table-column prop="entryAmount" label="入账金额(万)" width="120"> </el-table-column>
<el-table-column prop="currentProgress" label="当前进度" width="120"> </el-table-column>
<el-table-column prop="contractNumber" label="合同编码" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="accountingStatus" label="入账状态" width="90">
</el-table-column>
<el-table-column
prop="accountingProportion"
label="累计入账占比"
width="90"
>
<template slot-scope="scope">
{{ scope.row.accountingProportion }}%
</template>
</el-table-column>
<el-table-column prop="entryAmount" label="入账金额(万)" width="120">
</el-table-column>
<el-table-column prop="currentProgress" label="当前进度" width="120">
</el-table-column>
<el-table-column
prop="contractNumber"
label="合同编码"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="contractName"
label="合同名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectLeader" label="项目负责人" width="120">
<el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="projectLeader" label="项目负责人" width="120"> </el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="scope">
<el-button @click="upload(scope.row)" type="text" size="small"
>操作</el-button
>
<el-button @click="upload(scope.row)" type="text" size="small">操作</el-button>
<!-- <el-button @click="changeLX(scope.row)" type="text" size="small" v-if="scope.row.projectType"
>更换项目类型</el-button
> -->
......@@ -188,10 +132,7 @@
<template slot="title">
<div class="custom_dialog_header">
<span class="el_dialog_title">项目文档</span>
<div
class="custom_dialog_menu"
@click="dialogFullScreen = !dialogFullScreen"
>
<div class="custom_dialog_menu" @click="dialogFullScreen = !dialogFullScreen">
<i class="el-icon-full-screen"></i>
</div>
</div>
......@@ -209,22 +150,12 @@
:span-method="arraySpanMethod"
border
>
<el-table-column
label="材料类别"
prop="projectStagetext"
width="100"
>
</el-table-column>
<el-table-column label="序号" width="55" type="index">
<el-table-column label="材料类别" prop="projectStagetext" width="100">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="资料类型" prop="materialName" width="300">
</el-table-column>
<el-table-column
prop="fullName"
label="资料名称"
show-overflow-tooltip
>
<el-table-column label="资料类型" prop="materialName" width="300"> </el-table-column>
<el-table-column prop="fullName" label="资料名称" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="caozuo" label="操作" width="350">
<template slot-scope="scope">
......@@ -234,7 +165,7 @@
:multiple="true"
:http-request="
(res) => {
return fileupdate(scope.row, res);
return fileupdate(scope.row, res)
}
"
:on-change="uploadChange"
......@@ -312,10 +243,8 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column prop="fullTime" label="上传日期" width="200">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column prop="fullTime" label="上传日期" width="200"> </el-table-column>
<!-- <el-table-column
prop="materialName"
label="资料类型"
......@@ -323,12 +252,7 @@
show-overflow-tooltip
>
</el-table-column> -->
<el-table-column
prop="fullName"
label="文件名称"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="fullName" label="文件名称" width="auto" show-overflow-tooltip>
</el-table-column>
</el-table>
</el-dialog>
......@@ -363,12 +287,7 @@
</el-tabs>
</el-dialog>
</el-dialog>
<el-dialog
title="请选择您要操作的项目类型"
class="tips"
:visible.sync="showType"
width="40%"
>
<el-dialog title="请选择您要操作的项目类型" class="tips" :visible.sync="showType" width="40%">
<el-form :model="form" class="projectType">
<el-form-item label="项目类型" prop="projectType">
<el-select v-model="form.projectType" placeholder="请选择项目类型">
......@@ -381,10 +300,7 @@
</el-form-item>
<el-form-item class="rightBtn">
<el-button @click="showType = false">取 消</el-button>
<el-button
type="primary"
@click="projectType()"
:disabled="!form.projectType"
<el-button type="primary" @click="projectType()" :disabled="!form.projectType"
>确 定</el-button
>
</el-form-item>
......@@ -394,11 +310,7 @@
</template>
<script>
import {
generateYearOptions,
constructionFormText,
MaterialsList,
} from "@/utils/cache";
import { generateYearOptions, constructionFormText, MaterialsList } from '@/utils/cache'
import {
pmProInitiation,
MaterialWarehous,
......@@ -410,15 +322,15 @@ import {
HistoryVersion,
presignedUrl,
postExist,
} from "@/api/index";
import { Loading } from "element-ui";
} from '@/api/index'
import { Loading } from 'element-ui'
export default {
data() {
return {
dialogFullScreen: false,
tableHistory: [],
processen: "",
processen: '',
fileList: [],
tableDataNew: MaterialsList(),
checkedList: [],
......@@ -435,103 +347,97 @@ export default {
form: {},
rowdata: {},
rules: {
projectType: [
{ required: true, message: "请选择项目类型", trigger: "change" },
],
projectType: [{ required: true, message: '请选择项目类型', trigger: 'change' }],
},
innerVisible: false,
upprojectType: "",
upprojectType: '',
dialogVisible: false,
activeName: "0",
activeName: '0',
tabListYL: [],
iframeUrl: "",
blobType: "",
iframeUrl: '',
blobType: '',
inspectdisabled: true,
mergingPos: 0,
mergingRows: [],
};
}
},
filters: {
proType(val) {
if (val == 1) {
return "咨询设计类";
return '咨询设计类'
} else if (val == 2) {
return "开发实施类";
return '开发实施类'
} else if (val == 3) {
return "业务运营类";
return '业务运营类'
} else if (val == 4) {
return "数据工程类";
return '数据工程类'
} else if (val == 5) {
return "产品购置类";
return '产品购置类'
}
},
},
mounted() {
if(this.$route.query.projectId){
this.ruleForm.projectCode = this.$route.query.projectId;
if (this.$route.query.projectId) {
this.ruleForm.projectCode = this.$route.query.projectId
}
this.submitForm();
this.processenv = process.env.VUE_APP_BASE_URL;
this.submitForm()
this.processenv = process.env.VUE_APP_BASE_URL
},
methods: {
numberVal(val) {
this.$forceUpdate()
},
noFullScreen() {
console.log("关闭了");
this.dialogFullScreen = false;
console.log('关闭了')
this.dialogFullScreen = false
},
upload(row) {
this.ruleFormdialog = row;
this.ruleFormdialog = row
if (!row.type) {
this.form = {};
this.showType = true;
this.form = {}
this.showType = true
} else {
this.upprojectType = row.type;
this.MaterialWarehous(row.type);
this.upprojectType = row.type
this.MaterialWarehous(row.type)
}
},
changeLX() {
this.$confirm("切换项目类型将删除历史上传文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
this.$confirm('切换项目类型将删除历史上传文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then((res) => {
this.form = {};
this.showType = true;
this.form = {}
this.showType = true
})
.catch();
.catch()
},
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
this.mergingRows.push(1)
this.mergingPos = 0
} else {
if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
) {
if (this.tableDataQR[i].projectStage === this.tableDataQR[i - 1].projectStage) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
this.mergingRows[this.mergingPos] += 1
this.mergingRows.push(0)
} else {
this.mergingRows.push(1);
this.mergingPos = i;
this.mergingRows.push(1)
this.mergingPos = i
}
}
}
},
projectType() {
console.log(this.form.projectType, "2222");
this.chpmProInitiation(this.form.projectType);
this.MaterialWarehous(this.form.projectType);
this.showType = false;
console.log(this.form.projectType, '2222')
this.chpmProInitiation(this.form.projectType)
this.MaterialWarehous(this.form.projectType)
this.showType = false
},
async downloadObjectStr(row) {
let params = {
......@@ -539,176 +445,175 @@ export default {
fullNameStr: row.fullName,
fullUrlStr: row.fullUrl,
materialName: row.materialName,
};
let response = await downloadObjectStr(params);
let blob = new Blob([response], { type: "application/zip" });
let url = window.URL.createObjectURL(blob);
const link = document.createElement("a"); // 创建a标签
link.href = url;
link.download = row.materialName + "压缩文件"; // 重命名文件
link.click();
URL.revokeObjectURL(url); // 释放内存
}
let response = await downloadObjectStr(params)
let blob = new Blob([response], { type: 'application/zip' })
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
link.download = row.materialName + '压缩文件' // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
},
async delAll(row) {
console.log(row, "6666666666666");
this.$confirm("此操作将删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
console.log(row, '6666666666666')
this.$confirm('此操作将删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {
let params = {
fileIdStr: row.fullId,
};
let response = await delAll(params);
}
let response = await delAll(params)
if (response.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.MaterialWarehous(this.upprojectType);
type: 'success',
message: '删除成功!',
})
this.MaterialWarehous(this.upprojectType)
} else {
this.$message({
type: "info",
message: "删除失败!",
});
type: 'info',
message: '删除失败!',
})
}
})
.catch(() => {});
.catch(() => {})
},
async chpmProInitiation(projectType) {
let params = {
...this.ruleFormdialog,
};
params.projectType = projectType;
let res = await chpmProInitiation(params);
this.resetForm()
}
params.projectType = projectType
let res = await chpmProInitiation(params)
// this.resetForm()
},
async MaterialWarehous(projectType) {
this.mergingPos = 0;
this.mergingRows = [];
this.tableDataQR = [];
console.log("不调接口了");
this.dialog = true;
this.mergingPos = 0
this.mergingRows = []
this.tableDataQR = []
console.log('不调接口了')
this.dialog = true
let params = {
proType: projectType,
contractNumber: this.ruleFormdialog.contractNumber,
prjId: this.ruleFormdialog.projectCode,
};
let res = await MaterialWarehous(params);
this.tableDataQR = res.data.records;
console.log(this.tableDataQR, "this.tableDataQR");
}
let res = await MaterialWarehous(params)
this.tableDataQR = res.data.records
console.log(this.tableDataQR, 'this.tableDataQR')
this.tableDataQR.forEach((item) => {
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "可研");
break;
case "2":
this.$set(item, "projectStagetext", "计划");
break;
case "3":
this.$set(item, "projectStagetext", "采购");
break;
case "4":
this.$set(item, "projectStagetext", "合同");
break;
case "5":
this.$set(item, "projectStagetext", "执行");
break;
case "6":
this.$set(item, "projectStagetext", "结决算及转资");
break;
case '1':
this.$set(item, 'projectStagetext', '可研')
break
case '2':
this.$set(item, 'projectStagetext', '计划')
break
case '3':
this.$set(item, 'projectStagetext', '采购')
break
case '4':
this.$set(item, 'projectStagetext', '合同')
break
case '5':
this.$set(item, 'projectStagetext', '执行')
break
case '6':
this.$set(item, 'projectStagetext', '结决算及转资')
break
}
});
this.dataPretreatment();
})
this.dataPretreatment()
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.submitForm()
},
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
let res = await pmProInitiation(params);
if (res.code == "200") {
this.tableData = res.data.records;
}
Object.assign(params, this.ruleForm)
let res = await pmProInitiation(params)
if (res.code == '200') {
this.tableData = res.data.records
this.$nextTick(() => {
if (this.$refs.multipleTable && this.$refs.multipleTable.doLayout) {
this.$refs.multipleTable.doLayout(); // 解决表格错位
this.$refs.multipleTable.doLayout() // 解决表格错位
}
});
})
this.tableData.forEach((item) => {
this.$set(
item,
"constructionFormText",
constructionFormText(item.constructionForm)
);
});
this.total = res.data.total * 1;
this.dialogXQ = true;
this.$set(item, 'constructionFormText', constructionFormText(item.constructionForm))
})
this.total = res.data.total * 1
this.dialogXQ = true
}
},
//主列表选中行信息
handleSelectionChange(selection) {
if(selection.length>0){
this.inspectdisabled = false;
if (selection.length > 0) {
this.inspectdisabled = false
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
}
this.ruleFormdialog = this.$refs.multipleTable.selection[0];
this.ruleFormdialog = this.$refs.multipleTable.selection[0]
if (!this.ruleFormdialog.type) {
this.inspectdisabled = true;
this.inspectdisabled = true
}
}else{
this.inspectdisabled = true;
} else {
this.inspectdisabled = true
}
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
return ''
},
cancel() {
this.dialog = false;
this.dialog = false
},
preserve() {
this.dialog = false;
this.dialog = false
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
},
async history(msg) {
let res = await HistoryVersion({ ...msg });
this.tableHistory = res.data.records;
this.innerVisible = true;
let res = await HistoryVersion({
...msg,
contractNumber: this.ruleFormdialog.contractNumber,
prjId: this.ruleFormdialog.projectCode,
})
this.tableHistory = res.data.records
this.innerVisible = true
},
// handleRemove(file, fileList) {
// //文件移出
......@@ -736,166 +641,164 @@ export default {
// this.fileList = fileList;
},
fileupdate(items, list) {
console.log(items, "list");
this.fileList.push(list.file);
this.debounce(this.submitFile, 500, items);
console.log(items, 'list')
this.fileList.push(list.file)
this.debounce(this.submitFile, 500, items)
},
debounce(fn, waits, items) {
if (this.timer) {
clearTimeout(this.timer);
this.timer = null;
clearTimeout(this.timer)
this.timer = null
}
this.timer = setTimeout(() => {
fn.apply(this, arguments); // 把参数传进去
}, waits);
fn.apply(this, arguments) // 把参数传进去
}, waits)
},
submitFile(items) {
console.log(arguments[2], "arguments");
console.log(arguments[2], 'arguments')
if (this.fileList.length === 0) {
this.$message.success("请上传文件");
return;
this.$message.success('请上传文件')
return
}
this.uploadLoading = true;
let formData = new FormData(); // 用FormData存放上传文件
this.uploadLoading = true
let formData = new FormData() // 用FormData存放上传文件
this.fileList.forEach((file) => {
formData.append("file", file); // file.raw
});
formData.append("typeCode", arguments[2].mid);
formData.append("prjId", this.ruleFormdialog.projectCode);
formData.append("bathId", this.ruleFormdialog.contractNumber);
formData.append('file', file) // file.raw
})
formData.append('typeCode', arguments[2].mid)
formData.append('prjId', this.ruleFormdialog.projectCode)
formData.append('bathId', this.ruleFormdialog.contractNumber)
ossuploadStr(formData)
.then((response) => {
if (response.code == "200") {
this.fileList = [];
this.MaterialWarehous(this.upprojectType);
this.$refs["upload" + arguments[2].mid].clearFiles();
this.$message("上传成功");
if (response.code == '200') {
this.fileList = []
this.MaterialWarehous(this.upprojectType)
this.$refs['upload' + arguments[2].mid].clearFiles()
this.$message('上传成功')
} else {
this.$message("上传失败");
this.$message('上传失败')
}
})
.catch((error) => {
// console.error(error);
// this.$message("上传失败");
});
})
},
handleSuccess(response, file, fileList) {
// 提交保存成功后清空已上传的文件
// this.$refs.upload.clearFiles();
},
async preview(row) {
this.tabListYL = [];
console.log(row.fullName, "33333");
let array = row.fullName.split(",");
this.tabListYL = []
console.log(row.fullName, '33333')
let array = row.fullName.split(',')
array.forEach((item, index) => {
this.tabListYL.push({
name: item,
id: row.fullId.split(",")[index],
url: row.fullUrl.split(",")[index],
});
});
console.log(this.tabListYL, "this.tabListYL");
this.downloadObject("0");
id: row.fullId.split(',')[index],
url: row.fullUrl.split(',')[index],
})
})
console.log(this.tabListYL, 'this.tabListYL')
this.downloadObject('0')
},
handleClick(tab) {
console.log("切换", tab.name, this.tabListYL[tab.name].iframeUrl);
console.log('切换', tab.name, this.tabListYL[tab.name].iframeUrl)
if (!this.tabListYL[tab.name].iframeUrl) {
this.downloadObject(tab.name + "");
this.downloadObject(tab.name + '')
}
},
async downloadObject(index) {
let loadingInstance;
let loadingInstance
loadingInstance = Loading.service({
lock: true,
text: "文件加载中,请耐心等待...",
});
this.blobType = "";
console.log(this.tabListYL, "this.tabListYL");
let resUrl = await downloadObject({ fileId: this.tabListYL[index].id });
loadingInstance.close();
if (this.tabListYL[index].url.slice(-3) == "pdf"||this.tabListYL[index].url.slice(-3) == "doc") {
this.blobType = "pdf";
const binaryData = [];
binaryData.push(resUrl);
let URL = window.URL.createObjectURL(
new Blob(binaryData, { type: "application/pdf" })
);
text: '文件加载中,请耐心等待...',
})
this.blobType = ''
console.log(this.tabListYL, 'this.tabListYL')
let resUrl = await downloadObject({ fileId: this.tabListYL[index].id })
loadingInstance.close()
if (
this.tabListYL[index].url.slice(-3) == 'pdf' ||
this.tabListYL[index].url.slice(-3) == 'doc'
) {
this.blobType = 'pdf'
const binaryData = []
binaryData.push(resUrl)
let URL = window.URL.createObjectURL(new Blob(binaryData, { type: 'application/pdf' }))
this.$nextTick(() => {
this.$set(this.tabListYL[index], "iframeUrl", URL + "#view=FitH,top");
});
} else if (this.tabListYL[index].url.slice(-4) == "docx") {
this.blobType = "docx";
let docx = require("docx-preview");
this.$set(this.tabListYL[index], 'iframeUrl', URL + '#view=FitH,top')
})
} else if (this.tabListYL[index].url.slice(-4) == 'docx') {
this.blobType = 'docx'
let docx = require('docx-preview')
this.$nextTick(() => {
docx.renderAsync(
resUrl,
document.getElementById(`word${this.tabListYL[index].url}`)
); // 渲染到页面预览
});
docx.renderAsync(resUrl, document.getElementById(`word${this.tabListYL[index].url}`)) // 渲染到页面预览
})
} else {
let paramsImg = {
fileId: this.tabListYL[index].id,
url: this.tabListYL[index].url,
};
let resUrl = await presignedUrl(paramsImg);
}
let resUrl = await presignedUrl(paramsImg)
// this.iframeUrl="http://view.officeapps.live.com/op/view.aspx?src=http://arch-file.oss-cn-beijing.aliyuncs.com/66a83f6f4386f71e7b950b87.doc?Expires=1722907981&OSSAccessKeyId=LTAI5tGjidtvVSCvwGxTp8FH&Signature=4p2boWzux%2FscZHWQz2E4gVRF94w%3D"
}
console.log(this.blobType);
console.log(this.blobType)
this.dialogVisible = true;
this.dialogVisible = true
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0 || columnIndex === 8) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
const _row = this.mergingRows[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col,
};
}
}
},
postExist(row) {
let params = {
contractNumber: this.ruleFormdialog.contractNumber,
projectCode: this.ruleFormdialog.projectCode,
};
}
postExist(params).then((res) => {
if (res.data.exist) {
this.$alert("项目流程审批中,请勿上传新的文件", "提示", {
confirmButtonText: "确定",
this.$alert('项目流程审批中,请勿上传新的文件', '提示', {
confirmButtonText: '确定',
callback: (action) => {
// this.$message({
// type: "info",
// message: `action: ${action}`,
// });
},
});
return;
})
return
} else {
this.uploadFiles(row);
this.uploadFiles(row)
}
});
})
},
uploadFiles(row) {
if (row.fullId) {
this.$confirm("已有文件,本次上传将覆盖历史上传文件,是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
this.$confirm('已有文件,本次上传将覆盖历史上传文件,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then((res) => {
this.$refs["upload" + row.mid].$refs["upload-inner"].handleClick();
this.$refs['upload' + row.mid].$refs['upload-inner'].handleClick()
})
.catch();
.catch()
} else {
this.$refs["upload" + row.mid].$refs["upload-inner"].handleClick();
this.$refs['upload' + row.mid].$refs['upload-inner'].handleClick()
}
},
},
};
}
</script>
<style scoped lang="scss">
.main {
......@@ -1122,7 +1025,6 @@ export default {
min-height: 50vh;
}
.bigdialog {
left: 20vw;
}
......@@ -1215,7 +1117,7 @@ export default {
height: 630px;
overflow-y: auto;
}
/deep/.el-table--scrollable-x .el-table__body-wrapper{
/deep/.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden;
}
</style>
<!-- 项目辅助检查问题查询 -->
<template>
<div class="main">
<el-form
:model="ruleForm"
label-width="100px"
class="demo-ruleForm"
ref="formName"
>
<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="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
:label="item+'年'"
:value="item"/>
:label="item + '年'"
:value="item"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="单位名称:" prop="dwmc" class="fromItem">
......@@ -24,14 +20,9 @@
></el-input>
</el-form-item> -->
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目阶段:" prop="projectStatus" class="fromItem">
<el-select v-model="ruleForm.projectStatus" placeholder="请选择" clearable>
<el-option label="项目验收" value="项目验收"></el-option>
<el-option label="项目建设" value="项目建设"></el-option>
......@@ -51,11 +42,7 @@
</el-select>
</el-form-item>
<el-form-item label="问题检查项:" prop="quesCheckItem" class="fromItem">
<el-input
v-model="ruleForm.quesCheckItem"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.quesCheckItem" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="提出时间:" prop="createTime" class="fromItem">
<el-date-picker
......@@ -108,35 +95,28 @@
<el-table-column prop="projectYear" label="项目年度" width="120">
<template slot-scope="scope"> {{ scope.row.projectYear }}</template>
</el-table-column>
<el-table-column prop="dwmc" label="单位名称" width="auto">
</el-table-column>
<el-table-column prop="dwmc" label="单位名称" width="auto"> </el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="projectStatus" label="项目阶段" width="auto">
</el-table-column>
<el-table-column prop="projectFlowStatus" label="项目环节" width="auto">
</el-table-column>
<el-table-column prop="projectStatus" label="项目阶段" width="auto"> </el-table-column>
<el-table-column prop="projectFlowStatus" label="项目环节" width="auto"> </el-table-column>
<el-table-column prop="quesCheckItem" label="问题检查项" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="quesSource" label="问题来源" width="auto">
</el-table-column>
<el-table-column prop="createTime" label="提出时间" width="auto">
</el-table-column>
<el-table-column prop="quesSource" label="问题来源" width="auto"> </el-table-column>
<el-table-column prop="createTime" label="提出时间" width="auto"> </el-table-column>
<el-table-column prop="checkDesc" label="问题描述" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="rectificationFeedback" label="整改情况" width="auto">
</el-table-column>
<el-table-column prop="rectificationTime" label="整改时间" width="auto">
</el-table-column>
<el-table-column prop="RectificationText" label="整改状态" width="auto">
</el-table-column>
<el-table-column prop="rectificationTime" label="整改时间" width="auto"> </el-table-column>
<el-table-column prop="RectificationText" label="整改状态" width="auto"> </el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50,100]"
:page-sizes="[10, 15, 20, 50, 100]"
:page-size="1000"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
......@@ -152,25 +132,17 @@
:append-to-body="false"
>
<div class="dialog">
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<h3>项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目</h3>
<div>
<div class="content">
<p><label>项目年度:</label>{{ listData.projectId }}</p>
<p><label>项目年度:</label>{{ listData.projectYear }}</p>
<p><label>单位名称:</label>{{ listData.dwmc }}</p>
<p>
<label>项目名称:</label> <span>{{ listData.projectName }}</span>
</p>
<p><label>项目阶段:</label>{{ listData.projectStatus }}</p>
<p>
<label>项目环节:</label
>{{ listData.projectFlowStatus }}
</p>
<p>
<label>问题检查项:</label
>{{ listData.quesCheckItem }}
</p>
<p><label>项目环节:</label>{{ listData.projectFlowStatus }}</p>
<p><label>问题检查项:</label>{{ listData.quesCheckItem }}</p>
<p><label>问题来源:</label>{{ listData.quesSource }}</p>
<p><label>提出时间:</label>{{ listData.createTime }}</p>
<p><label>问题描述:</label>{{ listData.checkDesc }}</p>
......@@ -186,156 +158,155 @@
</template>
<script>
import { projectInspectionIssues } from "@/api/index";
import { generateYearOptions } from "@/utils/cache";
import { projectInspectionIssues } from '@/api/index'
import { generateYearOptions } from '@/utils/cache'
export default {
data() {
return {
yearsList:generateYearOptions(),
yearsList: generateYearOptions(),
ruleForm: {
projectYear:"", //默认展示当前年
projectYear: '', //默认展示当前年
dates: [],
},
ruleFormdialog: {
projectYear: "",
companyName: "",
projectName: "",
projectPhase: "",
projectLink: "",
submitTime: "",
checkProblem: "",
abarbeitungTime: "",
abarbeitungStatus: "",
projectYear: '',
companyName: '',
projectName: '',
projectPhase: '',
projectLink: '',
submitTime: '',
checkProblem: '',
abarbeitungTime: '',
abarbeitungStatus: '',
},
tableData: [],
pageSize:10,
currentPage:1,
pageSize: 10,
currentPage: 1,
dialog: false,
listData: {},
total:0,
};
total: 0,
checkedList: [],
}
},
mounted() {
this.submitForm();
this.submitForm()
},
methods: {
timeChange(time) {
console.log('tttttt',time)
console.log('tttttt', time)
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
}else{
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
} else {
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
}
},
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await projectInspectionIssues(params);
}
Object.assign(params, this.ruleForm)
console.log(params)
let res = await projectInspectionIssues(params)
if (res.code == "200") {
this.tableData = res.data.records;
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if(item.isRectificationStatus==1){
this.$set(item, "RectificationText", "已整改");
}else{
this.$set(item, "RectificationText", "未整改");
};
if (item.isRectificationStatus == 1) {
this.$set(item, 'RectificationText', '已整改')
} else {
this.$set(item, 'RectificationText', '未整改')
}
if (item.projectPhase == "" || item.projectPhase == null) {
} else if (item.projectPhase == "1") {
this.$set(item, "projectPhase", "项目验收");
} else if (item.projectPhase == "2") {
this.$set(item, "projectPhase", "项目建设");
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.$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", "结决算");
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.$set(item, 'projectLink', '转资')
}
});
this.total = res.data.total * 1;
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.submitForm()
},
uploadForm() {
alert("这是上传的功能");
alert('这是上传的功能')
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
this.listData = this.checkedList[0];
this.listData = this.checkedList[0]
// console.log("222", this.checkedList);
this.dialog= true;
this.dialog = true
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
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.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
}
this.checkedList = this.$refs.multipleTable.selection;
this.checkedList = this.$refs.multipleTable.selection
console.log(this.checkedList, "2222");
console.log(this.checkedList, '2222')
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
},
cancel() {
this.dialog = false;
this.dialog = false
},
},
};
}
</script>
<style scoped lang="scss">
.main {
......@@ -577,9 +548,9 @@ export default {
margin-right: 20px;
vertical-align: middle;
}
span{
span {
display: inline-block;
text-align: left
text-align: left;
}
}
}
......@@ -601,7 +572,7 @@ h3 {
text-align: left;
margin: 10px 0;
}
/deep/ .el-dialog__body{
/deep/ .el-dialog__body {
padding-top: 1px;
}
.close {
......
<!-- 整改反馈查询 -->
<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-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="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
:label="item+'年'"
:value="item"/>
:label="item + '年'"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item label="项目编码:" prop="projectId" class="fromItem">
<el-input
v-model="ruleForm.projectId"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectId" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.projectName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="项目阶段:" prop="projectStatus" class="fromItem">
<el-select v-model="ruleForm.projectStatus" placeholder="请选择" clearable>
......@@ -50,11 +38,7 @@
</el-select>
</el-form-item>
<el-form-item label="问题检查项:" prop="quesCheckItem" class="fromItem">
<el-input
v-model="ruleForm.quesCheckItem"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.quesCheckItem" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="是否申诉:" prop="appealStatus" class="fromItem">
<el-select v-model="ruleForm.appealStatus" placeholder="请选择" clearable>
......@@ -62,11 +46,7 @@
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item
label="申诉是否通过:"
prop="isAppealStatus"
class="fromItem"
>
<el-form-item label="申诉是否通过:" prop="isAppealStatus" class="fromItem">
<el-select v-model="ruleForm.isAppealStatus" placeholder="请选择" clearable>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
......@@ -108,29 +88,33 @@
<el-table-column prop="projectYear" label="项目年度" width="120">
<template slot-scope="scope"> {{ scope.row.projectYear }}</template>
</el-table-column>
<el-table-column prop="projectId" label="项目编码" width="auto">
</el-table-column>
<el-table-column prop="projectId" label="项目编码" width="auto"> </el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="projectStatus" label="项目阶段" width="auto">
</el-table-column>
<el-table-column prop="projectFlowStatus" label="项目环节" width="auto">
</el-table-column>
<el-table-column prop="quesCheckItem" label="问题检查项" width="auto">
</el-table-column>
<el-table-column prop="projectStatus" label="项目阶段" width="auto"> </el-table-column>
<el-table-column prop="projectFlowStatus" label="项目环节" width="auto"> </el-table-column>
<el-table-column prop="quesCheckItem" label="问题检查项" width="auto"> </el-table-column>
<el-table-column prop="checkDesc" label="问题描述" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="appealText" label="是否申诉" width="80">
</el-table-column>
<el-table-column prop="appealText" label="是否申诉" width="80"> </el-table-column>
<el-table-column prop="feedback" label="申诉理由" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="isAppealText" label="申诉是否通过" width="120">
</el-table-column>
<el-table-column prop="reviewStatus" label="申诉复核情况" width="auto" show-overflow-tooltip>
<el-table-column prop="isAppealText" label="申诉是否通过" width="120"> </el-table-column>
<el-table-column
prop="reviewStatus"
label="申诉复核情况"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="rectificationText" label="是否完成整改" width="120">
</el-table-column>
<el-table-column prop="rectificationFeedback" label="整改情况" width="auto" show-overflow-tooltip>
<el-table-column
prop="rectificationFeedback"
label="整改情况"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="isRectificationText" label="整改是否通过" width="120">
</el-table-column>
......@@ -142,7 +126,7 @@
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50,100]"
:page-sizes="[10, 15, 20, 50, 100]"
:page-size="1000"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
......@@ -158,9 +142,7 @@
:append-to-body="false"
>
<div class="dialog">
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<h3>项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目</h3>
<div>
<p class="title"><span></span>项目基本信息</p>
<div class="content">
......@@ -169,15 +151,9 @@
<p>
<label>项目名称:</label> <span>{{ listData.projectName }}</span>
</p>
<p><label>项目阶段:</label>{{ listData.projectStatus}}</p>
<p>
<label>项目环节:</label
>{{ listData.projectFlowStatus}}
</p>
<p>
<label>问题检查项:</label
>{{ listData.quesCheckItem }}
</p>
<p><label>项目阶段:</label>{{ listData.projectStatus }}</p>
<p><label>项目环节:</label>{{ listData.projectFlowStatus }}</p>
<p><label>问题检查项:</label>{{ listData.quesCheckItem }}</p>
<p><label>问题描述:</label>{{ listData.checkDesc }}</p>
<p><label>是否申诉:</label>{{ listData.appealText }}</p>
<p><label>申诉理由:</label>{{ listData.feedback }}</p>
......@@ -196,80 +172,81 @@
</template>
<script>
import { RectificationFeedbackQuery } from "@/api/index";
import { RectificationFeedbackQuery } from '@/api/index'
export default {
data() {
return {
yearsList:this.generateYearOptions(),
yearsList: this.generateYearOptions(),
showButton: true,
ruleForm: {
projectYear:"", //默认展示当前年
projectCode: "",
projectName: "",
projectPhase: "",
projectLink: "",
appealFlag: "",
appealPassFlag: "",
completeFlag: "",
projectYear: '', //默认展示当前年
projectCode: '',
projectName: '',
projectPhase: '',
projectLink: '',
appealFlag: '',
appealPassFlag: '',
completeFlag: '',
},
ruleFormdialog: {
projectYear: "",
projectCode: "",
projectName: "",
projectPhase: "",
projectLink: "",
appealFlag: "",
appealPassFlag: "",
completeFlag: "",
projectYear: '',
projectCode: '',
projectName: '',
projectPhase: '',
projectLink: '',
appealFlag: '',
appealPassFlag: '',
completeFlag: '',
},
total: 0,
tableData: [],
pageSize:10,
pageSize: 10,
currentPage: 1,
dialog: false,
listData: {},
};
checkedList: [],
}
},
mounted() {
this.submitForm();
this.submitForm()
},
methods: {
generateYearOptions() {
const currentYear = new Date().getFullYear();
return Array.from({ length: 10 }, (_, i) => currentYear - i);
const currentYear = new Date().getFullYear()
return Array.from({ length: 10 }, (_, i) => currentYear - i)
},
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await RectificationFeedbackQuery(params);
}
Object.assign(params, this.ruleForm)
console.log(params)
let res = await RectificationFeedbackQuery(params)
if (res.code == "200") {
this.tableData = res.data.records;
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if (item.appealStatus == "1") {
this.$set(item, "appealText", "是");
} else{
this.$set(item, "appealText", "否");
}
if (item.isAppealStatus == "1") {
this.$set(item, "isAppealText", "是");
} else{
this.$set(item, "isAppealText", "否");
}
if (item.rectificationStatus == "1") {
this.$set(item, "rectificationText", "是");
} else{
this.$set(item, "rectificationText", "否");
}
if (item.isRectification_status == "1") {
this.$set(item, "isRectificationText", "是");
} else{
this.$set(item, "isRectificationText", "否");
if (item.appealStatus == '1') {
this.$set(item, 'appealText', '是')
} else {
this.$set(item, 'appealText', '否')
}
if (item.isAppealStatus == '1') {
this.$set(item, 'isAppealText', '是')
} else {
this.$set(item, 'isAppealText', '否')
}
if (item.rectificationStatus == '1') {
this.$set(item, 'rectificationText', '是')
} else {
this.$set(item, 'rectificationText', '否')
}
if (item.isRectification_status == '1') {
this.$set(item, 'isRectificationText', '是')
} else {
this.$set(item, 'isRectificationText', '否')
}
// if (item.projectPhase == "" || item.projectPhase == null) {
// } else if (item.projectPhase == "1") {
......@@ -297,58 +274,58 @@ export default {
// } else {
// this.$set(item, "projectLink", "转资");
// }
});
this.total = res.data.total * 1;
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.submitForm()
},
//详情
async detailsForm() {
// if (this.checkedList.length != 1) {
// this.$message("请选择");
// return;
// }
if (this.checkedList.length != 1) {
this.$message('请选择')
return
}
// console.log("222", this.checkedList);
// this.dialog = true;
// this.listData = this.checkedList[0];
this.dialog = true;
this.listData = this.checkedList[0]
this.dialog = true
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
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.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
}
this.checkedList = this.$refs.multipleTable.selection;
console.log(this.checkedList, "2222");
this.checkedList = this.$refs.multipleTable.selection
console.log(this.checkedList, '2222')
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
},
cancel() {
this.dialog = false;
this.dialog = false
},
},
};
}
</script>
<style scoped lang="scss">
.main {
......@@ -592,9 +569,9 @@ export default {
margin-right: 20px;
vertical-align: middle;
}
span{
span {
display: inline-block;
text-align: left
text-align: left;
}
}
}
......@@ -616,7 +593,7 @@ h3 {
text-align: left;
margin: 10px 0;
}
/deep/ .el-dialog__body{
/deep/ .el-dialog__body {
padding-top: 1px;
}
.close {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!