|
@@ -1,618 +1,647 @@
|
|
|
<template>
|
|
|
- <view class="container">
|
|
|
- <u-navbar title="商户管理"
|
|
|
- @rightClick="rightClick" titleStyle="color:#fff;fontSize:36rpx;" bgColor="#2C6FF3"
|
|
|
- :autoBack="true" leftIconColor="#fff" :placeholder="true">
|
|
|
- </u-navbar>
|
|
|
-
|
|
|
- <view class="content">
|
|
|
-
|
|
|
- <view class="topbar flex flex-wrap justify-between">
|
|
|
- <view class="data_total flex align-center">
|
|
|
- 共 {{data.total}} 条记录
|
|
|
- </view>
|
|
|
- <view class="search flex" @tap="openSearchMenu" style="margin-left: 20rpx;">
|
|
|
- 筛选<u-icon name="arrow-right" style="margin-left: 6rpx;" size="14"></u-icon>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <scroll-view class="scrollview" :scroll-with-animation="true" scroll-y lower-threshold="100"
|
|
|
- @scrolltolower="scrolltolower" :style="{height:data.fullHeight}">
|
|
|
- <view v-if="data.dataList.length>0">
|
|
|
- <view class="eq-item"
|
|
|
- v-for="(item1,index1) in data.dataList" :key="item1.deviceId">
|
|
|
- <view class="eq-content">
|
|
|
- <view class="eq-wrap">
|
|
|
- <view class="eq-name flex justify-between">
|
|
|
- <view class="eq-title" v-if="item1.name">{{item1.name}}<text style="color: #666;">({{item1.mercCode}})</text></view>
|
|
|
- <view class="eq-title" v-else>{{item1.mercCode}}</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="eqeq-type">
|
|
|
- <view>
|
|
|
- 上级商户:
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- {{item1.parentName}}({{item1.parentId}})
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="eqeq-type">
|
|
|
- <view>
|
|
|
- 登录名:
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- {{item1.loginName}}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="eqeq-type">
|
|
|
- <view>
|
|
|
- 联系人:
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- {{item1.contact}}({{item1.contactPhone}})
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="eqeq-type">
|
|
|
- <view>
|
|
|
- 类型:
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- {{item1.mercType}}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="eqeq-type">
|
|
|
- <view>
|
|
|
- 更新时间:
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- {{item1.createTime}}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="eq-toolbar flex flex-wrap justify-between">
|
|
|
- <view class="flex">
|
|
|
-
|
|
|
- </view>
|
|
|
- <view class="flex">
|
|
|
- <u-button size="mini" type="primary" text="管理" @click="gotoMerc(item1)"></u-button>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="load-more" style="padding:24rpx;">
|
|
|
- <u-loadmore v-if="data.dataList.length>0" :status="data.loadmoreStatus" />
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view v-else class='empty'>
|
|
|
- <u-empty mode="data" text="数据为空"></u-empty>
|
|
|
- </view>
|
|
|
- </scroll-view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <u-popup :show="searchMenu.showPopMenu" duration="0" :customStyle="searchMenu.style" :round="10" mode="right" :duration="300" :overlay="false" >
|
|
|
- <view class="searchMenu popMenu flex" :style="searchMenu.searchMenu_body_style">
|
|
|
- <scroll-view scroll-y class="searchMenu_body flex-wrap justify-between">
|
|
|
- <view>
|
|
|
- <view class="label">
|
|
|
- 商户名称编号
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <u--input
|
|
|
- placeholder="商户名称/编号"
|
|
|
- border="surround"
|
|
|
- v-model="searchMenu.params.searchKey"
|
|
|
- ></u--input>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <view class="label">
|
|
|
- 联系人
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <u--input
|
|
|
- placeholder="联系人"
|
|
|
- border="surround"
|
|
|
- v-model="searchMenu.params.contact"
|
|
|
- ></u--input>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <view class="label">
|
|
|
- 联系电话
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <u--input
|
|
|
- placeholder="联系电话"
|
|
|
- border="surround"
|
|
|
- v-model="searchMenu.params.contactPhone"
|
|
|
- ></u--input>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view>
|
|
|
- <view class="label">
|
|
|
- 机器ID号查找商家
|
|
|
- </view>
|
|
|
- <view class="flex flex-wrap justify-between">
|
|
|
- <view class="flex">
|
|
|
- <u--input
|
|
|
- placeholder="机器ID号"
|
|
|
- border="surround"
|
|
|
- v-model="searchMenu.params.deviceId"
|
|
|
- ></u--input>
|
|
|
- </view>
|
|
|
- <view class="flex">
|
|
|
- <u-button size="normal" :plain="true" text="查找" @click="doSearchMerc()"></u-button>
|
|
|
- </view>
|
|
|
-
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="eq-item"
|
|
|
- v-for="(item2,index1) in searchMenu.dataList" :key="item2.id">
|
|
|
- <view class=" flex flex-wrap justify-between">
|
|
|
- <view class="simple_merc" @tap="searchMenu.params.searchKey=item2.name">
|
|
|
- {{item2.name}}/{{item2.mercCode}}
|
|
|
- </view>
|
|
|
-<!-- <view>-->
|
|
|
-<!-- <u-button size="mini" :plain="true" text="选择" @click="searchMenu.params.searchKey=item2.name"></u-button>-->
|
|
|
-<!-- </view>-->
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- </scroll-view>
|
|
|
- <view class="searchMenu_bottom ">
|
|
|
- <view class="flex flex-wrap justify-between">
|
|
|
- <view>
|
|
|
- <u-button size="normal" :plain="true" text="关闭" @click="doSearch(0)"></u-button>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="flex">
|
|
|
- <view>
|
|
|
- <u-button size="normal" type="primary" :plain="true" text="重置" @click="resetSearchMenu"></u-button>
|
|
|
- </view>
|
|
|
- <view style="margin-left: 20rpx">
|
|
|
- <u-button size="normal" type="primary" text="查找" @click="doSearch(1)"></u-button>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </u-popup>
|
|
|
-
|
|
|
- </view>
|
|
|
+ <view class="container">
|
|
|
+ <u-navbar title="商户管理" @rightClick="rightClick" titleStyle="color:#fff;fontSize:36rpx;" bgColor="#2C6FF3"
|
|
|
+ :autoBack="true" leftIconColor="#fff" :placeholder="true">
|
|
|
+ </u-navbar>
|
|
|
+
|
|
|
+ <view class="content">
|
|
|
+
|
|
|
+ <view class="topbar flex flex-wrap justify-between">
|
|
|
+ <view class="data_total flex align-center">
|
|
|
+ 共 {{data.total}} 条记录
|
|
|
+ </view>
|
|
|
+ <view class="search flex" @tap="openSearchMenu" style="margin-left: 20rpx;">
|
|
|
+ 筛选<u-icon name="arrow-right" style="margin-left: 6rpx;" size="14"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <scroll-view class="scrollview" :scroll-with-animation="true" scroll-y lower-threshold="100"
|
|
|
+ @scrolltolower="scrolltolower" :style="{height:data.fullHeight}">
|
|
|
+ <view v-if="data.dataList.length>0">
|
|
|
+ <view class="eq-item" v-for="(item1,index1) in data.dataList" :key="item1.deviceId">
|
|
|
+ <view class="eq-content">
|
|
|
+ <view class="eq-wrap">
|
|
|
+ <view class="eq-name flex justify-between">
|
|
|
+ <view class="eq-title" v-if="item1.name">{{item1.name}}<text
|
|
|
+ style="color: #666;">({{item1.mercCode}})</text></view>
|
|
|
+ <view class="eq-title" v-else>{{item1.mercCode}}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="eqeq-type">
|
|
|
+ <view>
|
|
|
+ 上级商户:
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ {{item1.parentName}}({{item1.parentId}})
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="eqeq-type">
|
|
|
+ <view>
|
|
|
+ 登录名:
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ {{item1.loginName}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="eqeq-type">
|
|
|
+ <view>
|
|
|
+ 联系人:
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ {{item1.contact}}({{item1.contactPhone}})
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="eqeq-type">
|
|
|
+ <view>
|
|
|
+ 类型:
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ {{item1.mercType}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="eqeq-type">
|
|
|
+ <view>
|
|
|
+ 更新时间:
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ {{item1.createTime}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="eq-toolbar flex flex-wrap justify-between">
|
|
|
+ <view class="flex">
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <view class="flex">
|
|
|
+ <u-button size="mini" type="primary" text="管理"
|
|
|
+ @click="gotoMerc(item1)"></u-button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="load-more" style="padding:24rpx;">
|
|
|
+ <u-loadmore v-if="data.dataList.length>0" :status="data.loadmoreStatus" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view v-else class='empty'>
|
|
|
+ <u-empty mode="data" text="数据为空"></u-empty>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <u-popup :show="searchMenu.showPopMenu" duration="0" :customStyle="searchMenu.style" :round="10" mode="right"
|
|
|
+ :duration="300" :overlay="false">
|
|
|
+ <view class="searchMenu popMenu flex" :style="searchMenu.searchMenu_body_style">
|
|
|
+ <scroll-view scroll-y class="searchMenu_body flex-wrap justify-between">
|
|
|
+ <view>
|
|
|
+ <view class="label">
|
|
|
+ 商户名称编号
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ <u--input placeholder="商户名称/编号" border="surround"
|
|
|
+ v-model="searchMenu.params.searchKey"></u--input>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ <view class="label">
|
|
|
+ 联系人
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ <u--input placeholder="联系人" border="surround"
|
|
|
+ v-model="searchMenu.params.contact"></u--input>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ <view class="label">
|
|
|
+ 联系电话
|
|
|
+ </view>
|
|
|
+ <view>
|
|
|
+ <u--input placeholder="联系电话" border="surround"
|
|
|
+ v-model="searchMenu.params.contactPhone"></u--input>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view>
|
|
|
+ <view class="label">
|
|
|
+ 机器ID号查找商家
|
|
|
+ </view>
|
|
|
+ <view class="flex flex-wrap justify-between">
|
|
|
+ <view class="flex">
|
|
|
+ <u--input placeholder="机器ID号" border="surround"
|
|
|
+ v-model="searchMenu.params.deviceId"></u--input>
|
|
|
+ </view>
|
|
|
+ <view class="flex">
|
|
|
+ <u-button size="normal" :plain="true" text="查找" @click="doSearchMerc()"></u-button>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="eq-item" v-for="(item2,index1) in searchMenu.dataList" :key="item2.id">
|
|
|
+ <view class=" flex flex-wrap justify-between">
|
|
|
+ <view class="simple_merc" @tap="searchMenu.params.searchKey=item2.name">
|
|
|
+ {{item2.name}}/{{item2.mercCode}}
|
|
|
+ </view>
|
|
|
+ <!-- <view>-->
|
|
|
+ <!-- <u-button size="mini" :plain="true" text="选择" @click="searchMenu.params.searchKey=item2.name"></u-button>-->
|
|
|
+ <!-- </view>-->
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </scroll-view>
|
|
|
+ <view class="searchMenu_bottom ">
|
|
|
+ <view class="flex flex-wrap justify-between">
|
|
|
+ <view>
|
|
|
+ <u-button size="normal" :plain="true" text="关闭" @click="doSearch(0)"></u-button>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="flex">
|
|
|
+ <view>
|
|
|
+ <u-button size="normal" type="primary" :plain="true" text="重置"
|
|
|
+ @click="resetSearchMenu"></u-button>
|
|
|
+ </view>
|
|
|
+ <view style="margin-left: 20rpx">
|
|
|
+ <u-button size="normal" type="primary" text="查找" @click="doSearch(1)"></u-button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </u-popup>
|
|
|
+
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-
|
|
|
-import {getCurrentInstance, onMounted, reactive, ref} from "vue";
|
|
|
-const { proxy } = getCurrentInstance();
|
|
|
-const instance = getCurrentInstance();
|
|
|
-const {
|
|
|
- device_type,device_online_status,device_busy_status,device_active_status
|
|
|
-} = proxy.$useDict("device_type","device_online_status",'device_busy_status','device_active_status');
|
|
|
-const dicts = reactive({
|
|
|
- device_type:[],
|
|
|
- online_status:[],
|
|
|
- busy_status:[],
|
|
|
- active_status:[]
|
|
|
-})
|
|
|
-
|
|
|
-const searchMenu = reactive({
|
|
|
- showPopMenu:false,
|
|
|
- selStatus:0,
|
|
|
- style:{
|
|
|
- marginTop :'174rpx'
|
|
|
- },
|
|
|
- searchMenu_body_style:{
|
|
|
- height:'600rpx'
|
|
|
- },
|
|
|
- params:{
|
|
|
- searchKey:undefined,
|
|
|
- contact:undefined,
|
|
|
- contactPhone:undefined,
|
|
|
- deviceId:undefined,
|
|
|
- },
|
|
|
- reqUrls:{
|
|
|
- searchMerc:'/merc/be/merc/searchTreeList',
|
|
|
- },
|
|
|
- dataList:[],
|
|
|
-});
|
|
|
-
|
|
|
-function openSearchMenu(){
|
|
|
- searchMenu.showPopMenu = true;
|
|
|
-}
|
|
|
-function resetSearchMenu(){
|
|
|
- searchMenu.params.searchKey = undefined;
|
|
|
- searchMenu.params.contact = undefined;
|
|
|
- searchMenu.params.contactPhone = undefined;
|
|
|
-}
|
|
|
-function doSearch(o){
|
|
|
- if(o==0)resetSearchMenu();
|
|
|
-
|
|
|
- setTimeout(function(){
|
|
|
- searchMenu.showPopMenu = false;
|
|
|
- data.curPage = 1;
|
|
|
- getList()
|
|
|
- }, 500);
|
|
|
-}
|
|
|
-
|
|
|
-const data = reactive({
|
|
|
- reqUrls:{
|
|
|
- list:'/merc/be/merc/page',
|
|
|
- token:'/merc/mini/adminToMerc',
|
|
|
- tree:'/sys/sys-code-configure/tree'
|
|
|
- },
|
|
|
- curPage:1,
|
|
|
- loadmoreStatus:'nomore',
|
|
|
- params:{
|
|
|
- page: {
|
|
|
- current: 1,
|
|
|
- size: 10,
|
|
|
- orders: [
|
|
|
- {
|
|
|
- asc: false,
|
|
|
- column: 'create_time'
|
|
|
- }]
|
|
|
- },
|
|
|
- },
|
|
|
- fullHeight:0,
|
|
|
- screenHeight:1920,
|
|
|
- // screenWidht:1080,
|
|
|
- dataList:[],
|
|
|
- total:0,
|
|
|
-})
|
|
|
-
|
|
|
-
|
|
|
-onMounted(() => {
|
|
|
- dicts.device_type = ([{value:null,label:'全部'}].concat(device_type.value));
|
|
|
- dicts.online_status = ([{value:null,label:'全部'}].concat(device_online_status.value));
|
|
|
-
|
|
|
- data.screenHeight = uni.getSystemInfoSync().windowHeight;//-uni.upx2px(100);
|
|
|
- searchMenu.searchMenu_body_style.height = (data.screenHeight-90)+"px";
|
|
|
-
|
|
|
- getList();
|
|
|
-
|
|
|
- const query = uni.createSelectorQuery().in(instance);
|
|
|
- query.select(".scrollview").boundingClientRect((r) => {
|
|
|
- uni.getSystemInfo({
|
|
|
- success(res) {
|
|
|
- // 针对iPhone X等机型底部安全距离做适配
|
|
|
- const model = res.model;
|
|
|
- const modelInclude = [
|
|
|
- "iPhone X",
|
|
|
- 'iPhone XR',
|
|
|
- "iPhone XS",
|
|
|
- "iPhone XS MAX",
|
|
|
- "iPhone 12/13 mini",
|
|
|
- "iPhone 12/13 (Pro)",
|
|
|
- "iPhone 12/13 Pro Max",
|
|
|
- "iPhone 14 Pro Max"
|
|
|
- ];
|
|
|
- let safeDistance = modelInclude.includes(model)
|
|
|
- //动态设置商品区域高度
|
|
|
- console.log(res.windowHeight, r.top)
|
|
|
- // data.screenWidht = data1.right;
|
|
|
-
|
|
|
- let h = 0;
|
|
|
- if (safeDistance) {
|
|
|
-
|
|
|
- h = res.windowHeight - r.top;
|
|
|
- } else {
|
|
|
- h = res.windowHeight - r.top;
|
|
|
- }
|
|
|
- data.fullHeight+=h+"px";
|
|
|
-
|
|
|
-
|
|
|
- //console.log("--------",searchMenu.searchMenu_body_style);
|
|
|
- },
|
|
|
- });
|
|
|
- }).exec();
|
|
|
-
|
|
|
-});
|
|
|
-function scrolltolower(){
|
|
|
- if (data.loadmoreStatus == 'nomore') return
|
|
|
- data.curPage++
|
|
|
- getList()
|
|
|
-}
|
|
|
-function getList () {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- data.params.page.current = data.curPage;
|
|
|
- data.params.searchKey = searchMenu.params.searchKey;
|
|
|
- data.params.contact = searchMenu.params.contact;
|
|
|
- data.params.contactPhone = searchMenu.params.contactPhone
|
|
|
- if(data.curPage == 1){
|
|
|
- data.dataList = [];
|
|
|
- }
|
|
|
- proxy.$request({
|
|
|
- url: data.reqUrls.list,
|
|
|
- data: data.params,
|
|
|
- method:'post'
|
|
|
- }).then(res => {
|
|
|
- console.log('***',res);
|
|
|
-
|
|
|
- if (res.records) {
|
|
|
- data.dataList = data.dataList.concat(res.records)
|
|
|
- }
|
|
|
- data.total = res.total;
|
|
|
- if (res.records.length < 10) {
|
|
|
- data.loadmoreStatus = "nomore"
|
|
|
- } else {
|
|
|
- data.loadmoreStatus = "loadmore"
|
|
|
- }
|
|
|
-
|
|
|
- resolve(res)
|
|
|
- }).catch(err => {
|
|
|
- reject(err)
|
|
|
- })
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-function doSearchMerc(){
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
-
|
|
|
- proxy.$request({
|
|
|
- url: searchMenu.reqUrls.searchMerc,
|
|
|
- data: {searchKey:searchMenu.params.deviceId},
|
|
|
- method:'post'
|
|
|
- }).then(data => {
|
|
|
- searchMenu.dataList = data;
|
|
|
- console.log('机器号查找商户', searchMenu.dataList)
|
|
|
- resolve(res)
|
|
|
- }).catch(err => {
|
|
|
- reject(err)
|
|
|
- })
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-function gotoMerc(merc){
|
|
|
- proxy.$request({
|
|
|
- url: data.reqUrls.token,
|
|
|
- data: {mercId:merc.id},
|
|
|
- method:'post'
|
|
|
- }).then(data => {
|
|
|
- console.log('token',data);
|
|
|
- wx.navigateToMiniProgram({
|
|
|
- appId:'wxde6edfb4b2c1e7db',
|
|
|
- path:'pages/login',
|
|
|
- extraData: {
|
|
|
- mercId: data.mercId,
|
|
|
- mercName: data.mercName,
|
|
|
- token: data.mercSatoken
|
|
|
+ import {
|
|
|
+ getCurrentInstance,
|
|
|
+ onMounted,
|
|
|
+ reactive,
|
|
|
+ ref
|
|
|
+ } from "vue";
|
|
|
+ const {
|
|
|
+ proxy
|
|
|
+ } = getCurrentInstance();
|
|
|
+ const instance = getCurrentInstance();
|
|
|
+ const {
|
|
|
+ device_type,
|
|
|
+ device_online_status,
|
|
|
+ device_busy_status,
|
|
|
+ device_active_status
|
|
|
+ } = proxy.$useDict("device_type", "device_online_status", 'device_busy_status', 'device_active_status');
|
|
|
+ const dicts = reactive({
|
|
|
+ device_type: [],
|
|
|
+ online_status: [],
|
|
|
+ busy_status: [],
|
|
|
+ active_status: []
|
|
|
+ })
|
|
|
+
|
|
|
+ const searchMenu = reactive({
|
|
|
+ showPopMenu: false,
|
|
|
+ selStatus: 0,
|
|
|
+ style: {
|
|
|
+ marginTop: '174rpx'
|
|
|
+ },
|
|
|
+ searchMenu_body_style: {
|
|
|
+ height: '600rpx'
|
|
|
+ },
|
|
|
+ params: {
|
|
|
+ searchKey: undefined,
|
|
|
+ contact: undefined,
|
|
|
+ contactPhone: undefined,
|
|
|
+ deviceId: undefined,
|
|
|
+ },
|
|
|
+ reqUrls: {
|
|
|
+ searchMerc: '/merc/be/merc/searchTreeList',
|
|
|
+ },
|
|
|
+ dataList: [],
|
|
|
+ });
|
|
|
+
|
|
|
+ function openSearchMenu() {
|
|
|
+ searchMenu.showPopMenu = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ function resetSearchMenu() {
|
|
|
+ searchMenu.params.searchKey = undefined;
|
|
|
+ searchMenu.params.contact = undefined;
|
|
|
+ searchMenu.params.contactPhone = undefined;
|
|
|
+ }
|
|
|
+
|
|
|
+ function doSearch(o) {
|
|
|
+ if (o == 0) resetSearchMenu();
|
|
|
+
|
|
|
+ setTimeout(function() {
|
|
|
+ searchMenu.showPopMenu = false;
|
|
|
+ data.curPage = 1;
|
|
|
+ getList()
|
|
|
+ }, 500);
|
|
|
+ }
|
|
|
+
|
|
|
+ const data = reactive({
|
|
|
+ reqUrls: {
|
|
|
+ list: '/merc/be/merc/page',
|
|
|
+ token: '/merc/mini/adminToMerc',
|
|
|
+ tree: '/sys/sys-code-configure/tree'
|
|
|
+ },
|
|
|
+ curPage: 1,
|
|
|
+ loadmoreStatus: 'nomore',
|
|
|
+ params: {
|
|
|
+ page: {
|
|
|
+ current: 1,
|
|
|
+ size: 10,
|
|
|
+ orders: [{
|
|
|
+ asc: false,
|
|
|
+ column: 'create_time'
|
|
|
+ }]
|
|
|
+ },
|
|
|
},
|
|
|
- // envVersion:'trial',//跳转体验版
|
|
|
- success(res){
|
|
|
- console.log(res);
|
|
|
- }
|
|
|
- })
|
|
|
- resolve(res)
|
|
|
- }).catch(err => {
|
|
|
- reject(err)
|
|
|
- })
|
|
|
- //proxy.$tab.navigateTo(`/pages/xy_system/devices/deviceDetail?id=${o}`)
|
|
|
-}
|
|
|
-function rightClick () {
|
|
|
- console.log('点击了右侧')
|
|
|
-}
|
|
|
+ fullHeight: 0,
|
|
|
+ screenHeight: 1920,
|
|
|
+ // screenWidht:1080,
|
|
|
+ dataList: [],
|
|
|
+ total: 0,
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ onMounted(() => {
|
|
|
+ dicts.device_type = ([{
|
|
|
+ value: null,
|
|
|
+ label: '全部'
|
|
|
+ }].concat(device_type.value));
|
|
|
+ dicts.online_status = ([{
|
|
|
+ value: null,
|
|
|
+ label: '全部'
|
|
|
+ }].concat(device_online_status.value));
|
|
|
+
|
|
|
+ data.screenHeight = uni.getSystemInfoSync().windowHeight; //-uni.upx2px(100);
|
|
|
+ searchMenu.searchMenu_body_style.height = (data.screenHeight - 90) + "px";
|
|
|
+
|
|
|
+ getList();
|
|
|
+
|
|
|
+ const query = uni.createSelectorQuery().in(instance);
|
|
|
+ query.select(".scrollview").boundingClientRect((r) => {
|
|
|
+ uni.getSystemInfo({
|
|
|
+ success(res) {
|
|
|
+ // 针对iPhone X等机型底部安全距离做适配
|
|
|
+ const model = res.model;
|
|
|
+ const modelInclude = [
|
|
|
+ "iPhone X",
|
|
|
+ 'iPhone XR',
|
|
|
+ "iPhone XS",
|
|
|
+ "iPhone XS MAX",
|
|
|
+ "iPhone 12/13 mini",
|
|
|
+ "iPhone 12/13 (Pro)",
|
|
|
+ "iPhone 12/13 Pro Max",
|
|
|
+ "iPhone 14 Pro Max"
|
|
|
+ ];
|
|
|
+ let safeDistance = modelInclude.includes(model)
|
|
|
+ //动态设置商品区域高度
|
|
|
+ console.log(res.windowHeight, r.top)
|
|
|
+ // data.screenWidht = data1.right;
|
|
|
+
|
|
|
+ let h = 0;
|
|
|
+ if (safeDistance) {
|
|
|
+
|
|
|
+ h = res.windowHeight - r.top;
|
|
|
+ } else {
|
|
|
+ h = res.windowHeight - r.top;
|
|
|
+ }
|
|
|
+ data.fullHeight += h + "px";
|
|
|
+
|
|
|
+
|
|
|
+ //console.log("--------",searchMenu.searchMenu_body_style);
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }).exec();
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ function scrolltolower() {
|
|
|
+ if (data.loadmoreStatus == 'nomore') return
|
|
|
+ data.curPage++
|
|
|
+ getList()
|
|
|
+ }
|
|
|
+
|
|
|
+ function getList() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ data.params.page.current = data.curPage;
|
|
|
+ data.params.searchKey = searchMenu.params.searchKey;
|
|
|
+ data.params.contact = searchMenu.params.contact;
|
|
|
+ data.params.contactPhone = searchMenu.params.contactPhone
|
|
|
+ if (data.curPage == 1) {
|
|
|
+ data.dataList = [];
|
|
|
+ }
|
|
|
+ proxy.$request({
|
|
|
+ url: data.reqUrls.list,
|
|
|
+ data: data.params,
|
|
|
+ method: 'post'
|
|
|
+ }).then(res => {
|
|
|
+ console.log('***', res);
|
|
|
+
|
|
|
+ if (res.records) {
|
|
|
+ data.dataList = data.dataList.concat(res.records)
|
|
|
+ }
|
|
|
+ data.total = res.total;
|
|
|
+ if (res.records.length < 10) {
|
|
|
+ data.loadmoreStatus = "nomore"
|
|
|
+ } else {
|
|
|
+ data.loadmoreStatus = "loadmore"
|
|
|
+ }
|
|
|
+
|
|
|
+ resolve(res)
|
|
|
+ }).catch(err => {
|
|
|
+ reject(err)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ function doSearchMerc() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+
|
|
|
+ proxy.$request({
|
|
|
+ url: searchMenu.reqUrls.searchMerc,
|
|
|
+ data: {
|
|
|
+ searchKey: searchMenu.params.deviceId
|
|
|
+ },
|
|
|
+ method: 'post'
|
|
|
+ }).then(data => {
|
|
|
+ searchMenu.dataList = data;
|
|
|
+ console.log('机器号查找商户', searchMenu.dataList)
|
|
|
+ resolve(res)
|
|
|
+ }).catch(err => {
|
|
|
+ reject(err)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ function gotoMerc(merc) {
|
|
|
+ proxy.$request({
|
|
|
+ url: data.reqUrls.token,
|
|
|
+ data: {
|
|
|
+ mercId: merc.id
|
|
|
+ },
|
|
|
+ method: 'post'
|
|
|
+ }).then(data => {
|
|
|
+ console.log('token', data);
|
|
|
+ wx.navigateToMiniProgram({
|
|
|
+ appId: 'wxde6edfb4b2c1e7db',
|
|
|
+ path: 'pages/login',
|
|
|
+ extraData: {
|
|
|
+ type: 1,
|
|
|
+ mercId: data.mercId,
|
|
|
+ mercName: data.mercName,
|
|
|
+ token: data.mercSatoken
|
|
|
+ },
|
|
|
+ // envVersion:'trial',//跳转体验版
|
|
|
+ success(res) {
|
|
|
+ console.log(res);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ resolve(res)
|
|
|
+ }).catch(err => {
|
|
|
+ reject(err)
|
|
|
+ })
|
|
|
+ //proxy.$tab.navigateTo(`/pages/xy_system/devices/deviceDetail?id=${o}`)
|
|
|
+ }
|
|
|
+
|
|
|
+ function rightClick() {
|
|
|
+ console.log('点击了右侧')
|
|
|
+ }
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-.container {
|
|
|
- .content {
|
|
|
- font-size: 28rpx;
|
|
|
- font-weight: 500;
|
|
|
- text-align: center;
|
|
|
- //margin-top: 135rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .empty {
|
|
|
- margin-top: 50%;
|
|
|
- }
|
|
|
- .search{
|
|
|
- margin: 20rpx 10rpx;
|
|
|
- }
|
|
|
- .popMenu{
|
|
|
- background-color: white;
|
|
|
- padding: 20rpx 20rpx 20rpx 20rpx;
|
|
|
- }
|
|
|
- .searchMenu{
|
|
|
- width: 600rpx;
|
|
|
- font-size: 28rpx;
|
|
|
- flex-direction: column;
|
|
|
- position: relative;
|
|
|
- .searchMenu_body{
|
|
|
- overflow-y: scroll;
|
|
|
- margin-bottom: 100rpx;
|
|
|
- }
|
|
|
- .label{
|
|
|
- text-align: left;
|
|
|
- margin: 20rpx 10rpx 10rpx 10rpx;
|
|
|
- width: 600rpx;
|
|
|
- }
|
|
|
- .searchMenu_bottom{
|
|
|
- width: 100%;
|
|
|
- padding: 20rpx;
|
|
|
- position: absolute;
|
|
|
- bottom:0rpx;
|
|
|
- left:0;
|
|
|
- }
|
|
|
- }
|
|
|
- .simple_merc{
|
|
|
- padding: 14rpx;
|
|
|
- background-color: #F7F7F7;
|
|
|
- margin-bottom: 2rpx;
|
|
|
- border-radius: 8rpx;
|
|
|
- }
|
|
|
- .topbar{
|
|
|
- background-color: white;
|
|
|
- padding: 0rpx 20rpx 0rpx 20rpx;
|
|
|
- }
|
|
|
- .data_total{
|
|
|
- padding-left: 20rpx;
|
|
|
- background-color: white;
|
|
|
- text-align: center;
|
|
|
- font-size: 28rpx;
|
|
|
- }
|
|
|
- .tab-list {
|
|
|
- width: 100%;
|
|
|
- background-color: #fff;
|
|
|
- padding: 0 26rpx;
|
|
|
- .tab-item{
|
|
|
- padding:0 20rpx;
|
|
|
- //width: 200rpx;
|
|
|
- height: 62rpx;
|
|
|
- background: #F7F7F7;
|
|
|
- border-radius: 10rpx;
|
|
|
- font-size: 28rpx;
|
|
|
- font-weight: 500;
|
|
|
- color: #777777;
|
|
|
- line-height: 62rpx;
|
|
|
- margin-bottom: 14rpx;
|
|
|
- text-align:center;
|
|
|
- &.tab-show{
|
|
|
- background: #F4F8FF;
|
|
|
- color:#2C6FF3;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .scrollview{
|
|
|
- padding: 16rpx 16rpx 16rpx 16rpx;
|
|
|
- padding-bottom:calc(20rpx + env(safe-area-inset-bottom) / 2);
|
|
|
-
|
|
|
- .xy-card {
|
|
|
- margin-bottom: 24rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .eq-item {
|
|
|
- position: relative;
|
|
|
-
|
|
|
- &+.eq-item {
|
|
|
- padding-top: 12rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .eq-content {
|
|
|
-
|
|
|
- .eq-wrap {
|
|
|
- border-radius: 8rpx;
|
|
|
- background-color: white;//rgb(245, 248, 251);
|
|
|
- box-sizing: border-box;
|
|
|
- padding: 24rpx 12rpx;
|
|
|
- font-size: 26rpx;
|
|
|
-
|
|
|
- .eq-name {
|
|
|
- text-align: left;
|
|
|
- font-size: 32rpx;
|
|
|
- font-weight: bold;
|
|
|
- margin-bottom: 12rpx;
|
|
|
- position: relative;
|
|
|
-
|
|
|
- >.eq-title{
|
|
|
- width: 420rpx;
|
|
|
- >text{
|
|
|
- font-size: 30rpx;
|
|
|
- color: #666;
|
|
|
- font-weight: normal;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .eq-status-box{
|
|
|
- float: right;
|
|
|
- position: absolute;
|
|
|
- right:0;
|
|
|
- top:0;
|
|
|
- }
|
|
|
-
|
|
|
- .eq-status {
|
|
|
- font-size: 28rpx;
|
|
|
- color: #666;
|
|
|
- font-weight: normal;
|
|
|
- margin-left: 12rpx;
|
|
|
-
|
|
|
- >text {
|
|
|
- display: inline-block;
|
|
|
- background-color: #666;
|
|
|
- width: 16rpx;
|
|
|
- height: 16rpx;
|
|
|
- border-radius: 16rpx;
|
|
|
- margin-right: 12rpx;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- &.online {
|
|
|
- color: #f56c6c;
|
|
|
-
|
|
|
- >text {
|
|
|
- background-color: green;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .eq-toolbar{
|
|
|
- margin-top: 10rpx;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .eqeq-type {
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- align-items: center;
|
|
|
- font-size: 28rpx;
|
|
|
-
|
|
|
- >view:nth-child(1) {
|
|
|
- text-align: left;
|
|
|
- color: #000;
|
|
|
- width: 200rpx;
|
|
|
- }
|
|
|
-
|
|
|
- >view:nth-child(2) {
|
|
|
- color: #666;
|
|
|
- padding-left: 6rpx;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .eqeq-type+.eqeq-type{
|
|
|
- margin-top: 8rpx;
|
|
|
- }
|
|
|
- .message{
|
|
|
- min-height: 100rpx;
|
|
|
- border-style: solid;
|
|
|
- border-width: 2rpx;
|
|
|
- border-color: #cccccc;
|
|
|
- border-radius: 10rpx;
|
|
|
- margin: 20rpx 10rpx;
|
|
|
- padding: 10rpx 10rpx;
|
|
|
- background-color:#FFF0F5;
|
|
|
- text-align: left;
|
|
|
- }
|
|
|
- .status {
|
|
|
- width: 130rpx;
|
|
|
- height: 120rpx;
|
|
|
- box-sizing: border-box;
|
|
|
- border-radius: 120rpx;
|
|
|
- // border: 6rpx solid #2C6FF3;
|
|
|
- text-align: center;
|
|
|
- display: flex;
|
|
|
- flex-flow: column;
|
|
|
- justify-content: space-around;
|
|
|
- align-items: center;
|
|
|
- position: absolute;
|
|
|
- right: 12rpx;
|
|
|
- bottom: 24rpx;
|
|
|
-
|
|
|
- .s-name {
|
|
|
- font-size: 28rpx;
|
|
|
- padding-top: 20rpx;
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
-
|
|
|
- .s-num {
|
|
|
- font-size: 32rpx;
|
|
|
- padding-bottom: 20rpx;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-</style>
|
|
|
+ .container {
|
|
|
+ .content {
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ text-align: center;
|
|
|
+ //margin-top: 135rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .empty {
|
|
|
+ margin-top: 50%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .search {
|
|
|
+ margin: 20rpx 10rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .popMenu {
|
|
|
+ background-color: white;
|
|
|
+ padding: 20rpx 20rpx 20rpx 20rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .searchMenu {
|
|
|
+ width: 600rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
+ flex-direction: column;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .searchMenu_body {
|
|
|
+ overflow-y: scroll;
|
|
|
+ margin-bottom: 100rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .label {
|
|
|
+ text-align: left;
|
|
|
+ margin: 20rpx 10rpx 10rpx 10rpx;
|
|
|
+ width: 600rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .searchMenu_bottom {
|
|
|
+ width: 100%;
|
|
|
+ padding: 20rpx;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0rpx;
|
|
|
+ left: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .simple_merc {
|
|
|
+ padding: 14rpx;
|
|
|
+ background-color: #F7F7F7;
|
|
|
+ margin-bottom: 2rpx;
|
|
|
+ border-radius: 8rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .topbar {
|
|
|
+ background-color: white;
|
|
|
+ padding: 0rpx 20rpx 0rpx 20rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .data_total {
|
|
|
+ padding-left: 20rpx;
|
|
|
+ background-color: white;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tab-list {
|
|
|
+ width: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 0 26rpx;
|
|
|
+
|
|
|
+ .tab-item {
|
|
|
+ padding: 0 20rpx;
|
|
|
+ //width: 200rpx;
|
|
|
+ height: 62rpx;
|
|
|
+ background: #F7F7F7;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #777777;
|
|
|
+ line-height: 62rpx;
|
|
|
+ margin-bottom: 14rpx;
|
|
|
+ text-align: center;
|
|
|
+
|
|
|
+ &.tab-show {
|
|
|
+ background: #F4F8FF;
|
|
|
+ color: #2C6FF3;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .scrollview {
|
|
|
+ padding: 16rpx 16rpx 16rpx 16rpx;
|
|
|
+ padding-bottom: calc(20rpx + env(safe-area-inset-bottom) / 2);
|
|
|
+
|
|
|
+ .xy-card {
|
|
|
+ margin-bottom: 24rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .eq-item {
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ &+.eq-item {
|
|
|
+ padding-top: 12rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .eq-content {
|
|
|
+
|
|
|
+ .eq-wrap {
|
|
|
+ border-radius: 8rpx;
|
|
|
+ background-color: white; //rgb(245, 248, 251);
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 24rpx 12rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
+
|
|
|
+ .eq-name {
|
|
|
+ text-align: left;
|
|
|
+ font-size: 32rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ margin-bottom: 12rpx;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ >.eq-title {
|
|
|
+ width: 420rpx;
|
|
|
+
|
|
|
+ >text {
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #666;
|
|
|
+ font-weight: normal;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .eq-status-box {
|
|
|
+ float: right;
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .eq-status {
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #666;
|
|
|
+ font-weight: normal;
|
|
|
+ margin-left: 12rpx;
|
|
|
+
|
|
|
+ >text {
|
|
|
+ display: inline-block;
|
|
|
+ background-color: #666;
|
|
|
+ width: 16rpx;
|
|
|
+ height: 16rpx;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ margin-right: 12rpx;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ &.online {
|
|
|
+ color: #f56c6c;
|
|
|
+
|
|
|
+ >text {
|
|
|
+ background-color: green;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .eq-toolbar {
|
|
|
+ margin-top: 10rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .eqeq-type {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+
|
|
|
+ >view:nth-child(1) {
|
|
|
+ text-align: left;
|
|
|
+ color: #000;
|
|
|
+ width: 200rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ >view:nth-child(2) {
|
|
|
+ color: #666;
|
|
|
+ padding-left: 6rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .eqeq-type+.eqeq-type {
|
|
|
+ margin-top: 8rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .message {
|
|
|
+ min-height: 100rpx;
|
|
|
+ border-style: solid;
|
|
|
+ border-width: 2rpx;
|
|
|
+ border-color: #cccccc;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ margin: 20rpx 10rpx;
|
|
|
+ padding: 10rpx 10rpx;
|
|
|
+ background-color: #FFF0F5;
|
|
|
+ text-align: left;
|
|
|
+ }
|
|
|
+
|
|
|
+ .status {
|
|
|
+ width: 130rpx;
|
|
|
+ height: 120rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 120rpx;
|
|
|
+ // border: 6rpx solid #2C6FF3;
|
|
|
+ text-align: center;
|
|
|
+ display: flex;
|
|
|
+ flex-flow: column;
|
|
|
+ justify-content: space-around;
|
|
|
+ align-items: center;
|
|
|
+ position: absolute;
|
|
|
+ right: 12rpx;
|
|
|
+ bottom: 24rpx;
|
|
|
+
|
|
|
+ .s-name {
|
|
|
+ font-size: 28rpx;
|
|
|
+ padding-top: 20rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ .s-num {
|
|
|
+ font-size: 32rpx;
|
|
|
+ padding-bottom: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+</style>
|