This commit is contained in:
BIN
build/.DS_Store
vendored
Normal file
BIN
build/.DS_Store
vendored
Normal file
Binary file not shown.
28
package.json
28
package.json
@@ -33,50 +33,50 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@unocss/eslint-config": "^0.55.7",
|
||||
"@vueuse/core": "^10.6.1",
|
||||
"@vueuse/core": "^10.9.0",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "5.1.12",
|
||||
"axios": "^1.6.2",
|
||||
"axios": "^1.6.8",
|
||||
"dayjs": "^1.11.10",
|
||||
"echarts": "^5.5.0",
|
||||
"lodash-es": "^4.17.21",
|
||||
"md-editor-v3": "^4.9.0",
|
||||
"md-editor-v3": "^4.13.0",
|
||||
"mockjs": "^1.1.0",
|
||||
"pinia": "^2.1.7",
|
||||
"vite": "^4.5.0",
|
||||
"vite": "^4.5.3",
|
||||
"vue": "3.3.4",
|
||||
"vue-echarts": "^6.6.9",
|
||||
"vue-router": "^4.2.5",
|
||||
"vue-router": "^4.3.0",
|
||||
"xlsx": "^0.18.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^17.8.1",
|
||||
"@commitlint/config-conventional": "^17.8.1",
|
||||
"@iconify/json": "^2.2.150",
|
||||
"@iconify/json": "^2.2.199",
|
||||
"@iconify/vue": "^4.1.1",
|
||||
"@unocss/preset-rem-to-px": "^0.55.7",
|
||||
"@vitejs/plugin-vue": "^4.5.1",
|
||||
"@vue/compiler-sfc": "^3.3.9",
|
||||
"@vitejs/plugin-vue": "^4.6.2",
|
||||
"@vue/compiler-sfc": "^3.4.21",
|
||||
"@zclzone/eslint-config": "^0.0.4",
|
||||
"chalk": "^5.3.0",
|
||||
"commitizen": "^4.3.0",
|
||||
"cz-conventional-changelog": "^3.3.0",
|
||||
"cz-customizable": "^7.0.0",
|
||||
"dotenv": "^16.3.1",
|
||||
"dotenv": "^16.4.5",
|
||||
"esno": "^0.17.0",
|
||||
"fs-extra": "^11.2.0",
|
||||
"husky": "^8.0.3",
|
||||
"lint-staged": "^14.0.1",
|
||||
"naive-ui": "^2.35.0",
|
||||
"rollup-plugin-visualizer": "^5.9.3",
|
||||
"sass": "^1.69.5",
|
||||
"naive-ui": "^2.38.1",
|
||||
"rollup-plugin-visualizer": "^5.12.0",
|
||||
"sass": "^1.75.0",
|
||||
"unocss": "0.55.3",
|
||||
"unplugin-auto-import": "^0.16.7",
|
||||
"unplugin-icons": "^0.16.6",
|
||||
"unplugin-vue-components": "^0.25.2",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-html": "^3.2.0",
|
||||
"vite-plugin-mkcert": "^1.17.1",
|
||||
"vite-plugin-html": "^3.2.2",
|
||||
"vite-plugin-mkcert": "^1.17.5",
|
||||
"vite-plugin-mock": "2.9.6",
|
||||
"vite-plugin-svg-icons": "^2.0.1"
|
||||
}
|
||||
|
||||
10768
pnpm-lock.yaml
generated
10768
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
BIN
src/.DS_Store
vendored
Normal file
BIN
src/.DS_Store
vendored
Normal file
Binary file not shown.
@@ -58,6 +58,17 @@
|
||||
/>
|
||||
</div>
|
||||
</n-col>
|
||||
<n-col :span="24">
|
||||
<div mt-10 flex items-center>
|
||||
<span w-100>投注时间:</span>
|
||||
<n-date-picker
|
||||
v-model:formatted-value="queryData.time1"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
type="datetimerange"
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</n-col>
|
||||
<n-col :span="24">
|
||||
<div mt-10>
|
||||
<n-button type="primary" @click="get_list">搜索</n-button>
|
||||
@@ -109,6 +120,7 @@ const queryData = ref({
|
||||
hall_id: null,
|
||||
status: null,
|
||||
time: null,
|
||||
time1: null,
|
||||
})
|
||||
|
||||
const options = ref([])
|
||||
@@ -199,6 +211,8 @@ const get_list = async () => {
|
||||
pageSize: pagination.value.pageSize,
|
||||
StartTime: queryData.value.time ? queryData.value.time[0] : '',
|
||||
EndTime: queryData.value.time ? queryData.value.time[1] : '',
|
||||
UseStartTime: queryData.value.time1 ? queryData.value.time1[0] : '',
|
||||
UseEndTime: queryData.value.time1 ? queryData.value.time1[1] : '',
|
||||
}
|
||||
Reflect.deleteProperty(obj, 'time')
|
||||
const res = await api.getData(obj)
|
||||
|
||||
@@ -7,7 +7,7 @@ export default {
|
||||
redirect: '/game_jl',
|
||||
meta: {
|
||||
title: '游戏统计',
|
||||
icon: 'mdi:home',
|
||||
icon: 'mdi:index',
|
||||
order: 100,
|
||||
},
|
||||
children: [
|
||||
@@ -17,7 +17,7 @@ export default {
|
||||
component: () => import('./jl/index.vue'),
|
||||
meta: {
|
||||
title: '豆子记录',
|
||||
icon: 'mdi:home',
|
||||
icon: 'mdi:index',
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
:data="data"
|
||||
:pagination="pagination"
|
||||
:bordered="false"
|
||||
:scroll-x="1800"
|
||||
remote
|
||||
/>
|
||||
</CommonPage>
|
||||
@@ -89,6 +90,7 @@
|
||||
|
||||
<script setup>
|
||||
import api from './api'
|
||||
import { NEllipsis } from 'naive-ui'
|
||||
|
||||
const loading = ref(false)
|
||||
|
||||
@@ -101,15 +103,15 @@ const queryData = ref({
|
||||
|
||||
const songs = ref([
|
||||
{
|
||||
value: 0,
|
||||
value: 1,
|
||||
label: '未付款',
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
value: 2,
|
||||
label: '已付款',
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
value: 3,
|
||||
label: '挂帐中',
|
||||
},
|
||||
])
|
||||
@@ -159,8 +161,10 @@ const columns = ref([
|
||||
row.OrderGoods.forEach((item) => {
|
||||
el.push(
|
||||
h(
|
||||
'div',
|
||||
{},
|
||||
NEllipsis,
|
||||
{
|
||||
style: 'max-width: 100px',
|
||||
},
|
||||
{
|
||||
default: () => `${item.Goods.name}|${item.pay_price}元|X${item.number}`,
|
||||
}
|
||||
|
||||
@@ -2,4 +2,6 @@ import { request } from '@/utils'
|
||||
|
||||
export default {
|
||||
getOrder: (data) => request.post('/order', data),
|
||||
// 核销订单
|
||||
verifyOrder: (data) => request.post('/order/verify', data),
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</n-card>
|
||||
<n-card ml-10 w-200 rounded-5>
|
||||
<n-statistic label="总佣金" tabular-nums>
|
||||
<n-number-animation :from="0" :to="cardData.commission" />
|
||||
<n-number-animation :from="0" :to="cardData.commission" :precision="2" />
|
||||
</n-statistic>
|
||||
</n-card>
|
||||
</div>
|
||||
@@ -99,6 +99,7 @@
|
||||
:data="data"
|
||||
:pagination="pagination"
|
||||
:bordered="false"
|
||||
:scroll-x="2000"
|
||||
remote
|
||||
/>
|
||||
</CommonPage>
|
||||
@@ -106,6 +107,7 @@
|
||||
|
||||
<script setup>
|
||||
import api from './api'
|
||||
import { NButton, NPopconfirm } from 'naive-ui'
|
||||
|
||||
const loading = ref(false)
|
||||
|
||||
@@ -164,11 +166,15 @@ const columns = ref([
|
||||
title: '订单号',
|
||||
align: 'center',
|
||||
key: 'oid',
|
||||
width: 200,
|
||||
fixed: 'left',
|
||||
},
|
||||
{
|
||||
title: '用户',
|
||||
align: 'center',
|
||||
slot: 'user',
|
||||
width: 100,
|
||||
fixed: 'left',
|
||||
render: (row) => {
|
||||
return [
|
||||
h(
|
||||
@@ -301,14 +307,47 @@ const columns = ref([
|
||||
align: 'center',
|
||||
key: 'cancel_time',
|
||||
},
|
||||
// {
|
||||
// title: '操作',
|
||||
// align: 'center',
|
||||
// slot: 'action',
|
||||
// render() {
|
||||
// // console.log(row)
|
||||
// },
|
||||
// },
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
slot: 'action',
|
||||
fixed: 'right',
|
||||
render(row) {
|
||||
const el = []
|
||||
if (row.status === 1) {
|
||||
el.push(
|
||||
h(
|
||||
NPopconfirm,
|
||||
{
|
||||
onPositiveClick: async () => {
|
||||
await api.verifyOrder({
|
||||
oids: [row.oid],
|
||||
})
|
||||
getList()
|
||||
},
|
||||
onNegativeClick: () => $message.info('已取消'),
|
||||
},
|
||||
{
|
||||
default: () => `确定核销此${row.oid}订单吗?`,
|
||||
trigger: () =>
|
||||
h(
|
||||
NButton,
|
||||
{
|
||||
type: 'primary',
|
||||
size: 'small',
|
||||
text: true,
|
||||
},
|
||||
{
|
||||
default: () => '核销',
|
||||
}
|
||||
),
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
return el
|
||||
},
|
||||
},
|
||||
])
|
||||
|
||||
const data = ref([])
|
||||
|
||||
@@ -31,5 +31,15 @@ export default {
|
||||
order: 10,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Ylist',
|
||||
path: 'y_list',
|
||||
component: () => import('./y_list/index.vue'),
|
||||
meta: {
|
||||
title: '后结提现',
|
||||
icon: 'mdi:account-multiple',
|
||||
order: 10,
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
7
src/views/settlement/y_list/api.js
Normal file
7
src/views/settlement/y_list/api.js
Normal file
@@ -0,0 +1,7 @@
|
||||
import { request } from '@/utils'
|
||||
|
||||
export default {
|
||||
getList: (data) => request.post('/amount/withdraw', data),
|
||||
// 申请提现
|
||||
apply: (data) => request.post('/amount/withdraw/set', data),
|
||||
}
|
||||
243
src/views/settlement/y_list/index.vue
Normal file
243
src/views/settlement/y_list/index.vue
Normal file
@@ -0,0 +1,243 @@
|
||||
<template>
|
||||
<!-- <div> -->
|
||||
<CommonPage show-footer :title="$route.title">
|
||||
<div w-1200 flex items-center justify-between>
|
||||
<n-card class="w-300">
|
||||
<n-statistic label="可提现余额">
|
||||
<n-number-animation
|
||||
ref="numberAnimationInstRef"
|
||||
:precision="2"
|
||||
:from="0"
|
||||
:to="userInfo.integral"
|
||||
/>
|
||||
</n-statistic>
|
||||
</n-card>
|
||||
<div w-100 text-center text-25>/</div>
|
||||
<n-card class="w-300">
|
||||
<n-statistic label="兑换比例">
|
||||
<n-number-animation ref="numberAnimationInstRef" :precision="2" :from="0" :to="100" />
|
||||
</n-statistic>
|
||||
</n-card>
|
||||
<div w-100 text-center text-25>=</div>
|
||||
<n-card class="w-300">
|
||||
<n-statistic label="CNY">
|
||||
<n-number-animation
|
||||
ref="numberAnimationInstRef"
|
||||
:precision="2"
|
||||
:from="0"
|
||||
:to="userInfo.integral / 100"
|
||||
/>
|
||||
</n-statistic>
|
||||
</n-card>
|
||||
<div ml-10 w-300 flex flex-col items-center justify-center>
|
||||
<n-input-number v-model:value="formData.integral" clearable placeholder="请输入提现积分" />
|
||||
<n-button mt-10 w-full type="primary" @click="ok">立即提现</n-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<n-data-table
|
||||
class="mt-10"
|
||||
:loading="loading"
|
||||
:columns="columns"
|
||||
:data="data"
|
||||
:pagination="pagination"
|
||||
:bordered="false"
|
||||
remote
|
||||
/>
|
||||
</CommonPage>
|
||||
<!-- </div> -->
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import api from './api'
|
||||
import comm from '@/api'
|
||||
import { NTag, NImage } from 'naive-ui'
|
||||
|
||||
const loading = ref(false)
|
||||
const columns = ref([
|
||||
{
|
||||
title: 'ID',
|
||||
key: 'ID',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '提现金额',
|
||||
key: 'integral',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '上次留存余额',
|
||||
key: 'balance',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '服务费',
|
||||
key: 'commission',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '实际到账',
|
||||
key: 'number',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '剩余余额',
|
||||
key: 'residue',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '手续费比例',
|
||||
slot: 'commission_number',
|
||||
align: 'center',
|
||||
render: (row) => {
|
||||
return h(
|
||||
'span',
|
||||
{},
|
||||
{
|
||||
default: () => `${row.commission_number}%`,
|
||||
}
|
||||
)
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '手续费类型',
|
||||
key: 'commission_type',
|
||||
align: 'center',
|
||||
render: (row) => {
|
||||
return h(
|
||||
NTag,
|
||||
{
|
||||
type: row.commission_type === 1 ? 'success' : 'warning',
|
||||
},
|
||||
{
|
||||
default: () => (row.commission_type === 1 ? '百分比' : '固定值'),
|
||||
}
|
||||
)
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '银行名称',
|
||||
key: 'bank',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '银行卡号',
|
||||
key: 'bank_card',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '账户名称',
|
||||
key: 'bank_name',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '法人',
|
||||
key: 'bank_user',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '提现状态',
|
||||
slot: 'status',
|
||||
align: 'center',
|
||||
render: (row) => {
|
||||
return h(
|
||||
NTag,
|
||||
{
|
||||
type: row.status === 1 ? 'success' : row.status === 2 ? 'error' : 'warning',
|
||||
},
|
||||
{
|
||||
default: () => (row.status === 1 ? '已审核' : row.status === 2 ? '已拒绝' : '待审核'),
|
||||
}
|
||||
)
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '提现时间',
|
||||
slot: 'add_time',
|
||||
align: 'center',
|
||||
render: (row) => {
|
||||
return h(
|
||||
'span',
|
||||
{},
|
||||
{
|
||||
default: () => row.add_time,
|
||||
}
|
||||
)
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '打款截图',
|
||||
slot: 'img',
|
||||
render: (row) => {
|
||||
return h(NImage, {
|
||||
src: row.status_img,
|
||||
width: '50',
|
||||
})
|
||||
},
|
||||
},
|
||||
])
|
||||
const data = ref([])
|
||||
|
||||
const formData = ref({
|
||||
integral: null,
|
||||
})
|
||||
|
||||
const pagination = ref({
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
itemCount: 0,
|
||||
onChange: (page) => {
|
||||
pagination.value.page = page
|
||||
getList()
|
||||
},
|
||||
onUpdatePageSize: (pageSize) => {
|
||||
pagination.value.pageSize = pageSize
|
||||
pagination.value.page = 1
|
||||
getList()
|
||||
},
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
getList()
|
||||
getData()
|
||||
})
|
||||
|
||||
const userInfo = ref({})
|
||||
|
||||
const getData = async () => {
|
||||
const res = await comm.getMerchantInfo()
|
||||
userInfo.value = res.data.data
|
||||
}
|
||||
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const res = await api.getList({
|
||||
pageNum: pagination.value.page,
|
||||
pageSize: pagination.value.pageSize,
|
||||
})
|
||||
data.value = res.data.data || []
|
||||
pagination.value.itemCount = res.data.total
|
||||
} catch (error) {
|
||||
$message.error(error.msg)
|
||||
}
|
||||
loading.value = false
|
||||
}
|
||||
|
||||
const ok = async () => {
|
||||
// if (formData.value.integral < 1000) return $message.warning('提现积分不能小于10000')
|
||||
const res = await api.apply({
|
||||
number: formData.value.integral,
|
||||
})
|
||||
$message.success(res.msg)
|
||||
clear()
|
||||
}
|
||||
|
||||
const clear = () => {
|
||||
formData.value.integral = null
|
||||
getList()
|
||||
getData()
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -12,7 +12,7 @@ export default {
|
||||
component: () => import('./index.vue'),
|
||||
meta: {
|
||||
title: '工作台',
|
||||
icon: 'mdi:home',
|
||||
icon: 'mdi:index',
|
||||
order: 0,
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user