update 增加视频管理
parent
b1e743282f
commit
10063c973d
yanzhu-common/yanzhu-common-mapper/src/main
java/com/yanzhu/manage/domain
resources/mapper/manage
|
@ -22,6 +22,16 @@ public class BusTrainingVideo extends BaseEntity
|
|||
@Excel(name = "部门主键")
|
||||
private Long deptId;
|
||||
|
||||
public String getDeptName() {
|
||||
return deptName;
|
||||
}
|
||||
|
||||
public void setDeptName(String deptName) {
|
||||
this.deptName = deptName;
|
||||
}
|
||||
|
||||
private String deptName;
|
||||
|
||||
/** 项目主键 */
|
||||
@Excel(name = "项目主键")
|
||||
private Long projectId;
|
||||
|
|
|
@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<resultMap type="BusTrainingVideo" id="BusTrainingVideoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="deptName" column="dept_name"/>
|
||||
<result property="projectId" column="project_id" />
|
||||
<result property="trainTitle" column="train_title" />
|
||||
<result property="trainType" column="train_type" />
|
||||
|
@ -27,7 +28,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</resultMap>
|
||||
|
||||
<sql id="selectBusTrainingVideoVo">
|
||||
select id, dept_id, project_id, train_title, train_type, train_level, craft_type, craft_post, train_file_type,ord, train_file_path, train_file_image, train_file_times, is_del, create_by, create_time, update_by, update_time, remark from bus_training_video
|
||||
select bus_training_video.*,sys_dept.dept_name
|
||||
from bus_training_video
|
||||
left join sys_dept on bus_training_video.dept_id=sys_dept.dept_id
|
||||
</sql>
|
||||
|
||||
<select id="selectBusTrainingVideoList" parameterType="BusTrainingVideo" resultMap="BusTrainingVideoResult">
|
||||
|
|
|
@ -9,6 +9,7 @@ const useUserStore = defineStore(
|
|||
token: getToken(),
|
||||
name: '',
|
||||
avatar: '',
|
||||
compInfo:{},
|
||||
roles: [],
|
||||
permissions: []
|
||||
}),
|
||||
|
@ -44,6 +45,7 @@ const useUserStore = defineStore(
|
|||
this.roles = ['ROLE_DEFAULT']
|
||||
}
|
||||
this.name = user.userName
|
||||
this.compInfo=user.comp;
|
||||
this.avatar = avatar;
|
||||
resolve(res)
|
||||
}).catch(error => {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="app-container bus-training-video-index">
|
||||
<el-row :gutter="20">
|
||||
<!--部门数据-->
|
||||
<el-col :span="6" :xs="24">
|
||||
<el-col :span="6" :xs="24" v-if="1==2">
|
||||
<div class="head-container">
|
||||
<el-input v-model="deptName" placeholder="请输入部门名称" clearable prefix-icon="Search"
|
||||
style="margin-bottom: 20px" />
|
||||
|
@ -13,7 +13,7 @@
|
|||
:default-expanded-keys="defaultEK" @node-click="handleNodeClick" />
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="18" :xs="24">
|
||||
<el-col :span="24" :xs="24">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="文件名称" prop="trainTitle">
|
||||
<el-input v-model="queryParams.trainTitle" placeholder="请输入培训名称" clearable @keyup.enter="handleQuery" />
|
||||
|
@ -23,12 +23,12 @@
|
|||
<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" className="fitem-craft-type el-form-item el-form-item--default asterisk-left">
|
||||
<el-select v-model="queryParams.craftType" placeholder="请选择工种类型" clearable>
|
||||
<el-form-item label="工种" v-if="queryParams.trainLevel==4" prop="craftType" className="fitem-craft-type el-form-item el-form-item--default asterisk-left">
|
||||
<el-select v-model="queryParams.craftType" placeholder="请选择工种类型" clearable @change="getQueryCraftPost">
|
||||
<el-option v-for="dict in pro_craft_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
<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-option v-for="dict in data.queryCraftPostList" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -58,15 +58,14 @@
|
|||
-->
|
||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="busTrainingVideoList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="主键" align="center" prop="id" />
|
||||
<el-table-column label="部门主键" align="center" prop="deptId" />
|
||||
<el-table-column label="项目主键" align="center" prop="projectId" />
|
||||
<el-table-column label="培训名称" align="center" prop="trainTitle" />
|
||||
<el-table-column label="培训类型" align="center" prop="trainType">
|
||||
|
||||
<el-table-column label="部门" align="center" prop="deptName" />
|
||||
|
||||
<el-table-column label="归属模块" align="center" prop="trainType">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="edu_train_type" :value="scope.row.trainType" />
|
||||
<dict-tag :options="video_module" :value="scope.row.trainType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="培训级别" align="center" prop="trainLevel">
|
||||
|
@ -74,28 +73,19 @@
|
|||
<dict-tag :options="edu_train_level" :value="scope.row.trainLevel" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工种类型" align="center" prop="craftType">
|
||||
<el-table-column label="工种" align="center" width="300">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="pro_craft_type" :value="scope.row.craftType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工种岗位" align="center" prop="craftPost">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="pro_craft_post" :value="scope.row.craftPost" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="培训文件类型" align="center" prop="trainFileType" />
|
||||
<el-table-column label="培训文件地址" align="center" prop="trainFilePath" />
|
||||
<el-table-column label="培训文件主图" align="center" prop="trainFileImage" width="100">
|
||||
<template #default="scope">
|
||||
<image-preview :src="scope.row.trainFileImage" :width="50" :height="50" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="培训文件时长" align="center" prop="trainFileTimes" />
|
||||
<el-table-column label="删除标识" align="center" prop="isDel">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="sys_is_del" :value="scope.row.isDel" />
|
||||
</template>
|
||||
<el-table-column label="培训文件时长" align="center" prop="trainFileTimes">
|
||||
<template #default="scope">{{ scope.row.trainFileTimes }}秒</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
|
@ -114,17 +104,10 @@
|
|||
|
||||
|
||||
<!-- 添加或修改培训视频对话框 -->
|
||||
<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-dialog :title="title" v-model="open" width="500px" append-to-body :close-on-click-modal="false" :close-on-press-escape="false" class="bus-training-video-dlg">
|
||||
<el-form ref="busTrainingVideoRef" :model="form" :rules="rules" label-width="80px">
|
||||
<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-input v-model="form.compName" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="归属模块" prop="trainType">
|
||||
<el-select v-model="form.trainType" placeholder="请选择培训类型">
|
||||
|
@ -141,10 +124,10 @@
|
|||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-row v-if="form.trainLevel==4">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="归属工种" prop="craftType">
|
||||
<el-select v-model="form.craftType" placeholder="请选择工种类型">
|
||||
<el-select v-model="form.craftType" placeholder="请选择工种类型" @change="getCraftPost">
|
||||
<el-option v-for="dict in pro_craft_type" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
|
@ -154,7 +137,7 @@
|
|||
<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"
|
||||
<el-option v-for="dict in data.craftPostList" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -191,6 +174,7 @@
|
|||
<script setup name="BusTrainingVideo">
|
||||
import { listBusTrainingVideo, getBusTrainingVideo, delBusTrainingVideo, addBusTrainingVideo, updateBusTrainingVideo } from "@/api/manage/busTrainingVideo";
|
||||
import { deptTreeSelect } from "@/api/system/user";
|
||||
import useUserStore from '@/store/modules/user'
|
||||
const { proxy } = getCurrentInstance();
|
||||
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');
|
||||
|
||||
|
@ -231,11 +215,14 @@ const data = reactive({
|
|||
craftPost:[{ required: true, message: "工种岗位不能为空", trigger: "blur" }],
|
||||
ord:[{ required: true, message: "显示排序不能为空", trigger: "blur" }],
|
||||
trainFileTimes:[{ required: true, message: "视频时长不能为空", trigger: "blur" }],
|
||||
trainFilePath:[{ required: true, message: "视频不能为空", trigger: "blur" }],
|
||||
}
|
||||
//trainFilePath:[{ required: true, message: "视频不能为空", trigger: "blur" }],
|
||||
},
|
||||
craftPostList:[],
|
||||
queryCraftPostList:[]
|
||||
});
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
const userStore = useUserStore()
|
||||
|
||||
/** 查询培训视频列表 */
|
||||
function getList() {
|
||||
|
@ -257,7 +244,7 @@ function cancel() {
|
|||
function reset() {
|
||||
form.value = {
|
||||
id: null,
|
||||
deptId: null,
|
||||
deptId: userStore.compInfo.deptId||'',
|
||||
projectId: null,
|
||||
trainTitle: null,
|
||||
trainType: null,
|
||||
|
@ -268,12 +255,31 @@ function reset() {
|
|||
trainFilePath: null,
|
||||
trainFileImage: null,
|
||||
trainFileTimes: null,
|
||||
compName:userStore.compInfo.deptName||'',
|
||||
ord:1,
|
||||
remark: null
|
||||
};
|
||||
proxy.resetForm("busTrainingVideoRef");
|
||||
data.craftPostList=[]
|
||||
}
|
||||
|
||||
function getQueryCraftPost(){
|
||||
let datas=pro_craft_post._object.pro_craft_post;
|
||||
if(queryParams.value.craftType){
|
||||
data.queryCraftPostList= datas.filter(d=>d.elTagClass==queryParams.value.craftType);
|
||||
}else{
|
||||
data.queryCraftPostList= [];
|
||||
}
|
||||
}
|
||||
|
||||
function getCraftPost(){
|
||||
let datas=pro_craft_post._object.pro_craft_post;
|
||||
if(form.value.craftType){
|
||||
data.craftPostList= datas.filter(d=>d.elTagClass==form.value.craftType);
|
||||
}else{
|
||||
data.craftPostList= [];
|
||||
}
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
queryParams.value.pageNum = 1;
|
||||
|
|
|
@ -520,7 +520,6 @@ const getCompId=()=>{
|
|||
let ndData=selTreeDept.value.getCurrentNode();
|
||||
let node=selTreeDept.value.getNode(ndData.id);
|
||||
let compId=getCompId(node);
|
||||
debugger
|
||||
return compId;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue