增加card

This commit is contained in:
BabyBoy 2025-07-07 09:32:36 +08:00
parent dbbec1f099
commit 58b14305d0
22 changed files with 1645 additions and 1540 deletions

View File

@ -1,115 +1,120 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<div v-show="show"> <div v-show="show">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="申请状态" prop="status"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<DictRadio v-model="queryParams.status" radioData="oms_aftersale_status" :show-all="'all'" @change="handleQuery"></DictRadio> <el-form-item label="申请状态" prop="status">
</el-form-item> <DictRadio v-model="queryParams.status" radioData="oms_aftersale_status" :show-all="'all'" @change="handleQuery"></DictRadio>
<el-form-item label="售后类型" prop="type"> </el-form-item>
<DictRadio v-model="queryParams.type" radioData="oms_aftersale_type" :show-all="'all'" @change="handleQuery"></DictRadio> <el-form-item label="售后类型" prop="type">
</el-form-item> <DictRadio v-model="queryParams.type" radioData="oms_aftersale_type" :show-all="'all'" @change="handleQuery"></DictRadio>
<el-form-item label="订单号" prop="orderSn"> </el-form-item>
<el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单号" clearable @keyup.enter="handleQuery" /> <el-form-item label="订单号" prop="orderSn">
</el-form-item> <el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单号" clearable @keyup.enter="handleQuery" />
<el-form-item label="售后单号" prop="id"> </el-form-item>
<el-input v-model.trim="queryParams.id" placeholder="请输入售后单号" clearable @keyup.enter="handleQuery" /> <el-form-item label="售后单号" prop="id">
</el-form-item> <el-input v-model.trim="queryParams.id" placeholder="请输入售后单号" clearable @keyup.enter="handleQuery" />
<el-form-item label="会员手机号" prop="userPhone"> </el-form-item>
<el-input v-model.trim="queryParams.userPhone" placeholder="请输入会员手机号" clearable @keyup.enter="handleQuery" /> <el-form-item label="会员手机号" prop="userPhone">
</el-form-item> <el-input v-model.trim="queryParams.userPhone" placeholder="请输入会员手机号" clearable @keyup.enter="handleQuery" />
<el-form-item label="创建时间" prop="Time"> </el-form-item>
<el-date-picker <el-form-item label="创建时间" prop="Time">
v-model="queryParams.Time" <el-date-picker
type="datetimerange" v-model="queryParams.Time"
:picker-options="pickerOptions" type="datetimerange"
range-separator="至" :picker-options="pickerOptions"
format="yyyy-MM-dd HH:mm:ss" range-separator="至"
value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期" value-format="yyyy-MM-dd HH:mm:ss"
end-placeholder="结束日期" start-placeholder="开始日期"
:default-time="['00:00:00', '23:59:59']" end-placeholder="结束日期"
align="right" :default-time="['00:00:00', '23:59:59']"
@change="handleChange" align="right"
> @change="handleChange"
</el-date-picker> >
</el-form-item> </el-date-picker>
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
<el-table v-loading="loading" border :data="omsAftersaleList" @selection-change="handleSelectionChange"> </el-form>
<!-- <el-table-column type="selection" width="55" align="center" />--> </el-card>
<el-table-column label="售后单号" prop="id" width="160" /> <el-card shadow="hover">
<el-table-column label="申请状态" prop="aftersaleStatus" width="80"> <el-table v-loading="loading" border :data="omsAftersaleList" @selection-change="handleSelectionChange">
<template v-slot="scope"> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-tag effect="plain" size="default" :type="getAftersaleStatusTag(scope.row)">{{ getAftersaleStatusText(scope.row) }} </el-tag> <el-table-column label="售后单号" prop="id" width="160" />
</template> <el-table-column label="申请状态" prop="aftersaleStatus" width="80">
</el-table-column> <template v-slot="scope">
<el-table-column label="用户信息" prop="nickName" width="120"> <el-tag effect="plain" size="default" :type="getAftersaleStatusTag(scope.row)">{{ getAftersaleStatusText(scope.row) }} </el-tag>
<template v-slot="scope"> </template>
<div>{{ scope.row.nickName }}</div> </el-table-column>
<div>{{ scope.row.phone }}</div> <el-table-column label="用户信息" prop="nickName" width="120">
<div>{{ scope.row.mark }}</div> <template v-slot="scope">
</template> <div>{{ scope.row.nickName }}</div>
</el-table-column> <div>{{ scope.row.phone }}</div>
<el-table-column label="退款金额" prop="applyReturnAmount" width="120" /> <div>{{ scope.row.mark }}</div>
<el-table-column label="售后类型" prop="applyRefundType" width="80"> </template>
<template v-slot="scope"> </el-table-column>
<el-tag effect="plain" size="default" :type="getAftersaleTypeTag(scope.row)">{{ getAftersaleTypeText(scope.row) }} </el-tag> <el-table-column label="退款金额" prop="applyReturnAmount" width="120" />
</template> <el-table-column label="售后类型" prop="applyRefundType" width="80">
</el-table-column> <template v-slot="scope">
<el-table-column label="申请时间" prop="applyRefundTime" width="180"> <el-tag effect="plain" size="default" :type="getAftersaleTypeTag(scope.row)">{{ getAftersaleTypeText(scope.row) }} </el-tag>
<template v-slot="scope"> </template>
<span>{{ parseTime(scope.row.applyRefundTime, '') }}</span> </el-table-column>
</template> <el-table-column label="申请时间" prop="applyRefundTime" width="180">
</el-table-column> <template v-slot="scope">
<el-table-column label="处理时间" prop="handleTime" width="180"> <span>{{ parseTime(scope.row.applyRefundTime, '') }}</span>
<template v-slot="scope"> </template>
<span>{{ parseTime(scope.row.handleTime, '') }}</span> </el-table-column>
</template> <el-table-column label="处理时间" prop="handleTime" width="180">
</el-table-column> <template v-slot="scope">
<el-table-column label="原因" prop="reason" width="220" /> <span>{{ parseTime(scope.row.handleTime, '') }}</span>
<el-table-column label="处理备注" prop="note" width="150" /> </template>
<el-table-column label="处理人员" prop="handleMan" width="100" /> </el-table-column>
<el-table-column label="订单编号/操作" class-name="small-padding fixed-width" width="220" fixed="right"> <el-table-column label="原因" prop="reason" width="220" />
<template v-slot="scope"> <el-table-column label="处理备注" prop="note" width="150" />
<!-- <div> <el-table-column label="处理人员" prop="handleMan" width="100" />
<el-table-column label="订单编号/操作" class-name="small-padding fixed-width" width="220" fixed="right">
<template v-slot="scope">
<!-- <div>
{{ scope.row.orderSn }} {{ scope.row.orderSn }}
<el-link @click="copy(scope.row.orderSn)" :underline="false"><i class="el-icon-document-copy el-icon&#45;&#45;right"></i></el-link> <el-link @click="copy(scope.row.orderSn)" :underline="false"><i class="el-icon-document-copy el-icon&#45;&#45;right"></i></el-link>
</div>--> </div>-->
<el-button text type="primary" @click="handleDetail(scope.row.orderId)" v-hasPermi="['oms:aftersale:query']">详情 </el-button> <el-button text type="primary" @click="handleDetail(scope.row.orderId)" v-hasPermi="['oms:aftersale:query']">详情 </el-button>
<el-button text type="primary" @click="showLog(scope.row.orderId)" v-hasPermi="['oms:aftersale:log']">日志 </el-button> <el-button text type="primary" @click="showLog(scope.row.orderId)" v-hasPermi="['oms:aftersale:log']">日志 </el-button>
<el-button <el-button
text text
type="primary" type="primary"
@click="approve(scope.row, 1)" @click="approve(scope.row, 1)"
v-if="scope.row.aftersaleStatus == 0" v-if="scope.row.aftersaleStatus == 0"
v-hasPermi="['manager:oms:aftersale:update']" v-hasPermi="['manager:oms:aftersale:update']"
>同意 >同意
</el-button> </el-button>
<el-button <el-button
text text
type="primary" type="primary"
@click="handleOpen(scope.row, 2)" @click="handleOpen(scope.row, 2)"
class="red" class="red"
v-if="scope.row.aftersaleStatus == 0" v-if="scope.row.aftersaleStatus == 0"
v-hasPermi="['manager:oms:aftersale:update']" v-hasPermi="['manager:oms:aftersale:update']"
>拒绝 >拒绝
</el-button> </el-button>
<el-button <el-button
text text
type="primary" type="primary"
@click="confirmReceive(scope.row, 3)" @click="confirmReceive(scope.row, 3)"
v-if="scope.row.aftersaleStatus == 1 && scope.row.applyRefundType == 2" v-if="scope.row.aftersaleStatus == 1 && scope.row.applyRefundType == 2"
v-hasPermi="['manager:oms:aftersale:update']" v-hasPermi="['manager:oms:aftersale:update']"
>确认收货 >确认收货
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-if="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-if="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
</div> </div>
<!-- <SeeAdsComponent ref="seeAdsComponentRef" v-if="!show" @confirmOk="confirmOk"/>--> <!-- <SeeAdsComponent ref="seeAdsComponentRef" v-if="!show" @confirmOk="confirmOk"/>-->
<!-- 拒绝对话框 --> <!-- 拒绝对话框 -->

View File

@ -1,50 +1,54 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover">
<el-form-item label="MEMBER_ID" prop="memberId"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<el-input v-model="queryParams.memberId" placeholder="请输入MEMBER_ID" clearable @keyup.enter="handleQuery" /> <el-form-item label="MEMBER_ID" prop="memberId">
</el-form-item> <el-input v-model="queryParams.memberId" placeholder="请输入MEMBER_ID" clearable @keyup.enter="handleQuery" />
<el-form-item label="订单id" prop="orderId"> </el-form-item>
<el-input v-model="queryParams.orderId" placeholder="请输入订单id" clearable @keyup.enter="handleQuery" /> <el-form-item label="订单id" prop="orderId">
</el-form-item> <el-input v-model="queryParams.orderId" placeholder="请输入订单id" clearable @keyup.enter="handleQuery" />
<el-form-item label="子订单id" prop="orderItemId"> </el-form-item>
<el-input v-model="queryParams.orderItemId" placeholder="请输入子订单id" clearable @keyup.enter="handleQuery" /> <el-form-item label="子订单id" prop="orderItemId">
</el-form-item> <el-input v-model="queryParams.orderItemId" placeholder="请输入子订单id" clearable @keyup.enter="handleQuery" />
<el-form-item label="退款金额" prop="returnAmount"> </el-form-item>
<el-input v-model="queryParams.returnAmount" placeholder="请输入退款金额" clearable @keyup.enter="handleQuery" /> <el-form-item label="退款金额" prop="returnAmount">
</el-form-item> <el-input v-model="queryParams.returnAmount" placeholder="请输入退款金额" clearable @keyup.enter="handleQuery" />
<el-form-item label="退货数量" prop="quantity"> </el-form-item>
<el-input v-model="queryParams.quantity" placeholder="请输入退货数量" clearable @keyup.enter="handleQuery" /> <el-form-item label="退货数量" prop="quantity">
</el-form-item> <el-input v-model="queryParams.quantity" placeholder="请输入退货数量" clearable @keyup.enter="handleQuery" />
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
</el-card>
<el-row :gutter="10" class="mb8"> <el-card shadow="hover">
<el-col :span="1.5"> <template #header>
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['oms:aftersaleItem:add']">新增</el-button> <el-row :gutter="10" class="mb8">
</el-col> <el-col :span="1.5">
</el-row> <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['oms:aftersaleItem:add']">新增</el-button>
</el-col>
<el-table v-loading="loading" border :data="omsAftersaleItemList" @selection-change="handleSelectionChange"> </el-row>
<el-table-column type="selection" width="55" align="center" /> </template>
<el-table-column label="MEMBER_ID" align="center" prop="memberId" /> <el-table v-loading="loading" border :data="omsAftersaleItemList" @selection-change="handleSelectionChange">
<el-table-column label="订单id" align="center" prop="orderId" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="子订单id" align="center" prop="orderItemId" /> <el-table-column label="MEMBER_ID" align="center" prop="memberId" />
<el-table-column label="退款金额" align="center" prop="returnAmount" /> <el-table-column label="订单id" align="center" prop="orderId" />
<el-table-column label="退货数量" align="center" prop="quantity" /> <el-table-column label="子订单id" align="center" prop="orderItemId" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="退款金额" align="center" prop="returnAmount" />
<template v-slot="scope"> <el-table-column label="退货数量" align="center" prop="quantity" />
<el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['oms:aftersaleItem:edit']">修改</el-button> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oms:aftersaleItem:remove']">删除</el-button> <template v-slot="scope">
</template> <el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['oms:aftersaleItem:edit']">修改</el-button>
</el-table-column> <el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oms:aftersaleItem:remove']">删除</el-button>
</el-table> </template>
</el-table-column>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改订单售后对话框 --> <!-- 添加或修改订单售后对话框 -->
<el-dialog :title="title" v-model="open" width="50%" append-to-body> <el-dialog :title="title" v-model="open" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-two"> <el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-two">

View File

@ -1,234 +1,237 @@
<template> <template>
<div class="app-container" v-if="show"> <div class="p-2" v-if="show">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="订单类型" prop="orderType"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<DictRadio v-model="queryParams.type" radioData="oms_order_type" :radioList="orderTypeMap" :show-all="'all'" @change="handleQuery"> <el-form-item label="订单类型" prop="orderType">
</DictRadio> <DictRadio v-model="queryParams.type" radioData="oms_order_type" :radioList="orderTypeMap" :show-all="'all'" @change="handleQuery">
</el-form-item> </DictRadio>
<el-form-item label="订单状态" prop="status"> </el-form-item>
<DictRadio <el-form-item label="订单状态" prop="status">
v-if="orderStatusMap.length > 0" <DictRadio
:radioList="orderStatusMap" v-if="orderStatusMap.length > 0"
v-model="queryParams.status" :radioList="orderStatusMap"
radioData="oms_order_status" v-model="queryParams.status"
:show-all="'all'" radioData="oms_order_status"
:filter="['11', '12', '13', '14']" :show-all="'all'"
@change="handleQuery" :filter="['11', '12', '13', '14']"
></DictRadio> @change="handleQuery"
</el-form-item> ></DictRadio>
<el-form-item label="提现状态" prop="withdrawStatus"> </el-form-item>
<DictRadio <el-form-item label="提现状态" prop="withdrawStatus">
v-if="orderWithdrawMap.length > 0" <DictRadio
v-model="queryParams.withdrawStatus" v-if="orderWithdrawMap.length > 0"
radioData="oms_withdraw_staus" v-model="queryParams.withdrawStatus"
:radioList="orderWithdrawMap" radioData="oms_withdraw_staus"
:show-all="'all'" :radioList="orderWithdrawMap"
@change="handleQuery" :show-all="'all'"
> @change="handleQuery"
</DictRadio> >
</el-form-item> </DictRadio>
<el-form-item label="退款状态" prop="aftersaleStatus"> </el-form-item>
<DictRadio <el-form-item label="退款状态" prop="aftersaleStatus">
v-if="orderAftersaleMap.length > 0" <DictRadio
v-model="queryParams.aftersaleStatus" v-if="orderAftersaleMap.length > 0"
radioData="oms_aftersale_status" v-model="queryParams.aftersaleStatus"
:radioList="orderAftersaleMap" radioData="oms_aftersale_status"
:show-all="'all'" :radioList="orderAftersaleMap"
@change="handleQuery" :show-all="'all'"
> @change="handleQuery"
</DictRadio> >
</el-form-item> </DictRadio>
<el-form-item label="订单编号" prop="id"> </el-form-item>
<el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单编号" clearable @keyup.enter="handleQuery" /> <el-form-item label="订单编号" prop="id">
</el-form-item> <el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单编号" clearable @keyup.enter="handleQuery" />
<el-form-item label="交易流水号" prop="orderSn"> </el-form-item>
<el-input v-model.trim="queryParams.userPhone" placeholder="请输入交易流水号" clearable @keyup.enter="handleQuery" /> <el-form-item label="交易流水号" prop="orderSn">
</el-form-item> <el-input v-model.trim="queryParams.userPhone" placeholder="请输入交易流水号" clearable @keyup.enter="handleQuery" />
<el-form-item label="会员手机号" prop="userPhone"> </el-form-item>
<el-input v-model.trim="queryParams.userPhone" placeholder="请输入会员手机号" clearable @keyup.enter="handleQuery" /> <el-form-item label="会员手机号" prop="userPhone">
</el-form-item> <el-input v-model.trim="queryParams.userPhone" placeholder="请输入会员手机号" clearable @keyup.enter="handleQuery" />
<el-form-item label="省市区" prop="provinces"> </el-form-item>
<address-selector v-model="queryParams.provinces"></address-selector> <el-form-item label="省市区" prop="provinces">
</el-form-item> <address-selector v-model="queryParams.provinces"></address-selector>
<el-form-item label="下单时间" prop="Time"> </el-form-item>
<el-date-picker <el-form-item label="下单时间" prop="Time">
v-model="queryParams.Time" <el-date-picker
type="datetimerange" v-model="queryParams.Time"
:picker-options="pickerOptions" type="datetimerange"
range-separator="至" :picker-options="pickerOptions"
format="yyyy-MM-dd HH:mm:ss" range-separator="至"
value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期" value-format="yyyy-MM-dd HH:mm:ss"
end-placeholder="结束日期" start-placeholder="开始日期"
:default-time="['00:00:00', '23:59:59']" end-placeholder="结束日期"
align="right" :default-time="['00:00:00', '23:59:59']"
@change="handleChange" align="right"
> @change="handleChange"
</el-date-picker> >
</el-form-item> </el-date-picker>
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
<el-table v-loading="loading" :data="omsOrderList" border cell-class-name="my-cell"> </el-card>
<el-table-column label="推广人信息&买家信息" width="156"> <el-card shadow="hover">
<template v-slot="scope"> <el-table v-loading="loading" :data="omsOrderList" border cell-class-name="my-cell">
<div>{{ scope.row.memberNickname }}</div> <el-table-column label="推广人信息&买家信息" width="156">
<div>{{ scope.row.memberPhoneEncrypted }}</div> <template v-slot="scope">
</template> <div>{{ scope.row.memberNickname }}</div>
</el-table-column> <div>{{ scope.row.memberPhoneEncrypted }}</div>
<!-- <el-table-column label="买家信息" width="116"> </template>
</el-table-column>
<!-- <el-table-column label="买家信息" width="116">
<template v-slot="scope"> <template v-slot="scope">
<div>{{ scope.row.memberUsername }}</div> <div>{{ scope.row.memberUsername }}</div>
<div>{{ scope.row.memberPhoneEncrypted }}</div> <div>{{ scope.row.memberPhoneEncrypted }}</div>
</template> </template>
</el-table-column>--> </el-table-column>-->
<el-table-column label="卖家信息" width="116"> <el-table-column label="卖家信息" width="116">
<template v-slot="scope"> <template v-slot="scope">
<div>{{ scope.row.tenantContactName }}</div> <div>{{ scope.row.tenantContactName }}</div>
<div>{{ scope.row.tenantContactPhone }}</div> <div>{{ scope.row.tenantContactPhone }}</div>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="代理信息" width="116"> <!-- <el-table-column label="代理信息" width="116">
<template v-slot="scope"> <template v-slot="scope">
<div>代理人姓名{{ scope.row.deliverySn }}</div> <div>代理人姓名{{ scope.row.deliverySn }}</div>
<div>代理区域{{ scope.row.deliverySn }}</div> <div>代理区域{{ scope.row.deliverySn }}</div>
<div>代理手机号{{ scope.row.deliverySn }}</div> <div>代理手机号{{ scope.row.deliverySn }}</div>
</template> </template>
</el-table-column>--> </el-table-column>-->
<!-- <el-table-column label="商品信息"> <!-- <el-table-column label="商品信息">
<template v-slot="scope"> <template v-slot="scope">
<div>{{ scope.row.productName }}</div> <div>{{ scope.row.productName }}</div>
</template> </template>
</el-table-column>--> </el-table-column>-->
<el-table-column label="核销码" width="130"> <el-table-column label="核销码" width="130">
<template v-slot="scope"> <template v-slot="scope">
{{ scope.row.code }} {{ scope.row.code }}
<!-- <el-image :src="scope.row.code" style="width: 100px; height: 100px" />--> <!-- <el-image :src="scope.row.code" style="width: 100px; height: 100px" />-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品规格" prop="productList" width="280"> <el-table-column label="商品规格" prop="productList" width="280">
<template v-slot="scope"> <template v-slot="scope">
<div v-for="item in scope.row.productList" class="product-container"> <div v-for="item in scope.row.productList" class="product-container">
<el-popover placement="right" trigger="hover"> <el-popover placement="right" trigger="hover">
<el-image v-if="item.pic" :src="item.pic" style="width: 350px; height: 350px" /> <el-image v-if="item.pic" :src="item.pic" style="width: 350px; height: 350px" />
<template v-slot:reference> <template v-slot:reference>
<el-image v-if="item.pic" class="small-img product-item" :src="item.pic" style="width: 40px; height: 40px" /> <el-image v-if="item.pic" class="small-img product-item" :src="item.pic" style="width: 40px; height: 40px" />
</template> </template>
</el-popover> </el-popover>
<div class="product-item" style="margin-left: 5px"> <div class="product-item" style="margin-left: 5px">
<div class="sp-data"> <div class="sp-data">
<span v-for="(value, key) in JSON.parse(item.spData)">{{ key }}{{ value }}&nbsp;</span> <span v-for="(value, key) in JSON.parse(item.spData)">{{ key }}{{ value }}&nbsp;</span>
</div> </div>
<div class="product-item quantity"> <div class="product-item quantity">
<span style="margin-right: 10px">{{ item.salePrice }}</span> <span style="margin-right: 10px">{{ item.salePrice }}</span>
<span>x{{ item.buyNum }}</span> <span>x{{ item.buyNum }}</span>
</div>
</div> </div>
</div> </div>
</div> </template>
</template> </el-table-column>
</el-table-column> <!-- <el-table-column label="分佣信息" prop="couponAmount" width="80"> </el-table-column>-->
<!-- <el-table-column label="分佣信息" prop="couponAmount" width="80"> </el-table-column>--> <el-table-column label="订单类型" prop="couponAmount" width="100">
<el-table-column label="订单类型" prop="couponAmount" width="100"> <template v-slot="scope">
<template v-slot="scope"> <el-tag type="primary">
<el-tag type="primary"> {{ getEmulistLabelById(scope.row.type, orderTypeMap) }}
{{ getEmulistLabelById(scope.row.type, orderTypeMap) }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="交易编号" prop="id" width="120" align="center">
<template v-slot="scope">
<el-link type="primary" icon="Copy" link @click="copy(scope.row.id)" :underline="false">
{{ scope.row.id }}
<el-icon><CopyDocument /></el-icon>
</el-link>
</template>
</el-table-column>
<el-table-column label="订单编号" prop="orderSn" width="80"> </el-table-column>
<el-table-column label="订单状态" prop="status" width="160">
<template v-slot="scope">
<div>
<el-tag style="margin-right: 10px">
{{ getEmulistLabelById(scope.row.status, orderStatusMap) }}
</el-tag> </el-tag>
</div> </template>
<div v-if="scope.row.deliverySn"> </el-table-column>
物流单号{{ scope.row.deliverySn }} <el-table-column label="交易编号" prop="id" width="120" align="center">
<el-link @click="copy(scope.row.deliverySn)" :underline="false"><i class="el-icon-document-copy el-icon--right"></i></el-link> <template v-slot="scope">
</div> <el-link type="primary" icon="Copy" link @click="copy(scope.row.id)" :underline="false">
<div v-if="scope.row.deliveryTime">发货时间{{ parseTime(scope.row.deliveryTime, '') }}</div> {{ scope.row.id }}
</template> <el-icon><CopyDocument /></el-icon>
</el-table-column> </el-link>
<el-table-column label="退款状态" prop="aftersaleStatus" width="100"> </template>
<template v-slot="scope"> </el-table-column>
<el-tag type="primary"> <el-table-column label="订单编号" prop="orderSn" width="80"> </el-table-column>
{{ getEmulistLabelById(scope.row.aftersaleStatus, orderAftersaleMap) }} <el-table-column label="订单状态" prop="status" width="160">
</el-tag> <template v-slot="scope">
</template> <div>
</el-table-column> <el-tag style="margin-right: 10px">
<el-table-column label="提现状态" prop="withdrawStatus" width="100"> {{ getEmulistLabelById(scope.row.status, orderStatusMap) }}
<template v-slot="scope"> </el-tag>
<el-tag type="primary"> </div>
{{ getEmulistLabelById(scope.row.withdrawStatus, orderWithdrawMap) }} <div v-if="scope.row.deliverySn">
</el-tag> 物流单号{{ scope.row.deliverySn }}
</template> <el-link @click="copy(scope.row.deliverySn)" :underline="false"><i class="el-icon-document-copy el-icon--right"></i></el-link>
</el-table-column> </div>
<el-table-column label="收件信息" prop="receiverName" width="280"> <div v-if="scope.row.deliveryTime">发货时间{{ parseTime(scope.row.deliveryTime, '') }}</div>
<template v-slot="scope"> </template>
<div> </el-table-column>
<span>{{ scope.row.decrypt ? scope.row.receiverName : getHiddenName(scope.row.receiverName) }} {{ scope.row.receiverPhone }}</span> <el-table-column label="退款状态" prop="aftersaleStatus" width="100">
<el-button text type="primary" @click="handleWatch(scope.row)" style="margin-left: 10px">查看 </el-button> <template v-slot="scope">
<el-button text type="primary" @click="handleUpdate(scope.row)">修改 </el-button> <el-tag type="primary">
</div> {{ getEmulistLabelById(scope.row.aftersaleStatus, orderAftersaleMap) }}
<div> </el-tag>
<span>{{ scope.row.receiverProvince }}{{ scope.row.receiverCity }}{{ scope.row.receiverDistrict }}</span> </template>
<span>{{ scope.row.decrypt ? scope.row.receiverDetailAddress : getHiddenDetailAddress(scope.row.receiverDetailAddress) }}</span> </el-table-column>
</div> <el-table-column label="提现状态" prop="withdrawStatus" width="100">
</template> <template v-slot="scope">
</el-table-column> <el-tag type="primary">
<el-table-column label="备注留言" prop="note" width="160"> {{ getEmulistLabelById(scope.row.withdrawStatus, orderWithdrawMap) }}
<template v-slot="scope"> </el-tag>
<div> </template>
<span v-if="scope.row.merchantNote" class="note-title" style="margin-right: 10px">平台备注</span> </el-table-column>
<el-button text type="primary" @click="handleSaveNote(scope.row)">{{ scope.row.merchantNote ? '修改' : '添加平台备注' }} </el-button> <el-table-column label="收件信息" prop="receiverName" width="280">
</div> <template v-slot="scope">
<div v-if="scope.row.merchantNote">{{ scope.row.merchantNote }}</div> <div>
<div v-if="scope.row.note" class="note-title">买家备注</div> <span>{{ scope.row.decrypt ? scope.row.receiverName : getHiddenName(scope.row.receiverName) }} {{ scope.row.receiverPhone }}</span>
<div v-if="scope.row.note">{{ scope.row.note }}</div> <el-button text type="primary" @click="handleWatch(scope.row)" style="margin-left: 10px">查看 </el-button>
</template> <el-button text type="primary" @click="handleUpdate(scope.row)">修改 </el-button>
</el-table-column> </div>
<el-table-column label="下单时间/支付时间" prop="payTime" width="140"> <div>
<template v-slot="scope"> <span>{{ scope.row.receiverProvince }}{{ scope.row.receiverCity }}{{ scope.row.receiverDistrict }}</span>
<div v-if="scope.row.createTime">{{ parseTime(scope.row.createTime, '{mm}-{dd} {hh}:{ii}') }} 下单</div> <span>{{ scope.row.decrypt ? scope.row.receiverDetailAddress : getHiddenDetailAddress(scope.row.receiverDetailAddress) }}</span>
<div v-if="scope.row.payTime">{{ parseTime(scope.row.payTime, '{mm}-{dd} {hh}:{ii}') }} 支付</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="优惠券" prop="couponAmount" width="80"> <el-table-column label="备注留言" prop="note" width="160">
<template v-slot="scope"> <template v-slot="scope">
<div v-if="scope.row.couponAmount">{{ scope.row.couponAmount }}</div> <div>
<div v-else></div> <span v-if="scope.row.merchantNote" class="note-title" style="margin-right: 10px">平台备注</span>
</template> <el-button text type="primary" @click="handleSaveNote(scope.row)">{{ scope.row.merchantNote ? '修改' : '添加平台备注' }} </el-button>
</el-table-column> </div>
<el-table-column label="合计" prop="totalAmount" width="140"> <div v-if="scope.row.merchantNote">{{ scope.row.merchantNote }}</div>
<template v-slot="scope"> <div v-if="scope.row.note" class="note-title">买家备注</div>
<div> <div v-if="scope.row.note">{{ scope.row.note }}</div>
<span>总数 </span> </template>
<span style="color: red">{{ scope.row.buyNum }}</span> </el-table-column>
</div> <el-table-column label="下单时间/支付时间" prop="payTime" width="140">
<div>实付 {{ scope.row.payAmount }}</div> <template v-slot="scope">
</template> <div v-if="scope.row.createTime">{{ parseTime(scope.row.createTime, '{mm}-{dd} {hh}:{ii}') }} 下单</div>
</el-table-column> <div v-if="scope.row.payTime">{{ parseTime(scope.row.payTime, '{mm}-{dd} {hh}:{ii}') }} 支付</div>
<el-table-column label="操作" class-name="small-padding fixed-width" width="180" align="center" fixed="right"> </template>
<template v-slot="scope"> </el-table-column>
<el-button text size="small" type="primary" @click="goDetail(scope.row)" v-hasPermi="['oms:order:query']">详情 </el-button> <el-table-column label="优惠券" prop="couponAmount" width="80">
<el-button text size="small" type="primary" @click="showLog(scope.row.id)" v-hasPermi="['oms:order:log']">记录 </el-button> <template v-slot="scope">
<el-button text size="small" type="primary" @click="handleDelivery(scope.row)">核销 </el-button> <div v-if="scope.row.couponAmount">{{ scope.row.couponAmount }}</div>
</template> <div v-else></div>
</el-table-column> </template>
</el-table> </el-table-column>
<pagination v-if="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <el-table-column label="合计" prop="totalAmount" width="140">
<template v-slot="scope">
<div>
<span>总数 </span>
<span style="color: red">{{ scope.row.buyNum }}</span>
</div>
<div>实付 {{ scope.row.payAmount }}</div>
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width" width="180" align="center" fixed="right">
<template v-slot="scope">
<el-button text size="small" type="primary" @click="goDetail(scope.row)" v-hasPermi="['oms:order:query']">详情 </el-button>
<el-button text size="small" type="primary" @click="showLog(scope.row.id)" v-hasPermi="['oms:order:log']">记录 </el-button>
<el-button text size="small" type="primary" @click="handleDelivery(scope.row)">核销 </el-button>
</template>
</el-table-column>
</el-table>
<pagination v-if="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 核销对话框 --> <!-- 核销对话框 -->
<el-dialog :title="deliveryObj.title" v-model="deliveryObj.open" width="500px" append-to-body> <el-dialog :title="deliveryObj.title" v-model="deliveryObj.open" width="500px" append-to-body>
<el-form ref="deliveryForm" :model="deliveryObj.form" :rules="deliveryObj.rules" label-width="100px"> <el-form ref="deliveryForm" :model="deliveryObj.form" :rules="deliveryObj.rules" label-width="100px">

View File

@ -1,44 +1,49 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="140px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="订单id" prop="orderId"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" size="default" class="ry_form">
<el-input v-model="queryParams.orderId" placeholder="请输入订单id" clearable @keyup.enter="handleQuery" /> <el-form-item label="订单id" prop="orderId">
</el-form-item> <el-input v-model="queryParams.orderId" placeholder="请输入订单id" clearable @keyup.enter="handleQuery" />
<el-form-item label="物流公司(配送方式)" prop="deliveryCompany"> </el-form-item>
<el-input v-model="queryParams.deliveryCompany" placeholder="请输入物流公司(配送方式)" clearable @keyup.enter="handleQuery" /> <el-form-item label="物流公司(配送方式)" prop="deliveryCompany">
</el-form-item> <el-input v-model="queryParams.deliveryCompany" placeholder="请输入物流公司(配送方式)" clearable @keyup.enter="handleQuery" />
<el-form-item label="物流单号" prop="deliverySn"> </el-form-item>
<el-input v-model="queryParams.deliverySn" placeholder="请输入物流单号" clearable @keyup.enter="handleQuery" /> <el-form-item label="物流单号" prop="deliverySn" width="140px">
</el-form-item> <el-input v-model="queryParams.deliverySn" placeholder="请输入物流单号" clearable @keyup.enter="handleQuery" />
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
<el-row :gutter="10" class="mb8"> </el-card>
<el-col :span="1.5"> <el-card shadow="hover">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['oms:orderDeliveryHistory:add']">新增</el-button> <template #header>
</el-col> <el-row :gutter="10">
</el-row> <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['oms:orderDeliveryHistory:add']">新增</el-button>
<el-table v-loading="loading" :data="omsOrderDeliveryHistoryList" @selection-change="handleSelectionChange"> </el-col>
<el-table-column type="selection" width="55" align="center" /> </el-row>
<el-table-column label="订单id" align="center" prop="orderId" /> </template>
<el-table-column label="物流公司(配送方式)" align="center" prop="deliveryCompany" /> <el-table v-loading="loading" :data="omsOrderDeliveryHistoryList" @selection-change="handleSelectionChange">
<el-table-column label="物流单号" align="center" prop="deliverySn" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="订单id" align="center" prop="orderId" />
<template v-slot="scope"> <el-table-column label="物流公司(配送方式)" align="center" prop="deliveryCompany" />
<el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['oms:orderDeliveryHistory:edit']">修改</el-button> <el-table-column label="物流单号" align="center" prop="deliverySn" />
<el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oms:orderDeliveryHistory:remove']" <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
>删除</el-button <template v-slot="scope">
> <el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['oms:orderDeliveryHistory:edit']"
</template> >修改</el-button
</el-table-column> >
</el-table> <el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oms:orderDeliveryHistory:remove']"
>删除</el-button
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> >
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改订单发货记录对话框 --> <!-- 添加或修改订单发货记录对话框 -->
<el-dialog :title="title" v-model="open" width="50%" append-to-body> <el-dialog :title="title" v-model="open" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="138px" inline class="dialog-form-two"> <el-form ref="form" :model="form" :rules="rules" label-width="138px" inline class="dialog-form-two">
@ -230,3 +235,12 @@ export default {
} }
}; };
</script> </script>
<style scoped lang="scss">
::v-deep {
.el-form-item--default .el-form-item__label {
width: 140px;
display: flex;
justify-content: center;
}
}
</style>

View File

@ -1,52 +1,54 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="订单号" prop="orderId"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<el-input v-model="queryParams.orderSn" placeholder="请输入订单号" clearable @keyup.enter="handleQuery" /> <el-form-item label="订单号" prop="orderId">
</el-form-item> <el-input v-model="queryParams.orderSn" placeholder="请输入订单号" clearable @keyup.enter="handleQuery" />
<el-form-item label="订单状态" prop="status"> </el-form-item>
<DictRadio v-model="queryParams.status" radioData="oms_order_status" :show-all="'all'"></DictRadio> <el-form-item label="订单状态" prop="status">
</el-form-item> <DictRadio v-model="queryParams.status" radioData="oms_order_status" :show-all="'all'"></DictRadio>
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
<el-table v-loading="loading" border :data="omsOrderOperateHistoryList" @selection-change="handleSelectionChange"> </el-card>
<!-- <el-table-column type="selection" width="55" align="center" />--> <el-card shadow="hover">
<el-table-column label="订单号" align="center" prop="orderSn" /> <el-table v-loading="loading" border :data="omsOrderOperateHistoryList" @selection-change="handleSelectionChange">
<el-table-column label="订单状态" align="center" prop="orderStatus"> <!-- <el-table-column type="selection" width="55" align="center" />-->
<template v-slot="scope"> <el-table-column label="订单号" align="center" prop="orderSn" />
<el-tag :type="getOrderTypeTag(scope.row.orderStatus)" style="margin-right: 10px"> <el-table-column label="订单状态" align="center" prop="orderStatus">
{{ getOrderTypeText(scope.row.orderStatus) }} <template v-slot="scope">
</el-tag> <el-tag :type="getOrderTypeTag(scope.row.orderStatus)" style="margin-right: 10px">
</template> {{ getOrderTypeText(scope.row.orderStatus) }}
</el-table-column> </el-tag>
<el-table-column label="备注" align="center" prop="note" /> </template>
<el-table-column label="操作时间" align="center" prop="createTime"> </el-table-column>
<template v-slot="scope"> <el-table-column label="备注" align="center" prop="note" />
<div>{{ parseTime(scope.row.createTime, '') }}</div> <el-table-column label="操作时间" align="center" prop="createTime">
</template> <template v-slot="scope">
</el-table-column> <div>{{ parseTime(scope.row.createTime, '') }}</div>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> </template>
<template v-slot="scope"> </el-table-column>
<!-- <el-button--> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<!-- --> <template v-slot="scope">
<!-- text type="primary"--> <!-- <el-button-->
<!-- icon="Edit"--> <!-- -->
<!-- @click="handleUpdate(scope.row)"--> <!-- text type="primary"-->
<!-- v-hasPermi="['oms:orderOperateHistory:edit']"--> <!-- icon="Edit"-->
<!-- >修改</el-button>--> <!-- @click="handleUpdate(scope.row)"-->
<el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oms:orderOperateHistory:remove']" <!-- v-hasPermi="['oms:orderOperateHistory:edit']"-->
>删除</el-button <!-- >修改</el-button>-->
> <el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oms:orderOperateHistory:remove']"
</template> >删除</el-button
</el-table-column> >
</el-table> </template>
</el-table-column>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改订单操作历史记录对话框 --> <!-- 添加或修改订单操作历史记录对话框 -->
<el-dialog :title="title" v-model="open" width="50%" append-to-body> <el-dialog :title="title" v-model="open" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-two"> <el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-two">

View File

@ -1,53 +1,57 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="状态" prop="showStatus"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<DictRadio <el-form-item label="状态" prop="showStatus">
v-model="queryParams.showStatus" <DictRadio
@change="handleQuery" v-model="queryParams.showStatus"
:radioList="normalStatusMap" @change="handleQuery"
radioData="sys_normal_disable" :radioList="normalStatusMap"
:showAll="'all'" radioData="sys_normal_disable"
/> :showAll="'all'"
</el-form-item> />
<el-form-item label="名称" prop="name"> </el-form-item>
<el-input v-model="queryParams.nameLike" placeholder="名称" clearable @keyup.enter="handleQuery" /> <el-form-item label="名称" prop="name">
</el-form-item> <el-input v-model="queryParams.nameLike" placeholder="名称" clearable @keyup.enter="handleQuery" />
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
</el-card>
<el-row :gutter="10" class="mb8"> <el-card shadow="hover">
<el-col :span="1.5"> <template #header>
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button> <el-row :gutter="10" class="mb8">
</el-col> <el-col :span="1.5">
</el-row> <el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
<el-table v-loading="loading" :data="pmsBrandList" @selection-change="handleSelectionChange" border> </el-row>
<el-table-column label="品牌logo" prop="logo"> </template>
<template v-slot="{ row }"> <el-table v-loading="loading" :data="pmsBrandList" @selection-change="handleSelectionChange" border>
<el-image v-if="row.logo" :src="row.logo" fit="cover" :preview-teleported="true" :preview-src-list="[row.logo]" /> <el-table-column label="品牌logo" prop="logo">
</template> <template v-slot="{ row }">
</el-table-column> <el-image v-if="row.logo" :src="row.logo" fit="cover" :preview-teleported="true" :preview-src-list="[row.logo]" />
<el-table-column label="名称" prop="name" /> </template>
<el-table-column label="排序" prop="sort" /> </el-table-column>
<el-table-column label="状态" prop="showStatus"> <el-table-column label="名称" prop="name" />
<template v-slot="{ row }"> <el-table-column label="排序" prop="sort" />
<dict-tag :options="normalStatusMap" :value="row.showStatus" prop-name="sys_normal_disable" /> <el-table-column label="状态" prop="showStatus">
</template> <template v-slot="{ row }">
</el-table-column> <dict-tag :options="normalStatusMap" :value="row.showStatus" prop-name="sys_normal_disable" />
<el-table-column label="操作" class-name="small-padding fixed-width"> </template>
<template v-slot="scope"> </el-table-column>
<el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改 </el-button> <el-table-column label="操作" class-name="small-padding fixed-width">
<el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button> <template v-slot="scope">
</template> <el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改 </el-button>
</el-table-column> <el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
</el-table> </template>
</el-table-column>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改品牌管理对话框 --> <!-- 添加或修改品牌管理对话框 -->
<el-dialog :title="title" v-model="open" width="50%" append-to-body> <el-dialog :title="title" v-model="open" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-one"> <el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-one">

View File

@ -1,92 +1,97 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<div v-show="show"> <div v-show="show">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="上架状态" prop="publishStatus"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<DictRadio v-model="queryParams.publishStatus" @change="handleQuery" radioData="pms_publish_status" :showAll="'all'" /> <el-form-item label="上架状态" prop="publishStatus">
</el-form-item> <DictRadio v-model="queryParams.publishStatus" @change="handleQuery" radioData="pms_publish_status" :showAll="'all'" />
<el-form-item label="名称" prop="name"> </el-form-item>
<el-input v-model="queryParams.nameLike" placeholder="请输入商品名称" clearable @keyup.enter="handleQuery" /> <el-form-item label="名称" prop="name">
</el-form-item> <el-input v-model="queryParams.nameLike" placeholder="请输入商品名称" clearable @keyup.enter="handleQuery" />
<el-form-item label="品牌" prop="brandName"> </el-form-item>
<el-input v-model="queryParams.brandNameLike" placeholder="请输入品牌名称" clearable @keyup.enter="handleQuery" /> <el-form-item label="品牌" prop="brandName">
</el-form-item> <el-input v-model="queryParams.brandNameLike" placeholder="请输入品牌名称" clearable @keyup.enter="handleQuery" />
<el-form-item label="分类" prop="productCategoryName"> </el-form-item>
<el-input v-model="queryParams.productCategoryNameLike" placeholder="请输入分类名称" clearable @keyup.enter="handleQuery" /> <el-form-item label="分类" prop="productCategoryName">
</el-form-item> <el-input v-model="queryParams.productCategoryNameLike" placeholder="请输入分类名称" clearable @keyup.enter="handleQuery" />
<el-form-item label="编码" prop="outProductId"> </el-form-item>
<el-input v-model="queryParams.outProductId" placeholder="请输入商品编码" clearable @keyup.enter="handleQuery" /> <el-form-item label="编码" prop="outProductId">
</el-form-item> <el-input v-model="queryParams.outProductId" placeholder="请输入商品编码" clearable @keyup.enter="handleQuery" />
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
</el-card>
<el-row :gutter="10" class="mb8"> <el-card shadow="hover">
<el-col :span="1.5"> <template #header>
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button> <el-row :gutter="10" class="mb8">
</el-col> <el-col :span="1.5">
</el-row> <el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
</el-row>
</template>
<el-table v-loading="loading" :data="pmsProductList" border> <el-table v-loading="loading" :data="pmsProductList" border>
<!-- <el-table-column label="主图" prop="pic"> <!-- <el-table-column label="主图" prop="pic">
<template v-slot="{ row }"> <template v-slot="{ row }">
<el-image v-if="row.pic" :src="row.pic" :preview-src-list="[row.pic]" class="small-img" /> <el-image v-if="row.pic" :src="row.pic" :preview-src-list="[row.pic]" class="small-img" />
</template> </template>
</el-table-column>--> </el-table-column>-->
<el-table-column label="店铺名称" min-width="200" prop="contactUserName"> </el-table-column> <el-table-column label="店铺名称" min-width="200" prop="contactUserName"> </el-table-column>
<el-table-column label="店铺手机号" prop="contactPhone"> </el-table-column> <el-table-column label="店铺手机号" prop="contactPhone"> </el-table-column>
<el-table-column label="配送方式" prop="distribution"> <el-table-column label="配送方式" prop="distribution">
<template v-slot="scope">{{ scope.row.distribution == 1 ? '到店核销' : scope.row.distribution == 2 ? '自提' : '配送' }} </template> <template v-slot="scope">{{ scope.row.distribution == 1 ? '到店核销' : scope.row.distribution == 2 ? '自提' : '配送' }} </template>
</el-table-column> </el-table-column>
<el-table-column label="商品名称" prop="name"> </el-table-column> <el-table-column label="商品名称" prop="name"> </el-table-column>
<!-- <el-table-column label="商品描述" prop="describe"> </el-table-column> --> <!-- <el-table-column label="商品描述" prop="describe"> </el-table-column> -->
<el-table-column label="商品类型" prop="type"> <el-table-column label="商品类型" prop="type">
<template v-slot="scope">{{ scope.row.type == 1 ? '团购' : scope.row.type == 2 ? '拼团' : '秒杀' }} </template> <template v-slot="scope">{{ scope.row.type == 1 ? '团购' : scope.row.type == 2 ? '拼团' : '秒杀' }} </template>
</el-table-column> </el-table-column>
<el-table-column label="商品分类" prop="productCategoryName"> </el-table-column> <el-table-column label="商品分类" prop="productCategoryName"> </el-table-column>
<el-table-column label="商品封面图" prop="pic"> <el-table-column label="商品封面图" prop="pic">
<template v-slot="scope"> <template v-slot="scope">
<el-image v-if="scope.row.pic" :src="scope.row.pic" class="small-img" /> <el-image v-if="scope.row.pic" :src="scope.row.pic" class="small-img" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品轮播图" prop="albumPics"> <el-table-column label="商品轮播图" prop="albumPics">
<template v-slot="scope"> <template v-slot="scope">
<el-image <el-image
v-if="scope.row.albumPics" v-if="scope.row.albumPics"
:src="scope.row.pic" :src="scope.row.pic"
:preview-teleported="true" :preview-teleported="true"
class="small-img" class="small-img"
:preview-src-list="isimgfun(scope.row.albumPics)" :preview-src-list="isimgfun(scope.row.albumPics)"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品详情" prop="detailHtml"> </el-table-column> <el-table-column label="商品详情" prop="detailHtml"> </el-table-column>
<el-table-column label="原价" prop="price"> </el-table-column> <el-table-column label="原价" prop="price"> </el-table-column>
<el-table-column label="优惠金额" prop="discountPrice"> </el-table-column> <el-table-column label="优惠金额" prop="discountPrice"> </el-table-column>
<el-table-column label="销量" prop="sales"> </el-table-column> <el-table-column label="销量" prop="sales"> </el-table-column>
<el-table-column label="商品状态" prop="publishStatus" fixed="right"> <el-table-column label="商品状态" prop="publishStatus" fixed="right">
<template v-slot="scope"> <template v-slot="scope">
<el-switch <el-switch
:model-value="scope.row.publishStatus" :model-value="scope.row.publishStatus"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
active-text="上架" active-text="上架"
inactive-text="下架" inactive-text="下架"
inline-prompt inline-prompt
:before-change=" :before-change="
() => { () => {
return handleChangeUserStatus(scope.row); return handleChangeUserStatus(scope.row);
} }
" "
> >
</el-switch> </template </el-switch> </template
></el-table-column> ></el-table-column>
<el-table-column label="审核状态" prop="authFlag" fixed="right"> <el-table-column label="审核状态" prop="authFlag" fixed="right">
<template v-slot="scope"> <template v-slot="scope">
{{ scope.row.authFlag == 1 ? '待审核' : scope.row.authFlag == 2 ? '审核通过' : '审核驳回' }} {{ scope.row.authFlag == 1 ? '待审核' : scope.row.authFlag == 2 ? '审核通过' : '审核驳回' }}
<!-- <el-switch <!-- <el-switch
:model-value="scope.row.authFlag" :model-value="scope.row.authFlag"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
@ -100,9 +105,9 @@
" "
> >
</el-switch> --> </el-switch> -->
</template></el-table-column </template></el-table-column
> >
<!-- <el-table-column label="名称/编码" min-width="200" prop="outProductId"> <!-- <el-table-column label="名称/编码" min-width="200" prop="outProductId">
<template v-slot="{ row }"> <template v-slot="{ row }">
<div>名称{{ row.name }}</div> <div>名称{{ row.name }}</div>
<div v-if="row.outProductId">编码{{ row.outProductId }}</div> <div v-if="row.outProductId">编码{{ row.outProductId }}</div>
@ -125,20 +130,20 @@
<dict-tag :value="row.publishStatus" prop-name="pms_publish_status" /> <dict-tag :value="row.publishStatus" prop-name="pms_publish_status" />
</template> </template>
</el-table-column>--> </el-table-column>-->
<el-table-column label="操作" class-name="small-padding fixed-width" width="150" align="center" fixed="right"> <el-table-column label="操作" class-name="small-padding fixed-width" width="150" align="center" fixed="right">
<template v-slot="scope"> <template v-slot="scope">
<el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改 </el-button> <el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改 </el-button>
<el-button text type="primary" icon="Edit" @click="handleAuth(scope.row)">审核 </el-button> <el-button text type="primary" icon="Edit" @click="handleAuth(scope.row)">审核 </el-button>
<el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button> <el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
</template> </template>
<!-- <template v-slot="scope"> <!-- <template v-slot="scope">
<el-button text type="primary" @click="showProductEditModal(scope.row)">编辑</el-button> <el-button text type="primary" @click="showProductEditModal(scope.row)">编辑</el-button>
</template>--> </template>-->
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<el-dialog title="商品审核" v-model="isAuthModalOpen" width="600px"> <el-dialog title="商品审核" v-model="isAuthModalOpen" width="600px">
<el-form label-width="auto" ref="authForm" size="default"> <el-form label-width="auto" ref="authForm" size="default">
<el-form-item label="审核状态" prop="authFlag"> <el-form-item label="审核状态" prop="authFlag">

View File

@ -1,53 +1,57 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="状态" prop="showStatus"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<DictRadio v-model="queryParams.showStatus" @change="handleQuery" :radioList="showStatusMap" radioData="sys_show_status" :showAll="'all'" /> <el-form-item label="状态" prop="showStatus">
</el-form-item> <DictRadio v-model="queryParams.showStatus" @change="handleQuery" :radioList="showStatusMap" radioData="sys_show_status" :showAll="'all'" />
<el-form-item label="名称" prop="name"> </el-form-item>
<el-input v-model="queryParams.nameLike" placeholder="名称" clearable @keyup.enter="handleQuery" /> <el-form-item label="名称" prop="name">
</el-form-item> <el-input v-model="queryParams.nameLike" placeholder="名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item class="flex_one tr"> <el-form-item class="flex_one tr">
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card>
<el-row :gutter="10" class="mb8"> <el-card shadow="hover">
<el-col :span="1.5"> <template #header>
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增 </el-button> <el-row :gutter="10" class="mb8">
</el-col> <el-col :span="1.5">
</el-row> <el-button type="primary" plain icon="Plus" @click="handleAdd">新增 </el-button>
</el-col>
<el-table </el-row>
v-loading="loading" </template>
:data="pmsProductCategoryList" <el-table
border v-loading="loading"
:tree-props="{ hasChildren: 'hasChildren', children: 'children' }" :data="pmsProductCategoryList"
@selection-change="handleSelectionChange" border
row-key="id" :tree-props="{ hasChildren: 'hasChildren', children: 'children' }"
> @selection-change="handleSelectionChange"
<el-table-column label="名称" prop="name" /> row-key="id"
<el-table-column label="图片" prop="icon"> >
<template v-slot="{ row }"> <el-table-column label="名称" prop="name" />
<el-image v-if="row.icon" :src="row.icon" :preview-teleported="true" :preview-src-list="[row.icon]" class="small-img circle-img" /> <el-table-column label="图片" prop="icon">
</template> <template v-slot="{ row }">
</el-table-column> <el-image v-if="row.icon" :src="row.icon" :preview-teleported="true" :preview-src-list="[row.icon]" class="small-img circle-img" />
<el-table-column label="排序" prop="sort" /> </template>
<el-table-column label="状态" prop="showStatus"> </el-table-column>
<template v-slot="{ row }"> <el-table-column label="排序" prop="sort" />
<dict-tag :options="showStatusMap" :value="row.showStatus" prop-name="sys_show_status"></dict-tag> <el-table-column label="状态" prop="showStatus">
</template> <template v-slot="{ row }">
</el-table-column> <dict-tag :options="showStatusMap" :value="row.showStatus" prop-name="sys_show_status"></dict-tag>
<el-table-column label="操作" class-name="small-padding fixed-width"> </template>
<template v-slot="scope"> </el-table-column>
<el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改 </el-button> <el-table-column label="操作" class-name="small-padding fixed-width">
<el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)">删除 </el-button> <template v-slot="scope">
</template> <el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改 </el-button>
</el-table-column> <el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)">删除 </el-button>
</el-table> </template>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改商品分类对话框 --> <!-- 添加或修改商品分类对话框 -->
<el-dialog :title="title" v-model="open" width="500px"> <el-dialog :title="title" v-model="open" width="500px">
<el-form ref="form" :model="form" :rules="rules" label-width="108px"> <el-form ref="form" :model="form" :rules="rules" label-width="108px">

View File

@ -1,64 +1,68 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="商品名称" prop="productId"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<!-- <el-input v-model="queryParams.productId" placeholder="请输入PRODUCT_ID" clearable @keyup.enter="handleQuery" />--> <el-form-item label="商品名称" prop="productId">
<el-select <!-- <el-input v-model="queryParams.productId" placeholder="请输入PRODUCT_ID" clearable @keyup.enter="handleQuery" />-->
v-model="queryParams.productId" <el-select
placeholder="请选择商品" v-model="queryParams.productId"
filterable placeholder="请选择商品"
remote filterable
reserve-keyword remote
:remote-method="getProductListByName" reserve-keyword
:loading="productSelectLoading" :remote-method="getProductListByName"
clearable :loading="productSelectLoading"
style="width: 100%" clearable
> style="width: 100%"
<el-option v-for="item in productSelectOption" :key="item.id" :label="item.name" :value="item.id" /> >
</el-select> <el-option v-for="item in productSelectOption" :key="item.id" :label="item.name" :value="item.id" />
</el-form-item> </el-select>
<el-form-item label="sku编码" prop="outSkuId"> </el-form-item>
<el-input v-model="queryParams.outSkuId" placeholder="请输入sku编码" clearable @keyup.enter="handleQuery" /> <el-form-item label="sku编码" prop="outSkuId">
</el-form-item> <el-input v-model="queryParams.outSkuId" placeholder="请输入sku编码" clearable @keyup.enter="handleQuery" />
<el-form-item label="价格" prop="price"> </el-form-item>
<el-input v-model="queryParams.price" placeholder="请输入价格" clearable @keyup.enter="handleQuery" /> <el-form-item label="价格" prop="price">
</el-form-item> <el-input v-model="queryParams.price" placeholder="请输入价格" clearable @keyup.enter="handleQuery" />
<!-- <el-form-item label="展示图片" prop="pic"> </el-form-item>
<!-- <el-form-item label="展示图片" prop="pic">
<el-input v-model="queryParams.pic" placeholder="请输入展示图片" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.pic" placeholder="请输入展示图片" clearable @keyup.enter="handleQuery" />
</el-form-item>--> </el-form-item>-->
<el-form-item class="flex_one tr"> <el-form-item class="flex_one tr">
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card>
<el-row :gutter="10" class="mb8"> <el-card shadow="hover">
<el-col :span="1.5"> <template #header>
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['pms:sku:add']">新增</el-button> <el-row :gutter="10" class="mb8">
</el-col> <el-col :span="1.5">
</el-row> <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['pms:sku:add']">新增</el-button>
</el-col>
<el-table v-loading="loading" :data="pmsSkuList" @selection-change="handleSelectionChange"> </el-row>
<el-table-column label="商品名称" align="center" prop="productName" /> </template>
<el-table-column label="sku编码" align="center" prop="outSkuId" /> <el-table v-loading="loading" :data="pmsSkuList" @selection-change="handleSelectionChange">
<el-table-column label="价格" align="center" prop="price" /> <el-table-column label="商品名称" align="center" prop="productName" />
<!-- <el-table-column label="展示图片" align="center" prop="pic" />--> <el-table-column label="sku编码" align="center" prop="outSkuId" />
<el-table-column label="展示图片" prop="pic"> <el-table-column label="价格" align="center" prop="price" />
<template v-slot="{ row }"> <!-- <el-table-column label="展示图片" align="center" prop="pic" />-->
<el-image v-if="row.pic" :src="row.pic" :preview-teleported="true" :preview-src-list="[row.pic]" class="small-img circle-img" /> <el-table-column label="展示图片" prop="pic">
</template> <template v-slot="{ row }">
</el-table-column> <el-image v-if="row.pic" :src="row.pic" :preview-teleported="true" :preview-src-list="[row.pic]" class="small-img circle-img" />
<el-table-column label="商品销售属性" align="center" prop="spData" /> </template>
<el-table-column label="操作" width="180" align="center" class-name="small-padding fixed-width"> </el-table-column>
<template v-slot="scope"> <el-table-column label="商品销售属性" align="center" prop="spData" />
<el-button text type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['pms:sku:edit']">修改</el-button> <el-table-column label="操作" width="180" align="center" class-name="small-padding fixed-width">
<el-button text type="primary" @click="handleDelete(scope.row)" v-hasPermi="['pms:sku:remove']">删除</el-button> <template v-slot="scope">
</template> <el-button text type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['pms:sku:edit']">修改</el-button>
</el-table-column> <el-button text type="primary" @click="handleDelete(scope.row)" v-hasPermi="['pms:sku:remove']">删除</el-button>
</el-table> </template>
</el-table-column>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改sku信息对话框 --> <!-- 添加或修改sku信息对话框 -->
<el-dialog :title="title" v-model="open" width="50%" append-to-body> <el-dialog :title="title" v-model="open" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="138px" inline class="dialog-form-two"> <el-form ref="form" :model="form" :rules="rules" label-width="138px" inline class="dialog-form-two">

View File

@ -1,5 +1,6 @@
<template> <template>
<div class="pl"> <div class="p-2">
<!-- <el-card shadow="hover" class="mb-[10px]"> -->
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave"> <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="search"> <div v-show="showSearch" class="search">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
@ -26,47 +27,56 @@
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-button type="primary" @click="showRefuteDialog = true">创建模板</el-button>
</div> </div>
</transition> </transition>
<el-table <!-- </el-card> -->
ref="categoryTableRef" <el-card shadow="hover">
:data="messList" <template #header>
row-key="categoryId" <el-row :gutter="10">
border <el-col :span="1.5">
:default-expand-all="isExpandAll" <el-button type="primary" plain icon="Plus" @click="showRefuteDialog = true">创建模板</el-button>
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" </el-col>
> </el-row>
<el-table-column label="id" prop="id" align="center" width="180" /> </template>
<el-table-column label="模板名称" prop="templateName" align="center" width="150" /> <el-table
<!-- <el-table-column label="模板名称" prop="templateName" align="center" width="150" /> --> ref="categoryTableRef"
<el-table-column label="模版类型" prop="templateType" align="center" width="150"> :data="messList"
<template #default="{ row }"> row-key="categoryId"
{{ row.templateType == 1 ? '公告' : '通知' }} border
</template> :default-expand-all="isExpandAll"
</el-table-column> :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
<el-table-column label="状态" prop="status" align="center" width="150"> >
<template #default="{ row }"> <el-table-column label="id" prop="id" align="center" width="180" />
{{ row.status == 1 ? '停用' : '正常' }} <el-table-column label="模板名称" prop="templateName" align="center" width="150" />
</template> <!-- <el-table-column label="模板名称" prop="templateName" align="center" width="150" /> -->
</el-table-column> <el-table-column label="模版类型" prop="templateType" align="center" width="150">
<el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width"> <template #default="{ row }">
<template #default="scope"> {{ row.templateType == 1 ? '公告' : '通知' }}
<el-tooltip content="查看" placement="top"> </template>
<el-button link type="primary" v-hasPermi="['workflow:video:remove']" @click="seachfun(scope.row.id)">查看</el-button> </el-table-column>
</el-tooltip> <el-table-column label="状态" prop="status" align="center" width="150">
<el-tooltip content="编辑" placement="top"> <template #default="{ row }">
<el-button link type="primary" v-hasPermi="['workflow:video:remove']" @click="updatefun(scope.row.id)">编辑</el-button> {{ row.status == 1 ? '停用' : '正常' }}
</el-tooltip> </template>
<el-tooltip content="删除" placement="top"> </el-table-column>
<el-button link type="primary" v-hasPermi="['workflow:video:remove']" @click="deltemplatefun(scope.row.id)">删除</el-button> <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
</el-tooltip> <template #default="scope">
</template> <el-tooltip content="查看" placement="top">
</el-table-column> <el-button link type="primary" v-hasPermi="['workflow:video:remove']" @click="seachfun(scope.row.id)">查看</el-button>
</el-table> </el-tooltip>
<div class="block"> <el-tooltip content="编辑" placement="top">
<pagination v-if="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.size" @pagination="getlist" /> <el-button link type="primary" v-hasPermi="['workflow:video:remove']" @click="updatefun(scope.row.id)">编辑</el-button>
</div> </el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" v-hasPermi="['workflow:video:remove']" @click="deltemplatefun(scope.row.id)">删除</el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<div class="block">
<pagination v-if="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.size" @pagination="getlist" />
</div>
</el-card>
<el-dialog v-model="showRefuteDialog" title="创建消息模板"> <el-dialog v-model="showRefuteDialog" title="创建消息模板">
<el-form :model="dataparams" :rules="rules"> <el-form :model="dataparams" :rules="rules">
<el-form-item label="模板类型"> <el-form-item label="模板类型">

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="pl"> <div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave"> <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="search"> <div v-show="showSearch" class="search">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
@ -28,44 +28,53 @@
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-button type="primary" @click="showRefuteDialog = true">发送信息</el-button>
</div> </div>
</transition> </transition>
<el-table <el-card shadow="hover">
ref="categoryTableRef" <template #header>
:data="messList" <el-row :gutter="10">
row-key="categoryId" <el-col :span="1.5">
border <!-- <el-button type="primary" @click="handleAdd" v-hasPermi="['oms:orderDeliveryHistory:add']">新增</el-button> -->
:default-expand-all="isExpandAll" <el-button type="primary" plain icon="Plus" @click="showRefuteDialog = true">发送信息</el-button>
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" </el-col>
> </el-row>
<el-table-column label="id" prop="id" align="center" width="180" /> </template>
<el-table-column label="发送者ID" prop="senderId" align="center" width="150" /> <el-table
<el-table-column label="标题" prop="title" align="center" width="150" /> ref="categoryTableRef"
<el-table-column label="内容" prop="content" align="center" width="150" /> :data="messList"
<el-table-column label="创建时间" prop="createTime" align="center" width="200" /> row-key="categoryId"
<!-- <el-table-column label="定时发送时间" prop="scheduledTime" align="center" width="200" /> --> border
<!-- <el-table-column label="触发类型" prop="title" align="center" width="150"> :default-expand-all="isExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column label="id" prop="id" align="center" width="180" />
<el-table-column label="发送者ID" prop="senderId" align="center" width="150" />
<el-table-column label="标题" prop="title" align="center" width="150" />
<el-table-column label="内容" prop="content" align="center" width="150" />
<el-table-column label="创建时间" prop="createTime" align="center" width="200" />
<!-- <el-table-column label="定时发送时间" prop="scheduledTime" align="center" width="200" /> -->
<!-- <el-table-column label="触发类型" prop="title" align="center" width="150">
<template #default="{ row }"> <template #default="{ row }">
{{ row.msgType == 1 ? '手动' : '自动' }} {{ row.msgType == 1 ? '手动' : '自动' }}
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="消息类型" prop="title" align="center" width="150"> <el-table-column label="消息类型" prop="title" align="center" width="150">
<template #default="{ row }"> <template #default="{ row }">
{{ isSub[row.subType] }} {{ isSub[row.subType] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-tooltip content="撤回" placement="top"> <el-tooltip content="撤回" placement="top">
<el-button link type="primary" v-hasPermi="['workflow:video:remove']">撤回</el-button> <el-button link type="primary" v-hasPermi="['workflow:video:remove']">撤回</el-button>
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="block"> <div class="block">
<pagination v-if="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.size" @pagination="getlist" /> <pagination v-if="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.size" @pagination="getlist" />
</div> </div>
</el-card>
<el-dialog v-model="showRefuteDialog" title="消息发送" @close="clearFormData"> <el-dialog v-model="showRefuteDialog" title="消息发送" @close="clearFormData">
<el-form :model="dataparams" :rules="rules"> <el-form :model="dataparams" :rules="rules">
<el-form-item label="模板名称"> <el-form-item label="模板名称">

View File

@ -1,5 +1,5 @@
<template> <template>
<div> <div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave"> <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="true" class="search"> <div v-show="true" class="search">
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form ref="queryFormRef" :model="queryParams" :inline="true">
@ -15,44 +15,55 @@
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
<el-button icon="Refresh" @click="showRefuteDialog = true">新增</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
</transition> </transition>
<el-table :data="devices" border style="width: 100%; height: 100%; font-size: 14px"> <el-card shadow="hover">
<el-table-column label="平台类型" align="center" prop="platformType" :show-overflow-tooltip="true" /> <template #header>
<el-table-column label="版本号" align="center" prop="versionCode" :show-overflow-tooltip="true" /> <el-row :gutter="10">
<el-table-column label="版本名称" align="center" prop="versionName" :show-overflow-tooltip="true" /> <el-col :span="1.5"> <el-button icon="Refresh" @click="showRefuteDialog = true">新增</el-button> </el-col>
<el-table-column label="下载地址" align="center" prop="downloadUrl" :show-overflow-tooltip="true" /> </el-row>
<el-table-column label="是否强制更新" align="center" prop="isForceUpdate" width="180"> </template>
<template #default="scope"> <el-table :data="devices" border style="width: 100%; height: 100%; font-size: 14px">
<span>{{ scope.row.isForceUpdate ? '是' : '否' }}</span> <el-table-column label="平台类型" align="center" prop="platformType" :show-overflow-tooltip="true" />
</template> <el-table-column label="版本号" align="center" prop="versionCode" :show-overflow-tooltip="true" />
</el-table-column> <el-table-column label="版本名称" align="center" prop="versionName" :show-overflow-tooltip="true" />
<el-table-column label="版本说明" align="center" prop="releaseNotes" :show-overflow-tooltip="true" /> <el-table-column label="下载地址" align="center" prop="downloadUrl" :show-overflow-tooltip="true" />
<el-table-column label="是否启用" align="center" prop="status" width="180"> <el-table-column label="是否强制更新" align="center" prop="isForceUpdate" width="180">
<template #default="scope"> <template #default="scope">
<el-switch :model-value="scope.row.status ? true : false" active-text="启用" inactive-text="停用" @click="handleStatusChange(scope.row)" /> <span>{{ scope.row.isForceUpdate ? '是' : '否' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="版本说明" align="center" prop="releaseNotes" :show-overflow-tooltip="true" />
<template #default="scope"> <el-table-column label="是否启用" align="center" prop="status" width="180">
<el-tooltip content="删除" placement="top"> <template #default="scope">
<el-button link type="primary" @click="handldDelOnline(scope.row)">删除</el-button> <el-switch
</el-tooltip> :model-value="scope.row.status ? true : false"
</template> active-text="启用"
</el-table-column> inactive-text="停用"
</el-table> @click="handleStatusChange(scope.row)"
<div class="block"> />
<pagination </template>
v-if="totalref > 0" </el-table-column>
:total="totalref" <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
v-model:page="queryParams.current" <template #default="scope">
v-model:limit="queryParams.size" <el-tooltip content="删除" placement="top">
@pagination="getListList" <el-button link type="primary" @click="handldDelOnline(scope.row)">删除</el-button>
/> </el-tooltip>
</div> </template>
</el-table-column>
</el-table>
<div class="block">
<pagination
v-if="totalref > 0"
:total="totalref"
v-model:page="queryParams.current"
v-model:limit="queryParams.size"
@pagination="getListList"
/>
</div>
</el-card>
<el-dialog v-model="showRefuteDialog" title="添加版本" width="600px" append-to-body> <el-dialog v-model="showRefuteDialog" title="添加版本" width="600px" append-to-body>
<el-form> <el-form>
<el-form-item label="平台类型"> <el-form-item label="平台类型">

View File

@ -1,84 +1,87 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<div> <div>
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="充值码" prop="code"> <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form">
<el-input v-model.trim="queryParams.code" placeholder="请输入充值码" clearable /> <el-form-item label="充值码" prop="code">
</el-form-item> <el-input v-model.trim="queryParams.code" placeholder="请输入充值码" clearable />
<el-form-item label="昵称" prop="nickname"> </el-form-item>
<el-input v-model.trim="queryParams.nickname" placeholder="请输入昵称" clearable /> <el-form-item label="昵称" prop="nickname">
</el-form-item> <el-input v-model.trim="queryParams.nickname" placeholder="请输入昵称" clearable />
<el-form-item label="充值人手机号" prop="phone"> </el-form-item>
<el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable /> <el-form-item label="充值人手机号" prop="phone">
</el-form-item> <el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable />
<el-form-item label="充值方式" prop="method"> </el-form-item>
<el-select v-model="queryParams.method"> <el-form-item label="充值方式" prop="method">
<el-option v-for="item in userWithdrawMethodMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.method">
</el-select> <el-option v-for="item in userWithdrawMethodMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item label="充值类型" prop="type"> </el-form-item>
<el-select v-model="queryParams.type"> <el-form-item label="充值类型" prop="type">
<el-option v-for="item in userWithdrawTypeMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.type">
</el-select> <el-option v-for="item in userWithdrawTypeMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<!-- <el-form-item label="审核状态" prop="auditStatus"> </el-form-item>
<!-- <el-form-item label="审核状态" prop="auditStatus">
<el-select v-model="queryParams.auditStatus"> <el-select v-model="queryParams.auditStatus">
<el-option v-for="item in userWithdrawAuditMap" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in userWithdrawAuditMap" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item>--> </el-form-item>-->
<el-form-item label="充值状态" prop="status"> <el-form-item label="充值状态" prop="status">
<el-select v-model="queryParams.status"> <el-select v-model="queryParams.status">
<el-option v-for="item in userWithdrawStatusMap" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in userWithdrawStatusMap" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="flex_one tr"> <el-form-item class="flex_one tr">
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
<!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>--> <!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>-->
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card>
<el-card shadow="hover">
<el-table v-loading="userChargeInfoTableLoading" :data="userChargedrawInfo.data" border empty-text="暂无数据">
<el-table-column label="充值人" prop="createBy" />
<el-table-column label="充值时间" prop="createTime" />
<!-- <el-table-column label="提现码" prop="code" />-->
<el-table-column label="充值方式" prop="method">
<template v-slot="scope">
{{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }}
</template>
</el-table-column>
<el-table-column label="充值类型" prop="type">
<template v-slot="scope">
{{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }}
</template>
</el-table-column>
<el-table-column label="充值状态" prop="status">
<template v-slot="scope">
{{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }}
</template>
</el-table-column>
<el-table-column label="充值金额" prop="money">
<template v-slot="scope"> {{ scope.row.money || '0.00' }} </template>
</el-table-column>
<el-table-column label="手续费" prop="fee">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
<el-table v-loading="userChargeInfoTableLoading" :data="userChargedrawInfo.data" border empty-text="暂无数据"> <el-table-column label="实际充值金额" prop="actualMoney">
<el-table-column label="充值人" prop="createBy" /> <template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template>
<el-table-column label="充值时间" prop="createTime" /> </el-table-column>
<!-- <el-table-column label="提现码" prop="code" />--> </el-table>
<el-table-column label="充值方式" prop="method"> <pagination
<template v-slot="scope"> v-if="userChargedrawInfo.total"
{{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }} :total="userChargedrawInfo.total"
</template> v-model:page="chargeDataParams.current"
</el-table-column> v-model:limit="chargeDataParams.size"
<el-table-column label="充值类型" prop="type"> @pagination="
<template v-slot="scope"> () => {
{{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }} getList(userChargedrawInfo.record);
</template> }
</el-table-column> "
<el-table-column label="充值状态" prop="status"> />
<template v-slot="scope"> </el-card>
{{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }}
</template>
</el-table-column>
<el-table-column label="充值金额" prop="money">
<template v-slot="scope"> {{ scope.row.money || '0.00' }} </template>
</el-table-column>
<el-table-column label="手续费" prop="fee">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
<el-table-column label="实际充值金额" prop="actualMoney">
<template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template>
</el-table-column>
</el-table>
<pagination
v-if="userChargedrawInfo.total"
:total="userChargedrawInfo.total"
v-model:page="chargeDataParams.current"
v-model:limit="chargeDataParams.size"
@pagination="
() => {
getList(userChargedrawInfo.record);
}
"
/>
</div> </div>
</div> </div>
</template> </template>

View File

@ -1,63 +1,66 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<div> <div>
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="订单ID" prop="orderId"> <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form">
<el-input v-model.trim="queryParams.orderId" placeholder="请输入订单ID" clearable /> <el-form-item label="订单ID" prop="orderId">
</el-form-item> <el-input v-model.trim="queryParams.orderId" placeholder="请输入订单ID" clearable />
<el-form-item label="订单编号" prop="orderSn"> </el-form-item>
<el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单编号" clearable /> <el-form-item label="订单编号" prop="orderSn">
</el-form-item> <el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单编号" clearable />
<el-form-item label="分账状态" prop="status"> </el-form-item>
<el-select v-model="queryParams.status"> <el-form-item label="分账状态" prop="status">
<el-option v-for="item in userStatusMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.status">
</el-select> <el-option v-for="item in userStatusMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item label="分账类型" prop="type"> </el-form-item>
<el-select v-model="queryParams.type"> <el-form-item label="分账类型" prop="type">
<el-option v-for="item in userTypeMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.type">
</el-select> <el-option v-for="item in userTypeMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
</el-card>
<el-card shadow="hover">
<el-table v-loading="tableLoading" :data="userDataInfo.data" border empty-text="暂无数据">
<el-table-column label="订单id" prop="orderId" />
<el-table-column label="分账规则" prop="ruleName" />
<el-table-column label="订单总金额" prop="orderMoney">
<template v-slot="scope"> {{ scope.row.orderMoney || '0.00' }} </template>
</el-table-column>
<el-table-column label="手续费" prop="fee">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
<el-table v-loading="tableLoading" :data="userDataInfo.data" border empty-text="暂无数据"> <el-table-column label="实际分账金额" prop="actualMoney">
<el-table-column label="订单id" prop="orderId" /> <template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template>
<el-table-column label="分账规则" prop="ruleName" /> </el-table-column>
<el-table-column label="订单总金额" prop="orderMoney"> <el-table-column label="分账类型" prop="type">
<template v-slot="scope"> {{ scope.row.orderMoney || '0.00' }} </template> <template v-slot="scope">
</el-table-column> {{ getEmulistLabelById(scope.row.type, userTypeMap) }}
<el-table-column label="手续费" prop="fee"> </template>
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template> </el-table-column>
</el-table-column> <el-table-column label="状态" prop="status">
<template v-slot="scope">
<el-table-column label="实际分账金额" prop="actualMoney"> {{ getEmulistLabelById(scope.row.status, userStatusMap) }}
<template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template> </template>
</el-table-column> </el-table-column>
<el-table-column label="分账类型" prop="type"> <el-table-column label="创建部门" prop="createDept" width="100" />
<template v-slot="scope"> <el-table-column label="创建人" prop="createBy" width="100" />
{{ getEmulistLabelById(scope.row.type, userTypeMap) }} <el-table-column label="创建时间" prop="auditTime" width="100" />
</template> </el-table>
</el-table-column> <pagination
<el-table-column label="状态" prop="status"> v-if="userDataInfo.total"
<template v-slot="scope"> :total="userDataInfo.total"
{{ getEmulistLabelById(scope.row.status, userStatusMap) }} v-model:page="dataParams.current"
</template> v-model:limit="dataParams.size"
</el-table-column> @pagination="getList"
<el-table-column label="创建部门" prop="createDept" width="100" /> />
<el-table-column label="创建人" prop="createBy" width="100" /> </el-card>
<el-table-column label="创建时间" prop="auditTime" width="100" />
</el-table>
<pagination
v-if="userDataInfo.total"
:total="userDataInfo.total"
v-model:page="dataParams.current"
v-model:limit="dataParams.size"
@pagination="getList"
/>
</div> </div>
</div> </div>
</template> </template>

View File

@ -1,66 +1,71 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div> <div>
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="编号" prop="code"> <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form">
<el-input v-model.trim="queryParams.code" placeholder="编号" clearable /> <el-form-item label="编号" prop="code">
</el-form-item> <el-input v-model.trim="queryParams.code" placeholder="编号" clearable />
<el-form-item label="规则名称" prop="name"> </el-form-item>
<el-input v-model.trim="queryParams.name" placeholder="请输入规则名称" clearable /> <el-form-item label="规则名称" prop="name">
</el-form-item> <el-input v-model.trim="queryParams.name" placeholder="请输入规则名称" clearable />
<el-form-item label="规则状态" prop="status"> </el-form-item>
<el-select v-model="queryParams.status"> <el-form-item label="规则状态" prop="status">
<el-option v-for="item in userStatusMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.status">
</el-select> <el-option v-for="item in userStatusMap" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="适用订单类型" prop="type">
<el-select v-model="queryParams.type">
<el-option v-for="item in userDivideRuleMap" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item class="flex_one tr">
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</el-card>
<el-card shadow="hover">
<template #header>
<el-row :gutter="10">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
</el-row>
</template>
<el-table v-loading="tableLoading" :data="userDataInfo.data" border empty-text="暂无数据">
<el-table-column label="编号" prop="code" />
<el-table-column label="规则名称" prop="name" />
<el-table-column label="是否分配手续费" prop="divideFeeFlag">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
</el-form-item> <el-table-column label="手续费分配方式" prop="feeType">
<el-form-item label="适用订单类型" prop="type"> <template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template>
<el-select v-model="queryParams.type"> </el-table-column>
<el-option v-for="item in userDivideRuleMap" :key="item.value" :label="item.label" :value="item.value" /> <el-table-column label="状态" prop="status">
</el-select> <template v-slot="scope">
</el-form-item> {{ getEmulistLabelById(scope.row.status, userStatusMap) }}
<el-form-item class="flex_one tr"> </template>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> </el-table-column>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-table-column label="创建部门" prop="createDept" width="100" />
</el-form-item> <el-table-column label="创建人" prop="createBy" width="100" />
</el-form> <el-table-column label="创建时间" prop="createTime" width="100" />
<el-row :gutter="10" class="mb8"> <el-table-column label="操作" width="200">
<el-col :span="1.5"> <template v-slot="scope">
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button> <el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改 </el-button>
</el-col> <el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
</el-row> </template>
<el-table v-loading="tableLoading" :data="userDataInfo.data" border empty-text="暂无数据"> </el-table-column>
<el-table-column label="编号" prop="code" /> </el-table>
<el-table-column label="规则名称" prop="name" /> <pagination
<el-table-column label="是否分配手续费" prop="divideFeeFlag"> v-if="userDataInfo.total"
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template> :total="userDataInfo.total"
</el-table-column> v-model:page="dataParams.current"
v-model:limit="dataParams.size"
<el-table-column label="手续费分配方式" prop="feeType"> @pagination="getList"
<template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template> />
</el-table-column> </el-card>
<el-table-column label="状态" prop="status">
<template v-slot="scope">
{{ getEmulistLabelById(scope.row.status, userStatusMap) }}
</template>
</el-table-column>
<el-table-column label="创建部门" prop="createDept" width="100" />
<el-table-column label="创建人" prop="createBy" width="100" />
<el-table-column label="创建时间" prop="createTime" width="100" />
<el-table-column label="操作" width="200">
<template v-slot="scope">
<el-button text type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改 </el-button>
<el-button text type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-if="userDataInfo.total"
:total="userDataInfo.total"
v-model:page="dataParams.current"
v-model:limit="dataParams.size"
@pagination="getList"
/>
</div> </div>
<!-- 添加或修改规则对话框 --> <!-- 添加或修改规则对话框 -->
<el-dialog :title="title" v-model="open" width="900" append-to-body> <el-dialog :title="title" v-model="open" width="900" append-to-body>

View File

@ -1,102 +1,105 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div> <div>
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="提现单号" prop="code"> <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form">
<el-input v-model.trim="queryParams.code" placeholder="请输入会员id" clearable /> <el-form-item label="提现单号" prop="code">
</el-form-item> <el-input v-model.trim="queryParams.code" placeholder="请输入会员id" clearable />
<el-form-item label="昵称" prop="nickname"> </el-form-item>
<el-input v-model.trim="queryParams.nickname" placeholder="请输入昵称" clearable /> <el-form-item label="昵称" prop="nickname">
</el-form-item> <el-input v-model.trim="queryParams.nickname" placeholder="请输入昵称" clearable />
<el-form-item label="提现人手机号" prop="phone"> </el-form-item>
<el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable /> <el-form-item label="提现人手机号" prop="phone">
</el-form-item> <el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable />
<el-form-item label="提现方式" prop="method"> </el-form-item>
<el-select v-model="queryParams.method"> <el-form-item label="提现方式" prop="method">
<el-option v-for="item in userWithdrawMethodMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.method">
</el-select> <el-option v-for="item in userWithdrawMethodMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item label="提现类型" prop="type"> </el-form-item>
<el-select v-model="queryParams.type"> <el-form-item label="提现类型" prop="type">
<el-option v-for="item in userWithdrawTypeMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.type">
</el-select> <el-option v-for="item in userWithdrawTypeMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item label="审核状态" prop="auditStatus"> </el-form-item>
<el-select v-model="queryParams.auditStatus"> <el-form-item label="审核状态" prop="auditStatus">
<el-option v-for="item in userWithdrawAuditMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.auditStatus">
</el-select> <el-option v-for="item in userWithdrawAuditMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item label="提现状态" prop="status"> </el-form-item>
<el-select v-model="queryParams.status"> <el-form-item label="提现状态" prop="status">
<el-option v-for="item in userWithdrawStatusMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.status">
</el-select> <el-option v-for="item in userWithdrawStatusMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>--> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> <!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>-->
</el-form> </el-form-item>
</el-form>
</el-card>
<el-card shadow="hover">
<el-table v-loading="userWithdrawInfoTableLoading" :data="userWithdrawInfo.data" border empty-text="暂无数据">
<el-table-column label="申请人" prop="createBy">
<template v-slot="scope">
{{ scope.row.member ? scope.row.member.nickname : '' }}
</template>
</el-table-column>
<el-table-column label="申请时间" prop="createTime" />
<el-table-column label="提现码" prop="code" />
<el-table-column label="提现金额" prop="money">
<template v-slot="scope"> {{ scope.row.money || '0.00' }} </template>
</el-table-column>
<el-table-column label="手续费" prop="fee">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
<el-table v-loading="userWithdrawInfoTableLoading" :data="userWithdrawInfo.data" border empty-text="暂无数据"> <el-table-column label="实际到账金额" prop="actualMoney">
<el-table-column label="申请人" prop="createBy"> <template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template>
<template v-slot="scope"> </el-table-column>
{{ scope.row.member ? scope.row.member.nickname : '' }}
</template>
</el-table-column>
<el-table-column label="申请时间" prop="createTime" />
<el-table-column label="提现码" prop="code" />
<el-table-column label="提现金额" prop="money">
<template v-slot="scope"> {{ scope.row.money || '0.00' }} </template>
</el-table-column>
<el-table-column label="手续费" prop="fee">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
<el-table-column label="实际到账金额" prop="actualMoney"> <el-table-column label="提现方式" prop="method">
<template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template> <template v-slot="scope">
</el-table-column> {{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }}
</template>
<el-table-column label="提现方式" prop="method"> </el-table-column>
<template v-slot="scope"> <el-table-column label="提现类型" prop="type">
{{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }} <template v-slot="scope">
</template> {{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }}
</el-table-column> </template>
<el-table-column label="提现类型" prop="type"> </el-table-column>
<template v-slot="scope"> <el-table-column label="提现状态" prop="status">
{{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }} <template v-slot="scope">
</template> {{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }}
</el-table-column> </template>
<el-table-column label="提现状态" prop="status"> </el-table-column>
<template v-slot="scope"> <el-table-column label="审批状态" prop="auditStatus">
{{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }} <template v-slot="scope">
</template> {{ getEmulistLabelById(scope.row.auditStatus, userWithdrawAuditMap) }}
</el-table-column> <el-tooltip v-if="scope.row.auditStatus == '2'" :content="scope.row.auditStatus == '2' ? scope.row.auditReason : null" placement="top">
<el-table-column label="审批状态" prop="auditStatus"> <el-icon>
<template v-slot="scope"> <question-filled />
{{ getEmulistLabelById(scope.row.auditStatus, userWithdrawAuditMap) }} </el-icon>
<el-tooltip v-if="scope.row.auditStatus == '2'" :content="scope.row.auditStatus == '2' ? scope.row.auditReason : null" placement="top"> </el-tooltip>
<el-icon> </template>
<question-filled /> </el-table-column>
</el-icon> <el-table-column label="审核人" prop="auditBy" width="100" />
</el-tooltip> <el-table-column label="审核时间" prop="auditTime" width="100" />
</template> <el-table-column label="操作" fixed="right" align="center" width="100">
</el-table-column> <template v-slot="scope">
<el-table-column label="审核人" prop="auditBy" width="100" /> <el-button v-if="scope.row.auditStatus == '0'" text type="primary" @click="showAuditModal(scope.row)">审批</el-button>
<el-table-column label="审核时间" prop="auditTime" width="100" /> </template>
<el-table-column label="操作" fixed="right" align="center" width="100"> </el-table-column>
<template v-slot="scope"> </el-table>
<el-button v-if="scope.row.auditStatus == '0'" text type="primary" @click="showAuditModal(scope.row)">审批</el-button> <pagination
</template> v-if="userWithdrawInfo.total"
</el-table-column> :total="userWithdrawInfo.total"
</el-table> v-model:page="withdrawDataParams.current"
<pagination v-model:limit="withdrawDataParams.size"
v-if="userWithdrawInfo.total" @pagination="getList"
:total="userWithdrawInfo.total" />
v-model:page="withdrawDataParams.current" </el-card>
v-model:limit="withdrawDataParams.size"
@pagination="getList"
/>
</div> </div>
<!-- 提现审核--> <!-- 提现审核-->
<el-dialog title="提现审核" v-model="auditFormOpen" width="500px" append-to-body> <el-dialog title="提现审核" v-model="auditFormOpen" width="500px" append-to-body>

View File

@ -1,33 +1,36 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<div v-show="show"> <div v-show="show">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="名称" prop="name"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<el-input v-model.trim="queryParams.id" placeholder="请输入会员名称" clearable /> <el-form-item label="名称" prop="name">
</el-form-item> <el-input v-model.trim="queryParams.id" placeholder="请输入会员名称" clearable />
<el-form-item label="手机号码" prop="phone"> </el-form-item>
<el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable /> <el-form-item label="手机号码" prop="phone">
</el-form-item> <el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable />
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
<el-table v-loading="loading" :data="umsAccountList" border empty-text="暂无数据"> </el-card>
<el-table-column label="昵称" prop="name" /> <el-card shadow="hover">
<el-table-column label="手机号" prop="phone" /> <el-table v-loading="loading" :data="umsAccountList" border empty-text="暂无数据">
<el-table-column label="钱包" prop="wallet"> <el-table-column label="昵称" prop="name" />
<template v-slot="scope"> {{ scope.row.wallet || '0.00' }} </template> <el-table-column label="手机号" prop="phone" />
</el-table-column> <el-table-column label="钱包" prop="wallet">
<el-table-column label="营收" prop="revenue"> <template v-slot="scope"> {{ scope.row.wallet || '0.00' }} </template>
<template v-slot="scope"> {{ scope.row.revenue || '0.00' }} </template> </el-table-column>
</el-table-column> <el-table-column label="营收" prop="revenue">
<el-table-column label="积分余额" prop="integral"> <template v-slot="scope"> {{ scope.row.revenue || '0.00' }} </template>
<template v-slot="scope"> {{ scope.row.integral || '0.00' }} </template> </el-table-column>
</el-table-column> <el-table-column label="积分余额" prop="integral">
</el-table> <template v-slot="scope"> {{ scope.row.integral || '0.00' }} </template>
<pagination :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.size" @pagination="getList" /> </el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.size" @pagination="getList" />
</el-card>
</div> </div>
</div> </div>
</template> </template>

View File

@ -1,72 +1,75 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="创建时间"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<el-date-picker <el-form-item label="创建时间">
v-model="dateRange" <el-date-picker
style="width: 240px" v-model="dateRange"
value-format="yyyy-MM-dd" style="width: 240px"
type="daterange" value-format="yyyy-MM-dd"
:clearable="true" type="daterange"
:picker-options="pickerOptions" :clearable="true"
range-separator="-" :picker-options="pickerOptions"
start-placeholder="开始日期" range-separator="-"
end-placeholder="结束日期" start-placeholder="开始日期"
></el-date-picker> end-placeholder="结束日期"
</el-form-item> ></el-date-picker>
<el-form-item label="处理状态"> </el-form-item>
<el-select v-model="queryParams.status" clearable> <el-form-item label="处理状态">
<el-option value="0" label="未处理" /> <el-select v-model="queryParams.status" clearable>
<el-option value="1" label="已处理" /> <el-option value="0" label="未处理" />
</el-select> <el-option value="1" label="已处理" />
</el-form-item> </el-select>
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
</el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form> </el-form-item>
</el-form>
<el-table v-loading="loading" :data="feedbackList" border> </el-card>
<el-table-column label="反馈人" align="left" prop="nickname" width="150"> <el-card shadow="hover">
<template v-slot="scope"> <el-table v-loading="loading" :data="feedbackList" border>
<p>用户ID{{ scope.row.createBy }}</p> <el-table-column label="反馈人" align="left" prop="nickname" width="150">
<p>{{ scope.row.phone }}</p> <template v-slot="scope">
</template> <p>用户ID{{ scope.row.createBy }}</p>
</el-table-column> <p>{{ scope.row.phone }}</p>
<el-table-column label="反馈时间" prop="createTime" width="180"> </template>
<template v-slot="scope"> </el-table-column>
<div>{{ parseTime(scope.row.createTime) }}</div> <el-table-column label="反馈时间" prop="createTime" width="180">
</template> <template v-slot="scope">
</el-table-column> <div>{{ parseTime(scope.row.createTime) }}</div>
<el-table-column label="反馈类型" prop="type" /> </template>
<el-table-column label="具体内容" prop="content" show-overflow-tooltip /> </el-table-column>
<el-table-column label="图片"> <el-table-column label="反馈类型" prop="type" />
<template v-slot="scope"> <el-table-column label="具体内容" prop="content" show-overflow-tooltip />
<el-image <el-table-column label="图片">
v-if="scope.row.imageList.length" <template v-slot="scope">
style="width: 60px; height: 60px" <el-image
v-for="it in scope.row.imageList" v-if="scope.row.imageList.length"
:key="it" style="width: 60px; height: 60px"
:src="it" v-for="it in scope.row.imageList"
:preview-src-list="[it]" :key="it"
> :src="it"
</el-image> :preview-src-list="[it]"
</template> >
</el-table-column> </el-image>
<el-table-column label="处理状态/时间"> </template>
<template v-slot="scope"> </el-table-column>
<div v-if="scope.row.handleStatus === 1">已处理</div> <el-table-column label="处理状态/时间">
<el-switch v-else v-model="scope.row.handleStatus" active-value="1" inactive-value="0" @change="changeStatus(scope.row)" /> <template v-slot="scope">
<div>{{ scope.row.handleTime ? parseTime(scope.row.handleTime) : '' }}</div> <div v-if="scope.row.handleStatus === 1">已处理</div>
</template> <el-switch v-else v-model="scope.row.handleStatus" active-value="1" inactive-value="0" @change="changeStatus(scope.row)" />
</el-table-column> <div>{{ scope.row.handleTime ? parseTime(scope.row.handleTime) : '' }}</div>
<el-table-column label="备注"> </template>
<template v-slot="scope"> </el-table-column>
<span class="mr10">{{ scope.row.remark }}</span> <el-table-column label="备注">
<i class="el-icon-edit pointer" @click="showUpdateMark(scope.row)"></i> <template v-slot="scope">
</template> <span class="mr10">{{ scope.row.remark }}</span>
</el-table-column> <i class="el-icon-edit pointer" @click="showUpdateMark(scope.row)"></i>
</el-table> </template>
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<el-dialog title="修改备注" v-model="remarkModal.visible" width="30%" append-to-body> <el-dialog title="修改备注" v-model="remarkModal.visible" width="30%" append-to-body>
<el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="remarkModal.remark" /> <el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="remarkModal.remark" />
<template v-slot:footer> <template v-slot:footer>

View File

@ -1,95 +1,97 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<div v-show="show"> <div v-show="show">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="创建时间"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<el-date-picker <el-form-item label="创建时间">
v-model="dateRange" <el-date-picker
style="width: 240px" v-model="dateRange"
value-format="yyyy-MM-dd" style="width: 240px"
type="daterange" value-format="yyyy-MM-dd"
:clearable="true" type="daterange"
:picker-options="pickerOptions" :clearable="true"
range-separator="-" :picker-options="pickerOptions"
start-placeholder="开始日期" range-separator="-"
end-placeholder="结束日期" start-placeholder="开始日期"
></el-date-picker> end-placeholder="结束日期"
</el-form-item> ></el-date-picker>
<el-form-item label="会员ID" prop="id"> </el-form-item>
<el-input v-model.trim="queryParams.id" placeholder="请输入会员id" clearable /> <el-form-item label="会员ID" prop="id">
</el-form-item> <el-input v-model.trim="queryParams.id" placeholder="请输入会员id" clearable />
<el-form-item label="昵称" prop="nickname"> </el-form-item>
<el-input v-model.trim="queryParams.nickname" placeholder="请输入昵称" clearable /> <el-form-item label="昵称" prop="nickname">
</el-form-item> <el-input v-model.trim="queryParams.nickname" placeholder="请输入昵称" clearable />
<el-form-item label="手机号码" prop="phone"> </el-form-item>
<el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable /> <el-form-item label="手机号码" prop="phone">
</el-form-item> <el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable />
<el-form-item label="备注" prop="mark"> </el-form-item>
<el-select v-model="queryParams.hasMark" clearable> <el-form-item label="备注" prop="mark">
<el-option value="1" label="有备注" /> <el-select v-model="queryParams.hasMark" clearable>
<el-option value="0" label="无备注" /> <el-option value="1" label="有备注" />
</el-select> <el-option value="0" label="无备注" />
</el-form-item> </el-select>
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>--> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> <!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>-->
</el-form> </el-form-item>
</el-form>
<el-table v-loading="loading" :data="umsMemberList" border empty-text="暂无数据"> </el-card>
<!-- <el-table-column label="会员ID" prop="id" width="180" />--> <el-card shadow="hover">
<el-table-column label="昵称" prop="nickname" width="150" /> <el-table v-loading="loading" :data="umsMemberList" border empty-text="暂无数据">
<el-table-column label="手机号" prop="phoneHidden" width="150" /> <!-- <el-table-column label="会员ID" prop="id" width="180" />-->
<el-table-column label="注册日期" prop="createTime" width="150" /> <el-table-column label="昵称" prop="nickname" width="150" />
<!-- <el-table-column label="钱包" prop="phoneHidden" width="150" /> <el-table-column label="手机号" prop="phoneHidden" width="150" />
<el-table-column label="注册日期" prop="createTime" width="150" />
<!-- <el-table-column label="钱包" prop="phoneHidden" width="150" />
<el-table-column label="营收" prop="phoneHidden" width="150" /> <el-table-column label="营收" prop="phoneHidden" width="150" />
<el-table-column label="积分" prop="integral" width="150" /> <el-table-column label="积分" prop="integral" width="150" />
<el-table-column label="实名认证信息" prop="userName" width="150" /> <el-table-column label="实名认证信息" prop="userName" width="150" />
<el-table-column label="银行卡信息" prop="phoneHidden" width="150" />--> <el-table-column label="银行卡信息" prop="phoneHidden" width="150" />-->
<el-table-column label="账号状态" prop="status" width="150"> <el-table-column label="账号状态" prop="status" width="150">
<template v-slot="scope"> <template v-slot="scope">
<el-switch <el-switch
:model-value="scope.row.status" :model-value="scope.row.status"
:active-value="1" :active-value="1"
:inactive-value="0" :inactive-value="0"
active-text="启用" active-text="启用"
inactive-text="禁用" inactive-text="禁用"
inline-prompt inline-prompt
:before-change=" :before-change="
() => { () => {
return handleChangeUserStatus(scope.row); return handleChangeUserStatus(scope.row);
} }
" "
> >
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="内部账号" prop="userId" width="90"> <el-table-column label="内部账号" prop="userId" width="90">
<template v-slot="scope"> <template v-slot="scope">
{{ scope.row.userId ? '内部账号' : '外部账号' }} {{ scope.row.userId ? '内部账号' : '外部账号' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="关注数量" prop="followCount" width="100"> <el-table-column label="关注数量" prop="followCount" width="100">
<template v-slot="scope"> <template v-slot="scope">
<el-button text type="primary" icon="user" @click="showUserFansListModal(1, scope.row, true)">{{ scope.row.followCount }}</el-button> <el-button text type="primary" icon="user" @click="showUserFansListModal(1, scope.row, true)">{{ scope.row.followCount }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="粉丝数量" prop="fansCount" width="100"> <el-table-column label="粉丝数量" prop="fansCount" width="100">
<template v-slot="scope"> <template v-slot="scope">
<el-button text type="primary" icon="user" @click="showUserFansListModal(2, scope.row, true)">{{ scope.row.fansCount }}</el-button> <el-button text type="primary" icon="user" @click="showUserFansListModal(2, scope.row, true)">{{ scope.row.fansCount }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="好友数量" prop="friendsCount" width="100"> <el-table-column label="好友数量" prop="friendsCount" width="100">
<template v-slot="scope"> <template v-slot="scope">
<el-button text type="primary" icon="user" @click="showUserFansListModal(3, scope.row, true)">{{ scope.row.friendsCount }}</el-button> <el-button text type="primary" icon="user" @click="showUserFansListModal(3, scope.row, true)">{{ scope.row.friendsCount }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="推广码" prop="spreadCode" width="150" /> <el-table-column label="推广码" prop="spreadCode" width="150" />
<el-table-column label="推广人" prop="spreadUid" width="150" /> <el-table-column label="推广人" prop="spreadUid" width="150" />
<el-table-column label="openId" prop="openId" width="150" /> <el-table-column label="openId" prop="openId" width="150" />
<!-- <el-table-column label="注册时间" prop="createTime" width="180"> <!-- <el-table-column label="注册时间" prop="createTime" width="180">
<template v-slot="scope"> <template v-slot="scope">
<div>{{ parseTime(scope.row.createTime) }}</div> <div>{{ parseTime(scope.row.createTime) }}</div>
</template> </template>
@ -99,35 +101,36 @@
<div>{{ parseTime(scope.row.createTime) }}</div> <div>{{ parseTime(scope.row.createTime) }}</div>
</template> </template>
</el-table-column>--> </el-table-column>-->
<el-table-column label="备注"> <el-table-column label="备注">
<template v-slot="scope"> <template v-slot="scope">
<span class="mr10">{{ scope.row.mark }}</span> <span class="mr10">{{ scope.row.mark }}</span>
<i class="el-icon-edit pointer" @click="showUpdateMark(scope.row)"></i> <i class="el-icon-edit pointer" @click="showUpdateMark(scope.row)"></i>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width" fixed="right" width="200"> <el-table-column label="操作" class-name="small-padding fixed-width" fixed="right" width="200">
<template v-slot="scope"> <template v-slot="scope">
<el-button size="small" text type="primary" @click="showUserAccountModal(scope.row)">账户数据 </el-button> <el-button size="small" text type="primary" @click="showUserAccountModal(scope.row)">账户数据 </el-button>
<el-button size="small" text type="primary" @click="showUserBankCardInfoModal(scope.row, true)">银行卡 </el-button> <el-button size="small" text type="primary" @click="showUserBankCardInfoModal(scope.row, true)">银行卡 </el-button>
<el-button size="small" text type="primary">充值消费记录 </el-button> <el-button size="small" text type="primary">充值消费记录 </el-button>
<el-button size="small" text type="primary">开通代理 </el-button> <el-button size="small" text type="primary">开通代理 </el-button>
<el-button size="small" text type="primary" @click="showUserAccountEditModal(scope.row)">编辑 </el-button> <el-button size="small" text type="primary" @click="showUserAccountEditModal(scope.row)">编辑 </el-button>
<el-button size="small" text type="primary" @click="showUserBalanceInfoModal(scope.row, true)">余额变更记录 </el-button> <el-button size="small" text type="primary" @click="showUserBalanceInfoModal(scope.row, true)">余额变更记录 </el-button>
<el-button size="small" text type="primary">开通易生支付 </el-button> <el-button size="small" text type="primary">开通易生支付 </el-button>
<el-button size="small" text type="primary" @click="showUserLoginInfoModal(scope.row, true)">登录记录 </el-button> <el-button size="small" text type="primary" @click="showUserLoginInfoModal(scope.row, true)">登录记录 </el-button>
<el-button size="small" text type="primary">操作日志 </el-button> <el-button size="small" text type="primary">操作日志 </el-button>
<el-button size="small" text type="primary" @click="showUserBannedInfoModal(scope.row, true)">封禁记录 </el-button> <el-button size="small" text type="primary" @click="showUserBannedInfoModal(scope.row, true)">封禁记录 </el-button>
<el-button size="small" text type="primary" @click="showBlackListInfoModal(scope.row)">黑名单 </el-button> <el-button size="small" text type="primary" @click="showBlackListInfoModal(scope.row)">黑名单 </el-button>
<el-button size="small" text type="primary" @click="handleUserDelete(scope.row)">删除 </el-button> <el-button size="small" text type="primary" @click="handleUserDelete(scope.row)">删除 </el-button>
<el-button size="small" text type="primary" @click="goWithdrawInfoPage(scope.row)">提现记录 </el-button> <el-button size="small" text type="primary" @click="goWithdrawInfoPage(scope.row)">提现记录 </el-button>
<el-button size="small" text type="primary" @click="showChargeInfoModal(scope.row, true)">充值记录 </el-button> <el-button size="small" text type="primary" @click="showChargeInfoModal(scope.row, true)">充值记录 </el-button>
<!-- <el-button text type="primary" @click="showStatistics(scope.row.id)" v-hasPermi="['ums:member:statistics']">查看数据 </el-button> <!-- <el-button text type="primary" @click="showStatistics(scope.row.id)" v-hasPermi="['ums:member:statistics']">查看数据 </el-button>
<el-button text type="primary" @click="goOrder(scope.row.phoneEncrypted)">查看下单</el-button> <el-button text type="primary" @click="goOrder(scope.row.phoneEncrypted)">查看下单</el-button>
<el-button text type="primary" @click="goCart(scope.row.phoneEncrypted)">查看购物车</el-button>--> <el-button text type="primary" @click="goCart(scope.row.phoneEncrypted)">查看购物车</el-button>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.size" @pagination="getList" /> <pagination :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.size" @pagination="getList" />
</el-card>
</div> </div>
<!-- 会员账户详情--> <!-- 会员账户详情-->
<el-dialog :title="userAccountModal.title" v-model="userAccountModal.open" width="500px" append-to-body> <el-dialog :title="userAccountModal.title" v-model="userAccountModal.open" width="500px" append-to-body>

View File

@ -1,38 +1,39 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="收货人姓名" prop="name"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<el-input v-model="queryParams.name" placeholder="请输入收货人姓名" clearable @keyup.enter="handleQuery" /> <el-form-item label="收货人姓名" prop="name">
</el-form-item> <el-input v-model="queryParams.name" placeholder="请输入收货人姓名" clearable @keyup.enter="handleQuery" />
<el-form-item label="手机号" prop="phone">
<el-input v-model="queryParams.phone" placeholder="请输入手机号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="邮政编码" prop="postCode">
<el-input v-model="queryParams.postCode" placeholder="请输入邮政编码" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="省份/直辖市" prop="province">
<el-input v-model="queryParams.province" placeholder="请输入省份/直辖市" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="城市" prop="city">
<el-input v-model="queryParams.city" placeholder="请输入城市" clearable @keyup.enter="handleQuery" />
</el-form-item>
<template v-if="showMoreCondition">
<el-form-item label="区" prop="district">
<el-input v-model="queryParams.district" placeholder="请输入区" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="详细地址" prop="detailAddress"> <el-form-item label="手机号" prop="phone">
<el-input v-model="queryParams.detailAddress" placeholder="请输入详细地址" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.phone" placeholder="请输入手机号" clearable @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
</template> <el-form-item label="邮政编码" prop="postCode">
<el-form-item class="flex_one tr"> <el-input v-model="queryParams.postCode" placeholder="请输入邮政编码" clearable @keyup.enter="handleQuery" />
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> </el-form-item>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-form-item label="省份/直辖市" prop="province">
<el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{ <el-input v-model="queryParams.province" placeholder="请输入省份/直辖市" clearable @keyup.enter="handleQuery" />
showMoreCondition ? '收起条件' : '展开条件' </el-form-item>
}}</el-button> <el-form-item label="城市" prop="city">
</el-form-item> <el-input v-model="queryParams.city" placeholder="请输入城市" clearable @keyup.enter="handleQuery" />
</el-form> </el-form-item>
<template v-if="showMoreCondition">
<el-form-item label="区" prop="district">
<el-input v-model="queryParams.district" placeholder="请输入区" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="详细地址" prop="detailAddress">
<el-input v-model="queryParams.detailAddress" placeholder="请输入详细地址" clearable @keyup.enter="handleQuery" />
</el-form-item>
</template>
<el-form-item class="flex_one tr">
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
<el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{
showMoreCondition ? '收起条件' : '展开条件'
}}</el-button>
</el-form-item>
</el-form>
</el-card>
<!-- <el-row :gutter="10" class="mb8">--> <!-- <el-row :gutter="10" class="mb8">-->
<!-- <el-col :span="1.5">--> <!-- <el-col :span="1.5">-->
<!-- <el-button--> <!-- <el-button-->
@ -46,46 +47,46 @@
<!-- </el-col>--> <!-- </el-col>-->
<!-- </el-col>--> <!-- </el-col>-->
<!-- </el-row>--> <!-- </el-row>-->
<el-card shadow="hover" class="mb-[10px]">
<el-table v-loading="loading" border :data="umsMemberAddressList">
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="收货人姓名" align="center" prop="name">
<template v-slot="scope">
<div>{{ getHiddenName(scope.row.name) }}</div>
</template>
</el-table-column>
<el-table-column label="手机号" align="center" prop="phoneHidden" />
<el-table-column label="邮政编码" align="center" prop="postCode" />
<el-table-column label="省份/直辖市" align="center" prop="province" />
<el-table-column label="城市" align="center" prop="city" />
<el-table-column label="区" align="center" prop="district" />
<el-table-column label="详细地址" align="center" prop="detailAddress" width="250">
<template v-slot="scope">
<div>{{ getHiddenDetailAddress(scope.row.detailAddress) }}</div>
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- -->
<!-- text type="primary"-->
<!-- icon="Edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['ums:memberAddress:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- -->
<!-- text type="primary"-->
<!-- icon="Delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['ums:memberAddress:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<el-table v-loading="loading" border :data="umsMemberAddressList"> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<!-- <el-table-column type="selection" width="55" align="center" />--> </el-card>
<el-table-column label="收货人姓名" align="center" prop="name">
<template v-slot="scope">
<div>{{ getHiddenName(scope.row.name) }}</div>
</template>
</el-table-column>
<el-table-column label="手机号" align="center" prop="phoneHidden" />
<el-table-column label="邮政编码" align="center" prop="postCode" />
<el-table-column label="省份/直辖市" align="center" prop="province" />
<el-table-column label="城市" align="center" prop="city" />
<el-table-column label="区" align="center" prop="district" />
<el-table-column label="详细地址" align="center" prop="detailAddress" width="250">
<template v-slot="scope">
<div>{{ getHiddenDetailAddress(scope.row.detailAddress) }}</div>
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- -->
<!-- text type="primary"-->
<!-- icon="Edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['ums:memberAddress:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- -->
<!-- text type="primary"-->
<!-- icon="Delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['ums:memberAddress:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改会员收货地址对话框 --> <!-- 添加或修改会员收货地址对话框 -->
<el-dialog :title="title" v-model:visible="open" width="50%" append-to-body> <el-dialog :title="title" v-model:visible="open" width="50%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-two"> <el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-two">

View File

@ -1,91 +1,94 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="用户手机号" prop="phone"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="default" class="ry_form">
<el-input v-model="queryParams.phone" placeholder="用户手机号" clearable @keyup.enter="handleQuery" /> <el-form-item label="用户手机号" prop="phone">
</el-form-item> <el-input v-model="queryParams.phone" placeholder="用户手机号" clearable @keyup.enter="handleQuery" />
<el-form-item label="商品名称" prop="productName"> </el-form-item>
<el-input v-model="queryParams.productName" placeholder="商品名称" clearable @keyup.enter="handleQuery" /> <el-form-item label="商品名称" prop="productName">
</el-form-item> <el-input v-model="queryParams.productName" placeholder="商品名称" clearable @keyup.enter="handleQuery" />
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
</el-form-item> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form> </el-form-item>
</el-form>
<el-table v-loading="loading" :data="umsMemberCartList" @selection-change="handleSelectionChange" border cell-class-name="my-cell"> </el-card>
<!-- <el-table-column type="selection" width="55" />--> <el-card shadow="hover">
<el-table-column label="用户信息" prop="phoneHidden"> <el-table v-loading="loading" :data="umsMemberCartList" @selection-change="handleSelectionChange" border cell-class-name="my-cell">
<template v-slot="scope"> <!-- <el-table-column type="selection" width="55" />-->
<p>{{ scope.row.member.phoneHidden }}</p> <el-table-column label="用户信息" prop="phoneHidden">
<p>{{ scope.row.member.nickname }}</p> <template v-slot="scope">
</template> <p>{{ scope.row.member.phoneHidden }}</p>
</el-table-column> <p>{{ scope.row.member.nickname }}</p>
<el-table-column label="用户备注" prop="mark"> </template>
<template v-slot="scope"> </el-table-column>
<p>{{ scope.row.member.mark }}</p> <el-table-column label="用户备注" prop="mark">
</template> <template v-slot="scope">
</el-table-column> <p>{{ scope.row.member.mark }}</p>
<el-table-column label="商品名称" prop="productName" /> </template>
<el-table-column label="商品规格" prop="spData"> </el-table-column>
<template v-slot="scope"> <el-table-column label="商品名称" prop="productName" />
<div class="product-container"> <el-table-column label="商品规格" prop="spData">
<el-popover placement="right" trigger="hover"> <template v-slot="scope">
<el-image :src="scope.row.pic" style="width: 350px; height: 350px" /> <div class="product-container">
<template v-slot:reference> <el-popover placement="right" trigger="hover">
<el-image class="small-img product-item" :src="scope.row.pic" style="width: 40px; height: 40px" /> <el-image :src="scope.row.pic" style="width: 350px; height: 350px" />
</template> <template v-slot:reference>
</el-popover> <el-image class="small-img product-item" :src="scope.row.pic" style="width: 40px; height: 40px" />
<div class="product-item" style="margin-left: 5px"> </template>
<div class="sp-data"> </el-popover>
<span v-for="(value, key) in JSON.parse(scope.row.spData)">{{ key }}{{ value }}&nbsp;</span> <div class="product-item" style="margin-left: 5px">
</div> <div class="sp-data">
<div class="product-item quantity"> <span v-for="(value, key) in JSON.parse(scope.row.spData)">{{ key }}{{ value }}&nbsp;</span>
<span style="margin-right: 10px">{{ scope.row.price }}</span> </div>
<span>x{{ scope.row.quantity }}</span> <div class="product-item quantity">
<span style="margin-right: 10px">{{ scope.row.price }}</span>
<span>x{{ scope.row.quantity }}</span>
</div>
</div> </div>
</div> </div>
</div> </template>
</template> </el-table-column>
</el-table-column> <!-- <el-table-column label="价格" prop="price">-->
<!-- <el-table-column label="价格" prop="price">--> <!-- <template v-slot="scope">-->
<!-- <template v-slot="scope">--> <!-- <div>{{ scope.row.price.toFixed(2) }}</div>-->
<!-- <div>{{ scope.row.price.toFixed(2) }}</div>--> <!-- </template>-->
<!-- </template>--> <!-- </el-table-column>-->
<!-- </el-table-column>--> <el-table-column label="状态" prop="skuIfExist">
<el-table-column label="状态" prop="skuIfExist"> <template v-slot="scope">
<template v-slot="scope"> <el-tag effect="plain" size="default" :type="scope.row.skuIfExist === 1 ? 'success' : 'error'">
<el-tag effect="plain" size="default" :type="scope.row.skuIfExist === 1 ? 'success' : 'error'"> {{ scope.row.skuIfExist === 1 ? '有效' : '失效' }}
{{ scope.row.skuIfExist === 1 ? '有效' : '失效' }} </el-tag>
</el-tag> </template>
</template> </el-table-column>
</el-table-column> <el-table-column label="加入时间" prop="createTime">
<el-table-column label="加入时间" prop="createTime"> <template v-slot="scope">
<template v-slot="scope"> <div>{{ parseTime(scope.row.createTime, '') }}</div>
<div>{{ parseTime(scope.row.createTime, '') }}</div> </template>
</template> </el-table-column>
</el-table-column> <!-- <el-table-column label="操作" class-name="small-padding fixed-width">-->
<!-- <el-table-column label="操作" class-name="small-padding fixed-width">--> <!-- <template slot-scope="scope">-->
<!-- <template slot-scope="scope">--> <!-- <el-button-->
<!-- <el-button--> <!-- -->
<!-- --> <!-- text type="primary"-->
<!-- text type="primary"--> <!-- icon="Edit"-->
<!-- icon="Edit"--> <!-- @click="handleUpdate(scope.row)"-->
<!-- @click="handleUpdate(scope.row)"--> <!-- v-hasPermi="['ums:memberCart:edit']"-->
<!-- v-hasPermi="['ums:memberCart:edit']"--> <!-- >修改</el-button>-->
<!-- >修改</el-button>--> <!-- <el-button-->
<!-- <el-button--> <!-- -->
<!-- --> <!-- text type="primary"-->
<!-- text type="primary"--> <!-- icon="Delete"-->
<!-- icon="Delete"--> <!-- @click="handleDelete(scope.row)"-->
<!-- @click="handleDelete(scope.row)"--> <!-- v-hasPermi="['ums:memberCart:remove']"-->
<!-- v-hasPermi="['ums:memberCart:remove']"--> <!-- >删除</el-button>-->
<!-- >删除</el-button>--> <!-- </template>-->
<!-- </template>--> <!-- </el-table-column>-->
<!-- </el-table-column>--> </el-table>
</el-table>
<pagination v-if="total" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-if="total" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
</div> </div>
</template> </template>

View File

@ -1,102 +1,105 @@
<template> <template>
<div class="app-container"> <div class="p-2">
<div> <div>
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form"> <el-card shadow="hover" class="mb-[10px]">
<el-form-item label="提现单号" prop="code"> <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px" size="default" class="ry_form">
<el-input v-model.trim="queryParams.code" placeholder="请输入会员id" clearable /> <el-form-item label="提现单号" prop="code">
</el-form-item> <el-input v-model.trim="queryParams.code" placeholder="请输入会员id" clearable />
<el-form-item label="昵称" prop="nickname"> </el-form-item>
<el-input v-model.trim="queryParams.nickname" placeholder="请输入昵称" clearable /> <el-form-item label="昵称" prop="nickname">
</el-form-item> <el-input v-model.trim="queryParams.nickname" placeholder="请输入昵称" clearable />
<el-form-item label="提现人手机号" prop="phone"> </el-form-item>
<el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable /> <el-form-item label="提现人手机号" prop="phone">
</el-form-item> <el-input v-model.trim="queryParams.phone" placeholder="请输入手机号码" clearable />
<el-form-item label="提现方式" prop="method"> </el-form-item>
<el-select v-model="queryParams.method"> <el-form-item label="提现方式" prop="method">
<el-option v-for="item in userWithdrawMethodMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.method">
</el-select> <el-option v-for="item in userWithdrawMethodMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item label="提现类型" prop="type"> </el-form-item>
<el-select v-model="queryParams.type"> <el-form-item label="提现类型" prop="type">
<el-option v-for="item in userWithdrawTypeMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.type">
</el-select> <el-option v-for="item in userWithdrawTypeMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item label="审核状态" prop="auditStatus"> </el-form-item>
<el-select v-model="queryParams.auditStatus"> <el-form-item label="审核状态" prop="auditStatus">
<el-option v-for="item in userWithdrawAuditMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.auditStatus">
</el-select> <el-option v-for="item in userWithdrawAuditMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item label="提现状态" prop="status"> </el-form-item>
<el-select v-model="queryParams.status"> <el-form-item label="提现状态" prop="status">
<el-option v-for="item in userWithdrawStatusMap" :key="item.value" :label="item.label" :value="item.value" /> <el-select v-model="queryParams.status">
</el-select> <el-option v-for="item in userWithdrawStatusMap" :key="item.value" :label="item.label" :value="item.value" />
</el-form-item> </el-select>
<el-form-item class="flex_one tr"> </el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-form-item class="flex_one tr">
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>--> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> <!-- <el-button :icon="showMoreCondition ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" @click="showMoreCondition = !showMoreCondition">{{showMoreCondition ? '收起条件' : '展开条件'}}</el-button>-->
</el-form> </el-form-item>
</el-form>
</el-card>
<el-card shadow="hover">
<el-table v-loading="userWithdrawInfoTableLoading" :data="userWithdrawInfo.data" border empty-text="暂无数据">
<el-table-column label="申请人" prop="createBy">
<template v-slot="scope">
{{ scope.row.member ? scope.row.member.nickname : '' }}
</template>
</el-table-column>
<el-table-column label="申请时间" prop="createTime" />
<el-table-column label="提现码" prop="code" />
<el-table-column label="提现金额" prop="money">
<template v-slot="scope"> {{ scope.row.money || '0.00' }} </template>
</el-table-column>
<el-table-column label="手续费" prop="fee">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
<el-table v-loading="userWithdrawInfoTableLoading" :data="userWithdrawInfo.data" border empty-text="暂无数据"> <el-table-column label="实际到账金额" prop="actualMoney">
<el-table-column label="申请人" prop="createBy"> <template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template>
<template v-slot="scope"> </el-table-column>
{{ scope.row.member ? scope.row.member.nickname : '' }}
</template>
</el-table-column>
<el-table-column label="申请时间" prop="createTime" />
<el-table-column label="提现码" prop="code" />
<el-table-column label="提现金额" prop="money">
<template v-slot="scope"> {{ scope.row.money || '0.00' }} </template>
</el-table-column>
<el-table-column label="手续费" prop="fee">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
<el-table-column label="实际到账金额" prop="actualMoney"> <el-table-column label="提现方式" prop="method">
<template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template> <template v-slot="scope">
</el-table-column> {{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }}
</template>
<el-table-column label="提现方式" prop="method"> </el-table-column>
<template v-slot="scope"> <el-table-column label="提现类型" prop="type">
{{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }} <template v-slot="scope">
</template> {{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }}
</el-table-column> </template>
<el-table-column label="提现类型" prop="type"> </el-table-column>
<template v-slot="scope"> <el-table-column label="提现状态" prop="status">
{{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }} <template v-slot="scope">
</template> {{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }}
</el-table-column> </template>
<el-table-column label="提现状态" prop="status"> </el-table-column>
<template v-slot="scope"> <el-table-column label="审批状态" prop="auditStatus">
{{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }} <template v-slot="scope">
</template> {{ getEmulistLabelById(scope.row.auditStatus, userWithdrawAuditMap) }}
</el-table-column> <el-tooltip v-if="scope.row.auditStatus == '2'" :content="scope.row.auditStatus == '2' ? scope.row.auditReason : null" placement="top">
<el-table-column label="审批状态" prop="auditStatus"> <el-icon>
<template v-slot="scope"> <question-filled />
{{ getEmulistLabelById(scope.row.auditStatus, userWithdrawAuditMap) }} </el-icon>
<el-tooltip v-if="scope.row.auditStatus == '2'" :content="scope.row.auditStatus == '2' ? scope.row.auditReason : null" placement="top"> </el-tooltip>
<el-icon> </template>
<question-filled /> </el-table-column>
</el-icon> <el-table-column label="审核人" prop="auditBy" width="100" />
</el-tooltip> <el-table-column label="审核时间" prop="auditTime" width="100" />
</template> <el-table-column label="操作" fixed="right" align="center" width="100">
</el-table-column> <template v-slot="scope">
<el-table-column label="审核人" prop="auditBy" width="100" /> <el-button v-if="scope.row.auditStatus == '0'" text type="primary" @click="showAuditModal(scope.row)">审批</el-button>
<el-table-column label="审核时间" prop="auditTime" width="100" /> </template>
<el-table-column label="操作" fixed="right" align="center" width="100"> </el-table-column>
<template v-slot="scope"> </el-table>
<el-button v-if="scope.row.auditStatus == '0'" text type="primary" @click="showAuditModal(scope.row)">审批</el-button> <pagination
</template> v-if="userWithdrawInfo.total"
</el-table-column> :total="userWithdrawInfo.total"
</el-table> v-model:page="withdrawDataParams.current"
<pagination v-model:limit="withdrawDataParams.size"
v-if="userWithdrawInfo.total" @pagination="getList"
:total="userWithdrawInfo.total" />
v-model:page="withdrawDataParams.current" </el-card>
v-model:limit="withdrawDataParams.size"
@pagination="getList"
/>
</div> </div>
<!-- 提现审核--> <!-- 提现审核-->
<el-dialog title="提现审核" v-model="auditFormOpen" width="500px" append-to-body> <el-dialog title="提现审核" v-model="auditFormOpen" width="500px" append-to-body>