|
|
@ -2,7 +2,7 @@
|
|
|
|
<div class="app-container bus-training-video-index">
|
|
|
|
<div class="app-container bus-training-video-index">
|
|
|
|
<el-row :gutter="20">
|
|
|
|
<el-row :gutter="20">
|
|
|
|
<!--部门数据-->
|
|
|
|
<!--部门数据-->
|
|
|
|
<el-col :span="6" :xs="24">
|
|
|
|
<el-col :span="6" :xs="24" v-if="1==2">
|
|
|
|
<div class="head-container">
|
|
|
|
<div class="head-container">
|
|
|
|
<el-input v-model="deptName" placeholder="请输入部门名称" clearable prefix-icon="Search"
|
|
|
|
<el-input v-model="deptName" placeholder="请输入部门名称" clearable prefix-icon="Search"
|
|
|
|
style="margin-bottom: 20px" />
|
|
|
|
style="margin-bottom: 20px" />
|
|
|
@ -13,7 +13,7 @@
|
|
|
|
:default-expanded-keys="defaultEK" @node-click="handleNodeClick" />
|
|
|
|
:default-expanded-keys="defaultEK" @node-click="handleNodeClick" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-col>
|
|
|
|
</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 :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
|
<el-form-item label="文件名称" prop="trainTitle">
|
|
|
|
<el-form-item label="文件名称" prop="trainTitle">
|
|
|
|
<el-input v-model="queryParams.trainTitle" placeholder="请输入培训名称" clearable @keyup.enter="handleQuery" />
|
|
|
|
<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-option v-for="dict in edu_train_level" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="工种" prop="craftType" className="fitem-craft-type el-form-item el-form-item--default asterisk-left">
|
|
|
|
<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>
|
|
|
|
<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-option v-for="dict in pro_craft_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
|
<el-select style="margin-left:10px;" 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-option v-for="dict in data.queryCraftPostList" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item>
|
|
|
|
<el-form-item>
|
|
|
@ -58,15 +58,14 @@
|
|
|
|
-->
|
|
|
|
-->
|
|
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="busTrainingVideoList" @selection-change="handleSelectionChange">
|
|
|
|
<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="deptName" />
|
|
|
|
<el-table-column label="部门主键" align="center" prop="deptId" />
|
|
|
|
|
|
|
|
<el-table-column label="项目主键" align="center" prop="projectId" />
|
|
|
|
<el-table-column label="归属模块" align="center" prop="trainType">
|
|
|
|
<el-table-column label="培训名称" align="center" prop="trainTitle" />
|
|
|
|
|
|
|
|
<el-table-column label="培训类型" align="center" prop="trainType">
|
|
|
|
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<dict-tag :options="edu_train_type" :value="scope.row.trainType" />
|
|
|
|
<dict-tag :options="video_module" :value="scope.row.trainType" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="培训级别" align="center" prop="trainLevel">
|
|
|
|
<el-table-column label="培训级别" align="center" prop="trainLevel">
|
|
|
@ -74,28 +73,19 @@
|
|
|
|
<dict-tag :options="edu_train_level" :value="scope.row.trainLevel" />
|
|
|
|
<dict-tag :options="edu_train_level" :value="scope.row.trainLevel" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="工种类型" align="center" prop="craftType">
|
|
|
|
<el-table-column label="工种" align="center" width="300">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<dict-tag :options="pro_craft_type" :value="scope.row.craftType" />
|
|
|
|
<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" />
|
|
|
|
<dict-tag :options="pro_craft_post" :value="scope.row.craftPost" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</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">
|
|
|
|
<el-table-column label="培训文件主图" align="center" prop="trainFileImage" width="100">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<image-preview :src="scope.row.trainFileImage" :width="50" :height="50" />
|
|
|
|
<image-preview :src="scope.row.trainFileImage" :width="50" :height="50" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="培训文件时长" align="center" prop="trainFileTimes" />
|
|
|
|
<el-table-column label="培训文件时长" align="center" prop="trainFileTimes">
|
|
|
|
<el-table-column label="删除标识" align="center" prop="isDel">
|
|
|
|
<template #default="scope">{{ scope.row.trainFileTimes }}秒</template>
|
|
|
|
<template #default="scope">
|
|
|
|
|
|
|
|
<dict-tag :options="sys_is_del" :value="scope.row.isDel" />
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</el-table-column>
|
|
|
|
</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 #default="scope">
|
|
|
|
<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 ref="busTrainingVideoRef" :model="form" :rules="rules" label-width="80px">
|
|
|
|
<el-form-item label="归属公司" prop="deptId">
|
|
|
|
<el-form-item label="归属公司" prop="deptId">
|
|
|
|
<el-tree-select
|
|
|
|
<el-input v-model="form.compName" disabled/>
|
|
|
|
v-model="form.deptId"
|
|
|
|
|
|
|
|
:data="deptOptions"
|
|
|
|
|
|
|
|
:props="{ label: 'label', children: 'children' }"
|
|
|
|
|
|
|
|
value-key="id"
|
|
|
|
|
|
|
|
placeholder="选择公司"
|
|
|
|
|
|
|
|
check-strictly
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="归属模块" prop="trainType">
|
|
|
|
<el-form-item label="归属模块" prop="trainType">
|
|
|
|
<el-select v-model="form.trainType" placeholder="请选择培训类型">
|
|
|
|
<el-select v-model="form.trainType" placeholder="请选择培训类型">
|
|
|
@ -141,10 +124,10 @@
|
|
|
|
:value="dict.value"></el-option>
|
|
|
|
:value="dict.value"></el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-row>
|
|
|
|
<el-row v-if="form.trainLevel==4">
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-col :span="12">
|
|
|
|
<el-form-item label="归属工种" prop="craftType">
|
|
|
|
<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"
|
|
|
|
<el-option v-for="dict in pro_craft_type" :key="dict.value" :label="dict.label"
|
|
|
|
:value="dict.value"></el-option>
|
|
|
|
:value="dict.value"></el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
@ -154,7 +137,7 @@
|
|
|
|
<el-col :span="12" class="no-form-label" style="padding-left:10px;">
|
|
|
|
<el-col :span="12" class="no-form-label" style="padding-left:10px;">
|
|
|
|
<el-form-item label="no" prop="craftPost">
|
|
|
|
<el-form-item label="no" prop="craftPost">
|
|
|
|
<el-select v-model="form.craftPost" placeholder="请选择工种岗位">
|
|
|
|
<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>
|
|
|
|
:value="dict.value"></el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
@ -191,6 +174,7 @@
|
|
|
|
<script setup name="BusTrainingVideo">
|
|
|
|
<script setup name="BusTrainingVideo">
|
|
|
|
import { listBusTrainingVideo, getBusTrainingVideo, delBusTrainingVideo, addBusTrainingVideo, updateBusTrainingVideo } from "@/api/manage/busTrainingVideo";
|
|
|
|
import { listBusTrainingVideo, getBusTrainingVideo, delBusTrainingVideo, addBusTrainingVideo, updateBusTrainingVideo } from "@/api/manage/busTrainingVideo";
|
|
|
|
import { deptTreeSelect } from "@/api/system/user";
|
|
|
|
import { deptTreeSelect } from "@/api/system/user";
|
|
|
|
|
|
|
|
import useUserStore from '@/store/modules/user'
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
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');
|
|
|
|
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" }],
|
|
|
|
craftPost:[{ required: true, message: "工种岗位不能为空", trigger: "blur" }],
|
|
|
|
ord:[{ required: true, message: "显示排序不能为空", trigger: "blur" }],
|
|
|
|
ord:[{ required: true, message: "显示排序不能为空", trigger: "blur" }],
|
|
|
|
trainFileTimes:[{ 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 { queryParams, form, rules } = toRefs(data);
|
|
|
|
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
|
|
|
|
|
|
/** 查询培训视频列表 */
|
|
|
|
/** 查询培训视频列表 */
|
|
|
|
function getList() {
|
|
|
|
function getList() {
|
|
|
@ -257,7 +244,7 @@ function cancel() {
|
|
|
|
function reset() {
|
|
|
|
function reset() {
|
|
|
|
form.value = {
|
|
|
|
form.value = {
|
|
|
|
id: null,
|
|
|
|
id: null,
|
|
|
|
deptId: null,
|
|
|
|
deptId: userStore.compInfo.deptId||'',
|
|
|
|
projectId: null,
|
|
|
|
projectId: null,
|
|
|
|
trainTitle: null,
|
|
|
|
trainTitle: null,
|
|
|
|
trainType: null,
|
|
|
|
trainType: null,
|
|
|
@ -268,12 +255,31 @@ function reset() {
|
|
|
|
trainFilePath: null,
|
|
|
|
trainFilePath: null,
|
|
|
|
trainFileImage: null,
|
|
|
|
trainFileImage: null,
|
|
|
|
trainFileTimes: null,
|
|
|
|
trainFileTimes: null,
|
|
|
|
|
|
|
|
compName:userStore.compInfo.deptName||'',
|
|
|
|
ord:1,
|
|
|
|
ord:1,
|
|
|
|
remark: null
|
|
|
|
remark: null
|
|
|
|
};
|
|
|
|
};
|
|
|
|
proxy.resetForm("busTrainingVideoRef");
|
|
|
|
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() {
|
|
|
|
function handleQuery() {
|
|
|
|
queryParams.value.pageNum = 1;
|
|
|
|
queryParams.value.pageNum = 1;
|
|
|
|