Browse Source

debug

master
linquan 4 weeks ago
parent
commit
9b5b1c011e
  1. 25
      src/api/config/AllItemConfigCategory.json
  2. 2
      src/api/config/BusinessManConfigCategory.json
  3. 2
      src/api/config/DecorationsConfigCategory.json
  4. 8
      src/api/config/FunctionItemConfigCategory.json
  5. 44
      src/api/config/GoodsForSaleConfigCategory.json
  6. 32
      src/api/config/ScienceConfigCategory.json
  7. 46
      src/api/config/SkillBuffConfigCategory.json
  8. 70
      src/api/config/SkillBulletConfigCategory.json
  9. 12
      src/api/config/StructureConfigCategory.json
  10. 27
      src/api/config/StructureSkinConfigCategory.json
  11. 20
      src/utils/utils.ts
  12. 348
      src/views/gameBug/clientBug/index.vue
  13. 32
      src/views/gameCCD/hotfix/component/checkCCD.vue
  14. 129
      src/views/gameCCD/hotfix/index.vue
  15. 22
      src/views/gameCustom/feedback/index.vue
  16. 4
      src/views/gameLoginUrl/serverList/index.vue
  17. 6
      src/views/gameManage/statistics/index.vue
  18. 2
      src/views/gameMarket/actionModel/index.vue
  19. 2
      src/views/gameMarket/buyModel/index.vue
  20. 2
      src/views/gameMarket/highPriceRecycleModel/index.vue
  21. 2
      src/views/gameMarket/sellModel/index.vue
  22. 450
      src/views/gameNotice/list/index.vue
  23. 2
      src/views/gameRole/account/index.vue
  24. 137
      src/views/gameRole/itemRecord/index.vue
  25. 71
      src/views/gameRole/role/index.vue
  26. 4
      src/views/gameWhiteList/list/index.vue
  27. 36
      src/views/login/index.vue
  28. 54
      src/views/pages/filtering/index.vue
  29. 29
      src/views/pages/lazyImg/index.vue
  30. 27
      src/views/pages/listAdapt/index.vue
  31. 2
      src/views/system/config/index.vue
  32. 2
      src/views/system/dict/dataList.vue
  33. 2
      src/views/system/dict/index.vue
  34. 2
      src/views/system/monitor/loginLog/index.vue
  35. 18
      src/views/system/post/index.vue
  36. 18
      src/views/system/role/index.vue
  37. 18
      src/views/system/user/index.vue

25
src/api/config/AllItemConfigCategory.json

@ -16694,7 +16694,7 @@
"TreasureBowl": false, "TreasureBowl": false,
"Icon": "Item_Icon_7877", "Icon": "Item_Icon_7877",
"Description": "凿痕映青苔,曲水引桃源。", "Description": "凿痕映青苔,曲水引桃源。",
"GetMethod": "来源:未知", "GetMethod": "来源:夜市商人",
"Importantdata": false "Importantdata": false
}, },
{ {
@ -22056,6 +22056,29 @@
"GetMethod": "来源:鲁明处兑换", "GetMethod": "来源:鲁明处兑换",
"Importantdata": false "Importantdata": false
}, },
{
"Id": 400031,
"Name": "藏礼屋",
"DetailsPageName": "礼厅皮肤:藏礼屋",
"Type": 7,
"RelatedId": 40032,
"StockType": 6,
"StorageType": 1,
"Transport": false,
"BackpackTransfer": false,
"SuperpositionMax": 9999999999,
"HasLimit": 1,
"AbleThrow": false,
"Gift": false,
"Favorability": 0,
"Track": false,
"Grade": 2,
"TreasureBowl": false,
"Icon": "Item_Icon_400031",
"Description": "礼厅建筑的外观皮肤,使用后可在桃源殿解锁研究皮肤科技:藏礼屋",
"GetMethod": "来源:鲁明处兑换",
"Importantdata": false
},
{ {
"Id": 500001, "Id": 500001,
"Name": "榕树皮肤", "Name": "榕树皮肤",

2
src/api/config/BusinessManConfigCategory.json

@ -480,7 +480,7 @@
"ResetItemNum": 0, "ResetItemNum": 0,
"Increment": 0, "Increment": 0,
"ResetLimited": 0, "ResetLimited": 0,
"ResetType": 0, "ResetType": 5,
"ResetTypeParameter": 500 "ResetTypeParameter": 500
}, },
{ {

2
src/api/config/DecorationsConfigCategory.json

@ -1246,7 +1246,7 @@
"Id": 67, "Id": 67,
"Name": "武陵溪", "Name": "武陵溪",
"Type": 2, "Type": 2,
"Manual": false, "Manual": true,
"Order": 67, "Order": 67,
"score": 15, "score": 15,
"Preview": true, "Preview": true,

8
src/api/config/FunctionItemConfigCategory.json

@ -3903,6 +3903,14 @@
"UseTypeParameter": 7031, "UseTypeParameter": 7031,
"UseTypeParameter2": 0 "UseTypeParameter2": 0
}, },
{
"Id": 40032,
"Name": "藏礼屋",
"UseType": 13,
"ScaleCondition": 20,
"UseTypeParameter": 7032,
"UseTypeParameter2": 0
},
{ {
"Id": 50001, "Id": 50001,
"Name": "图纸:榕树皮肤", "Name": "图纸:榕树皮肤",

44
src/api/config/GoodsForSaleConfigCategory.json

@ -6335,6 +6335,28 @@
"Specialty": 0, "Specialty": 0,
"RefreshCycle": 0 "RefreshCycle": 0
}, },
{
"Id": 8026,
"GroupId": 405,
"Scale": 0,
"ItemId": 7877,
"SaleNum": [
500,
500
],
"Weight": 1,
"OverlayWeight": 0,
"SaleCondition": 0,
"SaleConditionParemeter": 0,
"SellingCurrencyType": 1,
"Price": 2000,
"Discount": 90,
"DiscountWeight": 10,
"SaleMax": 1000,
"DiscountMark": "",
"Specialty": 0,
"RefreshCycle": 0
},
{ {
"Id": 9001, "Id": 9001,
"GroupId": 406, "GroupId": 406,
@ -7082,5 +7104,27 @@
"DiscountMark": "", "DiscountMark": "",
"Specialty": 0, "Specialty": 0,
"RefreshCycle": 0 "RefreshCycle": 0
},
{
"Id": 10031,
"GroupId": 407,
"Scale": 0,
"ItemId": 400031,
"SaleNum": [
1,
1
],
"Weight": 1,
"OverlayWeight": 0,
"SaleCondition": 0,
"SaleConditionParemeter": 0,
"SellingCurrencyType": 9,
"Price": 1,
"Discount": 0,
"DiscountWeight": 0,
"SaleMax": 1,
"DiscountMark": "",
"Specialty": 0,
"RefreshCycle": 0
} }
] ]

32
src/api/config/ScienceConfigCategory.json

@ -7892,8 +7892,8 @@
"EffectParameter": 503, "EffectParameter": 503,
"Icon": "Science_5003", "Icon": "Science_5003",
"Performance": 0, "Performance": 0,
"ScienceDescribe": "编辑场景可以移动资源", "ScienceDescribe": "布局模式下可以移动资源",
"ResultDescribe": "编辑场景可以移动资源" "ResultDescribe": "布局模式下可以移动资源"
}, },
{ {
"Id": 7001, "Id": 7001,
@ -8762,5 +8762,33 @@
"Performance": 0, "Performance": 0,
"ScienceDescribe": "鲁明(位于陶渊明家)处购买图纸", "ScienceDescribe": "鲁明(位于陶渊明家)处购买图纸",
"ResultDescribe": "解锁建筑皮肤:芳轮溉春" "ResultDescribe": "解锁建筑皮肤:芳轮溉春"
},
{
"Id": 7032,
"Type": 4,
"Name": "藏礼屋",
"PrefixScience": 0,
"ScienceGroup": 7032,
"ScienceLv": 10,
"Scale": 20,
"Structure": 30,
"Drawing": true,
"ItemId_1": 327,
"ItemNum_1": 500,
"ItemId_2": 803,
"ItemNum_2": 700,
"ItemId_3": 808,
"ItemNum_3": 700,
"ItemId_4": 819,
"ItemNum_4": 350,
"Copper": 320000,
"Volume": 260000,
"EffectType": 5,
"ObjectAction": 0,
"EffectParameter": 0,
"Icon": "Science_7032",
"Performance": 0,
"ScienceDescribe": "鲁明(位于陶渊明家)处购买图纸",
"ResultDescribe": "解锁建筑皮肤:藏礼屋"
} }
] ]

46
src/api/config/SkillBuffConfigCategory.json

@ -21341,8 +21341,8 @@
{ {
"Id": 3611, "Id": 3611,
"Name": "", "Name": "",
"TriggerTime": 3, "TriggerTime": 1,
"TriggerParameter": 1, "TriggerParameter": 0,
"Gain": 0, "Gain": 0,
"Immunity": false, "Immunity": false,
"Disperse": false, "Disperse": false,
@ -21351,8 +21351,8 @@
"LinkEffect": [ "LinkEffect": [
3611 3611
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21376,8 +21376,8 @@
"LinkEffect": [ "LinkEffect": [
3612 3612
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21401,8 +21401,8 @@
"LinkEffect": [ "LinkEffect": [
3613 3613
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21426,8 +21426,8 @@
"LinkEffect": [ "LinkEffect": [
3614 3614
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21451,8 +21451,8 @@
"LinkEffect": [ "LinkEffect": [
3615 3615
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21476,8 +21476,8 @@
"LinkEffect": [ "LinkEffect": [
3616 3616
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21501,8 +21501,8 @@
"LinkEffect": [ "LinkEffect": [
3617 3617
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21526,8 +21526,8 @@
"LinkEffect": [ "LinkEffect": [
3618 3618
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21551,8 +21551,8 @@
"LinkEffect": [ "LinkEffect": [
3619 3619
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21576,8 +21576,8 @@
"LinkEffect": [ "LinkEffect": [
3620 3620
], ],
"ContinuedType": 2, "ContinuedType": 1,
"ContinuedParameter": 10, "ContinuedParameter": 0,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,
@ -21850,7 +21850,7 @@
"BuffProbability": 100, "BuffProbability": 100,
"LinkEffect": [], "LinkEffect": [],
"ContinuedType": 2, "ContinuedType": 2,
"ContinuedParameter": 10, "ContinuedParameter": 1,
"Overlay": false, "Overlay": false,
"OverlayMax": 0, "OverlayMax": 0,
"BarShow": false, "BarShow": false,

70
src/api/config/SkillBulletConfigCategory.json

@ -6861,11 +6861,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3611 3611,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -6886,11 +6887,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3612 3612,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -6911,11 +6913,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3613 3613,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -6936,11 +6939,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3614 3614,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -6961,11 +6965,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3615 3615,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -6986,11 +6991,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3616 3616,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -7011,11 +7017,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3617 3617,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -7036,11 +7043,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3618 3618,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -7061,11 +7069,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3619 3619,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",
@ -7086,11 +7095,12 @@
"FlightDistance": 0, "FlightDistance": 0,
"Disappear": 2, "Disappear": 2,
"DisappearParameter": 10000, "DisappearParameter": 10000,
"DetectTime": 1, "DetectTime": 3,
"TestParameters": 0, "TestParameters": 1,
"NumberOfTargets": 0, "NumberOfTargets": 0,
"Buff": [ "Buff": [
3620 3620,
3631
], ],
"Skill": 0, "Skill": 0,
"SpecialEffect": "Bullet_Skill_XiaoGui", "SpecialEffect": "Bullet_Skill_XiaoGui",

12
src/api/config/StructureConfigCategory.json

@ -306,7 +306,9 @@
"StrengthenId": 30, "StrengthenId": 30,
"ShowOccupyPlace": true, "ShowOccupyPlace": true,
"Prefab": "Structure_30", "Prefab": "Structure_30",
"SkinConfigIds": [], "SkinConfigIds": [
1052
],
"Picture": "Structure_Picture_30", "Picture": "Structure_Picture_30",
"NamePicture": "Structure_Name_30", "NamePicture": "Structure_Name_30",
"Sound": "", "Sound": "",
@ -4141,7 +4143,9 @@
"StrengthenId": 302, "StrengthenId": 302,
"ShowOccupyPlace": false, "ShowOccupyPlace": false,
"Prefab": "Structure_302", "Prefab": "Structure_302",
"SkinConfigIds": [], "SkinConfigIds": [
1031
],
"Picture": "Structure_Picture_306", "Picture": "Structure_Picture_306",
"NamePicture": "Structure_Name_306", "NamePicture": "Structure_Name_306",
"Sound": "", "Sound": "",
@ -4243,7 +4247,9 @@
"StrengthenId": 306, "StrengthenId": 306,
"ShowOccupyPlace": false, "ShowOccupyPlace": false,
"Prefab": "Structure_306", "Prefab": "Structure_306",
"SkinConfigIds": [], "SkinConfigIds": [
1032
],
"Picture": "Structure_Picture_306", "Picture": "Structure_Picture_306",
"NamePicture": "Structure_Name_306", "NamePicture": "Structure_Name_306",
"Sound": "", "Sound": "",

27
src/api/config/StructureSkinConfigCategory.json

@ -278,6 +278,24 @@
"ScienceId": 7016, "ScienceId": 7016,
"Integral": 100 "Integral": 100
}, },
{
"Id": 1031,
"SkinName": "幽篁渡·一",
"SkinPrefab": "Structure_Skin_1031",
"Picture": "Structure_Skin_Picture_1031",
"GetMethod": "外观礼包",
"ScienceId": 0,
"Integral": 100
},
{
"Id": 1032,
"SkinName": "幽篁渡·二",
"SkinPrefab": "Structure_Skin_1032",
"Picture": "Structure_Skin_Picture_1031",
"GetMethod": "外观礼包",
"ScienceId": 0,
"Integral": 100
},
{ {
"Id": 1037, "Id": 1037,
"SkinName": "藤月观畦庐", "SkinName": "藤月观畦庐",
@ -412,5 +430,14 @@
"GetMethod": "鲁明处购买图纸后在桃源殿进行研究", "GetMethod": "鲁明处购买图纸后在桃源殿进行研究",
"ScienceId": 7031, "ScienceId": 7031,
"Integral": 100 "Integral": 100
},
{
"Id": 1052,
"SkinName": "藏礼屋",
"SkinPrefab": "Structure_Skin_1052",
"Picture": "Structure_Skin_Picture_1052",
"GetMethod": "鲁明处购买图纸后在桃源殿进行研究",
"ScienceId": 7032,
"Integral": 100
} }
] ]

20
src/utils/utils.ts

@ -98,3 +98,23 @@ export function guid() {
export function s4() { export function s4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
} }
export function getAccount(account: string, channel: string) {
if (channel == '000000000000' && !account.includes(channel)) {
account = channel + account;
}
return account;
}
export function channelFill(val: any) {
let len = val.length;
for (let i = 0; i < 6 - len; i++) {
val = '0' + val;
}
return val;
}
export function getCompleteChannel(channel: any, subChannel: any) {
return channelFill(channel) + channelFill(subChannel);
}

348
src/views/gameBug/clientBug/index.vue

@ -1,186 +1,194 @@
<template> <template>
<div class="system-role-container"> <div class="system-role-container">
<el-card shadow="hover" header="客户端bug记录"> <el-card shadow="hover" header="客户端bug记录">
<div class="system-user-search mb15"> <div class="system-user-search mb15">
<el-form :inline="true"> <el-form :inline="true">
<el-form-item label="用户uid"> <el-form-item label="用户uid">
<el-input size="default" v-model="tableData.param.uid" placeholder="请输入用户uid" class="w-50 m-2" <el-input size="default" v-model="tableData.param.uid" placeholder="请输入用户uid" class="w-50 m-2" clearable />
clearable/> </el-form-item>
</el-form-item> <el-form-item label="log开头">
<el-form-item label="log开头"> <el-input size="default" v-model="tableData.param.log" placeholder="请输入log开头" class="w-50 m-2" clearable />
<el-input size="default" v-model="tableData.param.log" placeholder="请输入log开头" class="w-50 m-2" </el-form-item>
clearable/> <el-form-item label="stack开头">
</el-form-item> <el-input size="default" v-model="tableData.param.stack" placeholder="请输入stack开头" class="w-50 m-2" clearable />
<el-form-item label="stack开头"> </el-form-item>
<el-input size="default" v-model="tableData.param.stack" placeholder="请输入stack开头" class="w-50 m-2" <el-form-item label="时间">
clearable/> <el-date-picker
</el-form-item> style="width: 400px"
<el-form-item label="时间"> size="large"
<el-date-picker style="width: 400px" size="large" range-separator="-" type="datetimerange" v-model="tableData.param.times" range-separator="-"
start-placeholder="开始" end-placeholder="结束" format="YYYY/MM/DD HH:mm:ss" value-format="x"/> type="datetimerange"
<!-- <el-date-picker type="datetimerange" size="large" v-model="tableData.param.lowTime" format="YYYY/MM/DD HH:mm:ss" value-format="x" />--> v-model="tableData.param.times"
</el-form-item> start-placeholder="开始"
<!-- <el-form-item label="结束时间">--> end-placeholder="结束"
<!-- <el-date-picker type="datetime" size="large" v-model="tableData.param.upTime" format="YYYY/MM/DD HH:mm:ss" value-format="x" />--> format="YYYY/MM/DD HH:mm:ss"
<!-- </el-form-item>--> value-format="x"
<el-form-item> />
<el-button size="default" type="primary" class="ml10" @click="mailList"> <!-- <el-date-picker type="datetimerange" size="large" v-model="tableData.param.lowTime" format="YYYY/MM/DD HH:mm:ss" value-format="x" />-->
<el-icon> </el-form-item>
<ele-Search/> <!-- <el-form-item label="结束时间">-->
</el-icon> <!-- <el-date-picker type="datetime" size="large" v-model="tableData.param.upTime" format="YYYY/MM/DD HH:mm:ss" value-format="x" />-->
查询 <!-- </el-form-item>-->
</el-button> <el-form-item>
</el-form-item> <el-button size="default" type="primary" class="ml10" @click="mailList">
</el-form> <el-icon>
</div> <ele-Search />
<el-table :data="tableData.data" style="width: 100%"> </el-icon>
<el-table-column prop="uid" label="用户uid" width="100"/> 查询
<el-table-column prop="logType" label="日志类型" show-overflow-tooltip width="100"/> </el-button>
<el-table-column prop="operationSystem" label="操作系统" show-overflow-tooltip width="155"/> </el-form-item>
<el-table-column prop="systemMemorySize" label="系统内存大小" show-overflow-tooltip width="155"/> </el-form>
<el-table-column prop="bug" label="log详情" show-overflow-tooltip > </div>
<template #default="scope"> <el-table :data="tableData.data" style="width: 100%">
<span type="text" @click="alertContent(scope.row.bug)">{{ scope.row.bug }}</span> <el-table-column prop="uid" label="用户uid" width="100" />
</template> <el-table-column prop="logType" label="日志类型" show-overflow-tooltip width="100" />
</el-table-column> <el-table-column prop="operationSystem" label="操作系统" show-overflow-tooltip width="155" />
<el-table-column prop="stackTrace" label="堆栈详情" show-overflow-tooltip > <el-table-column prop="systemMemorySize" label="系统内存大小" show-overflow-tooltip width="155" />
<template #default="scope"> <el-table-column prop="bug" label="log详情" show-overflow-tooltip>
<span type="text" @click="alertContent(scope.row.stackTrace)">{{ scope.row.stackTrace }}</span> <template #default="scope">
</template> <span type="text" @click="alertContent(scope.row.bug)">{{ scope.row.bug }}</span>
</el-table-column> </template>
<el-table-column prop="channel" label="渠道" show-overflow-tooltip width="140"> </el-table-column>
<template #default="scope"> <el-table-column prop="stackTrace" label="堆栈详情" show-overflow-tooltip>
{{ addZero(scope.row.channel) }}{{ addZero(scope.row.subChannel) }} <template #default="scope">
</template> <span type="text" @click="alertContent(scope.row.stackTrace)">{{ scope.row.stackTrace }}</span>
</el-table-column> </template>
<el-table-column prop="deviceModel" label="设备型号" show-overflow-tooltip width="155"/> </el-table-column>
<el-table-column prop="deviceType" label="设备类型" show-overflow-tooltip width="150"/> <el-table-column prop="channel" label="渠道" show-overflow-tooltip width="140">
<el-table-column prop="createTime" label="发生日期" show-overflow-tooltip width="170"/> <template #default="scope"> {{ addZero(scope.row.channel) }}{{ addZero(scope.row.subChannel) }}</template>
</el-table> </el-table-column>
<el-row justify="space-evenly"> <el-table-column prop="deviceModel" label="设备型号" show-overflow-tooltip width="155" />
<el-pagination :hide-on-single-page="true" v-model:page-size="tableData.param.pageSize" <el-table-column prop="deviceType" label="设备类型" show-overflow-tooltip width="150" />
v-model:current-page="tableData.param.pageNum" :pager-count="5" :total="tableData.total" <el-table-column prop="createTime" label="发生日期" show-overflow-tooltip width="170" />
@current-change="onHandleCurrentChange" layout="total, prev, pager, next"/> </el-table>
</el-row> <el-row justify="space-evenly">
</el-card> <el-pagination
<el-dialog v-model="contentVisible" :close-on-click-modal="false" center> :hide-on-single-page="true"
<p v-html="tableData.content"></p> v-model:page-size="tableData.param.pageSize"
</el-dialog> v-model:current-page="tableData.param.pageNum"
</div> :pager-count="5"
:total="tableData.total"
@current-change="onHandleCurrentChange"
layout="total, prev, pager, next"
/>
</el-row>
</el-card>
<el-dialog v-model="contentVisible" :close-on-click-modal="false" center>
<p v-html="tableData.content"></p>
</el-dialog>
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
import {toRefs, reactive, onMounted, defineComponent,} from 'vue'; import { toRefs, reactive, onMounted, defineComponent } from 'vue';
import AllItemConfigCategory from "/@/api/config/AllItemConfigCategory.json"; import AllItemConfigCategory from '/@/api/config/AllItemConfigCategory.json';
import {allChannelList, serverList} from "/@/utils/game"; import { allChannelList, serverList } from '/@/utils/game';
import {clientBugList, operateClientBug} from "/@/api/game/index"; import { clientBugList, operateClientBug } from '/@/api/game/index';
import {ElMessage, ElMessageBox} from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus';
import {channelFill} from "/@/utils/utils";
interface TableDataState { interface TableDataState {
contentVisible: boolean; contentVisible: boolean;
ItemConfig: object; ItemConfig: object;
tableData: { tableData: {
data: object[]; data: object[];
total: number; total: number;
content: string; content: string;
param: { param: {
log: string; log: string;
stack: string; stack: string;
uid: number; uid: number;
times: number[]; times: number[];
lowTime: number; lowTime: number;
upTime: number; upTime: number;
pageNum: number; pageNum: number;
pageSize: number; pageSize: number;
}; };
}; };
servers: object[] servers: object[];
} }
export default defineComponent({ export default defineComponent({
name: 'apiV1GameClientBug', name: 'apiV1GameClientBug',
setup() { setup() {
const state = reactive<TableDataState>({ const state = reactive<TableDataState>({
contentVisible: false, contentVisible: false,
ItemConfig: AllItemConfigCategory, ItemConfig: AllItemConfigCategory,
tableData: { tableData: {
data: [], data: [],
total: 0, total: 0,
content: "", content: '',
param: { param: {
times: [], times: [],
lowTime: 0, lowTime: 0,
upTime: 0, upTime: 0,
pageSize: 10, pageSize: 10,
pageNum: 1, pageNum: 1,
}, },
}, },
servers: [] servers: [],
}); });
const mailList = () => { const mailList = () => {
clientBugList(state.tableData.param).then(res => { clientBugList(state.tableData.param).then((res) => {
console.log(res); console.log(res);
if (res.data) { if (res.data) {
state.tableData.data = res.data.list ?? []; state.tableData.data = res.data.list ?? [];
state.tableData.total = Number(res.data.total) || 0; state.tableData.total = Number(res.data.total) || 0;
} }
}) });
}; };
// //
const onHandleCurrentChange = () => { const onHandleCurrentChange = () => {
console.log(`current page: ${state.tableData.param.pageNum}`); console.log(`current page: ${state.tableData.param.pageNum}`);
mailList(); mailList();
}; };
const alertContent = (val: string) => { const alertContent = (val: string) => {
state.contentVisible = true; state.contentVisible = true;
val = val.replace(/\n/gi, '<br/>'); val = val.replace(/\n/gi, '<br/>');
state.tableData.content = val; state.tableData.content = val;
}; };
const onRowDel = (row: any) => { const onRowDel = (row: any) => {
ElMessageBox.confirm(`此操作将完成:“${row.id}”,是否继续?`, '提示', { ElMessageBox.confirm(`此操作将完成:“${row.id}”,是否继续?`, '提示', {
confirmButtonText: '确认', confirmButtonText: '确认',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
}).then(() => { })
operateClientBug({id: row.id}).then(() => { .then(() => {
ElMessage.success('完成bug成功'); operateClientBug({ id: row.id }).then(() => {
mailList(); ElMessage.success('完成bug成功');
}) mailList();
}).catch(() => { });
}); })
}; .catch(() => {});
};
// //
onMounted(() => { onMounted(() => {
serverList().then(value => { serverList().then((value) => {
state.servers = value; state.servers = value;
// console.log(" servers : ", state.servers); // console.log(" servers : ", state.servers);
}); });
allChannelList().then(value => { allChannelList().then((value) => {
state.channels = value; state.channels = value;
console.log(" channels : ", state.channels); console.log(' channels : ', state.channels);
}); });
mailList(); mailList();
}); });
const addZero = (val: any) => { const addZero = (val: any) => {
let len = val.length; return channelFill(val);
for (let i = 0; i < 6 - len; i++) { };
val = '0' + val; return {
} onHandleCurrentChange,
return val; onRowDel,
} alertContent,
return { mailList,
onHandleCurrentChange, addZero,
onRowDel, ...toRefs(state),
alertContent, };
mailList, },
addZero,
...toRefs(state),
};
},
}); });
</script> </script>

32
src/views/gameCCD/hotfix/component/checkCCD.vue

@ -36,7 +36,8 @@
import { reactive, toRefs, defineComponent } from 'vue'; import { reactive, toRefs, defineComponent } from 'vue';
import { allChannelList } from '/src/utils/game'; import { allChannelList } from '/src/utils/game';
import axios from 'axios'; import axios from 'axios';
import {gameCCD} from "/@/api/game"; import { gameCCD } from '/@/api/game';
import * as http from 'node:http';
const baseURL: string | undefined | boolean = import.meta.env.VITE_API_URL; const baseURL: string | undefined | boolean = import.meta.env.VITE_API_URL;
@ -89,18 +90,23 @@ export default defineComponent({
}; };
// //
const addVersion = () => { const addVersion = () => {
// let url = `${baseURL}frontApi/game/ccd/get`; const url = `${baseURL}frontApi/game/ccd/get`;
// axios const Http = new XMLHttpRequest();
// .post(url, { Http.open('POST', url, true);
// params: state.tableData.param, Http.setRequestHeader('Access-Control-Allow-Origin', '*');
// }) Http.send(JSON.stringify(state.tableData.param));
// .then((res) => { Http.onreadystatechange = (e) => {
// console.log(res); if (e) {
// }); console.log(e);
gameCCD(state.tableData.param).then((res) => { return;
console.log(res); }
}) if (e.target.readyState == 4 && e.target.status == 200) {
// window.open(baseURL + '/frontApi/game/loginUrl/get?channelType=' + state.tableData.param.channelType + '&platform=' + state.tableData.param.platform+ '&version=' + state.tableData.param.version); console.log(Http.responseText, state.tableData.param);
}
// let data = JSON.parse(Http.responseText)
// console.log(Http.responseText, state.tableData.param);
// state.tableData.ip = data.origin
};
}; };
return { return {
openDialog, openDialog,

129
src/views/gameCCD/hotfix/index.vue

@ -35,71 +35,64 @@
新增 新增
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item>
<el-button type="success" class="ml10" @click="onOpenCheckCCD">
<el-icon>
<ele-Promotion />
</el-icon>
校验
</el-button>
</el-form-item>
<el-table :data="tableData.data" style="width: 100%" stripe border>
<el-table-column width="70" label="平台">
<template #default="scope">
<span>{{ platform.find((r) => r.value == scope.row.platform).label }}</span>
</template>
</el-table-column>
<el-table-column prop="content" label="ip" show-overflow-tooltip width="80">
<template #default="scope">
{{ scope.row.ip }}
</template>
</el-table-column>
<el-table-column prop="hotfixVersion" label="版本号" width="90">
<template #default="scope">
{{ scope.row.versionName }}
</template>
</el-table-column>
<el-table-column prop="channelType" label="渠道" width="100">
<template #default="scope">
<span>{{
channel.find((r) => r.value == scope.row.channelType)
? channel.find((r) => r.value == scope.row.channelType).label
: scope.row.channelType
}}</span>
</template>
</el-table-column>
<el-table-column prop="state" label="版本更新状态" width="100">
<template #default="scope">
<span>{{ state.find((r) => r.value == scope.row.state).label }}</span>
</template>
</el-table-column>
<el-table-column prop="hotfixVersion" label="热更版本" width="100">
<template #default="scope">
{{ scope.row.hotfixVersion }}
</template>
</el-table-column>
<el-table-column prop="versionCompare" label="比较版本" width="100">
<template #default="scope">
{{ scope.row.versionCompare }}
</template>
</el-table-column>
<el-table-column prop="url" label="url" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.url }}
</template>
</el-table-column>
<el-table-column width="145">
<template #default="scope">
<el-button size="small" type="danger" @click="delCCD(scope.row.id)">删除</el-button>
<el-button size="small" type="primary" @click="fixCCD(scope.row)">修改</el-button>
</template>
</el-table-column>
</el-table>
</el-form> </el-form>
<el-table :data="tableData.data" style="width: 100%" stripe border>
<el-table-column width="70" label="平台">
<template #default="scope">
<span>{{ platform.find((r) => r.value == scope.row.platform).label }}</span>
</template>
</el-table-column>
<el-table-column prop="content" label="ip" show-overflow-tooltip width="80">
<template #default="scope">
{{ scope.row.ip }}
</template>
</el-table-column>
<el-table-column prop="hotfixVersion" label="版本号" width="90">
<template #default="scope">
{{ scope.row.versionName }}
</template>
</el-table-column>
<el-table-column prop="channelType" label="渠道" width="100">
<template #default="scope">
<span>{{
channel.find((r) => r.value == scope.row.channelType)
? channel.find((r) => r.value == scope.row.channelType).label
: scope.row.channelType
}}</span>
</template>
</el-table-column>
<el-table-column prop="state" label="版本更新状态" width="100">
<template #default="scope">
<span>{{ state.find((r) => r.value == scope.row.state).label }}</span>
</template>
</el-table-column>
<el-table-column prop="hotfixVersion" label="热更版本" width="100">
<template #default="scope">
{{ scope.row.hotfixVersion }}
</template>
</el-table-column>
<el-table-column prop="versionCompare" label="比较版本" width="100">
<template #default="scope">
{{ scope.row.versionCompare }}
</template>
</el-table-column>
<el-table-column prop="url" label="url" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.url }}
</template>
</el-table-column>
<el-table-column width="145">
<template #default="scope">
<el-button size="small" type="danger" @click="delCCD(scope.row.id)">删除</el-button>
<el-button size="small" type="primary" @click="fixCCD(scope.row)">修改</el-button>
</template>
</el-table-column>
</el-table>
<el-row justify="space-evenly"> <el-row justify="space-evenly">
<el-pagination <el-pagination
:hide-on-single-page="true" :hide-on-single-page="true"
:page-size="tableData.search.pageSize" v-model:page-size="tableData.search.pageSize"
:total="tableData.total" :total="tableData.total"
:pager-count="5" :pager-count="5"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
@ -163,14 +156,14 @@
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
<CheckCCD ref="checkDicRef" /> <!-- <CheckCCD ref="checkDicRef" />-->
</template> </template>
<script lang="ts"> <script lang="ts">
import { toRefs, reactive, onMounted, defineComponent, ref } from 'vue'; import { toRefs, reactive, onMounted, defineComponent, ref } from 'vue';
import { gameGetCCD, gameAddCCD, gameDelCCD } from '/@/api/game'; import { gameGetCCD, gameAddCCD, gameDelCCD } from '/@/api/game';
import { allCcdList, allChannelList } from '/@/utils/game'; import { allCcdList, allChannelList } from '/@/utils/game';
import CheckCCD from '/src/views/gameCCD/hotfix/component/checkCCD.vue'; // import CheckCCD from '/src/views/gameCCD/hotfix/component/checkCCD.vue';
// //
interface TableData { interface TableData {
@ -217,7 +210,7 @@ interface TableDataState {
export default defineComponent({ export default defineComponent({
name: 'apiV1GameCcdAdd', name: 'apiV1GameCcdAdd',
components: { CheckCCD }, // components: { CheckCCD },
setup() { setup() {
const checkDicRef = ref(); const checkDicRef = ref();
const state = reactive<TableDataState>({ const state = reactive<TableDataState>({
@ -320,9 +313,9 @@ export default defineComponent({
}; };
}; };
// //
const onOpenCheckCCD = () => { // const onOpenCheckCCD = () => {
checkDicRef.value.openDialog(); // checkDicRef.value.openDialog();
}; // };
onMounted(() => { onMounted(() => {
countList(); countList();
@ -343,7 +336,7 @@ export default defineComponent({
addCCD, addCCD,
delCCD, delCCD,
fixCCD, fixCCD,
onOpenCheckCCD, // onOpenCheckCCD,
onOpenAddDic, onOpenAddDic,
...toRefs(state), ...toRefs(state),
}; };

22
src/views/gameCustom/feedback/index.vue

@ -48,7 +48,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"
@ -159,14 +159,14 @@ export default defineComponent({
}; };
// // //
const onHandleSizeChange = (val: number) => { // const onHandleSizeChange = (val: number) => {
state.tableData.param.pageSize = val; // state.tableData.param.pageSize = val;
}; // };
// // //
const onHandleCurrentChange = (val: number) => { // const onHandleCurrentChange = (val: number) => {
state.tableData.param.pageNum = val; // state.tableData.param.pageNum = val;
}; // };
// //
onMounted(() => { onMounted(() => {
initTableData(); initTableData();
@ -174,8 +174,8 @@ export default defineComponent({
return { return {
states, states,
onOperate, onOperate,
onHandleSizeChange, // onHandleSizeChange,
onHandleCurrentChange, // onHandleCurrentChange,
bugList, bugList,
...toRefs(state), ...toRefs(state),
}; };

4
src/views/gameLoginUrl/serverList/index.vue

@ -38,8 +38,8 @@
</el-table> </el-table>
<el-row justify="space-evenly"> <el-row justify="space-evenly">
<el-pagination :hide-on-single-page="true" v-model:page-size="tableData.params.pageSize" :pager-count="5" <el-pagination :hide-on-single-page="true" v-model:page-size="tableData.params.pageSize" :pager-count="5"
v-model:current-page="tableData.params.pageNum" layout="total, prev, pager, next" :total="tableData.total" v-model:current-page="tableData.params.pageNum" layout="total, prev, pager, next"
@current-change="handleCurrentChange"/> :total="tableData.total" @current-change="handleCurrentChange"/>
</el-row> </el-row>
</el-form> </el-form>

6
src/views/gameManage/statistics/index.vue

@ -43,7 +43,7 @@
<el-table-column prop="total" label="总人数" show-overflow-tooltip></el-table-column> <el-table-column prop="total" label="总人数" show-overflow-tooltip></el-table-column>
</el-table> </el-table>
<el-pagination <el-pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"
@ -73,6 +73,8 @@
depositNum: number; depositNum: number;
sum: number sum: number
param: { param: {
pageNum: number;
pageSize: number;
lowTime: number; lowTime: number;
upTime: number upTime: number
}; };
@ -90,6 +92,8 @@
depositNum: 0, depositNum: 0,
sum: 0, sum: 0,
param: { param: {
pageNum: 0,
pageSize: 0,
lowTime: 0, lowTime: 0,
upTime: 0 upTime: 0
}, },

2
src/views/gameMarket/actionModel/index.vue

@ -97,7 +97,7 @@
</el-form> </el-form>
</div> </div>
<el-row justify="space-evenly"> <el-row justify="space-evenly">
<el-pagination :hide-on-single-page="true" :page-size="pageSize" :total="stallTotal" <el-pagination :hide-on-single-page="true" v-model:page-size="pageSize" :total="stallTotal"
:pager-count="5" @current-change="handleCurrentChange" layout="total, prev, pager, next"/> :pager-count="5" @current-change="handleCurrentChange" layout="total, prev, pager, next"/>
</el-row> </el-row>
</div> </div>

2
src/views/gameMarket/buyModel/index.vue

@ -305,7 +305,7 @@
</el-form> </el-form>
</div> </div>
<el-row justify="space-evenly"> <el-row justify="space-evenly">
<el-pagination :hide-on-single-page="true" :page-size="pageSize" v-model:current-page="page" <el-pagination :hide-on-single-page="true" v-model:page-size="pageSize" v-model:current-page="page"
:pager-count="5" @current-change="handleCurrentChange" layout="total, prev, pager, next" :pager-count="5" @current-change="handleCurrentChange" layout="total, prev, pager, next"
:total="stallTotal"/> :total="stallTotal"/>
</el-row> </el-row>

2
src/views/gameMarket/highPriceRecycleModel/index.vue

@ -130,7 +130,7 @@
</el-form> </el-form>
</div> </div>
<el-row justify="space-evenly"> <el-row justify="space-evenly">
<el-pagination :hide-on-single-page="true" :page-size="pageSize" :total="stallTotal" <el-pagination :hide-on-single-page="true" v-model:page-size="pageSize" :total="stallTotal"
:pager-count="5" @current-change="handleCurrentChange" layout="total, prev, pager, next"/> :pager-count="5" @current-change="handleCurrentChange" layout="total, prev, pager, next"/>
</el-row> </el-row>
</div> </div>

2
src/views/gameMarket/sellModel/index.vue

@ -283,7 +283,7 @@
</el-form> </el-form>
</div> </div>
<el-row justify="space-evenly"> <el-row justify="space-evenly">
<el-pagination :hide-on-single-page="true" :page-size="pageSize" <el-pagination :hide-on-single-page="true" v-model:page-size="pageSize"
:pager-count="5" @current-change="handleCurrentChange" layout="total, prev, pager, next" :pager-count="5" @current-change="handleCurrentChange" layout="total, prev, pager, next"
:total="stallTotal"/> :total="stallTotal"/>
</el-row> </el-row>

450
src/views/gameNotice/list/index.vue

@ -1,256 +1,260 @@
<template> <template>
<div class="game-maintenance-container"> <div class="game-maintenance-container">
<el-card shadow="hover" header="登录公告"> <el-card shadow="hover" header="登录公告">
<div class="mb15"> <div class="mb15">
<el-form class="flex-warp" label-position="right"> <el-form class="flex-warp" label-position="right">
<el-form-item prop="now" label="公告类型:"> <el-form-item prop="now" label="公告类型:">
<el-select v-model="tableData.param.noticeType"> <el-select v-model="tableData.param.noticeType">
<el-option v-for="item in noticeTypes" :key="item.Id" :label="item.Name" :value="item.Id"></el-option> <el-option v-for="item in noticeTypes" :key="item.Id" :label="item.Name" :value="item.Id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getNotice">查找</el-button> <el-button type="primary" @click="getNotice">查找</el-button>
</el-form-item> </el-form-item>
<el-table :data="tableData.datas" style="width: 100%" :row-class-name="onTableRowClassName" stripe border> <el-table :data="tableData.datas" style="width: 100%" :row-class-name="onTableRowClassName" stripe border>
<el-table-column width="150" label="公告类型"> <el-table-column width="150" label="公告类型">
<template #default="scope"> <template #default="scope">
<span>{{ noticeTypes.find(r => r.Id == scope.row.noticeType).Name }}</span> <span>{{ noticeTypes.find((r) => r.Id == scope.row.noticeType).Name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="content" label="公告内容" show-overflow-tooltip> <el-table-column prop="content" label="公告内容" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
<span type="text" @click="alertContent(scope.row.content)">{{ scope.row.content }}</span> <span type="text" @click="alertContent(scope.row.content)">{{ scope.row.content }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="cDate" label="发送时间" width="180"> <el-table-column prop="cDate" label="发送时间" width="180">
<template #default="scope"> <template #default="scope">
{{ formatDate(new Date(scope.row.cDate * 1000), 'YYYY-mm-dd HH:MM:SS') }} {{ formatDate(new Date(scope.row.cDate * 1000), 'YYYY-mm-dd HH:MM:SS') }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="times" label="渠道" width="150"> <el-table-column prop="times" label="渠道" width="150">
<template #default="scope"> <template #default="scope">
{{ {{
channels.find(r => r.value == scope.row.channel) ? channels.find(r => r.value == scope.row.channel).label : scope.row.channel channels.find((r) => r.value == scope.row.channel) ? channels.find((r) => r.value == scope.row.channel).label : scope.row.channel
}} }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="times" label="区服" width="150"> <el-table-column prop="times" label="区服" width="150">
<template #default="scope"> <template #default="scope">
{{ {{
servers.find(r => r.value == scope.row.serverId) ? servers.find(r => r.value == scope.row.serverId).name : scope.row.serverId servers.find((r) => r.value == scope.row.serverId) ? servers.find((r) => r.value == scope.row.serverId).name : scope.row.serverId
}} }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column> <el-table-column>
<template #default="scope"> <template #default="scope">
<el-button size="small" type="danger" @click="noticeDel(scope.row.id)">删除</el-button> <el-button size="small" type="danger" @click="noticeDel(scope.row.id)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
<el-row justify="space-evenly"> <el-row justify="space-evenly">
<el-pagination :hide-on-single-page="true" :page-size="tableData.param.pageSize" <el-pagination
:pager-count="5" @current-change="handleCurrentChange" :hide-on-single-page="true"
layout="total, prev, pager, next, jumper" :total="tableData.total"/> v-model:page-size="tableData.param.pageSize"
</el-row> @current-change="handleCurrentChange"
</div> v-model:current-page="tableData.param.pageNum"
</el-card> layout="total, prev, pager, next, jumper"
:total="tableData.total"
:pager-count="5"
/>
</el-row>
</div>
</el-card>
<el-dialog v-model="contentVisible" :close-on-click-modal="false" center> <el-dialog v-model="contentVisible" :close-on-click-modal="false" center>
<p v-html="tableData.content"></p> <p v-html="tableData.content"></p>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button type="primary" @click="copyContent"> <el-button type="primary" @click="copyContent"> 复制</el-button>
复制 </div>
</el-button> </template>
</div> </el-dialog>
</template> </div>
</el-dialog>
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
import {toRefs, reactive, onMounted, defineComponent} from 'vue'; import { toRefs, reactive, onMounted, defineComponent } from 'vue';
import {gameNoticeDelList, gameNoticeList, gameRechargeControlDelete} from "/@/api/game"; import { gameNoticeDelList, gameNoticeList, gameRechargeControlDelete } from '/@/api/game';
import {ElMessage, ElMessageBox} from "element-plus/es"; import { ElMessage, ElMessageBox } from 'element-plus/es';
import {allChannelList, allServerList} from "/@/utils/game"; import { allChannelList, allServerList } from '/@/utils/game';
import {contentReplace} from "/@/utils/utils"; import { contentReplace } from '/@/utils/utils';
import {formatDate} from "/@/utils/formatTime"; import { formatDate } from '/@/utils/formatTime';
import {Notice_Type} from "/@/api/common/consts"; import { Notice_Type } from '/@/api/common/consts';
interface TableDataState { interface TableDataState {
tableData: { tableData: {
copyContent: string copyContent: string;
content: string content: string;
datas: object[] datas: object[];
param: { param: {
channel: string, channel: string;
content: string content: string;
noticeType: number noticeType: number;
id: number, id: number;
noticeId: number, noticeId: number;
pageNum: number, pageNum: number;
pageSize: number, pageSize: number;
times: object[], times: object[];
beginTime: number, beginTime: number;
endTime: number, endTime: number;
}; };
total: number total: number;
}; };
noticeTypes: object[] noticeTypes: object[];
channels: object channels: object;
servers: object[] servers: object[];
contentVisible: boolean contentVisible: boolean;
} }
export default defineComponent({ export default defineComponent({
name: 'apiV1GameNoticeList', name: 'apiV1GameNoticeList',
methods: {formatDate}, methods: { formatDate },
setup() { setup() {
const state = reactive<TableDataState>({ const state = reactive<TableDataState>({
tableData: { tableData: {
copyContent: "", copyContent: '',
content: "", content: '',
datas: [], datas: [],
param: { param: {
noticeType: 0, noticeType: 0,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}, },
total: 0 total: 0,
}, },
channels: [], channels: [],
servers: [], servers: [],
contentVisible: false, contentVisible: false,
noticeTypes: Notice_Type noticeTypes: Notice_Type,
}); });
const noticeDel = (id: number) => { const noticeDel = (id: number) => {
ElMessageBox.confirm("是否确认删除公告?", '提示', { ElMessageBox.confirm('是否确认删除公告?', '提示', {
confirmButtonText: '确认', confirmButtonText: '确认',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
}).then(() => { }).then(() => {
gameNoticeDelList({id: id}).then(() => { gameNoticeDelList({ id: id })
ElMessage.success('删除成功'); .then(() => {
getNotice(); ElMessage.success('删除成功');
}).finally(() => { getNotice();
}) })
}); .finally(() => {});
});
};
const noticeCopy = (value: string) => {
//
let oInput = document.createElement('input');
//
oInput.value = value;
//
document.body.appendChild(oInput);
//
oInput.select();
//
document.execCommand('Copy');
//
ElMessage.success('复制成功');
//
oInput.remove();
};
const getNotice = () => {
console.log(state.tableData.param);
}; gameNoticeList(state.tableData.param).then((res: any) => {
const noticeCopy = (value: string) => { console.log('gameNoticeList: ', res);
// state.tableData.datas = res.data.list;
let oInput = document.createElement("input"); state.tableData.total = res.data.total || 0;
// });
oInput.value = value; };
// //
document.body.appendChild(oInput); onMounted(() => {
// allServerList().then((res) => {
oInput.select(); state.servers = res;
// });
document.execCommand("Copy"); allChannelList().then((res) => {
// state.channels = res;
ElMessage.success('复制成功'); });
// getNotice();
oInput.remove(); });
};
const getNotice = () => {
console.log(state.tableData.param);
gameNoticeList(state.tableData.param).then((res: any) => { const handleClose = (done: () => void) => {
console.log("gameNoticeList: ", res); done();
state.tableData.datas = res.data.list; // ElMessageBox.confirm('退').then(() => {
state.tableData.total = res.data.total || 0; // }).catch(() => {
}); // catch error
}; // })
// };
onMounted(() => { const onTableRowClassName = ({ row, rowIndex }: any) => {
allServerList().then(res => { console.log('onTableRowClassName', row, rowIndex);
state.servers = res; if (row.Day % 2 == 0 || row.day % 2 == 0) {
}) return 'warning-row';
allChannelList().then(res => { } else {
state.channels = res; return '';
}) }
getNotice() };
}); const handleCurrentChange = (val: number) => {
console.log(`current page: ${val}`);
const handleClose = (done: () => void) => { state.tableData.param.pageNum = val;
done() getNotice();
// ElMessageBox.confirm('退').then(() => { };
// }).catch(() => { const alertContent = (val: string) => {
// catch error state.contentVisible = true;
// }) state.tableData.copyContent = val;
}; state.tableData.content = contentReplace(val);
const onTableRowClassName = ({row, rowIndex}: any) => { // console.log(`current page: ${val}`);
console.log("onTableRowClassName", row, rowIndex); };
if (row.Day % 2 == 0 || row.day % 2 == 0) { const copyContent = () => {
return 'warning-row'; noticeCopy(state.tableData.copyContent);
} else { console.log(`current page: ${state.tableData.copyContent}`);
return ''; };
} return {
}; copyContent,
const handleCurrentChange = (val: number) => { getNotice,
console.log(`current page: ${val}`); noticeDel,
state.tableData.param.pageNum = val; handleClose,
getNotice(); onTableRowClassName,
}; handleCurrentChange,
const alertContent = (val: string) => { alertContent,
state.contentVisible = true; ...toRefs(state),
state.tableData.copyContent = val; };
state.tableData.content = contentReplace(val); },
// console.log(`current page: ${val}`);
};
const copyContent = () => {
noticeCopy(state.tableData.copyContent);
console.log(`current page: ${state.tableData.copyContent}`);
};
return {
copyContent,
getNotice,
noticeDel,
handleClose,
onTableRowClassName,
handleCurrentChange,
alertContent,
...toRefs(state),
};
},
}); });
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.my-header { .my-header {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
gap: 16px; gap: 16px;
} }
.tree-border { .tree-border {
margin-top: 5px; margin-top: 5px;
border: 1px solid #e5e6e7 !important; border: 1px solid #e5e6e7 !important;
background: #fff none !important; background: #fff none !important;
border-radius: 4px; border-radius: 4px;
} }
.system-edit-post-container { .system-edit-post-container {
.menu-data-tree { .menu-data-tree {
border: var(--el-input-border, var(--el-border-base)); border: var(--el-input-border, var(--el-border-base));
border-radius: var(--el-input-border-radius, var(--el-border-radius-base)); border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
padding: 5px; padding: 5px;
} }
} }
.el-form-item { .el-form-item {
display: -moz-flex; display: -moz-flex;
vertical-align: middle; vertical-align: middle;
margin-right: 32px; margin-right: 32px;
} }
::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td { ::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td {
background: #ffffd5; background: #ffffd5;
} }
::v-deep .el-table .el-table--enable-row-hover .el-table__body tr:hover > td { ::v-deep .el-table .el-table--enable-row-hover .el-table__body tr:hover > td {
background: inherit; background: inherit;
} }
</style> </style>

2
src/views/gameRole/account/index.vue

@ -133,7 +133,7 @@ export default defineComponent({
}); });
const accountList = () => { const accountList = () => {
state.tableData.data = []; state.tableData.data = [];
console.log(state.queryParams); console.log(state.queryParams);
gameAccountList(state.queryParams).then((res) => { gameAccountList(state.queryParams).then((res) => {
if (!res.data.list || res.data.list.length == 0) { if (!res.data.list || res.data.list.length == 0) {

137
src/views/gameRole/itemRecord/index.vue

@ -11,6 +11,19 @@
<el-option v-for="item in switchServer()" :key="item.id + ''" :label="item.name" :value="item.id + ''" /> <el-option v-for="item in switchServer()" :key="item.id + ''" :label="item.name" :value="item.id + ''" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="uid" prop="serverId">
<el-input size="default" v-model="tableData.param.uid" placeholder="请输入uid" class="w-50 m-2" clearable />
</el-form-item>
<el-form-item label="选择物品" prop="serverId">
<el-select v-model="tableData.param.itemId" class="m-2" placeholder="选择物品" size="large" filterable>
<el-option
v-for="item in allItemConfig.filter((r) => r.Importantdata == true)"
:key="item.Id + ''"
:label="item.Id + ' ' + item.DetailsPageName"
:value="item.Id + ''"
/>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button size="default" type="primary" class="ml10" @click="onList"> <el-button size="default" type="primary" class="ml10" @click="onList">
<el-icon> <el-icon>
@ -20,54 +33,52 @@
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table :data="tableData.data" stripe border> <el-table :data="tableData.data" stripe border>
<el-table-column prop="stringId" label="id" width="200" show-overflow-tooltip></el-table-column> <el-table-column prop="stringId" label="id" width="200" show-overflow-tooltip></el-table-column>
<el-table-column prop="uniqueId" label="uid" width="100" show-overflow-tooltip></el-table-column> <el-table-column prop="uniqueId" label="uid" width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="server" label="区服" show-overflow-tooltip> <el-table-column prop="server" label="区服" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
{{ {{ servers.find((r) => r.id == scope.row.server) ? servers.find((r) => r.id == scope.row.server).name : scope.row.server }}
servers.find(r => r.id == scope.row.server) ? servers.find(r => r.id == scope.row.server).name : scope.row.server </template>
}} </el-table-column>
</template> <el-table-column label="物品Id" width="100" show-overflow-tooltip>
</el-table-column> <template #default="scope">
<el-table-column label="物品Id" width="100" show-overflow-tooltip> <span>{{ scope.row.itemId }}</span>
<template #default="scope"> </template>
<span>{{ scope.row.itemId }}</span> </el-table-column>
</template> <el-table-column label="物品名称" width="180" show-overflow-tooltip>
</el-table-column> <template #default="scope">
<el-table-column label="物品名称" width="180" show-overflow-tooltip> <span>{{ allItemConfig.find((r) => r.Id == scope.row.itemId)?.Name }}</span>
<template #default="scope"> </template>
<span>{{ allItemConfig.find((r) => r.Id == scope.row.itemId)?.Name }}</span> </el-table-column>
</template> <el-table-column label="物品数量" width="180" show-overflow-tooltip>
</el-table-column> <template #default="scope">
<el-table-column label="物品数量" width="180" show-overflow-tooltip> <span>{{ scope.row.num }}</span>
<template #default="scope"> </template>
<span>{{ scope.row.num }}</span> </el-table-column>
</template> <el-table-column label="状态" width="100" show-overflow-tooltip>
</el-table-column> <template #default="scope">
<el-table-column label="状态" width="100" show-overflow-tooltip> <div v-if="scope.row.state == 1"><span style="color: #f81f1fd5">消耗</span></div>
<template #default="scope"> <div v-else><span style="color: #087512d6">增加</span></div>
<div v-if="scope.row.state == 1"><span style="color: #f81f1fd5">消耗</span></div> </template>
<div v-else><span style="color: #087512d6">增加</span></div> </el-table-column>
</template> <el-table-column label="时间" width="180">
</el-table-column> <template #default="scope">
<el-table-column label="时间" width="180"> <span>{{ scope.row.cTime }}</span>
<template #default="scope"> </template>
<span>{{ scope.row.cTime }}</span> </el-table-column>
</template> </el-table>
</el-table-column> <el-row justify="space-evenly">
</el-table> <el-pagination
<el-row justify="space-evenly"> :hide-on-single-page="true"
<el-pagination v-model:page-size="tableData.param.pageSize"
:hide-on-single-page="true" v-model:current-page="tableData.param.pageNum"
v-model:page-size="tableData.param.pageSize" :pager-count="5"
v-model:current-page="tableData.param.pageNum" @current-change="onList"
:pager-count="5" layout="total, prev, pager, next"
@current-change="onList" :total="tableData.total"
layout="total, prev, pager, next" />
:total="tableData.total" </el-row>
/>
</el-row>
</el-card> </el-card>
</el-form> </el-form>
</div> </div>
@ -83,20 +94,19 @@ import AllItemConfigCategory from '/@/api/config/AllItemConfigCategory.json';
interface TableDataState { interface TableDataState {
tableData: { tableData: {
param: { param: {
pageSize: number; pageSize: number;
pageNum: number; pageNum: number;
serverId: number; serverId: number;
uid: string; uid: string;
itemId: string; itemId: string;
}; };
data: object[]; data: object[];
total: number; total: number;
}; };
servers: object[]; servers: object[];
rankNames: object[];
serverSwitch: number; serverSwitch: number;
serverCategorize: object[]; serverCategorize: object[];
allItemConfig: object[]; allItemConfig: object[];
} }
export default defineComponent({ export default defineComponent({
@ -112,11 +122,12 @@ export default defineComponent({
pageNum: 1, pageNum: 1,
}, },
data: [], data: [],
total: 0,
}, },
serverSwitch: 0, serverSwitch: 0,
servers: [], servers: [],
serverCategorize: ServerCategorize, serverCategorize: ServerCategorize,
allItemConfig: AllItemConfigCategory, allItemConfig: AllItemConfigCategory,
}); });
const onList = () => { const onList = () => {
@ -125,16 +136,16 @@ export default defineComponent({
text: 'Loading', text: 'Loading',
background: 'rgba(0, 0, 0, 0.7)', background: 'rgba(0, 0, 0, 0.7)',
}); });
state.tableData.data = []; state.tableData.data = [];
gameItemRecordTwo(state.tableData.param) gameItemRecordTwo(state.tableData.param)
.then((res) => { .then((res) => {
if (!res.data.logs || res.data.logs.length == 0) { if (!res.data.logs || res.data.logs.length == 0) {
// ElMessage.error(''); // ElMessage.error('');
return; return;
} }
console.log('itemRecord: ', res); console.log('itemRecord: ', res);
state.tableData.total = res.data.total; state.tableData.total = res.data.total || 0;
state.tableData.data = res.data.logs; state.tableData.data = res.data.logs || [];
}) })
.finally(() => { .finally(() => {
loading.close(); loading.close();
@ -160,6 +171,6 @@ export default defineComponent({
<style scoped lang="scss"> <style scoped lang="scss">
::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td { ::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td {
background: #ffffd5; background: #ffffd5;
} }
</style> </style>

71
src/views/gameRole/role/index.vue

@ -354,6 +354,11 @@
<span>{{ scope.row.num }}</span> <span>{{ scope.row.num }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="添加前数量" width="180">
<template #default="scope">
<span>{{ scope.row.oldTotal }}</span>
</template>
</el-table-column>
<el-table-column label="状态" width="180"> <el-table-column label="状态" width="180">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.state == 1"><span style="color: #f81f1fd5">消耗</span></div> <div v-if="scope.row.state == 1"><span style="color: #f81f1fd5">消耗</span></div>
@ -650,7 +655,7 @@ import ClothesConfigCategory from '/@/api/config/ClothesConfigCategory.json';
import { ConstRegion, GameUnitType, NumericType, Clothes_Type, AttributeOperator, Gender, ConstBehaveType, AccountType } from '/@/api/common/consts'; import { ConstRegion, GameUnitType, NumericType, Clothes_Type, AttributeOperator, Gender, ConstBehaveType, AccountType } from '/@/api/common/consts';
import { ElMessage, ElMessageBox } from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus';
import { channelList, ServerCategorize, serverList } from '/@/utils/game'; import { channelList, ServerCategorize, serverList } from '/@/utils/game';
import { gSwitchServer } from '/@/utils/utils'; import {getAccount, getCompleteChannel, gSwitchServer} from '/@/utils/utils';
// //
interface TableData { interface TableData {
@ -851,9 +856,11 @@ export default defineComponent({
} }
}); });
state.tableData.data = roleList; state.tableData.data = roleList;
console.log('gameRoleList: ', roleList); // console.log('gameRoleList: ', roleList);
}); });
state.queryParams.orderAccount = list[0].AccountName; state.queryParams.orderAccount = list[0].AccountName;
state.queryParams.channel = getCompleteChannel(list[0].Channel, list[0].SubChannel);
console.log('gameRoleList: ', list[0],list[0].Channel, list[0].SubChannel, state.queryParams, getCompleteChannel(list[0].Channel, list[0].SubChannel));
orderList(); orderList();
loginOut(); loginOut();
loginOutLog(); loginOutLog();
@ -864,7 +871,7 @@ export default defineComponent({
const orderList = () => { const orderList = () => {
state.tableData.orderData = []; state.tableData.orderData = [];
gameOrderList({ gameOrderList({
account: state.queryParams.orderAccount, account: getAccount(state.queryParams.orderAccount, state.queryParams.channel),
pageNum: state.queryParams.orderPageNum, pageNum: state.queryParams.orderPageNum,
pageSize: state.queryParams.orderPageSize, pageSize: state.queryParams.orderPageSize,
}).then((res) => { }).then((res) => {
@ -926,8 +933,8 @@ export default defineComponent({
return; return;
} }
console.log('loginOutLog: ', res.data); console.log('loginOutLog: ', res.data);
state.queryParams.loginOutLogTotal = res.data.total; state.queryParams.loginOutLogTotal = res.data.total || 0;
state.tableData.loginOutLogData = res.data.logs; state.tableData.loginOutLogData = res.data.logs || [];
}); });
}; };
const itemRecord = () => { const itemRecord = () => {
@ -944,13 +951,13 @@ export default defineComponent({
return; return;
} }
console.log('itemRecord: ', res); console.log('itemRecord: ', res);
state.queryParams.itemTotal = res.data.total; state.queryParams.itemTotal = res.data.total || 0;
state.tableData.itemRecordData = res.data.logs; state.tableData.itemRecordData = res.data.logs || [];
}); });
}; };
const onHandleSizeChange = (val: number) => { // const onHandleSizeChange = (val: number) => {
state.queryParams.pageSize = val; // state.queryParams.pageSize = val;
}; // };
const onHandleCurrentChange = (val: number) => { const onHandleCurrentChange = (val: number) => {
state.queryParams.pageNum = val; state.queryParams.pageNum = val;
roleList(1); roleList(1);
@ -1391,11 +1398,21 @@ export default defineComponent({
return gSwitchServer(state.serverSwitch, state.servers); return gSwitchServer(state.serverSwitch, state.servers);
}; };
const noticePop = () => { const noticePop = () => {
ElMessageBox.confirm('是否确认强制踢出编号'+state.queryParams.serverId+'区的玩家'+state.tableData.account.AccountName+'['+state.tableData.account.uid+']?', '提示', { ElMessageBox.confirm(
confirmButtonText: '确认', '是否确认强制踢出编号' +
cancelButtonText: '取消', state.queryParams.serverId +
type: 'warning', '区的玩家' +
}).then(() => { state.tableData.account.AccountName +
'[' +
state.tableData.account.uid +
']?',
'提示',
{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
let data = { let data = {
serverId: state.queryParams.serverId, serverId: state.queryParams.serverId,
content: '强制踢出', content: '强制踢出',
@ -1420,15 +1437,25 @@ export default defineComponent({
uid: state.tableData.account.uid, uid: state.tableData.account.uid,
}; };
console.log('Notice: ', data); console.log('Notice: ', data);
ElMessageBox.confirm('是否确认删除编号'+state.queryParams.serverId+'区的玩家'+state.tableData.account.AccountName+'['+state.tableData.account.uid+']的排行榜?', '提示', { ElMessageBox.confirm(
confirmButtonText: '确认', '是否确认删除编号' +
cancelButtonText: '取消', state.queryParams.serverId +
type: 'warning', '区的玩家' +
}).then(() => { state.tableData.account.AccountName +
'[' +
state.tableData.account.uid +
']的排行榜?',
'提示',
{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
deleteGameRank(data) deleteGameRank(data)
.then((res) => { .then((res) => {
if (res.data.mess) { if (res.data.mess) {
ElMessage.success(data.serverId +'区[uid:'+data.uid+']'+ '排行榜删除成功!' + res.data.mess); ElMessage.success(data.serverId + '区[uid:' + data.uid + ']' + '排行榜删除成功!' + res.data.mess);
} }
}) })
.finally(() => { .finally(() => {
@ -1446,7 +1473,7 @@ export default defineComponent({
orderList, orderList,
loginOutLog, loginOutLog,
itemRecord, itemRecord,
onHandleSizeChange, // onHandleSizeChange,
onHandleCurrentChange, onHandleCurrentChange,
roleList, roleList,
checkAdult, checkAdult,

4
src/views/gameWhiteList/list/index.vue

@ -33,7 +33,7 @@
</el-form> </el-form>
<el-row justify="space-evenly"> <el-row justify="space-evenly">
<el-pagination :hide-on-single-page="true" v-model:page-size="tableData.search.pageSize" <el-pagination :hide-on-single-page="true" v-model:page-size="tableData.search.pageSize"
:pager-count="5" :pager-count="5" v-model:current-page="tableData.search.pageNum"
layout="total, prev, pager, next" :total="tableData.total" layout="total, prev, pager, next" :total="tableData.total"
@current-change="handleCurrentChange"/> @current-change="handleCurrentChange"/>
</el-row> </el-row>
@ -110,7 +110,7 @@ export default defineComponent({
}; };
const handleCurrentChange = (val: number) => { const handleCurrentChange = (val: number) => {
state.tableData.search.pageNum = val; // state.tableData.search.pageNum = val;
countList(); countList();
}; };

36
src/views/login/index.vue

@ -79,25 +79,25 @@ export default defineComponent({
}); });
onMounted(() => { onMounted(() => {
window.addEventListener('keydown', (res) => { window.addEventListener('keydown', (res) => {
if (res.key === 'F2') { if (res.key === 'F2') {
state.showEmail = false; state.showEmail = false;
state.tabsActiveName = 'account'; state.tabsActiveName = 'account';
state.state = ''; state.state = '';
return; return;
} }
if (!'email'.includes(res.key)) { if (!'email'.includes(res.key)) {
state.state = ''; state.state = '';
return; return;
} }
state.state += res.key; state.state += res.key;
if (state.state === 'email') { if (state.state === 'email') {
console.log(state.state); console.log(state.state);
state.showEmail = true; state.showEmail = true;
state.tabsActiveName = 'email'; state.tabsActiveName = 'email';
state.state = ''; state.state = '';
} }
}); });
}); });
return { return {
logoMini, logoMini,

54
src/views/pages/filtering/index.vue

@ -68,17 +68,15 @@
</div> </div>
<template v-if="tableData.data.length > 0"> <template v-if="tableData.data.length > 0">
<el-pagination <el-pagination
:hide-on-single-page="true"
style="text-align: right" style="text-align: right"
background background
@size-change="onHandleSizeChange"
@current-change="onHandleCurrentChange"
:page-sizes="[10, 20, 30]" :page-sizes="[10, 20, 30]"
:current-page="tableData.param.pageNum" v-model:current-page="tableData.param.pageNum"
:page-size="tableData.param.pageSize" v-model:page-size="tableData.param.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="tableData.total" :total="tableData.total"
> />
</el-pagination>
</template> </template>
</el-card> </el-card>
</div> </div>
@ -88,6 +86,7 @@
import { ref, toRefs, reactive, onMounted, nextTick, defineComponent } from 'vue'; import { ref, toRefs, reactive, onMounted, nextTick, defineComponent } from 'vue';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { filtering, filterList } from './mock'; import { filtering, filterList } from './mock';
export default defineComponent({ export default defineComponent({
name: 'pagesFiltering', name: 'pagesFiltering',
setup() { setup() {
@ -155,20 +154,11 @@ export default defineComponent({
}); });
} }
}; };
//
const onHandleSizeChange = (val: number) => {
state.tableData.param.pageSize = val;
};
//
const onHandleCurrentChange = (val: number) => {
state.tableData.param.pageNum = val;
};
return { return {
dlRefs, dlRefs,
onSelItem, onSelItem,
onTableItemClick, onTableItemClick,
onHandleSizeChange,
onHandleCurrentChange,
...toRefs(state), ...toRefs(state),
}; };
}, },
@ -180,12 +170,14 @@ export default defineComponent({
.filtering-list { .filtering-list {
overflow: hidden; overflow: hidden;
border-bottom: none !important; border-bottom: none !important;
.filtering-list-flex { .filtering-list-flex {
&:last-of-type { &:last-of-type {
.filtering-list-item { .filtering-list-item {
border-bottom: none !important; border-bottom: none !important;
} }
} }
.filtering-list-title { .filtering-list-title {
float: left; float: left;
width: 64px; width: 64px;
@ -193,6 +185,7 @@ export default defineComponent({
position: relative; position: relative;
color: #909399; color: #909399;
margin: 15px 0; margin: 15px 0;
&:after { &:after {
content: ''; content: '';
position: absolute; position: absolute;
@ -205,31 +198,37 @@ export default defineComponent({
top: 50%; top: 50%;
} }
} }
.filtering-list-item { .filtering-list-item {
border-bottom: 1px dotted var(--next-border-color-light); border-bottom: 1px dotted var(--next-border-color-light);
margin-left: 64px; margin-left: 64px;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
.span { .span {
color: #8d8d91; color: #8d8d91;
font-size: 14px; font-size: 14px;
float: left; float: left;
padding: 0 15px; padding: 0 15px;
margin: 15px 0; margin: 15px 0;
&:hover { &:hover {
color: var(--el-color-primary); color: var(--el-color-primary);
cursor: pointer; cursor: pointer;
} }
} }
.dd-active { .dd-active {
color: var(--el-color-primary); color: var(--el-color-primary);
} }
.dd-more { .dd-more {
font-size: 12px; font-size: 12px;
position: absolute; position: absolute;
right: 0; right: 0;
top: 16px; top: 16px;
color: #a5a5a5; color: #a5a5a5;
&:hover { &:hover {
cursor: pointer; cursor: pointer;
color: #8d8d91; color: #8d8d91;
@ -238,17 +237,21 @@ export default defineComponent({
} }
} }
} }
.br-top-no { .br-top-no {
border-top: none; border-top: none;
.flex-warp { .flex-warp {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-content: flex-start; align-content: flex-start;
margin: 0 -5px; margin: 0 -5px;
.flex-warp-item { .flex-warp-item {
padding: 5px; padding: 5px;
width: 100%; width: 100%;
height: 360px; height: 360px;
.flex-warp-item-box { .flex-warp-item-box {
border: 1px solid var(--next-border-color-light); border: 1px solid var(--next-border-color-light);
width: 100%; width: 100%;
@ -257,15 +260,18 @@ export default defineComponent({
display: flex; display: flex;
flex-direction: column; flex-direction: column;
transition: all 0.3s ease; transition: all 0.3s ease;
&:hover { &:hover {
cursor: pointer; cursor: pointer;
border: 1px solid var(--el-color-primary); border: 1px solid var(--el-color-primary);
transition: all 0.3s ease; transition: all 0.3s ease;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.03); box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.03);
.item-txt-title { .item-txt-title {
color: var(--el-color-primary) !important; color: var(--el-color-primary) !important;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
.item-img { .item-img {
img { img {
transition: all 0.3s ease; transition: all 0.3s ease;
@ -273,22 +279,26 @@ export default defineComponent({
} }
} }
} }
.item-img { .item-img {
width: 100%; width: 100%;
height: 215px; height: 215px;
overflow: hidden; overflow: hidden;
img { img {
transition: all 0.3s ease; transition: all 0.3s ease;
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.item-txt { .item-txt {
flex: 1; flex: 1;
padding: 15px; padding: 15px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
.item-txt-title { .item-txt-title {
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
@ -297,26 +307,32 @@ export default defineComponent({
display: -webkit-box; display: -webkit-box;
color: #666666; color: #666666;
transition: all 0.3s ease; transition: all 0.3s ease;
&:hover { &:hover {
color: var(--el-color-primary); color: var(--el-color-primary);
text-decoration: underline; text-decoration: underline;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
} }
.item-txt-other { .item-txt-other {
flex: 1; flex: 1;
align-items: flex-end; align-items: flex-end;
display: flex; display: flex;
.item-txt-msg { .item-txt-msg {
font-size: 12px; font-size: 12px;
color: #8d8d91; color: #8d8d91;
} }
.item-txt-price { .item-txt-price {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.font-price { .font-price {
color: #ff5000; color: #ff5000;
.font { .font {
font-size: 22px; font-size: 22px;
} }
@ -327,17 +343,22 @@ export default defineComponent({
} }
} }
} }
::v-deep(.el-card__body) { ::v-deep(.el-card__body) {
height: 100%; height: 100%;
.filtering-no-data { .filtering-no-data {
display: flex; display: flex;
height: 100%; height: 100%;
.no-data-box { .no-data-box {
color: #cccccc; color: #cccccc;
margin: auto; margin: auto;
i { i {
font-size: 70px; font-size: 70px;
} }
.no-txt { .no-txt {
font-size: 14px; font-size: 14px;
text-align: center; text-align: center;
@ -347,6 +368,7 @@ export default defineComponent({
} }
} }
} }
.min-h-360 { .min-h-360 {
height: 360px; height: 360px;
} }

29
src/views/pages/lazyImg/index.vue

@ -34,18 +34,17 @@
</div> </div>
<el-empty v-else description="暂无数据"></el-empty> <el-empty v-else description="暂无数据"></el-empty>
<template v-if="tableData.data.length > 0"> <template v-if="tableData.data.length > 0">
<!-- @size-change="onHandleSizeChange"-->
<!-- @current-change="onHandleCurrentChange"-->
<el-pagination <el-pagination
style="text-align: right" style="text-align: right"
background background
@size-change="onHandleSizeChange"
@current-change="onHandleCurrentChange"
:page-sizes="[10, 20, 30]" :page-sizes="[10, 20, 30]"
:current-page="tableData.param.pageNum" v-model:current-page="tableData.param.pageNum"
:page-size="tableData.param.pageSize" v-model:page-size="tableData.param.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="tableData.total" :total="tableData.total"
> />
</el-pagination>
</template> </template>
</el-card> </el-card>
</div> </div>
@ -79,21 +78,21 @@ export default defineComponent({
}); });
}; };
// //
const onHandleSizeChange = (val: number) => { // const onHandleSizeChange = (val: number) => {
state.tableData.param.pageSize = val; // state.tableData.param.pageSize = val;
}; // };
// // //
const onHandleCurrentChange = (val: number) => { // const onHandleCurrentChange = (val: number) => {
state.tableData.param.pageNum = val; // state.tableData.param.pageNum = val;
}; // };
// //
onMounted(() => { onMounted(() => {
other.lazyImg('[data-lazy-img-list]', state.tableData.data); other.lazyImg('[data-lazy-img-list]', state.tableData.data);
}); });
return { return {
onTableItemClick, onTableItemClick,
onHandleSizeChange, // onHandleSizeChange,
onHandleCurrentChange, // onHandleCurrentChange,
...toRefs(state), ...toRefs(state),
}; };
}, },

27
src/views/pages/listAdapt/index.vue

@ -34,18 +34,17 @@
</div> </div>
<el-empty v-else description="暂无数据"></el-empty> <el-empty v-else description="暂无数据"></el-empty>
<template v-if="tableData.data.length > 0"> <template v-if="tableData.data.length > 0">
<!-- @size-change="onHandleSizeChange"
@current-change="onHandleCurrentChange"-->
<el-pagination <el-pagination
style="text-align: right" style="text-align: right"
background background
@size-change="onHandleSizeChange"
@current-change="onHandleCurrentChange"
:page-sizes="[10, 20, 30]" :page-sizes="[10, 20, 30]"
:current-page="tableData.param.pageNum" v-model:current-page="tableData.param.pageNum"
:page-size="tableData.param.pageSize" v-model:page-size="tableData.param.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="tableData.total" :total="tableData.total"
> />
</el-pagination>
</template> </template>
</el-card> </el-card>
</div> </div>
@ -101,17 +100,17 @@ export default defineComponent({
}); });
}; };
// //
const onHandleSizeChange = (val: number) => { // const onHandleSizeChange = (val: number) => {
state.tableData.param.pageSize = val; // state.tableData.param.pageSize = val;
}; // };
// //
const onHandleCurrentChange = (val: number) => { // const onHandleCurrentChange = (val: number) => {
state.tableData.param.pageNum = val; // state.tableData.param.pageNum = val;
}; // };
return { return {
onTableItemClick, onTableItemClick,
onHandleSizeChange, // onHandleSizeChange,
onHandleCurrentChange, // onHandleCurrentChange,
...toRefs(state), ...toRefs(state),
}; };
}, },

2
src/views/system/config/index.vue

@ -92,7 +92,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination <el-pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"

2
src/views/system/dict/dataList.vue

@ -83,7 +83,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"

2
src/views/system/dict/index.vue

@ -102,7 +102,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"

2
src/views/system/monitor/loginLog/index.vue

@ -107,7 +107,7 @@
<el-table-column label="登录模块" alian="center" prop="module"></el-table-column> <el-table-column label="登录模块" alian="center" prop="module"></el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"

18
src/views/system/post/index.vue

@ -59,7 +59,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"
@ -168,13 +168,13 @@ export default defineComponent({
.catch(() => {}); .catch(() => {});
}; };
// //
const onHandleSizeChange = (val: number) => { // const onHandleSizeChange = (val: number) => {
state.tableData.param.pageSize = val; // state.tableData.param.pageSize = val;
}; // };
// //
const onHandleCurrentChange = (val: number) => { // const onHandleCurrentChange = (val: number) => {
state.tableData.param.pageNum = val; // state.tableData.param.pageNum = val;
}; // };
// //
onMounted(() => { onMounted(() => {
initTableData(); initTableData();
@ -189,8 +189,8 @@ export default defineComponent({
onOpenAddPost, onOpenAddPost,
onOpenEditPost, onOpenEditPost,
onRowDel, onRowDel,
onHandleSizeChange, // onHandleSizeChange,
onHandleCurrentChange, // onHandleCurrentChange,
postList, postList,
handleSelectionChange, handleSelectionChange,
...toRefs(state), ...toRefs(state),

18
src/views/system/role/index.vue

@ -48,7 +48,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"
@ -156,13 +156,13 @@ export default defineComponent({
.catch(() => {}); .catch(() => {});
}; };
// //
const onHandleSizeChange = (val: number) => { // const onHandleSizeChange = (val: number) => {
state.tableData.param.pageSize = val; // state.tableData.param.pageSize = val;
}; // };
// //
const onHandleCurrentChange = (val: number) => { // const onHandleCurrentChange = (val: number) => {
state.tableData.param.pageNum = val; // state.tableData.param.pageNum = val;
}; // };
// //
onMounted(() => { onMounted(() => {
initTableData(); initTableData();
@ -173,8 +173,8 @@ export default defineComponent({
onOpenAddRole, onOpenAddRole,
onOpenEditRole, onOpenEditRole,
onRowDel, onRowDel,
onHandleSizeChange, // onHandleSizeChange,
onHandleCurrentChange, // onHandleCurrentChange,
roleList, roleList,
...toRefs(state), ...toRefs(state),
}; };

18
src/views/system/user/index.vue

@ -131,7 +131,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="tableData.total>0" :hide-on-single-page="true"
:total="tableData.total" :total="tableData.total"
v-model:page="tableData.param.pageNum" v-model:page="tableData.param.pageNum"
v-model:limit="tableData.param.pageSize" v-model:limit="tableData.param.pageSize"
@ -278,13 +278,13 @@ export default defineComponent({
.catch(() => {}); .catch(() => {});
}; };
// //
const onHandleSizeChange = (val: number) => { // const onHandleSizeChange = (val: number) => {
state.tableData.param.pageSize = val; // state.tableData.param.pageSize = val;
}; // };
// //
const onHandleCurrentChange = (val: number) => { // const onHandleCurrentChange = (val: number) => {
state.tableData.param.pageNum = val; // state.tableData.param.pageNum = val;
}; // };
// //
onMounted(() => { onMounted(() => {
initTableData(); initTableData();
@ -347,8 +347,8 @@ export default defineComponent({
onOpenAddUser, onOpenAddUser,
onOpenEditUser, onOpenEditUser,
onRowDel, onRowDel,
onHandleSizeChange, // onHandleSizeChange,
onHandleCurrentChange, // onHandleCurrentChange,
deptFilterNode, deptFilterNode,
filterText, filterText,
treeRef, treeRef,

Loading…
Cancel
Save