安全隐患功能
parent
2fbf85a62b
commit
bc4d6e14ca
|
@ -58,4 +58,5 @@ public interface SmzSspProblemmodifyMapper
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteSmzSspProblemmodifyByIds(Long[] ids);
|
public int deleteSmzSspProblemmodifyByIds(Long[] ids);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.yanzhu.manage.service.impl;
|
package com.yanzhu.manage.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
import com.yanzhu.common.core.context.SecurityContextHolder;
|
import com.yanzhu.common.core.context.SecurityContextHolder;
|
||||||
import com.yanzhu.common.core.utils.DateUtils;
|
import com.yanzhu.common.core.utils.DateUtils;
|
||||||
|
@ -100,10 +101,14 @@ public class SmzSspProblemmodifyServiceImpl implements ISmzSspProblemmodifyServi
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int insertSmzSspProblemmodifies(List<SmzSspProblemmodify> list) {
|
public int insertSmzSspProblemmodifies(List<SmzSspProblemmodify> list) {
|
||||||
|
AtomicInteger count = new AtomicInteger();
|
||||||
list.stream().forEach(it->{
|
list.stream().forEach(it->{
|
||||||
|
it.setCheckState(0L);
|
||||||
|
it.setIsDel(0L);
|
||||||
it.setCreateTime(DateUtils.getNowDate());
|
it.setCreateTime(DateUtils.getNowDate());
|
||||||
it.setCreateBy(SecurityContextHolder.getUserName());
|
it.setCreateBy(SecurityContextHolder.getUserName());
|
||||||
|
count.addAndGet(smzSspProblemmodifyMapper.insertSmzSspProblemmodify(it));
|
||||||
});
|
});
|
||||||
return 0;
|
return count.get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +1,52 @@
|
||||||
import request from '@/utils/request'
|
import request from "@/utils/request";
|
||||||
|
|
||||||
// 查询安全隐患整改列表
|
// 查询安全隐患整改列表
|
||||||
export function listProblemmodify(query) {
|
export function listProblemmodify(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodify/list',
|
url: "/manage/problemmodify/list",
|
||||||
method: 'get',
|
method: "get",
|
||||||
params: query
|
params: query,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询安全隐患整改详细
|
// 查询安全隐患整改详细
|
||||||
export function getProblemmodify(id) {
|
export function getProblemmodify(id) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodify/' + id,
|
url: "/manage/problemmodify/" + id,
|
||||||
method: 'get'
|
method: "get",
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增安全隐患整改
|
// 新增安全隐患整改
|
||||||
export function addProblemmodify(data) {
|
export function addProblemmodify(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodify',
|
url: "/manage/problemmodify",
|
||||||
method: 'post',
|
method: "post",
|
||||||
data: data
|
data: data,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改安全隐患整改
|
// 修改安全隐患整改
|
||||||
export function updateProblemmodify(data) {
|
export function updateProblemmodify(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodify',
|
url: "/manage/problemmodify",
|
||||||
method: 'put',
|
method: "put",
|
||||||
data: data
|
data: data,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除安全隐患整改
|
// 删除安全隐患整改
|
||||||
export function delProblemmodify(id) {
|
export function delProblemmodify(id) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodify/' + id,
|
url: "/manage/problemmodify/" + id,
|
||||||
method: 'delete'
|
method: "delete",
|
||||||
})
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function batchAddProblemmodify(datas) {
|
||||||
|
return request({
|
||||||
|
url: "/manage/problemmodify/batchAdd",
|
||||||
|
method: "post",
|
||||||
|
data: datas,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +1,44 @@
|
||||||
import request from '@/utils/request'
|
import request from "@/utils/request";
|
||||||
|
|
||||||
// 查询安全问题草稿列表
|
// 查询安全问题草稿列表
|
||||||
export function listProblemmodifyDraft(query) {
|
export function listProblemmodifyDraft(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodifyDraft/list',
|
url: "/manage/problemmodifyDraft/list",
|
||||||
method: 'get',
|
method: "get",
|
||||||
params: query
|
params: query,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询安全问题草稿详细
|
// 查询安全问题草稿详细
|
||||||
export function getProblemmodifyDraft(id) {
|
export function getProblemmodifyDraft(id) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodifyDraft/' + id,
|
url: "/manage/problemmodifyDraft/" + id,
|
||||||
method: 'get'
|
method: "get",
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增安全问题草稿
|
// 新增安全问题草稿
|
||||||
export function addProblemmodifyDraft(data) {
|
export function addProblemmodifyDraft(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodifyDraft',
|
url: "/manage/problemmodifyDraft",
|
||||||
method: 'post',
|
method: "post",
|
||||||
data: data
|
data: data,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改安全问题草稿
|
// 修改安全问题草稿
|
||||||
export function updateProblemmodifyDraft(data) {
|
export function updateProblemmodifyDraft(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodifyDraft',
|
url: "/manage/problemmodifyDraft",
|
||||||
method: 'put',
|
method: "put",
|
||||||
data: data
|
data: data,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除安全问题草稿
|
// 删除安全问题草稿
|
||||||
export function delProblemmodifyDraft(id) {
|
export function delProblemmodifyDraft(id) {
|
||||||
return request({
|
return request({
|
||||||
url: '/trouble/problemmodifyDraft/' + id,
|
url: "/manage/problemmodifyDraft/" + id,
|
||||||
method: 'delete'
|
method: "delete",
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,14 +13,14 @@
|
||||||
<!--表单信息-->
|
<!--表单信息-->
|
||||||
<el-tab-pane label="表单信息" name="1">
|
<el-tab-pane label="表单信息" name="1">
|
||||||
<el-col :span="16" :offset="4">
|
<el-col :span="16" :offset="4">
|
||||||
<v-form-render ref="vFormRef"/>
|
<v-form-render ref="vFormRef" />
|
||||||
<div style="margin-left:15%;margin-bottom: 20px;font-size: 14px;">
|
<div style="margin-left:15%;margin-bottom: 20px;font-size: 14px;">
|
||||||
<el-button icon="Check" type="primary" @click="handleComplete">审 批</el-button>
|
<el-button icon="Check" type="primary" @click="handleComplete">审 批</el-button>
|
||||||
<!-- <el-button icon="el-icon-edit-outline" type="primary" size="mini" @click="handleDelegate">委派</el-button>-->
|
<!-- <el-button icon="el-icon-edit-outline" type="primary" size="small" @click="handleDelegate">委派</el-button>-->
|
||||||
<!-- <el-button icon="el-icon-edit-outline" type="primary" size="mini" @click="handleAssign">转办</el-button>-->
|
<!-- <el-button icon="el-icon-edit-outline" type="primary" size="small" @click="handleAssign">转办</el-button>-->
|
||||||
<!-- <el-button icon="el-icon-edit-outline" type="primary" size="mini" @click="handleDelegate">签收</el-button>-->
|
<!-- <el-button icon="el-icon-edit-outline" type="primary" size="small" @click="handleDelegate">签收</el-button>-->
|
||||||
<!-- <el-button icon="el-icon-refresh-left" type="warning" @click="handleReturn">退回</el-button>-->
|
<!-- <el-button icon="el-icon-refresh-left" type="warning" @click="handleReturn">退回</el-button>-->
|
||||||
<!-- <el-button icon="el-icon-circle-close" type="danger" size="mini" @click="handleReject">驳回</el-button>-->
|
<!-- <el-button icon="el-icon-circle-close" type="danger" size="small" @click="handleReject">驳回</el-button>-->
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
@ -31,69 +31,77 @@
|
||||||
<el-col :span="16" :offset="4">
|
<el-col :span="16" :offset="4">
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-timeline>
|
<el-timeline>
|
||||||
<el-timeline-item
|
<el-timeline-item v-for="(item, index) in flowRecordList" :key="index" :icon="setIcon(item.finishTime)"
|
||||||
v-for="(item,index ) in flowRecordList"
|
:color="setColor(item.finishTime)">
|
||||||
:key="index"
|
|
||||||
:icon="setIcon(item.finishTime)"
|
|
||||||
:color="setColor(item.finishTime)"
|
|
||||||
>
|
|
||||||
<p style="font-weight: 700">{{ item.taskName }}</p>
|
<p style="font-weight: 700">{{ item.taskName }}</p>
|
||||||
<el-card :body-style="{ padding: '10px' }">
|
<el-card :body-style="{ padding: '10px' }">
|
||||||
<el-descriptions class="margin-top" :column="1" size="small" border>
|
<el-descriptions class="margin-top" :column="1" size="small" border>
|
||||||
<el-descriptions-item v-if="item.assigneeName" >
|
<el-descriptions-item v-if="item.assigneeName">
|
||||||
<template #label>
|
<template #label>
|
||||||
<div class="cell-item">
|
<div class="cell-item">
|
||||||
<el-icon :style="iconStyle"><User /></el-icon>
|
<el-icon :style="iconStyle">
|
||||||
|
<User />
|
||||||
|
</el-icon>
|
||||||
办理人
|
办理人
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
{{item.assigneeName}}
|
{{ item.assigneeName }}
|
||||||
<el-tag type="info" size="small">{{item.deptName}}</el-tag>
|
<el-tag type="info" size="small">{{ item.deptName }}</el-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item v-if="item.candidate" >
|
<el-descriptions-item v-if="item.candidate">
|
||||||
<template #label>
|
<template #label>
|
||||||
<div class="cell-item">
|
<div class="cell-item">
|
||||||
<el-icon :style="iconStyle"><User /></el-icon>
|
<el-icon :style="iconStyle">
|
||||||
|
<User />
|
||||||
|
</el-icon>
|
||||||
候选办理
|
候选办理
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
{{item.candidate}}
|
{{ item.candidate }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item >
|
<el-descriptions-item>
|
||||||
<template #label>
|
<template #label>
|
||||||
<div class="cell-item">
|
<div class="cell-item">
|
||||||
<el-icon :style="iconStyle"><Calendar /></el-icon>
|
<el-icon :style="iconStyle">
|
||||||
|
<Calendar />
|
||||||
|
</el-icon>
|
||||||
接收时间
|
接收时间
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
{{item.createTime}}
|
{{ item.createTime }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item v-if="item.finishTime" >
|
<el-descriptions-item v-if="item.finishTime">
|
||||||
<template #label>
|
<template #label>
|
||||||
<div class="cell-item">
|
<div class="cell-item">
|
||||||
<el-icon :style="iconStyle"><Calendar /></el-icon>
|
<el-icon :style="iconStyle">
|
||||||
|
<Calendar />
|
||||||
|
</el-icon>
|
||||||
处理时间
|
处理时间
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
{{item.finishTime}}
|
{{ item.finishTime }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item v-if="item.duration" >
|
<el-descriptions-item v-if="item.duration">
|
||||||
<template #label>
|
<template #label>
|
||||||
<div class="cell-item">
|
<div class="cell-item">
|
||||||
<el-icon :style="iconStyle"><Timer /></el-icon>
|
<el-icon :style="iconStyle">
|
||||||
|
<Timer />
|
||||||
|
</el-icon>
|
||||||
耗时
|
耗时
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
{{item.duration}}
|
{{ item.duration }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item v-if="item.comment" >
|
<el-descriptions-item v-if="item.comment">
|
||||||
<template #label>
|
<template #label>
|
||||||
<div class="cell-item">
|
<div class="cell-item">
|
||||||
<el-icon :style="iconStyle"><ChatDotSquare /></el-icon>
|
<el-icon :style="iconStyle">
|
||||||
|
<ChatDotSquare />
|
||||||
|
</el-icon>
|
||||||
处理意见
|
处理意见
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
{{item.comment.comment}}
|
{{ item.comment.comment }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
@ -105,7 +113,7 @@
|
||||||
|
|
||||||
<!--流程图-->
|
<!--流程图-->
|
||||||
<el-tab-pane label="流程图" name="3">
|
<el-tab-pane label="流程图" name="3">
|
||||||
<bpmn-viewer :flowData="flowData" :procInsId="taskForm.procInsId"/>
|
<bpmn-viewer :flowData="flowData" :procInsId="taskForm.procInsId" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
@ -117,15 +125,15 @@
|
||||||
<flow-role v-if="checkSendRole" @handleRoleSelect="roleSelect"></flow-role>
|
<flow-role v-if="checkSendRole" @handleRoleSelect="roleSelect"></flow-role>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="处理意见" label-width="80px" prop="comment"
|
<el-form-item label="处理意见" label-width="80px" prop="comment"
|
||||||
:rules="[{ required: true, message: '请输入处理意见', trigger: 'blur' }]">
|
:rules="[{ required: true, message: '请输入处理意见', trigger: 'blur' }]">
|
||||||
<el-input type="textarea" v-model="taskForm.comment" placeholder="请输入处理意见"/>
|
<el-input type="textarea" v-model="taskForm.comment" placeholder="请输入处理意见" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button @click="completeOpen = false">取 消</el-button>
|
<el-button @click="completeOpen = false">取 消</el-button>
|
||||||
<el-button type="primary" @click="taskComplete">确 定</el-button>
|
<el-button type="primary" @click="taskComplete">确 定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
@ -134,23 +142,18 @@
|
||||||
<el-form ref="taskFormRef" :model="taskForm" label-width="80px">
|
<el-form ref="taskFormRef" :model="taskForm" label-width="80px">
|
||||||
<el-form-item label="退回节点" prop="targetKey">
|
<el-form-item label="退回节点" prop="targetKey">
|
||||||
<el-radio-group v-model="taskForm.targetKey">
|
<el-radio-group v-model="taskForm.targetKey">
|
||||||
<el-radio-button
|
<el-radio-button v-for="item in returnTaskList" :key="item.id" :label="item.id">{{ item.name }}
|
||||||
v-for="item in returnTaskList"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.id"
|
|
||||||
>{{ item.name }}
|
|
||||||
</el-radio-button>
|
</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="退回意见" prop="comment"
|
<el-form-item label="退回意见" prop="comment" :rules="[{ required: true, message: '请输入意见', trigger: 'blur' }]">
|
||||||
:rules="[{ required: true, message: '请输入意见', trigger: 'blur' }]">
|
<el-input style="width: 50%" type="textarea" v-model="taskForm.comment" placeholder="请输入意见" />
|
||||||
<el-input style="width: 50%" type="textarea" v-model="taskForm.comment" placeholder="请输入意见"/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button @click="returnOpen = false">取 消</el-button>
|
<el-button @click="returnOpen = false">取 消</el-button>
|
||||||
<el-button type="primary" @click="taskReturn">确 定</el-button>
|
<el-button type="primary" @click="taskReturn">确 定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
@ -158,9 +161,8 @@
|
||||||
<!--驳回流程-->
|
<!--驳回流程-->
|
||||||
<el-dialog :title="rejectTitle" v-model="rejectOpen" width="40%" append-to-body>
|
<el-dialog :title="rejectTitle" v-model="rejectOpen" width="40%" append-to-body>
|
||||||
<el-form ref="taskFormRef" :model="taskForm" label-width="80px">
|
<el-form ref="taskFormRef" :model="taskForm" label-width="80px">
|
||||||
<el-form-item label="驳回意见" prop="comment"
|
<el-form-item label="驳回意见" prop="comment" :rules="[{ required: true, message: '请输入意见', trigger: 'blur' }]">
|
||||||
:rules="[{ required: true, message: '请输入意见', trigger: 'blur' }]">
|
<el-input style="width: 50%" type="textarea" v-model="taskForm.comment" placeholder="请输入意见" />
|
||||||
<el-input style="width: 50%" type="textarea" v-model="taskForm.comment" placeholder="请输入意见"/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
|
@ -176,11 +178,11 @@
|
||||||
|
|
||||||
|
|
||||||
<script setup name="TodoDetail">
|
<script setup name="TodoDetail">
|
||||||
import {flowRecord} from "@/api/flowable/finished";
|
import { flowRecord } from "@/api/flowable/finished";
|
||||||
import FlowUser from '@/components/flow/User';
|
import FlowUser from '@/components/flow/User';
|
||||||
import FlowRole from '@/components/flow/Role';
|
import FlowRole from '@/components/flow/Role';
|
||||||
import BpmnViewer from '@/components/Process/viewer';
|
import BpmnViewer from '@/components/Process/viewer';
|
||||||
import {flowXmlAndNode} from "@/api/flowable/definition";
|
import { flowXmlAndNode } from "@/api/flowable/definition";
|
||||||
import {
|
import {
|
||||||
complete,
|
complete,
|
||||||
rejectTask,
|
rejectTask,
|
||||||
|
@ -237,14 +239,14 @@ const vFormRef = ref(null);
|
||||||
|
|
||||||
|
|
||||||
const iconStyle = computed(() => {
|
const iconStyle = computed(() => {
|
||||||
const marginMap = {
|
const marginMap = {
|
||||||
large: '8px',
|
large: '8px',
|
||||||
default: '6px',
|
default: '6px',
|
||||||
small: '4px',
|
small: '4px',
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
marginRight: marginMap.small,
|
marginRight: marginMap.small,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
|
@ -285,7 +287,7 @@ if (route.query) {
|
||||||
/** tab点击 */
|
/** tab点击 */
|
||||||
function handleClick(tab, event) {
|
function handleClick(tab, event) {
|
||||||
if (tab.props.name === '3') {
|
if (tab.props.name === '3') {
|
||||||
flowXmlAndNode({procInsId: taskForm.value.procInsId, deployId: taskForm.value.deployId}).then(res => {
|
flowXmlAndNode({ procInsId: taskForm.value.procInsId, deployId: taskForm.value.deployId }).then(res => {
|
||||||
flowData.value = res.data;
|
flowData.value = res.data;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -339,7 +341,7 @@ const roleSelect = (selection, name) => {
|
||||||
|
|
||||||
/** 流程流转记录 */
|
/** 流程流转记录 */
|
||||||
function getFlowRecordList(procInsId, deployId) {
|
function getFlowRecordList(procInsId, deployId) {
|
||||||
const params = {procInsId: procInsId, deployId: deployId}
|
const params = { procInsId: procInsId, deployId: deployId }
|
||||||
flowRecord(params).then(res => {
|
flowRecord(params).then(res => {
|
||||||
flowRecordList.value = res.data.flowList;
|
flowRecordList.value = res.data.flowList;
|
||||||
}).catch(res => {
|
}).catch(res => {
|
||||||
|
@ -351,7 +353,7 @@ function getFlowRecordList(procInsId, deployId) {
|
||||||
function getFlowTaskForm(taskId) {
|
function getFlowTaskForm(taskId) {
|
||||||
if (taskId) {
|
if (taskId) {
|
||||||
// 提交流程申请时填写的表单存入了流程变量中后续任务处理时需要展示
|
// 提交流程申请时填写的表单存入了流程变量中后续任务处理时需要展示
|
||||||
flowTaskForm({taskId: taskId}).then(res => {
|
flowTaskForm({ taskId: taskId }).then(res => {
|
||||||
// 回显表单
|
// 回显表单
|
||||||
vFormRef.value.setFormJson(res.data.formJson);
|
vFormRef.value.setFormJson(res.data.formJson);
|
||||||
formJson.value = res.data.formJson;
|
formJson.value = res.data.formJson;
|
||||||
|
@ -481,7 +483,7 @@ function taskComplete() {
|
||||||
/** 申请流程表单数据提交 */
|
/** 申请流程表单数据提交 */
|
||||||
function submitForm() {
|
function submitForm() {
|
||||||
// 根据当前任务或者流程设计配置的下一步节点 todo 暂时未涉及到考虑网关、表达式和多节点情况
|
// 根据当前任务或者流程设计配置的下一步节点 todo 暂时未涉及到考虑网关、表达式和多节点情况
|
||||||
getNextFlowNode({taskId: taskForm.value.taskId}).then(res => {
|
getNextFlowNode({ taskId: taskForm.value.taskId }).then(res => {
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
if (data) {
|
if (data) {
|
||||||
vFormRef.value.getFormData().then(formData => {
|
vFormRef.value.getFormData().then(formData => {
|
||||||
|
@ -516,7 +518,7 @@ function goBack() {
|
||||||
checkSendUser.value = false;
|
checkSendUser.value = false;
|
||||||
completeOpen.value = false;
|
completeOpen.value = false;
|
||||||
checkSendRole.value = false;
|
checkSendRole.value = false;
|
||||||
const obj = {path: "/task/todo", query: { t: Date.now()}};
|
const obj = { path: "/task/todo", query: { t: Date.now() } };
|
||||||
proxy.$tab.closeOpenPage(obj);
|
proxy.$tab.closeOpenPage(obj);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -543,7 +545,7 @@ function goBack() {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tag + .el-tag {
|
.el-tag+.el-tag {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,38 +3,40 @@
|
||||||
<el-popover placement="top" :visible="data.showPop2" ref="pop" width="300px">
|
<el-popover placement="top" :visible="data.showPop2" ref="pop" width="300px">
|
||||||
<p>选择年份</p>
|
<p>选择年份</p>
|
||||||
<div style="margin-bottom: 12px;">
|
<div style="margin-bottom: 12px;">
|
||||||
<el-date-picker v-model="data.selYear" type="year" placeholder="选择年份" style="width:100%"
|
<el-date-picker v-model="data.selYear" type="year" placeholder="选择年份" style="width:100%"
|
||||||
:picker-options="{ disabledDate: doPick }">
|
:picker-options="{ disabledDate: doPick }">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: right; margin: 0">
|
<div style="text-align: right; margin: 0">
|
||||||
<el-button size="mini" type="text" @click="data.showPop2 = false">取消</el-button>
|
<el-button size="small" type="text" @click="data.showPop2 = false">取消</el-button>
|
||||||
<el-button type="primary" size="mini" @click="doAddYear">确定</el-button>
|
<el-button type="primary" size="small" @click="doAddYear">确定</el-button>
|
||||||
</div>
|
</div>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button size="mini" type="success" @click="data.showPop2=true" style="margin-right: 12px;" class="btn-add-year" round>增加年份</el-button>
|
<el-button size="small" type="success" @click="data.showPop2 = true" style="margin-right: 12px;"
|
||||||
|
class="btn-add-year" round>增加年份</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
<el-tabs type="card" v-model="data.activeName">
|
<el-tabs type="card" v-model="data.activeName">
|
||||||
<el-tab-pane v-for="(it, idx) in data.monthInv" :label="'' + it.year" :name="'' + it.year" :key="idx">
|
<el-tab-pane v-for="(it, idx) in data.monthInv" :label="'' + it.year" :name="'' + it.year" :key="idx">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col v-for="(item, idxx) in it.value" :key="idxx" :span="12">
|
<el-col v-for="(item, idxx) in it.value" :key="idxx" :span="12">
|
||||||
<el-form-item :label="data.names[item.month]" class="w200" :class="item.money * 1 < 0 ? 'txt-error' : ''">
|
<el-form-item :label="data.names[item.month]" class="w200"
|
||||||
<el-input-number :precision="2" v-model="item.money" placeholder="年度投资">
|
:class="item.money * 1 < 0 ? 'txt-error' : ''">
|
||||||
</el-input-number>
|
<el-input-number :precision="2" v-model="item.money" placeholder="年度投资">
|
||||||
<span class="sp-unit">万元</span>
|
</el-input-number>
|
||||||
</el-form-item>
|
<span class="sp-unit">万元</span>
|
||||||
</el-col>
|
</el-form-item>
|
||||||
</el-row>
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import {addMonthInvestment} from '@/api/manage/costOutput.js'
|
import { addMonthInvestment } from '@/api/manage/costOutput.js'
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const $emit=defineEmits(["success"])
|
const $emit = defineEmits(["success"])
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
prj: null,
|
prj: null,
|
||||||
selYear: '',
|
selYear: '',
|
||||||
|
@ -47,16 +49,17 @@ function doPick(a, b) {
|
||||||
return data.monthInv.filter(d => d.year == a.getFullYear()).length > 0;
|
return data.monthInv.filter(d => d.year == a.getFullYear()).length > 0;
|
||||||
}
|
}
|
||||||
function doAddYear() {
|
function doAddYear() {
|
||||||
addMonthInvestment({comId:data.prj.comId,
|
addMonthInvestment({
|
||||||
year:proxy.$dt(data.selYear).$y,
|
comId: data.prj.comId,
|
||||||
projectId:data.prj.id,
|
year: proxy.$dt(data.selYear).$y,
|
||||||
costType:9
|
projectId: data.prj.id,
|
||||||
}).then(d=>{
|
costType: 9
|
||||||
|
}).then(d => {
|
||||||
$emit("success");
|
$emit("success");
|
||||||
data.showPop2=false;
|
data.showPop2 = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function init(d, prj) {
|
function init(d, prj) {
|
||||||
data.monthInv = d;
|
data.monthInv = d;
|
||||||
data.prj = prj;
|
data.prj = prj;
|
||||||
if (d.filter(it => it.year == new Date().getFullYear()).length > 0) {
|
if (d.filter(it => it.year == new Date().getFullYear()).length > 0) {
|
||||||
|
@ -73,11 +76,11 @@ defineExpose({
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.cost-month{
|
.cost-month {
|
||||||
.btn-add-year{
|
.btn-add-year {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -9,11 +9,12 @@
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: right; margin: 0">
|
<div style="text-align: right; margin: 0">
|
||||||
<el-button size="mini" type="text" @click="doCancel">取消</el-button>
|
<el-button size="small" type="text" @click="doCancel">取消</el-button>
|
||||||
<el-button type="primary" size="mini" @click="doAddYear">确定</el-button>
|
<el-button type="primary" size="small" @click="doAddYear">确定</el-button>
|
||||||
</div>
|
</div>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button class="btn-add-year" size="mini" @click="data.showPop2=true" type="success" style="margin-right: 12px;" round>增加年份</el-button>
|
<el-button class="btn-add-year" size="small" @click="data.showPop2 = true" type="success"
|
||||||
|
style="margin-right: 12px;" round>增加年份</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</el-popover>
|
</el-popover>
|
||||||
|
@ -32,9 +33,9 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import {addYearInvestment} from '@/api/manage/costOutput.js'
|
import { addYearInvestment } from '@/api/manage/costOutput.js'
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const $emit=defineEmits(["success"])
|
const $emit = defineEmits(["success"])
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
selYear: '',
|
selYear: '',
|
||||||
activeName: '',
|
activeName: '',
|
||||||
|
@ -43,21 +44,21 @@ const data = reactive({
|
||||||
prj: null
|
prj: null
|
||||||
})
|
})
|
||||||
|
|
||||||
function doCancel(){
|
function doCancel() {
|
||||||
data.showPop2=false;
|
data.showPop2 = false;
|
||||||
}
|
}
|
||||||
function doPick(a, b) {
|
function doPick(a, b) {
|
||||||
return data.yearInv.filter(d => d.year == a.getFullYear()).length > 0;
|
return data.yearInv.filter(d => d.year == a.getFullYear()).length > 0;
|
||||||
}
|
}
|
||||||
function doAddYear() {
|
function doAddYear() {
|
||||||
addYearInvestment({
|
addYearInvestment({
|
||||||
comId:data.prj.comId,
|
comId: data.prj.comId,
|
||||||
year:proxy.$dt(data.selYear).$y,
|
year: proxy.$dt(data.selYear).$y,
|
||||||
projectId:data.prj.id,
|
projectId: data.prj.id,
|
||||||
costType:2
|
costType: 2
|
||||||
}).then(d=>{
|
}).then(d => {
|
||||||
$emit("success");
|
$emit("success");
|
||||||
data.showPop2=false;
|
data.showPop2 = false;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function init(d, prj) {
|
function init(d, prj) {
|
||||||
|
@ -76,11 +77,11 @@ defineExpose({
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.cost-year{
|
.cost-year {
|
||||||
.btn-add-year{
|
.btn-add-year {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -2,220 +2,91 @@
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="租户ID" prop="comId">
|
<el-form-item label="租户ID" prop="comId">
|
||||||
<el-input
|
<el-input v-model="queryParams.comId" placeholder="请输入租户ID" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.comId"
|
|
||||||
placeholder="请输入租户ID"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目id" prop="projectId">
|
<el-form-item label="项目id" prop="projectId">
|
||||||
<el-input
|
<el-input v-model="queryParams.projectId" placeholder="请输入项目id" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.projectId"
|
|
||||||
placeholder="请输入项目id"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="留痕图片" prop="marksPicture">
|
<el-form-item label="留痕图片" prop="marksPicture">
|
||||||
<el-input
|
<el-input v-model="queryParams.marksPicture" placeholder="请输入留痕图片" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.marksPicture"
|
|
||||||
placeholder="请输入留痕图片"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="留痕视频" prop="marksVideo">
|
<el-form-item label="留痕视频" prop="marksVideo">
|
||||||
<el-input
|
<el-input v-model="queryParams.marksVideo" placeholder="请输入留痕视频" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.marksVideo"
|
|
||||||
placeholder="请输入留痕视频"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="整改图片" prop="correctionPicture">
|
<el-form-item label="整改图片" prop="correctionPicture">
|
||||||
<el-input
|
<el-input v-model="queryParams.correctionPicture" placeholder="请输入整改图片" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.correctionPicture"
|
|
||||||
placeholder="请输入整改图片"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="拍摄位置" prop="problemArea">
|
<el-form-item label="拍摄位置" prop="problemArea">
|
||||||
<el-input
|
<el-input v-model="queryParams.problemArea" placeholder="请输入拍摄位置" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.problemArea"
|
|
||||||
placeholder="请输入拍摄位置"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="施工部位" prop="workParts">
|
<el-form-item label="施工部位" prop="workParts">
|
||||||
<el-input
|
<el-input v-model="queryParams.workParts" placeholder="请输入施工部位" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.workParts"
|
|
||||||
placeholder="请输入施工部位"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="整改要求" prop="changeInfo">
|
<el-form-item label="整改要求" prop="changeInfo">
|
||||||
<el-input
|
<el-input v-model="queryParams.changeInfo" placeholder="请输入整改要求" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.changeInfo"
|
|
||||||
placeholder="请输入整改要求"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</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" placeholder="请输入主送人姓名" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.lordSent"
|
|
||||||
placeholder="请输入主送人姓名"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="主送人手机号" prop="lordSentUser">
|
<el-form-item label="主送人手机号" prop="lordSentUser">
|
||||||
<el-input
|
<el-input v-model="queryParams.lordSentUser" placeholder="请输入主送人手机号" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.lordSentUser"
|
|
||||||
placeholder="请输入主送人手机号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="抄送人姓名" prop="copySend">
|
<el-form-item label="抄送人姓名" prop="copySend">
|
||||||
<el-input
|
<el-input v-model="queryParams.copySend" placeholder="请输入抄送人姓名" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.copySend"
|
|
||||||
placeholder="请输入抄送人姓名"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="抄送人手机号" prop="copySendUser">
|
<el-form-item label="抄送人手机号" prop="copySendUser">
|
||||||
<el-input
|
<el-input v-model="queryParams.copySendUser" placeholder="请输入抄送人手机号" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.copySendUser"
|
|
||||||
placeholder="请输入抄送人手机号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="流程状态" prop="checkState">
|
<el-form-item label="流程状态" prop="checkState">
|
||||||
<el-input
|
<el-input v-model="queryParams.checkState" placeholder="请输入流程状态" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.checkState"
|
|
||||||
placeholder="请输入流程状态"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="整改定位" prop="nickedArea">
|
<el-form-item label="整改定位" prop="nickedArea">
|
||||||
<el-input
|
<el-input v-model="queryParams.nickedArea" placeholder="请输入整改定位" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.nickedArea"
|
|
||||||
placeholder="请输入整改定位"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="整改截至时间" prop="nickedTime">
|
<el-form-item label="整改截至时间" prop="nickedTime">
|
||||||
<el-date-picker clearable
|
<el-date-picker clearable v-model="queryParams.nickedTime" type="date" value-format="YYYY-MM-DD"
|
||||||
v-model="queryParams.nickedTime"
|
|
||||||
type="date"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
placeholder="请选择整改截至时间">
|
placeholder="请选择整改截至时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工序名称" prop="processName">
|
<el-form-item label="工序名称" prop="processName">
|
||||||
<el-input
|
<el-input v-model="queryParams.processName" placeholder="请输入工序名称" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.processName"
|
|
||||||
placeholder="请输入工序名称"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工程名称" prop="projectName">
|
<el-form-item label="工程名称" prop="projectName">
|
||||||
<el-input
|
<el-input v-model="queryParams.projectName" placeholder="请输入工程名称" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.projectName"
|
|
||||||
placeholder="请输入工程名称"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="留痕说明" prop="nickedInfo">
|
<el-form-item label="留痕说明" prop="nickedInfo">
|
||||||
<el-input
|
<el-input v-model="queryParams.nickedInfo" placeholder="请输入留痕说明" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.nickedInfo"
|
|
||||||
placeholder="请输入留痕说明"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="审核人" prop="checkUser">
|
<el-form-item label="审核人" prop="checkUser">
|
||||||
<el-input
|
<el-input v-model="queryParams.checkUser" placeholder="请输入审核人" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.checkUser"
|
|
||||||
placeholder="请输入审核人"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="审核人手机号" prop="checkUserPhone">
|
<el-form-item label="审核人手机号" prop="checkUserPhone">
|
||||||
<el-input
|
<el-input v-model="queryParams.checkUserPhone" placeholder="请输入审核人手机号" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.checkUserPhone"
|
|
||||||
placeholder="请输入审核人手机号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="删除状态" prop="isDel">
|
<el-form-item label="删除状态" prop="isDel">
|
||||||
<el-input
|
<el-input v-model="queryParams.isDel" placeholder="请输入删除状态" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.isDel"
|
|
||||||
placeholder="请输入删除状态"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="创建人" prop="createUser">
|
<el-form-item label="创建人" prop="createUser">
|
||||||
<el-input
|
<el-input v-model="queryParams.createUser" placeholder="请输入创建人" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.createUser"
|
|
||||||
placeholder="请输入创建人"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="创建时间" prop="createTime">
|
<el-form-item label="创建时间" prop="createTime">
|
||||||
<el-date-picker clearable
|
<el-date-picker clearable v-model="queryParams.createTime" type="date" value-format="YYYY-MM-DD"
|
||||||
v-model="queryParams.createTime"
|
|
||||||
type="date"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
placeholder="请选择创建时间">
|
placeholder="请选择创建时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="修改人" prop="updateUser">
|
<el-form-item label="修改人" prop="updateUser">
|
||||||
<el-input
|
<el-input v-model="queryParams.updateUser" placeholder="请输入修改人" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.updateUser"
|
|
||||||
placeholder="请输入修改人"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="修改时间" prop="updateTime">
|
<el-form-item label="修改时间" prop="updateTime">
|
||||||
<el-date-picker clearable
|
<el-date-picker clearable v-model="queryParams.updateTime" type="date" value-format="YYYY-MM-DD"
|
||||||
v-model="queryParams.updateTime"
|
|
||||||
type="date"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
placeholder="请选择修改时间">
|
placeholder="请选择修改时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="复检人" prop="recheckSend">
|
<el-form-item label="复检人" prop="recheckSend">
|
||||||
<el-input
|
<el-input v-model="queryParams.recheckSend" placeholder="请输入复检人" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.recheckSend"
|
|
||||||
placeholder="请输入复检人"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="复检人手机号" prop="recheckSendUser">
|
<el-form-item label="复检人手机号" prop="recheckSendUser">
|
||||||
<el-input
|
<el-input v-model="queryParams.recheckSendUser" placeholder="请输入复检人手机号" clearable @keyup.enter="handleQuery" />
|
||||||
v-model="queryParams.recheckSendUser"
|
|
||||||
placeholder="请输入复检人手机号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||||
|
@ -225,42 +96,20 @@
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button type="primary" plain icon="Plus" @click="handleAdd"
|
||||||
type="primary"
|
v-hasPermi="['trouble:problemmodify:add']">新增</el-button>
|
||||||
plain
|
|
||||||
icon="Plus"
|
|
||||||
@click="handleAdd"
|
|
||||||
v-hasPermi="['trouble:problemmodify:add']"
|
|
||||||
>新增</el-button>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate"
|
||||||
type="success"
|
v-hasPermi="['trouble:problemmodify:edit']">修改</el-button>
|
||||||
plain
|
|
||||||
icon="Edit"
|
|
||||||
:disabled="single"
|
|
||||||
@click="handleUpdate"
|
|
||||||
v-hasPermi="['trouble:problemmodify:edit']"
|
|
||||||
>修改</el-button>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete"
|
||||||
type="danger"
|
v-hasPermi="['trouble:problemmodify:remove']">删除</el-button>
|
||||||
plain
|
|
||||||
icon="Delete"
|
|
||||||
:disabled="multiple"
|
|
||||||
@click="handleDelete"
|
|
||||||
v-hasPermi="['trouble:problemmodify:remove']"
|
|
||||||
>删除</el-button>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button type="warning" plain icon="Download" @click="handleExport"
|
||||||
type="warning"
|
v-hasPermi="['trouble:problemmodify:export']">导出</el-button>
|
||||||
plain
|
|
||||||
icon="Download"
|
|
||||||
@click="handleExport"
|
|
||||||
v-hasPermi="['trouble:problemmodify:export']"
|
|
||||||
>导出</el-button>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
@ -315,19 +164,16 @@
|
||||||
<el-table-column label="问题类型" align="center" prop="problemType" />
|
<el-table-column label="问题类型" align="center" prop="problemType" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['trouble:problemmodify:edit']">修改</el-button>
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
||||||
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['trouble:problemmodify:remove']">删除</el-button>
|
v-hasPermi="['trouble:problemmodify:edit']">修改</el-button>
|
||||||
|
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['trouble:problemmodify:remove']">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
|
||||||
v-show="total>0"
|
@pagination="getList" />
|
||||||
:total="total"
|
|
||||||
v-model:page="queryParams.pageNum"
|
|
||||||
v-model:limit="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 添加或修改安全隐患整改对话框 -->
|
<!-- 添加或修改安全隐患整改对话框 -->
|
||||||
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
||||||
|
@ -375,10 +221,7 @@
|
||||||
<el-input v-model="form.nickedArea" placeholder="请输入整改定位" />
|
<el-input v-model="form.nickedArea" placeholder="请输入整改定位" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="整改截至时间" prop="nickedTime">
|
<el-form-item label="整改截至时间" prop="nickedTime">
|
||||||
<el-date-picker clearable
|
<el-date-picker clearable v-model="form.nickedTime" type="date" value-format="YYYY-MM-DD"
|
||||||
v-model="form.nickedTime"
|
|
||||||
type="date"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
placeholder="请选择整改截至时间">
|
placeholder="请选择整改截至时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -427,7 +270,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="Problemmodify">
|
<script setup name="Problemmodify">
|
||||||
import { listProblemmodify, getProblemmodify, delProblemmodify, addProblemmodify, updateProblemmodify } from "@/api/trouble/problemmodify";
|
import { listProblemmodify, getProblemmodify, delProblemmodify, addProblemmodify, updateProblemmodify } from "@/api/manage/problemmodify";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
|
||||||
|
@ -607,12 +450,12 @@ function submitForm() {
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
function handleDelete(row) {
|
function handleDelete(row) {
|
||||||
const _ids = row.id || ids.value;
|
const _ids = row.id || ids.value;
|
||||||
proxy.$modal.confirm('是否确认删除安全隐患整改编号为"' + _ids + '"的数据项?').then(function() {
|
proxy.$modal.confirm('是否确认删除安全隐患整改编号为"' + _ids + '"的数据项?').then(function () {
|
||||||
return delProblemmodify(_ids);
|
return delProblemmodify(_ids);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
getList();
|
getList();
|
||||||
proxy.$modal.msgSuccess("删除成功");
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
}).catch(() => {});
|
}).catch(() => { });
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
|
|
|
@ -20,14 +20,14 @@
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="primary" plain size="mini" @click="handleAdd"
|
<el-button type="primary" plain size="small" @click="handleAdd"
|
||||||
v-hasPermi="['trouble:smzSspProblemmodifyDraft:add']">
|
v-hasPermi="['trouble:smzSspProblemmodifyDraft:add']">
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<Plus />
|
<Plus />
|
||||||
</el-icon>新增</el-button>
|
</el-icon>新增</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="warning" plain size="mini" @click="dataSynchronization" :disabled="single"
|
<el-button type="warning" plain size="small" @click="dataSynchronization" :disabled="single"
|
||||||
v-hasPermi="['trouble:smzSspProblemmodifyDraft:add']">
|
v-hasPermi="['trouble:smzSspProblemmodifyDraft:add']">
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<CopyDocument />
|
<CopyDocument />
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-tooltip content="批量提交选择的数据!" placement="bottom">
|
<el-tooltip content="批量提交选择的数据!" placement="bottom">
|
||||||
<el-button type="success" plain size="mini" @click="batchSubmitForm" :disabled="multiple"
|
<el-button type="success" plain size="small" @click="batchSubmitForm" :disabled="multiple"
|
||||||
v-hasPermi="['trouble:smzSspProblemmodifyDraft:add']">
|
v-hasPermi="['trouble:smzSspProblemmodifyDraft:add']">
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<Check />
|
<Check />
|
||||||
|
@ -58,72 +58,84 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column align="center" width="180" class-name="td-up-img" label="问题图片">
|
<el-table-column align="center" width="180" class-name="td-up-img" label="问题图片">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div :class="scope.row.errSmarkUrl?'is-err':''">
|
<div :class="scope.row.errSmarkUrl ? 'is-err' : ''">
|
||||||
<image-upload v-model="scope.row.smarkUrl" previewAll :limit="5" :isShowTip="false" @change="scope.row.errSmarkUrl=scope.row.smarkUrl?false:true"/>
|
<image-upload v-model="scope.row.smarkUrl" previewAll :limit="5" :isShowTip="false"
|
||||||
</div>
|
@change="scope.row.errSmarkUrl = scope.row.smarkUrl ? false : true" />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" width="180" class-name="td-proble-type" label="隐患类型">
|
<el-table-column align="center" width="180" class-name="td-proble-type" label="隐患类型">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div :class="scope.row.errProblemType?'is-err':''">
|
<div :class="scope.row.errProblemType ? 'is-err' : ''">
|
||||||
<el-select v-model="scope.row.problemType" placeholder="请选择检查类型" clearable @change="scope.row.errProblemType=scope.row.problemType?false:true">
|
<el-select v-model="scope.row.problemType" placeholder="请选择检查类型" clearable
|
||||||
<el-option v-for="dict in ssp_proble_type" :key="dict.value" :label="dict.label" :value="dict.value">
|
@change="scope.row.errProblemType = scope.row.problemType ? false : true">
|
||||||
</el-option>
|
<el-option v-for="dict in ssp_proble_type" :key="dict.value" :label="dict.label" :value="dict.value">
|
||||||
</el-select>
|
</el-option>
|
||||||
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div :class="scope.row.errDangerType?'is-err':''">
|
<div :class="scope.row.errDangerType ? 'is-err' : ''">
|
||||||
<el-select v-model="scope.row.dangerType" placeholder="请选择隐患类型" clearable style="margin-top:80px;" @change="scope.row.errDangerType=scope.row.dangerType?false:true">
|
<el-select v-model="scope.row.dangerType" placeholder="请选择隐患类型" clearable style="margin-top:80px;"
|
||||||
<el-option v-for="dict in ssp_proble_sub_type" :key="dict.value" :label="dict.label" :value="dict.value">
|
@change="scope.row.errDangerType = scope.row.dangerType ? false : true">
|
||||||
</el-option>
|
<el-option v-for="dict in ssp_proble_sub_type" :key="dict.value" :label="dict.label"
|
||||||
</el-select>
|
:value="dict.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="施工部位" align="center" prop="workParts" min-width="240" class-name="td-textarea">
|
<el-table-column label="施工部位" align="center" prop="workParts" min-width="240" class-name="td-textarea">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div :class="scope.row.errWorkParts?'is-err':''">
|
<div :class="scope.row.errWorkParts ? 'is-err' : ''">
|
||||||
<el-input v-model="scope.row.workParts" placeholder="请输入施工部位" type="textarea" :rows="3" @change="scope.row.errWorkParts=scope.row.workParts?false:true" />
|
<el-input v-model="scope.row.workParts" placeholder="请输入施工部位" type="textarea" :rows="3"
|
||||||
|
@change="scope.row.errWorkParts = scope.row.workParts ? false : true" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="整改要求" align="center" prop="changeInfo" min-width="240" class-name="td-textarea">
|
<el-table-column label="整改要求" align="center" prop="changeInfo" min-width="240" class-name="td-textarea">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div :class="scope.row.errChangeInfo?'is-err':''">
|
<div :class="scope.row.errChangeInfo ? 'is-err' : ''">
|
||||||
<el-input v-model="scope.row.changeInfo" placeholder="请输入整改要求" type="textarea" :rows="3" @change="scope.row.errChangeInfo=scope.row.changeInfo?false:true" />
|
<el-input v-model="scope.row.changeInfo" placeholder="请输入整改要求" type="textarea" :rows="3"
|
||||||
|
@change="scope.row.errChangeInfo = scope.row.changeInfo ? false : true" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="问题人员" align="center" width="300" class-name="td-select">
|
<el-table-column label="问题人员" align="center" width="300" class-name="td-select">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-form-item label="整改人">
|
<el-form-item label="整改人">
|
||||||
<div :class="scope.row.errLordSent?'is-err':''" style="width: 100%;">
|
<div :class="scope.row.errLordSent ? 'is-err' : ''" style="width: 100%;">
|
||||||
<el-select v-model="scope.row.lordSent" placeholder="请选择人员" clearable @change="scope.row.errLordSent=scope.row.lordSent?false:true"
|
<el-select v-model="scope.row.lordSent" placeholder="请选择人员" clearable
|
||||||
popper-class="select-popper-group-pd">
|
@change="scope.row.errLordSent = scope.row.lordSent ? false : true"
|
||||||
<el-option-group v-for="group in data.modUserList" :key="group.label" :label="group.label">
|
popper-class="select-popper-group-pd">
|
||||||
<el-option v-for="item in group.options" :key="item.value" :label="item.label" :value="item.value" />
|
<el-option-group v-for="group in data.modUserList" :key="group.label" :label="group.label">
|
||||||
</el-option-group>
|
<el-option v-for="item in group.options" :key="item.value" :label="item.label"
|
||||||
</el-select>
|
:value="item.value" />
|
||||||
|
</el-option-group>
|
||||||
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="抄送人">
|
<el-form-item label="抄送人">
|
||||||
<div :class="scope.row.errCopySend?'is-err':''" style="width: 100%;">
|
<div :class="scope.row.errCopySend ? 'is-err' : ''" style="width: 100%;">
|
||||||
<el-select v-model="scope.row.copySend" placeholder="请选择人员" clearable multiple collapse-tags @change="scope.row.errCopySend=scope.row.copySend?false:true"
|
<el-select v-model="scope.row.copySend" placeholder="请选择人员" clearable multiple collapse-tags
|
||||||
popper-class="select-popper-group-pd" collapse-tags-tooltip>
|
@change="scope.row.errCopySend = scope.row.copySend ? false : true"
|
||||||
<el-option-group v-for="group in data.ccUserList" :key="group.label" :label="group.label">
|
popper-class="select-popper-group-pd" collapse-tags-tooltip>
|
||||||
<el-option v-for="item in group.options" :key="item.value" :label="item.label" :value="item.value" />
|
<el-option-group v-for="group in data.ccUserList" :key="group.label" :label="group.label">
|
||||||
</el-option-group>
|
<el-option v-for="item in group.options" :key="item.value" :label="item.label"
|
||||||
</el-select>
|
:value="item.value" />
|
||||||
|
</el-option-group>
|
||||||
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="复检人">
|
<el-form-item label="复检人">
|
||||||
<div :class="scope.row.errRecheckSend?'is-err':''" style="width: 100%;">
|
<div :class="scope.row.errRecheckSend ? 'is-err' : ''" style="width: 100%;">
|
||||||
<el-select v-model="scope.row.recheckSend" placeholder="请选择人员" clearable @change="scope.row.errRecheckSend=scope.row.recheckSend?false:true"
|
<el-select v-model="scope.row.recheckSend" placeholder="请选择人员" clearable
|
||||||
popper-class="select-popper-group-pd" collapse-tags-tooltip>
|
@change="scope.row.errRecheckSend = scope.row.recheckSend ? false : true"
|
||||||
<el-option-group v-for="group in data.recheckUserList" :key="group.label" :label="group.label">
|
popper-class="select-popper-group-pd" collapse-tags-tooltip>
|
||||||
<el-option v-for="item in group.options" :key="item.value" :label="item.label" :value="item.value" />
|
<el-option-group v-for="group in data.recheckUserList" :key="group.label" :label="group.label">
|
||||||
</el-option-group>
|
<el-option v-for="item in group.options" :key="item.value" :label="item.label"
|
||||||
</el-select>
|
:value="item.value" />
|
||||||
|
</el-option-group>
|
||||||
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
|
@ -132,10 +144,10 @@
|
||||||
<el-table-column label="整改截至时间" align="center" prop="nickedTime" width="180" class-name="td-select">
|
<el-table-column label="整改截至时间" align="center" prop="nickedTime" width="180" class-name="td-select">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-form-item label="">
|
<el-form-item label="">
|
||||||
<div :class="scope.row.errNickedTime?'is-err':''" style="width: 100%;">
|
<div :class="scope.row.errNickedTime ? 'is-err' : ''" style="width: 100%;">
|
||||||
<el-date-picker v-model="scope.row.nickedTime" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" @change="scope.row.errNickedTime=scope.row.nickedTime?false:true"
|
<el-date-picker v-model="scope.row.nickedTime" type="date" placeholder="选择日期" value-format="YYYY-MM-DD"
|
||||||
style="width: 100%" />
|
@change="scope.row.errNickedTime = scope.row.nickedTime ? false : true" style="width: 100%" />
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -160,6 +172,8 @@ import {
|
||||||
addProblemmodifyDraft,
|
addProblemmodifyDraft,
|
||||||
updateProblemmodifyDraft,
|
updateProblemmodifyDraft,
|
||||||
} from "@/api/trouble/problemmodifyDraft";
|
} from "@/api/trouble/problemmodifyDraft";
|
||||||
|
import { batchAddProblemmodify } from '@/api/trouble/problemmodify'
|
||||||
|
|
||||||
import useUserStore from '@/store/modules/user'
|
import useUserStore from '@/store/modules/user'
|
||||||
import { listProProjectInfoSubdeptsUsers } from "@/api/manage/proProjectInfoSubdeptsUsers";
|
import { listProProjectInfoSubdeptsUsers } from "@/api/manage/proProjectInfoSubdeptsUsers";
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
|
@ -185,9 +199,10 @@ const data = reactive({
|
||||||
userName: null
|
userName: null
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
|
|
||||||
},
|
},
|
||||||
selData: [],
|
selData: [],
|
||||||
|
users: [],
|
||||||
modUserList: [],//整改人
|
modUserList: [],//整改人
|
||||||
ccUserList: [],//抄送人
|
ccUserList: [],//抄送人
|
||||||
recheckUserList: [],//复检人
|
recheckUserList: [],//复检人
|
||||||
|
@ -263,63 +278,94 @@ function dataSynchronization() {
|
||||||
}
|
}
|
||||||
function submitRow(row) {
|
function submitRow(row) {
|
||||||
if (checkRow(row)) {
|
if (checkRow(row)) {
|
||||||
|
doBatchAdd([row]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function batchSubmitForm(){
|
function batchSubmitForm() {
|
||||||
|
let cnt = 0;
|
||||||
data.selData.forEach(it => {
|
data.selData.forEach(it => {
|
||||||
if (checkRow(it)) {
|
if (!checkRow(it)) {
|
||||||
data.showList.splice(it,1);
|
cnt++;
|
||||||
data.dataList.splice(it,1);
|
//data.showList.splice(it, 1);
|
||||||
|
//data.dataList.splice(it, 1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (cnt > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
doBatchAdd(data.selData);
|
||||||
|
}
|
||||||
|
function doBatchAdd(datas) {
|
||||||
|
datas.forEach(it => {
|
||||||
|
it.projectId = userStore.currentPrjId;
|
||||||
|
it.comId = userStore.currentComId;
|
||||||
|
it.infoType = 0;
|
||||||
|
let users = data.users.filter(u => u.userId == it.lordSent);
|
||||||
|
it.lordSent = users.map(u => u.userName).join(",");
|
||||||
|
it.lordSentUser = users.map(u => u.userPhone).join(",");
|
||||||
|
users = data.users.filter(u => it.copySend.includes(u.userId));
|
||||||
|
it.copySend = users.map(u => u.userName).join(",");
|
||||||
|
it.copySendUser = users.map(u => u.userPhone).join(",");
|
||||||
|
users = data.users.filter(u => u.userId == it.recheckSend);
|
||||||
|
it.recheckSend = users.map(u => u.userName).join(",");
|
||||||
|
it.recheckSendUser = users.map(u => u.userPhone).join(",");
|
||||||
|
});
|
||||||
|
batchAddProblemmodify(datas).then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
proxy.$modal.msgSuccess("提交成功!");
|
||||||
|
datas.forEach(it => {
|
||||||
|
data.showList.splice(it, 1);
|
||||||
|
data.dataList.splice(it, 1);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function checkRow(row) {
|
function checkRow(row) {
|
||||||
row.errSmarkUrl=false;
|
row.errSmarkUrl = false;
|
||||||
row.errProblemType=false;
|
row.errProblemType = false;
|
||||||
row.errDangerType=false;
|
row.errDangerType = false;
|
||||||
row.errWorkParts=false;
|
row.errWorkParts = false;
|
||||||
row.errChangeInfo=false;
|
row.errChangeInfo = false;
|
||||||
row.errLordSent=false;
|
row.errLordSent = false;
|
||||||
row.errCopySend=false;
|
row.errCopySend = false;
|
||||||
row.errRecheckSend=false;
|
row.errRecheckSend = false;
|
||||||
row.errNickedTime=false;
|
row.errNickedTime = false;
|
||||||
let ret = true;
|
let ret = true;
|
||||||
if (!row.smarkUrl) {
|
if (!row.smarkUrl) {
|
||||||
row.errSmarkUrl=true;
|
row.errSmarkUrl = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
if (!row.problemType) {
|
if (!row.problemType) {
|
||||||
row.errProblemType=true;
|
row.errProblemType = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
if (!row.dangerType ) {
|
if (!row.dangerType) {
|
||||||
row.errDangerType=true;
|
row.errDangerType = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
if (!row.workParts ) {
|
if (!row.workParts) {
|
||||||
row.errWorkParts=true;
|
row.errWorkParts = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
if (!row.changeInfo ) {
|
if (!row.changeInfo) {
|
||||||
row.errChangeInfo=true;
|
row.errChangeInfo = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
if (!row.lordSent ) {
|
if (!row.lordSent) {
|
||||||
row.errLordSent=true;
|
row.errLordSent = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
if (!row.copySend ) {
|
if (!row.copySend) {
|
||||||
row.errCopySend=true;
|
row.errCopySend = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
if (!row.recheckSend ) {
|
if (!row.recheckSend) {
|
||||||
row.errRecheckSend=true;
|
row.errRecheckSend = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
if (!row.nickedTime ) {
|
if (!row.nickedTime) {
|
||||||
row.errNickedTime=true;
|
row.errNickedTime = true;
|
||||||
ret= false;
|
ret = false;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -418,6 +464,7 @@ function getUserTree() {
|
||||||
data.showList.push(row);
|
data.showList.push(row);
|
||||||
listProProjectInfoSubdeptsUsers({ projectId: userStore.currentPrjId, pageNum: 1, pageSize: 1000 }).then(d => {
|
listProProjectInfoSubdeptsUsers({ projectId: userStore.currentPrjId, pageNum: 1, pageSize: 1000 }).then(d => {
|
||||||
let users = d.rows || [];
|
let users = d.rows || [];
|
||||||
|
data.users = users;
|
||||||
data.modUserList = makeSelectData(users.filter(it => it.subDeptType == 4 || it.subDeptType == 5).filter(it => it.userPost == 2 || it.userPost == 3), true);
|
data.modUserList = makeSelectData(users.filter(it => it.subDeptType == 4 || it.subDeptType == 5).filter(it => it.userPost == 2 || it.userPost == 3), true);
|
||||||
data.ccUserList = makeSelectData(users.filter(it => it.userPost != 4 && it.userPost != 5));
|
data.ccUserList = makeSelectData(users.filter(it => it.userPost != 4 && it.userPost != 5));
|
||||||
data.recheckUserList = makeSelectData(users.filter(it => it.subDeptType == 1));
|
data.recheckUserList = makeSelectData(users.filter(it => it.subDeptType == 1));
|
||||||
|
@ -455,31 +502,38 @@ getUserTree();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.td-select {
|
.td-select {
|
||||||
.el-select {
|
.el-select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.is-err{
|
|
||||||
&::after{
|
.is-err {
|
||||||
bottom:-15px;
|
&::after {
|
||||||
|
bottom: -15px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.is-err{
|
|
||||||
|
.is-err {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-bottom:12px;
|
padding-bottom: 12px;
|
||||||
.el-upload--picture-card{
|
|
||||||
|
.el-upload--picture-card {
|
||||||
border-color: red;
|
border-color: red;
|
||||||
}
|
}
|
||||||
&::after{
|
|
||||||
|
&::after {
|
||||||
content: "不为空";
|
content: "不为空";
|
||||||
color: red;
|
color: red;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
font-size:12px;
|
font-size: 12px;
|
||||||
position:absolute;
|
position: absolute;
|
||||||
bottom: -7px;
|
bottom: -7px;
|
||||||
}
|
}
|
||||||
.el-select__wrapper,.el-textarea__inner,.el-input__wrapper{
|
|
||||||
|
.el-select__wrapper,
|
||||||
|
.el-textarea__inner,
|
||||||
|
.el-input__wrapper {
|
||||||
box-shadow: inset 0 0 0 1px red;
|
box-shadow: inset 0 0 0 1px red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue