店铺类型编辑页js优化
This commit is contained in:
parent
1595573f52
commit
9408a92034
@ -10,13 +10,15 @@ declare (strict_types = 1);
|
||||
|
||||
namespace app\admin\controller\merchant\system\merchant;
|
||||
|
||||
use think\facade\View;
|
||||
use think\exception\ValidateException;
|
||||
use think\facade\Request;
|
||||
use app\admin\BaseController;
|
||||
use app\common\model\merchant\system\serve\ServeOrder as ServeOrderModel;
|
||||
use app\common\model\merchant\user\UserBill as UserBillModel;
|
||||
use app\common\model\merchant\system\merchant\Merchant as MerchantModel;
|
||||
use think\facade\View;
|
||||
use think\exception\ValidateException;
|
||||
use think\facade\Request;
|
||||
use app\common\model\merchant\system\merchant\MerchantType;
|
||||
use app\common\model\merchant\system\merchant\MerchantCategory;
|
||||
|
||||
/**
|
||||
* 店铺保证金管理类
|
||||
@ -37,8 +39,19 @@ class MerchantMargin extends BaseController
|
||||
];
|
||||
}
|
||||
|
||||
public function Index()
|
||||
public function index(MerchantCategory $category, MerchantType $type)
|
||||
{
|
||||
// 商户分类
|
||||
$category = $category->select();
|
||||
|
||||
//审核
|
||||
// 店铺类弄
|
||||
$type = $type->select();
|
||||
// search
|
||||
|
||||
View::assign('category',$category);
|
||||
View::assign('type',$type);
|
||||
|
||||
return View($this->path['index']);
|
||||
}
|
||||
|
||||
@ -47,7 +60,7 @@ class MerchantMargin extends BaseController
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function Lst(ServeOrderModel $order)
|
||||
public function lst(ServeOrderModel $order)
|
||||
{
|
||||
$params = get_params();
|
||||
$page = empty($params['page'])? 1 : (int)$params['page'];
|
||||
|
@ -26,17 +26,18 @@ use app\validate\merchant\admin\MerchantTypeValidate;
|
||||
class MerchantType extends BaseController
|
||||
{
|
||||
protected $merchant;
|
||||
protected $path;
|
||||
protected $path = [
|
||||
'index' => 'merchant/system/merchant/type/index',
|
||||
'read' => 'merchant/system/merchant/type/read',
|
||||
'add' => 'merchant/system/merchant/type/add',
|
||||
'edit' => 'merchant/system/merchant/type/edit',
|
||||
'descr'=>'merchant/system/merchant/descr/index',
|
||||
'mark' => 'merchant/system/merchant/type/mark'
|
||||
];
|
||||
|
||||
public function __construct(MerchantTypeModel $merchant)
|
||||
{
|
||||
$this->merchant = $merchant;
|
||||
$this->path = [
|
||||
'index' => 'merchant/system/merchant/type/index',
|
||||
'read' => 'merchant/system/merchant/type/read',
|
||||
'add' => 'merchant/system/merchant/type/add',
|
||||
'edit' => 'merchant/system/merchant/type/edit'
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -50,46 +51,28 @@ class MerchantType extends BaseController
|
||||
/**
|
||||
* 添加/编辑 表单页
|
||||
*/
|
||||
public function Form(MenuModel $menu, FormatList $format)
|
||||
public function form(MenuModel $menu, FormatList $format)
|
||||
{
|
||||
$param = get_params();
|
||||
$id = isset($param['id']) ? (int)$param['id'] : 0;
|
||||
|
||||
$id = (int)get_params('id');
|
||||
if (!empty($id)) {
|
||||
// 进入编辑页,显示店铺数据
|
||||
$detail = $this->merchant->Find($id);
|
||||
$detail = $this->merchant->get($id);
|
||||
View::assign('id', $id);
|
||||
|
||||
}
|
||||
if (empty($detail)) {
|
||||
$detail = [
|
||||
"create_time" => '',
|
||||
"description" => '',
|
||||
"id" => '',
|
||||
"margin" => 0,
|
||||
"is_margin" => 0,
|
||||
"type_info" => '',
|
||||
"description" => '',
|
||||
"type_name" => '',
|
||||
"update_time" => ''
|
||||
];
|
||||
View::assign('detail', $detail);
|
||||
}
|
||||
|
||||
// 查出商户所有菜单数据权限 tree
|
||||
$data = $menu->getList([],1);
|
||||
|
||||
$checked_list = [];
|
||||
if (!empty($id) && $id>0) {
|
||||
// 获取已有菜单权限
|
||||
$checked_list = $this->merchant->getList(['mer_type_id'=>$id]);
|
||||
$detail = $this->merchant->getDetail($id);
|
||||
|
||||
// 给菜单权限附加选中状态
|
||||
foreach($data['list'] as $k=>$item) {
|
||||
foreach ($checked_list['list'] as $auth) {
|
||||
if (in_array($item['id'], $auth['auth_ids'])) {
|
||||
$data['list'][$k]['checked'] = true;
|
||||
$data['list'][$k]['spread'] = true;
|
||||
}
|
||||
if (in_array($item['id'], $detail['auth_ids'])) {
|
||||
$data['list'][$k]['checked'] = true;
|
||||
$data['list'][$k]['spread'] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -98,7 +81,6 @@ class MerchantType extends BaseController
|
||||
$treelist = $format->FormatCategory($data['list']);
|
||||
|
||||
View::assign('dataTree', $treelist);
|
||||
View::assign('detail', $detail);
|
||||
|
||||
$path = empty($id)?'add':'edit';
|
||||
|
||||
@ -110,7 +92,7 @@ class MerchantType extends BaseController
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function Lst()
|
||||
public function lst()
|
||||
{
|
||||
$param = get_params();
|
||||
$page = empty($param['page']) ? 1 : (int)$param['page'];
|
||||
@ -128,23 +110,14 @@ class MerchantType extends BaseController
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function Add()
|
||||
public function add()
|
||||
{
|
||||
$params = get_params();
|
||||
$data = get_params(['type_name','description','is_margin','margin','type_info','auth']);
|
||||
$data['auth'] = explode(',', $data['auth']);
|
||||
|
||||
$batch['type_name'] = $params['type_name'];
|
||||
$batch['description'] = $params['description'];
|
||||
$batch['is_margin'] = $params['is_margin'];
|
||||
$batch['margin'] = $params['margin'];
|
||||
$batch['type_info'] = $params['type_info'];
|
||||
$menu_ids = $params['auth'];
|
||||
$res = $this->merchant->add($this->getValidParams($data));
|
||||
|
||||
// 更新权限
|
||||
// $this->menu->update($menu_ids);
|
||||
|
||||
$rows = $this->merchant->Add($batch);
|
||||
|
||||
return $rows>0?to_assign(0, '操作成功'):to_assign(1, '操作失败');
|
||||
return $res['code']==0?to_assign(0, '操作成功'):to_assign(1, '操作失败');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -152,31 +125,27 @@ class MerchantType extends BaseController
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function Read()
|
||||
public function read()
|
||||
{
|
||||
$param = get_params();
|
||||
$id = isset($param['id']) ? (int)$param['id'] : 0;
|
||||
|
||||
// 获取店铺详情
|
||||
$detail = $this->merchant->getDetail($id);
|
||||
|
||||
|
||||
if (!empty($detail)) {
|
||||
// 查出商户所有菜单数据权限 tree
|
||||
$menu = app()->make(MenuModel::class);
|
||||
$data = $menu->getList([],1);
|
||||
|
||||
// 获取已有权限
|
||||
$checked_list = $this->merchant->getList(['mer_type_id'=>$id]);
|
||||
|
||||
// 给菜单权限附加选中状态
|
||||
$list = [];
|
||||
foreach($data['list'] as $k=>$item) {
|
||||
foreach ($checked_list['list'] as $auth) {
|
||||
if (in_array($item['id'], $auth['auth_ids'])) {
|
||||
if ($item['pid']>0 && $item['title']!='权限')
|
||||
$data['list'][$k]['checked'] = true;
|
||||
$data['list'][$k]['spread'] = true;
|
||||
array_push($list, $data['list'][$k]);
|
||||
}
|
||||
if (in_array($item['id'], $detail['auth_ids'])) {
|
||||
if ($item['pid']>0 && $item['title']!='权限')
|
||||
$data['list'][$k]['checked'] = true;
|
||||
$data['list'][$k]['spread'] = true;
|
||||
array_push($list, $data['list'][$k]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -196,14 +165,14 @@ class MerchantType extends BaseController
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function Edit()
|
||||
public function edit()
|
||||
{
|
||||
$id = (int)get_params('id');
|
||||
$data = get_params(['type_name', 'type_info', 'is_margin', 'margin', 'auth','description']);
|
||||
$data['auth'] = explode(',',$data['auth']);
|
||||
|
||||
// 检查id是否存在
|
||||
if (!$this->merchant->exist($id)) {
|
||||
if (!$this->merchant->isExist($id)) {
|
||||
return to_assign(1,'数据不存在');
|
||||
}
|
||||
|
||||
@ -234,7 +203,7 @@ class MerchantType extends BaseController
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function Del()
|
||||
public function del()
|
||||
{
|
||||
$param = get_params();
|
||||
if (empty($param['id'])) {
|
||||
@ -242,7 +211,7 @@ class MerchantType extends BaseController
|
||||
}
|
||||
$id = (int)$param['id'];
|
||||
|
||||
if (!$this->merchant->exist($id)) {
|
||||
if (!$this->merchant->isExist($id)) {
|
||||
return to_assign(1, '数据不存在');
|
||||
}
|
||||
|
||||
@ -255,18 +224,28 @@ class MerchantType extends BaseController
|
||||
/**
|
||||
* 店铺类型备注
|
||||
*/
|
||||
public function Mark()
|
||||
public function mark($id='')
|
||||
{
|
||||
$params = get_params();
|
||||
return to_assign(0, '');
|
||||
if (request()->isAjax()) {
|
||||
$id = (int)get_params('id');
|
||||
$data = get_params(['mark']);
|
||||
try{
|
||||
$b = $this->merchant->mark($id, $data);
|
||||
return to_assign(0, '操作成功');
|
||||
}catch(ValidateException $e){
|
||||
return to_assign(1, $e->getMessage());
|
||||
}
|
||||
}
|
||||
$info = $this->merchant->get($id);
|
||||
|
||||
return View($this->path['mark'], ['id'=>$id,'mark'=>$info['mark']]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 店铺类型说明
|
||||
* 店铺类型说明页
|
||||
*/
|
||||
public function Description()
|
||||
public function description()
|
||||
{
|
||||
View::assign('detail', []);
|
||||
return View('merchant/system/merchant/descr/index', ['id' => 1]);
|
||||
return View($this->path['descr'], ['id' => 1]);
|
||||
}
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ Route::group(function(){
|
||||
Route::delete('del', '/del')->name('systemMerchantTypeDelete')->option([
|
||||
'_alias' => '删除',
|
||||
]);
|
||||
Route::get('mark/:id', '/markForm')->name('systemMerchantTypeMarkForm')->option([
|
||||
Route::get('mark/:id', '/mark')->name('systemMerchantTypeMarkForm')->option([
|
||||
'_alias' => '备注',
|
||||
'_auth' => false,
|
||||
'_form' => 'systemMerchantTypeMark',
|
||||
|
@ -280,6 +280,7 @@
|
||||
// 日期范围
|
||||
layui.use(['laydate','table','element', 'jquery'], function () {
|
||||
var laydate = layui.laydate;
|
||||
|
||||
//日期范围
|
||||
laydate.render({
|
||||
elem: '#range_date'
|
||||
|
@ -15,29 +15,29 @@
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">选择时间</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-btn-group" id="witch_date">
|
||||
<button name="both" lay-submit="" lay-filter="searchform" type="button" class="layui-btn layui-btn-normal">全部</button>
|
||||
<button name="today" lay-submit="" lay-filter="searchform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">今天</button>
|
||||
<button name="yeserday" lay-submit="" lay-filter="searchform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">昨天</button>
|
||||
<button lay-submit="" lay-filter="searchform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">最近7天</button>
|
||||
<button lay-submit="" lay-filter="searchform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">最近30天</button>
|
||||
<button lay-submit="" lay-filter="searchform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">本月</button>
|
||||
<button lay-submit="" lay-filter="searchform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">本年</button>
|
||||
<div class="layui-btn-group">
|
||||
<input id="chonse_start_date" type="hidden" name="start_date" value="" readonly placeholder="选择时间">
|
||||
<input id="chonse_end_date" type="hidden" name="end_date" value="" readonly placeholder="选择时间">
|
||||
<button id="both" name="both" lay-submit="" lay-filter="chonse_date" type="button" class="layui-btn layui-btn-normal">全部</button>
|
||||
<button name="today" lay-submit="" lay-filter="chonse_date" type="button" class="layui-btn layui-btn-normal layui-btn-primary">今天</button>
|
||||
<button name="yeserday" lay-submit="" lay-filter="chonse_date" type="button" class="layui-btn layui-btn-normal layui-btn-primary">昨天</button>
|
||||
<button name="week" lay-submit="" lay-filter="chonse_date" type="button" class="layui-btn layui-btn-normal layui-btn-primary">最近7天</button>
|
||||
<button name="30day" lay-submit="" lay-filter="chonse_date" type="button" class="layui-btn layui-btn-normal layui-btn-primary">最近30天</button>
|
||||
<button name="month" lay-submit="" lay-filter="chonse_date" type="button" class="layui-btn layui-btn-normal layui-btn-primary">本月</button>
|
||||
<button name="year" lay-submit="" lay-filter="chonse_date" type="button" class="layui-btn layui-btn-normal layui-btn-primary">本年</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<!-- <label class="layui-form-label">日期范围</label> -->
|
||||
<div class="layui-inline" id="test6">
|
||||
<div class="layui-inline" id="range_date">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" autocomplete="off" name="start_date" id="test-startDate-1" class="layui-input"
|
||||
placeholder="开始日期">
|
||||
<input type="text" autocomplete="off" name="start_date" id="start-date" class="layui-input" placeholder="开始日期">
|
||||
</div>
|
||||
<div class="layui-form-mid">-</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" autocomplete="off" name="end_date" id="test-endDate-1" class="layui-input"
|
||||
placeholder="结束日期">
|
||||
<input type="text" autocomplete="off" name="end_date" id="end-date" class="layui-input" placeholder="结束日期">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -46,14 +46,14 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
|
||||
<div class="layui-inline" style="width:46%">
|
||||
<div class="layui-input-inline" style="width:45%;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">关键字</label>
|
||||
<div class="layui-input-block">
|
||||
<input style="width:80%;float:left" type="text" name="keywords" placeholder="请输入关键字"
|
||||
<div class="layui-input-block" style="display:flex">
|
||||
<input style="width:70%;float:left" type="text" name="keywords" placeholder="请输入关键字"
|
||||
class="layui-input" autocomplete="off" />
|
||||
<button class="layui-btn layui-btn-normal" style="width:20%" lay-submit=""
|
||||
lay-filter="searchform" type="button">提交搜索</button>
|
||||
<button class="layui-btn layui-btn-normal" lay-submit=""
|
||||
lay-filter="searchform">提交搜索</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -75,33 +75,29 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
|
||||
<div class="layui-input-inline" style="width:46%;">
|
||||
<div class="layui-input-inline" style="width:45%;float:none;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商户分类</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="category" lay-filter="searchform">
|
||||
<select name="category_id" lay-filter="seleform">
|
||||
<option value=""></option>
|
||||
<option value="0">写作</option>
|
||||
<option value="1">阅读</option>
|
||||
<option value="2">游戏</option>
|
||||
<option value="3">音乐</option>
|
||||
<option value="4">旅行</option>
|
||||
{volist name="category" key="k" id="vo"}
|
||||
<option value="{$vo.merchant_category_id}">{$vo.category_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-input-inline" style="width:35%;">
|
||||
<div class="layui-input-inline" style="width:45%;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">店铺类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="type" lay-filter="type">
|
||||
<select name="type_id" lay-filter="seleform">
|
||||
<option value=""></option>
|
||||
<option value="0">写作</option>
|
||||
<option value="1">阅读</option>
|
||||
<option value="2">游戏</option>
|
||||
<option value="3">音乐</option>
|
||||
<option value="4">旅行</option>
|
||||
{volist name="type" key="k" id="vo"}
|
||||
<option value="{$vo.mer_type_id}">{$vo.type_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -116,13 +112,10 @@
|
||||
|
||||
<label class="layui-form-label">保证金状态</label>
|
||||
<div class="layui-input-block">
|
||||
<select class="test_state" name="status" lay-filter="status">
|
||||
<select class="margin_state" name="margin_state" lay-filter="margin_state">
|
||||
<option value=""></option>
|
||||
<option value="0">写作</option>
|
||||
<option value="1">阅读</option>
|
||||
<option value="2">游戏</option>
|
||||
<option value="3">音乐</option>
|
||||
<option value="4">旅行</option>
|
||||
<option value="0">已付</option>
|
||||
<option value="1">未付</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@ -134,19 +127,18 @@
|
||||
<!-- change tab -->
|
||||
<div class="layui-form-item" id="refund_margin" style="display:none;">
|
||||
|
||||
<div class="layui-input-inline" style="width:46%;">
|
||||
<div class="layui-input-inline" style="width:45%;">
|
||||
<div class="layui-form-item">
|
||||
|
||||
<label class="layui-form-label">审核</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-btn-group">
|
||||
<button type="button" class="layui-btn layui-btn-normal">全部</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-primary">待审核</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-primary">已审核</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-primary">审核失败</button>
|
||||
<input type="hidden" id="status" name="status" value="" readonly placeholder="核审状态值">
|
||||
<button name="both" lay-submit="" lay-filter="statusform" type="button" class="layui-btn layui-btn-normal">全部</button>
|
||||
<button name="wait" lay-submit="" lay-filter="statusform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">待审核</button>
|
||||
<button name="success" lay-submit="" lay-filter="statusform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">审核通过</button>
|
||||
<button name="failed" lay-submit="" lay-filter="statusform" type="button" class="layui-btn layui-btn-normal layui-btn-primary">审核未通过</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -157,11 +149,8 @@
|
||||
<div class="layui-input-block">
|
||||
<select name="refund" lay-filter="refund">
|
||||
<option value=""></option>
|
||||
<option value="0">写作</option>
|
||||
<option value="1">阅读</option>
|
||||
<option value="2">游戏</option>
|
||||
<option value="3">音乐</option>
|
||||
<option value="4">旅行</option>
|
||||
<option value="0">未退回</option>
|
||||
<option value="1">已退回</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@ -390,13 +379,6 @@
|
||||
}
|
||||
};
|
||||
|
||||
//监听表头工具栏事件
|
||||
// table.on('toolbar(store_product)', function (obj) {
|
||||
// if (obj.event === 'add') {
|
||||
// tool.side("/admin/merchant/type/form");
|
||||
// return false;
|
||||
// }
|
||||
// });
|
||||
|
||||
//监听表格行工具事件
|
||||
table.on('tool(reduct_list)', function (obj) {
|
||||
@ -426,63 +408,24 @@
|
||||
});
|
||||
|
||||
|
||||
//监听搜索提交
|
||||
form.on('submit(searchform)', function(data) {
|
||||
console.log(data.elem.name, data.field)
|
||||
layui.pageTable.reload({
|
||||
where: {
|
||||
date:data.elem.name,
|
||||
...data.field
|
||||
},
|
||||
page: {
|
||||
curr: 1
|
||||
}
|
||||
});
|
||||
// layui.form.render();
|
||||
return false;
|
||||
});
|
||||
|
||||
form.on('select(searchform)', function(e) {
|
||||
let data = getformdata();
|
||||
layui.pageTable.reload({
|
||||
where: {
|
||||
...data
|
||||
},
|
||||
page: {
|
||||
curr: 1
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
//监听
|
||||
$('.test_state .layui-btn').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
// 日期范围
|
||||
layui.use(['laydate','element', 'jquery'],
|
||||
function () {
|
||||
var laydate = layui.laydate;
|
||||
var $ = layui.jquery,element = layui.element;
|
||||
|
||||
//日期范围
|
||||
laydate.render({
|
||||
elem: '#test6'
|
||||
elem: '#range_date'
|
||||
//设置开始日期、日期日期的 input 选择器
|
||||
//数组格式为 2.6.6 开始新增,之前版本直接配置 true 或任意分割字符即可
|
||||
, range: ['#test-startDate-1', '#test-endDate-1']
|
||||
, range: ['#start-date', '#end-date']
|
||||
,done: function(value, date, endDate){
|
||||
let data = getformdata()
|
||||
data.date = ''
|
||||
layui.pageTable.reload({
|
||||
where: {
|
||||
...data
|
||||
},
|
||||
page: {
|
||||
curr: 1
|
||||
}
|
||||
});
|
||||
switchDateForm(true);
|
||||
|
||||
$('#both').removeClass('layui-btn-primary')
|
||||
$('#both').siblings().addClass('layui-btn-primary')
|
||||
active['reload'] ? active['reload'].call(this) : '';
|
||||
}
|
||||
});
|
||||
|
||||
@ -508,14 +451,163 @@
|
||||
var othis = $(this), type = othis.data('type');
|
||||
active[type] ? active[type].call(this, othis) : '';
|
||||
});
|
||||
|
||||
|
||||
//监听button提交
|
||||
form.on('submit(searchform)', function(data) {
|
||||
layui.pageTable.reload({
|
||||
where: {
|
||||
...data.field
|
||||
},
|
||||
page: {
|
||||
curr: 1
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
form.on('select(searchform)', function(e) {
|
||||
let data = getformdata();
|
||||
layui.pageTable.reload({
|
||||
where: {
|
||||
...data
|
||||
},
|
||||
page: {
|
||||
curr: 1
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
//监听保证金状态select
|
||||
$('.margin_state .layui-btn').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
|
||||
//Hash地址的定位
|
||||
// var layid = location.hash.replace(/^#test=/, '');
|
||||
// element.tabChange('test', layid);
|
||||
//选择时间
|
||||
form.on('submit(chonse_date)', function(data){
|
||||
let start_date = '';
|
||||
let end_date = getDaysAgo();
|
||||
|
||||
let name = data.elem.name;
|
||||
if (name =='today') {
|
||||
start_date=end_date;
|
||||
end_date = getDaysAgo(-1);
|
||||
}else if(name == 'yeserday'){
|
||||
start_date = getDaysAgo(1);
|
||||
}else if(name == 'week'){
|
||||
start_date = getDaysAgo(7);
|
||||
}else if(name == '30day'){
|
||||
start_date = getDaysAgo(30);
|
||||
}else if(name == 'month'){
|
||||
let days = (new Date).getDate()-1
|
||||
start_date = getDaysAgo(days);
|
||||
}else if(name == 'year'){
|
||||
var year = (new Date()).getFullYear();//获取当前年份
|
||||
start_date = year+'-01-01'
|
||||
}else{
|
||||
end_date = '';
|
||||
}
|
||||
|
||||
switchClass(this)
|
||||
|
||||
switchDateForm(false);
|
||||
$('#chonse_start_date').val(start_date);
|
||||
$('#chonse_end_date').val(end_date);
|
||||
|
||||
active['reload'] ? active['reload'].call(this) : '';
|
||||
|
||||
return false;
|
||||
})
|
||||
|
||||
|
||||
// 商户审核
|
||||
form.on('submit(statusform)', function(data) {
|
||||
let name = data.elem.name
|
||||
let status = 0;
|
||||
|
||||
if (name=='wait') {
|
||||
status = 0;
|
||||
}else if(name=='success'){
|
||||
status = 1;
|
||||
}else if(name=='failed'){
|
||||
status = 2;
|
||||
}
|
||||
if (name=='both'){
|
||||
$('#status').attr('disabled', true);
|
||||
}else{
|
||||
$('#status').attr('disabled', false);
|
||||
}
|
||||
switchClass(this)
|
||||
$('#status').val(status);
|
||||
active['reload'] ? active['reload'].call(this) : '';
|
||||
return false;
|
||||
});
|
||||
|
||||
//监听select提交
|
||||
form.on('select(seleform)', function(data) {
|
||||
active['reload'] ? active['reload'].call(this) : '';
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// 切换button选中样式
|
||||
function switchClass(e)
|
||||
{
|
||||
$(e).removeClass('layui-btn-primary')
|
||||
$(e).siblings().addClass('layui-btn-primary')
|
||||
}
|
||||
|
||||
// 两个时间表单是互斥的,只能提交一个
|
||||
function switchDateForm(chonse=false)
|
||||
{
|
||||
let range = chonse?false:true;
|
||||
$('#start-date').attr("disabled",range);
|
||||
$('#end-date').attr("disabled",range);
|
||||
|
||||
$('#chonse_start_date').attr("disabled",chonse);
|
||||
$('#chonse_end_date').attr("disabled",chonse);
|
||||
if (chonse) {
|
||||
$('#chonse_start_date').val("");
|
||||
$('#chonse_end_date').val("");
|
||||
}else{
|
||||
$('#start-date').val("");
|
||||
$('#end-date').val("");
|
||||
}
|
||||
}
|
||||
|
||||
//获取n天以前日期
|
||||
function getDaysAgo(n=0) {
|
||||
let myDate = new Date();
|
||||
let lw = new Date(myDate - 1000 * 60 * 60 * 24 * n); //最后一个数字30可改,n天前的意思
|
||||
let lastY = lw.getFullYear();
|
||||
let lastM = lw.getMonth() + 1;
|
||||
let lastD = lw.getDate();
|
||||
lastM = lastM < 10 ? "0" + lastM : lastM;
|
||||
lastD = lastD < 10 ? "0" + lastD : lastD;
|
||||
let startData = lastY+"-"+lastM+"-" +lastD; //n天之前日期
|
||||
|
||||
return startData;
|
||||
}
|
||||
|
||||
// 获取表单所有参数
|
||||
function getformdata() {
|
||||
var form = $('#filterform').serializeArray();
|
||||
var data = new Array();
|
||||
for(let i=0;i<form.length; i++){
|
||||
data[form[i].name] = form[i].value;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
@ -37,15 +37,15 @@
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="is_margin" value="1" title="有" checked="{$detail.is_margin}">
|
||||
<input type="radio" name="is_margin" value="0" title="无" checked="{$detail.is_margin}">
|
||||
<input lay-filter="is_margin"type="radio" name="is_margin" value="1" title="有" {if $detail.is_margin == 1}checked{/if}>
|
||||
<input lay-filter="is_margin" type="radio" name="is_margin" value="0" title="无" {if $detail.is_margin == 0}checked{/if}>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="text" name="margin" lay-verify="required" lay-reqText="0" autocomplete="off" placeholder="0" class="layui-input" value="{$detail.margin}">
|
||||
<input id="margin" type="text" name="margin" lay-verify="required" lay-reqText="0" autocomplete="off" placeholder="0" class="layui-input" value="{$detail.margin}">
|
||||
</td>
|
||||
<td colspan="5">单位:元</td>
|
||||
</tr>
|
||||
@ -116,14 +116,34 @@
|
||||
// }
|
||||
});
|
||||
|
||||
let tval = '';
|
||||
form.on('radio(is_margin)', (data)=>{
|
||||
if (data.value>0) {
|
||||
$('#margin').val(tval);
|
||||
$('#margin').attr({'disabled':false});
|
||||
}else{
|
||||
tval = $('#margin').val();
|
||||
$('#margin').val('');
|
||||
$('#margin').attr('disabled',true);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
// data.field.content = tinyMCE.editors['container_content'].getContent();
|
||||
if (data.field == '') {
|
||||
layer.msg('请先完善店铺类型');
|
||||
return false;
|
||||
}
|
||||
if (data.field.is_margin) {
|
||||
if (data.field.margin <1) {
|
||||
layer.msg('请输入店铺压金');
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
data.field.margin = ''
|
||||
}
|
||||
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
|
@ -16,6 +16,7 @@
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="read">查看</a>
|
||||
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
||||
<a class="layui-btn layui-btn-xs" lay-event="mark">备注</a>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
@ -125,22 +126,11 @@
|
||||
tool.delete("/admin/merchant/type/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}else if (obj.event == 'mark'){
|
||||
tool.side('/admin/merchant/type/mark/'+obj.data.id, {mark:obj.data.mark});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
//监听搜索提交
|
||||
// form.on('submit(searchform)', function(data) {
|
||||
// layui.pageTable.reload({
|
||||
// where: {
|
||||
// keywords: data.field.keywords
|
||||
// },
|
||||
// page: {
|
||||
// curr: 1
|
||||
// }
|
||||
// });
|
||||
// return false;
|
||||
// });
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
|
64
app/admin/view/merchant/system/merchant/type/mark.html
Normal file
64
app/admin/view/merchant/system/merchant/type/mark.html
Normal file
@ -0,0 +1,64 @@
|
||||
{extend name="common/base"/}
|
||||
{block name="style"}
|
||||
<style type="text/css">
|
||||
.editormd-code-toolbar select {display: inline-block}
|
||||
.editormd li {list-style: inherit;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td colspan="6" class="layui-td-gray" style="text-align:center">
|
||||
<h3>备注</h3>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<textarea name="mark" class="layui-textarea" id="container_content">{$mark}
|
||||
</textarea>
|
||||
<input name="id" value="{$id}" type="hidden" readonly>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<div class="pt-3" style="text-align: center;">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script src="/static/assets/js/xm-select.js"></script>
|
||||
<script>
|
||||
var moduleInit = ['tool', 'tagpicker', 'tinymce'];
|
||||
var group_access = "{:session('gougu_admin')['group_access']}"
|
||||
function gouguInit() {
|
||||
var form =layui.form, tool = layui.tool
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
|
||||
if (data.field == '') {
|
||||
layer.msg('请先完善文章内容');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.tabRefresh(71);
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
tool.post('/admin/merchant/type/mark/'+data.field.id, data.field, callback);
|
||||
return false;
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -56,9 +56,9 @@ class MerchantType extends Model
|
||||
*
|
||||
* @return array|object
|
||||
*/
|
||||
function getList($where=[], ?int $page=NULL, ?int $limit=NULL)
|
||||
public function getList($where=[], ?int $page=NULL, ?int $limit=NULL)
|
||||
{
|
||||
$query = $this->search($where)->with(['auth']);
|
||||
$query = $this->search($where)->withJoin(['auth']);
|
||||
$count = $query->count();
|
||||
$list = $query->when(isset($page)&&$page!=''&& isset($limit) && $limit!='',
|
||||
function($query)use($page,$limit){
|
||||
@ -74,39 +74,29 @@ class MerchantType extends Model
|
||||
return compact('count', 'list');
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询店铺类型表 [全表扫描或指定id]
|
||||
* @param array $where 条件
|
||||
* @return Query
|
||||
*/
|
||||
protected function search(array $where = [])
|
||||
{
|
||||
return MerchantType::when(
|
||||
isset($where['mer_type_id']) && $where['mer_type_id'] !== '',
|
||||
function($query) use($where){
|
||||
$query->where('mer_type_id',$where['mer_type_id']);
|
||||
}
|
||||
)->field('type_name,type_info,mer_type_id as id,mer_type_id,mark,margin,is_margin,description,update_time,create_time');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询指定店铺类型数据
|
||||
* 查询指定店铺类型与相关权限数据
|
||||
*
|
||||
* @param int $page 过滤字段条件
|
||||
* @param int $limit 菜单类型: 0商城平台菜单 1商户菜单
|
||||
*
|
||||
* @return array|object
|
||||
*/
|
||||
function getDetail(int $id)
|
||||
public function getDetail(int $id)
|
||||
{
|
||||
if (empty($id)) {
|
||||
throw new ValidateException('未传递参数');
|
||||
return [];
|
||||
}
|
||||
$row = self::search(['mer_type_id'=>$id])->find();
|
||||
|
||||
return $row;
|
||||
$row = self::search(['mer_type_id'=>$id])->withJoin(['auth'])->select();
|
||||
foreach($row as $v) {
|
||||
$v['auth_ids'] = array_column($v['auth']->toArray(), 'right_id');
|
||||
unset($v['auth']);
|
||||
}
|
||||
|
||||
return $row[0];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -117,23 +107,35 @@ class MerchantType extends Model
|
||||
*
|
||||
* @return array|object
|
||||
*/
|
||||
function Add(array $set_data) {
|
||||
if (empty($set_data['type_name'])) {
|
||||
return 0;
|
||||
public function add(array $data) {
|
||||
Db::startTrans();
|
||||
try{
|
||||
$auth = array_filter(array_unique($data['auth']));
|
||||
unset($data['auth']);
|
||||
$type = MerchantType::create($data);
|
||||
$inserts = [];
|
||||
foreach ($auth as $id) {
|
||||
$inserts[] = [
|
||||
'left_id' => $type->mer_type_id,
|
||||
'right_id' => (int)$id,
|
||||
'type' => Relevance::TYPE_MERCHANT_AUTH
|
||||
];
|
||||
}
|
||||
$b = app()->make(Relevance::class)->batchInsert($inserts);
|
||||
if (empty($type)){
|
||||
Db::rollback();
|
||||
throw new DbException('添加店铺类型失败');
|
||||
}else if(empty($b)){
|
||||
Db::rollback();
|
||||
throw new DbException('添加店铺类型权限失败');
|
||||
}
|
||||
$res = ['code'=>0,'msg'=>'success'];
|
||||
}catch(DbException $e){
|
||||
Db::rollback();
|
||||
$res = ['code'=>1,'msg'=>$e->getMessage()];
|
||||
}
|
||||
$batch['type_name'] = $set_data['type_name'];
|
||||
$batch['description'] = empty($set_data['description'])?"":$set_data['description'];
|
||||
$batch['is_margin'] = empty($set_data['is_margin']);
|
||||
if (!empty($set_data['is_margin'])) {
|
||||
$batch['margin'] = empty($set_data['margin'])?0:$set_data['margin'];
|
||||
}
|
||||
$batch['type_info'] = empty($set_data['type_info'])?'':$set_data['type_info'];
|
||||
$batch['create_time'] = date('Y-m-d H:i:s',time());
|
||||
$batch['update_time'] = date('Y-m-d H:i:s',time());
|
||||
|
||||
$rows = self::insert($batch);
|
||||
|
||||
return $rows;
|
||||
return $res;
|
||||
}
|
||||
|
||||
|
||||
@ -188,19 +190,17 @@ class MerchantType extends Model
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新店铺类型表数据
|
||||
*
|
||||
* @param int $id
|
||||
* @param array $data
|
||||
* @return int
|
||||
* @throws DbException
|
||||
* 更新店铺类型备注
|
||||
*/
|
||||
protected function updateMarchantType(int $id, array $data)
|
||||
public function mark(int $id, array $data)
|
||||
{
|
||||
return self::where($this->getPk(), $id)->update($data);
|
||||
if (!$this->isExist($id))
|
||||
throw new ValidateException("ID为{$id}的数据不存在");
|
||||
return $this->updateMarchantType($id, $data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 删除指定店铺类型数据
|
||||
*
|
||||
@ -244,8 +244,39 @@ class MerchantType extends Model
|
||||
/**
|
||||
* 是否存在
|
||||
*/
|
||||
public function exist(int $id)
|
||||
public function isExist(int $id)
|
||||
{
|
||||
return self::find($id)->count();
|
||||
return self::where($this->getPk(),$id)->count();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询店铺类型表 [全表扫描或指定id]
|
||||
* @param array $where 条件
|
||||
* @return Query
|
||||
*/
|
||||
protected function search(array $where = [])
|
||||
{
|
||||
return MerchantType::when(
|
||||
isset($where['mer_type_id']) && $where['mer_type_id'] !== '',
|
||||
function($query) use($where){
|
||||
$query->where('mer_type_id',$where['mer_type_id']);
|
||||
}
|
||||
)->field('type_name,type_info,mer_type_id as id,mer_type_id,mark,margin,is_margin,description,update_time,create_time');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新店铺类型表数据
|
||||
*
|
||||
* @param int $id
|
||||
* @param array $data
|
||||
* @return int
|
||||
* @throws DbException
|
||||
*/
|
||||
protected function updateMarchantType(int $id, array $data)
|
||||
{
|
||||
return self::where($this->getPk(), $id)->update($data);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user