提交代码
parent
ed4601e356
commit
a537cf8542
|
@ -60,3 +60,12 @@ export function auditinfoList(query) {
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//提交隐患问题处理
|
||||||
|
export function modifyProblem(data) {
|
||||||
|
return request({
|
||||||
|
url: '/trouble/sspProblemmodify/modifyProblem',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
|
@ -275,3 +275,23 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.timeline_for_state_1 {
|
||||||
|
padding: 2px 12px;
|
||||||
|
height: 20px;
|
||||||
|
width: 100px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 20px;
|
||||||
|
font-size: 13px;
|
||||||
|
background: url("https://szgcwx.jhncidg.com/staticFiles/img/menu/WEB_F5E44186F6C44161B99491284E33EEE6.png") no-repeat center/100% 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline_for_state_2 {
|
||||||
|
padding: 2px 12px;
|
||||||
|
height: 20px;
|
||||||
|
width: 100px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 20px;
|
||||||
|
font-size: 13px;
|
||||||
|
background: url("https://szgcwx.jhncidg.com/staticFiles/img/WEB_345B9059DAD1492EB37EC4814EB340F0.png") no-repeat center/100% 100%;
|
||||||
|
}
|
|
@ -27,7 +27,7 @@ export default {
|
||||||
vnodes.push(<span slot='title'>{(title)}</span>)
|
vnodes.push(<span slot='title'>{(title)}</span>)
|
||||||
}
|
}
|
||||||
let name=context?.parent?.item?.name;
|
let name=context?.parent?.item?.name;
|
||||||
if(['Todo','Task','Approve','Project','CheckDetection','ProjectMeasure','MaterialSeal','ProjectChecking','Attendance','FlowLabourInfo'].includes(name)){
|
if(['Todo','Task','Approve','Project','CheckDetection','ProjectMeasure','MaterialSeal','ProjectChecking','Attendance','FlowLabourInfo','Trouble','PshProblemmodify','SspProblemmodify'].includes(name)){
|
||||||
console.log(name);
|
console.log(name);
|
||||||
vnodes.push(h('span',{class:"todo_num_tips tips_"+name},1))
|
vnodes.push(h('span',{class:"todo_num_tips tips_"+name},1))
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,142 +1,176 @@
|
||||||
import { findMyTask } from "@/api/publics";
|
import { findMyTask } from "@/api/publics";
|
||||||
|
|
||||||
const flowtask = {
|
const flowtask = {
|
||||||
state: {
|
state: {
|
||||||
awaitTaskNum:0
|
awaitTaskNum: 0
|
||||||
},
|
},
|
||||||
|
|
||||||
mutations: {
|
mutations: {
|
||||||
SET_AWAIT_TASK: (state, number) => {
|
SET_AWAIT_TASK: (state, number) => {
|
||||||
state.awaitTaskNum = number
|
state.awaitTaskNum = number
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
// 设置代办任务
|
// 设置代办任务
|
||||||
settingAwaitNum({ commit }) {
|
settingAwaitNum({ commit }) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
//查询当前登录人的代办任务数量
|
//查询当前登录人的代办任务数量
|
||||||
findMyTask({}).then(response => {
|
findMyTask({}).then(response => {
|
||||||
let todos=document.querySelectorAll(".tips_Todo");
|
let todos = document.querySelectorAll(".tips_Todo");
|
||||||
let approves=document.querySelectorAll(".tips_Approve");
|
let approves = document.querySelectorAll(".tips_Approve");
|
||||||
let tasks=document.querySelectorAll(".tips_Task");
|
let tasks = document.querySelectorAll(".tips_Task");
|
||||||
let checkDetections=document.querySelectorAll(".tips_CheckDetection");
|
let checkDetections = document.querySelectorAll(".tips_CheckDetection");
|
||||||
let projectMeasures=document.querySelectorAll(".tips_ProjectMeasure");
|
let projectMeasures = document.querySelectorAll(".tips_ProjectMeasure");
|
||||||
let projectCheckings=document.querySelectorAll(".tips_ProjectChecking");
|
let projectCheckings = document.querySelectorAll(".tips_ProjectChecking");
|
||||||
let materialSeals=document.querySelectorAll(".tips_MaterialSeal");
|
let materialSeals = document.querySelectorAll(".tips_MaterialSeal");
|
||||||
let surProjects=document.querySelectorAll(".tips_Project");
|
let surProjects = document.querySelectorAll(".tips_Project");
|
||||||
//commit('SET_AWAIT_TASK',response.total)
|
//commit('SET_AWAIT_TASK',response.total)
|
||||||
if(todos.length>0){
|
if (todos.length > 0) {
|
||||||
todos.forEach(el=>{
|
todos.forEach(el => {
|
||||||
el.innerHTML=response.data.todo;
|
el.innerHTML = response.data.todo;
|
||||||
if(response.data.todo>0){
|
if (response.data.todo > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(tasks.length>0){
|
if (tasks.length > 0) {
|
||||||
//let sum = parseInt(response.data.todo)+parseInt(response.data.approve);
|
//let sum = parseInt(response.data.todo)+parseInt(response.data.approve);
|
||||||
tasks.forEach(el=>{
|
tasks.forEach(el => {
|
||||||
el.innerHTML=response.data.todo;
|
el.innerHTML = response.data.todo;
|
||||||
if(response.data.todo>0){
|
if (response.data.todo > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// if(approves.length>0){
|
// if(approves.length>0){
|
||||||
// approves.forEach(el=>{
|
// approves.forEach(el=>{
|
||||||
// el.innerHTML=response.data.approve;
|
// el.innerHTML=response.data.approve;
|
||||||
// if(response.data.approve>0){
|
// if(response.data.approve>0){
|
||||||
// el.style.display="inline";
|
// el.style.display="inline";
|
||||||
// }else{
|
// }else{
|
||||||
// el.style.display="none";
|
// el.style.display="none";
|
||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
if(checkDetections.length>0){
|
if (checkDetections.length > 0) {
|
||||||
checkDetections.forEach(el=>{
|
checkDetections.forEach(el => {
|
||||||
el.innerHTML=response.data.approveQYFS;
|
el.innerHTML = response.data.approveQYFS;
|
||||||
if(response.data.approveQYFS>0){
|
if (response.data.approveQYFS > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(projectMeasures.length>0){
|
if (projectMeasures.length > 0) {
|
||||||
projectMeasures.forEach(el=>{
|
projectMeasures.forEach(el => {
|
||||||
el.innerHTML=response.data.approveSCSL;
|
el.innerHTML = response.data.approveSCSL;
|
||||||
if(response.data.approveSCSL>0){
|
if (response.data.approveSCSL > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(projectCheckings.length>0){
|
if (projectCheckings.length > 0) {
|
||||||
projectCheckings.forEach(el=>{
|
projectCheckings.forEach(el => {
|
||||||
el.innerHTML=response.data.approveJPYS;
|
el.innerHTML = response.data.approveJPYS;
|
||||||
if(response.data.approveJPYS>0){
|
if (response.data.approveJPYS > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(materialSeals.length>0){
|
if (materialSeals.length > 0) {
|
||||||
materialSeals.forEach(el=>{
|
materialSeals.forEach(el => {
|
||||||
el.innerHTML=response.data.approveCLFY;
|
el.innerHTML = response.data.approveCLFY;
|
||||||
if(response.data.approveCLFY>0){
|
if (response.data.approveCLFY > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(surProjects.length>0){
|
if (surProjects.length > 0) {
|
||||||
let sum = parseInt(response.data.approveQYFS)+parseInt(response.data.approveSCSL)+parseInt(response.data.approveJPYS)+parseInt(response.data.approveCLFY);
|
let sum = parseInt(response.data.approveQYFS) + parseInt(response.data.approveSCSL) + parseInt(response.data.approveJPYS) + parseInt(response.data.approveCLFY);
|
||||||
surProjects.forEach(el=>{
|
surProjects.forEach(el => {
|
||||||
el.innerHTML=sum;
|
el.innerHTML = sum;
|
||||||
if(sum>0){
|
if (sum > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
let Attendance=document.querySelectorAll(".tips_Attendance");
|
let Attendance = document.querySelectorAll(".tips_Attendance");
|
||||||
if(Attendance.length>0){
|
if (Attendance.length > 0) {
|
||||||
Attendance.forEach(el=>{
|
Attendance.forEach(el => {
|
||||||
el.innerHTML=response.data.approveLZYJ;
|
el.innerHTML = response.data.approveLZYJ;
|
||||||
if(response.data.approveLZYJ>0){
|
if (response.data.approveLZYJ > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
let FlowLabourInfo=document.querySelectorAll(".tips_FlowLabourInfo");
|
let FlowLabourInfo = document.querySelectorAll(".tips_FlowLabourInfo");
|
||||||
if(FlowLabourInfo.length>0){
|
if (FlowLabourInfo.length > 0) {
|
||||||
FlowLabourInfo.forEach(el=>{
|
FlowLabourInfo.forEach(el => {
|
||||||
el.innerHTML=response.data.approveLZYJ;
|
el.innerHTML = response.data.approveLZYJ;
|
||||||
if(response.data.approveLZYJ>0){
|
if (response.data.approveLZYJ > 0) {
|
||||||
el.style.display="inline";
|
el.style.display = "inline";
|
||||||
}else{
|
} else {
|
||||||
el.style.display="none";
|
el.style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
resolve()
|
let trouble = document.querySelectorAll(".tips_Trouble");
|
||||||
}).catch(error => {
|
let pshProblemmodify = document.querySelectorAll(".tips_PshProblemmodify");
|
||||||
reject(error)
|
let sspProblemmodify = document.querySelectorAll(".tips_SspProblemmodify");
|
||||||
});
|
if (trouble.length > 0) {
|
||||||
})
|
let sum = parseInt(response.data.zlCount) + parseInt(response.data.aqCount);
|
||||||
}
|
trouble.forEach(el => {
|
||||||
|
el.innerHTML = sum;
|
||||||
|
if (sum > 0) {
|
||||||
|
el.style.display = "inline";
|
||||||
|
} else {
|
||||||
|
el.style.display = "none";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (pshProblemmodify.length > 0) {
|
||||||
|
pshProblemmodify.forEach(el => {
|
||||||
|
el.innerHTML = response.data.aqCount;
|
||||||
|
if (response.data.aqCount > 0) {
|
||||||
|
el.style.display = "inline";
|
||||||
|
} else {
|
||||||
|
el.style.display = "none";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (sspProblemmodify.length > 0) {
|
||||||
|
sspProblemmodify.forEach(el => {
|
||||||
|
el.innerHTML = response.data.zlCount;
|
||||||
|
if (response.data.zlCount > 0) {
|
||||||
|
el.style.display = "inline";
|
||||||
|
} else {
|
||||||
|
el.style.display = "none";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
resolve()
|
||||||
|
}).catch(error => {
|
||||||
|
reject(error)
|
||||||
|
});
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
export default flowtask
|
|
||||||
|
export default flowtask
|
|
@ -17,7 +17,13 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="隐患分类" prop="createUser">
|
<el-form-item label="隐患分类" prop="createUser">
|
||||||
<el-select v-model="queryParams.roleTypes" multiple placeholder="请选择隐患分类" clearable collapse-tags>
|
<el-select
|
||||||
|
v-model="queryParams.roleTypes"
|
||||||
|
multiple
|
||||||
|
placeholder="请选择隐患分类"
|
||||||
|
clearable
|
||||||
|
collapse-tags
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in roleTypeOpts"
|
v-for="dict in roleTypeOpts"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
|
@ -44,7 +50,7 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="整改人" prop="lordSent">
|
<el-form-item label="整改用户" prop="lordSent">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.lordSent"
|
v-model="queryParams.lordSent"
|
||||||
placeholder="请输入整改人姓名/联系方式"
|
placeholder="请输入整改人姓名/联系方式"
|
||||||
|
@ -52,7 +58,7 @@
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="提交人" prop="createBy">
|
<el-form-item label="提交用户" prop="createBy">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.createBy"
|
v-model="queryParams.createBy"
|
||||||
placeholder="请输入提交人姓名/联系方式"
|
placeholder="请输入提交人姓名/联系方式"
|
||||||
|
@ -60,17 +66,6 @@
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="提交时间">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="daterangeMarksTime"
|
|
||||||
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
|
<el-form-item
|
||||||
label="责任主体"
|
label="责任主体"
|
||||||
prop="projectDeptId"
|
prop="projectDeptId"
|
||||||
|
@ -89,12 +84,29 @@
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="daterangeMarksTime"
|
||||||
|
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>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
|
||||||
>搜索</el-button
|
>搜索</el-button
|
||||||
>
|
>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
<el-button icon="el-icon-download" size="mini" v-hasPermi="['trouble:sspProblemmodify:export']" @click="handleExport">导出</el-button>
|
<el-button
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
v-hasPermi="['trouble:sspProblemmodify:export']"
|
||||||
|
@click="handleExport"
|
||||||
|
>导出</el-button
|
||||||
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
|
@ -153,7 +165,8 @@
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="sspProblemmodifyList"
|
:data="sspProblemmodifyList"
|
||||||
@selection-change="handleSelectionChange" stripe
|
@selection-change="handleSelectionChange"
|
||||||
|
stripe
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="40" align="center" v-if="false" />
|
<el-table-column type="selection" width="40" align="center" v-if="false" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -261,7 +274,7 @@
|
||||||
label="操作"
|
label="操作"
|
||||||
align="center"
|
align="center"
|
||||||
class-name="small-padding fixed-width"
|
class-name="small-padding fixed-width"
|
||||||
width="100"
|
width="120"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
@ -272,20 +285,22 @@
|
||||||
@click="handlePlay(scope.row)"
|
@click="handlePlay(scope.row)"
|
||||||
v-hasPermi="['trouble:sspMarks:query']"
|
v-hasPermi="['trouble:sspMarks:query']"
|
||||||
>视频</el-button> -->
|
>视频</el-button> -->
|
||||||
<!-- <el-button
|
<el-button
|
||||||
size="mini"
|
v-if="getIsModify(scope.row)"
|
||||||
type="text"
|
size="mini"
|
||||||
icon="el-icon-edit"
|
type="text"
|
||||||
@click="handleUpdate(scope.row)"
|
icon="el-icon-check"
|
||||||
v-hasPermi="['trouble:sspProblemmodify:edit']"
|
@click="handleModify(scope.row)"
|
||||||
>修改</el-button> -->
|
v-hasPermi="['trouble:sspProblemmodify:edit']"
|
||||||
|
>处理</el-button
|
||||||
|
>
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-notebook-2"
|
icon="el-icon-notebook-2"
|
||||||
@click="handleLog(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
v-hasPermi="['trouble:sspProblemmodify:query']"
|
v-hasPermi="['trouble:sspProblemmodify:query']"
|
||||||
>整改日志</el-button
|
>详情</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="getIsVdel(scope.row)"
|
v-if="getIsVdel(scope.row)"
|
||||||
|
@ -310,7 +325,14 @@
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
<!-- 添加或修改安全整改对话框 -->
|
<!-- 添加或修改安全整改对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false" :close-on-press-escape="false">
|
<el-dialog
|
||||||
|
:title="title"
|
||||||
|
:visible.sync="open"
|
||||||
|
width="500px"
|
||||||
|
append-to-body
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false"
|
||||||
|
>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
<el-form-item label="项目id" prop="projectId">
|
<el-form-item label="项目id" prop="projectId">
|
||||||
<el-input v-model="form.projectId" placeholder="请输入项目id" />
|
<el-input v-model="form.projectId" placeholder="请输入项目id" />
|
||||||
|
@ -384,17 +406,16 @@
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-image-viewer v-if="showViewer" :on-close="closeViewer" :url-list="srcList" />
|
<el-image-viewer v-if="showViewer" :on-close="closeViewer" :url-list="srcList" />
|
||||||
<sspProblemmodifyAuditinfoDrawer
|
<sspProblemmodifyAuditinfoDrawer ref="sspProblemmodifyAuditinfoDrawer" />
|
||||||
size="40%"
|
<modifyProblemDrawer ref="modifyProblemDrawer" :closeCallBack="getList" />
|
||||||
:visible.sync="sspProblemmodifyAuditinfoDrawerVisible"
|
|
||||||
:form-data="formData"
|
|
||||||
/>
|
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="视频播放"
|
title="视频播放"
|
||||||
:visible.sync="openVideo"
|
:visible.sync="openVideo"
|
||||||
width="980px"
|
width="980px"
|
||||||
:before-close="cancelVideo"
|
:before-close="cancelVideo"
|
||||||
append-to-body :close-on-click-modal="false" :close-on-press-escape="false"
|
append-to-body
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false"
|
||||||
>
|
>
|
||||||
<video
|
<video
|
||||||
ref="video"
|
ref="video"
|
||||||
|
@ -422,12 +443,14 @@ import {
|
||||||
} from "@/api/trouble/sspProblemmodify";
|
} from "@/api/trouble/sspProblemmodify";
|
||||||
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
||||||
import sspProblemmodifyAuditinfoDrawer from "../sspProblemmodify/sspProblemmodifyAuditinfoDrawer.vue";
|
import sspProblemmodifyAuditinfoDrawer from "../sspProblemmodify/sspProblemmodifyAuditinfoDrawer.vue";
|
||||||
|
import modifyProblemDrawer from "./../sspProblemmodify/modifyProblemDrawer.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "SspProblemmodify",
|
name: "SspProblemmodify",
|
||||||
components: {
|
components: {
|
||||||
sspProblemmodifyAuditinfoDrawer,
|
|
||||||
ElImageViewer,
|
ElImageViewer,
|
||||||
|
modifyProblemDrawer,
|
||||||
|
sspProblemmodifyAuditinfoDrawer,
|
||||||
},
|
},
|
||||||
dicts: ["ssp_aqyhlx", "sys_common_isdel", "smz_ssp_checkstate"],
|
dicts: ["ssp_aqyhlx", "sys_common_isdel", "smz_ssp_checkstate"],
|
||||||
data() {
|
data() {
|
||||||
|
@ -480,12 +503,12 @@ export default {
|
||||||
checkUserPhone: null,
|
checkUserPhone: null,
|
||||||
isDel: null,
|
isDel: null,
|
||||||
dangerType: null,
|
dangerType: null,
|
||||||
createBy:null,
|
createBy: null,
|
||||||
createUser: null,
|
createUser: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
updateUser: null,
|
updateUser: null,
|
||||||
updateTime: null,
|
updateTime: null,
|
||||||
roleTypes:[],
|
roleTypes: [],
|
||||||
projectDeptId: null,
|
projectDeptId: null,
|
||||||
},
|
},
|
||||||
depts: null,
|
depts: null,
|
||||||
|
@ -495,10 +518,6 @@ export default {
|
||||||
rules: {},
|
rules: {},
|
||||||
srcList: [],
|
srcList: [],
|
||||||
activeName: "dzg",
|
activeName: "dzg",
|
||||||
sspProblemmodifyAuditinfoDrawerVisible: false,
|
|
||||||
formData: {
|
|
||||||
problemmodifyId: null,
|
|
||||||
},
|
|
||||||
tabs: {
|
tabs: {
|
||||||
all: "全部数据(0)",
|
all: "全部数据(0)",
|
||||||
dzg: "待整改(0)",
|
dzg: "待整改(0)",
|
||||||
|
@ -506,16 +525,24 @@ export default {
|
||||||
ycl: "整改完成(0)",
|
ycl: "整改完成(0)",
|
||||||
zgcs: "整改超时(0)",
|
zgcs: "整改超时(0)",
|
||||||
},
|
},
|
||||||
roleTypeOpts:[
|
roleTypeOpts: [
|
||||||
{label:'集团',value:3}
|
{ label: "集团", value: 3 },
|
||||||
,{label:'子公司',value:4}
|
{ label: "子公司", value: 4 },
|
||||||
,{label:'甲方代表',value:5}
|
{ label: "甲方代表", value: 5 },
|
||||||
,{label:'监理单位',value:6}
|
{ label: "监理单位", value: 6 },
|
||||||
,{label:'总包单位',value:7}]
|
{ label: "总包单位", value: 7 },
|
||||||
|
],
|
||||||
|
myMinRoles: [],
|
||||||
|
isAdmin: false,
|
||||||
|
nowUser: "",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.nowUser = this.$store.getters.name;
|
||||||
|
this.myMinRoles = this.$store.getters.roles;
|
||||||
|
if (this.myMinRoles.includes("admin") || this.myMinRoles.includes("super")) {
|
||||||
|
this.isAdmin = true;
|
||||||
|
}
|
||||||
this.queryParams.activeName = this.activeName;
|
this.queryParams.activeName = this.activeName;
|
||||||
this.getList();
|
this.getList();
|
||||||
this.$api.publics.getZgsDeptList().then((d) => {
|
this.$api.publics.getZgsDeptList().then((d) => {
|
||||||
|
@ -554,21 +581,21 @@ export default {
|
||||||
if (response && response.data) {
|
if (response && response.data) {
|
||||||
let sum = 0;
|
let sum = 0;
|
||||||
this.tabs.dzg = "待整改(0)";
|
this.tabs.dzg = "待整改(0)";
|
||||||
let chk03=0;
|
let chk03 = 0;
|
||||||
if(response.data.check0){
|
if (response.data.check0) {
|
||||||
chk03+=response.data.check0;
|
chk03 += response.data.check0;
|
||||||
}
|
}
|
||||||
if(response.data.check3){
|
if (response.data.check3) {
|
||||||
chk03+=response.data.check3;
|
chk03 += response.data.check3;
|
||||||
}
|
}
|
||||||
if (chk03){
|
if (chk03) {
|
||||||
sum += chk03;
|
sum += chk03;
|
||||||
this.tabs.dzg = "待整改(" + chk03 + ")";
|
this.tabs.dzg = "待整改(" + chk03 + ")";
|
||||||
}
|
}
|
||||||
this.tabs.dqr = "待复检(0)";
|
this.tabs.dqr = "待复检(0)";
|
||||||
if (response.data.check1) {
|
if (response.data.check1) {
|
||||||
sum += response.data.check1;
|
sum += response.data.check1;
|
||||||
this.tabs.dqr = "待复检(" + response.data.check1+ ")";
|
this.tabs.dqr = "待复检(" + response.data.check1 + ")";
|
||||||
}
|
}
|
||||||
this.tabs.ycl = "整改完成(0)";
|
this.tabs.ycl = "整改完成(0)";
|
||||||
if (response.data.check4) {
|
if (response.data.check4) {
|
||||||
|
@ -624,9 +651,6 @@ export default {
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
getIsVdel(){
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.pageNum = 1;
|
this.queryParams.pageNum = 1;
|
||||||
|
@ -634,7 +658,7 @@ export default {
|
||||||
},
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.queryParams.roleTypes=[];
|
this.queryParams.roleTypes = [];
|
||||||
this.daterangeMarksTime = [];
|
this.daterangeMarksTime = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
|
@ -701,8 +725,7 @@ export default {
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
handleLog(row) {
|
handleLog(row) {
|
||||||
this.formData.problemmodifyId = row.id;
|
this.$refs.sspProblemmodifyAuditinfoDrawer.show(row);
|
||||||
this.sspProblemmodifyAuditinfoDrawerVisible = true;
|
|
||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
|
@ -714,6 +737,38 @@ export default {
|
||||||
`安全整改_${new Date().getTime()}.xlsx`
|
`安全整改_${new Date().getTime()}.xlsx`
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
/** 是否可处理 */
|
||||||
|
getIsModify(row) {
|
||||||
|
if (row.checkState == 0 || row.checkState == 3) {
|
||||||
|
if (this.isAdmin || this.nowUser == row.lordSentUser) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (row.checkState == 1) {
|
||||||
|
if (this.isAdmin || this.nowUser == row.recheckSendUser) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 处理操作 */
|
||||||
|
handleModify(row) {
|
||||||
|
this.$refs.modifyProblemDrawer.show(row);
|
||||||
|
},
|
||||||
|
/** 是否可删除 */
|
||||||
|
getIsVdel(row) {
|
||||||
|
if (this.isAdmin) {
|
||||||
|
return true;
|
||||||
|
} else if (this.nowUser == row.createUser && row.checkState != 4) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -17,7 +17,13 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="隐患分类" prop="roleTypes">
|
<el-form-item label="隐患分类" prop="roleTypes">
|
||||||
<el-select v-model="queryParams.roleTypes" multiple placeholder="请选择隐患分类" clearable collapse-tags>
|
<el-select
|
||||||
|
v-model="queryParams.roleTypes"
|
||||||
|
multiple
|
||||||
|
placeholder="请选择隐患分类"
|
||||||
|
clearable
|
||||||
|
collapse-tags
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in roleTypeOpts"
|
v-for="dict in roleTypeOpts"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
|
@ -44,7 +50,7 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="整改人" prop="lordSent">
|
<el-form-item label="整改用户" prop="lordSent">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.lordSent"
|
v-model="queryParams.lordSent"
|
||||||
placeholder="请输入整改人姓名/联系方式"
|
placeholder="请输入整改人姓名/联系方式"
|
||||||
|
@ -52,7 +58,7 @@
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="提交人" prop="createBy">
|
<el-form-item label="提交用户" prop="createBy">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.createBy"
|
v-model="queryParams.createBy"
|
||||||
placeholder="请输入提交人姓名/联系方式"
|
placeholder="请输入提交人姓名/联系方式"
|
||||||
|
@ -60,17 +66,6 @@
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="提交时间">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="daterangeMarksTime"
|
|
||||||
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
|
<el-form-item
|
||||||
label="责任主体"
|
label="责任主体"
|
||||||
prop="projectDeptId"
|
prop="projectDeptId"
|
||||||
|
@ -89,12 +84,29 @@
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="daterangeMarksTime"
|
||||||
|
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>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
|
||||||
>搜索</el-button
|
>搜索</el-button
|
||||||
>
|
>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
<el-button icon="el-icon-download" size="mini" v-hasPermi="['trouble:sspProblemmodify:export']" @click="handleExport">导出</el-button>
|
<el-button
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
v-hasPermi="['trouble:sspProblemmodify:export']"
|
||||||
|
@click="handleExport"
|
||||||
|
>导出</el-button
|
||||||
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
|
@ -153,7 +165,8 @@
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="sspProblemmodifyList"
|
:data="sspProblemmodifyList"
|
||||||
@selection-change="handleSelectionChange" stripe
|
@selection-change="handleSelectionChange"
|
||||||
|
stripe
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="40" align="center" v-if="false" />
|
<el-table-column type="selection" width="40" align="center" v-if="false" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -263,7 +276,7 @@
|
||||||
align="center"
|
align="center"
|
||||||
class-name="small-padding fixed-width"
|
class-name="small-padding fixed-width"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
width="100"
|
width="120"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- <el-button v-if="scope.row.marksVideo != null && scope.row.marksVideo != ''"
|
<!-- <el-button v-if="scope.row.marksVideo != null && scope.row.marksVideo != ''"
|
||||||
|
@ -273,16 +286,25 @@
|
||||||
@click="handlePlay(scope.row)"
|
@click="handlePlay(scope.row)"
|
||||||
v-hasPermi="['trouble:sspMarks:query']"
|
v-hasPermi="['trouble:sspMarks:query']"
|
||||||
>视频</el-button> -->
|
>视频</el-button> -->
|
||||||
|
<el-button
|
||||||
|
v-if="getIsModify(scope.row)"
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-check"
|
||||||
|
@click="handleModify(scope.row)"
|
||||||
|
v-hasPermi="['trouble:sspProblemmodify:edit']"
|
||||||
|
>处理</el-button
|
||||||
|
>
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-notebook-2"
|
icon="el-icon-notebook-2"
|
||||||
@click="handleLog(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
v-hasPermi="['trouble:sspProblemmodify:query']"
|
v-hasPermi="['trouble:sspProblemmodify:query']"
|
||||||
>整改日志</el-button
|
>详情</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="scope.row.vDel == '0'"
|
v-if="getIsVdel(scope.row)"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
|
@ -304,7 +326,14 @@
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
<!-- 添加或修改质量整改对话框 -->
|
<!-- 添加或修改质量整改对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false" :close-on-press-escape="false">
|
<el-dialog
|
||||||
|
:title="title"
|
||||||
|
:visible.sync="open"
|
||||||
|
width="500px"
|
||||||
|
append-to-body
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false"
|
||||||
|
>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
<el-form-item label="项目id" prop="projectId">
|
<el-form-item label="项目id" prop="projectId">
|
||||||
<el-input v-model="form.projectId" placeholder="请输入项目id" />
|
<el-input v-model="form.projectId" placeholder="请输入项目id" />
|
||||||
|
@ -378,16 +407,15 @@
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-image-viewer v-if="showViewer" :on-close="closeViewer" :url-list="srcList" />
|
<el-image-viewer v-if="showViewer" :on-close="closeViewer" :url-list="srcList" />
|
||||||
<sspProblemmodifyAuditinfoDrawer
|
<sspProblemmodifyAuditinfoDrawer ref="sspProblemmodifyAuditinfoDrawer" />
|
||||||
size="40%"
|
<modifyProblemDrawer ref="modifyProblemDrawer" :closeCallBack="getList"/>
|
||||||
:visible.sync="sspProblemmodifyAuditinfoDrawerVisible"
|
|
||||||
:form-data="formData"
|
|
||||||
/>
|
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="视频播放"
|
title="视频播放"
|
||||||
:visible.sync="openVideo"
|
:visible.sync="openVideo"
|
||||||
width="980px"
|
width="980px"
|
||||||
:before-close="cancelVideo" :close-on-click-modal="false" :close-on-press-escape="false"
|
:before-close="cancelVideo"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false"
|
||||||
append-to-body
|
append-to-body
|
||||||
>
|
>
|
||||||
<video
|
<video
|
||||||
|
@ -416,12 +444,14 @@ import {
|
||||||
} from "@/api/trouble/sspProblemmodify";
|
} from "@/api/trouble/sspProblemmodify";
|
||||||
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
||||||
import sspProblemmodifyAuditinfoDrawer from "./sspProblemmodifyAuditinfoDrawer.vue";
|
import sspProblemmodifyAuditinfoDrawer from "./sspProblemmodifyAuditinfoDrawer.vue";
|
||||||
|
import modifyProblemDrawer from './modifyProblemDrawer.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "SspProblemmodify",
|
name: "SspProblemmodify",
|
||||||
components: {
|
components: {
|
||||||
sspProblemmodifyAuditinfoDrawer,
|
|
||||||
ElImageViewer,
|
ElImageViewer,
|
||||||
|
modifyProblemDrawer,
|
||||||
|
sspProblemmodifyAuditinfoDrawer,
|
||||||
},
|
},
|
||||||
dicts: ["ssp_zlyhlx", "sys_common_isdel", "smz_ssp_checkstate"],
|
dicts: ["ssp_zlyhlx", "sys_common_isdel", "smz_ssp_checkstate"],
|
||||||
data() {
|
data() {
|
||||||
|
@ -479,7 +509,7 @@ export default {
|
||||||
createTime: null,
|
createTime: null,
|
||||||
updateUser: null,
|
updateUser: null,
|
||||||
updateTime: null,
|
updateTime: null,
|
||||||
roleTypes:[],
|
roleTypes: [],
|
||||||
projectDeptId: null,
|
projectDeptId: null,
|
||||||
},
|
},
|
||||||
depts: null,
|
depts: null,
|
||||||
|
@ -489,10 +519,6 @@ export default {
|
||||||
rules: {},
|
rules: {},
|
||||||
srcList: [],
|
srcList: [],
|
||||||
activeName: "dzg",
|
activeName: "dzg",
|
||||||
sspProblemmodifyAuditinfoDrawerVisible: false,
|
|
||||||
formData: {
|
|
||||||
problemmodifyId: null,
|
|
||||||
},
|
|
||||||
tabs: {
|
tabs: {
|
||||||
all: "全部数据(0)",
|
all: "全部数据(0)",
|
||||||
dzg: "待整改(0)",
|
dzg: "待整改(0)",
|
||||||
|
@ -500,15 +526,24 @@ export default {
|
||||||
ycl: "整改完成(0)",
|
ycl: "整改完成(0)",
|
||||||
zgcs: "整改超时(0)",
|
zgcs: "整改超时(0)",
|
||||||
},
|
},
|
||||||
roleTypeOpts:[
|
roleTypeOpts: [
|
||||||
{label:'集团',value:3}
|
{ label: "集团", value: 3 },
|
||||||
,{label:'子公司',value:4}
|
{ label: "子公司", value: 4 },
|
||||||
,{label:'甲方代表',value:5}
|
{ label: "甲方代表", value: 5 },
|
||||||
,{label:'监理单位',value:6}
|
{ label: "监理单位", value: 6 },
|
||||||
,{label:'总包单位',value:7}]
|
{ label: "总包单位", value: 7 },
|
||||||
|
],
|
||||||
|
myMinRoles: [],
|
||||||
|
isAdmin: false,
|
||||||
|
nowUser:"",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.nowUser = this.$store.getters.name;
|
||||||
|
this.myMinRoles = this.$store.getters.roles;
|
||||||
|
if (this.myMinRoles.includes("admin") || this.myMinRoles.includes("super")) {
|
||||||
|
this.isAdmin = true;
|
||||||
|
}
|
||||||
this.queryParams.activeName = this.activeName;
|
this.queryParams.activeName = this.activeName;
|
||||||
this.getList();
|
this.getList();
|
||||||
this.$api.publics.getZgsDeptList().then((d) => {
|
this.$api.publics.getZgsDeptList().then((d) => {
|
||||||
|
@ -547,14 +582,14 @@ export default {
|
||||||
if (response && response.data) {
|
if (response && response.data) {
|
||||||
let sum = 0;
|
let sum = 0;
|
||||||
this.tabs.dzg = "待整改(0)";
|
this.tabs.dzg = "待整改(0)";
|
||||||
let chk03=0;
|
let chk03 = 0;
|
||||||
if(response.data.check0){
|
if (response.data.check0) {
|
||||||
chk03+=response.data.check0;
|
chk03 += response.data.check0;
|
||||||
}
|
}
|
||||||
if(response.data.check3){
|
if (response.data.check3) {
|
||||||
chk03+=response.data.check3;
|
chk03 += response.data.check3;
|
||||||
}
|
}
|
||||||
if (chk03){
|
if (chk03) {
|
||||||
sum += chk03;
|
sum += chk03;
|
||||||
this.tabs.dzg = "待整改(" + chk03 + ")";
|
this.tabs.dzg = "待整改(" + chk03 + ")";
|
||||||
}
|
}
|
||||||
|
@ -613,7 +648,7 @@ export default {
|
||||||
createUser: null,
|
createUser: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
updateUser: null,
|
updateUser: null,
|
||||||
updateTime: null,
|
updateTime: null,
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
|
@ -624,7 +659,7 @@ export default {
|
||||||
},
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.queryParams.roleTypes=[];
|
this.queryParams.roleTypes = [];
|
||||||
this.daterangeMarksTime = [];
|
this.daterangeMarksTime = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
|
@ -690,9 +725,9 @@ export default {
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
handleLog(row) {
|
/** 查看详情 */
|
||||||
this.formData.problemmodifyId = row.id;
|
handleDetail(row) {
|
||||||
this.sspProblemmodifyAuditinfoDrawerVisible = true;
|
this.$refs.sspProblemmodifyAuditinfoDrawer.show(row);
|
||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
|
@ -704,6 +739,38 @@ export default {
|
||||||
`质量整改_${new Date().getTime()}.xlsx`
|
`质量整改_${new Date().getTime()}.xlsx`
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
/** 是否可处理 */
|
||||||
|
getIsModify(row) {
|
||||||
|
if(row.checkState==0 || row.checkState==3){
|
||||||
|
if(this.isAdmin || this.nowUser==row.lordSentUser){
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}else if(row.checkState==1){
|
||||||
|
if(this.isAdmin || this.nowUser==row.recheckSendUser){
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 处理操作 */
|
||||||
|
handleModify(row){
|
||||||
|
this.$refs.modifyProblemDrawer.show(row);
|
||||||
|
},
|
||||||
|
/** 是否可删除 */
|
||||||
|
getIsVdel(row) {
|
||||||
|
if(this.isAdmin){
|
||||||
|
return true;
|
||||||
|
}else if(this.nowUser==row.createUser && row.checkState!=4){
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -0,0 +1,484 @@
|
||||||
|
<template>
|
||||||
|
<div class="ssp-container-index-drawer">
|
||||||
|
<el-drawer
|
||||||
|
v-if="vOpen"
|
||||||
|
:visible.sync="vOpen"
|
||||||
|
ref="drawer"
|
||||||
|
v-loading="loading"
|
||||||
|
direction="rtl"
|
||||||
|
@close="closeCallBack"
|
||||||
|
size="60%"
|
||||||
|
>
|
||||||
|
<template slot="title">
|
||||||
|
<div>{{ typeName }}隐患详情查看</div>
|
||||||
|
</template>
|
||||||
|
<div class="block">
|
||||||
|
<div class="drawer">
|
||||||
|
<div class="drawerLeft">
|
||||||
|
<el-steps :active="active" finish-status="success" simple>
|
||||||
|
<el-step title="提交隐患"></el-step>
|
||||||
|
<el-step title="处理隐患"></el-step>
|
||||||
|
<el-step title="整改复检"></el-step>
|
||||||
|
<el-step title="处理完成"></el-step>
|
||||||
|
</el-steps>
|
||||||
|
<el-timeline>
|
||||||
|
<el-timeline-item
|
||||||
|
v-for="(item, index) in flowRecordList"
|
||||||
|
:key="index"
|
||||||
|
:icon="setIcon(item.processState)"
|
||||||
|
:color="setColor(item.processState)"
|
||||||
|
>
|
||||||
|
<p style="font-weight: 700">
|
||||||
|
{{ getProcess(index, item.process) }}
|
||||||
|
</p>
|
||||||
|
<el-card :body-style="{ padding: '10px' }">
|
||||||
|
<el-descriptions class="margin-top" :column="1" size="small" border>
|
||||||
|
<el-descriptions-item
|
||||||
|
v-if="item.createUserName"
|
||||||
|
label-class-name="my-label"
|
||||||
|
:labelStyle="labelStyle"
|
||||||
|
>
|
||||||
|
<template slot="label"
|
||||||
|
><i class="el-icon-user"></i>办理用户</template
|
||||||
|
>
|
||||||
|
{{ item.createUserName }}
|
||||||
|
<el-tag type="info" size="mini">{{ item.createUser }}</el-tag>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item
|
||||||
|
v-if="item.createTime"
|
||||||
|
label-class-name="my-label"
|
||||||
|
:labelStyle="labelStyle"
|
||||||
|
>
|
||||||
|
<template slot="label"
|
||||||
|
><i class="el-icon-date"></i>办理时间</template
|
||||||
|
>
|
||||||
|
{{ item.createTime }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item
|
||||||
|
v-if="item.fileUrls"
|
||||||
|
label-class-name="my-label"
|
||||||
|
:labelStyle="labelStyle"
|
||||||
|
>
|
||||||
|
<template slot="label" v-if="item.processState == 1"
|
||||||
|
><i class="el-icon-picture-outline"></i>隐患图片</template
|
||||||
|
>
|
||||||
|
<template slot="label" v-if="item.processState != 1"
|
||||||
|
><i class="el-icon-picture-outline"></i>整改图片</template
|
||||||
|
>
|
||||||
|
<el-image
|
||||||
|
ref="preview"
|
||||||
|
v-for="img in item.fileUrls.split(',')"
|
||||||
|
:src="img + '.min.jpg'"
|
||||||
|
style="width: 50px; height: 50px; margin-right: 10px"
|
||||||
|
@click="onPreview(img)"
|
||||||
|
></el-image>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item
|
||||||
|
v-if="item.opinion"
|
||||||
|
label-class-name="my-label"
|
||||||
|
:labelStyle="labelStyle"
|
||||||
|
>
|
||||||
|
<template slot="label"
|
||||||
|
><i class="el-icon-tickets"></i>处理意见</template
|
||||||
|
>
|
||||||
|
{{ item.opinion }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-card>
|
||||||
|
</el-timeline-item>
|
||||||
|
</el-timeline>
|
||||||
|
</div>
|
||||||
|
<div class="drawerRight">
|
||||||
|
<el-form
|
||||||
|
ref="form"
|
||||||
|
label-width="80px"
|
||||||
|
size="mini"
|
||||||
|
:model="form"
|
||||||
|
:rules="rules"
|
||||||
|
style="padding-right: 20px; padding-left: 20px"
|
||||||
|
>
|
||||||
|
<el-form-item label="项目名称">
|
||||||
|
{{ dataInfo.problemArea }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="隐患图片">
|
||||||
|
<el-image
|
||||||
|
ref="preview"
|
||||||
|
v-for="img in dataInfo.smarkUrl.split(',')"
|
||||||
|
:src="getImageUrl(img)"
|
||||||
|
style="width: 60px; height: 60px; margin-right: 8px"
|
||||||
|
@click="onPreview(img)"
|
||||||
|
></el-image>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="问题类型">
|
||||||
|
<span v-if="dataInfo.problemType == '1'" class="timeline_for_state_1"
|
||||||
|
>常规检查</span
|
||||||
|
>
|
||||||
|
<span v-else class="timeline_for_state_2">专项检查</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="隐患类型">
|
||||||
|
<dict-tag
|
||||||
|
v-if="dataInfo.infoType == 1"
|
||||||
|
:options="dict.type.ssp_zlyhlx"
|
||||||
|
:value="dataInfo.dangerType"
|
||||||
|
/>
|
||||||
|
<dict-tag
|
||||||
|
v-if="dataInfo.infoType == 0"
|
||||||
|
:options="dict.type.ssp_aqyhlx"
|
||||||
|
:value="dataInfo.dangerType"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="隐患描述">
|
||||||
|
{{ dataInfo.workParts }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="整改要求">
|
||||||
|
{{ dataInfo.changeInfo }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="检查单位">
|
||||||
|
{{ dataInfo.deptName }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="检查分类">
|
||||||
|
<el-tag v-if="dataInfo.roleType == 3">产发集团</el-tag>
|
||||||
|
<el-tag v-if="dataInfo.roleType == 4">责任主体(子公司)</el-tag>
|
||||||
|
<el-tag v-if="dataInfo.roleType == 5">甲方代表</el-tag>
|
||||||
|
<el-tag v-if="dataInfo.roleType == 6">总包单位</el-tag>
|
||||||
|
<el-tag v-if="dataInfo.roleType == 7">监理单位</el-tag>
|
||||||
|
<el-tag v-if="dataInfo.roleType == 8">分包单位</el-tag>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="检查人">
|
||||||
|
{{ dataInfo.createUserName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="检查时间">
|
||||||
|
{{ dataInfo.createTime }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="整改人">
|
||||||
|
{{ dataInfo.lordSent }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="抄送人">
|
||||||
|
{{ dataInfo.copySend }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="复检人">
|
||||||
|
{{ dataInfo.recheckSend }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-form-item label="截至时间">
|
||||||
|
{{ dataInfo.nickedTime }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
v-if="dataInfo.checkState == 0 || dataInfo.checkState == 3"
|
||||||
|
label="整改说明"
|
||||||
|
prop="flowComment"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
:rows="3"
|
||||||
|
placeholder="请输入整改说明(255字内)"
|
||||||
|
v-model="form.flowComment"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
v-if="dataInfo.checkState == 1"
|
||||||
|
label="复检意见"
|
||||||
|
prop="flowComment"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
:rows="3"
|
||||||
|
placeholder="请输入复检意见(255字内)"
|
||||||
|
v-model="form.flowComment"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
v-if="dataInfo.checkState == 0 || dataInfo.checkState == 3"
|
||||||
|
label="整改图片"
|
||||||
|
prop="files"
|
||||||
|
>
|
||||||
|
<image-upload v-model="form.files" :limit="5" />
|
||||||
|
</el-form-item>
|
||||||
|
<div style="text-align: center; padding-bottom: 20px">
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
v-if="dataInfo.checkState == 0 || dataInfo.checkState == 3"
|
||||||
|
icon="el-icon-check"
|
||||||
|
@click="submitForm(0)"
|
||||||
|
>提 交 整 改</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
v-if="dataInfo.checkState == 1"
|
||||||
|
icon="el-icon-error"
|
||||||
|
@click="submitForm(2)"
|
||||||
|
>复 检 驳 回</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
v-if="dataInfo.checkState == 1"
|
||||||
|
icon="el-icon-success"
|
||||||
|
@click="submitForm(4)"
|
||||||
|
>复 检 通 过</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-drawer>
|
||||||
|
<el-image-viewer
|
||||||
|
v-if="showViewer"
|
||||||
|
:on-close="closeViewer"
|
||||||
|
:url-list="previewList"
|
||||||
|
style="z-index: 9999"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { auditinfoList, modifyProblem } from "@/api/trouble/sspProblemmodify";
|
||||||
|
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
||||||
|
import { getSspProblemmodify } from "@/api/trouble/sspProblemmodify";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "modifyProblemDrawer",
|
||||||
|
components: { ElImageViewer },
|
||||||
|
props: {
|
||||||
|
closeCallBack: {
|
||||||
|
type: Function,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dicts: ["ssp_zlyhlx", "ssp_aqyhlx", "smz_ssp_checkstate"],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
vOpen: false,
|
||||||
|
option: {},
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
mainId: null,
|
||||||
|
},
|
||||||
|
form: {
|
||||||
|
flowComment: "",
|
||||||
|
files: "",
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
flowComment: [
|
||||||
|
{ required: true, message: "请输入处理意见", trigger: "blur" },
|
||||||
|
{ max: 255, message: "处理意见最多255字符", trigger: "blur" },
|
||||||
|
],
|
||||||
|
files: [{ required: true, message: "请上传整改图片", trigger: "blur" }],
|
||||||
|
},
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 流程流转数据
|
||||||
|
flowRecordList: [],
|
||||||
|
//label样式
|
||||||
|
labelStyle: { width: "200px" },
|
||||||
|
showViewer: false,
|
||||||
|
previewList: [],
|
||||||
|
dataInfo: {
|
||||||
|
smarkUrl: "",
|
||||||
|
},
|
||||||
|
active: 100,
|
||||||
|
typeName: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
watch: {},
|
||||||
|
created() {},
|
||||||
|
mounted() {},
|
||||||
|
beforeDestroy() {},
|
||||||
|
methods: {
|
||||||
|
getImageUrl(url) {
|
||||||
|
return process.env.VUE_APP_BASE_API + url + ".min.jpg";
|
||||||
|
},
|
||||||
|
onPreview(urls) {
|
||||||
|
this.previewList = [];
|
||||||
|
urls.split(",").forEach((item) => {
|
||||||
|
this.previewList.push(process.env.VUE_APP_BASE_API + item);
|
||||||
|
});
|
||||||
|
this.showViewer = true;
|
||||||
|
},
|
||||||
|
getProcess(i, v) {
|
||||||
|
let num = this.flowRecordList.length - i;
|
||||||
|
if (num < 10) {
|
||||||
|
num = "0" + num;
|
||||||
|
}
|
||||||
|
return num + ". " + v;
|
||||||
|
},
|
||||||
|
closeViewer() {
|
||||||
|
this.showViewer = false;
|
||||||
|
},
|
||||||
|
setIcon(val) {
|
||||||
|
if (val == 2) {
|
||||||
|
return "el-icon-close";
|
||||||
|
} else {
|
||||||
|
return "el-icon-check";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setColor(val) {
|
||||||
|
if (val == 2) {
|
||||||
|
return "#f56c6c";
|
||||||
|
} else {
|
||||||
|
return "#2bc418";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
show(options) {
|
||||||
|
if (this.option.id != options.id) {
|
||||||
|
this.form.flowComment = "";
|
||||||
|
this.form.files = "";
|
||||||
|
}
|
||||||
|
if (options.infoType == 1) {
|
||||||
|
this.typeName = "质量";
|
||||||
|
} else {
|
||||||
|
this.typeName = "安全";
|
||||||
|
}
|
||||||
|
this.option = options;
|
||||||
|
this.initDataInfo();
|
||||||
|
this.getAuditinfoList();
|
||||||
|
this.vOpen = true;
|
||||||
|
},
|
||||||
|
initDataInfo() {
|
||||||
|
this.loading = true;
|
||||||
|
getSspProblemmodify(this.option.id).then((res) => {
|
||||||
|
if (res.data.checkState == 0) {
|
||||||
|
this.active = 1;
|
||||||
|
} else if (res.data.checkState == 1) {
|
||||||
|
this.active = 2;
|
||||||
|
} else if (res.data.checkState == 3) {
|
||||||
|
this.active = 1;
|
||||||
|
}
|
||||||
|
this.dataInfo = res.data;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 查询项目人员列表 */
|
||||||
|
getAuditinfoList() {
|
||||||
|
this.queryParams.mainId = this.option.id;
|
||||||
|
auditinfoList(this.queryParams).then((response) => {
|
||||||
|
this.flowRecordList = response.rows;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.vOpen = false;
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm(v) {
|
||||||
|
let that = this;
|
||||||
|
this.$refs["form"].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
let msg = "提交复检";
|
||||||
|
if (v == 2) {
|
||||||
|
msg = "复检驳回";
|
||||||
|
}
|
||||||
|
if (v == 4) {
|
||||||
|
msg = "复检通过";
|
||||||
|
}
|
||||||
|
this.$confirm("是否确认" + msg + "?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
that.loading = true;
|
||||||
|
let params = {
|
||||||
|
mainId: that.option.id,
|
||||||
|
processState: v,
|
||||||
|
opinion: that.form.flowComment,
|
||||||
|
fileUrls: that.form.files,
|
||||||
|
};
|
||||||
|
modifyProblem(params).then((res) => {
|
||||||
|
that.$modal.msgSuccess("操作成功");
|
||||||
|
that.loading = false;
|
||||||
|
//关闭并刷新列表
|
||||||
|
that.$refs.drawer.closeDrawer();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
console.log("取消操作");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scope>
|
||||||
|
.el-alert {
|
||||||
|
display: flex !important;
|
||||||
|
}
|
||||||
|
.el-alert--info.is-light {
|
||||||
|
background: cornflowerblue !important;
|
||||||
|
color: #ffffff !important;
|
||||||
|
}
|
||||||
|
.el-alert--info .el-alert__description {
|
||||||
|
color: #ffffff !important;
|
||||||
|
}
|
||||||
|
.el-steps--simple {
|
||||||
|
padding: 5px 5px !important;
|
||||||
|
}
|
||||||
|
.el-timeline-item {
|
||||||
|
padding-bottom: 0px !important;
|
||||||
|
}
|
||||||
|
.el-timeline {
|
||||||
|
padding-left: 5px !important;
|
||||||
|
padding-top: 20px !important;
|
||||||
|
}
|
||||||
|
.el-timeline-item__wrapper {
|
||||||
|
padding-left: 15px !important;
|
||||||
|
}
|
||||||
|
.el-timeline-item__content {
|
||||||
|
font-weight: 900;
|
||||||
|
}
|
||||||
|
.el-form-item {
|
||||||
|
margin-bottom: 15px !important;
|
||||||
|
}
|
||||||
|
.el-step.is-simple .el-step__title {
|
||||||
|
font-size: 13px !important;
|
||||||
|
}
|
||||||
|
.el-card {
|
||||||
|
margin-left: -15px !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style lang="scss">
|
||||||
|
.ssp-container-index-drawer {
|
||||||
|
.drawer {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
.drawerLeft {
|
||||||
|
width: 50%;
|
||||||
|
min-width: 280px;
|
||||||
|
height: 100%;
|
||||||
|
float: left;
|
||||||
|
border-right: 1px solid #dcdfe6;
|
||||||
|
overflow-y: scroll;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
.drawerRight {
|
||||||
|
width: 50%;
|
||||||
|
min-width: 400px;
|
||||||
|
height: 100%;
|
||||||
|
float: left;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,85 +1,161 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container project-build-node-drawer">
|
<div class="ssp-container-index-drawer">
|
||||||
<el-drawer
|
<el-drawer v-if="vOpen" :visible.sync="vOpen" ref="drawer" v-loading="vLoading" direction="rtl" size="60%">
|
||||||
v-bind="$attrs"
|
<template slot="title">
|
||||||
v-on="$listeners"
|
<div>隐患详情查看</div>
|
||||||
@opened="onOpen"
|
|
||||||
@close="onClose"
|
|
||||||
style="padding-left: 40px"
|
|
||||||
title="隐患整改审批日志"
|
|
||||||
>
|
|
||||||
<template slot="t">
|
|
||||||
<right-toolbar @queryTable="getAuditinfoList" :search="true"></right-toolbar>
|
|
||||||
</template>
|
</template>
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-timeline>
|
<div class="drawer">
|
||||||
<el-timeline-item
|
<div class="drawerLeft">
|
||||||
v-for="(item, index) in flowRecordList"
|
<el-steps :active="active" finish-status="success" simple>
|
||||||
:key="index"
|
<el-step title="提交隐患"></el-step>
|
||||||
:icon="setIcon(item.processState)"
|
<el-step title="处理隐患"></el-step>
|
||||||
:color="setColor(item.processState)"
|
<el-step title="整改复检"></el-step>
|
||||||
>
|
<el-step title="处理完成"></el-step>
|
||||||
<p style="font-weight: 700">
|
</el-steps>
|
||||||
{{ getProcess(index, item.process) }}
|
<el-timeline>
|
||||||
</p>
|
<el-timeline-item
|
||||||
<el-card :body-style="{ padding: '10px' }">
|
v-for="(item, index) in flowRecordList"
|
||||||
<el-descriptions class="margin-top" :column="1" size="small" border>
|
:key="index"
|
||||||
<el-descriptions-item
|
:icon="setIcon(item.processState)"
|
||||||
v-if="item.createUserName"
|
:color="setColor(item.processState)"
|
||||||
label-class-name="my-label"
|
>
|
||||||
:labelStyle="labelStyle"
|
<p style="font-weight: 700">
|
||||||
|
{{ getProcess(index, item.process) }}
|
||||||
|
</p>
|
||||||
|
<el-card :body-style="{ padding: '10px' }">
|
||||||
|
<el-descriptions class="margin-top" :column="1" size="small" border>
|
||||||
|
<el-descriptions-item
|
||||||
|
v-if="item.createUserName"
|
||||||
|
label-class-name="my-label"
|
||||||
|
:labelStyle="labelStyle"
|
||||||
|
>
|
||||||
|
<template slot="label"
|
||||||
|
><i class="el-icon-user"></i>办理用户</template
|
||||||
|
>
|
||||||
|
{{ item.createUserName }}
|
||||||
|
<el-tag type="info" size="mini">{{ item.createUser }}</el-tag>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item
|
||||||
|
v-if="item.createTime"
|
||||||
|
label-class-name="my-label"
|
||||||
|
:labelStyle="labelStyle"
|
||||||
|
>
|
||||||
|
<template slot="label"
|
||||||
|
><i class="el-icon-date"></i>办理时间</template
|
||||||
|
>
|
||||||
|
{{ item.createTime }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item
|
||||||
|
v-if="item.fileUrls"
|
||||||
|
label-class-name="my-label"
|
||||||
|
:labelStyle="labelStyle"
|
||||||
|
>
|
||||||
|
<template slot="label" v-if="item.processState == 1"
|
||||||
|
><i class="el-icon-picture-outline"></i>隐患图片</template
|
||||||
|
>
|
||||||
|
<template slot="label" v-if="item.processState != 1"
|
||||||
|
><i class="el-icon-picture-outline"></i>整改图片</template
|
||||||
|
>
|
||||||
|
<el-image
|
||||||
|
ref="preview"
|
||||||
|
v-for="img in item.fileUrls.split(',')"
|
||||||
|
:src="img + '.min.jpg'"
|
||||||
|
style="width: 50px; height: 50px; margin-right: 10px"
|
||||||
|
@click="onPreview(img)"
|
||||||
|
></el-image>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item
|
||||||
|
v-if="item.opinion"
|
||||||
|
label-class-name="my-label"
|
||||||
|
:labelStyle="labelStyle"
|
||||||
|
>
|
||||||
|
<template slot="label"
|
||||||
|
><i class="el-icon-tickets"></i>处理意见</template
|
||||||
|
>
|
||||||
|
{{ item.opinion }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-card>
|
||||||
|
</el-timeline-item>
|
||||||
|
</el-timeline>
|
||||||
|
</div>
|
||||||
|
<div class="drawerRight">
|
||||||
|
<el-form
|
||||||
|
ref="form"
|
||||||
|
label-width="80px"
|
||||||
|
size="mini"
|
||||||
|
style="padding-right: 20px; padding-left: 20px"
|
||||||
|
>
|
||||||
|
<el-form-item label="项目名称">
|
||||||
|
{{ dataInfo.problemArea }}
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="隐患图片">
|
||||||
|
<el-image
|
||||||
|
ref="preview"
|
||||||
|
v-for="img in dataInfo.smarkUrl.split(',')"
|
||||||
|
:src="getImageUrl(img)"
|
||||||
|
style="width: 60px; height: 60px; margin-right: 8px"
|
||||||
|
@click="onPreview(img)"
|
||||||
|
></el-image>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="问题类型">
|
||||||
|
<span v-if="dataInfo.problemType == '1'" class="timeline_for_state_1"
|
||||||
|
>常规检查</span
|
||||||
>
|
>
|
||||||
<template slot="label"><i class="el-icon-user"></i>办理用户</template>
|
<span v-else class="timeline_for_state_2">专项检查</span>
|
||||||
{{ item.createUserName }}
|
</el-form-item>
|
||||||
<el-tag type="info" size="mini">{{ item.createUser }}</el-tag>
|
<el-form-item label="隐患类型">
|
||||||
</el-descriptions-item>
|
<dict-tag v-if="dataInfo.infoType==1" :options="dict.type.ssp_zlyhlx" :value="dataInfo.dangerType" />
|
||||||
<el-descriptions-item
|
<dict-tag v-if="dataInfo.infoType==0" :options="dict.type.ssp_aqyhlx" :value="dataInfo.dangerType" />
|
||||||
v-if="item.createTime"
|
</el-form-item>
|
||||||
label-class-name="my-label"
|
<el-form-item label="隐患描述">
|
||||||
:labelStyle="labelStyle"
|
{{ dataInfo.workParts }}
|
||||||
>
|
</el-form-item>
|
||||||
<template slot="label"><i class="el-icon-date"></i>办理时间</template>
|
<el-form-item label="整改要求">
|
||||||
{{ item.createTime }}
|
{{ dataInfo.changeInfo }}
|
||||||
</el-descriptions-item>
|
</el-form-item>
|
||||||
<el-descriptions-item
|
<el-form-item label="检查单位">
|
||||||
v-if="item.fileUrls"
|
{{ dataInfo.deptName }}
|
||||||
label-class-name="my-label"
|
</el-form-item>
|
||||||
:labelStyle="labelStyle"
|
<el-form-item label="检查分类">
|
||||||
>
|
<el-tag v-if="dataInfo.roleType==3">产发集团</el-tag>
|
||||||
<template slot="label" v-if="item.processState == 1"
|
<el-tag v-if="dataInfo.roleType==4">责任主体(子公司)</el-tag>
|
||||||
><i class="el-icon-picture-outline"></i>隐患图片</template
|
<el-tag v-if="dataInfo.roleType==5">甲方代表</el-tag>
|
||||||
>
|
<el-tag v-if="dataInfo.roleType==6">总包单位</el-tag>
|
||||||
<template slot="label" v-if="item.processState != 1"
|
<el-tag v-if="dataInfo.roleType==7">监理单位</el-tag>
|
||||||
><i class="el-icon-picture-outline"></i>整改图片</template
|
<el-tag v-if="dataInfo.roleType==8">分包单位</el-tag>
|
||||||
>
|
</el-form-item>
|
||||||
<el-image
|
<el-form-item label="检查人">
|
||||||
ref="preview"
|
{{ dataInfo.createUserName }}
|
||||||
v-for="img in item.fileUrls.split(',')"
|
</el-form-item>
|
||||||
:src="img + '.min.jpg'"
|
<el-form-item label="检查时间">
|
||||||
style="width: 50px; height: 50px; margin-right: 10px"
|
{{ dataInfo.createTime }}
|
||||||
@click="onPreview(img)"
|
</el-form-item>
|
||||||
></el-image>
|
<el-form-item label="整改人">
|
||||||
</el-descriptions-item>
|
{{ dataInfo.lordSent }}
|
||||||
<el-descriptions-item
|
</el-form-item>
|
||||||
v-if="item.opinion"
|
<el-form-item label="抄送人">
|
||||||
label-class-name="my-label"
|
{{ dataInfo.copySend }}
|
||||||
:labelStyle="labelStyle"
|
</el-form-item>
|
||||||
>
|
<el-form-item label="复检人">
|
||||||
<template slot="label"
|
{{ dataInfo.recheckSend }}
|
||||||
><i class="el-icon-tickets"></i>处理意见</template
|
</el-form-item>
|
||||||
>
|
<el-form-item label="截至时间">
|
||||||
{{ item.opinion }}
|
{{ dataInfo.nickedTime }}
|
||||||
</el-descriptions-item>
|
</el-form-item>
|
||||||
</el-descriptions>
|
<el-form-item label="流程状态">
|
||||||
</el-card>
|
<dict-tag :options="dict.type.smz_ssp_checkstate" :value="dataInfo.checkState" />
|
||||||
</el-timeline-item>
|
</el-form-item>
|
||||||
</el-timeline>
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
<el-image-viewer
|
<el-image-viewer
|
||||||
v-if="showViewer"
|
v-if="showViewer"
|
||||||
:on-close="closeViewer"
|
:on-close="closeViewer"
|
||||||
:url-list="srcList"
|
:url-list="previewList"
|
||||||
style="z-index: 9999"
|
style="z-index: 9999"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -88,47 +164,48 @@
|
||||||
<script>
|
<script>
|
||||||
import { auditinfoList } from "@/api/trouble/sspProblemmodify";
|
import { auditinfoList } from "@/api/trouble/sspProblemmodify";
|
||||||
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
||||||
|
import { getSspProblemmodify } from "@/api/trouble/sspProblemmodify";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { ElImageViewer },
|
components: { ElImageViewer },
|
||||||
props: {
|
props: {},
|
||||||
formData: {
|
dicts: ["ssp_zlyhlx","ssp_aqyhlx","smz_ssp_checkstate"],
|
||||||
problemmodifyId: String,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
dicts: [],
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
vOpen: false,
|
||||||
|
option: {},
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
mainId: null,
|
mainId: null,
|
||||||
},
|
},
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: true,
|
vLoading: true,
|
||||||
// 流程流转数据
|
// 流程流转数据
|
||||||
flowRecordList: [],
|
flowRecordList: [],
|
||||||
//label样式
|
//label样式
|
||||||
labelStyle: { width: "200px" },
|
labelStyle: { width: "200px" },
|
||||||
showViewer: false,
|
showViewer: false,
|
||||||
srcList: [],
|
previewList: [],
|
||||||
|
dataInfo: {
|
||||||
|
smarkUrl:"",
|
||||||
|
},
|
||||||
|
active: 100,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
watch: {
|
watch: {},
|
||||||
formData: {
|
|
||||||
handler(value) {
|
|
||||||
this.formData = value;
|
|
||||||
},
|
|
||||||
immediate: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
created() {},
|
created() {},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
beforeDestroy() {},
|
beforeDestroy() {},
|
||||||
methods: {
|
methods: {
|
||||||
onPreview(url) {
|
getImageUrl(url) {
|
||||||
this.srcList = [];
|
return process.env.VUE_APP_BASE_API + url + ".min.jpg";
|
||||||
this.srcList.push(url);
|
},
|
||||||
|
onPreview(urls) {
|
||||||
|
this.previewList = [];
|
||||||
|
urls.split(",").forEach((item) => {
|
||||||
|
this.previewList.push(process.env.VUE_APP_BASE_API + item);
|
||||||
|
});
|
||||||
this.showViewer = true;
|
this.showViewer = true;
|
||||||
},
|
},
|
||||||
getProcess(i, v) {
|
getProcess(i, v) {
|
||||||
|
@ -155,21 +232,97 @@ export default {
|
||||||
return "#2bc418";
|
return "#2bc418";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onOpen() {
|
show(options) {
|
||||||
|
this.option = options;
|
||||||
|
this.initDataInfo();
|
||||||
this.getAuditinfoList();
|
this.getAuditinfoList();
|
||||||
|
this.vOpen = true;
|
||||||
|
},
|
||||||
|
initDataInfo() {
|
||||||
|
this.vLoading = true;
|
||||||
|
getSspProblemmodify(this.option.id).then((res) => {
|
||||||
|
if (res.data.checkState == 0) {
|
||||||
|
this.active = 1;
|
||||||
|
} else if (res.data.checkState == 1) {
|
||||||
|
this.active = 2;
|
||||||
|
} else if (res.data.checkState == 3) {
|
||||||
|
this.active = 1;
|
||||||
|
}
|
||||||
|
this.dataInfo = res.data;
|
||||||
|
this.vLoading = false;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
onClose() {},
|
|
||||||
/** 查询项目人员列表 */
|
/** 查询项目人员列表 */
|
||||||
getAuditinfoList() {
|
getAuditinfoList() {
|
||||||
if (this.formData.problemmodifyId) {
|
this.queryParams.mainId = this.option.id;
|
||||||
this.loading = true;
|
auditinfoList(this.queryParams).then((response) => {
|
||||||
this.queryParams.mainId = this.formData.problemmodifyId;
|
this.flowRecordList = response.rows;
|
||||||
auditinfoList(this.queryParams).then((response) => {
|
});
|
||||||
this.flowRecordList = response.rows;
|
|
||||||
this.loading = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
<style scope>
|
||||||
|
.el-alert {
|
||||||
|
display: flex !important;
|
||||||
|
}
|
||||||
|
.el-alert--info.is-light {
|
||||||
|
background: cornflowerblue !important;
|
||||||
|
color: #ffffff !important;
|
||||||
|
}
|
||||||
|
.el-alert--info .el-alert__description {
|
||||||
|
color: #ffffff !important;
|
||||||
|
}
|
||||||
|
.el-steps--simple {
|
||||||
|
padding: 5px 5px !important;
|
||||||
|
}
|
||||||
|
.el-timeline-item {
|
||||||
|
padding-bottom: 0px !important;
|
||||||
|
}
|
||||||
|
.el-timeline {
|
||||||
|
padding-left: 5px !important;
|
||||||
|
padding-top: 20px !important;
|
||||||
|
}
|
||||||
|
.el-timeline-item__wrapper {
|
||||||
|
padding-left: 15px !important;
|
||||||
|
}
|
||||||
|
.el-timeline-item__content {
|
||||||
|
font-weight: 900;
|
||||||
|
}
|
||||||
|
.el-form-item {
|
||||||
|
margin-bottom: 15px !important;
|
||||||
|
}
|
||||||
|
.el-step.is-simple .el-step__title{
|
||||||
|
font-size:13px !important;
|
||||||
|
}
|
||||||
|
.el-card{
|
||||||
|
margin-left: -15px !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style lang="scss">
|
||||||
|
.ssp-container-index-drawer {
|
||||||
|
.drawer {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
.drawerLeft {
|
||||||
|
width: 55%;
|
||||||
|
min-width: 280px;
|
||||||
|
height: 100%;
|
||||||
|
float: left;
|
||||||
|
border-right: 1px solid #dcdfe6;
|
||||||
|
overflow-y: scroll;
|
||||||
|
padding-right: 20px;
|
||||||
|
}
|
||||||
|
.drawerRight {
|
||||||
|
width: 45%;
|
||||||
|
min-width: 400px;
|
||||||
|
height: 100%;
|
||||||
|
float: left;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -124,7 +124,19 @@ public class SmzSspProblemmodifyController extends BaseController
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||||
{
|
{
|
||||||
return success(smzSspProblemmodifyService.selectSmzSspProblemmodifyById(id));
|
return success(smzSspProblemmodifyService.selectSmzSspProblemmodifyInfoById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提交问题整改
|
||||||
|
* @param smzSspAuditinfo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('trouble:sspProblemmodify:edit')")
|
||||||
|
@Log(title = "提交问题整改", businessType = BusinessType.UPDATE)
|
||||||
|
@PostMapping("/modifyProblem")
|
||||||
|
public AjaxResult modifyProblem(@RequestBody SmzSspAuditinfo smzSspAuditinfo){
|
||||||
|
return success(smzSspAuditinfoService.insertSmzSspAuditinfo(smzSspAuditinfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue