This commit is contained in:
闫晓茹 2023-04-25 17:12:57 +08:00
parent fe6a89a510
commit 8c1a82ec27
4 changed files with 306 additions and 97 deletions

View File

@ -8,6 +8,14 @@ export function listTrainingOrder(query) {
params: query
})
}
// 查看视频
export function orderItemDirectory(id) {
return request({
url: `/system/trainingOrder/orderItemDirectory?trainingOrderDetailsId=${id}`,
method: 'get',
})
}
// 查询学习培训订单主详细
export function getTrainingOrder(id) {
@ -50,13 +58,7 @@ export function updateTrainingOrder(data) {
data: data
})
}
// export function trainingOrder(id) {
// return request({
// url: `/system/trainingOrder/` + `?id=${id}`,
// method: 'get',
// })
// }
// 删除学习培训订单主
export function delTrainingOrder(id) {
return request({

View File

@ -103,9 +103,7 @@ export default {
},
created() {
this.uploadUrl = process.env.VUE_APP_BASE_API + this.url;
console.log(this.uploadUrl);
this.filetype.type = this.filetypes;
console.log(this.filetype);
},
computed: {
styles() {
@ -198,7 +196,8 @@ export default {
"image",
process.env.VUE_APP_BASE_API + res.fileName
);
this.$emit("imgs", res.fileName);
console.log(res)
this.$emit("imgs", res.imgUrl);
//
quill.setSelection(length + 1);
} else {

View File

@ -122,6 +122,12 @@
align="center"
prop="trainingItemCode"
/>
<el-table-column
property="trainingItemTitle"
label="培训课程名称"
align="center"
/>
<el-table-column
label="培训课程价格"
align="center"
@ -484,7 +490,10 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属培训课程组" prop="trainingParentId">
<el-form-item label="所属培训课程组" prop="trainingParentId" v-if="
form.trainingItemType == 'VIDEO_LEARNING' ||
form.trainingItemType == 'GRAPHIC_LEARNING'
">
<el-button
type=""
v-if="form.trainingParentName == '请选择所属培训课程组'"
@ -707,7 +716,7 @@
>
<el-input
v-model="form.trainingItemAddress"
placeholder="请输入培训课程地址"
placeholder="请输入培训课程地址"
/>
</el-form-item>
<el-form-item
@ -1018,42 +1027,29 @@ 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(item) {
console.log(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
);
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
);
this.form.trainingItemDirectoryList =
this.form.trainingItemDirectoryList.filter(
(e) => e.trainingItemDirectoryId != item.trainingItemDirectoryId
);
}
}
},
//
itemDirectoryUrl(item) {
let items = JSON.parse(item);
console.log(items);
@ -1073,7 +1069,7 @@ export default {
},
imgUrl4(imgUrl) {},
imgs(item) {
console.log(item)
console.log(item);
this.imgsurl.pictureUrlList.push(item);
},
addresetQuerylist() {
@ -1203,7 +1199,7 @@ export default {
updatePicture(obj).then((res) => {});
}
if (this.imgsurl.pictureUrlList.length > 0) {
updatePicture(this.imgsurl).then((res) => {});
updatePicture(this.imgsurl).then((res) => {});
}
this.imgsurl = { pictureUrlList: [] };

View File

@ -24,29 +24,43 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="护理员姓名" prop="nursePersonName">
<el-input
v-model="queryParams.nursePersonName"
placeholder="请输入护理员姓名"
<el-form-item label="护理员姓名" prop="nursePersonName">
<el-input
v-model="queryParams.nursePersonName"
placeholder="请输入护理员姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单编号" prop="trainingOrderNo">
<el-input
v-model="queryParams.trainingOrderNo"
placeholder="请输入订单编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单金额" prop="trainingOrderAmount">
<el-input
v-model="queryParams.trainingOrderAmount"
placeholder="请输入订单金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单状态" prop="trainingOrderStatus">
<el-select
v-model="queryParams.trainingOrderStatus"
placeholder="请选择订单状态"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单编号" prop="trainingOrderNo">
<el-input
v-model="queryParams.trainingOrderNo"
placeholder="请输入订单编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单金额" prop="trainingOrderAmount">
<el-input
v-model="queryParams.trainingOrderAmount"
placeholder="请输入订单金额"
clearable
@keyup.enter.native="handleQuery"
/>
>
<el-option
v-for="item in trainingOrderStatusoptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="下单方式手机AppMOBILE_APP微信小程序WECHAT_APPLET支付宝小程序ALI_PAY_APPLET" prop="trainingOrderChannel">
<el-input
@ -102,7 +116,7 @@
>修改</el-button
>
</el-col> -->
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button
type="danger"
plain
@ -113,7 +127,7 @@
v-hasPermi="['system:trainingOrder:remove']"
>删除</el-button
>
</el-col>
</el-col> -->
<!-- <el-col :span="1.5">
<el-button
type="warning"
@ -136,16 +150,17 @@
:data="trainingOrderList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="主键id" align="center" prop="id" />
<el-table-column label="护理站id" align="center" prop="nurseStationId" />
<el-table-column label="护理员表id" align="center" prop="nurseStationPersonId" /> -->
<el-table-column
label="护理员姓名"
align="center"
prop="nursePersonName"
/>
<el-table-column label="订单编号" align="center" prop="trainingOrderNo" />
<el-table-column
property="trainingItemTitle"
label="培训课程名称"
align="center"
/>
<el-table-column
label="订单状态"
align="center"
@ -165,7 +180,7 @@
v-if="scope.row.trainingOrderStatus == 'WAIT_REFUND'"
>退款中</el-button
>
<el-button
type="danger"
v-if="scope.row.trainingOrderStatus == 'CANCEL'"
@ -176,11 +191,6 @@
v-if="scope.row.trainingOrderStatus == 'REFUNDED'"
>已退款</el-button
>
<!-- {{ scope.row.trainingOrderStatus == "WAIT_PAY" ? "待付款" : "" }}
{{ scope.row.trainingOrderStatus == "PAY" ? "已付款" : "" }}
{{ scope.row.trainingOrderStatus == "WAIT_REFUND" ? "退款中" : "" }}
{{ scope.row.trainingOrderStatus == "REFUNDED" ? "已退款" : "" }}
{{ scope.row.trainingOrderStatus == "CANCEL" ? "已取消" : "" }} -->
</template>
</el-table-column>
@ -286,6 +296,14 @@
:disabled="true"
/>
</el-form-item>
<el-form-item label="培训课程名" prop="trainingItemTitle">
<el-input
style="width: 260px"
v-model="query.trainingItemTitle"
clearable
:disabled="true"
/>
</el-form-item>
<el-form-item label="护理站名称" prop="nurseStationName">
<el-input
style="width: 260px"
@ -294,6 +312,7 @@
:disabled="true"
/>
</el-form-item>
<el-form-item label="退款金额" prop="trainingOrderAmount">
<el-input
v-model="query.trainingOrderAmount"
@ -327,9 +346,20 @@
<el-button type="primary" @click="ordercacenl"> </el-button>
</div>
</el-dialog>
<!-- 添加或修改学习培训订单主对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<!-- 查看学习培训订单主对话框 -->
<el-dialog
:title="title"
:visible.sync="open"
width="1200px"
append-to-body
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="100px"
:inline="true"
>
<el-form-item label="护理员姓名" prop="nursePersonName">
<el-input
v-model="form.nursePersonName"
@ -376,35 +406,159 @@
>
</el-date-picker>
</el-form-item>
<el-form-item label="备注信息" prop="remark">
<!-- <el-form-item label="备注信息" prop="remark">
<el-input
v-model="form.remark"
style="width: 250px"
placeholder="请输入备注信息"
/>
</el-form-item>
<!-- <el-form-item label="是否删除标识" prop="delFlag">
<el-select
style="width: 250px"
v-model="form.trainingOrderChannel"
placeholder="请选择"
clearable
>
<el-option
v-for="item in optiondeflag"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item> -->
<el-table
:data="form.trainingOrderDetailsList"
align="center"
style="margin: 10px 0 20px 0; padding-bottom: 20px"
>
<el-table-column
prop="trainingItemTitle"
label="培训项目名称"
align="center"
></el-table-column>
<el-table-column
prop="trainingItemDetails"
label="培训项目详情"
align="center"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
prop="trainingItemContent"
label="培训项目内容"
align="center"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
prop="trainingItemType"
label="项目类型"
align="center"
>
<template slot-scope="scope">
{{
scope.row.trainingItemType == "VIDEO_LEARNING" ? "视频学习" : ""
}}
{{
scope.row.trainingItemType == "GRAPHIC_LEARNING"
? "图文学习"
: ""
}}
{{
scope.row.trainingItemType == "LIVE_COURSES" ? "直播课程" : ""
}}
{{
scope.row.trainingItemType == "OFFLINE_TRAINING"
? "线下培训"
: ""
}}
{{
scope.row.trainingItemType == "LEARNING_ITEM_GROUP"
? "学习培训课程组"
: ""
}}
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-zoom-in"
@click="handlelook(scope.row)"
>查看</el-button
>
</template>
</el-table-column>
</el-table>
<!-- <el-form-item label="培训项目名称" prop="trainingItemTitle">
<el-input
style="width: 250px"
v-model="item.trainingItemTitle"
placeholder="请输入培训项目名称"
/>
</el-form-item>
<el-form-item label="培训项目详情" prop="trainingItemDetails">
<el-input
type="textarea"
:rows="5"
style="width: 340px"
placeholder="请输入培训项目详情"
v-model="item.trainingItemDetails"
></el-input>
</el-form-item>
<el-form-item label="培训项目内容" prop="trainingItemContent">
<el-input
type="textarea"
:rows="5"
style="width: 340px"
placeholder="请输入培训项目详情"
v-model="item.trainingItemContent"
></el-input>
</el-form-item>
<el-form-item label="项目类型" prop="trainingItemType">
<el-select
style="width: 250px"
v-model="item.trainingItemType"
placeholder="请选择项目类型"
clearable
>
<el-option
v-for="item in trainingItemTypeoptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item> -->
<!-- </div> -->
</el-form>
<!-- <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div> -->
</el-dialog>
<!-- 查看视频图片 -->
<el-dialog
title="查看视频图片"
:visible.sync="innerrefundvideo"
append-to-body
width="1000px"
>
<el-form :inline="true" :rules="rules" label-width="130px">
<el-form-item label="培训课程海报图片" prop="trainingItemCoverUrl">
<img class="img" :src="baseurl + formlist.trainingItemCoverUrl" alt />
</el-form-item>
<el-form-item label="培训课程海报图片" prop="trainingItemPosterUrl">
<img
class="img"
:src="baseurl + formlist.trainingItemPosterUrl"
alt
/>
</el-form-item>
<el-form-item label="视频" prop="itemDirectoryUrl">
<video
class="img"
v-for="(item, index) in list"
:key="index"
:src="baseurl + item.itemDirectoryUrl"
controls="controls"
>
您的浏览器不支持视频播放
</video>
</el-form-item>
</el-form>
</el-dialog>
</div>
</template>
@ -412,23 +566,61 @@
import {
listTrainingOrder,
getTrainingOrder,
orderItemDirectory,
refundInformation,
delTrainingOrder,
trainingOrder,
xylWeChatRefundNotify,
addTrainingOrder,
updateTrainingOrder,
} from "@/api/system/trainingOrder";
import baseurl from "@/api/baseurl.js";
export default {
name: "TrainingOrder",
data() {
return {
baseurl: null,
trainingOrderStatusoptions: [
{
value: "WAIT_PAY",
label: "待付款",
},
{
value: "PAY",
label: "已付款",
},
{
value: "WAIT_REFUND",
label: "退款中",
},
{
value: "REFUNDED",
label: "已退款",
},
{
value: "CANCEL",
label: "已取消",
},
],
//
loading: true,
innerrefund: false,
innerrefundvideo: false,
query: {},
formlist: [],
trainingItemTypeoptions: [
{
value: "GRAPHIC_LEARNING",
label: "图文学习",
},
{
value: "LEARNING_ITEM_GROUP",
label: "学习培训项目组",
},
{
value: "VIDEO_LEARNING",
label: "视频学习",
},
],
//
ids: [],
optiondeflag: [
@ -484,12 +676,15 @@ export default {
},
//
form: {},
list: [],
trainingOrderDetailsList: [],
//
rules: {},
};
},
created() {
this.getList();
this.baseurl = baseurl;
},
methods: {
//
@ -502,7 +697,6 @@ export default {
refundInformation(row.id).then((response) => {
this.query = response.data;
this.innerrefund = true;
this.title = "退款";
});
},
//退
@ -534,7 +728,17 @@ export default {
this.open = false;
this.reset();
},
handlelook() {},
//
handlelook(row) {
this.innerrefundvideo = true;
console.log(row);
this.formlist.trainingItemCoverUrl = row.trainingItemCoverUrl;
this.formlist.trainingItemPosterUrl = row.trainingItemPosterUrl;
orderItemDirectory(row.trainingOrderDetailsId).then((response) => {
this.list = response.rows;
});
},
//
reset() {
this.form = {
@ -578,12 +782,14 @@ export default {
this.open = true;
this.title = "添加学习培训订单主";
},
/** 修改按钮操作 */
/** 查看按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getTrainingOrder(id).then((response) => {
this.form = response.data;
this.form.trainingOrderDetailsList =
response.data.trainingOrderDetailsList;
this.open = true;
this.title = "查看学习培训订单";
});
@ -635,4 +841,10 @@ export default {
},
};
</script>
<style lang="scss">
.img {
width: 150px;
height: 150px;
margin-left: 10px;
}
</style>