Răsfoiți Sursa

20251016预测完毕上线版本

学习?学个屁 3 zile în urmă
părinte
comite
98f91ff724

+ 1 - 1
src/views/AccountManagement/Merchant/index.vue

@@ -4,7 +4,7 @@
     <BasicTable @register="registerTable" :rowSelection="rowSelection">
       <!--插槽:table标题-->
       <template #tableTitle>
-        <a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
+<!--        <a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>-->
       </template>
       <!--操作栏-->
       <template #action="{ record }">

+ 13 - 13
src/views/AccountManagement/accountManagement/SeparateAccounts.data.ts

@@ -90,19 +90,19 @@ export const formSchema: FormSchema[] = [
     component: 'InputNumber',
     slot: 'SeparateAccounts',
     required: true,
-    dynamicRules: ({ model, schema }) => {
-      return [
-        {
-          required: true,
-          validator: (_, value) => {
-            if (!model.ptSeparateAccounts || !model.shSeparateAccounts) {
-              return Promise.reject('请输入分账规则');
-            }
-            return Promise.resolve();
-          },
-        },
-      ];
-    },
+    // dynamicRules: ({ model, schema }) => {
+    //   return [
+    //     {
+    //       required: true,
+    //       validator: (_, value) => {
+    //         if (!model.ptSeparateAccounts || !model.shSeparateAccounts) {
+    //           return Promise.reject('请输入分账规则');
+    //         }
+    //         return Promise.resolve();
+    //       },
+    //     },
+    //   ];
+    // },
   },
   {
     label: '',

+ 1 - 0
src/views/businessManagement/competition/index.vue

@@ -134,6 +134,7 @@
   function handleViewCode(record) {
     console.log(record.id, '');
     CodeText.value = `https://api.qlapp.cn/useprogram/?id=${record.id}`;
+    console.log(CodeText.value, '赛事二维码链接')
     openCode.value = true;
   }
 

+ 6 - 1
src/views/businessManagement/gymnasiumBag/index.vue

@@ -51,6 +51,7 @@
   import { DemoOptionsItem } from '/@/api/demo/model/optionsModel';
   import ZtCustomTable from '/@/components/ZtCustomTable/index.vue';
   import { ScheduleArrangementColums } from './gymnasiumBag.data';
+  import { useTransitionSetting } from '/@/hooks/setting/useTransitionSetting';
   import { saveOrUpdate, queryById, Business, getProject } from './gymnasiumBag.api';
   import { ref } from 'vue';
   import { OriginalItem } from '/#/utils';
@@ -59,6 +60,7 @@
   import { storeToRefs } from 'pinia';
   const projectList = ref<DemoOptionsItem[]>([]);
   import { useUserStore } from '/@/store/modules/user';
+  import { useAppStore } from '/@/store/modules/app';
   const { userInfo, getIsMerchant } = storeToRefs(useUserStore());
   const { close: closeTab } = useTabs();
   const isSubmit = ref(false);
@@ -240,7 +242,6 @@
       const newData = mergeSameKeys(newDATA);
       uploadId.value = mergeSameKeysIds(categoryId);
       console.log(uploadId.value, '数据');
-
       categoryIdList.forEach((it, idx) => {
         filed[it] = newData[it];
         filed[`inventory${it}`] = res.appSiteCategoryRuleDTOS[idx].count;
@@ -265,6 +266,7 @@
     const form = await getFieldsValue();
     await validate();
     if (!validateInventoryFields(form)) return message.error('请填写完整包场时间');
+    useAppStore().setPageLoading(true);
     const categoryList = form.categoryId.split(',');
     const newObj = {
       appSitePlaceCuDTO: {
@@ -272,6 +274,7 @@
         earlyRefundTime: form.earlyRefundTime,
         reminder: form.reminder,
         siteId: form.name,
+        refundType: 1,
       },
       appSiteCategoryRuleDTOS: categoryList.map((it) => {
         const appSiteRuleTimeFormDTOList = form[it].map((items) => extractRefs(items.editValueRefs));
@@ -294,8 +297,10 @@
     try {
       await saveOrUpdate(newObj, isUpdate.value);
       isSubmit.value = false;
+      useAppStore().setPageLoading(false);
     } catch (error) {
       isSubmit.value = false;
+      useAppStore().setPageLoading(false);
     }
   }
   async function getProjectData() {

+ 2 - 2
src/views/businessManagement/schoolOpen/index.vue

@@ -18,7 +18,7 @@
           <Divider></Divider>
           <div class="p-20px flex">
             <div>
-              <QRCode :value="`https://api.qlapp.cn/school/?placeId=${siteId}`" ref="qrcodeCanvasRef" />
+              <QRCode :value="`https://api.qlapp.cn/schoolOrder/?placeId=${siteId}`" ref="qrcodeCanvasRef" />
               <a-button type="link" block class="mt20px" @click="downloadImage">下载图片</a-button>
             </div>
           </div>
@@ -155,7 +155,7 @@
   function handleCommonSet(res) {
     // console.log( res,'获取数据')
     siteId.value=res.siteId
-    console.log( siteId.value,'获取到的siteid')
+    console.log( `https://api.qlapp.cn/school/?placeId=${siteId.value}`,'获取到的siteid')
     setFieldsValue({
       ...res,
       insureIds: res.insureIds.split(','),

+ 1 - 1
src/views/businessManagement/schoolOpen/schoolOpen.data.ts

@@ -117,7 +117,7 @@ export const formSchema: FormSchema[] = [
   {
     field: 'reminder',
     label: '使用须知',
-    component: 'InputTextArea',
+    component: 'JEditor',
     required: true,
     labelWidth: 120,
     colProps: {

+ 0 - 1
src/views/demo/comp/loading/index.vue

@@ -26,7 +26,6 @@
     components: { Loading, PageWrapper, [Alert.name]: Alert },
     setup() {
       const wrapEl = ref<ElRef>(null);
-
       const loadingRef = ref(false);
       const compState = reactive({
         absolute: false,

+ 59 - 18
src/views/orderManagement/order/index.vue

@@ -73,6 +73,9 @@
   <a-modal v-model:open="openExportData" title="导出赛事名单" @ok="handleExportData" :confirmLoading="exportLoading">
     <BasicForm :showActionButtonGroup="false" @register="registerForm" style="margin: 50px 50px 0 50px" />
   </a-modal>
+  <a-modal v-model:open="orderRefund" title="发起退款" @ok="handleRefund" :confirmLoading="RefundLoading">
+    <BasicForm :showActionButtonGroup="false" @register="refundFrom" required style="margin: 50px 50px 0 50px" />
+  </a-modal>
 </template>
 
 <script setup lang="ts">
@@ -84,7 +87,7 @@
   import { useModal } from '/@/components/Modal';
   import { useListPage } from '/@/hooks/system/useListPage';
   import { columns, searchFormSchema, afterSaleStatus, orderStatus } from './order.data';
-  import { list, exportData, queryEvents, queryProject, putProfitSharing, putQueryProfitSharing } from './order.api';
+  import { list, exportData, queryEvents, queryProject, putProfitSharing, putQueryProfitSharing, submitOrderRefund } from './order.api';
   import { useUserStore } from '/@/store/modules/user';
   import { useMessage } from '/@/hooks/web/useMessage';
 
@@ -156,22 +159,20 @@
         },
       },
     },
-    // {
-    //   label: '报名结束时间',
-    //   field: 'entryTime',
-    //   component: 'RangePicker',
-    //   labelWidth: 100,
-    //   required: true,
-    //   componentProps: {
-    //     onChange: (value) => {
-    //       exportQueryParam.startTime = value[0];
-    //       exportQueryParam.endTime = value[1];
-    //       console.log(value);
-    //     },
-    //   },
-    // },
   ];
 
+  const formRefundSchemas: FormSchema[] = [
+    {
+      label: '退款原因',
+      field: 'refundReason',
+      component: 'Input',
+      required: true,
+      labelWidth: 100,
+      componentProps: {
+        placeholder: '请输入退款原因',
+      },
+    },
+  ];
   /**
    * BasicForm绑定注册;
    */
@@ -182,6 +183,12 @@
     submitButtonOptions: { text: '提交', preIcon: '' },
     actionColOptions: { span: 17 },
   });
+  const [refundFrom, { getFieldsValue, validate }] = useForm({
+    schemas: formRefundSchemas,
+    showResetButton: false,
+    submitButtonOptions: { text: '确认退款', preIcon: '' },
+    actionColOptions: { span: 17 },
+  });
 
   /**
    * 编辑事件
@@ -217,12 +224,37 @@
     await putQueryProfitSharing({ orderCode: record.orderCode });
   }
 
+  const orderRefund = ref();
+  const RefundLoading = ref(false);
+
+  function submitRefund(record) {
+    console.log('提交退款参数', record);
+    submitOrderRefundFrom.value.orderCode = record.orderCode;
+    orderRefund.value = true;
+  }
+
+  const submitOrderRefundFrom = ref({
+    orderCode: '',
+    reason: '',
+  });
+
+  async function handleRefund() {
+    await validate();
+    RefundLoading.value = true;
+    try {
+      const formData = await getFieldsValue();
+      submitOrderRefundFrom.value.reason = formData.refundReason;
+      await submitOrderRefund(submitOrderRefundFrom.value);
+      orderRefund.value = false;
+    } finally {
+      RefundLoading.value = false;
+    }
+  }
+
   /**
    * 操作栏
    */
   function getTableAction(record) {
-    console.log('表格数据', record);
-    console.log('分账:', record.orProfitSharing == 1 && record.profitSharingStatus == 0);
     return [
       {
         label: '查看',
@@ -232,13 +264,22 @@
       {
         label: '分账',
         onClick: handleConfirm.bind(null, record),
-        ifShow:record.orProfitSharing == 1 && record.profitSharingStatus == 0, //record.orProfitSharing:0:不支持分账 1:支持分账
+        ifShow:
+          record.orProfitSharing == 1 &&
+          record.profitSharingStatus == 0 &&
+          userStore.userInfo?.orgCode == 'A01' &&
+          (record.orderStatus == 1 || record.orderStatus == 2), //record.orProfitSharing:0:不支持分账 1:支持分账
       },
       {
         label: '查询分账',
         onClick: querySharingInfo.bind(null, record),
         ifShow: record.orProfitSharing == 1 && record.profitSharingStatus != 0,
       },
+      {
+        label: '退款',
+        onClick: submitRefund.bind(null, record),
+        ifShow: (record.orderType == 3 || record.orderType == 4) && (record.orderStatus == 1 || record.orderStatus == 2),
+      },
     ];
   }
 

+ 2 - 2
src/views/orderManagement/order/order.api.ts

@@ -8,7 +8,7 @@ enum Api {
   exportData = '/app/appOrder/exportCondition',
   profitSharing = '/app/appOrder/profitSharing',
   queryProfitSharing = '/app/appOrder/profitSharingReflush',
-
+  refund='/app/order/gameRefundOrder'
 }
 
 /**
@@ -16,7 +16,7 @@ enum Api {
  * @param params
  */
 export const list = (params) => defHttp.post({ url: Api.list, params });
-
+export const submitOrderRefund = (params) => defHttp.get({ url: Api.refund, params });
 export const queryByid = (orderId) => defHttp.get<AppOrderInfoVO>({ url: `${Api.queryByid}/${orderId}` });
 export const queryEvents = (params) => defHttp.get({ url: Api.queryEvents, params });
 export const queryProject = (params) => defHttp.get({ url: Api.queryProject, params });

+ 5 - 5
src/views/orderManagement/refundOrder/components/orderModelView.vue

@@ -1,5 +1,5 @@
 <template>
-  <BasicModal v-bind="$attrs" @register="registerModal" title="查看" width="1000px" destroyOnClose>
+  <BasicModal v-bind="$attrs" @register="registerModal" title="查看订单详情" width="1000px" destroyOnClose>
     <div class="px3 max-h-900px overflow-y-scroll" v-if="orderInfo">
       <div class="flex items-center font-semibold">
         <div>订单编号:{{ orderInfo.orderCode }}</div>
@@ -142,16 +142,16 @@
   import { TypographyTitle, Divider, Table, Descriptions, DescriptionsItem, StatisticCountdown } from 'ant-design-vue';
   import { computed, ref } from 'vue';
   import { BasicModal, useModalInner } from '/@/components/Modal';
-  import { queryByid, AppOrderInfoVO } from '../order.api';
-  import { orderStatus, orderColum, getColumText, verificationRecordColumns, gameScheduleVOListColumns } from '../order.data';
+  import { queryByid, AppOrderInfoVO } from '../refundOrder.api';
+  import { orderStatus, orderColum, getColumText, verificationRecordColumns, gameScheduleVOListColumns } from '../refundOrder.data';
   import dayjs from 'dayjs';
   const orderId = ref();
   const orderInfo = ref<AppOrderInfoVO>();
   const [registerModal, { setModalProps }] = useModalInner(async (data) => {
     setModalProps({ loading: true, showCancelBtn: false, showOkBtn: false });
     orderInfo.value = undefined;
-    orderId.value = data.record.id;
-    const res = await queryByid(data.record.id);
+    orderId.value = data.record.orderId;
+    const res = await queryByid(data.record.orderId);
     orderInfo.value = res;
     setModalProps({ loading: false });
   });

+ 86 - 0
src/views/orderManagement/refundOrder/components/refundOrderModelView.vue

@@ -0,0 +1,86 @@
+<template>
+  <BasicModal v-bind="$attrs" @register="registerModal" title="查看退款详情" width="1000px" destroyOnClose>
+    <div class="px3 max-h-900px overflow-y-scroll" v-if="orderInfo">
+      <TypographyTitle :level="5">订单信息</TypographyTitle>
+      <div class="w-full">
+        <Table :columns="orderCloumsData" :dataSource="orderInfo.refundOrderProInfoList" bordered :pagination="{ hideOnSinglePage: true }"></Table>
+      </div>
+    </div>
+  </BasicModal>
+</template>
+<script lang="ts" setup>
+  import { Image } from 'ant-design-vue';
+  import { TypographyTitle, Divider, Table, Descriptions, DescriptionsItem, StatisticCountdown } from 'ant-design-vue';
+  import { computed, ref } from 'vue';
+  import { BasicModal, useModalInner } from '/@/components/Modal';
+  import { queryByid, AppOrderInfoVO } from '../refundOrder.api';
+  import { orderStatus, orderColum, getColumText, verificationRecordColumns, gameScheduleVOListColumns } from '../refundOrder.data';
+  import dayjs from 'dayjs';
+  const orderId = ref();
+  const orderInfo = ref<AppOrderInfoVO>();
+  const [registerModal, { setModalProps }] = useModalInner(async (data) => {
+    setModalProps({ loading: true, showCancelBtn: false, showOkBtn: false });
+    // orderInfo.value = undefined;
+    // orderId.value = data.record.orderId;
+    // const res = await queryByid(data.record.orderId);
+    orderInfo.value = data.record;
+    console.log(orderInfo.value,'弹窗数据')
+    setModalProps({ loading: false });
+  });
+  const count = computed(() => {
+    return orderInfo.value?.proInfoList?.filter((it) => it.type != 6).length;
+  });
+  async function finish() {
+    const res = await queryByid(orderId.value);
+    orderInfo.value = res;
+  }
+  const normalClass = computed(() => {
+    const newList = orderInfo.value?.verificationRecordDTOList?.filter((it) => it.coursesType == 0);
+    return newList?.length ? newList[0].verificationRecordList : [];
+  });
+  const supplementClass = computed(() => {
+    const newList = orderInfo.value?.verificationRecordDTOList?.filter((it) => it.coursesType == 1);
+    return newList?.length ? newList[0].verificationRecordList : [];
+  });
+  const getGameCertification = computed(() => {
+    if (orderInfo.value?.gameCertification) {
+      return JSON.parse(orderInfo.value?.gameCertification);
+    }
+    return '';
+  });
+  const getImageList = computed(() => {
+    if (getGameCertification.value && getGameCertification.value.teamEmblemImg) {
+      console.log(getGameCertification.value.teamEmblemImg.split(','), 'getGameCertification.value.teamEmblemImg');
+      return getGameCertification.value.teamEmblemImg.split(',');
+    }
+    return [];
+  });
+  const orderCloumsData = computed(() => {
+    if (orderInfo.value?.orderType == 0) {
+      const newColum = [...orderColum];
+
+      newColum.splice(1, 1, {
+        title: '使用日期-时段',
+        dataIndex: 'useTime',
+        width: 380,
+        align: 'center',
+        customRender: ({ record }) => {
+          return record.type != 6 ? record.useDateStr + '-' + record.frameTimeStr : '无';
+        },
+      });
+      newColum.splice(2, 1, {
+        title: '使用人/联系电话',
+        dataIndex: 'useTime',
+        width: 380,
+        align: 'center',
+        customRender: ({ record }) => {
+          return record.type != 6 ? record.userName + '-' + record.userPhone : '无';
+        },
+      });
+      console.log(newColum, 'newColum');
+
+      return newColum;
+    }
+    return orderColum;
+  });
+</script>

+ 38 - 60
src/views/orderManagement/refundOrder/index.vue

@@ -6,25 +6,31 @@
     </template>
     <template #goods="{ record }">
       <div class="flex items-center h-20px text-16px">
-        <div class="font-semibold">订单编号:{{ record.orderCode }}</div>
-        <div class="ml3">下单时间:{{ record.createTime }}</div>
-        <div class="ml3 truncate w300px"
-          >店铺名称:
-
-          <a-tooltip>
-            <template #title>{{ record.orderType == 3 || record.orderType == 4 ? record.departName : record.siteName }} </template>
-            {{ record.orderType == 3 || record.orderType == 4 ? record.departName : record.siteName }}
-          </a-tooltip>
-        </div>
+        <a-descriptions :size="small">
+          <a-descriptions-item label="订单编号">
+            <a-tag color="orange">{{ record.orderCode }}</a-tag>
+          </a-descriptions-item>
+          <a-descriptions-item label="申请时间">{{ record.createTime }}</a-descriptions-item>
+        </a-descriptions>
+        <!--        <div class="ml3 truncate w300px"-->
+        <!--          >店铺名称:-->
+        <!--          <a-tooltip>-->
+        <!--            <template #title>{{ record.orderType == 3 || record.orderType == 4 ? record.departName : record.siteName }} </template>-->
+        <!--            {{ record.orderType == 3 || record.orderType == 4 ? record.departName : record.siteName }}-->
+        <!--          </a-tooltip>-->
+        <!--        </div>-->
       </div>
-      <div class="mt3 flex items-center border-b border-solid pb-3 h-90px" v-for="item in record.orderProInfoList" :key="item.id">
+      <div class="mt3 flex items-center border-b border-solid pb-3 h-90px" v-for="item in record.refundOrderProInfoList" :key="item.id">
         <Image :width="80" :height="80" class="rounded-16px" :src="item.productImage.split(',')[0]" v-if="item.productImage" />
         <div class="ml3">{{ item.productName }}</div>
+        <div class="ml3 font-semibold">
+          <a-tag color="cyan">退款编号:{{ item.appOrderRefundsInfo.outRefundNo }}</a-tag>
+        </div>
       </div>
     </template>
     <template #price="{ record }">
       <div class="h-20px"></div>
-      <div class="mt3 h-90px flex flex-col justify-center border-b border-solid" v-for="item in record.orderProInfoList" :key="item.id">
+      <div class="mt3 h-90px flex flex-col justify-center border-b border-solid" v-for="item in record.refundOrderProInfoList" :key="item.id">
         <div class="flex items-center" v-if="item.price > 0">
           <div>¥{{ item.price || 0 }}</div>
           <div class="line-through ml-3 text-gray">¥{{ item.originalPrice || 0 }}</div>
@@ -38,47 +44,43 @@
     </template>
     <template #user="{ record }">
       <div class="h-20px"></div>
-      <div class="mt3 h-90px flex flex-col justify-center border-b border-solid" v-for="item in record.orderProInfoList" :key="item.id">
+      <div class="mt3 h-90px flex flex-col justify-center border-b border-solid" v-for="item in record.refundOrderProInfoList" :key="item.id">
         <div>{{ item.userName || item.ticketNo || '无' }}</div>
         <div class="text-gray">{{ item.userPhone }}</div>
       </div>
     </template>
     <template #status="{ record }">
       <div class="h-20px"></div>
-      <div class="mt3 h-90px flex flex-col justify-center border-b border-solid" v-for="item in record.orderProInfoList" :key="item.id">
-        <div v-if="item.type != 6">{{ orderStatus[item.orderStatus] }}</div>
+      <div class="mt3 h-90px flex flex-col justify-center border-b border-solid" v-for="item in record.refundOrderProInfoList" :key="item.id">
+        <div v-if="item.type != 6">
+          <a-tag>{{ orderStatus[item.orderStatus] }}</a-tag>
+        </div>
         <div v-else>无</div>
       </div>
     </template>
     <template #After="{ record }">
       <div class="h-20px"></div>
-      <div class="mt3 h-90px flex flex-col justify-center border-b border-solid" v-for="item in record.orderProInfoList" :key="item.id">
+      <div class="mt3 h-90px flex flex-col justify-center border-b border-solid" v-for="item in record.refundOrderProInfoList" :key="item.id">
         <div v-if="item.type != 6">{{ afterSaleStatus[item.afterSaleStatus] }}</div>
         <div v-else>无</div>
       </div>
     </template>
-    <template #sharing="{ record }">
-      <a-tag color="pink" v-if="record.profitSharingStatus == 0">未分账</a-tag>
-      <a-tag color="cyan" v-if="record.profitSharingStatus == 1">分账中</a-tag>
-      <a-tag color="green" v-if="record.profitSharingStatus == 2">已分账</a-tag>
-    </template>
   </BasicTable>
   <orderModelView @register="registerModal"></orderModelView>
-  <a-modal v-model:open="openExportData" title="导出赛事名单" @ok="handleExportData" :confirmLoading="exportLoading">
-    <BasicForm :showActionButtonGroup="false" @register="registerForm" style="margin: 50px 50px 0 50px" />
-  </a-modal>
+  <refundOrderModelView @register="registerModalRefund"></refundOrderModelView>
 </template>
 
 <script setup lang="ts">
   import orderModelView from './components/orderModelView.vue';
+  import refundOrderModelView from './components/refundOrderModelView.vue';
   import { Image, message, Modal, QRCode } from 'ant-design-vue';
   import { ref, reactive, computed, unref } from 'vue';
   import { BasicTable, TableAction } from '/@/components/Table';
   import { useForm, BasicForm, FormSchema } from '/@/components/Form';
   import { useModal } from '/@/components/Modal';
   import { useListPage } from '/@/hooks/system/useListPage';
-  import { columns, searchFormSchema, afterSaleStatus, orderStatus } from './order.data';
-  import { list, exportData, queryEvents, queryProject, putProfitSharing } from './order.api';
+  import { columns, searchFormSchema, afterSaleStatus, orderStatus } from './refundOrder.data';
+  import { list, exportData, queryEvents, queryProject, putProfitSharing } from './refundOrder.api';
   import { useUserStore } from '/@/store/modules/user';
   import { useMessage } from '/@/hooks/web/useMessage';
 
@@ -87,6 +89,7 @@
   const userStore = useUserStore();
   //注册model
   const [registerModal, { openModal }] = useModal();
+  const [registerModalRefund, { openModal: openModalRefund }] = useModal();
   //注册table数据
   const { prefixCls, tableContext } = useListPage({
     tableProps: {
@@ -101,11 +104,11 @@
       },
       inset: true,
       actionColumn: {
-        width: 120,
+        width: 200,
         fixed: 'right',
       },
       beforeFetch: (params) => {
-        return Object.assign(params, { ...queryParam, orgCode: userStore.userInfo?.orgCode });
+        return Object.assign(params, { ...queryParam });
       },
     },
   });
@@ -150,20 +153,6 @@
         },
       },
     },
-    // {
-    //   label: '报名结束时间',
-    //   field: 'entryTime',
-    //   component: 'RangePicker',
-    //   labelWidth: 100,
-    //   required: true,
-    //   componentProps: {
-    //     onChange: (value) => {
-    //       exportQueryParam.startTime = value[0];
-    //       exportQueryParam.endTime = value[1];
-    //       console.log(value);
-    //     },
-    //   },
-    // },
   ];
 
   /**
@@ -178,7 +167,7 @@
   });
 
   /**
-   * 编辑事件
+   * 查看订单
    */
   function handleEdit(record: Recordable) {
     openModal(true, {
@@ -187,22 +176,11 @@
   }
 
   /**
-   * 确认分账
+   * 查看退款
    */
-  function handleConfirm(record) {
-    createWarningModal({
-      title: '提示',
-      content: '是否确认进行分账?',
-      okText: '确认',
-      cancelText: '取消',
-      okCancel: true,
-      onOk: async () => {
-        await putProfitSharing({ orderCode: record.orderCode });
-        await reload();
-      },
-      onCancel: () => {
-        reload();
-      },
+  function handleConfirm(record: Recordable) {
+    openModalRefund(true, {
+      record,
     });
   }
 
@@ -212,12 +190,12 @@
   function getTableAction(record) {
     return [
       {
-        label: '查看',
+        label: '查看订单',
         onClick: handleEdit.bind(null, record),
         // auth: 'feedback:nm_feedback:edit',
       },
       {
-        label: '分账',
+        label: '查看退款',
         onClick: handleConfirm.bind(null, record),
         isShow: record.orProfitSharing == 1,
       },

+ 1 - 1
src/views/orderManagement/refundOrder/order.api.ts → src/views/orderManagement/refundOrder/refundOrder.api.ts

@@ -1,7 +1,7 @@
 import { defHttp } from '/@/utils/http/axios';
 
 enum Api {
-  list = '/app/appOrder/queryPage',
+  list = '/app/appOrder/refundOrderPageList',
   queryByid = '/app/appOrder/queryInfoById',
   queryEvents = '/app/appOrder/exportConditionByName',
   queryProject = '/app/appOrder/exportConditionByProjectName',

+ 48 - 29
src/views/orderManagement/refundOrder/order.data.ts → src/views/orderManagement/refundOrder/refundOrder.data.ts

@@ -13,14 +13,14 @@ export const columns: BasicColumn[] = [
     slots: { customRender: 'goods' },
   },
   {
-    title: '价格/数量',
+    title: '实付金额/数量',
     align: 'left',
     dataIndex: 'phone',
     width: 120,
     slots: { customRender: 'price' },
   },
   {
-    title: '使用人',
+    title: '使用人/券号',
     align: 'center',
     dataIndex: 'feedbackType',
     width: 120,
@@ -29,7 +29,7 @@ export const columns: BasicColumn[] = [
   {
     title: '订单状态',
     align: 'center',
-    dataIndex: 'status',
+    dataIndex: 'orderStatus',
     width: 120,
     slots: { customRender: 'status' },
   },
@@ -40,20 +40,13 @@ export const columns: BasicColumn[] = [
     width: 120,
     slots: { customRender: 'After' },
   },
-  {
-    title: '分账状态',
-    align: 'center',
-    dataIndex: 'profitSharingStatus',
-    width: 120,
-    slots: { customRender: 'sharing' },
-  },
   {
     title: '实付金额',
     align: 'center',
-    dataIndex: 'createTime',
+    dataIndex: 'price',
     width: 120,
     customRender: ({ record }) => {
-      return h('div', {}, [h('div', {}, `¥${record.price || 0}`), h('div', { class: 'text-gray' }, `共${record.orderProInfoList.length}件`)]);
+      // return h('div', {}, [h('div', {}, `¥${record.price || 0}`), h('div', { class: 'text-gray' }, `共${record.orderProInfoList.length}件`)]);
     },
   },
 ];
@@ -64,11 +57,11 @@ export const searchFormSchema: FormSchema[] = [
     field: 'userPhone',
     component: 'Input',
   },
-  {
-    label: '退款编号',
-    field: 'orderCode',
-    component: 'Input',
-  },
+  // {
+  //   label: '退款编号',
+  //   field: 'orderCode',
+  //   component: 'Input',
+  // },
   {
     label: '订单编号',
     field: 'orderCode',
@@ -109,9 +102,9 @@ export const goodsType = [
 ];
 
 /**
- * 售后状态 0-暂无售后 1-待退款 1-已退款
+ * 售后状态 0-暂无售后 1-待退款 2-已退款 3-失败/异常
  */
-export const afterSaleStatus = ['暂无售后', '待退款', '已退款'];
+export const afterSaleStatus = ['暂无售后', '待退款', '已退款','失败/异常'];
 
 /**
  * 0-待付款 1-待使用 2-已使用 3-已到期 4-已取消 5-退款中 6已退款
@@ -121,16 +114,43 @@ export const orderStatus = ['待付款', '待使用', '已使用', '已到期',
 export const orderColum: TableColumnType[] = [
   {
     dataIndex: 'productName',
-    title: '商品名称',
+    title: '退款商品',
     align: 'center',
     width: 280,
   },
+  {
+    dataIndex: 'outRefundNo',
+    title: '退款编号',
+    align: 'center',
+    width: 280,
+    customRender: ({ record }) => {
+      return record.appOrderRefundsInfo.outRefundNo;
+    },
+  },
   {
     dataIndex: 'ticketNo',
-    title: '券号',
+    title: '使用人/券号',
     align: 'center',
     width: 180,
   },
+  {
+    dataIndex: 'createTime',
+    title: '申请时间',
+    align: 'center',
+    width: 280,
+    customRender: ({ record }) => {
+      return record.appOrderRefundsInfo.createTime;
+    },
+  },
+  {
+    dataIndex: 'reason',
+    title: '退款原因',
+    align: 'center',
+    width: 280,
+    customRender: ({ record }) => {
+      return record.appOrderRefundsInfo.reason;
+    },
+  },
   {
     dataIndex: 'originalPrice',
     title: '原价/元',
@@ -140,29 +160,28 @@ export const orderColum: TableColumnType[] = [
       return record.originalPrice || 0;
     },
   },
-
   {
-    dataIndex: 'orderStatus',
+    dataIndex: 'afterSaleStatus',
     title: '订单状态',
     align: 'center',
     customRender: ({ text, record }) => {
-      return record.type != 6 ? orderStatus[text] : '无';
+      return record.type != 6 ? afterSaleStatus[text] : '无';
     },
     width: 180,
   },
   {
-    dataIndex: 'quantity',
+    dataIndex: '1',
     title: '数量',
     align: 'center',
     width: 180,
+    customRender: ({ record }) => {
+      return '1';
+    },
   },
   {
     dataIndex: 'price',
-    title: '小计/元',
+    title: '实付金额',
     align: 'center',
-    customRender: ({ record }) => {
-      return (record.originalPrice ? record.originalPrice : 0) * record.quantity;
-    },
     width: 180,
   },
 ];

+ 2 - 2
src/views/system/loginmini/MiniLogin.vue

@@ -134,8 +134,8 @@
   //账号登录表单字段
   const formData = reactive<any>({
     inputCode: '',
-    username: 'admin',
-    password: '123456',
+    username: '', //admin
+    password: '', //123456
   });
   //手机登录表单字段
   const phoneFormData = reactive<any>({