edit-market-sylive

This commit is contained in:
lccsw
2022-10-09 14:59:27 +08:00
parent 94c3b935f2
commit 6bd6e7d501
13 changed files with 107 additions and 70 deletions
+17 -8
View File
@@ -22,7 +22,15 @@ class Biz extends Admin {
throw new Hd_exception('权限不足',400);
}
$this->data['area_id'] = $this->input->get('area_id');
$this->data['biz_id'] = $biz_id = $this->input->get('biz_id');
if($this->group_id==2){
$biz_id = $this->session['org_id'];
}elseif($this->group_id==3) {
$biz_row = $this->market_sylive_organization_model->get(['organizationId'=>$this->session['org_id']]);
$biz_id = $biz_row['parentId'];
}else{
$biz_id = $this->input->get('biz_id');
}
$this->data['biz_id'] = $biz_id;
$this->data['group_id'] = $this->group_id;
$row = $this->market_sylive_organization_model->get(['organizationId'=>$biz_id]);
$this->data['headimg'] = $this->liche_img;
@@ -89,8 +97,8 @@ class Biz extends Admin {
];
$count_order = $this->mdSytActivityKpiData->count($where);
$count = [
['title' => '门店','num' => $count_biz,'icon' => 'icon-quyu'],
['title' => '顾问','num' => $count_gw,'icon' => 'icon-mendian'],
['title' => '门店','num' => $count_biz,'icon' => 'icon-mendian'],
['title' => '顾问','num' => $count_gw,'icon' => 'icon-wode'],
['title' => '活动','num' => $count_live,'icon' => 'icon-zhibo'],
['title' => '订单','num' => $count_order,'icon' => 'icon-dingdan'],
];
@@ -118,10 +126,10 @@ class Biz extends Admin {
];
$count_order = $this->mdSytActivityKpiData->count($where);
$count = [
['title' => '区域','num' => $count_dq],
['title' => '门店','num' => $count_biz],
['title' => '活动','num' => $count_live],
['title' => '订单','num' => $count_order],
['title' => '区域','num' => $count_dq,'icon' => 'icon-quyu'],
['title' => '门店','num' => $count_biz,'icon' => 'icon-mendian'],
['title' => '活动','num' => $count_live,'icon' => 'icon-zhibo'],
['title' => '订单','num' => $count_order,'icon' => 'icon-dingdan'],
];
$tab = [
['id' => 1, 'title' => '区域',],
@@ -250,8 +258,9 @@ class Biz extends Admin {
$skey = $this->myencryption->base64url_encode("a_id=" . $val['activityId']);
$temp = [
'title' => $val['title'],
'time' => date('Y-m-d',$s_time).'~'.date('Y-m-d',$e_time),
'time' => date('Y-m-d H:i',$s_time).'~'.date('Y-m-d H:i',$e_time),
'url' => '/h5/market/sylive/act?skey='.$skey,
'stat_url' => '/h5/market/sylive/stic?skey='.$skey,
'state' => $state,
];
$lists[] = $temp;
+6 -1
View File
@@ -305,6 +305,9 @@ class Stic extends Admin{
}
public function users(){
$map_kpi_name = [
'browse' => '访问用户', 'subscribe' => '预约用户', 'order' => '下单用户','watch' => '观看用户'
];
$params = $this->input->get();
if($this->input->is_ajax_request()){
$page = $params['page'] ? intval($params['page']) : 1;
@@ -328,7 +331,7 @@ class Stic extends Admin{
$total = $this->mdSytActivityKpiData->count($where);
$lists = [];
if($total){
$rows = $this->mdSytActivityKpiData->select($where,'id desc',$page,20,'uid');
$rows = $this->mdSytActivityKpiData->select($where,'id desc',$page,20,'uid,c_time');
$uids = implode(',',array_unique(array_column($rows,'uid')));
$users = [];
if($uids){
@@ -344,10 +347,12 @@ class Stic extends Admin{
$lists[] = [
'nickname' => $nickname,
'headimg' => $headimg,
'time' => friendly_date($item['c_time'])
];
}
}
$data = [
'title' => $map_kpi_name[$params['kpi']],
'total' => $total,
'lists' => $lists
];
+16 -14
View File
@@ -35,8 +35,8 @@
<a class="block relative mb30 bg-f9 pt20 pb20 pl30 pr200 ulib-r20" v-for="(item,index) in list" :href="item.url">
<div class="font-32">{{item.title}}</div>
<div class="mt20 font-22 color-999">
<span><i class="iconfont icon-mendian text-middle"></i><span class="text-middle ml10 fongt-22">门店</span><span class="text-middle ml10 fongt-22">{{item.storenum}}</span></span>
<span class="ml20"><i class="iconfont icon-huodong text-middle"></i><span class="text-middle ml10 fongt-22">活动</span><span class="text-middle ml10 fongt-22">{{item.activitynum}}</span></span>
<span><i class="iconfont icon-mendian text-middle"></i><span class="text-middle ml10 font-22">门店</span><span class="text-middle ml10 font-22">{{item.storenum}}</span></span>
<span class="ml20"><i class="iconfont icon-huodong text-middle"></i><span class="text-middle ml10 font-22">活动</span><span class="text-middle ml10 font-22">{{item.activitynum}}</span></span>
</div>
<div class="absolute right-0 box-middle pr30">
<span :class="'inline-block pl10 pr10 line-height-15 text-middle ulib-r750 font-22 color-fff '+item.state.class" v-if="item.state.title">{{item.state.title}}</span>
@@ -47,21 +47,23 @@
<!--end大区列表-->
<!--活动列表列表-->
<div v-if="tabid==2">
<a class="block relative mb30 bg-f9 pt20 pb20 pl30 pr200 ulib-r20" v-for="(item,index) in list" :href="item.url">
<div class="font-32">{{item.title}}</div>
<div class="mt20 font-22 color-999">{{item.time}}</div>
<div class="absolute right-0 box-middle pr30">
<span :class="'inline-block pl10 pr10 line-height-15 text-middle ulib-r750 font-22 color-fff '+item.state.class" v-if="item.state.title">{{item.state.title}}</span>
<div class="block relative mb30 bg-f9 pt20 pb20 pl30 pr200 ulib-r20" v-for="(item,index) in list">
<a :href="item.url">
<div class="font-32">{{item.title}}</div>
<div class="mt20 font-22 color-999">{{item.time}}</div>
</a>
<a class="absolute right-0 box-middle pr30" :href="item.stat_url">
<div class="inline-block pl20 pr20 line-height-15 text-middle ulib-r750 font-22 color-fff bg-fe9538"><i class="iconfont icon-shuju text-middle"></i><span class="text-middle ml10">数据</span></div>
<i class="text-middle iconfont icon-gengduo text-middle font-28 color-666"></i>
</div>
</a>
</a>
</div>
</div>
<!--end活动列表-->
</div>
<mugen-scroll :handler="fetchData" :should-handle="!loading">
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle fongt-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle fongt-22">请稍等...</span></div>
<div class="pt20 pb20 text-center fongt-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle font-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle font-22">请稍等...</span></div>
<div class="pt20 pb20 text-center font-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
</mugen-scroll>
</div>
</div>
@@ -162,7 +164,7 @@
that.list = that.list.concat(result.data.list);
if (result.data.total == 0) {
that.isNoData = true;
} else if (that.list.length == result.data.total) {
} else if (that.list.length == result.data.total && result.data.total>10) {
that.isDataEnd = true;
}
},'json')
@@ -180,7 +182,7 @@
that.list = that.list.concat(result.data.list);
if (result.data.total == 0) {
that.isNoData = true;
} else if (that.list.length == result.data.total) {
} else if (that.list.length == result.data.total && result.data.total>10) {
that.isDataEnd = true;
}
},'json')
+13 -11
View File
@@ -15,20 +15,22 @@
<div class="pt50 font-36 text-center">{{info.title}}</div>
<div class="pt50">
<!--活动列表列表-->
<a class="block relative mb30 bg-f9 pt20 pb20 pl30 pr200 ulib-r20" v-for="(item,index) in list" :href="item.url">
<div class="font-32">{{item.title}}</div>
<div class="mt20 font-22 color-999">{{item.time}}</div>
<div class="absolute right-0 box-middle pr30">
<span :class="'inline-block pl10 pr10 line-height-15 text-middle ulib-r750 font-22 color-fff '+item.state.class" v-if="item.state.title">{{item.state.title}}</span>
<div class="block relative mb30 bg-f9 pt20 pb20 pl30 pr200 ulib-r20" v-for="(item,index) in list">
<a :href="item.url">
<div class="font-32">{{item.title}}</div>
<div class="mt20 font-22 color-999">{{item.time}}</div>
</a>
<a class="absolute right-0 box-middle pr30" :href="item.stat_url">
<div class="inline-block pl20 pr20 line-height-15 text-middle ulib-r750 font-22 color-fff bg-fe9538"><i class="iconfont icon-shuju text-middle"></i><span class="text-middle ml10">数据</span></div>
<i class="text-middle iconfont icon-gengduo text-middle font-28 color-666"></i>
</div>
</a>
</a>
</div>
<!--end活动列表-->
</div>
<mugen-scroll :handler="fetchData" :should-handle="!loading">
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle fongt-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle fongt-22">请稍等...</span></div>
<div class="pt20 pb20 text-center fongt-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle font-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle font-22">请稍等...</span></div>
<div class="pt20 pb20 text-center font-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
</mugen-scroll>
</div>
</div>
@@ -90,7 +92,7 @@
that.list = that.list.concat(result.data.list);
if (result.data.total == 0) {
that.isNoData = true;
} else if (that.list.length == result.data.total) {
} else if (that.list.length == result.data.total && result.data.total>10) {
that.isDataEnd = true;
}
},'json')
+17 -15
View File
@@ -40,8 +40,8 @@
<a class="block relative mb30 bg-f9 pt20 pb20 pl30 pr200 ulib-r20" v-for="(item,index) in list" :href="item.url">
<div class="font-32">{{item.title}}</div>
<div class="mt20 font-22 color-999">
<span><i class="iconfont icon-wode text-middle"></i><span class="text-middle ml10 fongt-22">顾问</span><span class="text-middle ml10 fongt-22">{{item.storenum}}</span></span>
<span class="ml20"><i class="iconfont icon-huodong text-middle"></i><span class="text-middle ml10 fongt-22">活动</span><span class="text-middle ml10 fongt-22">{{item.activitynum}}</span></span>
<span><i class="iconfont icon-wode text-middle"></i><span class="text-middle ml10 font-22">顾问</span><span class="text-middle ml10 font-22">{{item.storenum}}</span></span>
<span class="ml20"><i class="iconfont icon-huodong text-middle"></i><span class="text-middle ml10 font-22">活动</span><span class="text-middle ml10 font-22">{{item.activitynum}}</span></span>
</div>
<div class="absolute right-0 box-middle pr30">
<span :class="'inline-block pl10 pr10 line-height-15 text-middle ulib-r750 font-22 color-fff '+item.state.class" v-if="item.state.title">{{item.state.title}}</span>
@@ -52,21 +52,23 @@
<!--end大区列表-->
<!--活动列表列表-->
<div v-if="tabid==2">
<a class="block relative mb30 bg-f9 pt20 pb20 pl30 pr200 ulib-r20" v-for="(item,index) in list" :href="item.url">
<div class="font-32">{{item.title}}</div>
<div class="mt20 font-22 color-999">{{item.time}}</div>
<div class="absolute right-0 box-middle pr30">
<span :class="'inline-block pl10 pr10 line-height-15 text-middle ulib-r750 font-22 color-fff '+item.state.class" v-if="item.state.title">{{item.state.title}}</span>
<div class="block relative mb30 bg-f9 pt20 pb20 pl30 pr200 ulib-r20" v-for="(item,index) in list">
<a :href="item.url">
<div class="font-32">{{item.title}}</div>
<div class="mt20 font-22 color-999">{{item.time}}</div>
</a>
<a class="absolute right-0 box-middle pr30" :href="item.stat_url">
<div class="inline-block pl20 pr20 line-height-15 text-middle ulib-r750 font-22 color-fff bg-fe9538"><i class="iconfont icon-shuju text-middle"></i><span class="text-middle ml10">数据</span></div>
<i class="text-middle iconfont icon-gengduo text-middle font-28 color-666"></i>
</div>
</a>
</a>
</div>
</div>
<!--end活动列表-->
</div>
<mugen-scroll :handler="fetchData" :should-handle="!loading">
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle fongt-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle fongt-22">请稍等...</span></div>
<div class="pt20 pb20 text-center fongt-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle font-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle font-22">请稍等...</span></div>
<div class="pt20 pb20 text-center font-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
</mugen-scroll>
</div>
</div>
@@ -162,13 +164,13 @@
if (!that.isNoData && !that.isDataEnd && !that.loading) {
that.loading = true;
//请求接口
$.get('/h5/market/sylive/biz/biz_lists',{'area_id':<?=$area_id ? $area_id : 0?>},function (result) {
$.get('/h5/market/sylive/biz/biz_lists',{'area_id':<?=$area_id ? $area_id : 0?>,'page':that.page},function (result) {
that.loading = false;
that.page = that.page + 1;
that.list = that.list.concat(result.data.list);
if (result.data.total == 0) {
that.isNoData = true;
} else if (that.list.length == result.data.total) {
} else if (that.list.length == result.data.total && result.data.total>10) {
that.isDataEnd = true;
}
},'json')
@@ -186,7 +188,7 @@
that.list = that.list.concat(result.data.list);
if (result.data.total == 0) {
that.isNoData = true;
} else if (that.list.length == result.data.total) {
} else if (that.list.length == result.data.total && result.data.total>10) {
that.isDataEnd = true;
}
},'json')
+1 -1
View File
@@ -7,7 +7,7 @@
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title><?=$_title?></title>
<link rel="stylesheet" href="/css/h5/market/sylive/h5.css?20221008">
<link rel="stylesheet" href="/css/h5/market/sylive/h5.css?20221009">
<link rel="stylesheet" href="https://qs.haodian.cn/web/javascript/swiper/css/swiper.min.css">
<script type="text/javascript" src="https://qs.haodian.cn/web/javascript/jquery.3.4.1.min.js"></script>
<script type="text/javascript" src="https://qs.haodian.cn/web/javascript/vue.2.6.10.min.js"></script>
+1 -1
View File
@@ -7,7 +7,7 @@
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title><?=$_title?></title>
<link rel="stylesheet" href="/css/h5/market/sylive/h5.css?20221008">
<link rel="stylesheet" href="/css/h5/market/sylive/h5.css?20221009">
<link rel="stylesheet" href="https://qs.haodian.cn/web/javascript/swiper/css/swiper.min.css">
<script type="text/javascript" src="https://qs.haodian.cn/web/javascript/jquery.3.4.1.min.js"></script>
<script type="text/javascript" src="https://qs.haodian.cn/web/javascript/vue.2.6.10.min.js"></script>
+4
View File
@@ -0,0 +1,4 @@
<a class="bottom-opt pt15 bg-1a1a1a ulib-r750 text-center color-fff" href="/h5/market/sylive">
<i class="iconfont icon-shouye text-middle font-36"></i>
<div class="font-22">首页</div>
</a>
@@ -175,6 +175,7 @@
<div class="fixed left-0 bottom-0 right-0 inner30 bg-fff" ><a class="block bg-1a1a1a pt20 pb20 text-center font-36 color-fff ulib-r10" :href="info.url">进入活动</a></div>
</div>
<?$this->load->view('h5/market/sylive/nav');?>
</div>
<script>
+4 -3
View File
@@ -59,9 +59,9 @@
</div>
</div>
<mugen-scroll :handler="fetchData" :should-handle="!loading">
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle fongt-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle fongt-22">请稍等...</span></div>
<div class="pt20 pb20 text-center fongt-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle font-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle font-22">请稍等...</span></div>
<div class="pt20 pb20 text-center font-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
</mugen-scroll>
</div>
<!-- end 实时动态-->
@@ -70,6 +70,7 @@
<div class="fixed left-0 bottom-0 right-0 inner30 bg-fff" ><a class="block bg-1a1a1a pt20 pb20 text-center font-36 color-fff ulib-r10" :href="info.url">进入活动</a></div>
</div>
<?$this->load->view('h5/market/sylive/nav');?>
</div>
<script>
+4 -4
View File
@@ -15,9 +15,9 @@
</div>
</div>
<mugen-scroll :handler="fetchData" :should-handle="!loading">
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle fongt-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle fongt-22">请稍等...</span></div>
<div class="pt20 pb20 text-center fongt-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle font-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle font-22">请稍等...</span></div>
<div class="pt20 pb20 text-center font-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
</mugen-scroll>
</div>
</div>
@@ -71,7 +71,7 @@
that.list = that.list.concat(res.data.lists);
if (res.data.total == 0) {
that.isNoData = true;
} else if (that.list.length == res.data.total) {
} else if (that.list.length == res.data.total && res.data.total>20) {
that.isDataEnd = true;
}
},'json');
+22 -11
View File
@@ -1,18 +1,28 @@
<body class="bg-f6">
<div id="app">
<div class="container relative bg-no-repeat bg-size-fullwidth bg-pos-top pb50">
<div class="inner40 fn-flex fn-flex-wrap text-center">
<div class="wp33 pt20 pb20" v-for="(item,index) in list">
<img class="imgsize-130X130 text-middle ulib-r750" :src="item.headimg" alt="#" />
<div class="mt10 font-28 color-666">{{item.nickname}}</div>
<div class="container relative bg-no-repeat bg-size-fullwidth bg-pos-top pt30 pb50">
<div class="relative bg-fff ml30 mr30 inner30 ulib-r20 box-shadow-darkGray" style="min-height:90vh;">
<div class="pt10 pb20 text-center"><b class="font-40 text-italic" v-html="title"></b></div>
<div class="pt20 pb20 fn-flex font-28 color-666" v-for="(item,index) in list">
<div class="fn-flex-item text-nowrap" flexsize="3">
<img class="imgsize-32X32 text-middle ulib-r750" :src="item.headimg" alt="#" />
<span class="text-middle">{{item.nickname}}</span>
</div>
<div class="fn-flex-item text-center" flexsize="2">
<template v-if="item.tel">
{{item.tel}}
</template>
</div>
<div class="fn-flex-item text-center" flexsize="3">{{item.time}}</div>
</div>
<mugen-scroll :handler="fetchData" :should-handle="!loading">
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle font-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle font-22">请稍等...</span></div>
<div class="pt20 pb20 text-center font-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
</mugen-scroll>
</div>
<mugen-scroll :handler="fetchData" :should-handle="!loading">
<div class="pt100 pb100 text-center color-ccc" v-if="isNoData"></i><span class="text-middle fongt-22">暂无数据</span></div>
<div class="pt20 pb20 text-center color-ccc" v-else-if="loading"><i class="iconfont icon-jiazai text-middle"></i><span class="text-middle fongt-22">请稍等...</span></div>
<div class="pt20 pb20 text-center fongt-22 color-ccc" v-else-if="isDataEnd">我们是有底线的</div>
</mugen-scroll>
</div>
<?$this->load->view('h5/market/sylive/nav');?>
</div>
<script>
@@ -25,6 +35,7 @@
isNoData: false,
page: 1, //页数
size: 20, //每页取多少个数据
title:'',
list:[],
},
created(){
@@ -62,7 +73,7 @@
that.list = that.list.concat(res.data.lists);
if (res.data.total == 0) {
that.isNoData = true;
} else if (that.list.length == res.data.total) {
} else if (that.list.length == res.data.total && res.data.total>20) {
that.isDataEnd = true;
}
},'json');
File diff suppressed because one or more lines are too long