ywtc_api/application/member/admin/Patrolshop.php

125 lines
4.6 KiB
PHP

<?php
/**
* Created by coder loomis.li
* User: coder loomi
* Date: 2022/09/06 15:02
*/
namespace app\member\admin;
use think\Db;
use app\admin\controller\Admin;
use app\common\builder\ZBuilder;
use app\member\model\MemberPatrolshop as MemberPatrolshopModel;
use app\shop\model\ShopSignin as ShopSigninModel;
use app\shop\model\Shop as ShopModel;
use app\shop\model\PatrolshopResults as PatrolshopResultsModel;
/**
* 控制器
* @package app\advert\admin
*/
class Patrolshop extends Admin
{
/**
* 列表
* @author loomis <2477365162@qq.com>
* @return mixed
*/
public function index(){
// 获取
$map = $this->getMap();
// 排序
$order = $this->getOrder('create_time desc');
//数据
$data_list = PatrolshopResultsModel::view('shop_patrolshopresults', true)
->view('member_patrolshop', 'username,phone', 'shop_patrolshopresults.uid=member_patrolshop.id', 'left')
->view('shop', 'title as shop_title ', 'shop_patrolshopresults.shop_id=shop.id', 'left')
->where($map)
->order($order)
->paginate();
if(!empty($data_list)){
foreach ($data_list as $k=>$v){
$data_list[$k]['timestr'] = $this->secondsToHMS($v['timestr']);
}
}
// 分页数据
$page = $data_list->render();
//加载模板
return ZBuilder::make('table')
->setSearchArea([
['select', 'shop_patrolshopresults.uid', '巡店用户', 'eq', '', MemberPatrolshopModel::where('is_delete',0)->order("id DESC")->column("id,username")],
['select', 'shop_patrolshopresults.shop_id', '所属门店', 'eq', '', ShopModel::where('is_delete',0)->order("id DESC")->column("id,title")],
['daterange','shop_patrolshopresults.create_time','巡店时间','between'],
])
->setPageTitle('巡店结果') // 设置页面标题
->setTableName('member_patrolshop')
->addOrder('create_time') // 添加排序
->addColumns([ // 批量添加列
['username', '巡店用户','text'],
['phone', '巡店用户手机号','text'],
['shop_title', '所属门店','text'],
['create_time', '巡店时间','datetime'],
['summarize', '巡店总结','text'],
['timestr', '巡店耗时','text'],
['rewards_price', '奖惩金额','text'],
['right_button', '操作', 'btn']
])
->addRightButton('edit',['title'=>'查看巡店图片','icon'=>'fa fa-fw fa-image','href'=>url('patrolshopimg',['id' => '__id__'])],['area' => ['1000px', '70%']])
->addRightButton('edit',['title'=>'查看巡店签名','icon'=>'fa fa-fw fa-signing','href'=>url('patrolshopimg2',['id' => '__id__'])],['area' => ['1000px', '70%']])
->setRowList($data_list) // 设置表格数据
->setPages($page) // 设置分页数据
->fetch(); // 渲染模板
}
public function patrolshopimg2($id=null){
if ($id === null) return $this->error('缺少参数', url('index'),'_parent_reload');
$info = PatrolshopResultsModel::where('id',$id)->select();
return ZBuilder::make('table')
->addColumns([ // 批量添加列
['signinimg', '巡店人签名','picture'],
['shop_signinimg', '店长签名','picture'],
])
->setRowList($info) // 设置表格数据
->fetch(); // 渲染模板
}
public function patrolshopimg($id=null){
if ($id === null) return $this->error('缺少参数', url('index'),'_parent_reload');
$info = PatrolshopResultsModel::where('id',$id)->find();
$imglist = explode(',',$info['imglist']);
$imglistarr = [];
if(!empty($imglist)){
foreach ($imglist as $k=>$v){
$imglistarr[$k]['thumb'] = $v;
}
}
return ZBuilder::make('table')
->addColumns([ // 批量添加列
['thumb', '巡店图片','picture'],
])
->setRowList($imglistarr) // 设置表格数据
->fetch(); // 渲染模板
}
//根据秒数转换时分秒
function secondsToHMS($seconds) {
$hours = gmdate("H", $seconds);
$minutes = gmdate("i", $seconds);
$seconds = gmdate("s", $seconds);
$hours = !empty(intval($hours))?$hours.'时':null;
$minutes = !empty(intval($minutes))?$minutes.'分':null;
$seconds = !empty(intval($seconds))?$seconds.'秒':null;
return $hours.$minutes.$seconds;
}
}