调整选课退费审批

This commit is contained in:
ywyonui 2025-09-22 11:00:11 +08:00
parent bf2b736d54
commit 2013b62832
5 changed files with 92 additions and 34 deletions

View File

@ -415,7 +415,6 @@ defineExpose({
background: #ffffff; background: #ffffff;
border-radius: 8rpx; border-radius: 8rpx;
transition: all 0.3s ease; transition: all 0.3s ease;
border: 1rpx solid #ebedf0;
&:active { &:active {
background: #f5f5f5; background: #f5f5f5;

View File

@ -137,6 +137,9 @@ const handleTransfer = async (data: any) => {
transferRef.value.closeDlg(); transferRef.value.closeDlg();
uni.hideLoading(); uni.hideLoading();
emit('transfer'); emit('transfer');
if (props.autoToMessage) {
goToMessage();
}
}; };
const handleDlgSubmit = async () => { const handleDlgSubmit = async () => {

View File

@ -15,7 +15,7 @@
class="remark-input" /> class="remark-input" />
</view> </view>
</view> </view>
<transferSpCsMgr ref="transferSpCsMgrRef" /> <TransferSpCsMgr ref="transferSpCsMgrRef" />
</view> </view>
<view class="popup-actions flex-row justify-end mt-4"> <view class="popup-actions flex-row justify-end mt-4">
<u-button class="mr-2" @click="closeDlg">取消</u-button> <u-button class="mr-2" @click="closeDlg">取消</u-button>

View File

@ -7,12 +7,32 @@
<!-- 课程信息卡片 --> <!-- 课程信息卡片 -->
<XkPaySuccessXkkc :dataList="xkTfQdList" /> <XkPaySuccessXkkc :dataList="xkTfQdList" />
<!-- 家长信息卡片 -->
<view class="xkTf-card">
<view class="card-title">家长信息</view>
<view class="card-body">
<view class="info-row">
<text class="label">家长姓名:</text>
<text class="value">{{ xkTf.jzXm }}</text>
</view>
<view class="info-row">
<text class="label">手机号:</text>
<text class="value">{{ xkTf.sjh }}</text>
</view>
</view>
</view>
<!-- 退费信息卡片 --> <!-- 退费信息卡片 -->
<view class="xkTf-card"> <view class="xkTf-card">
<view class="card-title">缴费信息</view>
<view class="card-body"> <view class="card-body">
<view class="info-column"> <view class="info-row">
<text class="label">退费说明:</text> <text class="label">开户人:</text>
<text class="value">{{ xkTf.tfSm }}</text> <text class="value">{{ xkTf.khrXm }}</text>
</view>
<view class="info-row">
<text class="label">银行账号:</text>
<text class="value">{{ xkTf.khZh }}</text>
</view> </view>
<view class="info-column"> <view class="info-column">
<text class="label">缴费凭证:</text> <text class="label">缴费凭证:</text>
@ -23,7 +43,7 @@
</view> </view>
</view> </view>
<!-- 审批流程 --> <!-- 审批流程 -->
<LcglSpList :yw-id="xkTf.id" yw-type="XK_TF" /> <LcglSp :yw-id="xkTf.id" yw-type="XK_TF" />
</view> </view>
<template #bottom> <template #bottom>
<view class="white-bg-color py-5"> <view class="white-bg-color py-5">
@ -42,7 +62,7 @@ import { useUserStore } from "@/store/modules/user";
import { imagUrl } from "@/utils"; import { imagUrl } from "@/utils";
import XkPayXs from "../components/XkPayXs/index.vue" import XkPayXs from "../components/XkPayXs/index.vue"
import XkPaySuccessXkkc from "../components/XkPaySuccessXkkc/index.vue" import XkPaySuccessXkkc from "../components/XkPaySuccessXkkc/index.vue"
import LcglSpList from "@/components/LcglSpList/index.vue"; import LcglSp from "@/components/LcglSp/index.vue";
import PreviewImage from "@/components/PreviewImage/index.vue"; import PreviewImage from "@/components/PreviewImage/index.vue";
import { getXkTfDetailByIdApi } from "@/api/base/xkTfApi"; import { getXkTfDetailByIdApi } from "@/api/base/xkTfApi";
import { xxtsFindByIdApi } from "@/api/base/xxtsApi"; import { xxtsFindByIdApi } from "@/api/base/xxtsApi";
@ -126,12 +146,21 @@ onLoad(async (data: any) => {
background-color: #f5f7fa; background-color: #f5f7fa;
.xkTf-card { .xkTf-card {
margin: 15px; margin: 0 30rpx;
background-color: #fff; margin-bottom: 30rpx;
border-radius: 8px; padding: 30rpx;
padding: 15px; background: #fff;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); border-radius: 16rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
.card-title {
font-size: 32rpx;
font-weight: bold;
margin-bottom: 30rpx;
color: #333;
border-bottom: 4rpx solid #007aff;
padding-bottom: 10rpx;
}
.card-body { .card-body {
.info-row { .info-row {

View File

@ -7,12 +7,32 @@
<!-- 课程信息卡片 --> <!-- 课程信息卡片 -->
<XkPaySuccessXkkc :dataList="xkTfQdList" /> <XkPaySuccessXkkc :dataList="xkTfQdList" />
<!-- 家长信息卡片 -->
<view class="xkTf-card">
<view class="card-title">家长信息</view>
<view class="card-body">
<view class="info-row">
<text class="label">家长姓名:</text>
<text class="value">{{ xkTf.jzXm }}</text>
</view>
<view class="info-row">
<text class="label">手机号:</text>
<text class="value">{{ xkTf.sjh }}</text>
</view>
</view>
</view>
<!-- 退费信息卡片 --> <!-- 退费信息卡片 -->
<view class="xkTf-card"> <view class="xkTf-card">
<view class="card-title">缴费信息</view>
<view class="card-body"> <view class="card-body">
<view class="info-column"> <view class="info-row">
<text class="label">退费说明:</text> <text class="label">开户人:</text>
<text class="value">{{ xkTf.tfSm }}</text> <text class="value">{{ xkTf.khrXm }}</text>
</view>
<view class="info-row">
<text class="label">银行账号:</text>
<text class="value">{{ xkTf.khZh }}</text>
</view> </view>
<view class="info-column"> <view class="info-column">
<text class="label">缴费凭证:</text> <text class="label">缴费凭证:</text>
@ -23,7 +43,7 @@
</view> </view>
</view> </view>
<!-- 审批流程 --> <!-- 审批流程 -->
<LcglSpList :yw-id="xkTf.id" yw-type="XK_TF" /> <LcglSp :yw-id="xkTf.id" yw-type="XK_TF" />
</view> </view>
<template #bottom> <template #bottom>
<YwConfirm :spApi="xkTfSpApi" :stopApi="xkTfStopApi" <YwConfirm :spApi="xkTfSpApi" :stopApi="xkTfStopApi"
@ -34,17 +54,15 @@
<script setup lang="ts"> <script setup lang="ts">
import { onLoad } from "@dcloudio/uni-app"; import { onLoad } from "@dcloudio/uni-app";
import { useUserStore } from "@/store/modules/user";
import { useDataStore } from "@/store/modules/data"; import { useDataStore } from "@/store/modules/data";
import { imagUrl } from "@/utils"; import { imagUrl } from "@/utils";
import XkPayXs from "../components/XkPayXs/index.vue" import XkPayXs from "../components/XkPayXs/index.vue"
import XkPaySuccessXkkc from "../components/XkPaySuccessXkkc/index.vue" import XkPaySuccessXkkc from "../components/XkPaySuccessXkkc/index.vue"
import LcglSpList from "@/components/LcglSpList/index.vue"; import LcglSp from "@/components/LcglSp/index.vue";
import PreviewImage from "@/components/PreviewImage/index.vue"; import PreviewImage from "@/components/PreviewImage/index.vue";
import YwConfirm from "@/pages/components/YwConfirm/index.vue"; import YwConfirm from "@/pages/components/YwConfirm/index.vue";
import { getXkTfDetailByIdApi, xkTfSpApi, xkTfStopApi, xkTfTransferApi } from "@/api/base/xkTfApi"; import { getXkTfDetailByIdApi, xkTfSpApi, xkTfStopApi, xkTfTransferApi } from "@/api/base/xkTfApi";
import { XkTfPageUtils } from "@/utils/xkTfPageUtils"; import { XkTfPageUtils } from "@/utils/xkTfPageUtils";
const { getJs } = useUserStore();
const { setTf, getXxts } = useDataStore(); const { setTf, getXxts } = useDataStore();
const curXs = ref<any>({}); const curXs = ref<any>({});
@ -118,12 +136,21 @@ onLoad(async (data?: any) => {
background-color: #f5f7fa; background-color: #f5f7fa;
.xkTf-card { .xkTf-card {
margin: 15px; margin: 0 30rpx;
background-color: #fff; margin-bottom: 30rpx;
border-radius: 8px; padding: 30rpx;
padding: 15px; background: #fff;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); border-radius: 16rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
.card-title {
font-size: 32rpx;
font-weight: bold;
margin-bottom: 30rpx;
color: #333;
border-bottom: 4rpx solid #007aff;
padding-bottom: 10rpx;
}
.card-body { .card-body {
.info-row { .info-row {