完善功能
This commit is contained in:
26
src/api/order_group.ts
Normal file
26
src/api/order_group.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 团购订单表列表
|
||||
export function apiOrderGroupLists(params: any) {
|
||||
return request.get({ url: '/order_group/lists', params })
|
||||
}
|
||||
|
||||
// 添加团购订单表
|
||||
export function apiOrderGroupAdd(params: any) {
|
||||
return request.post({ url: '/order_group/add', params })
|
||||
}
|
||||
|
||||
// 编辑团购订单表
|
||||
export function apiOrderGroupEdit(params: any) {
|
||||
return request.post({ url: '/order_group/edit', params })
|
||||
}
|
||||
|
||||
// 删除团购订单表
|
||||
export function apiOrderGroupDelete(params: any) {
|
||||
return request.post({ url: '/order_group/delete', params })
|
||||
}
|
||||
|
||||
// 团购订单表详情
|
||||
export function apiOrderGroupDetail(params: any) {
|
||||
return request.get({ url: '/order_group/detail', params })
|
||||
}
|
||||
@ -33,4 +33,9 @@ export function apiTeaStoreCityLists() {
|
||||
// 归属人
|
||||
export function apiTeaStoreOwnerLists(params: any) {
|
||||
return request.get({ url: '/teaStore/storeUser', params })
|
||||
}
|
||||
|
||||
// 门店资质详情
|
||||
export function apiQualDetail(params: any) {
|
||||
return request.post({ url: '/teaStore/qualDetail', params })
|
||||
}
|
||||
@ -11,8 +11,10 @@
|
||||
v-model:endTime="queryParams.create_time_end" />
|
||||
</el-form-item>
|
||||
<el-form-item class="w-[280px]" label="注册来源">
|
||||
<el-select v-model="queryParams.channel">
|
||||
<el-option v-for="(item, key) in ClientMap" :key="key" :label="item" :value="key" />
|
||||
<el-select v-model="queryParams.source">
|
||||
<el-option label="微信小程序" :value="0" />
|
||||
<el-option label="电梯扫码" :value="1" />
|
||||
<el-option label="充电宝扫码" :value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@ -32,7 +34,13 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="昵称" prop="nickname" min-width="100" />
|
||||
<el-table-column label="手机号码" prop="mobile" min-width="100" />
|
||||
<el-table-column label="注册来源" prop="channel" min-width="100" />
|
||||
<el-table-column label="注册来源" prop="source" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.source == 0">微信小程序</span>
|
||||
<span v-if="row.source == 1">电梯扫码</span>
|
||||
<span v-if="row.source == 2">充电宝扫码</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="注册时间" prop="create_time" min-width="120" />
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<template #default="{ row }">
|
||||
@ -63,7 +71,7 @@ import { getRoutePath } from '@/router'
|
||||
|
||||
const queryParams = reactive({
|
||||
keyword: '',
|
||||
channel: '',
|
||||
source: '',
|
||||
create_time_start: '',
|
||||
create_time_end: ''
|
||||
})
|
||||
|
||||
@ -19,9 +19,9 @@
|
||||
<el-form-item label="总部账号昵称" prop="admin_name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.admin_name" clearable placeholder="请输入总部账号昵称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="详情" prop="content">
|
||||
<!-- <el-form-item label="详情" prop="content">
|
||||
<el-input class="w-[280px]" v-model="queryParams.content" clearable placeholder="请输入详情" />
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="0禁用 1启用" prop="status">
|
||||
<el-select class="w-[280px]" v-model="queryParams.status" clearable placeholder="请选择0禁用 1启用">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
|
||||
@ -73,8 +73,15 @@
|
||||
<template #default="{ row }"> ¥ {{ row.refund_amount }} </template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="退款类型" prop="refund_type_text" min-width="100" />
|
||||
<el-table-column label="退款状态" prop="" min-width="100">
|
||||
<!-- <el-table-column label="退款类型" prop="refund_type_text" min-width="100" /> -->
|
||||
<el-table-column label="退款类型" prop="refund_type" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.refund_type == 0">线上</span>
|
||||
<span v-if="row.refund_type == 1">后台退款</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- <el-table-column label="退款状态" prop="" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag type="warning" v-if="row.refund_status == 0">
|
||||
{{ row.refund_status_text }}
|
||||
@ -86,6 +93,19 @@
|
||||
{{ row.refund_status_text }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="退款状态" prop="" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag type="warning" v-if="row.refund_status == 0">
|
||||
退款中
|
||||
</el-tag>
|
||||
<el-tag v-if="row.refund_status == 1">
|
||||
退款成功
|
||||
</el-tag>
|
||||
<el-tag type="danger" v-if="row.refund_status == 2">
|
||||
退款失败
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="记录时间" prop="create_time" min-width="180" />
|
||||
<el-table-column label="操作" width="180" fixed="right">
|
||||
|
||||
@ -87,8 +87,8 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="变动金额" prop="amount" show-overflow-tooltip />
|
||||
<el-table-column label="变动前金额" prop="before_amount" show-overflow-tooltip />
|
||||
<el-table-column label="变动后金额" prop="after_amount" show-overflow-tooltip />
|
||||
<!-- <el-table-column label="变动前金额" prop="before_amount" show-overflow-tooltip /> -->
|
||||
<!-- <el-table-column label="变动后金额" prop="after_amount" show-overflow-tooltip /> -->
|
||||
<el-table-column label="关联单号" prop="source_sn" show-overflow-tooltip />
|
||||
<!-- <el-table-column label="关联店铺id" prop="store_id">
|
||||
<template #default="{ row }">
|
||||
|
||||
145
src/views/order/order_group/edit.vue
Normal file
145
src/views/order/order_group/edit.vue
Normal file
@ -0,0 +1,145 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" confirmButtonText="" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||
<el-form-item label="订单编号" prop="order_sn">
|
||||
<el-input v-model="formData.order_sn" clearable disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="店铺名称" prop="store_name">
|
||||
<el-input v-model="formData.store_name" clearable disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="包间名称" prop="room_name">
|
||||
<el-input :value="formData.room_name || '一'" clearable disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户昵称" prop="nickname">
|
||||
<el-input v-model="formData.nickname" clearable disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号" prop="mobile">
|
||||
<el-input v-model="formData.mobile" clearable disabled />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="支付金额" prop="order_amount">
|
||||
<el-input v-model="formData.order_amount" clearable disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="支付方式" prop="pay_way">
|
||||
<el-input :value="formData.pay_way == '1' ? '平台余额' : '微信支付'" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单状态" prop="order_status">
|
||||
<el-input :value="orderStatusMap[formData.order_status]" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间" prop="dtime">
|
||||
<el-input v-model="formData.dtime" clearable disabled />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="orderGroupEdit">
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiOrderGroupAdd, apiOrderGroupEdit, apiOrderGroupDetail } from '@/api/order_group'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const mode = ref('add')
|
||||
|
||||
const orderStatusMap: Record<string, string> = {
|
||||
0: '未支付',
|
||||
1: '已支付',
|
||||
2: '已取消',
|
||||
3: '已使用',
|
||||
4: '使用中',
|
||||
5: '已完成',
|
||||
6: '已退款',
|
||||
}
|
||||
|
||||
// 弹窗标题
|
||||
const popupTitle = computed(() => {
|
||||
return mode.value == '订单详情'
|
||||
})
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
store_name: '',
|
||||
room_name: '',
|
||||
nickname: '',
|
||||
mobile: '',
|
||||
order_sn: '',
|
||||
transaction_id: '',
|
||||
group_id: '',
|
||||
store_id: '',
|
||||
room_id: '',
|
||||
user_id: '',
|
||||
order_amount: '',
|
||||
pay_way: '',
|
||||
order_status: '',
|
||||
dtime: '',
|
||||
})
|
||||
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
|
||||
})
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
for (const key in formData) {
|
||||
if (data[key] != null && data[key] != undefined) {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiOrderGroupDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
await formRef.value?.validate()
|
||||
const data = { ...formData, }
|
||||
mode.value == 'edit'
|
||||
? await apiOrderGroupEdit(data)
|
||||
: await apiOrderGroupAdd(data)
|
||||
popupRef.value?.close()
|
||||
emit('success')
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
const open = (type = 'add') => {
|
||||
mode.value = type
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
// 关闭回调
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
150
src/views/order/order_group/index.vue
Normal file
150
src/views/order/order_group/index.vue
Normal file
@ -0,0 +1,150 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card class="!border-none mb-4" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="订单编号" prop="order_sn">
|
||||
<el-input class="w-[280px]" v-model="queryParams.order_sn" clearable placeholder="请输入订单编号" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="茶室名称" prop="order_sn">
|
||||
<el-input class="w-[280px]" v-model="queryParams.store_name" clearable placeholder="请输入茶室名称" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
<el-button @click="resetParams">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
||||
<!-- <el-button v-perms="['order_group/add']" type="primary" @click="handleAdd">
|
||||
<template #icon>
|
||||
<icon name="el-icon-Plus" />
|
||||
</template>
|
||||
新增
|
||||
</el-button>
|
||||
<el-button v-perms="['order_group/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
|
||||
删除
|
||||
</el-button> -->
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="订单编号" prop="order_sn" show-overflow-tooltip />
|
||||
<el-table-column label="茶室" prop="store_id" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<div>茶室: {{ row.store_name }}</div>
|
||||
<div>包间: {{ row.room_name || '一' }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="用户信息" prop="store_id" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<div>昵称: {{ row.nickname }}</div>
|
||||
<div>手机号: {{ row.mobile }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付金额" prop="order_amount" show-overflow-tooltip />
|
||||
<el-table-column label="支付方式" prop="pay_way" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.pay_way == 1 ? '平台余额' : '微信支付' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单状态" prop="order_status" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
{{ orderStatusMap[row.order_status] ?? row.order_status }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="dtime" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['order_group/edit']" type="primary" link @click="handleEdit(row)">
|
||||
查看
|
||||
</el-button>
|
||||
<!-- <el-button
|
||||
v-perms="['order_group/delete']"
|
||||
type="danger"
|
||||
link
|
||||
@click="handleDelete(row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="orderGroupLists">
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { useDictData } from '@/hooks/useDictOptions'
|
||||
import { apiOrderGroupLists, apiOrderGroupDelete } from '@/api/order_group'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
|
||||
const orderStatusMap: Record<string, string> = {
|
||||
0: '未支付',
|
||||
1: '已支付',
|
||||
2: '已取消',
|
||||
3: '已使用',
|
||||
4: '使用中',
|
||||
5: '已完成',
|
||||
6: '已退款',
|
||||
}
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
order_sn: '',
|
||||
store_name: '',
|
||||
})
|
||||
|
||||
// 选中数据
|
||||
const selectData = ref<any[]>([])
|
||||
|
||||
// 表格选择后回调事件
|
||||
const handleSelectionChange = (val: any[]) => {
|
||||
selectData.value = val.map(({ id }) => id)
|
||||
}
|
||||
|
||||
// 获取字典数据
|
||||
const { dictData } = useDictData('')
|
||||
|
||||
// 分页相关
|
||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||
fetchFun: apiOrderGroupLists,
|
||||
params: queryParams
|
||||
})
|
||||
|
||||
// 添加
|
||||
const handleAdd = async () => {
|
||||
showEdit.value = true
|
||||
await nextTick()
|
||||
editRef.value?.open('add')
|
||||
}
|
||||
|
||||
// 编辑
|
||||
const handleEdit = async (data: any) => {
|
||||
showEdit.value = true
|
||||
await nextTick()
|
||||
editRef.value?.open('edit')
|
||||
editRef.value?.setFormData(data)
|
||||
}
|
||||
|
||||
// 删除
|
||||
const handleDelete = async (id: number | any[]) => {
|
||||
await feedback.confirm('确定要删除?')
|
||||
await apiOrderGroupDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
@ -45,9 +45,8 @@
|
||||
</el-table-column> -->
|
||||
<el-table-column label="用户信息" width="200">
|
||||
<template #default="{ row }">
|
||||
<div>用户名称: {{ row.nickname }}</div>
|
||||
<div>用户名称: {{ row.nickname || '一' }}</div>
|
||||
<div>手机号: {{ row.mobile }}</div>
|
||||
<div><el-image style="width:50px;height:50px;" :src="row.avatar" /></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@ -76,13 +75,17 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="实付价格" prop="order_amount" show-overflow-tooltip />
|
||||
<el-table-column label="平台服务费" prop="service_price" show-overflow-tooltip />
|
||||
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
|
||||
<el-table-column label="备注" prop="remark" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.remark || '一' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="是否释放" prop="is_release" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.is_release == 1 ? '是' : '否' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="终端1小程序" prop="order_terminal" show-overflow-tooltip /> -->
|
||||
<el-table-column label="是否续单" prop="is_renewal" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.is_renewal == 1 ? '是' : '否' }}</span>
|
||||
|
||||
71
src/views/order_teamaster/details.vue
Normal file
71
src/views/order_teamaster/details.vue
Normal file
@ -0,0 +1,71 @@
|
||||
<template>
|
||||
<div class="article-edit">
|
||||
<el-card class="!border-none" shadow="never">
|
||||
<el-page-header :content="$route.meta.title" @back="$router.back()" />
|
||||
</el-card>
|
||||
|
||||
<el-card class="mt-4 !border-none" shadow="never">
|
||||
<el-descriptions title="订单编号">
|
||||
<el-descriptions-item label="订单编号">123</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="茶艺师信息">
|
||||
<el-descriptions-item label="手机号">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="昵称">18100000000</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="用户信息">
|
||||
<el-descriptions-item label="手机号">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="昵称">18100000000</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="服务方式">
|
||||
<el-descriptions-item label="服务日期">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="服务时间">18100000000</el-descriptions-item>
|
||||
<el-descriptions-item label="服务方式">18100000000</el-descriptions-item>
|
||||
<el-descriptions-item label="服务地址">18100000000</el-descriptions-item>
|
||||
<el-descriptions-item label="使用茶具">18100000000</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="服务价格">
|
||||
<el-descriptions-item label="茶具价格">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="服务单价">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="服务总价">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="车马费单价">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="车马费总价">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="优惠券金额">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="茶叶金额">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="实付金额">kooriookami</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="续费信息">
|
||||
<el-descriptions-item label="续费时长">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="续费金额">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="续单茶叶金额">kooriookami</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="支付内容">
|
||||
<el-descriptions-item label="支付方式">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="支付状态">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="支付时间">kooriookami</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="退款内容">
|
||||
<el-descriptions-item label="退款时间">kooriookami</el-descriptions-item>
|
||||
<el-descriptions-item label="支付时间">kooriookami</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="茶艺师收入">
|
||||
<el-descriptions-item label="茶艺师收入">kooriookami</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="订单状态">
|
||||
<el-descriptions-item label="订单状态">kooriookami</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<!-- <footer-btns>
|
||||
<el-button type="primary" @click="handleSave">保存</el-button>
|
||||
</footer-btns> -->
|
||||
</div>
|
||||
</template>
|
||||
@ -5,16 +5,25 @@
|
||||
<el-form-item label="订单编号" prop="order_sn">
|
||||
<el-input class="w-[280px]" v-model="queryParams.order_sn" clearable placeholder="请输入订单编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="茶艺师手机号" prop="mobile">
|
||||
|
||||
<el-form-item label="用户手机号" prop="order_sn">
|
||||
<el-input class="w-[280px]" v-model="queryParams.mobile" clearable placeholder="请输入用户手机号" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="茶艺师昵称" prop="nickname">
|
||||
<el-input class="w-[280px]" v-model="queryParams.nickname" clearable placeholder="请输入茶艺师昵称" />
|
||||
</el-form-item>
|
||||
<!--
|
||||
<el-form-item class="w-[280px]" label="服务日期" prop="day_time">
|
||||
<el-date-picker v-model="queryParams.day_time" type="date" placeholder="请选择服务日期"
|
||||
value-format="YYYY-MM-DD" clearable />
|
||||
</el-form-item> -->
|
||||
|
||||
<el-form-item label="服务日期" prop="day_time">
|
||||
<daterange-picker v-model:startTime="queryParams.day_time" v-model:endTime="queryParams.day_time"
|
||||
value-format="YYYY-MM-DD" clearable />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item class="w-[280px]" label="服务方式" prop="server_type">
|
||||
<el-select v-model="queryParams.server_type" clearable placeholder="请选择服务方式">
|
||||
<el-option label="全部" :value="3"></el-option>
|
||||
@ -22,13 +31,15 @@
|
||||
<el-option label="上门服务" :value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item class="w-[280px]" label="是否使用茶具" prop="is_teacup">
|
||||
|
||||
<!-- <el-form-item class="w-[280px]" label="是否使用茶具" prop="is_teacup">
|
||||
<el-select v-model="queryParams.is_teacup" clearable placeholder="请选择是否使用茶具">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option v-for="(item, index) in dictData.is_teacup" :key="index" :label="item.name"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
|
||||
<el-form-item class="w-[280px]" label="支付方式" prop="pay_way">
|
||||
<el-select v-model="queryParams.pay_way" clearable placeholder="请选择支付方式">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
@ -36,6 +47,7 @@
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item class="w-[280px]" label="订单状态" prop="order_status">
|
||||
<el-select v-model="queryParams.order_status" clearable placeholder="请选择订单状态">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
@ -43,6 +55,7 @@
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item class="w-[280px]" label="支付状态" prop="pay_status">
|
||||
<el-select v-model="queryParams.pay_status" clearable placeholder="请选择支付状态">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
@ -50,6 +63,7 @@
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
<el-button @click="resetParams">重置</el-button>
|
||||
@ -57,99 +71,126 @@
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
||||
<!-- <el-button v-perms="['order_teamaster/add']" type="primary" @click="handleAdd">
|
||||
<template #icon>
|
||||
<icon name="el-icon-Plus" />
|
||||
</template>
|
||||
新增
|
||||
</el-button>
|
||||
<el-button v-perms="['order_teamaster/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
|
||||
删除
|
||||
</el-button> -->
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="订单编号" prop="order_sn" show-overflow-tooltip />
|
||||
<el-table-column label="第三方平台交易流水号" prop="transaction_id" show-overflow-tooltip />
|
||||
<el-table-column label="茶艺师手机号" prop="mobile" show-overflow-tooltip />
|
||||
<el-table-column label="用户手机号" prop="user_mobile" show-overflow-tooltip />
|
||||
<el-table-column label="茶艺师昵称" prop="nickname" show-overflow-tooltip />
|
||||
<el-table-column label="服务日期" prop="day_time" show-overflow-tooltip />
|
||||
<el-table-column label="服务开始时间" prop="start_time" show-overflow-tooltip />
|
||||
<el-table-column label="服务时间" prop="end_time" show-overflow-tooltip />
|
||||
<el-table-column label="服务方式" prop="server_type" show-overflow-tooltip>
|
||||
<!-- <el-table-column label="订单编号" prop="order_sn" show-overflow-tooltip width="180" /> -->
|
||||
<el-table-column label="茶艺师信息" prop="mobile" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span>{{ getServerTypeLabel(row.server_type) }}</span>
|
||||
<div>茶艺师手机号: {{ row.mobile }}</div>
|
||||
<div>茶艺师昵称: {{ row.nickname }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="地址" prop="address" show-overflow-tooltip />
|
||||
<el-table-column label="是否使用茶具" prop="is_teacup">
|
||||
|
||||
<!-- <el-table-column label="服务" prop="mobile" show-overflow-tooltip width="400">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.is_teacup" :value="row.is_teacup" />
|
||||
<div>服务日期: {{ row.day_time }}</div>
|
||||
<div>服务时间: {{ row.start_time }} - {{ row.end_time }}</div>
|
||||
<div>服务方式: {{ getServerTypeLabel(row.server_type) }}</div>
|
||||
<div>服务地址: {{ row.address }}</div>
|
||||
<div class="flex items-center">使用茶具: <dict-value :options="dictData.is_teacup"
|
||||
:value="row.is_teacup" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="用户信息" prop="mobile" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<div>用户手机号: {{ row.user_mobile }}</div>
|
||||
<div>用户昵称: {{ row.user_nickname }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="茶具价格" prop="teacup_price" show-overflow-tooltip />
|
||||
<el-table-column label="服务单价" prop="server_price" show-overflow-tooltip />
|
||||
<el-table-column label="车马费单价" prop="mileage_price" show-overflow-tooltip />
|
||||
<el-table-column label="服务总价" prop="server_all_price" show-overflow-tooltip />
|
||||
<el-table-column label="车马费总价" prop="mileage_server_price" show-overflow-tooltip />
|
||||
<el-table-column label="优惠券金额" prop="coupon_price" show-overflow-tooltip />
|
||||
<el-table-column label="茶叶金额" prop="tea_price" show-overflow-tooltip />
|
||||
<el-table-column label="实付金额" prop="order_amount" show-overflow-tooltip />
|
||||
<el-table-column label="茶艺师收入" prop="team_income_price" show-overflow-tooltip />
|
||||
<el-table-column label="续费时长" prop="renew_hour" show-overflow-tooltip />
|
||||
<el-table-column label="续费金额" prop="renew_price" show-overflow-tooltip />
|
||||
<el-table-column label="续单茶叶金额" prop="renew_tea_price" show-overflow-tooltip />
|
||||
<el-table-column label="支付方式" prop="pay_way">
|
||||
<!-- <el-table-column label="服务价格" prop="teacup_price" show-overflow-tooltip width="200">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.pay_way" :value="row.pay_way" />
|
||||
<div>茶具价格: {{ row.teacup_price }}</div>
|
||||
<div>服务单价: {{ row.server_price }}</div>
|
||||
<div>服务总价: {{ row.server_all_price }}</div>
|
||||
<div>车马费单价: {{ row.mileage_price }}</div>
|
||||
<div>车马费总价: {{ row.server_all_price }}</div>
|
||||
<div>优惠券金额: {{ row.coupon_price }}</div>
|
||||
<div>茶叶金额: {{ row.tea_price }}</div>
|
||||
<div>实付金额: {{ row.order_amount }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column label="续费信息" prop="renew_hour" show-overflow-tooltip width="200">
|
||||
<template #default="{ row }">
|
||||
<div>续费时长: {{ row.renew_hour || '一' }}</div>
|
||||
<div>续费金额: {{ row.renew_price || '一' }}</div>
|
||||
<div>续单茶叶金额: {{ row.renew_tea_price || '一' }}</div>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column label="支付内容" prop="pay_way" show-overflow-tooltip width="200">
|
||||
<template #default="{ row }">
|
||||
<div class="flex items-center">支付方式:
|
||||
<dict-value :options="dictData.pay_way" :value="row.pay_way" />
|
||||
</div>
|
||||
<div class="flex items-center">支付状态:
|
||||
<dict-value :options="dictData.pay_status" :value="row.pay_status" />
|
||||
</div>
|
||||
<div class="flex items-center">支付时间: {{ row.pay_time }}</div>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
|
||||
<!-- <el-table-column label="退款内容" prop="pay_way" show-overflow-tooltip width="200">
|
||||
<template #default="{ row }">
|
||||
<div class="flex items-center">退款时间: {{ row.refund_time || '一' }}</div>
|
||||
<div class="flex items-center">退款金额: {{ row.refund_price || '一' }}</div>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
|
||||
<!-- <el-table-column label="茶艺师收入" prop="team_income_price" show-overflow-tooltip width="100" /> -->
|
||||
|
||||
<el-table-column label="订单状态" prop="order_status">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.order_status" :value="row.order_status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付状态" prop="pay_status">
|
||||
|
||||
<el-table-column label="服务方式" prop="server_type">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.pay_status" :value="row.pay_status" />
|
||||
<div>服务方式: {{ getServerTypeLabel(row.server_type) }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付时间" prop="pay_time" show-overflow-tooltip />
|
||||
<el-table-column label="退款时间" prop="refund_time" show-overflow-tooltip />
|
||||
<el-table-column label="退款金额" prop="refund_price" show-overflow-tooltip />
|
||||
<el-table-column label="接单时间" prop="take_order_time" show-overflow-tooltip />
|
||||
<el-table-column label="出发时间" prop="travel_time" show-overflow-tooltip />
|
||||
<el-table-column label="到达时间" prop="arrival_time" show-overflow-tooltip />
|
||||
<el-table-column label="是否打卡" prop="is_img" show-overflow-tooltip />
|
||||
<el-table-column label="打卡时间" prop="img_time" show-overflow-tooltip />
|
||||
<el-table-column label="打卡照片" prop="img">
|
||||
|
||||
<!-- <el-table-column label="出行状态" prop="take_order_time" show-overflow-tooltip width="200">
|
||||
<template #default="{ row }">
|
||||
<el-image v-if="row.img" style="width: 60px; height: 60px;" :src="row.img"
|
||||
:preview-src-list="[row.img]" fit="cover" preview-teleported />
|
||||
<span v-else class="text-gray-400">无图片</span>
|
||||
<div class="flex items-center">接单时间: {{ row.take_order_time }}</div>
|
||||
<div class="flex items-center">出发时间: {{ row.travel_time }}</div>
|
||||
<div class="flex items-center">到达时间: {{ row.arrival_time }}</div>
|
||||
<div class="flex items-center">是否打卡: {{ row.is_img > 0 ? '已打卡' : '未打卡' }}</div>
|
||||
<div class="flex items-center">打开时间: {{ row.img_time }}</div>
|
||||
<div class="flex items-center">打卡照片:
|
||||
<el-image v-if="row.img" style="width: 60px; height: 60px;" :src="row.img"
|
||||
:preview-src-list="[row.img]" fit="cover" preview-teleported />
|
||||
<span v-else class="text-gray-400">无图片</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="操作" width="120" fixed="right">
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button
|
||||
v-perms="['order_teamaster/edit']"
|
||||
type="primary"
|
||||
link
|
||||
@click="handleEdit(row)"
|
||||
>
|
||||
编辑
|
||||
<el-button v-perms="['order_teamaster/details']" type="primary" link>
|
||||
<router-link :to="{
|
||||
path: getRoutePath('order_teamaster/details'),
|
||||
query: {
|
||||
id: row.id
|
||||
}
|
||||
}">
|
||||
查看
|
||||
</router-link>
|
||||
</el-button>
|
||||
<el-button
|
||||
|
||||
<!-- <el-button v-perms="['order_teamaster/edit']" type="primary" link @click="handleEdit(row)">
|
||||
编辑
|
||||
</el-button> -->
|
||||
<!-- <el-button
|
||||
v-perms="['order_teamaster/delete']"
|
||||
type="danger"
|
||||
link
|
||||
@click="handleDelete(row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</el-button> -->
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
@ -167,6 +208,7 @@ import { apiOrderTeamasterLists, apiOrderTeamasterDelete } from '@/api/order_tea
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
import { getRoutePath } from '@/router'
|
||||
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
@ -237,4 +279,4 @@ const getServerTypeLabel = (value: number | string) => {
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
</script>
|
||||
@ -29,6 +29,13 @@
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="店铺状态" prop="status">
|
||||
<el-select v-model="formData.status" clearable placeholder="请选择">
|
||||
<el-option label="上架" :value="1"></el-option>
|
||||
<el-option label="下架" :value="0"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="周营业时间" prop="day_time">
|
||||
<el-input v-model="formData.day_time" clearable placeholder="请输入周营业时间" />
|
||||
</el-form-item> -->
|
||||
@ -187,6 +194,7 @@ const formData = reactive({
|
||||
pro_id: '',
|
||||
store_user_id: '',
|
||||
recharge_state: '',
|
||||
status: 1,
|
||||
})
|
||||
|
||||
|
||||
|
||||
@ -52,16 +52,18 @@
|
||||
<dict-value :options="dictData.operation_type" :value="row.operation_type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="周营业时间" prop="day_time" show-overflow-tooltip /> -->
|
||||
<el-table-column label="店铺状态" prop="status">
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.status == 1 ? '上架' : '下架' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="营业开始时间" prop="start_time" show-overflow-tooltip />
|
||||
<el-table-column label="营业结束时间" prop="end_time" show-overflow-tooltip />
|
||||
<el-table-column label="联系电话" prop="contact_phone" show-overflow-tooltip />
|
||||
<el-table-column label="详细地址" prop="address" show-overflow-tooltip />
|
||||
<!-- <el-table-column label="" prop="dtime" show-overflow-tooltip /> -->
|
||||
<el-table-column label="累计提现" prop="total_reflect_amount" show-overflow-tooltip />
|
||||
<el-table-column label="累计额度" prop="total_amount" show-overflow-tooltip />
|
||||
<el-table-column label="门店余额" prop="balance" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<el-table-column label="操作" width="200" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<div v-if="row.operation_type == 1">
|
||||
<el-button type="primary" link>
|
||||
@ -77,6 +79,9 @@
|
||||
</div>
|
||||
|
||||
<div class="flex items-center">
|
||||
<el-button v-perms="['tea_store/license']" type="primary" link @click="handleSee(row)">
|
||||
资质
|
||||
</el-button>
|
||||
<el-button v-perms="['tea_store/edit']" type="primary" link @click="handleEdit(row)">
|
||||
编辑
|
||||
</el-button>
|
||||
@ -95,6 +100,7 @@
|
||||
</div>
|
||||
</el-card>
|
||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||
<license-popup v-if="showLicense" ref="licenseRef" @close="showLicense = false" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -105,6 +111,7 @@ import { apiTeaStoreLists, apiTeaStoreDelete } from '@/api/tea_store'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
import LicensePopup from './license.vue'
|
||||
import { useDictOptions } from '@/hooks/useDictOptions'
|
||||
import { getRoutePath } from '@/router'
|
||||
|
||||
@ -112,6 +119,10 @@ const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
|
||||
const licenseRef = shallowRef<InstanceType<typeof LicensePopup>>()
|
||||
// 是否显示编辑框
|
||||
const showLicense = ref(false)
|
||||
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
@ -163,5 +174,14 @@ const handleDelete = async (id: number | any[]) => {
|
||||
getLists()
|
||||
}
|
||||
|
||||
// 查看资质
|
||||
const handleSee = async (data: any) => {
|
||||
showLicense.value = true
|
||||
await nextTick()
|
||||
console.log("🚀 ~ data:", 123)
|
||||
licenseRef.value?.open('see')
|
||||
licenseRef.value?.setFormData(data)
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
115
src/views/tea_store/license.vue
Normal file
115
src/views/tea_store/license.vue
Normal file
@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="600px" @close="handleClose" confirmButtonText="">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px">
|
||||
<el-form-item label="证件号码" prop="card">
|
||||
<el-input v-model="formData.card" clearable disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="企业名称" prop="name">
|
||||
<el-input v-model="formData.name" clearable disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="法定代表" prop="legal_person">
|
||||
<el-input v-model="formData.legal_person" clearable disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效期" prop="effective">
|
||||
<el-input :value="formData.effective == 1 ? '永久有效' : formData.end_time" clearable disabled />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="营业执照" prop="license_img">
|
||||
<material-picker v-model="formData.license_img" :limit="1" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="teaStoreEdit">
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiQualDetail } from '@/api/tea_store'
|
||||
import {
|
||||
provinceAndCityData,
|
||||
pcTextArr,
|
||||
regionData,
|
||||
pcaTextArr,
|
||||
codeToText,
|
||||
} from "element-china-area-data";
|
||||
import { timeFormat, removeImageUrlPrefix } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
import { apiTeaStoreCityLists, apiTeaStoreOwnerLists } from '@/api/tea_store'
|
||||
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const mode = ref('add')
|
||||
|
||||
|
||||
const addressSelections = ref<Array<string | number>>([])
|
||||
|
||||
// 城市列表
|
||||
const cityList = ref<any[]>([])
|
||||
|
||||
// 归属人
|
||||
const ownerList = ref<any[]>([])
|
||||
|
||||
// onMounted(async () => {
|
||||
// try {
|
||||
// const res = await apiQualDetail({ store_id: formData.id })
|
||||
|
||||
// } catch (e) {
|
||||
// }
|
||||
// })
|
||||
|
||||
|
||||
// 弹窗标题
|
||||
const popupTitle = computed(() => {
|
||||
return mode.value = '查看资质'
|
||||
})
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
card: '',
|
||||
name: '',
|
||||
legal_person: '',
|
||||
effective: 1,
|
||||
end_time: '',
|
||||
license_img: ''
|
||||
})
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
for (const key in formData) {
|
||||
if (data[key] != null && data[key] != undefined) {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key]
|
||||
}
|
||||
}
|
||||
|
||||
const res = await apiQualDetail({ store_id: formData.id })
|
||||
Object.assign(formData, res)
|
||||
}
|
||||
|
||||
|
||||
//打开弹窗
|
||||
const open = (type = 'see') => {
|
||||
mode.value = type
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
// 关闭回调
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData
|
||||
})
|
||||
</script>
|
||||
@ -12,6 +12,9 @@
|
||||
<el-form-item label="用户名称" prop="name">
|
||||
<el-input v-model="formData.name" clearable placeholder="请输入用户昵称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="账户余额" prop="user_money">
|
||||
<el-input v-model="formData.user_money" disabled clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="本人照片" prop="image">
|
||||
<material-picker v-model="formData.image" :limit="1" />
|
||||
</el-form-item>
|
||||
@ -56,8 +59,8 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="是否免费出行" prop="is_mileage">
|
||||
<el-select class="flex-1" v-model="formData.is_mileage" clearable placeholder="请选择">
|
||||
<el-option label="免费" :value="0"></el-option>
|
||||
<el-option label="收费" :value="1"></el-option>
|
||||
<el-option label="免费" :value="1"></el-option>
|
||||
<el-option label="收费" :value="0"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="服务次数" prop="sold">
|
||||
@ -158,6 +161,7 @@ const formData = reactive({
|
||||
latitude: '',
|
||||
disable: '',
|
||||
state: '',
|
||||
user_money: ''
|
||||
})
|
||||
|
||||
// 城市列表
|
||||
@ -226,7 +230,6 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
<div>
|
||||
<el-card class="!border-none mb-4" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="昵称" prop="nickname">
|
||||
<el-input class="w-[280px]" v-model="queryParams.nickname" clearable placeholder="请输入昵称" />
|
||||
<el-form-item label="姓名" prop="nickname">
|
||||
<el-input class="w-[280px]" v-model="queryParams.nickname" clearable placeholder="请输入姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" prop="name">
|
||||
<el-form-item label="昵称" prop="name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入昵称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户电话" prop="mobile">
|
||||
@ -68,46 +68,36 @@
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="头像" prop="avatar" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<el-image style="width:50px;height:50px;" :src="row.avatar" />
|
||||
<el-image style="width:50px;height:50px;" :src="row.avatar" :preview-src-list="[row.avatar]"
|
||||
preview-teleported />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="昵称" prop="nickname" show-overflow-tooltip />
|
||||
<el-table-column label="名称" prop="name" show-overflow-tooltip />
|
||||
<el-table-column label="用户账号" prop="account" show-overflow-tooltip />
|
||||
<el-table-column label="用户电话" prop="mobile" show-overflow-tooltip />
|
||||
|
||||
<el-table-column label="本人照片" prop="image" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<el-image v-if="row.image.length > 0" style="width:50px;height:50px;" :src="row.image[0]"
|
||||
:preview-src-list="[row.image[0]]" preview-teleported />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" prop="nickname" show-overflow-tooltip />
|
||||
<el-table-column label="昵称" prop="name" show-overflow-tooltip />
|
||||
<el-table-column label="茶艺师等级" prop="level">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.level" :value="row.level" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="星级" prop="star" show-overflow-tooltip />
|
||||
<el-table-column label="茶艺服务单价" prop="price" show-overflow-tooltip />
|
||||
<el-table-column label="车马费/每公里" prop="mileage_price" show-overflow-tooltip />
|
||||
<!-- <el-table-column label="是否免费出行0免费" prop="is_mileage">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData." :value="row.is_mileage" />
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="服务次数" prop="sold" show-overflow-tooltip />
|
||||
<el-table-column label="服务方式" prop="server_type">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.server_type" :value="row.server_type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="地址位置" prop="address_id" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.address.address" :value="row.server_type" />
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="账户余额" prop="user_money" show-overflow-tooltip />
|
||||
<el-table-column label="不可提现金额" prop="no_reflect_amount" show-overflow-tooltip />
|
||||
<el-table-column label="累计额度" prop="total_amount" show-overflow-tooltip />
|
||||
<el-table-column label="累计提现" prop="total_reflect_amount" show-overflow-tooltip />
|
||||
<el-table-column label="是否禁用" prop="disable">
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.disable == 0">否</span>
|
||||
<span v-if="row.disable == 1">是</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" prop="state">
|
||||
<template #default="{ row }">
|
||||
<dict-value :options="dictData.state" :value="row.state" />
|
||||
|
||||
@ -32,11 +32,10 @@
|
||||
<template #default="{ row }">
|
||||
<div>昵称:{{ row.nickname }}</div>
|
||||
<div>联系方式:{{ row.mobile }}</div>
|
||||
<div><el-image style="width:50px;height:50px;" :src="row.avatar" /></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="店铺名称" prop="name" show-overflow-tooltip />
|
||||
<el-table-column label="银行卡" prop="bank_card" show-overflow-tooltip>
|
||||
<el-table-column label="银行卡" prop="bank_card" show-overflow-tooltip width="350">
|
||||
<template #default="{ row }">
|
||||
<div>卡号:{{ row.bank_card }}</div>
|
||||
<div>开户行:{{ row.bank_name }} {{ row.bank_open_name }}</div>
|
||||
|
||||
@ -28,7 +28,6 @@
|
||||
<template #default="{ row }">
|
||||
<div>姓名:{{ row.nickname }}</div>
|
||||
<div>联系方式:{{ row.mobile }}</div>
|
||||
<div><el-image style="width:50px;height:50px;" :src="row.avatar" /></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="银行卡" prop="bank_card" show-overflow-tooltip>
|
||||
|
||||
Reference in New Issue
Block a user