sov
This commit is contained in:
2
App.vue
2
App.vue
@@ -3,7 +3,7 @@
|
||||
onLaunch: function() {
|
||||
// #ifdef APP-PLUS
|
||||
plus.screen.lockOrientation('portrait-primary');
|
||||
plus.navigator.setFullscreen(true);
|
||||
// plus.navigator.setFullscreen(true);
|
||||
// #endif
|
||||
},
|
||||
onHide: function() {
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
page {
|
||||
background-color: #f6f6f6 !important;
|
||||
background-color: #f6f6f6!important;
|
||||
min-height: 100% !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
uni-page-body {
|
||||
background-color: #f6f6f6 !important;
|
||||
min-height: 100% !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
@@ -109,7 +108,7 @@ uni-button:after {
|
||||
.zd_content {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
padding: 92rpx 14rpx 82rpx 14rpx;
|
||||
padding: calc(var(--status-bar-height) + 92rpx) 14rpx 82rpx 14rpx;
|
||||
}
|
||||
.zd_wrapper {
|
||||
width: 100%;
|
||||
@@ -279,7 +278,7 @@ uni-button:after {
|
||||
margin: 0 40rpx 10rpx 0;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
.btn-disabled, .submit-button:disabled {
|
||||
.btn-disabled, .submit-button[disabled] {
|
||||
background-color: #c9c9c9;
|
||||
border: 1px solid #c9c9c9;
|
||||
color: #fff;
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
.header
|
||||
_fj()
|
||||
position fixed
|
||||
_wh(100%, 72rpx)
|
||||
_wh(100%, calc(var(--status-bar-height) + 72rpx))
|
||||
background-color $red
|
||||
z-index 200
|
||||
padding 0 20rpx
|
||||
|
||||
12
pages.json
12
pages.json
@@ -253,14 +253,14 @@
|
||||
{
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"globalStyle": {
|
||||
// "pageOrientation": "landscape",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationBarTitleText": "uni-app",
|
||||
"navigationBarBackgroundColor": "#d7592f",
|
||||
"backgroundColor": "#ffffff"
|
||||
"navigationBarTextStyle": "black",//导航栏标题颜色及状态栏前景颜色,仅支持 black/white
|
||||
"navigationBarTitleText": "印尼海亮铜箔",//导航栏标题文字内容
|
||||
"navigationBarBackgroundColor": "#ff6a00",//导航栏背景颜色(同状态栏背景色)
|
||||
"backgroundColor": "#ffffff",//下拉显示出来的窗口的背景色
|
||||
"onReachBottomDistance": 50//页面上拉触底事件触发时距页面底部距离,单位只支持px
|
||||
},
|
||||
"uniIdRouter": {}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<search-box-mx :focused="focused" @inputDel="inputDel" @inputScan="inputScan" @toPhone="toPhone">
|
||||
<input type="text" class="filter_input search_input" v-model="val1" :focus="focused" @input="onKeyInput" @focus="onFocus" @blur="onBlur" inputmode="node">
|
||||
<input type="text" class="filter_input search_input" v-model="val1" :focus="focused" @input="onKeyInput" @focus="onFocus" @blur="onBlur">
|
||||
</search-box-mx>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
<template>
|
||||
<view class="zd_content">
|
||||
<view class="header">{{$t('home.title')}}</view>
|
||||
<view class="userInfo-wrap">
|
||||
<view class="userInfo">
|
||||
<text class="p1">{{$store.getters.userName}}</text>
|
||||
<text class="p2">{{$t('home.message')}}</text>
|
||||
<view class="home_wraper">
|
||||
<view class="zd_content">
|
||||
<view class="header">{{$t('home.title')}}</view>
|
||||
<view class="userInfo-wrap">
|
||||
<view class="userInfo">
|
||||
<text v-if="userName !== ''" class="p1">{{userName}}</text>
|
||||
<text class="p2">{{$t('home.message')}}</text>
|
||||
</view>
|
||||
<view class="exit" @tap="Quit">
|
||||
<view class="icon-exit"></view>
|
||||
<view class="exit-text">{{$t('home.exit')}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="exit" @tap="Quit">
|
||||
<view class="icon-exit"></view>
|
||||
<view class="exit-text">{{$t('home.exit')}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zd_wrapper zd_home_wrapper">
|
||||
<view class="menu-wrap">
|
||||
<view class="menu-item" v-for="(e, i) in menuList" :key="i" @tap="toPage1(e)">
|
||||
<image class="menu-img" :src="require('../../static/image/menu/' + e.path + '.png')" alt="">
|
||||
<view class="menu-name">{{e.name}}</view>
|
||||
<view class="zd_home_wrapper">
|
||||
<view class="menu-wrap">
|
||||
<view class="menu-item" v-for="(e, i) in menuList" :key="i" @tap="toPage1(e)">
|
||||
<image class="menu-img" :src="require('../../static/image/menu/' + e.path + '.png')" alt="">
|
||||
<view class="menu-name">{{e.name}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -38,12 +40,16 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
userName: '',
|
||||
menuList: [],
|
||||
show: false,
|
||||
secM: []
|
||||
};
|
||||
},
|
||||
created () {
|
||||
if (this.$store.getters.userInfo) {
|
||||
this.userName = JSON.parse(this.$store.getters.userInfo).username
|
||||
}
|
||||
this._authority()
|
||||
},
|
||||
methods: {
|
||||
@@ -75,12 +81,21 @@
|
||||
|
||||
<style lang="stylus">
|
||||
@import '../../common/style/mixin.styl';
|
||||
.home_wraper
|
||||
_wh(100%, 100%)
|
||||
.zd_content
|
||||
padding-top 0
|
||||
padding-bottom 0
|
||||
padding 0 24rpx
|
||||
height 100%
|
||||
padding-top calc(var(--status-bar-height) + 86rpx)
|
||||
background linear-gradient(to bottom, #f8e6db 0%, #f6f6f6 30%, #f6f6f6 100%)
|
||||
.header
|
||||
height 86rpx
|
||||
position fixed
|
||||
left 0
|
||||
top 0
|
||||
padding-top var(--status-bar-height)
|
||||
z-index 100
|
||||
_wh(100%, calc(var(--status-bar-height) + 86rpx))
|
||||
background-color #f8e6db
|
||||
_font(36rpx,86rpx,#333,,center)
|
||||
.userInfo-wrap
|
||||
_fj()
|
||||
@@ -89,7 +104,7 @@
|
||||
background-color $red
|
||||
_bis('../../static/image/info_bg.png',auto,100%,right,bottom)
|
||||
border-radius 12rpx
|
||||
margin-bottom 20rpx
|
||||
margin-bottom 24rpx
|
||||
.userInfo
|
||||
_fj(,flex-start,column)
|
||||
.p1
|
||||
@@ -110,8 +125,11 @@
|
||||
_font(24rpx,47rpx,#fff,,right)
|
||||
padding-left 10rpx
|
||||
.zd_home_wrapper
|
||||
height calc(100% - 286rpx)
|
||||
overflow hidden
|
||||
_wh(100%, calc(100% - 208rpx))
|
||||
background-color #fff
|
||||
border-radius: 12rpx;
|
||||
padding: 14rpx;
|
||||
margin-bottom: 24rpx;
|
||||
overflow-y auto
|
||||
.menu-wrap
|
||||
_wh(100%, auto)
|
||||
@@ -141,7 +159,7 @@
|
||||
left 0
|
||||
width 100%
|
||||
height 70%
|
||||
background-color #f4f5f5
|
||||
background-color rgba(246, 246, 246, 1)
|
||||
box-shadow 0 -8px 16px 0 rgba(28,31,33,.1)
|
||||
border-top-left-radius 20rpx
|
||||
border-top-right-radius 20rpx
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
//#ifdef APP-PLUS
|
||||
// 获取本地应用资源版本号
|
||||
plus.runtime.getProperty(plus.runtime.appid, (info) => {
|
||||
console.log(JSON.stringify(info));
|
||||
// console.log(JSON.stringify(info));
|
||||
this.version = info.version;
|
||||
this.versionCode = info.versionCode ;
|
||||
})
|
||||
@@ -182,6 +182,7 @@
|
||||
.zd_content
|
||||
position: relative
|
||||
height: 100%
|
||||
overflow: hidden
|
||||
.version-name
|
||||
width 100%
|
||||
position: absolute
|
||||
|
||||
@@ -32,55 +32,232 @@ export const handRequest = () => request({
|
||||
// 菜单
|
||||
export const authority = () => {
|
||||
let res = {
|
||||
'sonTree': [
|
||||
{'menu_id': '1', 'path': 'RF01', 'name': i18n.tc('menu.production-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.production-progress-of-raw-foil'), 'path': '/pages/ProductManage/SboProdProgress'},
|
||||
{'menu_id': '2', 'name': i18n.tc('menu.foil-production-process'), 'path': '/pages/ProductManage/SboProcess'},
|
||||
{'menu_id': '3', 'name': i18n.tc('menu.baking-process'), 'path': '/pages/ProductManage/BakeProcess'},
|
||||
{'menu_id': '4', 'name': i18n.tc('menu.manual-baking'), 'path': '/pages/ProductManage/ManmadeBake'}
|
||||
]},
|
||||
{'menu_id': '2', 'path': 'RF02', 'name': i18n.tc('menu.semi-finished-product-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.semi-finished-product-warehousing'), 'path': '/pages/WarehouseManage/SemifinishedInStore'},
|
||||
{'menu_id': '2', 'name': i18n.tc('menu.semi-finished-products-outbound'), 'path': '/pages/WarehouseManage/SemifinishedOutStore'},
|
||||
]},
|
||||
{'menu_id': '3', 'path': 'RF03', 'name': i18n.tc('menu.splitting-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.cutting-and-feeding'), 'path': '/pages/ProductManage/SlittingFeeding'},
|
||||
{'menu_id': '2', 'name': i18n.tc('menu.hollow-shaft-sleeve'), 'path': '/pages/ProductManage/ZjCasing'},
|
||||
{'menu_id': '3', 'name': i18n.tc('menu.empty-shaft-delivery'), 'path': '/pages/ProductManage/ZjDelivery'},
|
||||
{'menu_id': '4', 'name': i18n.tc('menu.empty-shaft-entry-station'), 'path': '/pages/ProductManage/ZjInStore'},
|
||||
{'menu_id': '5', 'name': i18n.tc('menu.subroll-outbound'), 'path': '/pages/ProductManage/ZjOutStore'},
|
||||
]},
|
||||
{'menu_id': '4', 'path': 'RF04', 'name': i18n.tc('menu.point-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.point-management'), 'path': '/pages/ProductManage/PointManage'},
|
||||
{'menu_id': '2', 'name': i18n.tc('menu.abnormal-outbound-unlocking'), 'path': '/pages/WarehouseManage/ErrorOutUnlock'}
|
||||
]},
|
||||
{'menu_id': '5', 'path': 'RF05', 'name': i18n.tc('menu.paper-frp-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.air-traffic-control-warehousing'), 'path': '/pages/ProductManage/EmptyPipeInStore'},
|
||||
{'menu_id': '2', 'name': i18n.tc('menu.air-traffic-control-outbound'), 'path': '/pages/ProductManage/EmptyPipeOutStore'},
|
||||
]},
|
||||
{'menu_id': '6', 'path': 'RF06', 'name': i18n.tc('menu.finished-product-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.production-warehousing'), 'path': '/pages/WarehouseManage/InStoreConfirm'},
|
||||
{'menu_id': '2', 'name': i18n.tc('menu.return-to-warehouse'), 'path': '/pages/WarehouseManage/ReturngoodsInStore'},
|
||||
{'menu_id': '3', 'name': i18n.tc('menu.scrap-storage'), 'path': '/pages/WarehouseManage/ScrapInStore'},
|
||||
{'menu_id': '4', 'name': i18n.tc('menu.split-receipt'), 'path': '/pages/WarehouseManage/InStoreSplit'},
|
||||
{'menu_id': '5', 'name': i18n.tc('menu.production-area-shipment'), 'path': '/pages/WarehouseManage/ProdDelivery'},
|
||||
{'menu_id': '6', 'name': i18n.tc('menu.virtual-zone-shipping'), 'path': '/pages/WarehouseManage/XuniDelivery'},
|
||||
{'menu_id': '7', 'name': i18n.tc('menu.labeling-and-bundling'), 'path': '/pages/WarehouseManage/LabelBind'}
|
||||
]},
|
||||
{'menu_id': '7', 'path': 'RF07', 'name': i18n.tc('menu.in-stock-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.inventory-management'), 'path': '/pages/WarehouseManage/CheckList'},
|
||||
]},
|
||||
{'menu_id': '8', 'path': 'RF08', 'name': i18n.tc('menu.vehicle-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.empty-vehicle-entering-the-warehouse'), 'path': '/pages/WarehouseManage/EmptyInStore'},
|
||||
{'menu_id': '2', 'name': i18n.tc('menu.empty-vehicle-leaving-the-warehouse'), 'path': '/pages/WarehouseManage/EmptyOutStore'},
|
||||
]},
|
||||
{'menu_id': '9', 'path': 'RF09', 'name': i18n.tc('menu.print-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.customer-label-printing'), 'path': '/pages/WarehouseManage/CustomerLabelPrint'},
|
||||
]},
|
||||
{'menu_id': '10', 'path': 'RF10', 'name': i18n.tc('menu.scheduling-management'), 'sonTree': [
|
||||
{'menu_id': '1', 'name': i18n.tc('menu.task-management'), 'path': '/pages/DispatchManage/TaskManage'},
|
||||
{'menu_id': '2', 'name': i18n.tc('menu.rgv-status-query'), 'path': '/pages/DispatchManage/RGVStatus'}
|
||||
]}
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'path': 'RF01',
|
||||
'name': i18n.tc('menu.production-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF01',
|
||||
'name': i18n.tc('menu.production-progress-of-raw-foil'),
|
||||
'path': '/pages/ProductManage/SboProdProgress'
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'icon': 'RF01',
|
||||
'name': i18n.tc('menu.foil-production-process'),
|
||||
'path': '/pages/ProductManage/SboProcess'
|
||||
},
|
||||
{
|
||||
'menu_id': '3',
|
||||
'icon': 'RF01',
|
||||
'name': i18n.tc('menu.baking-process'),
|
||||
'path': '/pages/ProductManage/BakeProcess'
|
||||
},
|
||||
{
|
||||
'menu_id': '4',
|
||||
'icon': 'RF01',
|
||||
'name': i18n.tc('menu.manual-baking'),
|
||||
'path': '/pages/ProductManage/ManmadeBake'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'path': 'RF02',
|
||||
'name': i18n.tc('menu.semi-finished-product-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF02',
|
||||
'name': i18n.tc('menu.semi-finished-product-warehousing'),
|
||||
'path': '/pages/WarehouseManage/SemifinishedInStore'
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'icon': 'RF02',
|
||||
'name': i18n.tc('menu.semi-finished-products-outbound'),
|
||||
'path': '/pages/WarehouseManage/SemifinishedOutStore'
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
'menu_id': '3',
|
||||
'path': 'RF03',
|
||||
'name': i18n.tc('menu.splitting-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF03',
|
||||
'name': i18n.tc('menu.cutting-and-feeding'),
|
||||
'path': '/pages/ProductManage/SlittingFeeding'
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'icon': 'RF03',
|
||||
'name': i18n.tc('menu.hollow-shaft-sleeve'),
|
||||
'path': '/pages/ProductManage/ZjCasing'
|
||||
},
|
||||
{
|
||||
'menu_id': '3',
|
||||
'icon': 'RF03',
|
||||
'name': i18n.tc('menu.empty-shaft-delivery'),
|
||||
'path': '/pages/ProductManage/ZjDelivery'
|
||||
},
|
||||
{
|
||||
'menu_id': '4',
|
||||
'icon': 'RF03',
|
||||
'name': i18n.tc('menu.empty-shaft-entry-station'),
|
||||
'path': '/pages/ProductManage/ZjInStore'
|
||||
},
|
||||
{
|
||||
'menu_id': '5',
|
||||
'icon': 'RF03',
|
||||
'name': i18n.tc('menu.subroll-outbound'),
|
||||
'path': '/pages/ProductManage/ZjOutStore'
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
'menu_id': '4',
|
||||
'path': 'RF04',
|
||||
'name': i18n.tc('menu.point-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF04',
|
||||
'name': i18n.tc('menu.point-management'),
|
||||
'path': '/pages/ProductManage/PointManage'
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'icon': 'RF04',
|
||||
'name': i18n.tc('menu.abnormal-outbound-unlocking'),
|
||||
'path': '/pages/WarehouseManage/ErrorOutUnlock'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
'menu_id': '5',
|
||||
'path': 'RF05',
|
||||
'name': i18n.tc('menu.paper-frp-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF05',
|
||||
'name': i18n.tc('menu.air-traffic-control-warehousing'),
|
||||
'path': '/pages/ProductManage/EmptyPipeInStore'
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'icon': 'RF05',
|
||||
'name': i18n.tc('menu.air-traffic-control-outbound'),
|
||||
'path': '/pages/ProductManage/EmptyPipeOutStore'
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
'menu_id': '6',
|
||||
'path': 'RF06',
|
||||
'name': i18n.tc('menu.finished-product-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF06',
|
||||
'name': i18n.tc('menu.production-warehousing'),
|
||||
'path': '/pages/WarehouseManage/InStoreConfirm'
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'icon': 'RF06',
|
||||
'name': i18n.tc('menu.return-to-warehouse'),
|
||||
'path': '/pages/WarehouseManage/ReturngoodsInStore'
|
||||
},
|
||||
{
|
||||
'menu_id': '3',
|
||||
'icon': 'RF06',
|
||||
'name': i18n.tc('menu.scrap-storage'),
|
||||
'path': '/pages/WarehouseManage/ScrapInStore'
|
||||
},
|
||||
{
|
||||
'menu_id': '4',
|
||||
'icon': 'RF06',
|
||||
'name': i18n.tc('menu.split-receipt'),
|
||||
'path': '/pages/WarehouseManage/InStoreSplit'
|
||||
},
|
||||
{
|
||||
'menu_id': '5',
|
||||
'icon': 'RF06',
|
||||
'name': i18n.tc('menu.production-area-shipment'),
|
||||
'path': '/pages/WarehouseManage/ProdDelivery'
|
||||
},
|
||||
{
|
||||
'menu_id': '6',
|
||||
'icon': 'RF06',
|
||||
'name': i18n.tc('menu.virtual-zone-shipping'),
|
||||
'path': '/pages/WarehouseManage/XuniDelivery'
|
||||
},
|
||||
{
|
||||
'menu_id': '7',
|
||||
'icon': 'RF06',
|
||||
'name': i18n.tc('menu.labeling-and-bundling'),
|
||||
'path': '/pages/WarehouseManage/LabelBind'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
'menu_id': '7',
|
||||
'path': 'RF07',
|
||||
'name': i18n.tc('menu.in-stock-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF07',
|
||||
'name': i18n.tc('menu.inventory-management'),
|
||||
'path': '/pages/WarehouseManage/CheckList'
|
||||
}, ]
|
||||
},
|
||||
{
|
||||
'menu_id': '8',
|
||||
'path': 'RF08',
|
||||
'name': i18n.tc('menu.vehicle-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF08',
|
||||
'name': i18n.tc('menu.empty-vehicle-entering-the-warehouse'),
|
||||
'path': '/pages/WarehouseManage/EmptyInStore'
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'icon': 'RF08',
|
||||
'name': i18n.tc('menu.empty-vehicle-leaving-the-warehouse'),
|
||||
'path': '/pages/WarehouseManage/EmptyOutStore'
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
'menu_id': '9',
|
||||
'path': 'RF09',
|
||||
'name': i18n.tc('menu.print-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF09',
|
||||
'name': i18n.tc('menu.customer-label-printing'),
|
||||
'path': '/pages/WarehouseManage/CustomerLabelPrint'
|
||||
}, ]
|
||||
},
|
||||
{
|
||||
'menu_id': '10',
|
||||
'path': 'RF10',
|
||||
'name': i18n.tc('menu.scheduling-management'),
|
||||
'sonTree': [{
|
||||
'menu_id': '1',
|
||||
'icon': 'RF10',
|
||||
'name': i18n.tc('menu.task-management'),
|
||||
'path': '/pages/DispatchManage/TaskManage'
|
||||
},
|
||||
{
|
||||
'menu_id': '2',
|
||||
'icon': 'RF10',
|
||||
'name': i18n.tc('menu.rgv-status-query'),
|
||||
'path': '/pages/DispatchManage/RGVStatus'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
return res
|
||||
|
||||
Reference in New Issue
Block a user