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' 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) { export function addTrainingOrder(data) {

View File

@ -281,21 +281,23 @@
align="center" align="center"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
<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 == "LIVE_COURSES" ? "直播课程" : "" }} scope.row.trainingItemType == "GRAPHIC_LEARNING" ? "图文学习" : ""
{{ }}
scope.row.trainingItemType == "OFFLINE_TRAINING" ? "线下培训" : "" {{ scope.row.trainingItemType == "LIVE_COURSES" ? "直播课程" : "" }}
}} {{
{{ 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>
<el-table-column <el-table-column
property="trainingParentName" property="trainingParentName"
@ -562,8 +564,8 @@
v-if=" v-if="
form.trainingItemType == 'VIDEO_LEARNING' || form.trainingItemType == 'VIDEO_LEARNING' ||
form.trainingItemType == 'LIVE_COURSES' || form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'LEARNING_ITEM_GROUP' form.trainingItemType == 'LEARNING_ITEM_GROUP' ||
||!form.trainingItemType !form.trainingItemType
" "
> >
<el-input <el-input
@ -585,7 +587,7 @@
prop="trainingItemContent" prop="trainingItemContent"
v-if=" v-if="
this.form.trainingItemType == 'GRAPHIC_LEARNING' || this.form.trainingItemType == 'GRAPHIC_LEARNING' ||
form.trainingItemType == 'LEARNING_ITEM_GROUP'|| form.trainingItemType == 'LEARNING_ITEM_GROUP' ||
!form.trainingItemType !form.trainingItemType
" "
> >
@ -603,7 +605,6 @@
v-if=" v-if="
form.trainingItemType == 'LIVE_COURSES' || form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'OFFLINE_TRAINING' form.trainingItemType == 'OFFLINE_TRAINING'
" "
> >
<el-date-picker <el-date-picker
@ -622,7 +623,6 @@
v-if=" v-if="
form.trainingItemType == 'LIVE_COURSES' || form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'OFFLINE_TRAINING' form.trainingItemType == 'OFFLINE_TRAINING'
" "
> >
<el-time-picker <el-time-picker
@ -641,7 +641,6 @@
v-if=" v-if="
form.trainingItemType == 'LIVE_COURSES' || form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'OFFLINE_TRAINING' form.trainingItemType == 'OFFLINE_TRAINING'
" "
> >
<el-time-picker <el-time-picker
@ -658,8 +657,7 @@
<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" v-model="form.trainingItemAddress"
@ -669,8 +667,7 @@
<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" style="width: 250px"
@ -685,9 +682,8 @@
form.trainingItemType == 'VIDEO_LEARNING' || form.trainingItemType == 'VIDEO_LEARNING' ||
form.trainingItemType == 'LIVE_COURSES' || form.trainingItemType == 'LIVE_COURSES' ||
form.trainingItemType == 'GRAPHIC_LEARNING' || form.trainingItemType == 'GRAPHIC_LEARNING' ||
form.trainingItemType == 'OFFLINE_TRAINING' form.trainingItemType == 'OFFLINE_TRAINING' ||
|| !form.trainingItemType
!form.trainingItemType
" "
> >
<el-input <el-input
@ -699,9 +695,9 @@
<el-form-item <el-form-item
label="" label=""
prop="itemDirectoryUrl" prop="itemDirectoryUrl"
v-if="form.trainingItemType == 'VIDEO_LEARNING' v-if="
|| form.trainingItemType == 'VIDEO_LEARNING' || !form.trainingItemType
!form.trainingItemType" "
> >
<el-table <el-table
ref="trainingItemDirectoryList" ref="trainingItemDirectoryList"
@ -788,7 +784,7 @@ import {
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";
export default { export default {
name: "TrainingItem", name: "TrainingItem",
components: { stationAcatar, editor }, components: { stationAcatar, editor },
@ -896,7 +892,8 @@ export default {
}, },
], ],
}, },
imgtwo: "",
imgone: "",
imgsurl: { pictureUrlList: [] }, imgsurl: { pictureUrlList: [] },
trainingCategoryList: [], trainingCategoryList: [],
trainingParentlist: [], trainingParentlist: [],
@ -1109,6 +1106,21 @@ export default {
}, },
// //
cancel() { 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.open = false;
this.reset(); this.reset();
}, },
@ -1124,12 +1136,12 @@ export default {
itemDirectorySort: null, itemDirectorySort: null,
}, },
], ],
trainingParentId:null, trainingParentId: null,
id: null, id: null,
trainingCategoryName: "请选择培训分类", trainingCategoryName: "请选择培训分类",
trainingCategoryId: null, trainingCategoryId: null,
trainingItemTitle: "", trainingItemTitle: "",
trainingParentName:"", trainingParentName: "",
trainingItemCode: null, trainingItemCode: null,
trainingItemPrice: null, trainingItemPrice: null,
trainingItemCoverUrl: null, trainingItemCoverUrl: null,
@ -1202,6 +1214,8 @@ export default {
response.data.trainingItemDirectoryList.push(obj); response.data.trainingItemDirectoryList.push(obj);
} }
this.form = response.data; this.form = response.data;
this.imgone = this.form.trainingItemCoverUrl;
this.imgtwo = this.form.trainingItemPosterUrl;
this.open = true; this.open = true;
this.title = "修改学习培训项目信息"; this.title = "修改学习培训项目信息";
this.isEditFlag = true; this.isEditFlag = true;
@ -1217,11 +1231,25 @@ export default {
} else { } else {
this.form.trainingItemStartTimeStr = "00:00:00"; 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 = []; 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: [] };
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.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();

View File

@ -160,46 +160,22 @@
v-if="scope.row.trainingOrderStatus == 'PAY'" v-if="scope.row.trainingOrderStatus == 'PAY'"
>已付款</el-button >已付款</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 <el-button
type="warning" type="warning"
v-if="scope.row.trainingOrderStatus == 'WAIT_REFUND'" v-if="scope.row.trainingOrderStatus == 'WAIT_REFUND'"
>退款中</el-button >退款中</el-button
> >
<el-button
type="warning"
v-if="scope.row.trainingOrderStatus == 'REFUNDED'"
>退款成功</el-button
>
<el-button <el-button
type="danger" type="danger"
v-if="scope.row.trainingOrderStatus == 'CANCEL'" v-if="scope.row.trainingOrderStatus == 'CANCEL'"
>已取消</el-button >已取消</el-button
> >
<el-button
type="success"
v-if="scope.row.trainingOrderStatus == 'REFUNDED'"
>已退款</el-button
>
<!-- {{ scope.row.trainingOrderStatus == "WAIT_PAY" ? "待付款" : "" }} <!-- {{ scope.row.trainingOrderStatus == "WAIT_PAY" ? "待付款" : "" }}
{{ scope.row.trainingOrderStatus == "PAY" ? "已付款" : "" }} {{ scope.row.trainingOrderStatus == "PAY" ? "已付款" : "" }}
{{ scope.row.trainingOrderStatus == "WAIT_REFUND" ? "退款中" : "" }} {{ scope.row.trainingOrderStatus == "WAIT_REFUND" ? "退款中" : "" }}
@ -258,6 +234,15 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
>查看</el-button >查看</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 <!-- <el-button
size="mini" size="mini"
type="text" type="text"
@ -285,7 +270,63 @@
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
@ -336,9 +377,11 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="备注信息" prop="remark"> <el-form-item label="备注信息" prop="remark">
<el-input v-model="form.remark" <el-input
style="width: 250px" v-model="form.remark"
placeholder="请输入备注信息" /> style="width: 250px"
placeholder="请输入备注信息"
/>
</el-form-item> </el-form-item>
<!-- <el-form-item label="是否删除标识" prop="delFlag"> <!-- <el-form-item label="是否删除标识" prop="delFlag">
<el-select <el-select
@ -369,8 +412,10 @@
import { import {
listTrainingOrder, listTrainingOrder,
getTrainingOrder, getTrainingOrder,
refundInformation,
delTrainingOrder, delTrainingOrder,
trainingOrder, trainingOrder,
xylWeChatRefundNotify,
addTrainingOrder, addTrainingOrder,
updateTrainingOrder, updateTrainingOrder,
} from "@/api/system/trainingOrder"; } from "@/api/system/trainingOrder";
@ -381,6 +426,9 @@ export default {
return { return {
// //
loading: true, loading: true,
innerrefund: false,
query: {},
// //
ids: [], ids: [],
optiondeflag: [ optiondeflag: [
@ -444,6 +492,34 @@ export default {
this.getList(); this.getList();
}, },
methods: { 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() { getList() {
this.loading = true; this.loading = true;
@ -467,7 +543,7 @@ export default {
nurseStationPersonId: null, nurseStationPersonId: null,
nursePersonName: null, nursePersonName: null,
trainingOrderNo: null, trainingOrderNo: null,
trainingOrderStatus: "0", trainingOrderStatus: null,
trainingOrderAmount: null, trainingOrderAmount: null,
trainingOrderChannel: null, trainingOrderChannel: null,
trainingOrderTime: null, trainingOrderTime: null,