创建版本
This commit is contained in:
@@ -0,0 +1,243 @@
|
||||
<style>
|
||||
.content-body {
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="vue-app">
|
||||
<div class="form-panel">
|
||||
<div class="form-panel-header">
|
||||
<div class="pull-right"></div>
|
||||
@if(isset($access['audit']))
|
||||
<div class="btn-group">
|
||||
<button type="button" data-toggle="audit-checkall" class="btn btn-sm btn-default"><i class="fa fa-check-square"></i> 全选</button>
|
||||
<button class="btn btn-sm btn-default" data-toggle="dropdown"><i class="fa fa-navicon"></i> 批量操作 <span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a data-toggle="audit-stores" data-value="0">未审核</a></li>
|
||||
<li><a data-toggle="audit-stores" data-value="1">已审合格</a></li>
|
||||
<li><a data-toggle="audit-stores" data-value="2">已审不合格</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<button type="button" data-toggle="audit-download" class="btn btn-sm btn-info">
|
||||
<i class="fa fa-cloud-download"></i> 批量下载
|
||||
</button>
|
||||
@endif
|
||||
|
||||
<div class="btn-group hidden-xs">
|
||||
<a class="btn btn-sm btn-default" data-toggle="closetab" data-id="promotion_material_show"><i class="fa fa-sign-out"></i> 退出</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-panel-body panel-form-show">
|
||||
|
||||
<form class="form-horizontal form-controller" method="post" id="promotion" name="promotion">
|
||||
|
||||
<div style="background-color:#fff">
|
||||
<div class="panel-heading text-center b-b">
|
||||
<h3 class="m-xs m-l-none">
|
||||
{{$promotion->sn}}
|
||||
</h3>
|
||||
<small>
|
||||
客户: {{$promotion->customer->name}}
|
||||
|
||||
创建时间: @datetime($promotion['created_at'])
|
||||
|
||||
门店数量(未审核:{{(int)$audits[0]}} / 已审合格:{{(int)$audits[1]}} / 已审不合格:{{(int)$audits[2]}})
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="padder m-t">
|
||||
<div class="row" id="stores">
|
||||
@foreach($rows as $i => $row)
|
||||
<div class="col-sm-4 col-md-3 m-b">
|
||||
<div class="panel b-a">
|
||||
<div class="panel-heading">
|
||||
<div class="m-t-xs">
|
||||
<span class="pull-right">
|
||||
<div class="btn-group">
|
||||
@if(isset($access['audit']))
|
||||
<button class="btn btn-xs audit-{{$row['id']}} btn-{{$changes[$row['status']]['btn']}}" data-toggle="dropdown">{{$changes[$row['status']]['text']}} <span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a data-toggle="audit-store" data-id="{{$row['id']}}" data-value="0">未审核</a></li>
|
||||
<li><a data-toggle="audit-store" data-id="{{$row['id']}}" data-value="1">已审合格</a></li>
|
||||
<li><a data-toggle="audit-store" data-id="{{$row['id']}}" data-value="2">已审不合格</a></li>
|
||||
</ul>
|
||||
@else
|
||||
<span class="label label-{{$changes[$row['status']]['btn']}}">{{$changes[$row['status']]['text']}}</span>
|
||||
@endif
|
||||
</div>
|
||||
</span>
|
||||
@if(isset($access['audit']))
|
||||
<label class="i-checks">
|
||||
<input type="checkbox" name="stores[]" value="{{$row['id']}}"><i></i>
|
||||
{{$row['name']}}
|
||||
</label>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center wrapper">
|
||||
<a href="javascript:;" style="height:220px;">
|
||||
<img style="width:100%;height:220px;" alt="店名:{{$row['name']}}, 位置:{{$row['location']}}" lay-src="{{$row['images'][0]['url']}}">
|
||||
<span style="display:none;">
|
||||
@foreach($row['images'] as $image)
|
||||
<img data-original="{{$image['url']}}" alt="店名:{{$row['name']}}, 位置:{{$row['location']}}" lay-src="{{$row['images'][0]['url']}}">
|
||||
@endforeach
|
||||
</span>
|
||||
|
||||
<div class="red m-t-xs">点击查看更多照片({{count($row['images'])}})</div>
|
||||
</a>
|
||||
</div>
|
||||
<ul class="list-group no-radius">
|
||||
<li class="list-group-item">
|
||||
<div class="text-left">
|
||||
<div>店名:{{$row['name']}}</div>
|
||||
<div>位置:{{$row['location']}}</div>
|
||||
<div>提交人:{{$row['created_by']}}</div>
|
||||
<div>时间:@datetime($row['created_at'])</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<link href="{{$asset_url}}/vendor/layui/css/layui.css" rel="stylesheet">
|
||||
<script src="{{$asset_url}}/vendor/layui/layui.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var changes = JSON.parse('{{json_encode($changes)}}');
|
||||
var items = JSON.parse('{{json_encode($items)}}');
|
||||
|
||||
var vue = new Vue({
|
||||
el: '#vue-app',
|
||||
data: {
|
||||
viewerData: [{
|
||||
url: '',
|
||||
name: ''
|
||||
}],
|
||||
},
|
||||
methods: {},
|
||||
mounted() {
|
||||
var galley_id = "stores";
|
||||
var galley = document.getElementById(galley_id);
|
||||
var viewer = new Viewer(galley, {
|
||||
navbar: false,
|
||||
url: "data-original",
|
||||
});
|
||||
vueMounted();
|
||||
}
|
||||
});
|
||||
|
||||
function vueMounted() {
|
||||
layui.use('flow', function() {
|
||||
var flow = layui.flow;
|
||||
flow.lazyimg();
|
||||
});
|
||||
|
||||
// 门店审核
|
||||
$('[data-toggle="audit-store"]').on('click', function(e) {
|
||||
var data = $(this).data();
|
||||
var obj = $('.audit-' + data.id);
|
||||
obj.removeClass('btn-default btn-success btn-danger');
|
||||
|
||||
var change = changes[data.value];
|
||||
obj.html(change.text + ' <span class="caret"></span>');
|
||||
obj.addClass('btn-' + change.btn);
|
||||
|
||||
$.post('{{url("audit")}}', {
|
||||
id: [data.id],
|
||||
status: data.value
|
||||
}, function(res) {
|
||||
if (res.status) {
|
||||
$.toastr('success', res.data);
|
||||
} else {
|
||||
$.toastr('error', res.data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 批量操作
|
||||
$('[data-toggle="audit-stores"]').on('click', function(e) {
|
||||
var data = $(this).data();
|
||||
var ids = [];
|
||||
$('#stores').find("input[type='checkbox']:checked").each(function() {
|
||||
ids.push($(this).val());
|
||||
});
|
||||
|
||||
if (ids.length == 0) {
|
||||
$.toastr('error', '门店没有选择。');
|
||||
return;
|
||||
}
|
||||
|
||||
$.post('{{url("audit")}}', {
|
||||
id: ids,
|
||||
status: data.value
|
||||
}, function(res) {
|
||||
if (res.status) {
|
||||
$.each(ids, function(k, v) {
|
||||
var change = changes[data.value];
|
||||
var obj = $('.audit-' + v);
|
||||
obj.html(change.text + ' <span class="caret"></span>');
|
||||
obj.removeClass('btn-default btn-success btn-danger');
|
||||
obj.addClass('btn-' + change.btn);
|
||||
});
|
||||
$.toastr('success', res.data);
|
||||
} else {
|
||||
$.toastr('error', res.data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 批量下载
|
||||
$('[data-toggle="audit-download"]').on('click', function(e) {
|
||||
var data = $(this).data();
|
||||
var ids = [];
|
||||
$('#stores').find("input[type='checkbox']:checked").each(function() {
|
||||
ids.push($(this).val());
|
||||
});
|
||||
|
||||
if (ids.length == 0) {
|
||||
$.toastr('error', '门店没有选择。');
|
||||
return;
|
||||
}
|
||||
|
||||
var index = layer.msg('照片压缩中...', {
|
||||
icon: 16,
|
||||
shade: 0.1,
|
||||
time: 6000 * 10
|
||||
});
|
||||
$.post('{{url("archive")}}', {
|
||||
id: ids
|
||||
}, function(res) {
|
||||
layer.close(index);
|
||||
if (res.status) {
|
||||
$.messager.alert('照片下载', '<div class="text-center"><a href="' + app.url('promotion/material/download', {
|
||||
sn: '{{$promotion->sn}}'
|
||||
}) + '">点击下载核销照片</a></div>');
|
||||
} else {
|
||||
$.toastr('error', res.data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 全选
|
||||
$('[data-toggle="audit-checkall"]').on('click', function(e) {
|
||||
$('#stores').find("input[type='checkbox']").each(function() {
|
||||
if ($(this).prop('checked')) {
|
||||
$(this).prop('checked', false);
|
||||
} else {
|
||||
$(this).prop('checked', true);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,82 @@
|
||||
{{$header["js"]}}
|
||||
|
||||
<div class="panel no-border" id="{{$header['master_table']}}-controller">
|
||||
@include('headers')
|
||||
<div class='list-jqgrid'>
|
||||
<div id="{{$header['master_table']}}-grid" style="width:100%;" class="ag-theme-balham"></div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function ($) {
|
||||
var table = '{{$header["master_table"]}}';
|
||||
var config = gdoo.grids[table];
|
||||
var action = config.action;
|
||||
var search = config.search;
|
||||
|
||||
action.dialogType = 'layer';
|
||||
|
||||
action.fee_detail = function(data) {
|
||||
viewDialog({
|
||||
title: '兑现明细',
|
||||
dialogClass: 'modal-md',
|
||||
url: app.url('promotion/review/feeDetail', {id: data.master_id}),
|
||||
close: function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
action.product = function(data) {
|
||||
viewDialog({
|
||||
title: '产品明细',
|
||||
dialogClass: 'modal-md',
|
||||
url: app.url('promotion/promotion/product', {id: data.master_id}),
|
||||
close: function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 自定义搜索方法
|
||||
search.searchInit = function (e) {
|
||||
var self = this;
|
||||
}
|
||||
|
||||
var options = new agGridOptions();
|
||||
var gridDiv = document.querySelector("#{{$header['master_table']}}-grid");
|
||||
gridDiv.style.height = getPanelHeight(48);
|
||||
|
||||
options.remoteDataUrl = '{{url()}}';
|
||||
options.remoteParams = search.advanced.query;
|
||||
options.columnDefs = config.cols;
|
||||
// options.autoColumnsToFit = false;
|
||||
options.onRowDoubleClicked = function (params) {
|
||||
if (params.node.rowPinned) {
|
||||
return;
|
||||
}
|
||||
if (params.data == undefined) {
|
||||
return;
|
||||
}
|
||||
if (params.data.promotion_id > 0) {
|
||||
top.addTab('promotion/material/detail?promotion_id=' + params.data.promotion_id, 'promotion_material_show', '促销资料');
|
||||
}
|
||||
};
|
||||
|
||||
new agGrid.Grid(gridDiv, options);
|
||||
|
||||
// 读取数据
|
||||
options.remoteData({page: 1});
|
||||
|
||||
// 绑定自定义事件
|
||||
var $gridDiv = $(gridDiv);
|
||||
$gridDiv.on('click', '[data-toggle="event"]', function () {
|
||||
var data = $(this).data();
|
||||
if (data.master_id > 0) {
|
||||
action[data.action](data);
|
||||
}
|
||||
});
|
||||
config.grid = options;
|
||||
})(jQuery);
|
||||
|
||||
</script>
|
||||
@include('footers')
|
||||
@@ -0,0 +1,30 @@
|
||||
<form id="search-form" class="form-inline" name="mysearch" action="{{url()}}" method="get">
|
||||
|
||||
<div class="pull-right">
|
||||
@if(isset($access['delete']))
|
||||
<a class="btn btn-sm btn-danger" href="javascript:optionDelete('#myform','{{url('delete')}}');"><i class="icon icon-remove"></i> 删除</a>
|
||||
@endif
|
||||
</div>
|
||||
<!--
|
||||
@if(isset($access['audit']))
|
||||
@if($search['query']['status'] == 1)
|
||||
<a class="btn btn-sm btn-info" href="javascript:optionDelete('#myform','{{url('audit')}}', '确定要反审核吗');"><i class="icon icon-ban-circle"></i> 反审核</a>
|
||||
@else
|
||||
<a class="btn btn-sm btn-info" href="javascript:optionDelete('#myform','{{url('audit')}}', '确定要审核吗');"><i class="icon icon-ok"></i> 审核</a>
|
||||
@endif
|
||||
@endif
|
||||
-->
|
||||
@include('searchForm')
|
||||
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$('#search-form').searchForm({
|
||||
data: {{json_encode($search['forms'])}},
|
||||
init: function(e) {
|
||||
var me = this;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,19 @@
|
||||
<div class="panel" style="box-shadow:none">
|
||||
<div class="panel-heading b-b b-light text-center">
|
||||
<h4 class="m-xs m-l-none">{{$row['name']}}</h4>
|
||||
<small class="text-muted">位置: {{$row['location']}}</small>
|
||||
</div>
|
||||
<div class="panel-body text-base">
|
||||
<div class="table-responsive">
|
||||
<table class="m-b-none">
|
||||
@foreach($row['images'] as $image)
|
||||
<tr>
|
||||
<td>
|
||||
<div class="text-center"><img src="{{$upload_url}}/{{$image['path']}}" max-width="100%" /></div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user