Commit 0816a063 by liangzhen

暂存

1 parent 74f80fdc
......@@ -283,11 +283,84 @@ export function auditTasks(params) {
export function addauditTasks(params) {
return post(`${ARCH_EVALUATION}/auditTasks/ad`, params)
}
//详情
//查询关联规则
export function selRuleProject(params) {
return post(`${ARCH_EVALUATION}/auditTasks/selRuleProject`, params)
return post(`${ARCH_EVALUATION}/auditTasks/selRule`, params)
}
//查询关联项目
export function selProject(params) {
return post(`${ARCH_EVALUATION}/auditTasks/selProject`, params)
}
//删除
export function delAuditTasks(params){
return post(`${ARCH_EVALUATION}/auditTasks/delAuditTasks`, params)
}
//编辑
export function upauditTasks(params) {
return post(`${ARCH_EVALUATION}/auditTasks/up`, params)
}
//删除规则
export function delRule(params){
return post(`${ARCH_EVALUATION}/auditTasks/delRule`, params)
}
//删除项目
export function delProject(params){
return post(`${ARCH_EVALUATION}/auditTasks/delProject`, params)
}
//合规检查结果
//分页
export function auditTasksResults(params){
return post(`${ARCH_EVALUATION}/auditTasksResults/`, params)
}
//详情
export function xqauditTasksResults(params){
return post(`${ARCH_EVALUATION}/auditTasksResults/xq`, params)
}
//删除
export function scauditTasksResults(params){
return post(`${ARCH_EVALUATION}/auditTasksResults/sc`, params)
}
//确认
export function jgxqResults(params){
return post(`${ARCH_EVALUATION}/auditTasksResults/jgxq`, params)
}
//下发
export function wtxfResults(params){
return post(`${ARCH_EVALUATION}/auditTasksResults/wtxf`, params)
}
//合规问题整改
//分页
export function auditTasksRuleProjectLink(params){
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/`, params)
}
//详情
export function xqRuleProjectLink(params){
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/xq`, params)
}
//整改
export function savaauditRuleProjectLink(params){
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/sava`, params)
}
//提交
export function tjTasksRuleProjectLink(params){
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLink/tj`, params)
}
////合规问题整改核验
//分页
export function auditTasksRuleProjectLinkZg(params){
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/`, params)
}
//详情
export function zgxqRuleProjectLink(params){
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/zgxq`, params)
}
//整改
export function savaRuleProjectLink(params){
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/sava`, params)
}
//提交
export function tjRuleProjectLink(params){
return post(`${ARCH_EVALUATION}/auditTasksRuleProjectLinkZg/tj`, params)
}
\ No newline at end of file
......@@ -173,9 +173,16 @@ export const routes = [
name: '/projectCheck/verificationRectify',
component: () => import('@/views/projectCheck/verificationRectify.vue'),
},
{
path: '/checkCompliance/automaticCheck',
name: '/checkCompliance/automaticCheck',
component: () => import('@/views/checkCompliance/automaticCheck.vue'),
},
]
},
{
path:'/analysisCore',
......
......@@ -4,6 +4,7 @@ export function MaterialsList(){
{ batchtype: "可研", typeText: "可研评审意见", typeCode: "1" },
{ batchtype: "可研", typeText: "可研批复", typeCode: "2" },
{ batchtype: "可研", typeText: "可研变更、论证、批复文件(若有)", typeCode: "3" },
{ batchtype: "可研", typeText: "业务需求报告", typeCode: "99" },
{ batchtype: "计划", typeText: "公司下达计划信息", typeCode: "4" },
{ batchtype: "采购", typeText: "中标(成交)通知书", typeCode: "5" },
{ batchtype: "采购", typeText: "审批单、签报、呈报件等采购资料", typeCode: "6" },
......
......@@ -34,7 +34,7 @@
>
</el-date-picker>
</el-form-item>
<el-form-item label="auditFrequency:" prop="batchYear" class="fromItem">
<el-form-item label="稽核频率:" prop="auditFrequency" class="fromItem">
<el-select
v-model="ruleForm.auditFrequency"
placeholder="请选择"
......@@ -172,7 +172,6 @@
<div class="setscrolldialogAdd">
<el-table
@selection-change="handleSelectionChangeZJ"
ref="multipleTableZJ"
:data="
addtableData.slice(
(addcurrentPage - 1) * pageSizeAdd,
......@@ -222,6 +221,18 @@
<el-table-column prop="creator" label="创建人"> </el-table-column>
<el-table-column prop="createTime" label="创建时间">
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button
@click="
handleClickADGZ(scope.row, scope.$index, addtableDataXM)
"
type="text"
size="small"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</div>
<el-pagination
......@@ -239,9 +250,8 @@
待稽核项目<span @click="checkXM()">选择待稽核项目</span>
</p>
<div class="setscrolldialogAdd">
<el-table
:data="
:data="
addtableDataXM.slice(
(addcurrentPageXM - 1) * pageSizeAddXM,
addcurrentPageXM * pageSizeAddXM
......@@ -254,27 +264,50 @@
: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="项目编码" width="auto" prop="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="auto">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="auto">
</el-table-column>
<el-table-column prop="department" label="部门" width="auto">
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button @click="handleClickAD(scope.row,scope.$index,addtableDataXM)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
<el-table-column label="项目编码" width="auto" prop="projectId">
</el-table-column>
<el-table-column
prop="projectYear"
label="项目下达年度"
width="auto"
>
</el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="projectCategory"
label="建设形式"
width="auto"
>
</el-table-column>
<el-table-column
prop="projectStatus"
label="项目建设阶段"
width="auto"
>
</el-table-column>
<el-table-column prop="department" label="部门" width="auto">
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button
@click="
handleClickAD(scope.row, scope.$index, addtableDataXM)
"
type="text"
size="small"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChangeAddXM"
......@@ -290,7 +323,7 @@
</div>
<p class="midBtn">
<span @click="cancelXZ()">取消</span
><span @click="saveXZ('add')">保存</span>
><span @click="saveXZ()">保存</span>
</p>
</div>
</el-dialog>
......@@ -418,19 +451,25 @@
</div>
</el-dialog>
<!-- 选择项目 -->
<el-dialog
<el-dialog
title="选择待评估项目"
:visible.sync="dialogAddzj"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="项目下达年度:" prop="projectYear" class="fromItem">
<el-select v-model="ruleFormZJ.projectYear" placeholder="请选择" clearable>
<el-form-item
label="项目下达年度:"
prop="projectYear"
class="fromItem"
>
<el-select
v-model="ruleFormZJ.projectYear"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
......@@ -444,7 +483,7 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem" >
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleFormZJ.projectName"
placeholder="请输入"
......@@ -458,8 +497,16 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="建设形式:" prop="projectCategory" class="fromItem">
<el-select v-model="ruleFormZJ.projectCategory" placeholder="请选择" clearable>
<el-form-item
label="建设形式:"
prop="projectCategory"
class="fromItem"
>
<el-select
v-model="ruleFormZJ.projectCategory"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
......@@ -467,7 +514,11 @@
</el-select>
</el-form-item>
<el-form-item label="部门:" prop="department" class="fromItem">
<el-select v-model="ruleFormZJ.department" placeholder="请选择" clearable>
<el-select
v-model="ruleFormZJ.department"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
......@@ -480,58 +531,95 @@
</el-form>
<div class="setscrolldialogx">
<el-table
@selection-change="handleSelectionChangeXM"
ref="multipleTableXM"
:data="zjtableData"
tooltip-effect="dark"
style="width: 100% "
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border >
<el-table-column type="selection">
</el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
@selection-change="handleSelectionChangeXM"
ref="multipleTableXM"
:data="zjtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="项目编码" width="200" prop="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="200">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="200">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="200">
</el-table-column>
<el-table-column label="总投资计划(万元)" width="300">
<el-table-column prop=" costAmountTotal" label="成本金" width="auto">
</el-table-column>
<el-table-column prop="capitalAmountTotal" label="资本金" width="auto">
</el-table-column>
</el-table-column>
<el-table-column label="当年投资计划(万元)" width="300">
<el-table-column prop="costAmountCurrentMfdel" label="成本金" width="auto">
</el-table-column>
<el-table-column prop="capitalAmountCurrentMfdel" label="资本金" width="200">
</el-table-column>
</el-table-column>
<el-table-column prop="department" label="部门" width="200">
</el-table-column>
<el-table-column prop="department" label="承建单位" width="200">
</el-table-column>
<el-table-column prop="personCharge" label="项目经理" width="200">
</el-table-column>
<el-table-column prop="projectInfo" label="项目内容" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="inputuser" label="创建人" width="200">
</el-table-column>
<el-table-column prop="inputtime" label="创建时间" width="200">
</el-table-column>
</el-table>
<el-table-column label="项目编码" width="200" prop="projectId">
</el-table-column>
<el-table-column
prop="projectYear"
label="项目下达年度"
width="200"
>
</el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="projectCategory"
label="建设形式"
width="200"
>
</el-table-column>
<el-table-column
prop="projectStatus"
label="项目建设阶段"
width="200"
>
</el-table-column>
<el-table-column label="总投资计划(万元)" width="300">
<el-table-column
prop=" costAmountTotal"
label="成本金"
width="auto"
>
</el-table-column>
<el-table-column
prop="capitalAmountTotal"
label="资本金"
width="auto"
>
</el-table-column>
</el-table-column>
<el-table-column label="当年投资计划(万元)" width="300">
<el-table-column
prop="costAmountCurrentMfdel"
label="成本金"
width="auto"
>
</el-table-column>
<el-table-column
prop="capitalAmountCurrentMfdel"
label="资本金"
width="200"
>
</el-table-column>
</el-table-column>
<el-table-column prop="department" label="部门" width="200">
</el-table-column>
<el-table-column prop="department" label="承建单位" width="200">
</el-table-column>
<el-table-column prop="personCharge" label="项目经理" width="200">
</el-table-column>
<el-table-column
prop="projectInfo"
label="项目内容"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="inputuser" label="创建人" width="200">
</el-table-column>
<el-table-column prop="inputtime" label="创建时间" width="200">
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChangeZJ"
@current-change="handleCurrentChangeZJ"
......@@ -552,7 +640,7 @@
</el-dialog>
<!-- 详情弹窗 -->
<el-dialog
title="新增自动稽核任务"
title="自动稽核任务"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
......@@ -564,18 +652,14 @@
:model="ruleFormdialogXQ"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input
v-model="ruleFormdialogAdd.auditName"
disabled
></el-input>
<el-input v-model="ruleFormdialogXQ.auditName" disabled></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
@change="timeChange"
v-model="ruleFormdialogAdd.dates"
v-model="ruleFormdialogXQ.dates"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
......@@ -591,7 +675,7 @@
class="fromItem"
>
<el-select
v-model="ruleFormdialogAdd.auditFrequency"
v-model="ruleFormdialogXQ.auditFrequency"
placeholder="请选择"
disabled
>
......@@ -603,9 +687,7 @@
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">
稽核规则
</p>
<p class="zjBtn">稽核规则</p>
<div class="setscrolldialogAdd">
<el-table
:data="XQtableData"
......@@ -656,7 +738,7 @@
</div>
<el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeAXQ"
@current-change="handleCurrentChangeXQ"
:current-page="XQcurrentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
......@@ -665,13 +747,212 @@
class="elpagination"
>
</el-pagination>
<p class="zjBtn">待稽核项目</p>
<div class="setscrolldialogAdd">
<el-table
:data="XQtableDataXM"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="项目编码" width="auto" prop="projectId">
</el-table-column>
<el-table-column
prop="projectYear"
label="项目下达年度"
width="auto"
>
</el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="projectCategory"
label="建设形式"
width="auto"
>
</el-table-column>
<el-table-column
prop="projectStatus"
label="项目建设阶段"
width="auto"
>
</el-table-column>
<el-table-column prop="department" label="部门" width="auto">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChangeXQXM"
@current-change="handleCurrentChangeXQXM"
:current-page="XQcurrentPageXM"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="totalXQXM"
class="elpagination"
>
</el-pagination>
</div>
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXZ()" v-show="false">保存</span>
</p>
</div>
</el-dialog>
<!-- 编辑弹窗 -->
<el-dialog
title="编辑自动稽核任务"
:visible.sync="dialogBJ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formNameBJ"
:model="ruleFormdialogBJ"
label-width="100px"
class="demo-ruleForm"
:rules="rulesBJ"
>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input
v-model="ruleFormdialogBJ.auditName"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
@change="timeChange"
v-model="ruleFormdialogBJ.dates"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-select
v-model="ruleFormdialogBJ.auditFrequency"
placeholder="请选择"
clearable
>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">
待稽核项目
稽核规则<span @click="checkRules()">选择稽核规则</span>
</p>
<div class="setscrolldialogAdd">
<el-table
@selection-change="handleSelectionChangeZJ"
:data="
addtableData.slice(
(addcurrentPage - 1) * pageSizeAdd,
addcurrentPage * pageSizeAdd
)
"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="规则名称" prop="ruleName">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型">
</el-table-column>
<el-table-column
prop="ruleStatus"
label="规则状态"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-switch
v-model="scope.row.ruleStatus"
active-color="#13ce66"
inactive-color="#C0C0C0"
active-value="0"
inactive-value="1"
active-text=""
inactive-text=""
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="creator" label="创建人"> </el-table-column>
<el-table-column prop="createTime" label="创建时间">
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button
@click="
handleClickBJ(scope.row, scope.$index, addtableData)
"
type="text"
size="small"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChangeAdd"
@current-change="handleCurrentChangeAdd"
:current-page="addcurrentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="addtotal"
class="elpagination"
>
</el-pagination>
<p class="zjBtn">
待稽核项目<span @click="checkXM()">选择待稽核项目</span>
</p>
<div class="setscrolldialogAdd">
<el-table
:data="XQtableDataXM"
:data="
addtableDataXM.slice(
(addcurrentPageXM - 1) * pageSizeAddXM,
addcurrentPageXM * pageSizeAddXM
)
"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
......@@ -679,27 +960,50 @@
: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="项目编码" width="auto" prop="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="项目下达年度" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="项目名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="projectCategory" label="建设形式" width="auto">
</el-table-column>
<el-table-column prop="projectStatus" label="项目建设阶段" width="auto">
</el-table-column>
<el-table-column prop="department" label="部门" width="auto">
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button @click="handleClickAD(scope.row,scope.$index,addtableDataXM)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
<el-table-column label="项目编码" width="auto" prop="projectId">
</el-table-column>
<el-table-column
prop="projectYear"
label="项目下达年度"
width="auto"
>
</el-table-column>
<el-table-column
prop="projectName"
label="项目名称"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="projectCategory"
label="建设形式"
width="auto"
>
</el-table-column>
<el-table-column
prop="projectStatus"
label="项目建设阶段"
width="auto"
>
</el-table-column>
<el-table-column prop="department" label="部门" width="auto">
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button
@click="
handleClickbjxm(scope.row, scope.$index, addtableDataXM)
"
type="text"
size="small"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChangeAddXM"
......@@ -714,22 +1018,31 @@
</el-pagination>
</div>
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXZ('add')" v-show="false">保存</span>
<span @click="cancelBJ()">取消</span
><span @click="saveBJ()">保存</span>
</p>
</div>
</el-dialog>
</div>
</template>
<script>
import { getCurrentDate } from '@/utils/format'
<script>
import { getCurrentDate } from "@/utils/format";
import { MaterialsList } from "@/utils/cache";
import { auditTasks, ruleFormulation,getProjectInfo, addauditTasks,selRuleProject,delAuditTasks } from "@/api/index";
import {
auditTasks,
ruleFormulation,
getProjectInfo,
addauditTasks,
selRuleProject,
delAuditTasks,
selProject,
upauditTasks,
delProject,
delRule
} from "@/api/index";
export default {
data() {
return {
listData: {},
qdtableData: JSON.parse(JSON.stringify(MaterialsList())),
tableDataNew: MaterialsList(),
......@@ -761,11 +1074,17 @@ export default {
activeName: "first",
mergingRows: [],
lctableData: [],
dialogBJ: false,
ruleFormdialogBJ: {
auditName: "",
dates: [],
auditFrequency: "",
},
dialogAdd: false,
ruleFormdialogAdd: {
auditName: "",
dates:[],
dates: [],
auditFrequency: "",
},
rules: {
......@@ -784,16 +1103,16 @@ export default {
},
],
dates: [
{
type: 'array',
required: true,
message: '请输入时间',
fields: {
0: { type: 'string', required: true, message: '请选择开始日期' },
1: { type: 'string', required: true, message: '请选择结束日期' }
}
}
],
{
type: "array",
required: true,
message: "请输入时间",
fields: {
0: { type: "string", required: true, message: "请选择开始日期" },
1: { type: "string", required: true, message: "请选择结束日期" },
},
},
],
// auditStartTime: [
// {
// required: true,
......@@ -808,7 +1127,33 @@ export default {
// trigger: "change",
// },
// ],
},
rulesBJ: {
auditName: [
{
required: true,
message: "请输入稽核名称",
trigger: "change",
},
],
auditFrequency: [
{
required: true,
message: "请选择稽核频率",
trigger: "change",
},
],
dates: [
{
type: "array",
required: true,
message: "请输入时间",
fields: {
0: { type: "string", required: true, message: "请选择开始日期" },
1: { type: "string", required: true, message: "请选择结束日期" },
},
},
],
},
addtableData: [],
currentPageRule: 1,
......@@ -826,37 +1171,36 @@ export default {
pageSizeAddXM: 5,
addtotalXM: 0,
dialogAddzj: false,
ruleFormZJ:{
},
zjtableData:[],
pageSizeZJ:5,
ruleFormZJ: {},
zjtableData: [],
pageSizeZJ: 5,
currentZJ: 1,
zjtotal:0,
addZJListXM:[],
oldid:'',//已经选中的
dialogXQ:false,//详情
ruleFormdialogXQ:{},
XQtableData:[],
XQtableDataXM:[],
XQtotal:0,
pageSizeXQ:5,
XQcurrentPage:1,
zjtotal: 0,
addZJListXM: [],
oldid: "", //已经选中的
dialogXQ: false, //详情
ruleFormdialogXQ: {},
XQtableData: [],
XQtableDataXM: [],
XQtotal: 0,
pageSizeXQ: 5,
XQcurrentPage: 1,
pageSizeXQXM: 5,
XQcurrentPageXM: 1,
totalXQXM: 0,
};
},
mounted() {
this.submitForm();
},
methods: {
timeChange(time){
if(time){
//给后端的参数
this.ruleFormdialogAdd.auditStartTime = time[0]
this.ruleFormdialogAdd.auditEndTime= time[1]
}
},
timeChange(time) {
if (time) {
//给后端的参数
this.ruleFormdialogAdd.auditStartTime = time[0];
this.ruleFormdialogAdd.auditEndTime = time[1];
}
},
async submitForm() {
let params = {
current: this.currentPage,
......@@ -896,21 +1240,33 @@ timeChange(time){
this.$message("请选择");
return;
}
console.log(this.checkedList[0], "checkedList[0]");
this.ruleFormdialogXQ = this.checkedList[0];
this.ruleFormdialogXQ.dates = [
this.checkedList[0].auditStartTime,
this.checkedList[0].auditEndTime,
];
this.dialog = true;
let params = {
auditId: this.checkedList[0].id,
current: this.XQcurrentPage,
pageSize: this.pageSizeXQ,
};
let res= await selRuleProject(params)
this.dialogXQ=true
this.XQtableData=res.data.rule.records
this.XQtableDataXM=res.data.prj.records
let params2 = {
auditId: this.checkedList[0].id,
current: this.XQcurrentPageXM,
pageSize: this.pageSizeXQXM,
};
Promise.all([selRuleProject(params), selProject(params2)]).then((res) => {
this.XQtableData = res[0].data.records;
this.XQtableDataXM = res[1].data.records;
this.XQtotal = res[0].data.total;
this.totalXQXM = res[1].data.total;
this.dialogXQ = true;
});
},
cancelXQ(){
this.dialogXQ=false
cancelXQ() {
this.dialogXQ = false;
},
//表格颜色
......@@ -994,12 +1350,17 @@ timeChange(time){
},
//点击新增
async add() {
this.dialogAdd = true;
this.addtableData = []; //每次新增清空不然点了还是这几个人
this.addtableDataXM =[];
this.addtotal = 0;
this.addtotalXM = 0;
this.dialogAdd = true;
},
//选择规则
async checkRules() {
this.addZJList=[];
// this.addZJList = [];
let params = {
current: this.currentPageRule,
pageSize: this.pageSizeRule,
......@@ -1020,7 +1381,7 @@ timeChange(time){
//规则选择
saveGZ() {
if (this.addZJList.length < 1) {
this.$message("请选择专家");
this.$message("请选择规则");
return;
}
this.addtableData = [...this.addtableData, ...this.addZJList];
......@@ -1033,7 +1394,7 @@ timeChange(time){
},
handleSizeChangeRule() {
this.pageSizeRule = val;
this.saveGZ();
this.checkRules()
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val;
......@@ -1047,6 +1408,12 @@ timeChange(time){
handleCurrentChangeXQ(val) {
this.XQcurrentPage = val;
},
handleSizeChangeXQXM(val) {
this.pageSizeXQXM = val;
},
handleCurrentChangeXQXM(val) {
this.XQcurrentPageXM = val;
},
handleSizeChangeAddXM(val) {
this.pageSizeAddXM = val;
},
......@@ -1055,18 +1422,50 @@ timeChange(time){
},
handleCurrentChangeRule() {
this.currentPageRule = val;
this.saveGZ();
this.checkRules()
},
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection;
console.log(this.$refs.multipleTableZJ.selection, "2222");
},
handleSelectionChangeXM() {
this.addZJListXM = this.$refs.multipleTableXM.selection;
},
//编辑
edit() {},
edit() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
this.ruleFormdialogBJ=this.checkedList[0]
this.ruleFormdialogBJ.dates = [
this.checkedList[0].auditStartTime,
this.checkedList[0].auditEndTime,
];
let params = {
auditId: this.checkedList[0].id,
current: this.XQcurrentPage,
pageSize: this.pageSizeXQ,
};
let params2 = {
auditId: this.checkedList[0].id,
current: this.XQcurrentPageXM,
pageSize: this.pageSizeXQXM,
};
Promise.all([selRuleProject(params), selProject(params2)]).then((res) => {
this.addtableData = res[0].data.records;
this.addtableDataXM = res[1].data.records;
this.addtotal = res[0].data.total;
this.addtotalXM = res[1].data.total;
this.dialogBJ=true
this.oldid ="";
if(this.addtableDataXM.length>0){
this.addtableDataXM.forEach((item) => {
this.oldid= this.oldid.concat(item.projectId+',')
});
}
});
},
//删除
async deletes() {
if (this.checkedList.length != 1) {
......@@ -1074,24 +1473,22 @@ timeChange(time){
return;
}
let params = {
auditId: this.checkedList[0].id,
id: this.checkedList[0].id,
};
let res= await delAuditTasks(params)
if(res.code==200){
this.resetForm()
let res = await delAuditTasks(params);
if (res.code == 200) {
this.resetForm();
}
},
//选择项目
async checkXM(){
async checkXM() {
this.dialogAddzj = true;
this.addZJList=[];
// this.addZJList = [];
let params = {
current: this.currentZJ,
pageSize: this. pageSizeZJ,
prjStr:this.oldid
pageSize: this.pageSizeZJ,
prjStr: this.oldid,
};
Object.assign(params, this.ruleFormZJ);
let res = await getProjectInfo(params);
......@@ -1102,12 +1499,12 @@ timeChange(time){
handleSizeChangeZJ(val) {
console.log(`每页 ${val} 条`);
this.pageSizeZJ = val;
this.checkXM()
this.checkXM();
},
handleCurrentChangeZJ(val) {
console.log(`当前页: ${val}`);
this.currentZJ = val;
this.checkXM()
this.checkXM();
},
//选择项目
saveZJ() {
......@@ -1115,20 +1512,51 @@ timeChange(time){
this.$message("请选择项目");
return;
}
this.addtableDataXM=[...this.addZJListXM,...this.addtableDataXM]
this.addtableDataXM = this.addtableDataXM.filter((obj, index, self)=>{
return index == self.findIndex(t =>t.projectId == obj.projectId)
})
this.addtableDataXM = [...this.addZJListXM, ...this.addtableDataXM];
this.addtableDataXM = this.addtableDataXM.filter((obj, index, self) => {
return index == self.findIndex((t) => t.projectId == obj.projectId);
});
console.log(this.addtableDataXM, "3332223");
this.addtotalXM = this.addtableDataXM.length;
this.dialogAddzj = false;
},
//点击删除
async handleClickAD(row,index,rows) {
console.log("删除",row)
handleClickAD(row, index, rows) {
console.log("删除", row);
rows.splice(index, 1);
this.addtableDataXM=rows
this.addtableDataXM = rows;
},
async handleClickBJ(row, index, rows) {
console.log("删除", row);
rows.splice(index, 1);
this.addtableData = rows;
let params={
ruleId:row.id,
auditId: this.checkedList[0].id,
}
console.log(params,'222233')
let res = await delRule(params);
},
async handleClickbjxm(row, index, rows){
console.log("删除编辑项目", row);
rows.splice(index, 1);
this.addtableDataXM = rows;
let params={
projectId:row.projectId,
auditId: this.checkedList[0].id,
}
let res = await delProject(params);
},
//点击删除规则
handleClickADGZ(row, index, rows) {
console.log("删除", row);
rows.splice(index, 1);
this.addtableData = rows;
},
cancelZJ(){
this.dialogAddzj=false
},
saveXZ() {
console.log("保存验证", this.$refs);
this.$refs.formNameAD.validate((valid) => {
......@@ -1138,32 +1566,32 @@ timeChange(time){
} else {
if (this.addtableData.length < 1) {
this.$message("请选择稽核规则");
return
return;
}
if (this.addtableDataXM.length < 1) {
this.$message("请选择待稽核项目");
return
return;
}
let expertIdList ="";
if(this.addtableDataXM.length>0){
let expertIdList = "";
if (this.addtableDataXM.length > 0) {
this.addtableDataXM.forEach((item) => {
expertIdList= expertIdList.concat(item.projectId+',')
expertIdList = expertIdList.concat(item.projectId + ",");
});
}
let ruleList ="";
if(this.addtableData.length>0){
let ruleList = "";
if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => {
console.log(item,'item')
ruleList= ruleList.concat(item.id+',')
console.log(item, "item");
ruleList = ruleList.concat(item.id + ",");
});
}
let params = {
prjStr:expertIdList,
ruleStr:ruleList,
creator:sessionStorage.getItem('author'),
createTime:getCurrentDate(),
prjStr: expertIdList,
ruleStr: ruleList,
creator: sessionStorage.getItem("author"),
createTime: getCurrentDate(),
};
Object.assign(params, this.ruleFormdialogAdd);
console.log(params, "222");
......@@ -1174,10 +1602,65 @@ timeChange(time){
}
});
},
cancelXZ(){
this.dialogAdd = false;
},
cancelBJ(){
this.dialogBJ=false;
},
saveBJ() {
console.log("保存验证", this.$refs);
this.$refs.formNameBJ.validate((valid) => {
if (!valid) {
console.log("error submit!!");
return false;
} else {
if (this.addtableData.length < 1) {
this.$message("请选择稽核规则");
return;
}
if (this.addtableDataXM.length < 1) {
this.$message("请选择待稽核项目");
return;
}
let expertIdList = "";
if (this.addtableDataXM.length > 0) {
this.addtableDataXM.forEach((item) => {
expertIdList = expertIdList.concat(item.projectId + ",");
});
}
let ruleList = "";
if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => {
console.log(item, "item");
ruleList = ruleList.concat(item.id + ",");
});
}
console.log(expertIdList,ruleList,'编辑值')
// return
let params = {
};
Object.assign(params, this.ruleFormdialogBJ);
params.auditId=this.checkedList[0].id
params.prjStr=expertIdList,
params.ruleStr=ruleList,
console.log(params, "222");
upauditTasks(params).then((res) => {
this.dialogBJ = false;
this.resetForm();
});
}
});
},
},
};
</script>
<style scoped lang="scss">
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
......@@ -1472,6 +1955,8 @@ h3 {
}
.midBtn {
margin: 0 auto;
height: 50px;
line-height: 50px;
span {
display: inline-block;
width: 80px;
......@@ -1491,8 +1976,8 @@ h3 {
}
.cxItem {
position: absolute;
right: 0;
top: 150px;
right: 0;
top: 150px;
width: 20%;
.zjquery {
display: inline-block;
......@@ -1505,4 +1990,8 @@ h3 {
border-radius: 5px;
}
}
/deep/ .el-table::before {
display: none !important;
}
</style>
\ No newline at end of file
......@@ -227,52 +227,33 @@ export default {
name: "后评估合规性管理",
url: "",
children: [
{
name: "合规性检查实时提醒",
url: "",
children: [
{ name: "合规性检查自动提醒", url: "", children: [] },
{ name: "合规性检查手动提醒", url: "", children: [] },
],
},
{
name: "合规性检查规则库构建",
url: "",
children: [
{ name: "检查规则编制", url: "", children: [] },
{ name: "自动稽核任务配置", url: "", children: [] },
],
},
{
name: "项目前期合规检查",
url: "",
children: [
{ name: "合规检查结果", url: "", children: [] },
{ name: "合规检查结果确认", url: "", children: [] },
{ name: "合规问题整改", url: "", children: [] },
{ name: "合规问题整改核验", url: "", children: [] },
],
},
// {
// name: '项目建设合规检查', url: '',
// children: [
// { name: '建设合规检查结果', url: '', children: [] },
// { name: '建设合规检查结果确认', url: '', children: [] },
// { name: '建设合规问题整改', url: '', children: [] },
// { name: '建设合规问题整改核验', url: '', children: [] },
// ]
// },
// {
// name: '项目验收合规检查', url: '',
// children: [
// { name: '验收合规检查结果', url: '', children: [] },
// { name: '验收合规检查结果确认', url: '', children: [] },
// { name: '验收合规问题整改', url: '', children: [] },
// { name: '验收合规问题整改核验', url: '', children: [] },
// ]
// },
],
},
{
name: "合规性检查实时提醒",
url: "",
children: [
{ name: "合规性检查提醒", url: "/checkCompliance/automaticCheck", children: [] },
],
},
{
name: "合规性检查规则库构建",
url: "",
children: [
{ name: "检查规则编制", url: "/compliance/checkRules", children: [] },
{ name: "自动稽核任务配置", url: "/compliance/taskConfigure", children: [] },
],
},
{
name: "项目合规检查",
url: "",
children: [
{ name: "合规检查结果", url: "/projectCheck/checkResault", children: [] },
{ name: "合规检查结果确认", url: "/projectCheck/confirmResault", children: [] },
{ name: "合规问题整改", url: "/projectCheck/problemRectify", children: [] },
{ name: "合规问题整改核验", url: "/projectCheck/verificationRectify", children: [] },
],
},
],
},
{
name: "后评估结果管理",
url: "",
......@@ -718,12 +699,11 @@ export default {
name: "后评估合规性管理",
url: "",
children: [
{
{
name: "合规性检查实时提醒",
url: "",
children: [
{ name: "合规性检查自动提醒", url: "", children: [] },
{ name: "合规性检查手动提醒", url: "", children: [] },
{ name: "合规性检查提醒", url: "/checkCompliance/automaticCheck", children: [] },
],
},
{
......
......@@ -108,11 +108,11 @@
</el-table-column>
<el-table-column prop="quesCheckItem" label="问题检查项" width="auto">
</el-table-column>
<el-table-column prop="checkDesc" label="问题描述" width="auto">
<el-table-column prop="checkDesc" label="问题描述" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="appealText" label="是否申诉" width="auto">
</el-table-column>
<el-table-column prop="feedback" label="申诉理由" width="auto">
<el-table-column prop="feedback" label="申诉理由" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="isAppealText" label="申诉是否通过" width="auto">
</el-table-column>
......@@ -120,7 +120,7 @@
</el-table-column>
<el-table-column prop="rectificationText" label="是否完成整改" width="auto">
</el-table-column>
<el-table-column prop="rectificationFeedback" label="整改情况" width="auto">
<el-table-column prop="rectificationFeedback" label="整改情况" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="isRectificationText" label="整改是否通过" width="auto">
</el-table-column>
......
......@@ -7,38 +7,55 @@
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="稽核名称:" prop="batchName" class="fromItem">
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
v-model="ruleForm.auditName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核开始时间:" prop="projectId" class="fromItem">
<el-date-picker v-model="reviewTime" type="date" placeholder="选择日期">
<el-form-item
label="稽核开始时间:"
prop="auditStartTime"
class="fromItem"
>
<el-date-picker
v-model="ruleForm.auditStartTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核结束时间:" prop="projectId" class="fromItem">
<el-date-picker v-model="reviewTime" type="date" placeholder="选择日期">
<el-form-item label="稽核结束时间:" prop="auditEndTime" class="fromItem">
<el-date-picker
v-model="ruleForm.auditEndTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
<el-form-item label="稽核频率:" prop="auditFrequency" class="fromItem">
<el-select
v-model="ruleForm.auditFrequency"
placeholder="请选择"
clearable
>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="稽核状态:" prop="postEvalState" class="fromItem">
<el-form-item label="稽核状态:" prop="confirmStatus" class="fromItem">
<el-select
v-model="ruleForm.postEvalState"
v-model="ruleForm.confirmStatus"
placeholder="请选择"
clearable
>
<el-option label="开启" value="0"></el-option>
<el-option label="关闭" value="1"></el-option>
<el-option label="未确认" value="0"></el-option>
<el-option label="未下发" value="1"></el-option>
<el-option label="已下发" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item class="button">
......@@ -68,23 +85,23 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="稽核名称" prop="batchYear"> </el-table-column>
<el-table-column prop="batchName" label="稽核开始时间">
<el-table-column label="稽核名称" prop="auditName"> </el-table-column>
<el-table-column prop="auditStartTime" label="稽核开始时间">
</el-table-column>
<el-table-column
prop="projectName"
prop="auditEndTime"
label="稽核结束时间"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectStatus" label="稽核状态">
<!-- <el-table-column prop="confirmStatus" label="稽核状态">
</el-table-column> -->
<el-table-column prop="auditFrequencyText" label="稽核频率">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核频率">
<el-table-column prop="abnormalResults" label="检查异常结果">
</el-table-column>
<el-table-column prop="projectStatus" label="检查异常结果">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核时间">
<el-table-column prop="auditEndTime" label="稽核时间">
</el-table-column>
</el-table>
</div>
......@@ -109,41 +126,48 @@
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialog"
:model="ruleFormdialogXQ"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input v-model="ruleFormdialogXQ.auditName" disabled></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
@change="timeChange"
v-model="ruleFormdialogXQ.dates"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
disabled
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核时间:"
prop="planReviewDate"
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialog.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期"
<el-select
v-model="ruleFormdialogXQ.auditFrequency"
placeholder="请选择"
disabled
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">稽核规则配置</p>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
:data="addtableData"
:data="XQtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
......@@ -154,68 +178,73 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="规则名称" width="auto" prop="projectId">
<el-table-column label="规则名称" width="ruleName" prop="projectId">
</el-table-column>
<el-table-column prop="projectName" label="规则类型" width="auto">
<el-table-column prop="ruleType" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核异常项目清单" width="auto">
<el-table-column
prop="projectName"
label="稽核异常项目清单"
width="auto"
show-overflow-tooltip
>
</el-table-column>
</el-table>
</div>
<!-- <el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeXQ"
:current-page="currentPageXQ"
:page-sizes="[5, 10, 15, 20]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination> -->
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXZ()" v-show="false">保存</span>
</p>
</div>
</el-dialog>
</div>
</template>
<script>
import { MaterialsList } from "@/utils/cache";
import {
fzcxselect,
fzcxXqselect,
wtqdqselect,
clqdselect,
selLcb,
} from "@/api/index";
<script>
import { auditTasksResults, xqauditTasksResults } from "@/api/index";
export default {
data() {
return {
listData: {},
qdtableData: JSON.parse(JSON.stringify(MaterialsList())),
tableDataNew: MaterialsList(),
xxtableData: [],
showButton: true,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
projectName: "",
projectId: "",
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
},
ruleFormdialogXQ: {},
currentPageXQ:'',
pageSizeXQ:'',
tableData: [],
checkedList: [],
currentPage: 1,
pageSize: 10,
currentPagetjcl: 1,
pageSizetjcl: 10,
total: 0,
dialog: false,
activeName: "first",
mergingRows: [],
lctableData: [],
XQtableData: [],
};
},
mounted() {
this.submitForm();
},
methods: {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleFormdialogAdd.auditStartTime = time[0];
this.ruleFormdialogAdd.auditEndTime = time[1];
}
},
async submitForm() {
let params = {
current: this.currentPage,
......@@ -223,10 +252,23 @@ export default {
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await fzcxselect(params);
let res = await auditTasksResults(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.auditFrequency == 0) {
this.$set(item, "auditFrequencyText", "仅一次");
} else if (item.auditFrequency == 1) {
this.$set(item, "auditFrequencyText", "每周");
} else if (item.auditFrequency == 2) {
this.$set(item, "auditFrequencyText", "每月");
} else if (item.auditFrequency == 3) {
this.$set(item, "auditFrequencyText", "每季度");
} else if (item.auditFrequency == 4) {
this.$set(item, "auditFrequencyText", "每年");
}
});
this.total = res.data.total * 1;
}
},
......@@ -237,42 +279,27 @@ export default {
this.submitForm();
},
//详情
detailsForm() {
// if (this.checkedList.length != 1) {
// this.$message("请选择");
// return;
// }
this.dialog = true;
// let params = {
// batchId: this.checkedList[0].batchId,
// projectId: this.checkedList[0].projectId,
// };
// Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
// console.log(res[0], res[1], "2222222");
// this.listData = res[0].data.records[0];
// this.qdtableData=this.tableDataNew
// if (res[1].data.records.length > 0) {
// // this.qdtableData = res[1].data.records;
// this.qdtableData = this.qdtableData.concat(res[1].data.records)
// .reduce((accumulator, currentObj) => {
// const existingObj = accumulator.find(
// (obj) => obj.typeCode == currentObj.typeCode
// );
// if (existingObj) {
// Object.assign(existingObj, currentObj);
// } else {
// accumulator.push(currentObj);
// }
// return accumulator;
// }, []);
// console.log( this.tableDataQD,' mergedArray mergedArray mergedArray')
// this.tableDataQD.forEach((item) => {
// // this.$set(item, "batchtype", "开发、实施类");
// });
// }
// });
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
let params = {
current: this.currentPageXQ,
pageSize: this.pageSizeXQ,
auditId: this.checkedList[0].auditId,
};
let res = await xqauditTasksResults(params);
if (res.code == 200) {
this.ruleFormdialogXQ = this.checkedList[0];
this.ruleFormdialogXQ.dates = [
this.checkedList[0].auditStartTime,
this.checkedList[0].auditEndTime,
];
this.XQtableData = res.data.records;
console.log(this.XQtableData,'XQtableDataXQtableData')
this.dialog = true;
}
},
//表格颜色
......@@ -282,88 +309,6 @@ export default {
}
return "";
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
dataPretreatment() {
this.mergingRows = [];
this.mergingPos = 0;
for (let i = 0; i < this.xxtableData.length; i++) {
// tabledata 表格数据源
if (i == 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.xxtableData[i].projectStage ===
this.xxtableData[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
},
async handleClick() {
console.log(this.activeName, "this.activeName");
if (this.activeName == "second") {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
this.xxtableData = [];
let res = await wtqdqselect(params);
if (res.code == "200") {
this.xxtableData = res.data.records;
this.total = res.data.total * 1;
}
this.xxtableData.forEach((item) => {
switch (item.projectStage) {
case 1:
this.$set(item, "projectStagetext", "1.可研");
break;
case 2:
this.$set(item, "projectStagetext", "2.计划");
break;
case 3:
this.$set(item, "projectStagetext", "3.采购");
break;
case 4:
this.$set(item, "projectStagetext", "4.合同");
break;
case 5:
this.$set(item, "projectStagetext", "5.执行");
break;
case 6:
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
this.dataPretreatment();
} else if (this.activeName == "third") {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
let res = await selLcb(params);
if (res.code == "200") {
this.lctableData = res.data;
}
}
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
......@@ -384,13 +329,23 @@ export default {
this.currentPage = val;
this.submitForm();
},
cancel() {
handleSizeChangeXQ(val) {
console.log(`每页 ${val} 条`);
this.pageSizeXQ = val;
this.detailsForm();
},
handleCurrentChangeXQ(val) {
console.log(`当前页: ${val}`);
this.currentPageXQ = val;
this.detailsForm();
},
cancelXQ() {
this.dialog = false;
},
},
};
</script>
<style scoped lang="scss">
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
......@@ -654,4 +609,54 @@ h3 {
overflow: auto;
}
}
.dialog {
.el-form {
border: none !important;
border-top: none;
border-left: none;
border-right: none;
border-bottom: none;
}
}
.zjBtn {
width: 400px;
text-align: left;
vertical-align: middle;
span {
display: inline-block;
width: 140px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 5px;
vertical-align: middle;
}
}
.midBtn {
margin: 0 auto;
height: 50px;
line-height: 50px;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
}
span:first-of-type {
border: 1px solid grey;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
}
}
.setscroll {
width: 100%;
height: 600px;
position: relative;
overflow: auto;
}
</style>
\ No newline at end of file
<template>
<div class="main">
<el-form
:model="ruleForm"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
<div class="main">
<el-form
:model="ruleForm"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input
v-model="ruleForm.auditName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label="稽核开始时间:"
prop="auditStartTime"
class="fromItem"
>
<el-form-item label="稽核名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="稽核开始时间:" prop="projectId" class="fromItem">
<el-date-picker
v-model="reviewTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="稽核结束时间:" prop="projectId" class="fromItem">
v-model="ruleForm.auditStartTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核结束时间:" prop="auditEndTime" class="fromItem">
<el-date-picker
v-model="reviewTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item>
<el-form-item label="稽核状态:" prop="postEvalState" class="fromItem">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<el-option label="开启" value="0"></el-option>
<el-option label="关闭" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item class="button">
<el-button @click="submitForm()">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<el-button @click="resetForm('ruleForm')">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="detailsForm('ruleForm')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="confirm()">
v-model="ruleForm.auditEndTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核频率:" prop="auditFrequency" class="fromItem">
<el-select
v-model="ruleForm.auditFrequency"
placeholder="请选择"
clearable
>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="稽核状态:" prop="confirmStatus" class="fromItem">
<el-select
v-model="ruleForm.confirmStatus"
placeholder="请选择"
clearable
>
<el-option label="未确认" value="0"></el-option>
<el-option label="未下发" value="1"></el-option>
<el-option label="已下发" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item class="button">
<el-button @click="submitForm()">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<el-button @click="resetForm()">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="detailsForm('xq')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<!-- <el-button @click="confirm()">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;结果确认</el-button
>
<el-button @click="appeal()">
> -->
<el-button @click="detailsForm('xf')">
<i class="el-icon-document-remove"></i
>&nbsp;&nbsp;&nbsp;问题下发</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="稽核名称" prop="batchYear"> </el-table-column>
<el-table-column prop="batchName" label="稽核开始时间">
</el-table-column>
<el-table-column prop="projectName" label="稽核结束时间" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="projectStatus" label="稽核状态">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核频率">
</el-table-column>
<el-table-column prop="projectStatus" label="检查异常结果">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核时间">
</el-table-column>
<el-table-column prop="projectCategory" label="结果确认状态">
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
</el-form-item>
</el-form>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title="稽核结果详情"
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="稽核名称" prop="auditName"> </el-table-column>
<el-table-column prop="auditStartTime" label="稽核开始时间">
</el-table-column>
<el-table-column
prop="auditEndTime"
label="稽核结束时间"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column prop="confirmStatus" label="稽核状态">
</el-table-column> -->
<el-table-column prop="auditFrequencyText" label="稽核频率">
</el-table-column>
<el-table-column prop="abnormalResults" label="检查异常结果">
</el-table-column>
<el-table-column prop="auditEndTime" label="稽核时间">
</el-table-column>
<el-table-column prop="confirmStatusText" label="结果确认状态">
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title="稽核结果确认"
:visible.sync="dialog"
width="90%"
:modal-append-to-body="false"
......@@ -115,649 +138,679 @@
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialog"
:model="ruleFormdialogXQ"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input v-model="ruleFormdialogXQ.auditName" disabled></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
@change="timeChange"
v-model="ruleFormdialogXQ.dates"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
disabled
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核时间:"
prop="planReviewDate"
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialog.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期"
<el-select
v-model="ruleFormdialogXQ.auditFrequency"
placeholder="请选择"
disabled
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">稽核规则配置</p>
<el-table
@selection-change="handleSelectionChange"
:data="XQtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<div class="setscroll">
<el-table
:data="XQtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="规则名称" width="auto" prop="projectId">
</el-table-column>
<el-table-column prop="projectName" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核异常项目清单" width="auto">
</el-table-column>
</el-table>
<el-table-column label="规则名称" width="ruleName" prop="projectId">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型" width="auto">
</el-table-column>
<el-table-column
prop="projectName"
label="稽核异常项目清单"
width="auto"
show-overflow-tooltip
>
</el-table-column>
</el-table>
</div>
<!-- <el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeXQ"
:current-page="currentPageXQ"
:page-sizes="[5, 10, 15, 20]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination> -->
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXZ()" v-show="false">保存</span>
</p>
</div>
</el-dialog>
<!-- 确认弹窗 -->
<!-- 下发弹窗 -->
<el-dialog
title="稽核结果确认"
:visible.sync="dialogQR"
title="稽核问题下发"
:visible.sync="dialogXF"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialog"
:model="ruleFormdialogXQ"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input v-model="ruleFormdialogXQ.auditName" disabled></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
@change="timeChange"
v-model="ruleFormdialogXQ.dates"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
disabled
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核时间:"
prop="planReviewDate"
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialog.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期"
<el-select
v-model="ruleFormdialogXQ.auditFrequency"
placeholder="请选择"
disabled
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">稽核规则配置</p>
<el-table
@selection-change="handleSelectionChange"
:data="QRtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<div class="setscroll">
<el-table
:data="XQtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="规则名称" width="auto" prop="projectId">
</el-table-column>
<el-table-column prop="projectName" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核异常项目清单" width="auto">
</el-table-column>
</el-table>
</div>
</el-dialog>
<!-- 下发弹窗 -->
<el-dialog
title="稽核问题下发"
:visible.sync="dialogXF"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
<el-table-column label="规则名称" width="ruleName" prop="projectId">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型" width="auto">
</el-table-column>
<el-table-column
prop="projectName"
label="稽核异常项目清单"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="操作" width="130">
<template slot-scope="scope">
<el-button
@click="
handleClick(scope.row, scope.$index, XQtableData)
"
type="text"
size="small"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</div>
<!-- <el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeXQ"
:current-page="currentPageXQ"
:page-sizes="[5, 10, 15, 20]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
<div class="dialog">
<p class="zjBtn">稽核规则配置</p>
<el-table
@selection-change="handleSelectionChange"
:data="XFtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="规则名称" width="auto" prop="projectId">
</el-table-column>
<el-table-column prop="projectName" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="稽核异常项目清单" width="auto">
</el-table-column>
</el-table>
</el-pagination> -->
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXF()">结果确认</span>
<span @click="resaultXF()">结果下发</span>
</p>
</div>
</el-dialog>
</div>
</template>
</div>
</template>
<script>
import { MaterialsList } from '@/utils/cache'
import {
fzcxselect,
fzcxXqselect,
wtqdqselect,
clqdselect,
selLcb,
} from "@/api/index";
export default {
data() {
return {
listData: {},
QRtableData:[],
dialogQR:false,
XFtableData:[],
dialogXF:false,
showButton: true,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
projectName: "",
projectId: "",
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
},
tableData: [],
checkedList: [],
currentPage: 1,
pageSize: 10,
currentPagetjcl: 1,
pageSizetjcl: 10,
total: 0,
dialog: false,
activeName: "first",
mergingRows: [],
lctableData:[],
<script>
import {
auditTasksResults, xqauditTasksResults,scauditTasksResults,jgxqResults,wtxfResults
} from "@/api/index";
export default {
data() {
return {
listData: {},
QRtableData: [],
dialogQR: false,
XFtableData: [],
dialogXF: false,
showButton: true,
ruleForm: {
},
ruleFormdialog:{},
tableData: [],
checkedList: [],
currentPage: 1,
pageSize: 10,
total: 0,
dialog: false,
XQtableData: [],
ruleFormdialogXQ: {},
currentPageXQ:'',
pageSizeXQ:'',
};
},
mounted() {
this.submitForm();
},
methods: {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleFormdialogAdd.auditStartTime = time[0];
this.ruleFormdialogAdd.auditEndTime = time[1];
}
},
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await auditTasksResults(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.auditFrequency == 0) {
this.$set(item, "auditFrequencyText", "仅一次");
} else if (item.auditFrequency == 1) {
this.$set(item, "auditFrequencyText", "每周");
} else if (item.auditFrequency == 2) {
this.$set(item, "auditFrequencyText", "每月");
} else if (item.auditFrequency == 3) {
this.$set(item, "auditFrequencyText", "每季度");
} else if (item.auditFrequency == 4) {
this.$set(item, "auditFrequencyText", "每年");
}
if (item.confirmStatus == 0) {
this.$set(item, "confirmStatusText", "未确认");
} else if (item.confirmStatus == 1) {
this.$set(item, "confirmStatusText", "未下发");
} else if (item.confirmStatus == 2) {
this.$set(item, "confirmStatusText", "已下发");
}
});
this.total = res.data.total * 1;
}
},
mounted() {
resetForm(formName) {
this.$refs[formName].resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
methods: {
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await fzcxselect(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.total = res.data.total * 1;
}
},
resetForm(formName) {
this.$refs[formName].resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
//详情
detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
//详情
async detailsForm(type) {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
let params = {
current: this.currentPageXQ,
pageSize: this.pageSizeXQ,
auditId: this.checkedList[0].auditId,
};
let res = await xqauditTasksResults(params);
if (res.code == 200) {
this.ruleFormdialogXQ = this.checkedList[0];
this.ruleFormdialogXQ.dates = [
this.checkedList[0].auditStartTime,
this.checkedList[0].auditEndTime,
];
this.XQtableData = res.data.records;
console.log(this.XQtableData,'XQtableDataXQtableData')
if(type=='xq'){
this.dialog = true;
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
Promise.all([fzcxXqselect(params), clqdselect(params)]).then((res) => {
console.log(res[0], res[1], "2222222");
this.listData = res[0].data.records[0];
this.qdtableData=this.tableDataNew
if (res[1].data.records.length > 0) {
// this.qdtableData = res[1].data.records;
this.qdtableData = this.qdtableData.concat(res[1].data.records)
.reduce((accumulator, currentObj) => {
const existingObj = accumulator.find(
(obj) => obj.typeCode == currentObj.typeCode
);
if (existingObj) {
Object.assign(existingObj, currentObj);
} else {
accumulator.push(currentObj);
}
return accumulator;
}, []);
console.log( this.tableDataQD,' mergedArray mergedArray mergedArray')
// this.tableDataQD.forEach((item) => {
// // this.$set(item, "batchtype", "开发、实施类");
// });
}
});
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
return "";
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
dataPretreatment() {
this.mergingRows=[]
this.mergingPos = 0;
for (let i = 0; i < this.xxtableData.length; i++) {
// tabledata 表格数据源
if (i == 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
if (
this.xxtableData[i].projectStage ===
this.xxtableData[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
}
}
}
},
async handleClick() {
console.log(this.activeName, "this.activeName");
if (this.activeName == "second") {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
this.xxtableData=[]
let res = await wtqdqselect(params);
if (res.code == "200") {
this.xxtableData = res.data.records;
this.total = res.data.total * 1;
}
this.xxtableData.forEach((item) => {
switch (item.projectStage) {
case 1:
this.$set(item, "projectStagetext", "1.可研");
break;
case 2:
this.$set(item, "projectStagetext", "2.计划");
break;
case 3:
this.$set(item, "projectStagetext", "3.采购");
break;
case 4:
this.$set(item, "projectStagetext", "4.合同");
break;
case 5:
this.$set(item, "projectStagetext", "5.执行");
break;
case 6:
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
this.dataPretreatment();
} else if (this.activeName == "third") {
let params = {
batchId: this.checkedList[0].batchId,
projectId: this.checkedList[0].projectId,
};
let res = await selLcb(params);
if (res.code == "200") {
this.lctableData = res.data;
}
}
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm()
},
cancel() {
this.dialog = false;
},
}else{
this.dialogXF = true;
}
}
},
};
</script>
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}
.el-form {
display: flex;
width: 100%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding: 20px 10px;
margin-bottom: 20px;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
.el-select {
width: 226px;
return "";
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
cancelXQ() {
this.dialog = false;
this.dialogXF=false;
},
async handleClick(row, index, rows) {
console.log("删除", row);
rows.splice(index, 1);
this.XQtableData = rows;
let params={
auditId: this.checkedList[0].auditId,
ruleId:row.ruleId,
projectId:row.projectId,
}
let res= await scauditTasksResults(params)
},
//结果确认
async saveXF(){
let params={
auditId: this.checkedList[0].auditId,
}
let res= await jgxqResults(params)
},
//结果下发
async resaultXF(){
let params={
auditId: this.checkedList[0].auditId,
}
let res= await wtxfResults(params)
if(res.code==200){
this.dialogXF=false;
this.resetForm();
}
}
/deep/ .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
},
};
</script>
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}
.el-form {
display: flex;
width: 100%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding: 20px 10px;
margin-bottom: 20px;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
/deep/ .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
.el-select {
width: 226px;
}
.button {
display: inline-block;
width: 100%;
}
/deep/ .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
}
.button {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
margin-left: 20px !important;
text-align: left;
/deep/ .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
width: 14px;
height: 14px;
margin-right: 15px;
vertical-align: middle;
}
}
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
img {
width: 14px;
height: 14px;
margin-right: 15px;
vertical-align: middle;
}
}
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
}
}
.eltable {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
.eltable {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
// height: 500px;
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
// height: 500px;
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-table__header th {
background-color: #eeeeee;
font-weight: bold;
.cell {
color: #333;
}
/deep/ .el-dialog__wrapper {
position: absolute;
}
/deep/.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
width: 100% !important;
}
/deep/ .v-modal {
position: absolute;
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
/deep/ .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
}
.dialog {
.title {
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
}
}
/deep/ .el-table__header th {
background-color: #eeeeee;
font-weight: bold;
.cell {
color: #333;
font-size: 18px;
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
color: #1ec695;
text-align: left;
height: 20px;
margin-top: 0;
span {
border-radius: 2px;
display: inline-block;
width: 5px;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
}
}
/deep/.el-table {
.content {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
width: 100% !important;
}
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
}
.dialog {
.title {
text-align: left;
font-size: 18px;
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
color: #1ec695;
display: flex;
flex-wrap: wrap;
p {
width: 24%;
text-align: left;
height: 20px;
margin-top: 0;
span {
border-radius: 2px;
display: inline-block;
width: 5px;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
}
}
.content {
width: 100%;
display: flex;
flex-wrap: wrap;
p {
width: 24%;
text-align: left;
display: flex;
label {
display: inline-block;
width: 150px;
flex-shrink: 0;
text-align: right;
font-weight: bold;
margin-right: 20px;
vertical-align: middle;
}
span{
display: inline-block;
text-align: left
}
}
}
.table {
width: 100%;
display: flex;
p {
label {
display: inline-block;
width: 150px;
flex-shrink: 0;
text-align: right;
font-weight: bold;
margin-right: 20px;
vertical-align: middle;
}
.tablepg {
margin-top: 20px;
margin-left: 5px;
span {
display: inline-block;
text-align: left;
}
}
}
.textarea {
.table {
width: 100%;
.el-textarea {
width: 60%;
}
}
.Btn {
width: 200px;
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 4px;
margin-right: 12px;
display: flex;
p {
width: 150px;
text-align: right;
font-weight: bold;
}
span:first-of-type {
border: 1px solid #000;
}
span:last-of-type {
background-color: #0d867f;
border: 1px solid #0d867f;
color: #fff;
.tablepg {
margin-top: 20px;
margin-left: 5px;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.textarea {
width: 100%;
.el-textarea {
width: 60%;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
}
.Btn {
width: 200px;
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 4px;
margin-right: 12px;
}
/deep/ .el-table__cell {
text-align: center;
span:first-of-type {
border: 1px solid #000;
}
h3 {
text-align: left;
span:last-of-type {
background-color: #0d867f;
border: 1px solid #0d867f;
color: #fff;
}
/deep/.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
}
.close {
width: 100%;
height: 40px;
line-height: 20px;
span {
display: inline-block;
width: 80px;
height: 30px;
line-height: 30px;
border: 1px solid grey;
border-radius: 5px;
}
/deep/.el-tabs__content {
}
.setscrolldialog {
width: 100%;
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
height: 500px;
padding-bottom: 20px;
}
.close {
width: 100%;
height: 40px;
line-height: 20px;
span {
display: inline-block;
width: 80px;
height: 30px;
line-height: 30px;
border: 1px solid grey;
border-radius: 5px;
}
}
.zjBtn {
width: 400px;
text-align: left;
vertical-align: middle;
span {
display: inline-block;
width: 140px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 5px;
vertical-align: middle;
}
.setscroll {
width: 100%;
height: 650px;
position: relative;
overflow: auto;
}
.midBtn {
margin: 0 auto;
height: 50px;
line-height: 50px;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
background-color: #4ca6a7;
color: #fff;
}
.setscrolldialog {
width: 100%;
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
}
span:first-of-type {
border: 1px solid grey;
background-color: #fff;
color: #333;
}
}
.setscroll {
width: 100%;
height: 585px;
position: relative;
overflow: auto;
}
.dialog {
.el-form {
border: none !important;
border-top: none;
border-left: none;
border-right: none;
border-bottom: none;
}
</style>
\ No newline at end of file
}
</style>
\ No newline at end of file
......@@ -3,26 +3,42 @@
<div class="main">
<el-form
:model="ruleForm"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
ref="formName"
>
<el-form-item label="项目名称:" prop="batchName" class="fromItem">
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
v-model="ruleForm.auditName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核名称:" prop="batchName" class="fromItem">
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
v-model="ruleForm.auditName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核时间:" prop="projectId" class="fromItem">
<el-date-picker v-model="reviewTime" type="date" placeholder="选择日期">
<el-form-item
label="稽核开始时间:"
prop="auditStartTime"
class="fromItem"
>
<el-date-picker
v-model="ruleForm.auditStartTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="稽核结束时间:" prop="auditEndTime" class="fromItem">
<el-date-picker
v-model="ruleForm.auditEndTime"
type="date"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
......@@ -30,17 +46,13 @@
<el-button @click="submitForm()">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<el-button @click="resetForm('ruleForm')">
<el-button @click="resetForm()">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="detailsForm('')">
<el-button @click="detailsForm('xq')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="confirm()">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;问题整改</el-button
>
<el-button @click="appeal()">
<el-button @click="detailsForm('xf')">
<i class="el-icon-document-remove"></i
>&nbsp;&nbsp;&nbsp;整改提交</el-button
>
......@@ -52,6 +64,7 @@
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
......@@ -60,20 +73,20 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="项目名称" prop="batchYear"> </el-table-column>
<el-table-column prop="batchName" label="项目经理"> </el-table-column>
<el-table-column label="项目名称" prop="projectName"> </el-table-column>
<el-table-column prop="personCharge" label="项目经理">
</el-table-column>
<el-table-column
prop="projectName"
prop="auditName"
label="稽核名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectCategory" label="检查异常项">
</el-table-column>
<el-table-column prop="projectStatus" label="稽核时间">
<el-table-column prop="abnormalResults" label="检查异常项">
</el-table-column>
<el-table-column prop="expertName" label="问题整改状态">
<el-table-column prop="auditTime" label="稽核时间"> </el-table-column>
<el-table-column prop="rectificationStatus" label="问题整改状态">
</el-table-column>
</el-table>
</div>
......@@ -88,332 +101,290 @@
class="elpagination"
>
</el-pagination>
<!-- 问题整改 -->
<!-- 详情弹窗 -->
<el-dialog
title="复核情况"
:visible.sync="dialogQR"
width="79%"
title="稽核问题整改"
:visible.sync="dialog"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
@close="closed"
>
<div class="dialog">
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div class="continer">
<p class="xqtitle"><span></span>问题清单</p>
<div class="setTable">
<el-table
:data="tableDataQR"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
:span-method="arraySpanMethod"
border
<el-form
:model="ruleFormdialogXQ"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input v-model="ruleFormdialogXQ.auditName" disabled></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
v-model="ruleFormdialogXQ.auditTime"
value-format="yyyy-MM-dd hh:mm:ss"
disabled
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-select
v-model="ruleFormdialogXQ.auditFrequency"
placeholder="请选择"
disabled
>
<el-table-column
label="项目环节"
prop="projectStagetext"
width="150"
>
</el-table-column>
<el-table-column label="序号" width="100" prop="questionId">
</el-table-column>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">稽核结果</p>
<div class="setscroll">
<el-table
:data="XQtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column
label="问题检查项"
prop="quesCheckItem"
width="200"
>
</el-table-column>
<el-table-column
label="检查说明"
prop="checkDesc"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="评估问题"
prop="evalQues"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="问题确认" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column label="解释批注" width="200">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<el-input v-model="scope.row.feedback"></el-input>
</template>
</el-table-column>
<el-table-column label="附加解释材料" prop="fileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/>
</template>
</el-table-column>
<el-table-column
label="复核情况"
prop="rectificationStatus"
width="200"
>
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<el-select
v-model="scope.row.appealStatus"
placeholder="请选择"
disabled
>
<el-option label="请选择" value=""></el-option>
<el-option label="未申诉" :value="0"></el-option>
<el-option label="已申诉" :value="1"></el-option>
<el-option label="申诉驳回" :value="2"></el-option>
<el-option label="申诉通过" :value="3"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="上传整改材料" prop="zgFileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<input
type="file"
@change="handleFileUpload($event, scope.row, 'zgFileId')"
/>
</template>
</el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
<el-table-column
label="项目名称"
width="auto"
prop="projectName"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="规则名称" width="ruleName" prop="projectId">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型" width="auto">
</el-table-column>
<el-table-column label="问题申诉" width="auto">
<template slot-scope="scope">
<el-switch
disabled
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
>
<input
type="file"
@change="handleFileUpload($event, scope.row, 'zgqkFileId')"
/>
</template>
</el-table-column>
</el-table>
</div>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
<!-- <el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeXQ"
:current-page="currentPageXQ"
:page-sizes="[5, 10, 15, 20]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination> -->
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXZ()" v-show="false">保存</span>
</p>
</div>
<p class="midBtn">
<span @click="cancelSS()">取消</span><span @click="saveSS()">保存</span>
</p>
</el-dialog>
<!-- 复核下发 -->
<!-- 下发弹窗 -->
<el-dialog
title="复核情况"
:visible.sync="dialogSS"
width="79%"
title="稽核问题整改"
:visible.sync="dialogXF"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<h3>
项目名称:一期项目-电力营销-2023年网上国网(网上国网V1.0)-设计开发项目
</h3>
<div class="continer">
<p class="xqtitle"><span></span>问题清单</p>
<div class="setTable">
<el-table
:data="tableDataSS"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
:span-method="arraySpanMethodss"
border
>
<el-table-column
label="项目环节"
prop="projectStagetext"
width="150"
>
</el-table-column>
<el-table-column label="序号" width="100" prop="questionId">
</el-table-column>
<el-form
:model="ruleFormdialogXQ"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input v-model="ruleFormdialogXQ.auditName" disabled></el-input>
</el-form-item>
<el-table-column
label="问题检查项"
prop="quesCheckItem"
width="200"
>
</el-table-column>
<el-table-column
label="检查说明"
prop="checkDesc"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="评估问题"
prop="evalQues"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="问题确认" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
disabled
@change="controlSwitch($event, scope.row)"
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column label="解释批注" width="200">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<el-input v-model="scope.row.feedback" disabled></el-input>
</template>
</el-table-column>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
v-model="ruleFormdialogXQ.auditTime"
value-format="yyyy-MM-dd hh:mm:ss"
disabled
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-select
v-model="ruleFormdialogXQ.auditFrequency"
placeholder="请选择"
disabled
>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">稽核结果</p>
<div class="setscroll">
<el-table
:data="XQtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="附加解释材料" prop="fileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
<el-table-column
label="项目名称"
width="auto"
prop="projectName"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="规则名称" width="ruleName" prop="projectId">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型" width="auto">
</el-table-column>
<el-table-column label="问题申诉" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
>
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column
label="复核情况"
prop="rectificationStatus"
width="200"
>
<template
slot-scope="scope"
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="ruleType" label="申诉证明材料" width="auto">
<template slot-scope="scope">
<input
type="file"
@change="handleFileUpload($event,scope.row,'sszmFileId')"
v-if="scope.row.confirmStatus == '1'"
>
<el-select
v-model="scope.row.appealStatus"
placeholder="请选择"
disabled
>
<el-option label="请选择" value=""></el-option>
<el-option label="未申诉" :value="0"></el-option>
<el-option label="已申诉" :value="1"></el-option>
<el-option label="申诉驳回" :value="2"></el-option>
<el-option label="申诉通过" :value="3"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="上传整改材料" prop="zgFileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
>
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column label="情况说明" prop="zgqkFileId" width="400">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1' && scope.row.fileId"
>
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
</el-table>
</div>
/>
</template>
</el-table-column>
<el-table-column prop="ruleType" label="问题解决佐证材料" width="auto">
<template slot-scope="scope">
<input
type="file"
@change="handleFileUpload($event,scope.row,'sszzFileId')"
v-if="scope.row.confirmStatus == '1'"
/>
</template>
</el-table-column>
</el-table>
</div>
<!-- <el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeXQ"
:current-page="currentPageXQ"
:page-sizes="[5, 10, 15, 20]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination> -->
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXF()">保存</span>
<span @click="resaultXF()">提交</span>
</p>
</div>
<p class="midBtn">
<span @click="cancel()">取消</span><span @click="save()">提交</span>
</p>
</el-dialog>
</div>
</template>
<script>
<script>
import {
ProblemRectification,
wtssSelProblemRectification,
wtzgProblemRectification,
wtzgxfProblemRectification,
auditTasksRuleProjectLink,
xqRuleProjectLink,
savaauditRuleProjectLink,
tjTasksRuleProjectLink,
ossupload,
downloadObject,
} from "@/api/index";
export default {
data() {
return {
dialogSS: false,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
},
listData: {},
QRtableData: [],
dialogQR: false,
XFtableData: [],
dialogXF: false,
showButton: true,
ruleForm: {},
ruleFormdialog: {},
tableData: [],
tableDataQR: [],
tableDataSS: [],
checkedList: [],
currentPage: 1,
pageSizetjcl: 10,
total: 0,
dialogQR: false,
pageSize: 10,
mergingPos: 0,
mergingRows: [],
mergingPosss: 0,
mergingRowsss: [],
total: 0,
dialog: false,
XQtableData: [],
ruleFormdialogXQ: {},
currentPageXQ: "",
pageSizeXQ: "",
};
},
mounted() {
this.submitForm();
},
methods: {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleFormdialogAdd.auditStartTime = time[0];
this.ruleFormdialogAdd.auditEndTime = time[1];
}
},
async submitForm() {
let params = {
current: this.currentPage,
......@@ -421,110 +392,71 @@ export default {
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await ProblemRectification(params);
let res = await auditTasksRuleProjectLink(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.reviewStatus == "6") {
this.$set(item, "postEvalState", "整改未完成");
} else if (item.reviewStatus == "7") {
this.$set(item, "postEvalState", "整改已完成");
} else {
this.$set(item, "postEvalState", "整改提交");
if (item.auditFrequency == 0) {
this.$set(item, "auditFrequencyText", "仅一次");
} else if (item.auditFrequency == 1) {
this.$set(item, "auditFrequencyText", "每周");
} else if (item.auditFrequency == 2) {
this.$set(item, "auditFrequencyText", "每月");
} else if (item.auditFrequency == 3) {
this.$set(item, "auditFrequencyText", "每季度");
} else if (item.auditFrequency == 4) {
this.$set(item, "auditFrequencyText", "每年");
}
if (item.confirmStatus == 0) {
this.$set(item, "confirmStatusText", "未确认");
} else if (item.confirmStatus == 1) {
this.$set(item, "confirmStatusText", "未下发");
} else if (item.confirmStatus == 2) {
this.$set(item, "confirmStatusText", "已下发");
}
});
this.total = res.data.total * 1;
}
},
resetForm() {
this.$refs.formName.resetFields();
resetForm(formName) {
this.$refs[formName].resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
detailsForm() {},
//问题整改
async confirm() {
this.mergingPos = 0;
this.mergingRows = [];
//详情
async detailsForm(type) {
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行整改");
this.$message("请选择");
return;
}
this.dialogQR = true;
let params = {
// current: this.currentPageXQ,
// pageSize: this.pageSizeXQ,
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
auditId: this.checkedList[0].auditId,
};
let res = await wtssSelProblemRectification(params);
if (res.code == "200") {
this.tableDataQR = res.data.records;
this.tableDataQR.forEach((item) => {
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "1.可研");
break;
case "2":
this.$set(item, "projectStagetext", "2.计划");
break;
case "3":
this.$set(item, "projectStagetext", "3.采购");
break;
case "4":
this.$set(item, "projectStagetext", "4.合同");
break;
case "5":
this.$set(item, "projectStagetext", "5.执行");
break;
case "6":
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
console.log(this.tableDataQR, "加不进去?");
this.dataPretreatment();
}
},
dataPretreatment() {
for (let i = 0; i < this.tableDataQR.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRows.push(1);
this.mergingPos = 0;
} else {
let res = await xqRuleProjectLink(params);
if (res.code == 200) {
this.ruleFormdialogXQ = this.checkedList[0];
this.XQtableData = res.data.records;
this.XQtableData.forEach((item) => {
if (
this.tableDataQR[i].projectStage ===
this.tableDataQR[i - 1].projectStage
item.confirmStatus == 0 ||
item.confirmStatus == null ||
!item.confirmStatus
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRows[this.mergingPos] += 1;
this.mergingRows.push(0);
} else {
this.mergingRows.push(1);
this.mergingPos = i;
this.$set(item, "confirmStatus", "2");
}
}
}
},
dataPretreatmentSS() {
for (let i = 0; i < this.tableDataSS.length; i++) {
// tabledata 表格数据源
if (i === 0) {
this.mergingRowsss.push(1);
this.mergingPosss = 0;
});
console.log(this.XQtableData, "XQtableDataXQtableData");
if (type == "xq") {
this.dialog = true;
} else {
if (
this.tableDataSS[i].projectStage ===
this.tableDataSS[i - 1].projectStage
) {
//哪些数据是要合并的 合并的条件是什么
this.mergingRowsss[this.mergingPosss] += 1;
this.mergingRowsss.push(0);
} else {
this.mergingRowsss.push(1);
this.mergingPosss = i;
}
this.dialogXF = true;
}
}
},
......@@ -538,169 +470,78 @@ export default {
},
//主列表选中行信息
handleSelectionChange(selection) {
console.log("222222");
if (Array.isArray(selection) && selection.length > 1) {
console.log("222222333", this.checkedList);
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.$forceUpdate();
this.ruleFormdialog = this.checkedList[0];
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
arraySpanMethodss({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRowsss[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
cancelSS() {
this.dialogQR = false;
cancelXQ() {
this.dialog = false;
this.dialogXF = false;
},
async save() {
let res = await wtzgxfProblemRectification(this.tableDataSS);
if (res.code == "200") {
this.dialogSS = false;
this.resetForm();
} else {
this.$message("整改提交失败");
}
async handleClick(row, index, rows) {
console.log("删除", row);
rows.splice(index, 1);
this.XQtableData = rows;
let params = {
auditId: this.checkedList[0].auditId,
ruleId: row.ruleId,
projectId: row.projectId,
};
let res = await scauditTasksResults(params);
},
cancel() {
this.dialogSS = false;
//结果确认
async saveXF() {
console.log(this.XQtableData,'this.XQtableData')
let res = await savaauditRuleProjectLink(this.XQtableData);
},
async saveSS() {
this.tableDataQR.forEach((item) => {
if (item.confirmStatus == "1") {
if (!item.feedback) {
this.$message("有未填写的的解释批注");
throw new Error("主动跳出循环");
}
}
});
let res = await wtzgProblemRectification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
//结果下发
async resaultXF() {
let res = await tjTasksRuleProjectLink(this.XQtableData);
if (res.code == 200) {
this.dialogXF = false;
this.resetForm();
}
},
//问题提交
async appeal() {
this.mergingPosss = 0;
this.mergingRowsss = [];
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行提交");
return;
}
this.dialogSS = true;
let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
};
let res = await wtssSelProblemRectification(params);
if (res.code == "200") {
this.tableDataSS = res.data.records;
this.tableDataSS.forEach((item) => {
if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2");
}
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "1.可研");
break;
case "2":
this.$set(item, "projectStagetext", "2.计划");
break;
case "3":
this.$set(item, "projectStagetext", "3.采购");
break;
case "4":
this.$set(item, "projectStagetext", "4.合同");
break;
case "5":
this.$set(item, "projectStagetext", "5.执行");
break;
case "6":
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
console.log(this.tableDataSS);
this.dataPretreatmentSS();
}
},
handleFileUpload(event, row, type) {
handleFileUpload(event, row,type) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFile(row, type);
this.submitFile(row,type);
},
submitFile(row, type) {
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
ossupload(formData)
.then((response) => {
console.log(response);
this.file = [];
this.$set(row, type, response.data.fileId);
})
.catch((error) => {
console.error(error);
});
} else {
this.$message("请先选择文件");
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
},
async handleClickXZ(scope) {
console.log(scope.fileId);
let response = await downloadObject({
fileId: scope.fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = scope.fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
}
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
ossupload(formData)
.then((response) => {
console.log(response);
this.file = [];
this.$set(row, type, response.data.fileId);
console.log(this.XQtableData,'XQtableDataXQtableData')
})
.catch((error) => {
console.error(error);
});
} else {
this.$message("请先选择文件");
}
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
},
};
......@@ -716,14 +557,14 @@ export default {
}
.el-form {
display: flex;
width: 99%;
width: 100%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding: 20px 10px;
margin: 20px 0;
margin-bottom: 20px;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
......@@ -767,10 +608,8 @@ export default {
}
}
.eltable {
width: 100%;
box-sizing: border-box;
text-align: center;
height: 100%;
overflow-y: auto;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
......@@ -784,10 +623,9 @@ export default {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
// height: 500px;
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
position: absolute;
......@@ -797,7 +635,7 @@ export default {
}
/deep/ .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
// padding-bottom: 20px;
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
......@@ -813,10 +651,10 @@ export default {
}
/deep/.el-table {
// width: 100%;
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
// width: 100% !important;
width: 100% !important;
}
.el-table__body,
.el-table__footer,
......@@ -825,26 +663,67 @@ export default {
}
}
.dialog {
height: 680px;
.xqtitle {
.title {
text-align: left;
font-size: 18px;
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
color: #1ec695;
text-align: left;
height: 20px;
margin-top: 0;
span {
border-radius: 2px;
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
}
}
.content {
width: 100%;
display: flex;
flex-wrap: wrap;
p {
width: 24%;
text-align: left;
display: flex;
label {
display: inline-block;
width: 150px;
flex-shrink: 0;
text-align: right;
font-weight: bold;
margin-right: 20px;
vertical-align: middle;
}
span {
display: inline-block;
text-align: left;
}
}
}
.table {
width: 100%;
display: flex;
p {
width: 150px;
text-align: right;
font-weight: bold;
}
.tablepg {
margin-top: 20px;
margin-left: 5px;
}
}
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
display: flex;
}
.el-textarea {
width: 60%;
}
......@@ -873,6 +752,58 @@ export default {
/deep/ .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
}
.close {
width: 100%;
height: 40px;
line-height: 20px;
span {
display: inline-block;
width: 80px;
height: 30px;
line-height: 30px;
border: 1px solid grey;
border-radius: 5px;
}
}
.setscrolldialog {
width: 100%;
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
}
}
.zjBtn {
width: 400px;
text-align: left;
......@@ -886,35 +817,11 @@ export default {
border-radius: 5px;
vertical-align: middle;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
padding: 5px 10px;
margin-left: 10px;
}
}
/deep/ .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
text-align: right;
width: 20%;
.zjquery {
display: inline-block;
background-color: #4ca6a7;
width: 89px;
height: 40px;
color: #fff;
text-align: center;
line-height: 40px;
border-radius: 5px;
}
}
.midBtn {
margin: 0 auto;
height: 50px;
line-height: 50px;
span {
display: inline-block;
width: 80px;
......@@ -923,59 +830,92 @@ export default {
text-align: center;
margin-right: 10px;
border-radius: 5px;
background-color: #4ca6a7;
color: #fff;
}
span:first-of-type {
border: 1px solid grey;
background-color: #fff;
color: #333;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
.dialogHeigth {
height: 300px;
box-sizing: border-box;
overflow-y: auto;
}
.setscroll {
width: 100%;
height: 650px;
height: 585px;
position: relative;
overflow: auto;
}
.setscrolldialog {
width: 100%;
height: 300px;
position: relative;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
height: 300px;
overflow: auto;
position: absolute;
min-width: 100%;
.dialog {
.el-form {
border: none !important;
border-top: none;
border-left: none;
border-right: none;
border-bottom: none;
}
}
.setscrolldialogx {
/deep/.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
line-height: 30px;
}
.setscroll {
width: 100%;
height: 300px;
height: 650px;
position: relative;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
position: absolute;
width: auto !important;
max-width: none;
}
}
::v-deep.el-table::before {
display: none !important;
}
</style>
\ No newline at end of file
<template>
<div class="main">
<el-form
:model="ruleForm"
label-width="100px"
class="demo-ruleForm"
ref="formName"
<div class="main">
<el-form
:model="ruleForm"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input
v-model="ruleForm.auditName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input
v-model="ruleForm.auditName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label="稽核开始时间:"
prop="auditStartTime"
class="fromItem"
>
<el-form-item label="项目名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="稽核时间:" prop="projectId" class="fromItem">
<el-date-picker v-model="reviewTime" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item class="button">
<el-button @click="submitForm()">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<el-button @click="resetForm('')">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="detailsForm('')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="confirm()">
<i class="el-icon-chat-dot-square"></i
>&nbsp;&nbsp;&nbsp;问题整改核验</el-button
>
<el-button @click="appeal()">
<i class="el-icon-document-remove"></i
>&nbsp;&nbsp;&nbsp;整改提交</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
<el-date-picker
v-model="ruleForm.auditStartTime"
type="date"
placeholder="选择日期"
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="项目名称" prop="batchYear"> </el-table-column>
<el-table-column prop="batchName" label="项目经理"> </el-table-column>
<el-table-column
prop="projectName"
label="稽核名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectCategory" label="检查异常项">
</el-table-column>
<el-table-column prop="projectStatus" label="稽核时间">
</el-table-column>
<el-table-column prop="expertName" label="问题整改状态">
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination>
<!-- 问题整改 -->
<el-dialog
title="稽核问题整改核验"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialogBJ"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
</el-date-picker>
</el-form-item>
<el-form-item label="稽核结束时间:" prop="auditEndTime" class="fromItem">
<el-date-picker
v-model="ruleForm.auditEndTime"
type="date"
placeholder="选择日期"
>
<el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item
label="稽核时间:"
prop="planReviewDate"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialogBJ.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
</el-form>
</el-date-picker>
</el-form-item>
<p class="zjBtn">
待评估项目
</p>
<el-table
@selection-change="handleSelectionChange"
:data="addtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
<el-form-item class="button">
<el-button @click="submitForm()">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<el-button @click="resetForm()">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="detailsForm('xq')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-button @click="detailsForm('xf')">
<i class="el-icon-document-remove"></i
>&nbsp;&nbsp;&nbsp;整改复核提交</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="项目名称" prop="projectName"> </el-table-column>
<el-table-column prop="personCharge" label="项目经理">
</el-table-column>
<el-table-column label="项目名称" width="auto" prop="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="规则名称" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="问题申诉" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="projectStatus" label="申诉证明材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="哪个字段" label="问题解决佐证材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="email" label="问题整改复核" width="auto">
</el-table-column>
</el-table>
</div>
</el-dialog>
<!-- 复核下发 -->
<el-dialog
title="稽核问题整改核验"
:visible.sync="dialogXQ"
<el-table-column
prop="auditName"
label="稽核名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="abnormalResults" label="检查异常项">
</el-table-column>
<el-table-column prop="auditTime" label="稽核时间"> </el-table-column>
<el-table-column prop="rectificationStatus" label="问题整改复核状态">
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title="稽核问题整改核验"
:visible.sync="dialog"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialogBJ"
:model="ruleFormdialogXQ"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input v-model="ruleFormdialogXQ.auditName" disabled></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
v-model="ruleFormdialogXQ.auditTime"
value-format="yyyy-MM-dd hh:mm:ss"
disabled
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核时间:"
prop="planReviewDate"
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialogBJ.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
<el-select
v-model="ruleFormdialogXQ.auditFrequency"
placeholder="请选择"
disabled
>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">稽核结果</p>
<div class="setscroll">
<el-table
:data="XQtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<p class="zjBtn">
待评估项目
</p>
<el-table
@selection-change="handleSelectionChange"
:data="addtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="项目名称" width="auto" prop="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="规则名称" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="问题申诉" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="projectStatus" label="申诉证明材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="哪个字段" label="问题解决佐证材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
<el-table-column
label="项目名称"
width="auto"
prop="projectName"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="规则名称" width="ruleName" prop="projectId">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型" width="auto">
</el-table-column>
<el-table-column label="问题申诉" width="auto">
<template slot-scope="scope">
<el-switch
disabled
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="email" label="问题整改复核" width="auto">
</el-table-column>
</el-table>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
<!-- <el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeXQ"
:current-page="currentPageXQ"
:page-sizes="[5, 10, 15, 20]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination> -->
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXZ()" v-show="false">保存</span>
</p>
</div>
</el-dialog>
<!-- 详情弹窗 -->
<!-- 下发弹窗 -->
<el-dialog
title="稽核问题整改核验"
:visible.sync="dialogXQ"
title="稽核问题整改"
:visible.sync="dialogXF"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialogBJ"
:model="ruleFormdialogXQ"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="稽核名称:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
<el-form-item label="稽核名称:" prop="auditName" class="fromItem">
<el-input v-model="ruleFormdialogXQ.auditName" disabled></el-input>
</el-form-item>
<el-form-item label="稽核时间:" class="fromItem" prop="dates">
<el-date-picker
v-model="ruleFormdialogXQ.auditTime"
value-format="yyyy-MM-dd hh:mm:ss"
disabled
></el-date-picker>
</el-form-item>
<el-form-item
label="稽核时间:"
prop="planReviewDate"
label="稽核频率:"
prop="auditFrequency"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialogBJ.value1"
type="datetimerange"
range-separator="至"
start-placeholder="请选择开始日期"
end-placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="稽核范围:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="稽核频率:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
<el-select
v-model="ruleFormdialogXQ.auditFrequency"
placeholder="请选择"
disabled
>
<el-option label="仅一次" value="0"></el-option>
<el-option label="每周" value="1"></el-option>
<el-option label="每月" value="2"></el-option>
<el-option label="每季度" value="3"></el-option>
<el-option label="每年" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<p class="zjBtn">稽核结果</p>
<div class="setscroll">
<el-table
:data="XQtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<p class="zjBtn">
待评估项目
</p>
<el-table
@selection-change="handleSelectionChange"
:data="addtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="项目名称" width="auto" prop="projectId">
</el-table-column>
<el-table-column prop="projectYear" label="规则名称" width="auto">
</el-table-column>
<el-table-column prop="projectName" label="规则类型" width="auto">
</el-table-column>
<el-table-column prop="projectCategory" label="问题申诉" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
disabled
>
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="projectStatus" label="申诉证明材料" width="auto">
<template
slot-scope="scope"
v-if="scope.row.confirmStatus == '1'"
<el-table-column
label="项目名称"
width="auto"
prop="projectName"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="规则名称" width="ruleName" prop="projectId">
</el-table-column>
<el-table-column prop="ruleType" label="规则类型" width="auto">
</el-table-column>
<el-table-column label="问题申诉" width="auto">
<template slot-scope="scope">
<el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="哪个字段" label="问题解决佐证材料" width="auto">
<template
slot-scope="scope"
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="ruleType" label="申诉证明材料" width="auto">
<template slot-scope="scope">
<input
type="file"
@change="handleFileUpload($event,scope.row,sszmFileId)"
v-if="scope.row.confirmStatus == '1'"
>
<!-- <input
type="file"
@change="handleFileUpload($event, scope.row, 'fileId')"
/> -->
{{ scope.row.fileName }}
<el-button @click="handleClickXZ(scope.row)">下载</el-button>
</template>
</el-table-column>
<el-table-column prop="email" label="问题整改复核" width="auto">
</el-table-column>
</el-table>
/>
</template>
</el-table-column>
<el-table-column prop="ruleType" label="问题解决佐证材料" width="auto">
<template slot-scope="scope">
<input
type="file"
@change="handleFileUpload($event,scope.row,sszzFileId)"
v-if="scope.row.confirmStatus == '1'"
/>
</template>
</el-table-column>
<el-table-column prop="ruleType" label="问题整改复核" width="auto">
</el-table-column>
</el-table>
</div>
<!-- <el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeXQ"
:current-page="currentPageXQ"
:page-sizes="[5, 10, 15, 20]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination> -->
<p class="midBtn">
<span @click="cancelXQ()">取消</span
><span @click="saveXF()">保存</span>
<span @click="resaultXF()">提交</span>
</p>
</div>
</el-dialog>
</div>
</template>
<script>
import {
ProblemRectification,
wtssSelProblemRectification,
wtzgProblemRectification,
wtzgxfProblemRectification,
ossupload,
downloadObject,
} from "@/api/index";
export default {
data() {
return {
dialogSS: false,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
},
tableData: [],
tableDataQR: [],
tableDataSS: [],
checkedList: [],
currentPage: 1,
pageSizetjcl: 10,
total: 0,
dialogQR: false,
pageSize: 10,
dialogXQ:false,
ruleFormdialogBJ:{
value1: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)],
</div>
</template>
<script>
import {
auditTasksRuleProjectLink,
xqRuleProjectLink,
savaauditRuleProjectLink,
tjTasksRuleProjectLink,
ossupload,
} from "@/api/index";
export default {
data() {
return {
listData: {},
QRtableData: [],
dialogQR: false,
XFtableData: [],
dialogXF: false,
showButton: true,
ruleForm: {},
ruleFormdialog: {},
tableData: [],
},
checkedList: [],
currentPage: 1,
pageSize: 10,
total: 0,
dialog: false,
XQtableData: [],
ruleFormdialogXQ: {},
currentPageXQ: "",
pageSizeXQ: "",
};
},
mounted() {
this.submitForm();
},
methods: {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleFormdialogAdd.auditStartTime = time[0];
this.ruleFormdialogAdd.auditEndTime = time[1];
}
},
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await auditTasksRuleProjectLink(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.auditFrequency == 0) {
this.$set(item, "auditFrequencyText", "仅一次");
} else if (item.auditFrequency == 1) {
this.$set(item, "auditFrequencyText", "每周");
} else if (item.auditFrequency == 2) {
this.$set(item, "auditFrequencyText", "每月");
} else if (item.auditFrequency == 3) {
this.$set(item, "auditFrequencyText", "每季度");
} else if (item.auditFrequency == 4) {
this.$set(item, "auditFrequencyText", "每年");
}
if (item.confirmStatus == 0) {
this.$set(item, "confirmStatusText", "未确认");
} else if (item.confirmStatus == 1) {
this.$set(item, "confirmStatusText", "未下发");
} else if (item.confirmStatus == 2) {
this.$set(item, "confirmStatusText", "已下发");
}
});
this.total = res.data.total * 1;
}
},
mounted() {
resetForm(formName) {
this.$refs[formName].resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
methods: {
async submitForm() {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await ProblemRectification(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.reviewStatus == "6") {
this.$set(item, "postEvalState", "整改未完成");
} else if (item.reviewStatus == "7") {
this.$set(item, "postEvalState", "整改已完成");
} else {
this.$set(item, "postEvalState", "整改提交");
}
});
this.total = res.data.total * 1;
//详情
async detailsForm(type) {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
let params = {
// current: this.currentPageXQ,
// pageSize: this.pageSizeXQ,
projectId: this.checkedList[0].projectId,
auditId: this.checkedList[0].auditId,
};
let res = await xqRuleProjectLink(params);
if (res.code == 200) {
this.ruleFormdialogXQ = this.checkedList[0];
this.XQtableData = res.data.records;
this.XQtableData.forEach((item) => {
if (
item.confirmStatus == 0 ||
item.confirmStatus == null ||
!item.confirmStatus
) {
this.$set(item, "confirmStatus", "2");
}
});
console.log(this.XQtableData, "XQtableDataXQtableData");
if (type == "xq") {
this.dialog = true;
} else {
this.dialogXF = true;
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.submitForm();
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
}
},
// 详情
async detailsForm() {
// if (this.checkedList.length != 1) {
// this.$message("请选择");
// return;
// }
console.log("222",this.checkedList);
this.dialogXQ = true;
// this.ruleFormdialogBJ=this.checkedList[0]
// let params={
// current:1,
// pageSize:10,
// }
// Object.assign(params, this.ruleFormdialogAdd);
// let res=await joinProjectInfo(params)
// if (res.code == "200") {
// this.tableDataXQ = res.data.records;
// this.totalXQ = res.data.total * 1;
// }
},
//问题整改
async confirm() {
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行整改");
return;
}
this.dialogQR = true;
let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
};
let res = await wtssSelProblemRectification(params);
if (res.code == "200") {
this.tableDataQR = res.data.records;
this.tableDataQR.forEach((item) => {
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "1.可研");
break;
case "2":
this.$set(item, "projectStagetext", "2.计划");
break;
case "3":
this.$set(item, "projectStagetext", "3.采购");
break;
case "4":
this.$set(item, "projectStagetext", "4.合同");
break;
case "5":
this.$set(item, "projectStagetext", "5.执行");
break;
case "6":
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
console.log(this.tableDataQR, "加不进去?");
this.dataPretreatment();
}
},
handleFileUpload(event, row, type) {
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
return "";
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
cancelXQ() {
this.dialog = false;
this.dialogXF = false;
},
async handleClick(row, index, rows) {
console.log("删除", row);
rows.splice(index, 1);
this.XQtableData = rows;
let params = {
auditId: this.checkedList[0].auditId,
ruleId: row.ruleId,
projectId: row.projectId,
};
let res = await scauditTasksResults(params);
},
//结果确认
async saveXF() {
console.log(this.XQtableData,'this.XQtableData')
// let res = await jgxqResults(this.XQtableData);
},
//结果下发
async resaultXF() {
// let params = {
// auditId: this.checkedList[0].auditId,
// };
let res = await wtxfResults(this.XQtableData);
if (res.code == 200) {
this.dialogXF = false;
this.resetForm();
}
},
handleFileUpload(event, row,type) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFile(row, type);
this.submitFile(row,type);
},
submitFile(row, type) {
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
ossupload(formData)
.then((response) => {
console.log(response);
this.file = [];
this.$set(row, type, response.data.fileId);
})
.catch((error) => {
console.error(error);
});
} else {
this.$message("请先选择文件");
}
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
}
return "";
},
//主列表选中行信息
handleSelectionChange(selection) {
console.log("222222");
if (Array.isArray(selection) && selection.length > 1) {
console.log("222222333", this.checkedList);
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection;
this.$forceUpdate();
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRows[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
arraySpanMethodss({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
//第一列
const _row = this.mergingRowsss[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
cancelSS() {
this.dialogQR = false;
},
async save() {
let res = await wtzgxfProblemRectification(this.tableDataSS);
if (res.code == "200") {
this.dialogSS = false;
this.resetForm();
} else {
this.$message("整改提交失败");
}
},
cancel() {
this.dialogSS = false;
},
async saveSS() {
this.tableDataQR.forEach((item) => {
if (item.confirmStatus == "1") {
if (!item.feedback) {
this.$message("有未填写的的解释批注");
throw new Error("主动跳出循环");
}
}
});
let res = await wtzgProblemRectification(this.tableDataQR);
if (res.code == "200") {
this.dialogQR = false;
this.resetForm();
}
},
//问题提交
async appeal() {
this.mergingPosss = 0;
this.mergingRowsss = [];
if (this.checkedList.length != 1) {
this.$message("请选择一条数据进行提交");
return;
}
this.dialogSS = true;
let params = {
projectId: this.checkedList[0].projectId,
batchId: this.checkedList[0].batchId,
};
let res = await wtssSelProblemRectification(params);
if (res.code == "200") {
this.tableDataSS = res.data.records;
this.tableDataSS.forEach((item) => {
if (!item.confirmStatus) {
this.$set(item, "confirmStatus", "2");
}
switch (item.projectStage) {
case "1":
this.$set(item, "projectStagetext", "1.可研");
break;
case "2":
this.$set(item, "projectStagetext", "2.计划");
break;
case "3":
this.$set(item, "projectStagetext", "3.采购");
break;
case "4":
this.$set(item, "projectStagetext", "4.合同");
break;
case "5":
this.$set(item, "projectStagetext", "5.执行");
break;
case "6":
this.$set(item, "projectStagetext", "6.结决算及转资");
break;
}
});
console.log(this.tableDataSS);
this.dataPretreatmentSS();
}
},
handleFileUpload(event, row, type) {
console.log("来了么");
this.file = event.target.files[0];
this.submitFile(row, type);
},
submitFile(row, type) {
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
......@@ -748,301 +544,383 @@
this.$message("请先选择文件");
}
},
closed() {
console.log("关闭");
this.handleSelectionChange();
},
async handleClickXZ(scope) {
console.log(scope.fileId);
let response = await downloadObject({
fileId: scope.fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = scope.fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
}
},
//问题确认开关
controlSwitch(val, row) {
console.log("333", val, row);
},
};
</script>
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}
.el-form {
display: flex;
width: 99%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding: 20px 10px;
margin: 20px 0;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
},
};
</script>
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}
.el-form {
display: flex;
width: 100%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding: 20px 10px;
margin-bottom: 20px;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.button {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
width: 14px;
height: 14px;
margin-right: 15px;
vertical-align: middle;
}
}
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
}
.el-select {
width: 226px;
}
}
.eltable {
box-sizing: border-box;
text-align: center;
height: 100%;
overflow-y: auto;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
/deep/ .el-form-item__content {
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
}
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-table__header th {
background-color: #eeeeee;
/deep/ .el-form-item__label {
font-weight: bold;
.cell {
color: #333;
}
color: #000;
width: 160px !important;
}
/deep/.el-table {
// width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
// width: 100% !important;
}
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
}
.dialog {
height: 680px;
.xqtitle {
.button {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
margin-left: 20px !important;
text-align: left;
font-size: 18px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
img {
width: 14px;
height: 14px;
margin-right: 15px;
vertical-align: middle;
}
}
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
display: flex;
}
.el-textarea {
width: 60%;
}
}
.Btn {
width: 200px;
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 4px;
margin-right: 12px;
}
span:first-of-type {
border: 1px solid #000;
}
span:last-of-type {
background-color: #0d867f;
border: 1px solid #0d867f;
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
}
.eltable {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: right;
margin-right: 100px;
}
/deep/ .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
// height: 500px;
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
}
.zjBtn {
width: 400px;
}
/deep/ .el-table__header th {
background-color: #eeeeee;
font-weight: bold;
.cell {
color: #333;
}
}
/deep/.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
width: 100% !important;
}
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
}
.dialog {
.title {
text-align: left;
vertical-align: middle;
font-size: 18px;
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
color: #1ec695;
text-align: left;
height: 20px;
margin-top: 0;
span {
border-radius: 2px;
display: inline-block;
width: 140px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 5px;
width: 5px;
height: 18px;
background-color: #1ec695;
margin-right: 14px;
vertical-align: middle;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
padding: 5px 10px;
margin-left: 10px;
}
}
/deep/ .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
text-align: right;
width: 20%;
.zjquery {
display: inline-block;
background-color: #4ca6a7;
width: 89px;
height: 40px;
color: #fff;
text-align: center;
line-height: 40px;
border-radius: 5px;
.content {
width: 100%;
display: flex;
flex-wrap: wrap;
p {
width: 24%;
text-align: left;
display: flex;
label {
display: inline-block;
width: 150px;
flex-shrink: 0;
text-align: right;
font-weight: bold;
margin-right: 20px;
vertical-align: middle;
}
span {
display: inline-block;
text-align: left;
}
}
}
.midBtn {
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
.table {
width: 100%;
display: flex;
p {
width: 150px;
text-align: right;
font-weight: bold;
}
span:first-of-type {
border: 1px solid grey;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
.tablepg {
margin-top: 20px;
margin-left: 5px;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
.textarea {
width: 100%;
.el-textarea {
width: 60%;
}
/deep/ .el-table__cell {
}
.Btn {
width: 200px;
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 4px;
margin-right: 12px;
}
.dialogHeigth {
height: 300px;
box-sizing: border-box;
overflow-y: auto;
span:first-of-type {
border: 1px solid #000;
}
.setscroll {
width: 100%;
height: 650px;
position: relative;
overflow: auto;
span:last-of-type {
background-color: #0d867f;
border: 1px solid #0d867f;
color: #fff;
}
.setscrolldialog {
width: 100%;
height: 300px;
position: relative;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
height: 300px;
overflow: auto;
position: absolute;
min-width: 100%;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
.setscrolldialogx {
width: 100%;
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
}
.close {
width: 100%;
height: 40px;
line-height: 20px;
span {
display: inline-block;
width: 80px;
height: 30px;
line-height: 30px;
border: 1px solid grey;
border-radius: 5px;
}
}
.setscrolldialog {
width: 100%;
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height: 300px;
position: relative;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
position: absolute;
width: auto !important;
max-width: none;
}
}
::v-deep.el-table::before {
display: none !important;
}
.zjBtn {
width: 400px;
text-align: left;
vertical-align: middle;
span {
display: inline-block;
width: 140px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 5px;
vertical-align: middle;
}
}
.midBtn {
margin: 0 auto;
height: 50px;
line-height: 50px;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
background-color: #4ca6a7;
color: #fff;
}
</style>
\ No newline at end of file
span:first-of-type {
border: 1px solid grey;
background-color: #fff;
color: #333;
}
}
.setscroll {
width: 100%;
height: 585px;
position: relative;
overflow: auto;
}
.dialog {
.el-form {
border: none !important;
border-top: none;
border-left: none;
border-right: none;
border-bottom: none;
}
}
/deep/.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
z-index: -1111;
cursor: default;
user-select: none;
}
/deep/.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
line-height: 30px;
}
.setscroll {
width: 100%;
height: 650px;
position: relative;
overflow: auto;
}
</style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!