update code
parent
6f7807a7ac
commit
b0082e87da
|
@ -25,6 +25,17 @@ public class SysUser extends BaseEntity
|
|||
@Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
|
||||
private Long userId;
|
||||
|
||||
|
||||
private Long compId;
|
||||
|
||||
public Long getCompId() {
|
||||
return compId;
|
||||
}
|
||||
|
||||
public void setCompId(Long compId) {
|
||||
this.compId = compId;
|
||||
}
|
||||
|
||||
/** 部门ID */
|
||||
@Excel(name = "部门编号", type = Type.IMPORT)
|
||||
private Long deptId;
|
||||
|
|
|
@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<resultMap type="SysUser" id="SysUserResult">
|
||||
<id property="userId" column="user_id" />
|
||||
<result property="comId" column="com_id"/>
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="nickName" column="nick_name" />
|
||||
|
@ -27,6 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
|
||||
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" />
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
|
||||
</resultMap>
|
||||
|
@ -54,7 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</resultMap>
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_type, u.card_code, u.user_infos, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
|
||||
select u.user_id,u.com_id, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_type, u.card_code, u.user_infos, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
|
||||
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.dept_short_name, d.dept_code, d.dept_type, d.order_num, d.leader, d.status as dept_status,
|
||||
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
|
||||
from sys_user u
|
||||
|
@ -64,7 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</sql>
|
||||
|
||||
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.user_type, u.card_type, u.card_code, u.user_infos, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
select u.user_id, u.com_id,u.dept_id, u.nick_name, u.user_name, u.user_type, u.card_type, u.card_code, u.user_infos, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
where u.del_flag = '0'
|
||||
<if test="userId != null and userId != 0">
|
||||
|
@ -102,7 +104,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</select>
|
||||
|
||||
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_type, u.card_code, u.email, u.phonenumber, u.status, u.create_time
|
||||
select distinct u.user_id,u.com_id, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_type, u.card_code, u.email, u.phonenumber, u.status, u.create_time
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
|
@ -119,7 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</select>
|
||||
|
||||
<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_type, u.card_code, u.email, u.phonenumber, u.status, u.create_time
|
||||
select distinct u.user_id,u.com_id, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_type, u.card_code, u.email, u.phonenumber, u.status, u.create_time
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
|
@ -165,6 +167,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
|
||||
insert into sys_user(
|
||||
<if test="userId != null and userId != 0">user_id,</if>
|
||||
<if test="comId != null and comId != 0">com_id,</if>
|
||||
<if test="deptId != null and deptId != 0">dept_id,</if>
|
||||
<if test="userName != null and userName != ''">user_name,</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name,</if>
|
||||
|
@ -183,6 +186,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
create_time
|
||||
)values(
|
||||
<if test="userId != null and userId != ''">#{userId},</if>
|
||||
<if test="comId != null and comId != 0">#{comId},</if>
|
||||
<if test="deptId != null and deptId != ''">#{deptId},</if>
|
||||
<if test="userName != null and userName != ''">#{userName},</if>
|
||||
<if test="nickName != null and nickName != ''">#{nickName},</if>
|
||||
|
@ -205,6 +209,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<update id="updateUser" parameterType="SysUser">
|
||||
update sys_user
|
||||
<set>
|
||||
<if test="comId != null and comId != 0">com_id = #{comId},</if>
|
||||
<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
|
||||
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
|
||||
|
|
|
@ -12,3 +12,12 @@ onMounted(() => {
|
|||
})
|
||||
})
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.no-form-label{
|
||||
.el-form-item{
|
||||
.el-form-item__label{
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -17,7 +17,7 @@ const service = axios.create({
|
|||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||
baseURL: import.meta.env.VITE_APP_BASE_API,
|
||||
// 超时
|
||||
timeout: 10000
|
||||
timeout: 60000
|
||||
})
|
||||
|
||||
// request拦截器
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container bus-training-video-index">
|
||||
<el-row :gutter="20">
|
||||
<!--部门数据-->
|
||||
<el-col :span="6" :xs="24">
|
||||
|
@ -15,40 +15,22 @@
|
|||
</el-col>
|
||||
<el-col :span="18" :xs="24">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="部门主键" prop="deptId">
|
||||
<el-input v-model="queryParams.deptId" placeholder="请输入部门主键" clearable @keyup.enter="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目主键" prop="projectId">
|
||||
<el-input v-model="queryParams.projectId" placeholder="请输入项目主键" clearable @keyup.enter="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="培训名称" prop="trainTitle">
|
||||
<el-form-item label="文件名称" prop="trainTitle">
|
||||
<el-input v-model="queryParams.trainTitle" placeholder="请输入培训名称" clearable @keyup.enter="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="培训类型" prop="trainType">
|
||||
<el-select v-model="queryParams.trainType" placeholder="请选择培训类型" clearable>
|
||||
<el-option v-for="dict in edu_train_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="培训级别" prop="trainLevel">
|
||||
<el-form-item label="教育级别" prop="trainLevel">
|
||||
<el-select v-model="queryParams.trainLevel" placeholder="请选择培训级别" clearable>
|
||||
<el-option v-for="dict in edu_train_level" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工种类型" prop="craftType">
|
||||
<el-form-item label="工种" prop="craftType" className="fitem-craft-type el-form-item el-form-item--default asterisk-left">
|
||||
<el-select v-model="queryParams.craftType" placeholder="请选择工种类型" clearable>
|
||||
<el-option v-for="dict in pro_craft_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工种岗位" prop="craftPost">
|
||||
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" clearable>
|
||||
<el-select style="margin-left:10px;" v-model="queryParams.craftPost" placeholder="请选择工种岗位" clearable>
|
||||
<el-option v-for="dict in pro_craft_post" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="删除标识" prop="isDel">
|
||||
<el-select v-model="queryParams.isDel" placeholder="请选择删除标识" clearable>
|
||||
<el-option v-for="dict in sys_is_del" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
|
@ -60,6 +42,7 @@
|
|||
<el-button type="primary" plain icon="Plus" @click="handleAdd"
|
||||
v-hasPermi="['manage:busTrainingVideo:add']">新增</el-button>
|
||||
</el-col>
|
||||
<!--
|
||||
<el-col :span="1.5">
|
||||
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate"
|
||||
v-hasPermi="['manage:busTrainingVideo:edit']">修改</el-button>
|
||||
|
@ -72,6 +55,7 @@
|
|||
<el-button type="warning" plain icon="Download" @click="handleExport"
|
||||
v-hasPermi="['manage:busTrainingVideo:export']">导出</el-button>
|
||||
</el-col>
|
||||
-->
|
||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
<el-table v-loading="loading" :data="busTrainingVideoList" @selection-change="handleSelectionChange">
|
||||
|
@ -129,62 +113,67 @@
|
|||
</el-row>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 添加或修改培训视频对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
||||
<el-dialog :title="title" v-model="open" width="500px" append-to-body :close-on-click-modal="false" :close-on-press-escape="false" custom-class="bus-training-video-dlg">
|
||||
<el-form ref="busTrainingVideoRef" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="部门主键" prop="deptId">
|
||||
<el-input v-model="form.deptId" placeholder="请输入部门主键" />
|
||||
<el-form-item label="归属公司" prop="deptId">
|
||||
<el-tree-select
|
||||
v-model="form.deptId"
|
||||
:data="deptOptions"
|
||||
:props="{ label: 'label', children: 'children' }"
|
||||
value-key="id"
|
||||
placeholder="选择公司"
|
||||
check-strictly
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目主键" prop="projectId">
|
||||
<el-input v-model="form.projectId" placeholder="请输入项目主键" />
|
||||
</el-form-item>
|
||||
<el-form-item label="培训名称" prop="trainTitle">
|
||||
<el-input v-model="form.trainTitle" placeholder="请输入培训名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="培训类型" prop="trainType">
|
||||
<el-form-item label="归属模块" prop="trainType">
|
||||
<el-select v-model="form.trainType" placeholder="请选择培训类型">
|
||||
<el-option v-for="dict in edu_train_type" :key="dict.value" :label="dict.label"
|
||||
<el-option v-for="dict in video_module" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="培训级别" prop="trainLevel">
|
||||
<el-form-item label="文件名称" prop="trainTitle">
|
||||
<el-input v-model="form.trainTitle" placeholder="请输入培训名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="教育级别" prop="trainLevel">
|
||||
<el-select v-model="form.trainLevel" placeholder="请选择培训级别">
|
||||
<el-option v-for="dict in edu_train_level" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工种类型" prop="craftType">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="归属工种" prop="craftType">
|
||||
<el-select v-model="form.craftType" placeholder="请选择工种类型">
|
||||
<el-option v-for="dict in pro_craft_type" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="工种岗位" prop="craftPost">
|
||||
<el-select v-model="form.craftPost" placeholder="请选择工种岗位">
|
||||
<el-option v-for="dict in pro_craft_post" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="12" class="no-form-label" style="padding-left:10px;">
|
||||
<el-form-item label="no" prop="craftPost">
|
||||
<el-select v-model="form.craftPost" placeholder="请选择工种岗位">
|
||||
<el-option v-for="dict in pro_craft_post" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-form-item label="显示排序" prop="ord">
|
||||
<el-input-number v-model="form.ord" controls-position="right" :min="0" style="width:160px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="视频时长" prop="trainFileTimes">
|
||||
<el-input v-model="form.trainFileTimes" placeholder="请输入视频时长" style="width:180px;">
|
||||
<template #append>秒</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="培训文件类型" prop="trainFileType">
|
||||
<el-input v-model="form.trainFileType" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="培训文件地址" prop="trainFilePath">
|
||||
<file-upload v-model="form.trainFilePath" />
|
||||
</el-form-item>
|
||||
<el-form-item label="培训文件主图" prop="trainFileImage">
|
||||
<image-upload v-model="form.trainFileImage" />
|
||||
</el-form-item>
|
||||
<el-form-item label="培训文件时长" prop="trainFileTimes">
|
||||
<el-input v-model="form.trainFileTimes" placeholder="请输入培训文件时长" />
|
||||
</el-form-item>
|
||||
<el-form-item label="删除标识" prop="isDel">
|
||||
<el-select v-model="form.isDel" placeholder="请选择删除标识">
|
||||
<el-option v-for="dict in sys_is_del" :key="dict.value" :label="dict.label"
|
||||
:value="parseInt(dict.value)"></el-option>
|
||||
</el-select>
|
||||
<el-form-item label="视频文件" prop="trainFilePath">
|
||||
<file-upload v-model="form.trainFilePath" :limit="1" :fileType="['mp4']" :fileSize="100"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
|
@ -203,7 +192,7 @@
|
|||
import { listBusTrainingVideo, getBusTrainingVideo, delBusTrainingVideo, addBusTrainingVideo, updateBusTrainingVideo } from "@/api/manage/busTrainingVideo";
|
||||
import { deptTreeSelect } from "@/api/system/user";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { edu_train_level, edu_train_type, pro_craft_type, sys_is_del, pro_craft_post } = proxy.useDict('edu_train_level', 'edu_train_type', 'pro_craft_type', 'sys_is_del', 'pro_craft_post');
|
||||
const { edu_train_level, edu_train_type, pro_craft_type, sys_is_del, pro_craft_post,video_module } = proxy.useDict('edu_train_level', 'edu_train_type', 'pro_craft_type', 'sys_is_del', 'pro_craft_post','video_module');
|
||||
|
||||
const busTrainingVideoList = ref([]);
|
||||
const open = ref(false);
|
||||
|
@ -234,6 +223,15 @@ const data = reactive({
|
|||
isDel: null,
|
||||
},
|
||||
rules: {
|
||||
deptId:[{ required: true, message: "归属公司不能为空", trigger: "blur" }],
|
||||
trainType:[{ required: true, message: "归属模块不能为空", trigger: "blur" }],
|
||||
trainTitle:[{ required: true, message: "文件名称不能为空", trigger: "blur" }],
|
||||
trainLevel:[{ required: true, message: "教育级别不能为空", trigger: "blur" }],
|
||||
craftType:[{ required: true, message: "工种不能为空", trigger: "blur" }],
|
||||
craftPost:[{ required: true, message: "工种岗位不能为空", trigger: "blur" }],
|
||||
ord:[{ required: true, message: "显示排序不能为空", trigger: "blur" }],
|
||||
trainFileTimes:[{ required: true, message: "视频时长不能为空", trigger: "blur" }],
|
||||
trainFilePath:[{ required: true, message: "视频不能为空", trigger: "blur" }],
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -270,11 +268,7 @@ function reset() {
|
|||
trainFilePath: null,
|
||||
trainFileImage: null,
|
||||
trainFileTimes: null,
|
||||
isDel: null,
|
||||
createBy: null,
|
||||
createTime: null,
|
||||
updateBy: null,
|
||||
updateTime: null,
|
||||
ord:1,
|
||||
remark: null
|
||||
};
|
||||
proxy.resetForm("busTrainingVideoRef");
|
||||
|
@ -381,3 +375,15 @@ function getDeptTree() {
|
|||
getList();
|
||||
getDeptTree();
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.bus-training-video-index{
|
||||
.fitem-craft-type{
|
||||
.el-select{
|
||||
width:150px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bus-training-video-dlg{
|
||||
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue