完善列表
This commit is contained in:
@ -23,4 +23,9 @@ export function apiTeamasterAccountLogDelete(params: any) {
|
|||||||
// 茶艺师财务明细详情
|
// 茶艺师财务明细详情
|
||||||
export function apiTeamasterAccountLogDetail(params: any) {
|
export function apiTeamasterAccountLogDetail(params: any) {
|
||||||
return request.get({ url: '/teamaster_account_log/detail', params })
|
return request.get({ url: '/teamaster_account_log/detail', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 茶艺师财务明细统计
|
||||||
|
export function apiTeamasterAccountLogStats(params: any) {
|
||||||
|
return request.get({ url: '/teamasterAccountLog/statistics', params })
|
||||||
|
}
|
||||||
|
|||||||
@ -66,7 +66,7 @@
|
|||||||
<el-input class="w-[280px]" v-model="queryParams.room_id" clearable placeholder="请输入关联房间id" />
|
<el-input class="w-[280px]" v-model="queryParams.room_id" clearable placeholder="请输入关联房间id" />
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
<el-button type="primary" @click="() => { resetPage(); handleCountData(); }">查询</el-button>
|
||||||
<el-button @click="resetParams">重置</el-button>
|
<el-button @click="resetParams">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|||||||
@ -4,15 +4,15 @@
|
|||||||
<div class="flex flex-wrap">
|
<div class="flex flex-wrap">
|
||||||
<div class="w-1/2 md:w-1/3">
|
<div class="w-1/2 md:w-1/3">
|
||||||
<div class="leading-10">茶艺师提现总金额 (元)</div>
|
<div class="leading-10">茶艺师提现总金额 (元)</div>
|
||||||
<div class="text-6xl">1</div>
|
<div class="text-6xl">{{ total.tixian }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-1/2 md:w-1/3">
|
<div class="w-1/2 md:w-1/3">
|
||||||
<div class="leading-10">包间预定 (元)</div>
|
<div class="leading-10">包间预定 (元)</div>
|
||||||
<div class="text-6xl">2</div>
|
<div class="text-6xl">{{ total.yueding }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-1/2 md:w-1/3">
|
<div class="w-1/2 md:w-1/3">
|
||||||
<div class="leading-10">包间续订 (元)</div>
|
<div class="leading-10">包间续订 (元)</div>
|
||||||
<div class="text-6xl">3</div>
|
<div class="text-6xl">{{ total.xuding }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -33,14 +33,18 @@
|
|||||||
:value="item.value" />
|
:value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="关联单号" prop="source_sn">
|
<el-form-item label="记录时间">
|
||||||
|
<daterange-picker v-model:startTime="queryParams.start_time"
|
||||||
|
v-model:endTime="queryParams.end_time" />
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="关联单号" prop="source_sn">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.source_sn" clearable placeholder="请输入关联单号" />
|
<el-input class="w-[280px]" v-model="queryParams.source_sn" clearable placeholder="请输入关联单号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="子订单号" prop="sub_sn">
|
<el-form-item label="子订单号" prop="sub_sn">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.sub_sn" clearable placeholder="请输入子订单号" />
|
<el-input class="w-[280px]" v-model="queryParams.sub_sn" clearable placeholder="请输入子订单号" />
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
<el-button type="primary" @click="() => { resetPage(); handleCountData(); }">查询</el-button>
|
||||||
<el-button @click="resetParams">重置</el-button>
|
<el-button @click="resetParams">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@ -65,7 +69,7 @@
|
|||||||
<el-table-column label="变动前数量" prop="before_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="after_amount" show-overflow-tooltip />
|
||||||
<el-table-column label="关联单号" prop="source_sn" show-overflow-tooltip />
|
<el-table-column label="关联单号" prop="source_sn" show-overflow-tooltip />
|
||||||
<el-table-column label="子订单号" prop="sub_sn" show-overflow-tooltip />
|
<!-- <el-table-column label="子订单号" prop="sub_sn" show-overflow-tooltip /> -->
|
||||||
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
|
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
|
||||||
<el-table-column label="创建时间" prop="create_time" show-overflow-tooltip />
|
<el-table-column label="创建时间" prop="create_time" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="120" fixed="right">
|
<el-table-column label="操作" width="120" fixed="right">
|
||||||
@ -89,7 +93,7 @@
|
|||||||
<script lang="ts" setup name="teamasterAccountLogLists">
|
<script lang="ts" setup name="teamasterAccountLogLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiTeamasterAccountLogLists, apiTeamasterAccountLogDelete } from '@/api/teamaster_account_log'
|
import { apiTeamasterAccountLogLists, apiTeamasterAccountLogDelete, apiTeamasterAccountLogStats } from '@/api/teamaster_account_log'
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat } from '@/utils/util'
|
||||||
import feedback from '@/utils/feedback'
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './component/teamaster_edit.vue'
|
import EditPopup from './component/teamaster_edit.vue'
|
||||||
@ -105,7 +109,9 @@ const queryParams = reactive({
|
|||||||
action: '',
|
action: '',
|
||||||
source_sn: '',
|
source_sn: '',
|
||||||
sub_sn: '',
|
sub_sn: '',
|
||||||
status: ''
|
status: '',
|
||||||
|
start_time: '',
|
||||||
|
end_time: '',
|
||||||
})
|
})
|
||||||
|
|
||||||
// 选中数据
|
// 选中数据
|
||||||
@ -147,5 +153,18 @@ const handleDelete = async (id: number | any[]) => {
|
|||||||
getLists()
|
getLists()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 统计数据
|
||||||
|
const total = ref({
|
||||||
|
tixian: 0,
|
||||||
|
xuding: 0,
|
||||||
|
yueding: 0
|
||||||
|
})
|
||||||
|
|
||||||
|
const handleCountData = async () => {
|
||||||
|
const data = await apiTeamasterAccountLogStats(queryParams)
|
||||||
|
total.value = data
|
||||||
|
}
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
|
handleCountData()
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -75,8 +75,8 @@
|
|||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="门锁" prop="is_lock">
|
<el-form-item label="门锁" prop="is_lock">
|
||||||
<el-select v-model="formData.is_lock" clearable placeholder="请选择">
|
<el-select v-model="formData.is_lock" clearable placeholder="请选择">
|
||||||
<el-option label="不存在" value="0"></el-option>
|
<el-option label="不存在" :value="0"></el-option>
|
||||||
<el-option label="存在" value="1"></el-option>
|
<el-option label="存在" :value="1"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="门锁编号" prop="lock_no">
|
<el-form-item label="门锁编号" prop="lock_no">
|
||||||
@ -85,8 +85,8 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="营业状态" prop="shop_status">
|
<el-form-item label="营业状态" prop="shop_status">
|
||||||
<el-select v-model="formData.shop_status" clearable placeholder="请选择">
|
<el-select v-model="formData.shop_status" clearable placeholder="请选择">
|
||||||
<el-option label="打烊" value="0"></el-option>
|
<el-option label="打烊" :value="0"></el-option>
|
||||||
<el-option label="开店" value="1"></el-option>
|
<el-option label="开店" :value="1"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="归属人" prop="store_user_id">
|
<el-form-item label="归属人" prop="store_user_id">
|
||||||
@ -97,8 +97,8 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="充值套餐状态" prop="recharge_state">
|
<el-form-item label="充值套餐状态" prop="recharge_state">
|
||||||
<el-select v-model="formData.recharge_state" clearable placeholder="请选择">
|
<el-select v-model="formData.recharge_state" clearable placeholder="请选择">
|
||||||
<el-option label="关闭" value="0"></el-option>
|
<el-option label="关闭" :value="0"></el-option>
|
||||||
<el-option label="打开" value="1"></el-option>
|
<el-option label="打开" :value="1"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@ -320,6 +320,17 @@ const setFormData = async (data: Record<any, any>) => {
|
|||||||
formData[key] = data[key]
|
formData[key] = data[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Number(formData.lock_no) == 0) {
|
||||||
|
formData.lock_no = ''
|
||||||
|
}
|
||||||
|
|
||||||
|
if (formData.store_user_id) {
|
||||||
|
let arr = formData.store_user_id.split(',')
|
||||||
|
//@ts-ignore
|
||||||
|
formData.store_user_id = arr.map((item: string) => Number(item))
|
||||||
|
}
|
||||||
|
addressSelections.value = [String(formData.province_id), String(formData.city_id), String(formData.district_id)]
|
||||||
}
|
}
|
||||||
|
|
||||||
const getDetail = async (row: Record<string, any>) => {
|
const getDetail = async (row: Record<string, any>) => {
|
||||||
@ -332,7 +343,7 @@ const getDetail = async (row: Record<string, any>) => {
|
|||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
// await formRef.value?.validate()
|
await formRef.value?.validate()
|
||||||
let data = { ...formData }
|
let data = { ...formData }
|
||||||
if (Array.isArray(data.store_user_id)) {
|
if (Array.isArray(data.store_user_id)) {
|
||||||
data.store_user_id = data.store_user_id.join(',')
|
data.store_user_id = data.store_user_id.join(',')
|
||||||
|
|||||||
@ -77,7 +77,7 @@
|
|||||||
import type { FormInstance } from 'element-plus'
|
import type { FormInstance } from 'element-plus'
|
||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { apiTeamasterRealAdd, apiTeamasterRealEdit, apiTeamasterRealDetail } from '@/api/teamaster_real'
|
import { apiTeamasterRealAdd, apiTeamasterRealEdit, apiTeamasterRealDetail } from '@/api/teamaster_real'
|
||||||
import { timeFormat } from '@/utils/util'
|
import { timeFormat, removeImageUrlPrefix } from '@/utils/util'
|
||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
defineProps({
|
defineProps({
|
||||||
dictData: {
|
dictData: {
|
||||||
@ -187,7 +187,21 @@ const getDetail = async (row: Record<string, any>) => {
|
|||||||
// 提交按钮
|
// 提交按钮
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
await formRef.value?.validate()
|
await formRef.value?.validate()
|
||||||
const data = { ...formData, gender: formData.gender.join(",") }
|
let data = { ...formData, gender: formData.gender.join(",") }
|
||||||
|
data.avatar = removeImageUrlPrefix(data.avatar)
|
||||||
|
|
||||||
|
if (data.certificate && data.certificate[0]) {
|
||||||
|
data.certificate = removeImageUrlPrefix(data.certificate[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.certificate && data.certificate[1]) {
|
||||||
|
data.certificate = removeImageUrlPrefix(data.certificate[1])
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.license_img) {
|
||||||
|
data.license_img = removeImageUrlPrefix(data.license_img)
|
||||||
|
}
|
||||||
|
|
||||||
mode.value == 'edit'
|
mode.value == 'edit'
|
||||||
? await apiTeamasterRealEdit(data)
|
? await apiTeamasterRealEdit(data)
|
||||||
: await apiTeamasterRealAdd(data)
|
: await apiTeamasterRealAdd(data)
|
||||||
|
|||||||
@ -46,7 +46,7 @@
|
|||||||
<el-table-column label="体重" prop="weight" show-overflow-tooltip />
|
<el-table-column label="体重" prop="weight" show-overflow-tooltip />
|
||||||
<el-table-column label="个人头像照片" prop="avatar">
|
<el-table-column label="个人头像照片" prop="avatar">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-image style="width:50px;height:50px;" :src="row.avatar" />
|
<el-image style="width:100px;height:100px;" :src="row.avatar" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="个人资料多图" prop="information">
|
<!-- <el-table-column label="个人资料多图" prop="information">
|
||||||
|
|||||||
@ -9,6 +9,30 @@
|
|||||||
<el-form-item label="用户昵称" prop="nickname">
|
<el-form-item label="用户昵称" prop="nickname">
|
||||||
<el-input v-model="formData.nickname" clearable placeholder="请输入用户昵称" />
|
<el-input v-model="formData.nickname" clearable placeholder="请输入用户昵称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="用户名称" prop="name">
|
||||||
|
<el-input v-model="formData.name" clearable placeholder="请输入用户昵称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="本人照片" prop="image">
|
||||||
|
<material-picker v-model="formData.image" :limit="1" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="出生日期" prop="image">
|
||||||
|
<el-date-picker v-model="formData.both" type="date" placeholder="请选择" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="体重" prop="weight">
|
||||||
|
<el-input v-model="formData.weight" clearable placeholder="请输入体重" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="身高" prop="height">
|
||||||
|
<el-input v-model="formData.height" clearable placeholder="请输入身高" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="性别" prop="height">
|
||||||
|
<el-select v-model="formData.sex" clearable placeholder="请选择">
|
||||||
|
<el-option label="女" :value="2"></el-option>
|
||||||
|
<el-option label="男" :value="1"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="兴趣爱好" prop="hobby_introduce">
|
||||||
|
<editor class="flex-1" v-model="formData.hobby_introduce" :height="500" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="用户账号" prop="account">
|
<el-form-item label="用户账号" prop="account">
|
||||||
<el-input v-model="formData.account" clearable placeholder="请输入用户账号" />
|
<el-input v-model="formData.account" clearable placeholder="请输入用户账号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -111,6 +135,13 @@ const formData = reactive({
|
|||||||
id: '',
|
id: '',
|
||||||
avatar: '',
|
avatar: '',
|
||||||
nickname: '',
|
nickname: '',
|
||||||
|
name: '',
|
||||||
|
image: '',
|
||||||
|
both: '',
|
||||||
|
weight: '',
|
||||||
|
height: '',
|
||||||
|
sex: '',
|
||||||
|
hobby_introduce: '',
|
||||||
account: '',
|
account: '',
|
||||||
mobile: '',
|
mobile: '',
|
||||||
level: '',
|
level: '',
|
||||||
|
|||||||
@ -2,8 +2,11 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-card class="!border-none mb-4" shadow="never">
|
<el-card class="!border-none mb-4" shadow="never">
|
||||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||||
<el-form-item label="用户昵称" prop="nickname">
|
<el-form-item label="昵称" prop="nickname">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.nickname" clearable placeholder="请输入用户昵称" />
|
<el-input class="w-[280px]" v-model="queryParams.nickname" clearable placeholder="请输入昵称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="名称" prop="name">
|
||||||
|
<el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入昵称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用户电话" prop="mobile">
|
<el-form-item label="用户电话" prop="mobile">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.mobile" clearable placeholder="请输入用户电话" />
|
<el-input class="w-[280px]" v-model="queryParams.mobile" clearable placeholder="请输入用户电话" />
|
||||||
@ -68,7 +71,8 @@
|
|||||||
<el-image style="width:50px;height:50px;" :src="row.avatar" />
|
<el-image style="width:50px;height:50px;" :src="row.avatar" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="用户昵称" prop="nickname" show-overflow-tooltip />
|
<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="account" show-overflow-tooltip />
|
||||||
<el-table-column label="用户电话" prop="mobile" show-overflow-tooltip />
|
<el-table-column label="用户电话" prop="mobile" show-overflow-tooltip />
|
||||||
<el-table-column label="茶艺师等级" prop="level">
|
<el-table-column label="茶艺师等级" prop="level">
|
||||||
@ -146,6 +150,7 @@ const showEdit = ref(false)
|
|||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
nickname: '',
|
nickname: '',
|
||||||
|
name: '',
|
||||||
mobile: '',
|
mobile: '',
|
||||||
level: '',
|
level: '',
|
||||||
is_mileage: '',
|
is_mileage: '',
|
||||||
|
|||||||
Reference in New Issue
Block a user