Compare commits

...

3 Commits

Author SHA1 Message Date
姜玉琦 b4e546c58f 提交代码 2023-12-25 00:54:33 +08:00
姜玉琦 d6a7af16d9 提交代码 2023-12-25 00:54:07 +08:00
姜玉琦 b713df6815 提交代码 2023-12-25 00:53:36 +08:00
9 changed files with 118 additions and 53 deletions

View File

@ -99,7 +99,7 @@ public class FlowTaskEntity extends BaseEntity{
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date finishTime; private Date finishTime;
private long deptId; private long deptId;
private long projectId; private long projectId;
public long getDeptId() { public long getDeptId() {

View File

@ -372,7 +372,7 @@
<if test="procDefKey != null and procDefKey != ''"> and fa.procDefKey = #{procDefKey}</if> <if test="procDefKey != null and procDefKey != ''"> and fa.procDefKey = #{procDefKey}</if>
<if test="businessKey != null and businessKey != ''"> and fa.businessKey = #{businessKey}</if> <if test="businessKey != null and businessKey != ''"> and fa.businessKey = #{businessKey}</if>
<!-- 查询条件-项目部门 --> <!-- 查询条件-项目部门 -->
<if test="projectDeptId != null "> and fa.businessDeptId = #{projectDeptId}</if> <if test="projectDeptId != null and projectDeptId != ''"> and fa.businessDeptId = #{projectDeptId}</if>
</where> </where>
order by fa.createTime desc order by fa.createTime desc
</select> </select>

View File

@ -93,7 +93,7 @@ export default {
// //
this.fileList = list.map(item => { this.fileList = list.map(item => {
if (typeof item === "string") { if (typeof item === "string") {
if (item.indexOf(this.baseUrl) === -1) { if (item.indexOf(this.baseUrl) === -1 && item.indexOf('http') === -1) {
item = { name: this.baseUrl + item, url: this.baseUrl + item }; item = { name: this.baseUrl + item, url: this.baseUrl + item };
} else { } else {
item = { name: item, url: item }; item = { name: item, url: item };

View File

@ -90,7 +90,9 @@ export default {
window.open("/jhbs/") window.open("/jhbs/")
}, },
toggleSideBar() { toggleSideBar() {
this.$store.dispatch('app/toggleSideBar') this.$store.dispatch('app/toggleSideBar');
//tips
this.$store.dispatch('settingAwaitNum');
}, },
async logout() { async logout() {
this.$confirm('确定注销并退出系统吗?', '提示', { this.$confirm('确定注销并退出系统吗?', '提示', {

View File

@ -314,8 +314,8 @@
</el-row> </el-row>
</el-form> </el-form>
<div class="page-warning"> <div class="page-warning">
<p><strong style="color: #E6A23C;">总包公司</strong> 有总包公司所有项目权限</p>
<p><strong style="color: #E6A23C;">总包公司个人</strong> 有项目人员中担任职务项目的权限</p> <p><strong style="color: #E6A23C;">总包公司个人</strong> 有项目人员中担任职务项目的权限</p>
<p><strong style="color: #E6A23C;">工作流</strong>标记角色对应项目审批相关</p>
<p><strong style="color: #67C23A;">监理单位分包单位同上总包公司权限大于个人权限请选择角色时以个人角色为主</strong></p> <p><strong style="color: #67C23A;">监理单位分包单位同上总包公司权限大于个人权限请选择角色时以个人角色为主</strong></p>
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">

View File

@ -9,37 +9,15 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="菜单标识" prop="menuIdenti"> <el-form-item label="菜单分类" prop="menuType">
<el-input <el-select v-model="queryParams.menuType" placeholder="请选择菜单分类" clearable>
v-model="queryParams.menuIdenti" <el-option
placeholder="请输入菜单标识" v-for="dict in dict.type.sys_wechat_menu_type"
clearable :key="dict.value"
@keyup.enter.native="handleQuery" :label="dict.label"
/> :value="dict.value"
</el-form-item> />
<el-form-item label="菜单图片" prop="menuImg"> </el-select>
<el-input
v-model="queryParams.menuImg"
placeholder="请输入菜单图片"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="菜单地址" prop="menuUrl">
<el-input
v-model="queryParams.menuUrl"
placeholder="请输入菜单地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="删除状态" prop="delFlag">
<el-input
v-model="queryParams.delFlag"
placeholder="请输入删除状态"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
@ -95,11 +73,37 @@
<el-table v-loading="loading" :data="wxMenConfigList" @selection-change="handleSelectionChange" stripe> <el-table v-loading="loading" :data="wxMenConfigList" @selection-change="handleSelectionChange" stripe>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="${comment}" align="center" prop="id" /> <el-table-column label="菜单图标" align="center" prop="menuImg" width="100">
<el-table-column label="菜单名称" align="center" prop="menuName" /> <template slot-scope="scope">
<el-table-column label="菜单标识" align="center" prop="menuIdenti" /> <image-preview :src="scope.row.menuImg" :width="80" :height="80"/>
<el-table-column label="菜单图片" align="center" prop="menuImg" /> </template>
<el-table-column label="菜单地址" align="center" prop="menuUrl" /> </el-table-column>
<el-table-column label="菜单名称" align="center" prop="menuName" width="180" show-overflow-tooltip />
<el-table-column label="菜单标识" align="center" prop="menuIdenti" width="100" show-overflow-tooltip />
<el-table-column label="菜单分类" align="center" prop="menuType">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_wechat_menu_type" :value="scope.row.menuType" />
</template>
</el-table-column>
<el-table-column label="菜单路由" align="center" prop="menuUrl" width="350" show-overflow-tooltip/>
<el-table-column label="菜单排序" align="center" prop="menuSort" width="100" show-overflow-tooltip/>
<el-table-column label="修改时间" align="center" prop="createTime" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") }}</span>
</template>
</el-table-column>
<el-table-column
label="菜单状态"
align="center"
prop="delFlag"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.sys_common_isdel"
:value="scope.row.delFlag"
/>
</template>
</el-table-column>
<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 slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -131,20 +135,30 @@
<!-- 添加或修改菜单配置对话框 --> <!-- 添加或修改菜单配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="菜单图标" prop="menuImg">
<image-upload v-model="form.menuImg" :limit="1"/>
</el-form-item>
<el-form-item label="菜单名称" prop="menuName"> <el-form-item label="菜单名称" prop="menuName">
<el-input v-model="form.menuName" placeholder="请输入菜单名称" /> <el-input v-model="form.menuName" placeholder="请输入菜单名称" />
</el-form-item> </el-form-item>
<el-form-item label="菜单标识" prop="menuIdenti"> <el-form-item label="菜单标识" prop="menuIdenti">
<el-input v-model="form.menuIdenti" placeholder="请输入菜单标识" /> <el-input v-model="form.menuIdenti" placeholder="请输入菜单标识" />
</el-form-item> </el-form-item>
<el-form-item label="菜单图片" prop="menuImg"> <el-form-item label="菜单路由" prop="menuUrl">
<el-input v-model="form.menuImg" placeholder="请输入菜单图片" />
</el-form-item>
<el-form-item label="菜单地址" prop="menuUrl">
<el-input v-model="form.menuUrl" placeholder="请输入菜单地址" /> <el-input v-model="form.menuUrl" placeholder="请输入菜单地址" />
</el-form-item> </el-form-item>
<el-form-item label="删除状态" prop="delFlag"> <el-form-item label="菜单分类" prop="menuType">
<el-input v-model="form.delFlag" placeholder="请输入删除状态" /> <el-select v-model="form.menuType" placeholder="请选择菜单分类" style="width:100%">
<el-option
v-for="dict in dict.type.sys_wechat_menu_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="菜单排序" prop="menuSort">
<el-input v-model="form.menuSort" placeholder="请输入菜单排序" />
</el-form-item> </el-form-item>
<el-divider content-position="center">菜单配置角色信息</el-divider> <el-divider content-position="center">菜单配置角色信息</el-divider>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
@ -158,9 +172,16 @@
<el-table :data="surMenuConfigRoleList" :row-class-name="rowSurMenuConfigRoleIndex" @selection-change="handleSurMenuConfigRoleSelectionChange" ref="surMenuConfigRole"> <el-table :data="surMenuConfigRoleList" :row-class-name="rowSurMenuConfigRoleIndex" @selection-change="handleSurMenuConfigRoleSelectionChange" ref="surMenuConfigRole">
<el-table-column type="selection" width="50" align="center" /> <el-table-column type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50"/> <el-table-column label="序号" align="center" prop="index" width="50"/>
<el-table-column label="角色主键" prop="roleId" width="150"> <el-table-column label="菜单角色" prop="roleId">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.roleId" placeholder="请输入角色主键" /> <el-select v-model="scope.row.roleId" placeholder="选择菜单角色" >
<el-option
v-for="role in roles"
:key="role.roleId"
:label="role.roleName+'['+role.roleKey+']'"
:value="role.roleId"
/>
</el-select>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -175,9 +196,10 @@
<script> <script>
import { listWxMenConfig, getWxMenConfig, delWxMenConfig, addWxMenConfig, updateWxMenConfig } from "@/api/wxsetting/wxMenConfig"; import { listWxMenConfig, getWxMenConfig, delWxMenConfig, addWxMenConfig, updateWxMenConfig } from "@/api/wxsetting/wxMenConfig";
import { listRole } from "@/api/system/role";
export default { export default {
name: "WxMenConfig", name: "WxMenConfig",
dicts: ["sys_wechat_menu_type","sys_common_isdel"],
data() { data() {
return { return {
// //
@ -212,6 +234,7 @@ export default {
menuUrl: null, menuUrl: null,
delFlag: null, delFlag: null,
}, },
roles:[],
// //
form: {}, form: {},
// //
@ -221,6 +244,7 @@ export default {
}, },
created() { created() {
this.getList(); this.getList();
this.getRoles();
}, },
methods: { methods: {
/** 查询菜单配置列表 */ /** 查询菜单配置列表 */
@ -232,6 +256,12 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
/** 角色列表 */
getRoles() {
listRole({pageNum: 1, pageSize: 100}).then(response => {
this.roles = response.rows;
});
},
// //
cancel() { cancel() {
this.open = false; this.open = false;

View File

@ -42,6 +42,10 @@ public class SurMenuConfig extends BaseEntity
@Excel(name = "菜单排序") @Excel(name = "菜单排序")
private Integer menuSort; private Integer menuSort;
/** 菜单分类 */
@Excel(name = "菜单分类")
private String menuType;
/** 菜单配置角色信息 */ /** 菜单配置角色信息 */
private List<SurMenuConfigRole> surMenuConfigRoleList; private List<SurMenuConfigRole> surMenuConfigRoleList;
@ -118,6 +122,14 @@ public class SurMenuConfig extends BaseEntity
this.menuSort = menuSort; this.menuSort = menuSort;
} }
public String getMenuType() {
return menuType;
}
public void setMenuType(String menuType) {
this.menuType = menuType;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@ -23,6 +23,10 @@ public class SurMenuConfigRole extends BaseEntity
@Excel(name = "角色主键") @Excel(name = "角色主键")
private Long roleId; private Long roleId;
/** 角色名称 */
@Excel(name = "角色名称")
private String roleName;
public void setSmcid(Long smcid) public void setSmcid(Long smcid)
{ {
this.smcid = smcid; this.smcid = smcid;
@ -42,6 +46,14 @@ public class SurMenuConfigRole extends BaseEntity
return roleId; return roleId;
} }
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@ -12,6 +12,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="menuUrl" column="menu_url" /> <result property="menuUrl" column="menu_url" />
<result property="delFlag" column="del_flag" /> <result property="delFlag" column="del_flag" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="menuSort" column="menu_sort" />
<result property="menuType" column="menu_type" />
</resultMap> </resultMap>
<resultMap id="SurMenuConfigSurMenuConfigRoleResult" type="SurMenuConfig" extends="SurMenuConfigResult"> <resultMap id="SurMenuConfigSurMenuConfigRoleResult" type="SurMenuConfig" extends="SurMenuConfigResult">
@ -24,22 +26,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectSurMenuConfigVo"> <sql id="selectSurMenuConfigVo">
select id, menu_name, menu_identi, menu_img, menu_url, del_flag, create_time from sur_menu_config select id, menu_name, menu_identi, menu_img, menu_url, del_flag, create_time, menu_type, menu_sort from sur_menu_config
</sql> </sql>
<select id="selectSurMenuConfigList" parameterType="SurMenuConfig" resultMap="SurMenuConfigResult"> <select id="selectSurMenuConfigList" parameterType="SurMenuConfig" resultMap="SurMenuConfigResult">
<include refid="selectSurMenuConfigVo"/> <include refid="selectSurMenuConfigVo"/>
<where> <where>
<if test="menuName != null and menuName != ''"> and menu_name like concat('%', #{menuName}, '%')</if> <if test="menuName != null and menuName != ''"> and menu_name like concat('%', #{menuName}, '%')</if>
<if test="menuIdenti != null and menuIdenti != ''"> and menu_identi = #{menuIdenti}</if> <if test="menuIdenti != null and menuIdenti != ''"> and menu_identi = #{menuIdenti}</if>
<if test="menuImg != null and menuImg != ''"> and menu_img = #{menuImg}</if> <if test="menuImg != null and menuImg != ''"> and menu_img = #{menuImg}</if>
<if test="menuUrl != null and menuUrl != ''"> and menu_url = #{menuUrl}</if> <if test="menuUrl != null and menuUrl != ''"> and menu_url = #{menuUrl}</if>
<if test="delFlag != null "> and del_flag = #{delFlag}</if> <if test="delFlag != null "> and del_flag = #{delFlag}</if>
<if test="menuType != null "> and menu_type = #{menuType}</if>
</where> </where>
</select> </select>
<select id="selectSurMenuConfigById" parameterType="Long" resultMap="SurMenuConfigSurMenuConfigRoleResult"> <select id="selectSurMenuConfigById" parameterType="Long" resultMap="SurMenuConfigSurMenuConfigRoleResult">
select a.id, a.menu_name, a.menu_identi, a.menu_img, a.menu_url, a.del_flag, a.create_time, select a.id, a.menu_name, a.menu_identi, a.menu_img, a.menu_url, a.del_flag, a.create_time,menu_type,menu_sort,
b.smcid as sub_smcid, b.role_id as sub_role_id b.smcid as sub_smcid, b.role_id as sub_role_id
from sur_menu_config a from sur_menu_config a
left join sur_menu_config_role b on b.smcid = a.id left join sur_menu_config_role b on b.smcid = a.id
@ -55,6 +58,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="menuUrl != null">menu_url,</if> <if test="menuUrl != null">menu_url,</if>
<if test="delFlag != null">del_flag,</if> <if test="delFlag != null">del_flag,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="menuSort != null">menu_sort,</if>
<if test="menuType != null">menu_type,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="menuName != null">#{menuName},</if> <if test="menuName != null">#{menuName},</if>
@ -63,6 +68,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="menuUrl != null">#{menuUrl},</if> <if test="menuUrl != null">#{menuUrl},</if>
<if test="delFlag != null">#{delFlag},</if> <if test="delFlag != null">#{delFlag},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="menuSort != null">#{menuSort},</if>
<if test="menuType != null">#{menuType},</if>
</trim> </trim>
</insert> </insert>
@ -75,6 +82,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="menuUrl != null">menu_url = #{menuUrl},</if> <if test="menuUrl != null">menu_url = #{menuUrl},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if> <if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="menuSort != null">menu_sort = #{menuSort},</if>
<if test="menuType != null">menu_type = #{menuType},</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>