Browse Source

鸿蒙充值, 邮件修改, 充值双倍重置

master
linquan 2 weeks ago
parent
commit
55ebc5d2b9
  1. 24
      src/api/game/order.ts
  2. 124
      src/views/gameMail/mailList/index.vue
  3. 2
      src/views/gameMail/send/index.vue
  4. 2
      src/views/gameNotice/maintenance/index.vue
  5. 2
      src/views/gameNotice/preview/index.vue
  6. 6
      src/views/gameOrder/deposit/index.vue
  7. 348
      src/views/gameOrder/getHarmonyOrder/index.vue
  8. 58
      src/views/gameResetOrderSign/reset/index.vue
  9. 13
      telephone.html

24
src/api/game/order.ts

@ -146,3 +146,27 @@ export function getHuaWeiOrderList(params: object) {
params: params,
});
}
export function getHarmonyOrder(params: object) {
return request({
url: '/api/v1/game/order/getHarmonyOrder',
method: 'get',
params: params,
});
}
export function getHarmonyOrderList(params: object) {
return request({
url: '/api/v1/game/order/getHarmonyOrders',
method: 'get',
params: params,
});
}
export function getHarmonyUserOrderList(params: object) {
return request({
url: '/api/v1/game/order/getHarmonyUserOrders',
method: 'get',
params: params,
});
}

124
src/views/gameMail/mailList/index.vue

@ -4,8 +4,7 @@
<div class="system-user-search mb15">
<el-form :inline="true">
<el-form-item label="邮件标题">
<el-input size="default" v-model="tableData.param.title" placeholder="请输入邮件标题" class="w-50 m-2"
clearable/>
<el-input size="default" v-model="tableData.param.title" placeholder="请输入邮件标题" class="w-50 m-2" clearable />
</el-form-item>
<el-form-item>
<el-button size="default" type="primary" class="ml10" @click="mailList">
@ -14,7 +13,6 @@
</el-icon>
查询
</el-button>
</el-form-item>
</el-form>
</div>
@ -29,7 +27,7 @@
<el-table-column prop="serverId" label="服务器" show-overflow-tooltip>
<template #default="scope">
<div v-for="item in scope.row.serverId" class="flex-warp" :key="item">
{{ item }}-{{ servers.find(i => i.id == item) ? servers.find(i => i.id == item).name : item }}
{{ item }}-{{ servers.find((i) => i.id == item) ? servers.find((i) => i.id == item).name : item }}
</div>
</template>
</el-table-column>
@ -58,7 +56,7 @@
<el-table-column prop="drops" label="附件" show-overflow-tooltip width="100">
<template #default="scope">
<span type="text" v-for="item in scope.row.drops" :key="item.id">
{{ ItemConfig.find(i => i.Id == item.id).DetailsPageName }}--{{ item.num }};
{{ ItemConfig.find((i) => i.Id == item.id).DetailsPageName }}--{{ item.num }};
</span>
</template>
</el-table-column>
@ -67,14 +65,26 @@
<!-- <el-table-column prop="from" label="发件人" show-overflow-tooltip></el-table-column>-->
<el-table-column label="操作" width="200">
<template #default="scope">
<el-button size="small" type="text" @click="onEndSend(scope.row)"
:disabled="!(scope.row.send===2||scope.row.send===1||scope.row.send===4)">取消发送
<el-button
size="small"
type="text"
@click="onEndSend(scope.row)"
:disabled="!(scope.row.send === 2 || scope.row.send === 1 || scope.row.send === 4)"
>取消发送
</el-button>
<el-button size="small" type="text" @click="onRowDel(scope.row)"
:disabled="!(scope.row.send===2||scope.row.send===1||scope.row.send===4)">删除
<el-button
size="small"
type="text"
@click="onRowDel(scope.row)"
:disabled="!(scope.row.send === 2 || scope.row.send === 1 || scope.row.send === 4)"
>删除
</el-button>
<el-button size="small" type="text" @click="onOpenEdit(scope.row)"
:disabled="!(scope.row.send===2||scope.row.send===1||scope.row.send===4)">修改有效期
<el-button
size="small"
type="text"
@click="onOpenEdit(scope.row)"
:disabled="!(scope.row.send === 2 || scope.row.send === 1 || scope.row.send === 4)"
>修改有效期
</el-button>
</template>
</el-table-column>
@ -90,9 +100,15 @@
</el-table-column>
</el-table>
<el-row justify="space-evenly">
<el-pagination :hide-on-single-page="true" v-model:page-size="tableData.param.pageSize"
v-model:current-page="tableData.param.pageNum" :pager-count="5" :total="tableData.total"
@current-change="onHandleCurrentChange" layout="total, prev, pager, next"/>
<el-pagination
:hide-on-single-page="true"
v-model:page-size="tableData.param.pageSize"
v-model:current-page="tableData.param.pageNum"
:pager-count="5"
:total="tableData.total"
@current-change="onHandleCurrentChange"
layout="total, prev, pager, next"
/>
</el-row>
</el-card>
<EditRole ref="editRoleRef" @getMailList="mailList" />
@ -100,11 +116,11 @@
</template>
<script lang="ts">
import {toRefs, reactive, onMounted, defineComponent,} from 'vue';
import { toRefs, reactive, onMounted, defineComponent } from 'vue';
import EditRole from '/@/views/system/role/component/editRole.vue';
import AllItemConfigCategory from "/@/api/config/AllItemConfigCategory.json";
import {serverList} from "/@/utils/game";
import {deleteMail, gameMailList, updateMail} from "/@/api/game/mail";
import AllItemConfigCategory from '/@/api/config/AllItemConfigCategory.json';
import { serverList } from '/@/utils/game';
import { deleteMail, gameMailList, updateMail } from '/@/api/game/mail';
import { ElMessage, ElMessageBox } from 'element-plus';
//
@ -114,21 +130,21 @@ interface TableData {
to: string;
from: string;
// gmName: string;
type: string
expired: number
expiredTime: string
sendTime: string
newGet: string
type: string;
expired: number;
expiredTime: string;
sendTime: string;
newGet: string;
// repeatedCollection: string
title: string
content: string
drops: string
ownerId: string
errData: string
validDay: number
serverId: string[]
send: number
userName: string
title: string;
content: string;
drops: string;
ownerId: string;
errData: string;
validDay: number;
serverId: string[];
send: number;
userName: string;
}
interface TableDataState {
@ -148,7 +164,7 @@ interface TableDataState {
pageSize: number;
};
};
servers: object[]
servers: object[];
}
export default defineComponent({
@ -164,36 +180,36 @@ export default defineComponent({
loading: false,
param: {
uid: '',
serverId: "",
serverId: '',
lowTime: 0,
upTime: 0,
pageSize: 10,
pageNum: 1,
},
},
servers: []
servers: [],
});
function getMailType(t: string) {
if (t === "1") {
return "活动"
} else if (t === "2") {
return "奖励"
} else if (t === "3") {
return "公告"
if (t === '1') {
return '活动';
} else if (t === '2') {
return '奖励';
} else if (t === '3') {
return '公告';
}
return ""
return '';
}
const mailList = () => {
const data: Array<TableData> = [];
gameMailList(state.tableData.param).then(res => {
gameMailList(state.tableData.param).then((res) => {
console.log(res);
if (res.data) {
const list = res.data.mails ?? [];
list.map((item: TableData) => {
data.push({
id: item.id,
id: item._id,
c_date: new Date(item.c_date).toLocaleString(),
to: item.to,
ownerId: item.ownerId,
@ -201,7 +217,7 @@ export default defineComponent({
// gmName: item.gmName,
type: getMailType(item.type),
expired: item.expired,
expiredTime: item.expired < 2 ? item.expired + "" : new Date(item.expired).toLocaleString(),
expiredTime: item.expired < 2 ? item.expired + '' : new Date(item.expired).toLocaleString(),
sendTime: new Date(item.sendTime).toLocaleString(),
newGet: item.newGet,
// repeatedCollection: item.repeatedCollection,
@ -218,7 +234,7 @@ export default defineComponent({
state.tableData.data = data;
state.tableData.total = Number(res.data.total) || 0;
}
})
});
};
//
@ -238,14 +254,15 @@ export default defineComponent({
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
})
.then(() => {
deleteMail({ mailId: row.id }).then(() => {
ElMessage.success('删除邮件成功');
// proxy.$refs['editRoleRef'].resetMenuSession();
mailList();
})
}).catch(() => {
});
})
.catch(() => {});
};
const onEndSend = (row: any) => {
@ -253,18 +270,19 @@ export default defineComponent({
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
})
.then(() => {
updateMail({ mailId: row.id }).then(() => {
ElMessage.success('取消发送邮件成功');
// proxy.$refs['editRoleRef'].resetMenuSession();
mailList();
})
}).catch(() => {
});
})
.catch(() => {});
};
//
onMounted(() => {
serverList().then(value => {
serverList().then((value) => {
state.servers = value;
// console.log(" server : ", state.servers);
});

2
src/views/gameMail/send/index.vue

@ -393,7 +393,7 @@ export default defineComponent({
from: state.queryParams.from,
type: state.queryParams.type,
send: state.queryParams.send,
sendTime: new Date().getTime(),
sendTime: state.queryParams.sendTime,
validDay: state.queryParams.validDay,
expired: state.queryParams.expired,
newGet: state.queryParams.newGet,

2
src/views/gameNotice/maintenance/index.vue

@ -1,6 +1,6 @@
<template>
<div class="game-maintenance-container">
<el-card shadow="hover">
<el-card shadow="hover" header="维护公告">
<div class="">
<el-form label-position="right" label-width="90px">
<el-form-item label="渠道" prop="channel">

2
src/views/gameNotice/preview/index.vue

@ -1,6 +1,6 @@
<template>
<div class="game-maintenance-container">
<el-card shadow="hover" header="登录公告">
<el-card shadow="hover" header="预览公告">
<div class="game-order-search mb15">
<el-form label-width="70px" label-position="right">
<el-form-item label="渠道" prop="channel">

6
src/views/gameOrder/deposit/index.vue

@ -51,9 +51,9 @@
<el-form-item label="充值次数">
<el-input v-model="tableData.paramDeposit.times" placeholder="请输入充值次数" class="w-50 m-2" clearable />
</el-form-item>
<el-form-item label="是否统计付费" prop="count">
<el-radio v-model="tableData.paramDeposit.count" :label="0">统计</el-radio>
<el-radio v-model="tableData.paramDeposit.count" :label="1">统计</el-radio>
<el-form-item label="是否补单" prop="count">
<el-radio v-model="tableData.paramDeposit.count" :label="0"></el-radio>
<el-radio v-model="tableData.paramDeposit.count" :label="1"></el-radio>
</el-form-item>
<el-form-item>
<el-button type="primary" class="ml10" @click="deposit"> 确认充值</el-button>

348
src/views/gameOrder/getHarmonyOrder/index.vue

@ -0,0 +1,348 @@
<template>
<div class="game-order-container">
<el-card shadow="hover">
<div class="game-order-search mb15">
<el-form label-position="right" :inline="true">
<el-form-item label="订单状态">
<el-select v-model="tableData.param.type" class="m-2" placeholder="选择订单查询方式">
<el-option label="按玩家查询订单" :value="0" />
<el-option label="按时间查询订单" :value="1" />
</el-select>
</el-form-item>
<el-form-item label="商户单号" prop="purchaseOrderId" v-show="tableData.param.type === 0">
<el-input size="default" v-model="tableData.param.purchaseOrderId" placeholder="请输入商户单号" clearable />
</el-form-item>
<el-form-item label="起始时间" prop="times">
<el-date-picker
type="datetimerange"
size="default"
v-model="tableData.param.times"
style="width: 400px"
range-separator="-"
start-placeholder="开始"
end-placeholder="结束"
format="YYYY-MM-DD HH:mm:ss"
value-format="x"
/>
</el-form-item>
<el-form-item label="商品类型" prop="productType" v-show="tableData.param.type === 0">
<el-select v-model="tableData.param.productType" class="m-2" placeholder="选择商品类型">
<el-option label="消耗型商品" :value="0" />
</el-select>
</el-form-item>
<el-form-item label="商品列表" prop="productIdList" v-show="tableData.param.type === 0">
<el-select v-model="tableData.param.productIdList" class="m-2" placeholder="选择商品类型" multiple collapse-tags clearable>
<el-option v-for="item in rechargeInfo" :key="item.Id" :label="item.Name" :value="item.Id" />
</el-select>
</el-form-item>
<el-form-item v-show="tableData.param.type === 1">
<el-button size="default" type="primary" class="ml10" @click="orderList">
<el-icon>
<ele-Search />
</el-icon>
查询
<div v-if="!!tableData.param.continuationToken">下一页</div>
</el-button>
</el-form-item>
<el-form-item v-show="tableData.param.type === 0">
<el-button size="default" type="primary" class="ml10" @click="getOrder">
<el-icon>
<ele-Search />
</el-icon>
查询订单
</el-button>
</el-form-item>
<el-form-item v-show="tableData.param.type === 0">
<el-button size="default" type="primary" class="ml10" @click="orderUserList">
<el-icon>
<ele-Search />
</el-icon>
查询列表
<div v-if="!!tableData.param.continuationToken">下一页</div>
</el-button>
</el-form-item>
</el-form>
</div>
<el-table :data="tableData.data" style="width: 100%" stripe border v-show="tableData.param.type==0">
<el-table-column prop="purchaseOrderId" label="商户单号" width="300"></el-table-column>
<el-table-column prop="environment" label="环境类型" width="180">
<template #default="scope">
<div v-if="scope.row.environment == 'NORMAL'">生产环境</div>
<div v-if="scope.row.environment == 'SANDBOX'">沙盒环境</div>
</template>
</el-table-column>
<el-table-column prop="productId" label="商品id" width="180"></el-table-column>
<el-table-column prop="purchaseToken" label="token" width="180"></el-table-column>
<el-table-column prop="productType" label="商品类型" width="100">
<template #default="scope">
<div v-if="scope.row.productType == 0">消耗型</div>
<div v-if="scope.row.productType == 1">非消耗型</div>
<div v-if="scope.row.productType == 2">自动续期订阅</div>
<div v-if="scope.row.productType == 3">非续期订阅</div>
</template>
</el-table-column>
<el-table-column prop="finishStatus" label="发货状态" width="100">
<template #default="scope">
<div v-if="scope.row.finishStatus == 1">已发货</div>
<div v-else-if="scope.row.finishStatus == 2">未发货</div>
<div v-else>{{ scope.row.finishStatus }}</div>
</template>
</el-table-column>
<el-table-column prop="price" label="支付金额(元)" width="120"></el-table-column>
<el-table-column prop="currency" label="币种" width="70"></el-table-column>
<el-table-column prop="developerPayload" label="商户侧保留信息" width="100"></el-table-column>
<el-table-column prop="purchaseTime" label="下单时间" show-overflow-tooltip width="200">
<template #default="scope">
{{ new Date(scope.row.purchaseTime).toLocaleString() }}
</template>
</el-table-column>
<el-table-column prop="revocationTime" label="购买订单撤销时间" show-overflow-tooltip width="200">
<template #default="scope">
{{ new Date(scope.row.revocationTime).toLocaleString() }}
</template>
</el-table-column>
<el-table-column prop="signedTime" label="签名时间" show-overflow-tooltip width="200">
<template #default="scope">
{{ new Date(scope.row.signedTime).toLocaleString() }}
</template>
</el-table-column>
</el-table>
<el-table :data="tableData.data" style="width: 100%" stripe border v-show="tableData.param.type==1">
<el-table-column prop="orderNo" label="商户单号" width="300"></el-table-column>
<el-table-column prop="productName" label="商品名称" width="180"></el-table-column>
<el-table-column prop="productId" label="商品Id" width="100"></el-table-column>
<el-table-column prop="tradeType" label="交易类型" width="100">
<template #default="scope">
<div v-if="scope.row.tradeType">支付</div>
<div v-else>退款</div>
</template>
</el-table-column>
<el-table-column prop="tradeState" label="订单状态" width="100">
<template #default="scope">
<div v-if="scope.row.tradeState==0">成功</div>
<div v-else-if="scope.row.tradeState==2">失败</div>
<div v-else-if="scope.row.tradeState==4">未支付</div>
<div v-else>{{scope.row.tradeState}}</div>
</template>
</el-table-column>
<el-table-column prop="payMoney" label="支付金额(元)" width="120"></el-table-column>
<el-table-column prop="couponAmt" label="优惠券金额(元)" width="130"></el-table-column>
<el-table-column prop="currency" label="币种" width="70"></el-table-column>
<el-table-column prop="country" label="country" width="100"></el-table-column>
<el-table-column prop="orderTime" label="下单时间" show-overflow-tooltip width="200">
<template #default="scope">
{{new Date(scope.row.orderTime).toLocaleString()}}
</template>
</el-table-column>
<el-table-column prop="tradeTime" label="支付时间" show-overflow-tooltip width="200">
<template #default="scope">
{{new Date(scope.row.tradeTime).toLocaleString()}}
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script lang="ts">
import { toRefs, reactive, onMounted, defineComponent } from 'vue';
import { allChannelList, ServerCategorize, serverList, ServerList } from '/@/utils/game';
import RechargeConfigCategory from '/@/api/config/RechargeConfigCategory.json';
import { gSwitchServer } from '/@/utils/utils';
import { getHarmonyOrder, getHarmonyOrderList, getHarmonyUserOrderList } from '/@/api/game/order';
import { ElMessage } from 'element-plus/es';
import { ElLoading } from 'element-plus';
//
interface TableData {
id: string;
CreateTime: string;
CfgId: number;
Rmb: number;
SilverPiece: number;
Identity: string;
timeStr: string;
uid: string;
RealName: string;
StringId: string;
}
interface TableDataState {
serverSwitch: number;
serverCategorize: object;
tableData: {
data: Array<TableData>;
total: number;
param: {
times: string[];
purchaseOrderId: string;
continuationToken: string;
productType: string;
productIdList: string[];
type: number;
};
order: object;
};
servers: object;
channels: object;
rechargeInfo: object[];
}
export default defineComponent({
name: 'apiV1GameOrderHarmonyOrder',
setup() {
const state = reactive<TableDataState>({
serverSwitch: 0,
serverCategorize: ServerCategorize,
tableData: {
data: [],
total: 0,
param: {
times: [],
continuationToken: '',
purchaseOrderId: '',
productType: '',
productIdList: [],
type: 0,
},
order: [],
},
servers: ServerList,
channels: [],
rechargeInfo: RechargeConfigCategory,
});
const getOrder = (reset) => {
const loading = ElLoading.service({
lock: true,
text: 'Loading',
background: 'rgba(0, 0, 0, 0.7)',
});
if (state.tableData.param.purchaseOrderId == '') {
ElMessage.error('订单号未填写!');
loading.close();
return;
}
if (!reset) {
state.tableData.total = 0;
}
state.tableData.data = [];
getHarmonyOrder(state.tableData.param)
.then((res) => {
console.log(res);
if (!res.data || !res.data.orderStatus) {
return;
}
state.tableData.data.push(res.data.purchaseOrderInfo);
})
.finally(() => {
loading.close();
});
};
const orderUserList = (reset) => {
const loading = ElLoading.service({
lock: true,
text: 'Loading',
background: 'rgba(0, 0, 0, 0.7)',
});
if (state.tableData.param.purchaseOrderId == '') {
ElMessage.error('订单号未填写!');
loading.close();
return;
}
if (!reset) {
state.tableData.total = 0;
}
state.tableData.param.startTime = state.tableData.param.times[0];
state.tableData.param.endTime = state.tableData.param.times[1];
if (!state.tableData.param.endTime || !state.tableData.param.startTime) {
ElMessage.error('请填写时间!');
loading.close();
return;
}
if (state.tableData.param.endTime - state.tableData.param.startTime > 365 * 24 * 60 * 60 * 1000) {
ElMessage.error('时间指定在365天之内!');
loading.close();
return;
}
getHarmonyUserOrderList(state.tableData.param)
.then((res) => {
console.log(res);
if (!res.data || !res.data) {
return;
}
state.tableData.param.continuationToken = res.data.continuationToken;
state.tableData.data = res.data.orderInfoList || [];
if (
state.tableData.data.length == 0 &&
!!state.tableData.param.continuationToken &&
state.tableData.param.purchaseOrderId.length > 0 &&
state.tableData.total < 5
) {
orderUserList(true);
state.tableData.total++;
}
})
.finally(() => {
loading.close();
});
};
const orderList = (reset) => {
if (!reset) {
state.tableData.total = 0;
}
state.tableData.param.startTime = state.tableData.param.times[0];
state.tableData.param.endTime = state.tableData.param.times[1];
if (!state.tableData.param.endTime || !state.tableData.param.startTime) {
ElMessage.error('请填写时间!');
return;
}
if (state.tableData.param.endTime - state.tableData.param.startTime > 48 * 60 * 60 * 1000) {
ElMessage.error('时间指定在48小时之内!');
return;
}
getHarmonyOrderList(state.tableData.param).then((res) => {
console.log(res);
if (!res.data || !res.data.order) {
return;
}
state.tableData.param.continuationToken = res.data.order.continuationToken;
state.tableData.data = res.data.order.orderInfoList || [];
if (state.tableData.param.purchaseOrderId.length > 0) {
state.tableData.data = state.tableData.data.filter((item) => {
return item.requestId == state.tableData.param.purchaseOrderId;
});
if (state.tableData.data.length == 0 && !!state.tableData.param.continuationToken && state.tableData.total < 5) {
orderList(true);
state.tableData.total++;
}
}
});
};
//
onMounted(() => {
serverList().then((res) => {
state.servers = res;
});
allChannelList().then((res) => {
state.channels = res;
});
});
const switchServer = () => {
return gSwitchServer(state.serverSwitch, state.servers);
};
return {
switchServer,
getOrder,
orderList,
orderUserList,
...toRefs(state),
};
},
});
</script>

58
src/views/gameResetOrderSign/reset/index.vue

@ -1,7 +1,17 @@
<template>
<div class="system-edit-post-container">
<el-form ref="formRef" size="default" label-width="80px">
<el-form ref="formRef" size="default" label-width="100px">
<el-card shadow="hover" header="">
<el-form-item label="选择服务器" prop="serverId">
<div>
<el-select v-model="serverSwitch" class="m-2" placeholder="选择服务器" size="large" style="width: 80px">
<el-option v-for="item in serverCategorize" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-select v-model="querys.serverId" class="m-2" placeholder="选择服务器" size="large" filterable>
<el-option v-for="item in switchServer()" :key="item.id" :label="item.name" :value="item.id + ''" />
</el-select>
</div>
</el-form-item>
<el-form-item>
<el-button size="default" type="primary" class="ml10" @click="onReset">
<el-icon>
@ -15,14 +25,22 @@
</div>
</template>
<script lang="ts">
import { defineComponent, reactive, ref, toRefs } from 'vue';
import { defineComponent, onMounted, reactive, ref, toRefs } from 'vue';
import { resetOrderSign } from '/@/api/game/order';
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus';
import { allServerList, ServerCategorize } from '/@/utils/game';
import { allGSwitchServer } from '/@/utils/utils';
interface TableDataState {
querys: {
password: string;
serverId: number;
channel: string;
};
servers: object[];
channels: object[];
serverSwitch: number;
serverCategorize: object[];
}
export default defineComponent({
@ -31,7 +49,10 @@ export default defineComponent({
const formRef = ref<HTMLElement | null>(null);
const menuRef = ref();
const state = reactive<TableDataState>({
querys: { password: '' },
querys: { password: '', serverId: '' },
servers: [],
serverCategorize: ServerCategorize,
serverSwitch: 0,
});
const onReset = () => {
const loading = ElLoading.service({
@ -39,17 +60,26 @@ export default defineComponent({
text: 'Loading',
background: 'rgba(0, 0, 0, 0.7)',
});
ElMessageBox.prompt(`此操作将删除:玩家充值档位记录。 继续,请输入账号密码`, '提示', {
let server = state.servers.find((r) => r.id == state.querys.serverId);
let title = ``;
if (server != null && server.name != null && server.name != '') {
let area = `${server.id}`;
if (server.id == '') {
area = '';
}
title = `此操作将删除[${area}${server.name}]玩家充值档位记录。 继续,请输入"确认"`;
}
ElMessageBox.prompt(title, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
inputErrorMessage: 'Invalid password',
inputErrorMessage: 'Invalid world',
})
.then(({ value }) => {
if (!value) {
ElMessage.error('请输入密码');
if (value != '确认') {
ElMessage.error('请正确输入');
return;
}
state.querys.password = value;
// state.querys.password = value;
resetOrderSign(state.querys)
.then(() => {
ElMessage.success('删除成功');
@ -62,10 +92,22 @@ export default defineComponent({
loading.close();
});
};
const switchServer = () => {
return allGSwitchServer(state.serverSwitch, state.servers);
};
//
onMounted(() => {
allServerList().then((res) => {
state.servers = res;
// state.querys.serverId = '' + res[0].id;
});
});
return {
onReset,
menuRef,
formRef,
switchServer,
...toRefs(state),
};
},

13
telephone.html

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="tel">
<!-- <img src="./img/tel.png" />-->
<a href="tel:13950405063">联系客服</a>
</div>
</body>
</html>
Loading…
Cancel
Save