修改提交
This commit is contained in:
parent
d13f1b0e49
commit
cb921e7997
@ -243,7 +243,6 @@ export default {
|
|||||||
if (this.types == "posterVideoUrl" || this.types == "itemDirectoryUrl") {
|
if (this.types == "posterVideoUrl" || this.types == "itemDirectoryUrl") {
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
this.previews.data = file;
|
this.previews.data = file;
|
||||||
this.previews.url = URL.createObjectURL(file);
|
|
||||||
this.videoForm.showVideoPath = URL.createObjectURL(file);
|
this.videoForm.showVideoPath = URL.createObjectURL(file);
|
||||||
reader.readAsDataURL(file);
|
reader.readAsDataURL(file);
|
||||||
reader.onload = () => {
|
reader.onload = () => {
|
||||||
@ -369,7 +368,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.openimg = false;
|
this.openimg = false;
|
||||||
}
|
}
|
||||||
this.videoForm.showVideoPath = null;
|
// this.videoForm.showVideoPath = null;
|
||||||
this.previews.data = null;
|
this.previews.data = null;
|
||||||
},
|
},
|
||||||
// 实时预览
|
// 实时预览
|
||||||
|
|||||||
349
src/views/system/trainingAvatar/index.vue
Normal file
349
src/views/system/trainingAvatar/index.vue
Normal file
@ -0,0 +1,349 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="user-info-head" :class="video.VideoPath ? 'wihi' : ''" @click="editCropper()">
|
||||||
|
<video
|
||||||
|
style="width: 208px; height: 208px"
|
||||||
|
v-bind:src="video.VideoPath"
|
||||||
|
class="avatar video-avatar"
|
||||||
|
controls="controls"
|
||||||
|
>您的浏览器不支持视频播放</video>
|
||||||
|
<i
|
||||||
|
class="el-icon-plus avatar-uploader-icon"
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
"
|
||||||
|
></i>
|
||||||
|
</div>
|
||||||
|
<el-dialog
|
||||||
|
:title="title"
|
||||||
|
:visible.sync="openimg"
|
||||||
|
width="950px"
|
||||||
|
append-to-body
|
||||||
|
@opened="modalOpened"
|
||||||
|
@close="closeDialog"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :xs="24" :md="24" :style="{ height: '350px' }">
|
||||||
|
<div class="avatar-upload-preview">
|
||||||
|
<video
|
||||||
|
style="width: 100%; height: 100%"
|
||||||
|
v-if="videoForm.showVideoPath"
|
||||||
|
v-bind:src="videoForm.showVideoPath"
|
||||||
|
class="avatar video-avatar"
|
||||||
|
controls="controls"
|
||||||
|
>您的浏览器不支持视频播放</video>
|
||||||
|
<img style="width: 100%; height: 100%" v-if="previews.url" :src="previews.url" />
|
||||||
|
<div v-else></div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<br />
|
||||||
|
<el-progress v-if="progressFlag" :percentage="loadProgress"></el-progress>
|
||||||
|
<el-row style="padding-bottom:0px">
|
||||||
|
<el-col :lg="3" :md="2">
|
||||||
|
<el-upload
|
||||||
|
:show-file-list="false"
|
||||||
|
class="upload-demo"
|
||||||
|
ref="upload"
|
||||||
|
action="http://192.168.16.30:8080/system/trainingItem/uploadVideoUrl"
|
||||||
|
:on-preview="handlePreview"
|
||||||
|
:auto-upload="false"
|
||||||
|
:on-change="loadJsonFromFile"
|
||||||
|
:data="filedata"
|
||||||
|
:on-progress="uploadVideoProcess"
|
||||||
|
>
|
||||||
|
<el-button slot="trigger" size="small" type="primary" style="float:left">选取文件</el-button>
|
||||||
|
</el-upload>
|
||||||
|
</el-col>
|
||||||
|
<el-col :lg="{ span: 2, offset: 18 }" :md="2">
|
||||||
|
<el-button v-if="uploadbtn" type="primary" size="small" @click="submitUpload">提 交</el-button>
|
||||||
|
<el-button v-else :loading="!uploadbtn" type="primary" size="small">提 交 中...</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<!-- <el-upload
|
||||||
|
class="avatar-uploader"
|
||||||
|
action="http://192.168.16.30:8080/system/trainingItem/uploadVideoUrl"
|
||||||
|
:show-file-list="false"
|
||||||
|
accept=".mp4"
|
||||||
|
:on-progress="uploadVideoProcess"
|
||||||
|
:auto-upload="false"
|
||||||
|
:file-list="fileList"
|
||||||
|
:before-upload="beforeUpload"
|
||||||
|
>
|
||||||
|
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>-->
|
||||||
|
<!-- <el-button size="small">选择
|
||||||
|
<i class="el-icon-upload el-icon--right"></i>
|
||||||
|
</el-button>-->
|
||||||
|
<!-- </el-upload> -->
|
||||||
|
|
||||||
|
<!-- <el-upload
|
||||||
|
action="#"
|
||||||
|
:http-request="requestUpload"
|
||||||
|
:show-file-list="false"
|
||||||
|
:before-upload="beforeUpload"
|
||||||
|
>
|
||||||
|
<el-button size="small">
|
||||||
|
选择
|
||||||
|
<i class="el-icon-upload el-icon--right"></i>
|
||||||
|
</el-button>
|
||||||
|
</el-upload>-->
|
||||||
|
<!-- <el-col :lg="{ span: 1, offset: 2 }" :md="2">
|
||||||
|
<el-button
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="small"
|
||||||
|
@click="changeScale(1)"
|
||||||
|
></el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :lg="{ span: 1, offset: 1 }" :md="2">
|
||||||
|
<el-button
|
||||||
|
icon="el-icon-minus"
|
||||||
|
size="small"
|
||||||
|
@click="changeScale(-1)"
|
||||||
|
></el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :lg="{ span: 1, offset: 1 }" :md="2">
|
||||||
|
<el-button
|
||||||
|
icon="el-icon-refresh-left"
|
||||||
|
size="small"
|
||||||
|
@click="rotateLeft()"
|
||||||
|
></el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :lg="{ span: 1, offset: 1 }" :md="2">
|
||||||
|
<el-button
|
||||||
|
icon="el-icon-refresh-right"
|
||||||
|
size="small"
|
||||||
|
@click="rotateRight()"
|
||||||
|
></el-button>
|
||||||
|
</el-col>-->
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { VueCropper } from "vue-cropper";
|
||||||
|
import baseurl from "@/api/baseurl.js";
|
||||||
|
import { uploadVideoUrl } from "@/api/system/stationAvatar.js";
|
||||||
|
export default {
|
||||||
|
components: { VueCropper },
|
||||||
|
props: ["img", "type", "item", "tovideo"],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
fileList: [],
|
||||||
|
loadProgress: 0, // 动态显示进度条
|
||||||
|
progressFlag: false, // 关闭进度条
|
||||||
|
uploadbtn: true, //上传中不允许点击
|
||||||
|
imageUrl: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
openimg: false,
|
||||||
|
// 是否显示cropper
|
||||||
|
visible: false,
|
||||||
|
// 弹出层标题
|
||||||
|
title: "上传图片/视频",
|
||||||
|
filedata: {
|
||||||
|
type: ""
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
img: null, //裁剪图片的地址
|
||||||
|
autoCrop: true, // 是否默认生成截图框
|
||||||
|
autoCropWidth: 300, // 默认生成截图框宽度
|
||||||
|
autoCropHeight: 300, // 默认生成截图框高度
|
||||||
|
fixedBox: true // 固定截图框大小 不允许改变
|
||||||
|
},
|
||||||
|
previews: {},
|
||||||
|
items: {},
|
||||||
|
//显示上传按钮
|
||||||
|
videoForm: {
|
||||||
|
showVideoPath: null //回显的变量
|
||||||
|
},
|
||||||
|
video: {
|
||||||
|
VideoPath: null //回显的变量
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.filedata.type = this.type;
|
||||||
|
this.items = this.item;
|
||||||
|
this.video.VideoPath = baseurl + this.tovideo;
|
||||||
|
this.title = "上传视频";
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
tovideo: {
|
||||||
|
handler(newimg, oldimg) {
|
||||||
|
this.video.VideoPath = baseurl + this.tovideo;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
item: {
|
||||||
|
handler(newimg, oldimg) {
|
||||||
|
this.items = this.item;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
img: {
|
||||||
|
handler(newimg, oldimg) {
|
||||||
|
if (this.img == null) {
|
||||||
|
this.options.img = null;
|
||||||
|
} else if (this.img == "") {
|
||||||
|
this.options.img = null;
|
||||||
|
} else {
|
||||||
|
this.options.img = baseurl + this.img;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
handler(newimg, oldimg) {
|
||||||
|
this.filedata.type = this.type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
uploadVideoProcess(event, file, fileList) {
|
||||||
|
this.progressFlag = true; // 显示进度条
|
||||||
|
this.loadProgress = parseInt(event.percent); // 动态获取文件上传进度
|
||||||
|
if (this.loadProgress >= 100) {
|
||||||
|
this.loadProgress = 100;
|
||||||
|
setTimeout(() => {
|
||||||
|
this.progressFlag = false;
|
||||||
|
}, 1000); // 一秒后关闭进度条
|
||||||
|
}
|
||||||
|
},
|
||||||
|
loadJsonFromFile(file, fileList) {
|
||||||
|
const reader = new FileReader();
|
||||||
|
this.previews.data = file.raw;
|
||||||
|
this.videoForm.showVideoPath = URL.createObjectURL(file.raw);
|
||||||
|
reader.readAsDataURL(file.raw);
|
||||||
|
reader.onload = () => {
|
||||||
|
// this.options.img = reader.result;
|
||||||
|
};
|
||||||
|
},
|
||||||
|
submitUpload() {
|
||||||
|
this.uploadbtn = true;
|
||||||
|
this.$refs.upload.submit();
|
||||||
|
},
|
||||||
|
handlePreview(file) {},
|
||||||
|
// 编辑头像
|
||||||
|
editCropper() {
|
||||||
|
this.openimg = true;
|
||||||
|
},
|
||||||
|
// 打开弹出层结束时的回调
|
||||||
|
modalOpened() {
|
||||||
|
this.visible = true;
|
||||||
|
},
|
||||||
|
// 覆盖默认的上传行为
|
||||||
|
requestUpload() {},
|
||||||
|
// 向左旋转
|
||||||
|
rotateLeft() {
|
||||||
|
this.$refs.cropper.rotateLeft();
|
||||||
|
},
|
||||||
|
// 向右旋转
|
||||||
|
rotateRight() {
|
||||||
|
this.$refs.cropper.rotateRight();
|
||||||
|
},
|
||||||
|
// 图片缩放
|
||||||
|
changeScale(num) {
|
||||||
|
num = num || 1;
|
||||||
|
this.$refs.cropper.changeScale(num);
|
||||||
|
},
|
||||||
|
// 上传预处理
|
||||||
|
beforeUpload(file) {
|
||||||
|
const reader = new FileReader();
|
||||||
|
this.previews.data = file;
|
||||||
|
this.videoForm.showVideoPath = URL.createObjectURL(file);
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
reader.onload = () => {
|
||||||
|
// this.options.img = reader.result;
|
||||||
|
};
|
||||||
|
},
|
||||||
|
// 上传图片
|
||||||
|
uploadImg() {
|
||||||
|
this.uploadbtn = true;
|
||||||
|
let formData = new FormData();
|
||||||
|
if (this.previews.data) {
|
||||||
|
formData.append("file", this.previews.data);
|
||||||
|
formData.append("type", this.filedata.type);
|
||||||
|
this.$modal.msgSuccess("上传视频中,请耐心等待");
|
||||||
|
this.uploadbtn = false;
|
||||||
|
uploadVideoUrl(formData).then(response => {
|
||||||
|
if (response.code == 200) {
|
||||||
|
this.video.VideoPath = baseurl + response.imgUrl;
|
||||||
|
this.items.itemDirectoryUrl = response.imgUrl;
|
||||||
|
this.$emit("item", JSON.stringify(this.items));
|
||||||
|
this.openimg = false;
|
||||||
|
} else {
|
||||||
|
setTimeout(e => {
|
||||||
|
this.openimg = false;
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
this.uploadbtn = true;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.openimg = false;
|
||||||
|
}
|
||||||
|
// this.videoForm.showVideoPath = null;
|
||||||
|
this.previews.data = null;
|
||||||
|
},
|
||||||
|
// 实时预览
|
||||||
|
realTime(data) {
|
||||||
|
this.previews = data;
|
||||||
|
},
|
||||||
|
// 关闭窗口
|
||||||
|
closeDialog() {
|
||||||
|
this.imgs = "";
|
||||||
|
this.visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.title {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, 0%);
|
||||||
|
}
|
||||||
|
.avatar-upload-preview {
|
||||||
|
position: absolute;
|
||||||
|
top: 0%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, 0%);
|
||||||
|
width: 300px;
|
||||||
|
height: 300px;
|
||||||
|
border-radius: 0%;
|
||||||
|
box-shadow: 0 0 4px #ccc;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.user-info-head {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
background: #fafafa;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-info-head:hover:after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
color: #eee;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
font-size: 24px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
cursor: pointer;
|
||||||
|
line-height: 110px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.wihi {
|
||||||
|
background-color: #fff;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
.wihi:hover:after {
|
||||||
|
transform: translate(50%, 50%);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -40,16 +40,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
type="primary"
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
icon="el-icon-search"
|
|
||||||
size="mini"
|
|
||||||
@click="handleQuery"
|
|
||||||
>搜索</el-button
|
|
||||||
>
|
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
|
||||||
>重置</el-button
|
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
@ -62,8 +54,7 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-hasPermi="['system:trainingItem:add']"
|
v-hasPermi="['system:trainingItem:add']"
|
||||||
>新增</el-button
|
>新增</el-button>
|
||||||
>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
@ -74,8 +65,7 @@
|
|||||||
:disabled="single"
|
:disabled="single"
|
||||||
@click="handleUpdate"
|
@click="handleUpdate"
|
||||||
v-hasPermi="['system:trainingItem:edit']"
|
v-hasPermi="['system:trainingItem:edit']"
|
||||||
>修改</el-button
|
>修改</el-button>
|
||||||
>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
@ -86,8 +76,7 @@
|
|||||||
:disabled="multiple"
|
:disabled="multiple"
|
||||||
@click="handleDelete"
|
@click="handleDelete"
|
||||||
v-hasPermi="['system:trainingItem:remove']"
|
v-hasPermi="['system:trainingItem:remove']"
|
||||||
>删除</el-button
|
>删除</el-button>
|
||||||
>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="1.5">
|
<!-- <el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
@ -99,11 +88,8 @@
|
|||||||
v-hasPermi="['system:trainingItem:export']"
|
v-hasPermi="['system:trainingItem:export']"
|
||||||
>导出</el-button
|
>导出</el-button
|
||||||
>
|
>
|
||||||
</el-col> -->
|
</el-col>-->
|
||||||
<right-toolbar
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
:showSearch.sync="showSearch"
|
|
||||||
@queryTable="getList"
|
|
||||||
></right-toolbar>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table
|
<el-table
|
||||||
@ -112,45 +98,24 @@
|
|||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column
|
<el-table-column label="学习培训课程组名称" align="center" prop="trainingParentName" />
|
||||||
label="学习培训课程组名称"
|
<el-table-column label="培训课程编号" align="center" prop="trainingItemCode" />
|
||||||
align="center"
|
<el-table-column property="trainingItemTitle" label="培训课程名称" align="center" />
|
||||||
prop="trainingParentName"
|
<el-table-column label="培训课程价格" align="center" prop="trainingItemPrice" />
|
||||||
/>
|
<el-table-column label="培训课程类型" align="center" prop="trainingItemType">
|
||||||
<el-table-column
|
|
||||||
label="培训课程编号"
|
|
||||||
align="center"
|
|
||||||
prop="trainingItemCode"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
property="trainingItemTitle"
|
|
||||||
label="培训课程名称"
|
|
||||||
align="center"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<el-table-column
|
|
||||||
label="培训课程价格"
|
|
||||||
align="center"
|
|
||||||
prop="trainingItemPrice"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
label="培训课程类型"
|
|
||||||
align="center"
|
|
||||||
prop="trainingItemType"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.trainingItemType == "VIDEO_LEARNING" ? "视频学习" : "" }}
|
{{ scope.row.trainingItemType == "VIDEO_LEARNING" ? "视频学习" : "" }}
|
||||||
{{
|
{{
|
||||||
scope.row.trainingItemType == "GRAPHIC_LEARNING" ? "图文学习" : ""
|
scope.row.trainingItemType == "GRAPHIC_LEARNING" ? "图文学习" : ""
|
||||||
}}
|
}}
|
||||||
{{ scope.row.trainingItemType == "LIVE_COURSES" ? "直播课程" : "" }}
|
{{ scope.row.trainingItemType == "LIVE_COURSES" ? "直播课程" : "" }}
|
||||||
{{
|
{{
|
||||||
scope.row.trainingItemType == "OFFLINE_TRAINING" ? "线下培训" : ""
|
scope.row.trainingItemType == "OFFLINE_TRAINING" ? "线下培训" : ""
|
||||||
}}
|
}}
|
||||||
{{
|
{{
|
||||||
scope.row.trainingItemType == "LEARNING_ITEM_GROUP"
|
scope.row.trainingItemType == "LEARNING_ITEM_GROUP"
|
||||||
? "学习培训课程组"
|
? "学习培训课程组"
|
||||||
: ""
|
: ""
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -162,8 +127,7 @@
|
|||||||
active-color="#13ce66"
|
active-color="#13ce66"
|
||||||
inactive-color="#ff4949"
|
inactive-color="#ff4949"
|
||||||
@change="uptrainingShelfFlag(scope.row)"
|
@change="uptrainingShelfFlag(scope.row)"
|
||||||
>
|
></el-switch>
|
||||||
</el-switch>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
@ -191,17 +155,9 @@
|
|||||||
prop="trainingItemEndTime"
|
prop="trainingItemEndTime"
|
||||||
width="180"
|
width="180"
|
||||||
>
|
>
|
||||||
</el-table-column> -->
|
</el-table-column>-->
|
||||||
<el-table-column
|
<el-table-column label="培训课程排序" align="center" prop="trainingItemSort" />
|
||||||
label="培训课程排序"
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
align="center"
|
|
||||||
prop="trainingItemSort"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
label="操作"
|
|
||||||
align="center"
|
|
||||||
class-name="small-padding fixed-width"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -209,16 +165,14 @@
|
|||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="handleUpdate(scope.row)"
|
@click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['system:trainingItem:edit']"
|
v-hasPermi="['system:trainingItem:edit']"
|
||||||
>修改</el-button
|
>修改</el-button>
|
||||||
>
|
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['system:trainingItem:remove']"
|
v-hasPermi="['system:trainingItem:remove']"
|
||||||
>删除</el-button
|
>删除</el-button>
|
||||||
>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -245,22 +199,14 @@
|
|||||||
label-width="80px"
|
label-width="80px"
|
||||||
:inline="true"
|
:inline="true"
|
||||||
>
|
>
|
||||||
<el-form-item
|
<el-form-item label="分类编码" prop="trainingItemCode" label-width="120">
|
||||||
label="分类编码"
|
|
||||||
prop="trainingItemCode"
|
|
||||||
label-width="120"
|
|
||||||
>
|
|
||||||
<el-input
|
<el-input
|
||||||
v-model="trainingParentqueryParams.trainingItemCode"
|
v-model="trainingParentqueryParams.trainingItemCode"
|
||||||
placeholder="请输入分类编码"
|
placeholder="请输入分类编码"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item label="培训课程组名称" prop="trainingParentName" label-width="120">
|
||||||
label="培训课程组名称"
|
|
||||||
prop="trainingParentName"
|
|
||||||
label-width="120"
|
|
||||||
>
|
|
||||||
<el-input
|
<el-input
|
||||||
v-model="trainingParentqueryParams.trainingParentName"
|
v-model="trainingParentqueryParams.trainingParentName"
|
||||||
placeholder="请输入培训课程组名称"
|
placeholder="请输入培训课程组名称"
|
||||||
@ -268,16 +214,8 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="trainingParentinfo">搜索</el-button>
|
||||||
type="primary"
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuerylist">重置</el-button>
|
||||||
icon="el-icon-search"
|
|
||||||
size="mini"
|
|
||||||
@click="trainingParentinfo"
|
|
||||||
>搜索</el-button
|
|
||||||
>
|
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuerylist"
|
|
||||||
>重置</el-button
|
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
@ -308,20 +246,9 @@
|
|||||||
label="培训课程组名称"
|
label="培训课程组名称"
|
||||||
align="center"
|
align="center"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
>
|
></el-table-column>
|
||||||
</el-table-column>
|
<el-table-column property="trainingItemCode" label="培训分类编码" align="center"></el-table-column>
|
||||||
<el-table-column
|
<el-table-column property="trainingItemPrice" label="价格" align="center"></el-table-column>
|
||||||
property="trainingItemCode"
|
|
||||||
label="培训分类编码"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
property="trainingItemPrice"
|
|
||||||
label="价格"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
property="trainingItemType"
|
property="trainingItemType"
|
||||||
@ -346,7 +273,7 @@
|
|||||||
: ""
|
: ""
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column> -->
|
</el-table-column>-->
|
||||||
</el-table>
|
</el-table>
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total3 > 0"
|
v-show="total3 > 0"
|
||||||
@ -453,7 +380,7 @@
|
|||||||
:limit.sync="trainingCategoryqueryParams.pageSize"
|
:limit.sync="trainingCategoryqueryParams.pageSize"
|
||||||
@pagination="info"
|
@pagination="info"
|
||||||
/>
|
/>
|
||||||
</el-dialog> -->
|
</el-dialog>-->
|
||||||
<!-- 添加或修改学习培训课程信息对话框 -->
|
<!-- 添加或修改学习培训课程信息对话框 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
:title="!isEditFlag ? '添加学习培训课程信息' : '修改学习培训课程信息'"
|
:title="!isEditFlag ? '添加学习培训课程信息' : '修改学习培训课程信息'"
|
||||||
@ -461,13 +388,7 @@
|
|||||||
width="1300px"
|
width="1300px"
|
||||||
append-to-body
|
append-to-body
|
||||||
>
|
>
|
||||||
<el-form
|
<el-form ref="form" :model="form" :rules="rules" label-width="140px" :inline="true">
|
||||||
ref="form"
|
|
||||||
:model="form"
|
|
||||||
:rules="rules"
|
|
||||||
label-width="140px"
|
|
||||||
:inline="true"
|
|
||||||
>
|
|
||||||
<el-form-item label="培训课程名称" prop="trainingItemTitle">
|
<el-form-item label="培训课程名称" prop="trainingItemTitle">
|
||||||
<el-input
|
<el-input
|
||||||
style="width: 250px"
|
style="width: 250px"
|
||||||
@ -501,7 +422,7 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
type=""
|
type
|
||||||
v-if="form.trainingParentName == '请选择所属培训课程组'"
|
v-if="form.trainingParentName == '请选择所属培训课程组'"
|
||||||
@click="trainingParentitem()"
|
@click="trainingParentitem()"
|
||||||
style="
|
style="
|
||||||
@ -511,11 +432,10 @@
|
|||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
"
|
"
|
||||||
>{{ form.trainingParentName }}</el-button
|
>{{ form.trainingParentName }}</el-button>
|
||||||
>
|
|
||||||
<el-button
|
<el-button
|
||||||
@click="trainingParentitem()"
|
@click="trainingParentitem()"
|
||||||
type=""
|
type
|
||||||
v-else
|
v-else
|
||||||
style="
|
style="
|
||||||
width: 250px;
|
width: 250px;
|
||||||
@ -524,8 +444,7 @@
|
|||||||
padding-left: -10px;
|
padding-left: -10px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
"
|
"
|
||||||
>{{ form.trainingParentName }}</el-button
|
>{{ form.trainingParentName }}</el-button>
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item
|
<!-- <el-form-item
|
||||||
label="所属培训课程分类"
|
label="所属培训课程分类"
|
||||||
@ -563,7 +482,7 @@
|
|||||||
"
|
"
|
||||||
>{{ form.trainingCategoryName }}</el-button
|
>{{ form.trainingCategoryName }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item> -->
|
</el-form-item>-->
|
||||||
|
|
||||||
<el-form-item label="培训课程价格" prop="trainingItemPrice">
|
<el-form-item label="培训课程价格" prop="trainingItemPrice">
|
||||||
<el-input
|
<el-input
|
||||||
@ -577,12 +496,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="是否可以购买" prop="buyFlag">
|
<el-form-item label="是否可以购买" prop="buyFlag">
|
||||||
<el-select
|
<el-select v-model="form.buyFlag" placeholder="请选择" clearable style="width: 250px">
|
||||||
v-model="form.buyFlag"
|
|
||||||
placeholder="请选择"
|
|
||||||
clearable
|
|
||||||
style="width: 250px"
|
|
||||||
>
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in option"
|
v-for="item in option"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@ -612,7 +526,7 @@
|
|||||||
v-model="form.trainingItemCoverUrl"
|
v-model="form.trainingItemCoverUrl"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
/> -->
|
/>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="培训课程海报图片" prop="trainingItemPosterUrl">
|
<el-form-item label="培训课程海报图片" prop="trainingItemPosterUrl">
|
||||||
<stationAcatar
|
<stationAcatar
|
||||||
@ -625,7 +539,7 @@
|
|||||||
v-model="form.trainingItemPosterUrl"
|
v-model="form.trainingItemPosterUrl"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
/> -->
|
/>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -649,7 +563,7 @@
|
|||||||
style="width: 250px"
|
style="width: 250px"
|
||||||
v-model="form.trainingItemDetails"
|
v-model="form.trainingItemDetails"
|
||||||
placeholder="请输入培训课程详情"
|
placeholder="请输入培训课程详情"
|
||||||
/> -->
|
/>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -688,8 +602,7 @@
|
|||||||
type="date"
|
type="date"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
placeholder="请选择培训课程日期"
|
placeholder="请选择培训课程日期"
|
||||||
>
|
></el-date-picker>
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="培训课程开始时间"
|
label="培训课程开始时间"
|
||||||
@ -706,8 +619,7 @@
|
|||||||
selectableRange: '00:00:00 - 23:59:59',
|
selectableRange: '00:00:00 - 23:59:59',
|
||||||
}"
|
}"
|
||||||
placeholder="任意时间点"
|
placeholder="任意时间点"
|
||||||
>
|
></el-time-picker>
|
||||||
</el-time-picker>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="培训课程结束时间"
|
label="培训课程结束时间"
|
||||||
@ -725,29 +637,21 @@
|
|||||||
selectableRange: '00:00:00 - 23:59:59',
|
selectableRange: '00:00:00 - 23:59:59',
|
||||||
}"
|
}"
|
||||||
placeholder="任意时间点"
|
placeholder="任意时间点"
|
||||||
>
|
></el-time-picker>
|
||||||
</el-time-picker>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="培训课程地址"
|
label="培训课程地址"
|
||||||
prop="trainingItemAddress"
|
prop="trainingItemAddress"
|
||||||
v-if="form.trainingItemType == 'OFFLINE_TRAINING'"
|
v-if="form.trainingItemType == 'OFFLINE_TRAINING'"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input v-model="form.trainingItemAddress" placeholder="请输入培训课程地址" />
|
||||||
v-model="form.trainingItemAddress"
|
|
||||||
placeholder="请输入培训课程地址"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="报名须知"
|
label="报名须知"
|
||||||
prop="trainingItemNotes"
|
prop="trainingItemNotes"
|
||||||
v-if="form.trainingItemType == 'OFFLINE_TRAINING'"
|
v-if="form.trainingItemType == 'OFFLINE_TRAINING'"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input style="width: 250px" v-model="form.trainingItemNotes" placeholder="请输入报名须知" />
|
||||||
style="width: 250px"
|
|
||||||
v-model="form.trainingItemNotes"
|
|
||||||
placeholder="请输入报名须知"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-table
|
<el-table
|
||||||
v-if="form.trainingItemType == 'VIDEO_LEARNING'"
|
v-if="form.trainingItemType == 'VIDEO_LEARNING'"
|
||||||
@ -771,8 +675,7 @@
|
|||||||
},
|
},
|
||||||
]"
|
]"
|
||||||
>
|
>
|
||||||
<stationAcatar
|
<trainingAvatar
|
||||||
@imgUrl="imgUrl4"
|
|
||||||
@item="itemDirectoryUrl"
|
@item="itemDirectoryUrl"
|
||||||
:tovideo="scope.row.itemDirectoryUrl"
|
:tovideo="scope.row.itemDirectoryUrl"
|
||||||
:type="'itemDirectoryUrl'"
|
:type="'itemDirectoryUrl'"
|
||||||
@ -868,15 +771,8 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="text" @click="addPictureUrl"
|
<el-button size="mini" type="text" @click="addPictureUrl">新增</el-button>
|
||||||
>新增</el-button
|
<el-button size="mini" type="text" @click="delPictureUrl(scope.row)">删除</el-button>
|
||||||
>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
@click="delPictureUrl(scope.row)"
|
|
||||||
>删除</el-button
|
|
||||||
>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -898,16 +794,16 @@ import {
|
|||||||
delTrainingItem,
|
delTrainingItem,
|
||||||
addTrainingItem,
|
addTrainingItem,
|
||||||
updateTrainingItem,
|
updateTrainingItem,
|
||||||
updateTrainingShelfFlag,
|
updateTrainingShelfFlag
|
||||||
} from "@/api/system/trainingItem";
|
} from "@/api/system/trainingItem";
|
||||||
|
import trainingAvatar from "../trainingAvatar/index.vue";
|
||||||
import stationAcatar from "../stationAvatar/index.vue";
|
import stationAcatar from "../stationAvatar/index.vue";
|
||||||
import editor from "@/components/Editor";
|
import editor from "@/components/Editor";
|
||||||
import baseurl from "@/api/baseurl.js";
|
import baseurl from "@/api/baseurl.js";
|
||||||
import { updatePicture } from "@/api/system/station";
|
import { updatePicture } from "@/api/system/station";
|
||||||
export default {
|
export default {
|
||||||
name: "TrainingItem",
|
name: "TrainingItem",
|
||||||
components: { stationAcatar, editor },
|
components: { stationAcatar, editor, trainingAvatar },
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
@ -920,38 +816,38 @@ export default {
|
|||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
trainingItemCode: "",
|
trainingItemCode: "",
|
||||||
trainingParentName: "",
|
trainingParentName: ""
|
||||||
},
|
},
|
||||||
trainingCategoryqueryParams: {
|
trainingCategoryqueryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
trainingCategoryCode: "",
|
trainingCategoryCode: "",
|
||||||
trainingCategoryName: "",
|
trainingCategoryName: ""
|
||||||
},
|
},
|
||||||
option: [
|
option: [
|
||||||
{
|
{
|
||||||
value: 0,
|
value: 0,
|
||||||
label: "是",
|
label: "是"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 1,
|
value: 1,
|
||||||
label: "否",
|
label: "否"
|
||||||
},
|
}
|
||||||
],
|
],
|
||||||
value: "",
|
value: "",
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
value: "GRAPHIC_LEARNING",
|
value: "GRAPHIC_LEARNING",
|
||||||
label: "图文学习",
|
label: "图文学习"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: "LEARNING_ITEM_GROUP",
|
value: "LEARNING_ITEM_GROUP",
|
||||||
label: "学习培训课程组",
|
label: "学习培训课程组"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: "VIDEO_LEARNING",
|
value: "VIDEO_LEARNING",
|
||||||
label: "视频学习",
|
label: "视频学习"
|
||||||
},
|
}
|
||||||
// {
|
// {
|
||||||
// value: "LIVE_COURSES",
|
// value: "LIVE_COURSES",
|
||||||
// label: "直播课程",
|
// label: "直播课程",
|
||||||
@ -997,7 +893,7 @@ export default {
|
|||||||
trainingItemEndTime: null,
|
trainingItemEndTime: null,
|
||||||
trainingItemAddress: null,
|
trainingItemAddress: null,
|
||||||
trainingItemNotes: null,
|
trainingItemNotes: null,
|
||||||
trainingItemSort: null,
|
trainingItemSort: null
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {
|
form: {
|
||||||
@ -1007,9 +903,9 @@ export default {
|
|||||||
itemDirectoryTitle: null,
|
itemDirectoryTitle: null,
|
||||||
itemDirectoryUrl: null,
|
itemDirectoryUrl: null,
|
||||||
itemDirectoryIntroduce: null,
|
itemDirectoryIntroduce: null,
|
||||||
itemDirectorySort: null,
|
itemDirectorySort: null
|
||||||
},
|
}
|
||||||
],
|
]
|
||||||
},
|
},
|
||||||
imgtwo: "",
|
imgtwo: "",
|
||||||
imgone: "",
|
imgone: "",
|
||||||
@ -1026,7 +922,7 @@ export default {
|
|||||||
// { required: true, message: "请选择培训分类", trigger: "blur" },
|
// { required: true, message: "请选择培训分类", trigger: "blur" },
|
||||||
// ],
|
// ],
|
||||||
trainingItemTitle: [
|
trainingItemTitle: [
|
||||||
{ required: true, message: "请输入培训课程名称", trigger: "blur" },
|
{ required: true, message: "请输入培训课程名称", trigger: "blur" }
|
||||||
],
|
],
|
||||||
// trainingItemPrice: [
|
// trainingItemPrice: [
|
||||||
// { required: true, message: "请输入培训课程价格", trigger: "blur" },
|
// { required: true, message: "请输入培训课程价格", trigger: "blur" },
|
||||||
@ -1046,38 +942,38 @@ export default {
|
|||||||
// },
|
// },
|
||||||
// ],
|
// ],
|
||||||
trainingItemType: [
|
trainingItemType: [
|
||||||
{ required: true, message: "请选择培训课程类型", trigger: "blur" },
|
{ required: true, message: "请选择培训课程类型", trigger: "blur" }
|
||||||
],
|
],
|
||||||
trainingItemDetails: [
|
trainingItemDetails: [
|
||||||
{ required: true, message: "请输入培训课程详情", trigger: "blur" },
|
{ required: true, message: "请输入培训课程详情", trigger: "blur" }
|
||||||
],
|
],
|
||||||
trainingItemContent: [
|
trainingItemContent: [
|
||||||
{ required: true, message: "请输入培训课程内容", trigger: "blur" },
|
{ required: true, message: "请输入培训课程内容", trigger: "blur" }
|
||||||
],
|
],
|
||||||
trainingItemDate: [
|
trainingItemDate: [
|
||||||
{ required: true, message: "请输入培训课程日期", trigger: "blur" },
|
{ required: true, message: "请输入培训课程日期", trigger: "blur" }
|
||||||
],
|
],
|
||||||
trainingItemStartTime: [
|
trainingItemStartTime: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入培训课程开始时间",
|
message: "请输入培训课程开始时间",
|
||||||
trigger: "blur",
|
trigger: "blur"
|
||||||
},
|
}
|
||||||
],
|
],
|
||||||
trainingItemEndTime: [
|
trainingItemEndTime: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入培训课程结束时间",
|
message: "请输入培训课程结束时间",
|
||||||
trigger: "blur",
|
trigger: "blur"
|
||||||
},
|
}
|
||||||
],
|
],
|
||||||
trainingItemAddress: [
|
trainingItemAddress: [
|
||||||
{ required: true, message: "请输入培训课程地址", trigger: "blur" },
|
{ required: true, message: "请输入培训课程地址", trigger: "blur" }
|
||||||
],
|
]
|
||||||
// trainingItemSort: [
|
// trainingItemSort: [
|
||||||
// { required: true, message: "请输入培训课程排序", trigger: "blur" },
|
// { required: true, message: "请输入培训课程排序", trigger: "blur" },
|
||||||
// ],
|
// ],
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@ -1112,7 +1008,7 @@ export default {
|
|||||||
itemDirectoryUrl: null,
|
itemDirectoryUrl: null,
|
||||||
itemDirectoryIntroduce: null,
|
itemDirectoryIntroduce: null,
|
||||||
itemDirectorySort: null,
|
itemDirectorySort: null,
|
||||||
idd: this.idd,
|
idd: this.idd
|
||||||
};
|
};
|
||||||
if (this.form.trainingItemDirectoryList.length >= 5) {
|
if (this.form.trainingItemDirectoryList.length >= 5) {
|
||||||
this.$message.error("最多新增5条");
|
this.$message.error("最多新增5条");
|
||||||
@ -1127,19 +1023,17 @@ export default {
|
|||||||
if (this.form.trainingItemDirectoryList.length == 1) {
|
if (this.form.trainingItemDirectoryList.length == 1) {
|
||||||
this.$message.error("最后一条不可删除");
|
this.$message.error("最后一条不可删除");
|
||||||
} else {
|
} else {
|
||||||
this.form.trainingItemDirectoryList =
|
this.form.trainingItemDirectoryList = this.form.trainingItemDirectoryList.filter(
|
||||||
this.form.trainingItemDirectoryList.filter(
|
e => e.idd != item.idd
|
||||||
(e) => e.idd != item.idd
|
);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
} else if (!item.idd && item.trainingItemDirectoryId) {
|
} else if (!item.idd && item.trainingItemDirectoryId) {
|
||||||
if (this.form.trainingItemDirectoryList.length == 1) {
|
if (this.form.trainingItemDirectoryList.length == 1) {
|
||||||
this.$message.error("最后一条不可删除");
|
this.$message.error("最后一条不可删除");
|
||||||
} else {
|
} else {
|
||||||
this.form.trainingItemDirectoryList =
|
this.form.trainingItemDirectoryList = this.form.trainingItemDirectoryList.filter(
|
||||||
this.form.trainingItemDirectoryList.filter(
|
e => e.trainingItemDirectoryId != item.trainingItemDirectoryId
|
||||||
(e) => e.trainingItemDirectoryId != item.trainingItemDirectoryId
|
);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1148,20 +1042,19 @@ export default {
|
|||||||
itemDirectoryUrl(item) {
|
itemDirectoryUrl(item) {
|
||||||
let items = JSON.parse(item);
|
let items = JSON.parse(item);
|
||||||
if (items.idd && !items.trainingItemDirectoryId) {
|
if (items.idd && !items.trainingItemDirectoryId) {
|
||||||
this.form.trainingItemDirectoryList.forEach((e) => {
|
this.form.trainingItemDirectoryList.forEach(e => {
|
||||||
if (e.idd == items.idd) {
|
if (e.idd == items.idd) {
|
||||||
e.itemDirectoryUrl = items.itemDirectoryUrl;
|
e.itemDirectoryUrl = items.itemDirectoryUrl;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (!items.idd && items.attributeDetailsId) {
|
} else if (!items.idd && items.attributeDetailsId) {
|
||||||
this.form.trainingItemDirectoryList.forEach((e) => {
|
this.form.trainingItemDirectoryList.forEach(e => {
|
||||||
if (e.attributeDetailsId == items.attributeDetailsId) {
|
if (e.attributeDetailsId == items.attributeDetailsId) {
|
||||||
e.itemDirectoryUrl = items.itemDirectoryUrl;
|
e.itemDirectoryUrl = items.itemDirectoryUrl;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
imgUrl4(imgUrl) {},
|
|
||||||
imgs(item) {
|
imgs(item) {
|
||||||
console.log(item);
|
console.log(item);
|
||||||
this.imgsurl.pictureUrlList.push(item);
|
this.imgsurl.pictureUrlList.push(item);
|
||||||
@ -1182,7 +1075,7 @@ export default {
|
|||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
trainingCategoryCode: "",
|
trainingCategoryCode: "",
|
||||||
trainingParentName: "",
|
trainingParentName: ""
|
||||||
};
|
};
|
||||||
this.trainingParentinfo();
|
this.trainingParentinfo();
|
||||||
},
|
},
|
||||||
@ -1226,7 +1119,7 @@ export default {
|
|||||||
// 父级课程组
|
// 父级课程组
|
||||||
trainingParentinfo() {
|
trainingParentinfo() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
selectTrainingParent(this.trainingParentqueryParams).then((response) => {
|
selectTrainingParent(this.trainingParentqueryParams).then(response => {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
this.trainingParentlist = response.rows;
|
this.trainingParentlist = response.rows;
|
||||||
this.total3 = response.total;
|
this.total3 = response.total;
|
||||||
@ -1250,15 +1143,15 @@ export default {
|
|||||||
if (row.trainingShelfFlag == false) {
|
if (row.trainingShelfFlag == false) {
|
||||||
var obj = {
|
var obj = {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
trainingShelfFlag: 1,
|
trainingShelfFlag: 1
|
||||||
};
|
};
|
||||||
} else if (row.trainingShelfFlag == true) {
|
} else if (row.trainingShelfFlag == true) {
|
||||||
var obj = {
|
var obj = {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
trainingShelfFlag: 0,
|
trainingShelfFlag: 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
updateTrainingShelfFlag(obj).then((res) => {
|
updateTrainingShelfFlag(obj).then(res => {
|
||||||
if (obj.trainingShelfFlag == 0) {
|
if (obj.trainingShelfFlag == 0) {
|
||||||
this.$modal.msgSuccess("已修改上架状态为上架");
|
this.$modal.msgSuccess("已修改上架状态为上架");
|
||||||
} else {
|
} else {
|
||||||
@ -1270,9 +1163,9 @@ export default {
|
|||||||
/** 查询学习培训课程信息列表 */
|
/** 查询学习培训课程信息列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listTrainingItem(this.queryParams).then((response) => {
|
listTrainingItem(this.queryParams).then(response => {
|
||||||
this.trainingItemList = response.rows;
|
this.trainingItemList = response.rows;
|
||||||
response.rows.forEach((e) => {
|
response.rows.forEach(e => {
|
||||||
if (e.trainingShelfFlag == 0) {
|
if (e.trainingShelfFlag == 0) {
|
||||||
e.trainingShelfFlag = true;
|
e.trainingShelfFlag = true;
|
||||||
} else if (e.trainingShelfFlag == 1) {
|
} else if (e.trainingShelfFlag == 1) {
|
||||||
@ -1293,10 +1186,10 @@ export default {
|
|||||||
obj.pictureUrlList.push(this.form.trainingItemPosterUrl);
|
obj.pictureUrlList.push(this.form.trainingItemPosterUrl);
|
||||||
}
|
}
|
||||||
if (obj.pictureUrlList.length > 0) {
|
if (obj.pictureUrlList.length > 0) {
|
||||||
updatePicture(obj).then((res) => {});
|
updatePicture(obj).then(res => {});
|
||||||
}
|
}
|
||||||
if (this.imgsurl.pictureUrlList.length > 0) {
|
if (this.imgsurl.pictureUrlList.length > 0) {
|
||||||
updatePicture(this.imgsurl).then((res) => {});
|
updatePicture(this.imgsurl).then(res => {});
|
||||||
}
|
}
|
||||||
this.imgsurl = { pictureUrlList: [] };
|
this.imgsurl = { pictureUrlList: [] };
|
||||||
|
|
||||||
@ -1313,8 +1206,8 @@ export default {
|
|||||||
itemDirectoryUrl: null,
|
itemDirectoryUrl: null,
|
||||||
itemDirectoryIntroduce: null,
|
itemDirectoryIntroduce: null,
|
||||||
itemDirectorySort: null,
|
itemDirectorySort: null,
|
||||||
idd: this.idd,
|
idd: this.idd
|
||||||
},
|
}
|
||||||
],
|
],
|
||||||
trainingParentId: "",
|
trainingParentId: "",
|
||||||
id: null,
|
id: null,
|
||||||
@ -1340,7 +1233,7 @@ export default {
|
|||||||
createBy: null,
|
createBy: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
updateBy: null,
|
updateBy: null,
|
||||||
updateTime: null,
|
updateTime: null
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
@ -1357,7 +1250,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
this.ids = selection.map((item) => item.id);
|
this.ids = selection.map(item => item.id);
|
||||||
this.single = selection.length !== 1;
|
this.single = selection.length !== 1;
|
||||||
this.multiple = !selection.length;
|
this.multiple = !selection.length;
|
||||||
},
|
},
|
||||||
@ -1371,9 +1264,9 @@ export default {
|
|||||||
itemDirectoryTitle: null,
|
itemDirectoryTitle: null,
|
||||||
itemDirectoryUrl: null,
|
itemDirectoryUrl: null,
|
||||||
itemDirectoryIntroduce: null,
|
itemDirectoryIntroduce: null,
|
||||||
itemDirectorySort: null,
|
itemDirectorySort: null
|
||||||
},
|
}
|
||||||
],
|
]
|
||||||
};
|
};
|
||||||
this.reset();
|
this.reset();
|
||||||
this.open = true;
|
this.open = true;
|
||||||
@ -1384,13 +1277,13 @@ export default {
|
|||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
const id = row.id || this.ids;
|
const id = row.id || this.ids;
|
||||||
getTrainingItem(id).then((response) => {
|
getTrainingItem(id).then(response => {
|
||||||
var obj = {
|
var obj = {
|
||||||
itemDirectoryName: null,
|
itemDirectoryName: null,
|
||||||
itemDirectoryTitle: null,
|
itemDirectoryTitle: null,
|
||||||
itemDirectoryUrl: null,
|
itemDirectoryUrl: null,
|
||||||
itemDirectoryIntroduce: null,
|
itemDirectoryIntroduce: null,
|
||||||
itemDirectorySort: null,
|
itemDirectorySort: null
|
||||||
};
|
};
|
||||||
if (response.data.trainingItemDirectoryList.length == 0) {
|
if (response.data.trainingItemDirectoryList.length == 0) {
|
||||||
response.data.trainingItemDirectoryList.push(obj);
|
response.data.trainingItemDirectoryList.push(obj);
|
||||||
@ -1413,11 +1306,10 @@ export default {
|
|||||||
if (!this.form.trainingItemSort) {
|
if (!this.form.trainingItemSort) {
|
||||||
this.form.trainingItemSort = null;
|
this.form.trainingItemSort = null;
|
||||||
}
|
}
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.trainingItemStartTime) {
|
if (this.form.trainingItemStartTime) {
|
||||||
this.form.trainingItemStartTimeStr =
|
this.form.trainingItemStartTimeStr = this.form.trainingItemStartTime;
|
||||||
this.form.trainingItemStartTime;
|
|
||||||
} else {
|
} else {
|
||||||
this.form.trainingItemStartTimeStr = "00:00:00";
|
this.form.trainingItemStartTimeStr = "00:00:00";
|
||||||
}
|
}
|
||||||
@ -1428,7 +1320,7 @@ export default {
|
|||||||
this.form.trainingItemDirectoryList = [];
|
this.form.trainingItemDirectoryList = [];
|
||||||
}
|
}
|
||||||
if (this.form.trainingItemId != null) {
|
if (this.form.trainingItemId != null) {
|
||||||
updateTrainingItem(this.form).then((response) => {
|
updateTrainingItem(this.form).then(response => {
|
||||||
var obj = { pictureUrlList: [] };
|
var obj = { pictureUrlList: [] };
|
||||||
if (this.imgone != this.form.trainingItemCoverUrl) {
|
if (this.imgone != this.form.trainingItemCoverUrl) {
|
||||||
obj.pictureUrlList.push(this.imgone);
|
obj.pictureUrlList.push(this.imgone);
|
||||||
@ -1438,7 +1330,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.imgsurl = { pictureUrlList: [] };
|
this.imgsurl = { pictureUrlList: [] };
|
||||||
if (obj.pictureUrlList.length > 0) {
|
if (obj.pictureUrlList.length > 0) {
|
||||||
updatePicture(obj).then((res) => {});
|
updatePicture(obj).then(res => {});
|
||||||
}
|
}
|
||||||
if (response.code == 200) {
|
if (response.code == 200) {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
@ -1447,7 +1339,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
addTrainingItem(this.form).then((response) => {
|
addTrainingItem(this.form).then(response => {
|
||||||
if (response.code == 200) {
|
if (response.code == 200) {
|
||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
@ -1460,7 +1352,6 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
console.log(row);
|
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
const trainingItemTitles =
|
const trainingItemTitles =
|
||||||
row.trainingItemTitle || this.trainingItemTitles;
|
row.trainingItemTitle || this.trainingItemTitles;
|
||||||
@ -1468,7 +1359,7 @@ export default {
|
|||||||
.confirm(
|
.confirm(
|
||||||
'是否确认删除培训课程名称为"' + trainingItemTitles + '"的数据项?'
|
'是否确认删除培训课程名称为"' + trainingItemTitles + '"的数据项?'
|
||||||
)
|
)
|
||||||
.then(function () {
|
.then(function() {
|
||||||
return delTrainingItem(ids);
|
return delTrainingItem(ids);
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@ -1482,12 +1373,12 @@ export default {
|
|||||||
this.download(
|
this.download(
|
||||||
"system/trainingItem/export",
|
"system/trainingItem/export",
|
||||||
{
|
{
|
||||||
...this.queryParams,
|
...this.queryParams
|
||||||
},
|
},
|
||||||
`trainingItem_${new Date().getTime()}.xlsx`
|
`trainingItem_${new Date().getTime()}.xlsx`
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@ -51,7 +51,6 @@
|
|||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@ -65,14 +64,12 @@
|
|||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<right-toolbar
|
<right-toolbar
|
||||||
:showSearch.sync="showSearch"
|
:showSearch.sync="showSearch"
|
||||||
@queryTable="getList"
|
@queryTable="getList"
|
||||||
></right-toolbar>
|
></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="trainingOrderList"
|
:data="trainingOrderList"
|
||||||
@ -185,7 +182,6 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
v-show="total > 0"
|
v-show="total > 0"
|
||||||
:total="total"
|
:total="total"
|
||||||
@ -225,7 +221,6 @@
|
|||||||
:disabled="true"
|
:disabled="true"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="退款金额" prop="trainingOrderAmount">
|
<el-form-item label="退款金额" prop="trainingOrderAmount">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="query.trainingOrderAmount"
|
v-model="query.trainingOrderAmount"
|
||||||
@ -282,7 +277,6 @@
|
|||||||
<el-form-item label="订单金额" prop="trainingOrderAmount">
|
<el-form-item label="订单金额" prop="trainingOrderAmount">
|
||||||
<div class="text">{{ form.trainingOrderAmount }}</div>
|
<div class="text">{{ form.trainingOrderAmount }}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="下单方式" prop="trainingOrderChannel">
|
<el-form-item label="下单方式" prop="trainingOrderChannel">
|
||||||
<div class="text">{{ form.trainingOrderChannel }}</div>
|
<div class="text">{{ form.trainingOrderChannel }}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -370,8 +364,7 @@
|
|||||||
>
|
>
|
||||||
<div class="textdetails">{{ formlist.trainingItemDetails }}</div>
|
<div class="textdetails">{{ formlist.trainingItemDetails }}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item :label="
|
||||||
:label="
|
|
||||||
formlist.trainingItemType == 'GRAPHIC_LEARNING'
|
formlist.trainingItemType == 'GRAPHIC_LEARNING'
|
||||||
? '培训课程内容'
|
? '培训课程内容'
|
||||||
: formlist.trainingItemType == 'LEARNING_ITEM_GROUP'
|
: formlist.trainingItemType == 'LEARNING_ITEM_GROUP'
|
||||||
@ -532,7 +525,6 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
listTrainingOrder,
|
listTrainingOrder,
|
||||||
@ -577,7 +569,6 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
nurseStationshow: false,
|
nurseStationshow: false,
|
||||||
|
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: true,
|
loading: true,
|
||||||
innerrefund: false,
|
innerrefund: false,
|
||||||
@ -648,14 +639,13 @@ export default {
|
|||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
nurseStationId: null,
|
nurseStationId: null,
|
||||||
trainingOrderAmount: null,
|
|
||||||
nurseStationPersonId: null,
|
nurseStationPersonId: null,
|
||||||
nursePersonName: null,
|
nursePersonName: null,
|
||||||
trainingOrderNo: null,
|
trainingOrderNo: null,
|
||||||
trainingOrderStatus: null,
|
trainingOrderStatus: null,
|
||||||
trainingOrderAmount: null,
|
trainingOrderAmount: null,
|
||||||
trainingOrderChannel: null,
|
trainingOrderChannel: null,
|
||||||
trainingOrderTime: null,
|
trainingOrderTime: null
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
@ -832,7 +822,6 @@ export default {
|
|||||||
this.reset();
|
this.reset();
|
||||||
const id = row.id || this.ids;
|
const id = row.id || this.ids;
|
||||||
getTrainingOrder(id).then((response) => {
|
getTrainingOrder(id).then((response) => {
|
||||||
console.log(response);
|
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.form.trainingOrderDetailsList =
|
this.form.trainingOrderDetailsList =
|
||||||
response.data.trainingOrderDetailsList;
|
response.data.trainingOrderDetailsList;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user