This commit is contained in:
闫晓茹 2023-04-24 18:14:09 +08:00
parent 33eb1e3387
commit 5330c1af40
3 changed files with 192 additions and 72 deletions

View File

@ -16,6 +16,22 @@ export function getTrainingOrder(id) {
method: 'get'
})
}
// 确定按钮
export function xylWeChatRefundNotify(data) {
return request({
url: '/nurseApp/weChatPayment/weChatRefundOrderApply',
method: 'post',
data: data
})
}
// 退款
export function refundInformation(id) {
return request({
url: `/system/trainingOrder/refundInformation` + `?id=${id}`,
method: 'get',
})
}
// 新增学习培训订单主
export function addTrainingOrder(data) {

View File

@ -274,28 +274,30 @@
align="center"
>
</el-table-column>
<el-table-column
property="trainingItemType"
label="培训项目类型"
align="center"
:show-overflow-tooltip="true"
>
<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>
<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
property="trainingParentName"
@ -562,8 +564,8 @@
v-if="
form.trainingItemType == 'VIDEO_LEARNING' ||
form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'LEARNING_ITEM_GROUP'
||!form.trainingItemType
form.trainingItemType == 'LEARNING_ITEM_GROUP' ||
!form.trainingItemType
"
>
<el-input
@ -585,7 +587,7 @@
prop="trainingItemContent"
v-if="
this.form.trainingItemType == 'GRAPHIC_LEARNING' ||
form.trainingItemType == 'LEARNING_ITEM_GROUP'||
form.trainingItemType == 'LEARNING_ITEM_GROUP' ||
!form.trainingItemType
"
>
@ -603,7 +605,6 @@
v-if="
form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'OFFLINE_TRAINING'
"
>
<el-date-picker
@ -622,7 +623,6 @@
v-if="
form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'OFFLINE_TRAINING'
"
>
<el-time-picker
@ -641,7 +641,6 @@
v-if="
form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'OFFLINE_TRAINING'
"
>
<el-time-picker
@ -658,8 +657,7 @@
<el-form-item
label="培训项目地址"
prop="trainingItemAddress"
v-if="form.trainingItemType == 'OFFLINE_TRAINING'
"
v-if="form.trainingItemType == 'OFFLINE_TRAINING'"
>
<el-input
v-model="form.trainingItemAddress"
@ -669,8 +667,7 @@
<el-form-item
label="报名须知"
prop="trainingItemNotes"
v-if="form.trainingItemType == 'OFFLINE_TRAINING'
"
v-if="form.trainingItemType == 'OFFLINE_TRAINING'"
>
<el-input
style="width: 250px"
@ -685,9 +682,8 @@
form.trainingItemType == 'VIDEO_LEARNING' ||
form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'GRAPHIC_LEARNING' ||
form.trainingItemType == 'OFFLINE_TRAINING'
||
!form.trainingItemType
form.trainingItemType == 'OFFLINE_TRAINING' ||
!form.trainingItemType
"
>
<el-input
@ -699,9 +695,9 @@
<el-form-item
label=""
prop="itemDirectoryUrl"
v-if="form.trainingItemType == 'VIDEO_LEARNING'
||
!form.trainingItemType"
v-if="
form.trainingItemType == 'VIDEO_LEARNING' || !form.trainingItemType
"
>
<el-table
ref="trainingItemDirectoryList"
@ -788,7 +784,7 @@ import {
import stationAcatar from "../stationAvatar/index.vue";
import editor from "@/components/Editor";
import baseurl from "@/api/baseurl.js";
import { updatePicture } from "@/api/system/station";
export default {
name: "TrainingItem",
components: { stationAcatar, editor },
@ -896,7 +892,8 @@ export default {
},
],
},
imgtwo: "",
imgone: "",
imgsurl: { pictureUrlList: [] },
trainingCategoryList: [],
trainingParentlist: [],
@ -1109,6 +1106,21 @@ export default {
},
//
cancel() {
var obj = { pictureUrlList: [] };
if (this.imgone != this.form.trainingItemCoverUrl) {
obj.pictureUrlList.push(this.form.trainingItemCoverUrl);
}
if (this.imgtwo != this.form.trainingItemPosterUrl) {
obj.pictureUrlList.push(this.form.trainingItemPosterUrl);
}
if (obj.pictureUrlList.length > 0) {
updatePicture(obj).then((res) => {});
}
// if (this.imgsurl.pictureUrlList.length > 0) {
updatePicture(this.imgsurl).then((res) => {});
// }
this.imgsurl = { pictureUrlList: [] };
this.open = false;
this.reset();
},
@ -1124,12 +1136,12 @@ export default {
itemDirectorySort: null,
},
],
trainingParentId:null,
trainingParentId: null,
id: null,
trainingCategoryName: "请选择培训分类",
trainingCategoryId: null,
trainingItemTitle: "",
trainingParentName:"",
trainingParentName: "",
trainingItemCode: null,
trainingItemPrice: null,
trainingItemCoverUrl: null,
@ -1202,6 +1214,8 @@ export default {
response.data.trainingItemDirectoryList.push(obj);
}
this.form = response.data;
this.imgone = this.form.trainingItemCoverUrl;
this.imgtwo = this.form.trainingItemPosterUrl;
this.open = true;
this.title = "修改学习培训项目信息";
this.isEditFlag = true;
@ -1217,11 +1231,25 @@ export default {
} else {
this.form.trainingItemStartTimeStr = "00:00:00";
}
if (this.form.trainingItemType == "GRAPHIC_LEARNING"||this.form.trainingItemType == "LEARNING_ITEM_GROUP") {
if (
this.form.trainingItemType == "GRAPHIC_LEARNING" ||
this.form.trainingItemType == "LEARNING_ITEM_GROUP"
) {
this.form.trainingItemDirectoryList = [];
}
if (this.form.trainingItemId != null) {
updateTrainingItem(this.form).then((response) => {
var obj = { pictureUrlList: [] };
if (this.imgone != this.form.trainingItemCoverUrl) {
obj.pictureUrlList.push(this.imgone);
}
if (this.imgtwo != this.form.trainingItemPosterUrl) {
obj.pictureUrlList.push(this.imgtwo);
}
this.imgsurl = { pictureUrlList: [] };
if (obj.pictureUrlList.length > 0) {
updatePicture(obj).then((res) => {});
}
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();

View File

@ -160,46 +160,22 @@
v-if="scope.row.trainingOrderStatus == 'PAY'"
>已付款</el-button
>
<el-button
type="primary"
v-if="scope.row.trainingOrderStatus == 'WAIT_DISPATCH'"
>待派单</el-button
>
<el-button
type="primary"
v-if="scope.row.trainingOrderStatus == 'WAIT_RECEIVE'"
>待接单</el-button
>
<el-button
type="primary"
v-if="scope.row.trainingOrderStatus == 'NOT_FINISH'"
>未完成</el-button
>
<el-button
type="primary"
v-if="scope.row.trainingOrderStatus == 'COMPLETE'"
>待评价</el-button
>
<el-button
type="success"
v-if="scope.row.trainingOrderStatus == 'EVALUATED'"
>服务完成</el-button
>
<el-button
type="warning"
v-if="scope.row.trainingOrderStatus == 'WAIT_REFUND'"
>退款中</el-button
>
<el-button
type="warning"
v-if="scope.row.trainingOrderStatus == 'REFUNDED'"
>退款成功</el-button
>
<el-button
type="danger"
v-if="scope.row.trainingOrderStatus == 'CANCEL'"
>已取消</el-button
>
<el-button
type="success"
v-if="scope.row.trainingOrderStatus == 'REFUNDED'"
>已退款</el-button
>
<!-- {{ scope.row.trainingOrderStatus == "WAIT_PAY" ? "待付款" : "" }}
{{ scope.row.trainingOrderStatus == "PAY" ? "已付款" : "" }}
{{ scope.row.trainingOrderStatus == "WAIT_REFUND" ? "退款中" : "" }}
@ -258,6 +234,15 @@
@click="handleUpdate(scope.row)"
>查看</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-error"
@click="cencel(scope.row)"
v-if="scope.row.trainingOrderStatus == 'PAY'"
>退款</el-button
>
<!-- <el-button
size="mini"
type="text"
@ -285,7 +270,63 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 退款弹框 -->
<el-dialog
title="退款"
:visible.sync="innerrefund"
append-to-body
width="500px"
>
<el-form :inline="true" :rules="rules" label-width="120px">
<el-form-item label="订单编号" prop="trainingOrderNo">
<el-input
style="width: 260px"
v-model="query.trainingOrderNo"
clearable
:disabled="true"
/>
</el-form-item>
<el-form-item label="护理站名称" prop="nurseStationName">
<el-input
style="width: 260px"
v-model="query.nurseStationName"
clearable
:disabled="true"
/>
</el-form-item>
<el-form-item label="退款金额" prop="trainingOrderAmount">
<el-input
v-model="query.trainingOrderAmount"
style="width: 260px"
clearable
:disabled="true"
/>
</el-form-item>
<el-form-item label="护理员姓名" prop="nursePersonName">
<el-input
v-model="query.nursePersonName"
style="width: 260px"
clearable
:disabled="true"
/>
</el-form-item>
<!-- <el-form-item label="退款原因" prop="cancelAppointmentReason">
<el-input
style="width: 260px"
v-model="query.cancelAppointmentReason"
placeholder
clearable
type="textarea"
:rows="5"
disabled
/>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cencelbtn"> </el-button>
<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">
@ -336,9 +377,11 @@
</el-date-picker>
</el-form-item>
<el-form-item label="备注信息" prop="remark">
<el-input v-model="form.remark"
style="width: 250px"
placeholder="请输入备注信息" />
<el-input
v-model="form.remark"
style="width: 250px"
placeholder="请输入备注信息"
/>
</el-form-item>
<!-- <el-form-item label="是否删除标识" prop="delFlag">
<el-select
@ -369,8 +412,10 @@
import {
listTrainingOrder,
getTrainingOrder,
refundInformation,
delTrainingOrder,
trainingOrder,
xylWeChatRefundNotify,
addTrainingOrder,
updateTrainingOrder,
} from "@/api/system/trainingOrder";
@ -381,6 +426,9 @@ export default {
return {
//
loading: true,
innerrefund: false,
query: {},
//
ids: [],
optiondeflag: [
@ -444,6 +492,34 @@ export default {
this.getList();
},
methods: {
//
cencelbtn() {
this.innerrefund = false;
},
// // 退
cencel(row) {
console.log(row);
refundInformation(row.id).then((response) => {
this.query = response.data;
this.innerrefund = true;
this.title = "退款";
});
},
//退
ordercacenl() {
var obj = {
orderNo: this.query.trainingOrderNo,
refundPrice: this.query.trainingOrderAmount,
trainingOrderFlag: "TRAINING",
};
xylWeChatRefundNotify(obj).then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("退款有延迟,请耐心等待");
}
this.getList();
this.innerrefund = false;
});
},
/** 查询学习培训订单主列表 */
getList() {
this.loading = true;
@ -467,7 +543,7 @@ export default {
nurseStationPersonId: null,
nursePersonName: null,
trainingOrderNo: null,
trainingOrderStatus: "0",
trainingOrderStatus: null,
trainingOrderAmount: null,
trainingOrderChannel: null,
trainingOrderTime: null,