提交代码
parent
925d808a97
commit
de8a16c52a
|
@ -124,4 +124,11 @@ public interface SysUserMapper
|
|||
* @return 结果
|
||||
*/
|
||||
public SysUser checkEmailUnique(String email);
|
||||
|
||||
/**
|
||||
* 根据条件询用户主键
|
||||
*
|
||||
* @return 用户主键集合
|
||||
*/
|
||||
public List<Long> selectUserByDept();
|
||||
}
|
||||
|
|
|
@ -361,6 +361,17 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
@Override
|
||||
public int resetPwd(SysUser user)
|
||||
{
|
||||
|
||||
// List<Long> userIds = userMapper.selectUserByDept();
|
||||
// List<SysUserRole> sysUserRoleList = new ArrayList<>();
|
||||
// for(Long id:userIds){
|
||||
// SysUserRole sr = new SysUserRole();
|
||||
// sr.setUserId(id);
|
||||
// sr.setRoleId(95L);
|
||||
// sysUserRoleList.add(sr);
|
||||
// }
|
||||
// userRoleMapper.batchUserRole(sysUserRoleList);
|
||||
|
||||
return userMapper.updateUser(user);
|
||||
}
|
||||
|
||||
|
|
|
@ -213,7 +213,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<delete id="deleteUserById" parameterType="Long">
|
||||
update sys_user set del_flag = '2' where user_id = #{userId}
|
||||
</delete>
|
||||
|
||||
|
||||
<select id="selectUserByDept" resultType="Long">
|
||||
select u.user_id from sys_user u
|
||||
left join sys_dept d on d.dept_id=u.dept_id
|
||||
where d.ancestors like '%207%'
|
||||
</select>
|
||||
|
||||
<delete id="deleteUserByIds" parameterType="Long">
|
||||
update sys_user set del_flag = '2' where user_id in
|
||||
<foreach collection="array" item="userId" open="(" separator="," close=")">
|
||||
|
|
|
@ -202,7 +202,7 @@
|
|||
<el-table-column
|
||||
label="进度展示"
|
||||
align="center"
|
||||
v-hasPermi="['project:surProject:progressVisible']"
|
||||
v-if="checkPermi(['project:surProject:progressVisible'])"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
|
@ -217,7 +217,7 @@
|
|||
label="项目排序"
|
||||
align="center"
|
||||
width="150"
|
||||
v-hasPermi="['project:surProject:projectSort']"
|
||||
v-if="checkPermi(['project:surProject:projectSort'])"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-input-number
|
||||
|
@ -778,6 +778,7 @@ import surProjectSpecialDrawer from "../surProjectSpecial/surProjectSpecialDrawe
|
|||
import attendanceDrawer from "../surProjectAttendance/attendanceDrawer.vue";
|
||||
import projectDeptWroksDrawer from "../projectDeptWroks/projectDeptWroksDrawer.vue";
|
||||
import insuranceDrawer from "../surProjectInsurance/insuranceDrawer.vue";
|
||||
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
|
||||
|
||||
export default {
|
||||
name: "SurProject",
|
||||
|
@ -888,6 +889,7 @@ export default {
|
|||
});
|
||||
},
|
||||
methods: {
|
||||
checkPermi,
|
||||
mapSuccess(pt, city) {
|
||||
this.form.longitude = pt.lng.toFixed(3);
|
||||
this.form.latitude = pt.lat.toFixed(3);
|
||||
|
|
|
@ -149,7 +149,7 @@
|
|||
<el-image
|
||||
ref="preview"
|
||||
style="width: 200px; height: 100px"
|
||||
:src="scope.row.marksPicture"
|
||||
:src="scope.row.marksPicture + '.min.jpg'"
|
||||
@click="onPreview(scope.row.smarkUrl)"
|
||||
>
|
||||
</el-image>
|
||||
|
|
|
@ -150,7 +150,7 @@
|
|||
<el-image
|
||||
ref="preview"
|
||||
style="width: 200px; height: 100px"
|
||||
:src="scope.row.marksPicture"
|
||||
:src="scope.row.marksPicture + '.min.jpg'"
|
||||
@click="onPreview(scope.row.smarkUrl)"
|
||||
>
|
||||
</el-image>
|
||||
|
|
|
@ -1,132 +1,175 @@
|
|||
<template>
|
||||
<div class="app-container project-build-node-drawer">
|
||||
<el-drawer v-bind="$attrs" v-on="$listeners" @opened="onOpen" @close="onClose" style="padding-left: 40px;" title="隐患整改流程日志">
|
||||
<template slot="t">
|
||||
<right-toolbar @queryTable="getAuditinfoList" :search="true"></right-toolbar>
|
||||
</template>
|
||||
<div class="block">
|
||||
<el-timeline>
|
||||
<el-timeline-item
|
||||
v-for="(item,index ) in flowRecordList"
|
||||
:key="index"
|
||||
:icon="setIcon(item.processState)"
|
||||
:color="setColor(item.processState)"
|
||||
<div class="app-container project-build-node-drawer">
|
||||
<el-drawer
|
||||
v-bind="$attrs"
|
||||
v-on="$listeners"
|
||||
@opened="onOpen"
|
||||
@close="onClose"
|
||||
style="padding-left: 40px"
|
||||
title="隐患整改流程日志"
|
||||
>
|
||||
<template slot="t">
|
||||
<right-toolbar @queryTable="getAuditinfoList" :search="true"></right-toolbar>
|
||||
</template>
|
||||
<div class="block">
|
||||
<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"
|
||||
>
|
||||
<p style="font-weight: 700">{{ 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" 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>
|
||||
</el-drawer>
|
||||
<el-image-viewer v-if="showViewer" :on-close="closeViewer" :url-list="srcList" style="z-index: 9999;"/>
|
||||
</div>
|
||||
</template>
|
||||
<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>
|
||||
</el-drawer>
|
||||
<el-image-viewer
|
||||
v-if="showViewer"
|
||||
:on-close="closeViewer"
|
||||
:url-list="srcList"
|
||||
style="z-index: 9999"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { auditinfoList} from "@/api/trouble/sspProblemmodify";
|
||||
import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
|
||||
<script>
|
||||
import { auditinfoList } from "@/api/trouble/sspProblemmodify";
|
||||
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
||||
|
||||
export default {
|
||||
components: { ElImageViewer },
|
||||
props: {
|
||||
formData: {
|
||||
problemmodifyId: String
|
||||
}
|
||||
export default {
|
||||
components: { ElImageViewer },
|
||||
props: {
|
||||
formData: {
|
||||
problemmodifyId: String,
|
||||
},
|
||||
dicts: [],
|
||||
data() {
|
||||
return {
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
mainId: null
|
||||
},
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 流程流转数据
|
||||
flowRecordList: [],
|
||||
//label样式
|
||||
labelStyle: { 'width': '200px' },
|
||||
showViewer: false,
|
||||
srcList: []
|
||||
},
|
||||
dicts: [],
|
||||
data() {
|
||||
return {
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
mainId: null,
|
||||
},
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 流程流转数据
|
||||
flowRecordList: [],
|
||||
//label样式
|
||||
labelStyle: { width: "200px" },
|
||||
showViewer: false,
|
||||
srcList: [],
|
||||
};
|
||||
},
|
||||
computed: {},
|
||||
watch: {
|
||||
formData: {
|
||||
handler(value) {
|
||||
this.formData = value;
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
beforeDestroy() {},
|
||||
methods: {
|
||||
onPreview(url) {
|
||||
this.srcList = [];
|
||||
this.srcList.push(url);
|
||||
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";
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {
|
||||
formData: {
|
||||
handler(value) {
|
||||
this.formData = value
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
setColor(val) {
|
||||
if (val == 2) {
|
||||
return "#f56c6c";
|
||||
} else {
|
||||
return "#2bc418";
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
onOpen() {
|
||||
this.getAuditinfoList();
|
||||
},
|
||||
mounted() {
|
||||
|
||||
onClose() {},
|
||||
/** 查询项目人员列表 */
|
||||
getAuditinfoList() {
|
||||
if (this.formData.problemmodifyId) {
|
||||
this.loading = true;
|
||||
this.queryParams.mainId = this.formData.problemmodifyId;
|
||||
auditinfoList(this.queryParams).then((response) => {
|
||||
this.flowRecordList = response.rows;
|
||||
this.loading = false;
|
||||
});
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
onPreview(url) {
|
||||
this.srcList=[];
|
||||
this.srcList.push(url);
|
||||
this.showViewer = true
|
||||
},
|
||||
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";
|
||||
}
|
||||
},
|
||||
onOpen() {
|
||||
this.getAuditinfoList();
|
||||
},
|
||||
onClose() {},
|
||||
/** 查询项目人员列表 */
|
||||
getAuditinfoList() {
|
||||
if(this.formData.problemmodifyId){
|
||||
this.loading = true;
|
||||
this.queryParams.mainId = this.formData.problemmodifyId;
|
||||
auditinfoList(this.queryParams).then(response => {
|
||||
this.flowRecordList = response.rows;
|
||||
this.loading = false;
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
@ -193,7 +193,7 @@ public class PshController {
|
|||
calendar.setTime(date);
|
||||
//当前时间基础上加3天默认为整改截至时间
|
||||
calendar.add(Calendar.DATE, 3);
|
||||
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM,calendar.getTime()));
|
||||
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,calendar.getTime()));
|
||||
return prefix + "/sspChange";
|
||||
}
|
||||
|
||||
|
|
|
@ -193,7 +193,7 @@ public class SspController {
|
|||
calendar.setTime(date);
|
||||
//当前时间基础上加3天默认为整改截至时间
|
||||
calendar.add(Calendar.DATE, 3);
|
||||
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM,calendar.getTime()));
|
||||
Model.addAttribute("nickedTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,calendar.getTime()));
|
||||
return prefix + "/sspChange";
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<div class="my-gallery row">
|
||||
<figure th:if="${queryChangeNicked.fileListImgState == 'OK'}" th:each="fileListImgObj:${queryChangeNicked.fileListImg}">
|
||||
<a th:if="${fileListImgObj!=null}" th:href="@{${fileListImgObj?.fileUrl}}">
|
||||
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
|
||||
<img th:src="${fileListImgObj?.fileUrl+'.min.jpg'}" class="img-border"/>
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
|
|
|
@ -38,6 +38,17 @@
|
|||
overflow-x:hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
#date-wrapper ol, #d-tit>div {
|
||||
width: 33%;
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
#date-wrapper ol:nth-child(2) {
|
||||
left: 0%;
|
||||
}
|
||||
#date-wrapper ol:nth-child(3) {
|
||||
left: 0%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
@ -305,7 +305,7 @@
|
|||
str += '<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allChangesInfo[i].marksPicture+'">'+
|
||||
'<img src="'+result.allChangesInfo[i].marksPicture+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -336,7 +336,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -366,7 +366,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -396,7 +396,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
|
|
@ -293,7 +293,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allNickedInfo[i].marksPicture+'">'+
|
||||
'<img src="'+result.allNickedInfo[i].marksPicture+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -323,7 +323,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allNickedInfo[i].marksPicture+'">'+
|
||||
'<img src="'+result.allNickedInfo[i].marksPicture+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -353,7 +353,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allNickedInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allNickedInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -383,7 +383,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allNickedInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allNickedInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
<div class="my-gallery row">
|
||||
<figure th:if="${queryChangeNicked.fileListImgState == 'OK' && queryChangeNicked?.fileListImg!=null}" th:each="fileListImgObj,loop:${queryChangeNicked?.fileListImg}">
|
||||
<a th:href="@{${fileListImgObj?.fileUrl}}">
|
||||
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
|
||||
<img th:src="${fileListImgObj.fileUrl+'.min.jpg'}" class="img-border" th:attr="url=${fileListImgObj.fileUrl}"/>
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
|
@ -153,7 +153,7 @@
|
|||
<div class="my-gallery row" th:if="${queryChangeNicked?.opinionFileUrlState == 'OK'}">
|
||||
<figure th:each="fileListImgObj:${queryChangeNicked?.opinionFileUrl}" th:if=${fileListImgObj!=null} >
|
||||
<a th:href="@{${fileListImgObj?.fileUrl}}">
|
||||
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
|
||||
<img th:src="${fileListImgObj?.fileUrl+'.min.jpg'}" class="img-border"/>
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<div class="my-gallery row">
|
||||
<figure th:if="${queryChangeNicked.fileListImgState == 'OK'}" th:each="fileListImgObj:${queryChangeNicked.fileListImg}">
|
||||
<a th:if="${fileListImgObj!=null}" th:href="@{${fileListImgObj?.fileUrl}}">
|
||||
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
|
||||
<img th:src="${fileListImgObj?.fileUrl+'.min.jpg'}" class="img-border"/>
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
|
|
|
@ -38,6 +38,17 @@
|
|||
overflow-x:hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
#date-wrapper ol, #d-tit>div {
|
||||
width: 33%;
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
#date-wrapper ol:nth-child(2) {
|
||||
left: 0%;
|
||||
}
|
||||
#date-wrapper ol:nth-child(3) {
|
||||
left: 0%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
@ -304,7 +304,7 @@
|
|||
str += '<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allChangesInfo[i].marksPicture+'">'+
|
||||
'<img src="'+result.allChangesInfo[i].marksPicture+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -335,7 +335,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -365,7 +365,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -395,7 +395,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allChangesInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
|
|
@ -293,7 +293,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allNickedInfo[i].marksPicture+'">'+
|
||||
'<img src="'+result.allNickedInfo[i].marksPicture+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -323,7 +323,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allNickedInfo[i].marksPicture+'">'+
|
||||
'<img src="'+result.allNickedInfo[i].marksPicture+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -353,7 +353,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allNickedInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allNickedInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
@ -383,7 +383,7 @@
|
|||
'<div class="row">'+
|
||||
'<div class="col-xs-3">'+
|
||||
'<div class="ssp-record-img">'+
|
||||
'<img src="'+result.allNickedInfo[i].fileUrl+'">'+
|
||||
'<img src="'+result.allNickedInfo[i].fileUrl+'.min.jpg">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-xs-7">'+
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
<div class="my-gallery row">
|
||||
<figure th:if="${queryChangeNicked.fileListImgState == 'OK'}" th:each="fileListImgObj:${queryChangeNicked.fileListImg}">
|
||||
<a th:href="@{${fileListImgObj.fileUrl}}">
|
||||
<img th:src="${fileListImgObj.fileUrl}" class="img-border"/>
|
||||
<img th:src="${fileListImgObj.fileUrl+'.min.jpg'}" class="img-border"/>
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
|
@ -151,7 +151,7 @@
|
|||
<div class="my-gallery row" th:if="${queryChangeNicked?.opinionFileUrlState == 'OK'}">
|
||||
<figure th:each="fileListImgObj:${queryChangeNicked?.opinionFileUrl}" th:if=${fileListImgObj!=null}>
|
||||
<a th:href="@{${fileListImgObj?.fileUrl}}">
|
||||
<img th:src="${fileListImgObj?.fileUrl}" class="img-border"/>
|
||||
<img th:src="${fileListImgObj?.fileUrl+'.min.jpg'}" class="img-border"/>
|
||||
</a>
|
||||
</figure>
|
||||
</div>
|
||||
|
|
|
@ -30,10 +30,10 @@ public class BgWorkTrainController extends BaseController {
|
|||
public TableDataInfo getWorkTrainList(String trainType,String deptId,String projectId){
|
||||
WorkTrain workTrain = new WorkTrain();
|
||||
workTrain.setTrainType(trainType);
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
|
||||
workTrain.setNowDept(deptId);
|
||||
}
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
|
||||
workTrain.setProjectId(Convert.toLong(projectId));
|
||||
}
|
||||
return getDataTable(workTrainService.selectBgscreenWorkTrainListv2(workTrain));
|
||||
|
|
|
@ -38,10 +38,10 @@ public class ProjectAttendanceController extends BaseController {
|
|||
@GetMapping("/getDeptWorksList")
|
||||
public TableDataInfo getDeptWorksList(String deptId,String projectId){
|
||||
SurProjectDeptWroks surProjectDeptWroks = new SurProjectDeptWroks();
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
|
||||
surProjectDeptWroks.setDeptId(Convert.toLong(deptId));
|
||||
}
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
|
||||
surProjectDeptWroks.setProjectId(Convert.toLong(projectId));
|
||||
}
|
||||
return getDataTable(surProjectDeptWroksService.selectBgscreenDeptWroksList(surProjectDeptWroks));
|
||||
|
@ -57,10 +57,10 @@ public class ProjectAttendanceController extends BaseController {
|
|||
@GetMapping("/getWorkAttendanceList")
|
||||
public TableDataInfo getWorkAttendanceList(String deptId,String projectId,String date){
|
||||
SurProjectWorkAttendance surProjectWorkAttendance = new SurProjectWorkAttendance();
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
|
||||
surProjectWorkAttendance.setDeptId(Convert.toLong(deptId));
|
||||
}
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
|
||||
surProjectWorkAttendance.setProjectId(Convert.toLong(projectId));
|
||||
}
|
||||
if(StringUtils.isNotBlank(date)){
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
package com.yanzhu.jh.bigscreen.web.controller;
|
||||
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.yanzhu.jh.project.domain.SurProjectInsurance;
|
||||
import com.yanzhu.jh.project.service.ISurProjectInsuranceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 项目保险Conller
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/bgscreen/insurance")
|
||||
public class ProjectInsuranceController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ISurProjectInsuranceService surProjectInsuranceService;
|
||||
|
||||
/**
|
||||
* 根据条件查询项目保险
|
||||
* @param deptId
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getProjectInsuranceList")
|
||||
public TableDataInfo getProjectInsuranceList(String deptId,String projectId){
|
||||
SurProjectInsurance surProjectInsurance = new SurProjectInsurance();
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
|
||||
surProjectInsurance.setNowDept(deptId);
|
||||
}
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
|
||||
surProjectInsurance.setProjectId(Convert.toLong(projectId));
|
||||
}
|
||||
return getDataTable(surProjectInsuranceService.selectBgscreenInsuranceList(surProjectInsurance));
|
||||
}
|
||||
|
||||
}
|
|
@ -31,10 +31,10 @@ public class ProjectSpecialController extends BaseController {
|
|||
@GetMapping("/getProjectSpecialView")
|
||||
public TableDataInfo getProjectSpecialView(String deptId,String projectId){
|
||||
SurProjectWorkSpecial surProjectWorkSpecial = new SurProjectWorkSpecial();
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId)){
|
||||
if(StringUtils.isNotBlank(deptId) && !"0".equals(deptId) && !"undefined".equals(deptId)){
|
||||
surProjectWorkSpecial.setNowDept(deptId);
|
||||
}
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
|
||||
surProjectWorkSpecial.setProjectId(Convert.toLong(projectId));
|
||||
}
|
||||
return getDataTable(surProjectWorkSpecialService.selectBgscreenWorkSpecialList(surProjectWorkSpecial));
|
||||
|
@ -49,7 +49,7 @@ public class ProjectSpecialController extends BaseController {
|
|||
public TableDataInfo getProjectSpecialList(String projectId){
|
||||
SurProjectWorkSpecial surProjectWorkSpecial = new SurProjectWorkSpecial();
|
||||
surProjectWorkSpecial.setIsDel(Convert.toInt(PublicStateEnum.OK.getCode()));
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId)){
|
||||
if(StringUtils.isNotBlank(projectId) && !"0".equals(projectId) && !"undefined".equals(projectId)){
|
||||
surProjectWorkSpecial.setProjectId(Convert.toLong(projectId));
|
||||
}
|
||||
return getDataTable(surProjectWorkSpecialService.selectSurProjectWorkSpecialList(surProjectWorkSpecial));
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package com.yanzhu.jh.project.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yanzhu.jh.project.domain.SurProjectInsurance;
|
||||
|
||||
/**
|
||||
|
@ -27,6 +29,14 @@ public interface SurProjectInsuranceMapper
|
|||
*/
|
||||
public List<SurProjectInsurance> selectSurProjectInsuranceList(SurProjectInsurance surProjectInsurance);
|
||||
|
||||
/**
|
||||
* 查询大屏保险统计列表
|
||||
*
|
||||
* @param surProjectInsurance 项目保险
|
||||
* @return map集合
|
||||
*/
|
||||
public List<Map<String,Object>> selectBgscreenInsuranceList(SurProjectInsurance surProjectInsurance);
|
||||
|
||||
/**
|
||||
* 查询项目保险列表
|
||||
*
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package com.yanzhu.jh.project.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yanzhu.jh.project.domain.SurProjectInsurance;
|
||||
|
||||
/**
|
||||
|
@ -35,6 +37,14 @@ public interface ISurProjectInsuranceService
|
|||
*/
|
||||
public List<SurProjectInsurance> selectSurProjectInsuranceListv2(SurProjectInsurance surProjectInsurance);
|
||||
|
||||
/**
|
||||
* 查询大屏保险统计列表
|
||||
*
|
||||
* @param surProjectInsurance 项目保险
|
||||
* @return map集合
|
||||
*/
|
||||
public List<Map<String,Object>> selectBgscreenInsuranceList(SurProjectInsurance surProjectInsurance);
|
||||
|
||||
/**
|
||||
* 新增项目保险
|
||||
*
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.yanzhu.jh.project.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.ruoyi.common.enums.PublicStateEnum;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
|
@ -60,6 +61,17 @@ public class SurProjectInsuranceServiceImpl implements ISurProjectInsuranceServi
|
|||
return surProjectInsuranceMapper.selectSurProjectInsuranceListv2(surProjectInsurance);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询大屏保险统计列表
|
||||
*
|
||||
* @param surProjectInsurance 项目保险
|
||||
* @return map集合
|
||||
*/
|
||||
@Override
|
||||
public List<Map<String,Object>> selectBgscreenInsuranceList(SurProjectInsurance surProjectInsurance){
|
||||
return surProjectInsuranceMapper.selectBgscreenInsuranceList(surProjectInsurance);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增项目保险
|
||||
*
|
||||
|
|
|
@ -76,6 +76,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
sp.projectSort,
|
||||
sdd.dict_sort
|
||||
</select>
|
||||
|
||||
<!--查询项目保险统计列表-->
|
||||
<select id="selectBgscreenInsuranceList" parameterType="SurProjectInsurance" resultType="map">
|
||||
SELECT
|
||||
sp.id,
|
||||
sp.projectName,
|
||||
CASE
|
||||
WHEN azx.insurance_state IS NULL THEN
|
||||
'未办理'
|
||||
ELSE
|
||||
'已办理'
|
||||
END AS azxstate,
|
||||
CASE
|
||||
WHEN yqx.insurance_state IS NULL THEN
|
||||
'未办理'
|
||||
ELSE
|
||||
'已办理'
|
||||
END AS yqxstate
|
||||
FROM
|
||||
sur_project sp
|
||||
LEFT JOIN sur_project_insurance azx ON azx.project_id = sp.id
|
||||
AND azx.insurance_type = 1
|
||||
LEFT JOIN sur_project_insurance yqx ON yqx.project_id = sp.id
|
||||
AND yqx.insurance_type = 2
|
||||
where sp.isDel=0
|
||||
<if test="nowDept != null and nowDept != ''"> and sp.deptId = #{nowDept}</if>
|
||||
<if test="projectId != null "> and sp.id = #{projectId}</if>
|
||||
ORDER BY sp.projectSort ASC
|
||||
</select>
|
||||
|
||||
<select id="selectSurProjectInsuranceById" parameterType="Long" resultMap="SurProjectInsuranceResult">
|
||||
<include refid="selectSurProjectInsuranceVo"/>
|
||||
|
|
|
@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
select ssa.id, ssa.mainId, ssa.processState, ssa.opinion, ssa.isDel, ssa.createUser, ssa.createTime, group_concat(ssf.fileUrl) as fileUrls, u.nick_name as createUserName,ssd.dict_label as process from smz_ssp_auditinfo ssa
|
||||
left join smz_ssp_fileinfo ssf on ssf.auditId = ssa.id
|
||||
left join sys_user u on u.phonenumber = ssa.createUser
|
||||
left join sys_dict_data ssd on ssd.dict_type = 'smz_ssp_checkstate' and ssd.dict_value = ssa.processState
|
||||
left join sys_dict_data ssd on ssd.dict_type = 'smz_ssp_auditinfo' and ssd.dict_value = ssa.processState
|
||||
</sql>
|
||||
|
||||
<select id="selectSmzSspAuditinfoList" parameterType="SmzSspAuditinfo" resultMap="SmzSspAuditinfoResult">
|
||||
|
|
Loading…
Reference in New Issue