This commit is contained in:
闫晓茹 2023-04-25 13:27:49 +08:00
parent 19aaeaafcc
commit fe6a89a510
2 changed files with 215 additions and 160 deletions

View File

@ -35,6 +35,8 @@
</el-form-item>
<el-form-item label="培训分类排序" prop="trainingCategorySort">
<el-input
oninput="value=value.replace(/[^\d]/g,'')"
maxlength="5"
v-model="queryParams.trainingCategorySort"
placeholder="请输入培训分类排序"
clearable
@ -199,6 +201,7 @@
</el-form-item>
<el-form-item label="培训分类排序" prop="trainingCategorySort">
<el-input
oninput="value=value.replace(/[^\d]/g,'')"
v-model.number="form.trainingCategorySort"
maxlength="5"
placeholder="请输入培训分类排序"

View File

@ -8,24 +8,37 @@
v-show="showSearch"
label-width="130px"
>
<el-form-item label="培训项目编号" prop="trainingItemCode">
<el-form-item label="培训课程编号" prop="trainingItemCode">
<el-input
v-model="queryParams.trainingItemCode"
placeholder="请输入培训项目编号"
placeholder="请输入培训课程编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="培训项目日期" prop="trainingItemDate">
<el-date-picker
<el-form-item label="培训课程名称" prop="trainingItemTitle">
<el-input
v-model="queryParams.trainingItemTitle"
placeholder="请输入培训课程名称"
clearable
v-model="queryParams.trainingItemDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择培训项目日期"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="培训课程类型" prop="trainingItemType">
<el-select
v-model="queryParams.trainingItemType"
placeholder="请选择"
clearable
style="width: 250px"
>
</el-date-picker>
</el-form-item> -->
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@ -100,22 +113,22 @@
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="学习培训项目组"
label="学习培训课程组"
align="center"
prop="trainingItemTitle"
/>
<el-table-column
label="培训项目编号"
label="培训课程编号"
align="center"
prop="trainingItemCode"
/>
<el-table-column
label="培训项目价格"
label="培训课程价格"
align="center"
prop="trainingItemPrice"
/>
<el-table-column
label="培训项目类型"
label="培训课程类型"
align="center"
prop="trainingItemType"
>
@ -130,7 +143,7 @@
}}
{{
scope.row.trainingItemType == "LEARNING_ITEM_GROUP"
? "学习培训项目组"
? "学习培训课程组"
: ""
}}
</template>
@ -147,7 +160,7 @@
</template>
</el-table-column>
<!-- <el-table-column
label="培训项目日期"
label="培训课程日期"
align="center"
prop="trainingItemDate"
width="180"
@ -159,21 +172,21 @@
</template>
</el-table-column>
<el-table-column
label="培训项目开始时间"
label="培训课程开始时间"
align="center"
prop="trainingItemStartTime"
width="180"
>
</el-table-column>
<el-table-column
label="培训项目结束时间"
label="培训课程结束时间"
align="center"
prop="trainingItemEndTime"
width="180"
>
</el-table-column> -->
<el-table-column
label="培训项目排序"
label="培训课程排序"
align="center"
prop="trainingItemSort"
/>
@ -210,9 +223,9 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 父级项目-->
<!-- 培训课程-->
<el-dialog
title="选择父级项目组"
title="选择培训课程组"
:visible.sync="innerVisiblepd"
width="1000px"
append-to-body
@ -236,6 +249,17 @@
clearable
/>
</el-form-item>
<el-form-item
label="培训课程组名称"
prop="trainingParentName"
label-width="120"
>
<el-input
v-model="trainingParentqueryParams.trainingParentName"
placeholder="请输入培训课程组名称"
clearable
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@ -272,6 +296,13 @@
></el-button>
</template>
</el-table-column>
<el-table-column
property="trainingParentName"
label="培训课程组名称"
align="center"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
property="trainingItemCode"
label="培训分类编码"
@ -285,9 +316,9 @@
>
</el-table-column>
<el-table-column
<!-- <el-table-column
property="trainingItemType"
label="培训项目类型"
label="培训课程类型"
align="center"
:show-overflow-tooltip="true"
>
@ -304,18 +335,11 @@
}}
{{
scope.row.trainingItemType == "LEARNING_ITEM_GROUP"
? "学习培训项目组"
? "学习培训课程组"
: ""
}}
</template>
</el-table-column>
<el-table-column
property="trainingParentName"
label="项目名称"
align="center"
:show-overflow-tooltip="true"
>
</el-table-column>
</el-table-column> -->
</el-table>
<pagination
v-show="total3 > 0"
@ -423,9 +447,9 @@
@pagination="info"
/>
</el-dialog>
<!-- 添加或修改学习培训项目信息对话框 -->
<!-- 添加或修改学习培训课程信息对话框 -->
<el-dialog
:title="!isEditFlag ? '添加学习培训项目信息' : '修改学习培训项目信息'"
:title="!isEditFlag ? '添加学习培训课程信息' : '修改学习培训课程信息'"
:visible.sync="open"
width="1300px"
append-to-body
@ -437,14 +461,14 @@
label-width="140px"
:inline="true"
>
<el-form-item label="培训项目标题" prop="trainingItemTitle">
<el-form-item label="培训课程名称" prop="trainingItemTitle">
<el-input
style="width: 250px"
v-model="form.trainingItemTitle"
placeholder="请输入培训项目标题"
placeholder="请输入培训课程名称"
/>
</el-form-item>
<el-form-item label="培训项目类型" prop="trainingItemType">
<el-form-item label="培训课程类型" prop="trainingItemType">
<el-select
v-model="form.trainingItemType"
placeholder="请选择"
@ -460,11 +484,39 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="培训分类" prop="trainingCategoryId">
<el-form-item label="所属培训课程组" prop="trainingParentId">
<el-button
type=""
v-if="form.trainingParentName == '请选择所属培训课程组'"
@click="trainingParentitem()"
style="
width: 250px;
text-align: left;
height: 36px;
color: #c0c4cc;
overflow: hidden;
"
>{{ form.trainingParentName }}</el-button
>
<el-button
@click="trainingParentitem()"
type=""
v-else
style="
width: 250px;
text-align: left;
height: 36px;
padding-left: -10px;
overflow: hidden;
"
>{{ form.trainingParentName }}</el-button
>
</el-form-item>
<el-form-item label="所属培训课程分类" prop="trainingCategoryId">
<el-button
type=""
:disabled="isEditFlag"
v-if="form.trainingCategoryName == '请选择培训分类'"
v-if="form.trainingCategoryName == '请选择培训课程分类'"
@click="clickitem()"
style="
width: 250px;
@ -491,41 +543,13 @@
>
</el-form-item>
<el-form-item label="培训项目价格" prop="trainingItemPrice">
<el-form-item label="培训课程价格" prop="trainingItemPrice">
<el-input
style="width: 250px"
v-model="form.trainingItemPrice"
placeholder="请输入培训项目价格"
placeholder="请输入培训课程价格"
/>
</el-form-item>
<el-form-item label="父级项目组" prop="trainingParentId">
<el-button
type=""
v-if="form.trainingParentName == '请选择父级项目组'"
@click="trainingParentitem()"
style="
width: 250px;
text-align: left;
height: 36px;
color: #c0c4cc;
overflow: hidden;
"
>{{ form.trainingParentName }}</el-button
>
<el-button
@click="trainingParentitem()"
type=""
v-else
style="
width: 250px;
text-align: left;
height: 36px;
padding-left: -10px;
overflow: hidden;
"
>{{ form.trainingParentName }}</el-button
>
</el-form-item>
<el-form-item label="是否可以购买" prop="buyFlag">
<el-select
@ -541,7 +565,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="培训项目logo图片" prop="trainingItemCoverUrl">
<el-form-item label="培训课程封面图片" prop="trainingItemCoverUrl">
<stationAcatar
style="width: 208px"
@imgUrl="imgUrl2"
@ -554,7 +578,7 @@
placeholder="请输入内容"
/> -->
</el-form-item>
<el-form-item label="培训项目海报图片" prop="trainingItemPosterUrl">
<el-form-item label="培训课程海报图片" prop="trainingItemPosterUrl">
<stationAcatar
style="width: 208px"
@imgUrl="imgUrl3"
@ -567,38 +591,50 @@
placeholder="请输入内容"
/> -->
</el-form-item>
<el-form-item label="培训课程排序" prop="trainingItemSort">
<el-input
oninput="value=value.replace(/[^\d]/g,'')"
maxlength="5"
style="width: 250px"
v-model="form.trainingItemSort"
placeholder="值越小,排名越靠前"
/>
</el-form-item>
<el-form-item
label="培训项目详情"
label="培训课程详情"
prop="trainingItemDetails"
v-if="
form.trainingItemType == 'VIDEO_LEARNING' ||
form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'LEARNING_ITEM_GROUP' ||
!form.trainingItemType
form.trainingItemType == 'LEARNING_ITEM_GROUP'
"
>
<el-input
type="textarea"
:rows="5"
style="width: 840px"
placeholder="请输入培训项目详情"
placeholder="请输入培训课程详情"
v-model="form.trainingItemDetails"
></el-input>
<!-- <el-input
style="width: 250px"
v-model="form.trainingItemDetails"
placeholder="请输入培训项目详情"
placeholder="请输入培训课程详情"
/> -->
</el-form-item>
<el-form-item
label="培训项目内容"
:label="
form.trainingItemType == 'GRAPHIC_LEARNING'
? '培训课程介绍'
: form.trainingItemType == 'LEARNING_ITEM_GROUP'
? '培训课程内容'
: ''
"
prop="trainingItemContent"
v-if="
this.form.trainingItemType == 'GRAPHIC_LEARNING' ||
form.trainingItemType == 'LEARNING_ITEM_GROUP' ||
!form.trainingItemType
form.trainingItemType == 'LEARNING_ITEM_GROUP'
"
>
<editor
@ -610,7 +646,7 @@
/>
</el-form-item>
<el-form-item
label="培训项目日期"
label="培训课程日期"
prop="trainingItemDate"
v-if="
form.trainingItemType == 'LIVE_COURSES' ||
@ -623,12 +659,12 @@
v-model="form.trainingItemDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择培训项目日期"
placeholder="请选择培训课程日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label="培训项目开始时间"
label="培训课程开始时间"
prop="trainingItemStartTime"
v-if="
form.trainingItemType == 'LIVE_COURSES' ||
@ -646,7 +682,7 @@
</el-time-picker>
</el-form-item>
<el-form-item
label="培训项目结束时间"
label="培训课程结束时间"
prop="trainingItemEndTime"
v-if="
form.trainingItemType == 'LIVE_COURSES' ||
@ -665,13 +701,13 @@
</el-time-picker>
</el-form-item>
<el-form-item
label="培训项目地址"
label="培训课程地址"
prop="trainingItemAddress"
v-if="form.trainingItemType == 'OFFLINE_TRAINING'"
>
<el-input
v-model="form.trainingItemAddress"
placeholder="请输入培训项目地址,"
placeholder="请输入培训课程地址,"
/>
</el-form-item>
<el-form-item
@ -685,23 +721,11 @@
placeholder="请输入报名须知"
/>
</el-form-item>
<el-form-item
label="培训项目排序"
prop="trainingItemSort"
>
<el-input
style="width: 250px"
v-model="form.trainingItemSort"
placeholder="请输入培训项目排序"
/>
</el-form-item>
<el-form-item
label=""
prop="itemDirectoryUrl"
v-if="
form.trainingItemType == 'VIDEO_LEARNING' || !form.trainingItemType
"
v-if="form.trainingItemType == 'VIDEO_LEARNING'"
>
<el-table
ref="trainingItemDirectoryList"
@ -738,6 +762,9 @@
<el-table-column label="章节内容简介" align="center" width="150">
<template slot-scope="scope">
<el-input
type="textarea"
:rows="5"
style="width: 140px"
v-model="scope.row.itemDirectoryIntroduce"
placeholder="请输入章节内容简介"
></el-input>
@ -746,6 +773,8 @@
<el-table-column label="章节排序" align="center" width="150">
<template slot-scope="scope">
<el-input
oninput="value=value.replace(/[^\d]/g,'')"
maxlength="5"
v-model="scope.row.itemDirectorySort"
placeholder="请输入章节排序"
></el-input>
@ -805,7 +834,8 @@ export default {
trainingParentqueryParams: {
pageNum: 1,
pageSize: 10,
trainingCategoryTitle: "",
trainingItemCode: "",
trainingParentName: "",
},
trainingCategoryqueryParams: {
pageNum: 1,
@ -831,7 +861,7 @@ export default {
},
{
value: "LEARNING_ITEM_GROUP",
label: "学习培训项目组",
label: "学习培训课程组",
},
{
value: "VIDEO_LEARNING",
@ -858,7 +888,7 @@ export default {
showSearch: true,
//
total: 0,
//
//
trainingItemList: [],
//
title: "",
@ -912,57 +942,57 @@ export default {
// { required: true, message: "", trigger: "blur" },
// ],
trainingItemTitle: [
{ required: true, message: "请输入培训项目标题", trigger: "blur" },
{ required: true, message: "请输入培训课程名称", trigger: "blur" },
],
trainingItemPrice: [
{ required: true, message: "请输入培训项目价格", trigger: "blur" },
],
trainingItemCoverUrl: [
{
required: true,
message: "请输入培训项目logo图片",
trigger: "blur",
},
],
trainingItemPosterUrl: [
{
required: true,
message: "请输入培训项目海报图片",
trigger: "blur",
},
],
// trainingItemType: [
// { required: true, message: "", trigger: "blur" },
// trainingItemPrice: [
// { required: true, message: "", trigger: "blur" },
// ],
// trainingItemCoverUrl: [
// {
// required: true,
// message: "logo",
// trigger: "blur",
// },
// ],
// trainingItemPosterUrl: [
// {
// required: true,
// message: "",
// trigger: "blur",
// },
// ],
trainingItemType: [
{ required: true, message: "请选择培训课程类型", trigger: "blur" },
],
trainingItemDetails: [
{ required: true, message: "请输入培训项目详情", trigger: "blur" },
{ required: true, message: "请输入培训课程详情", trigger: "blur" },
],
trainingItemContent: [
{ required: true, message: "请输入培训项目内容", trigger: "blur" },
{ required: true, message: "请输入培训课程内容", trigger: "blur" },
],
trainingItemDate: [
{ required: true, message: "请输入培训项目日期", trigger: "blur" },
{ required: true, message: "请输入培训课程日期", trigger: "blur" },
],
trainingItemStartTime: [
{
required: true,
message: "请输入培训项目开始时间",
message: "请输入培训课程开始时间",
trigger: "blur",
},
],
trainingItemEndTime: [
{
required: true,
message: "请输入培训项目结束时间",
message: "请输入培训课程结束时间",
trigger: "blur",
},
],
trainingItemAddress: [
{ required: true, message: "请输入培训项目地址", trigger: "blur" },
],
trainingItemSort: [
{ required: true, message: "请输入培训项目排序", trigger: "blur" },
{ required: true, message: "请输入培训课程地址", trigger: "blur" },
],
// trainingItemSort: [
// { required: true, message: "", trigger: "blur" },
// ],
},
};
},
@ -988,26 +1018,46 @@ export default {
}
},
//
delPictureUrl(index, item) {
if (this.form.trainingItemDirectoryList.length === 1) {
this.form.trainingItemDirectoryList = [
{
itemDirectoryName: null,
itemDirectoryTitle: null,
itemDirectoryUrl: null,
itemDirectoryIntroduce: null,
itemDirectorySort: null,
idd: this.idd,
},
];
} else {
this.form.trainingItemDirectoryList.splice(index, 1);
// delPictureUrl(index, item) {
// if (this.form.trainingItemDirectoryList.length === 1) {
// this.form.trainingItemDirectoryList = [
// {
// itemDirectoryName: null,
// itemDirectoryTitle: null,
// itemDirectoryUrl: null,
// itemDirectoryIntroduce: null,
// itemDirectorySort: null,
// idd: this.idd,
// },
// ];
// } else {
// this.form.trainingItemDirectoryList.splice(index, 1);
// }
// },
delPictureUrl(item) {
console.log(item)
if (item.idd && !item.trainingItemDirectoryId) {
if (this.form.trainingItemDirectoryList.length == 1) {
this.$message.error("最后一条不可删除");
} else {
this.form.trainingItemDirectoryList = this.form.trainingItemDirectoryList.filter(
e => e.idd != item.idd
);
}
} else if (!item.idd && item.trainingItemDirectoryId) {
if (this.form.trainingItemDirectoryList.length == 1) {
this.$message.error("最后一条不可删除");
} else {
this.form.trainingItemDirectoryList = this.form.trainingItemDirectoryList.filter(
e => e.trainingItemDirectoryId != item.trainingItemDirectoryId
);
}
}
},
itemDirectoryUrl(item) {
let items = JSON.parse(item);
console.log(items);
if (items.idd && !items.id) {
if (items.idd && !items.trainingItemDirectoryId) {
this.form.trainingItemDirectoryList.forEach((e) => {
if (e.idd == items.idd) {
e.itemDirectoryUrl = items.itemDirectoryUrl;
@ -1023,6 +1073,7 @@ export default {
},
imgUrl4(imgUrl) {},
imgs(item) {
console.log(item)
this.imgsurl.pictureUrlList.push(item);
},
addresetQuerylist() {
@ -1040,6 +1091,7 @@ export default {
pageNum: 1,
pageSize: 10,
trainingCategoryCode: "",
trainingParentName: "",
};
this.trainingParentinfo();
},
@ -1048,7 +1100,7 @@ export default {
this.info();
this.innerVisible = true;
},
//
//
trainingParentitem() {
this.trainingParentinfo();
this.innerVisiblepd = true;
@ -1064,7 +1116,7 @@ export default {
this.form.trainingCategoryName = row.trainingCategoryName;
this.innerVisible = false;
},
//
//
trainingParentitemlist(row) {
this.form.trainingParentId = row.id;
this.form.trainingParentName = row.trainingParentName;
@ -1080,7 +1132,7 @@ export default {
}
);
},
//
//
trainingParentinfo() {
this.loading = true;
selectTrainingParent(this.trainingParentqueryParams).then((response) => {
@ -1122,7 +1174,7 @@ export default {
this.getList();
});
},
/** 查询学习培训项目信息列表 */
/** 查询学习培训课程信息列表 */
getList() {
this.loading = true;
listTrainingItem(this.queryParams).then((response) => {
@ -1150,9 +1202,9 @@ export default {
if (obj.pictureUrlList.length > 0) {
updatePicture(obj).then((res) => {});
}
// if (this.imgsurl.pictureUrlList.length > 0) {
if (this.imgsurl.pictureUrlList.length > 0) {
updatePicture(this.imgsurl).then((res) => {});
// }
}
this.imgsurl = { pictureUrlList: [] };
this.open = false;
@ -1170,12 +1222,12 @@ export default {
itemDirectorySort: null,
},
],
trainingParentId: null,
trainingParentId: "",
id: null,
trainingCategoryName: "请选择培训分类",
trainingCategoryName: "请选择培训课程分类",
trainingCategoryId: null,
trainingItemTitle: "",
trainingParentName: "",
trainingParentName: "请选择所属培训课程组",
trainingItemCode: null,
trainingItemPrice: null,
trainingItemCoverUrl: null,
@ -1228,9 +1280,9 @@ export default {
],
};
this.reset();
this.open = true;
this.open = true;
this.isEditFlag = false;
this.title = "添加学习培训项目信息";
this.title = "添加学习培训课程信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -1251,7 +1303,7 @@ export default {
this.imgone = this.form.trainingItemCoverUrl;
this.imgtwo = this.form.trainingItemPosterUrl;
this.open = true;
this.title = "修改学习培训项目信息";
this.title = "修改学习培训课程信息";
this.isEditFlag = true;
});
},
@ -1302,7 +1354,7 @@ export default {
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除学习培训项目信息编号为"' + ids + '"的数据项?')
.confirm('是否确认删除学习培训课程信息编号为"' + ids + '"的数据项?')
.then(function () {
return delTrainingItem(ids);
})