hujiao-gui/resources/views/admin/task/index.blade.php

199 lines
8.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@extends('admin.base')
@section('content')
<div class="layui-card">
<div class="layui-card-header layuiadmin-card-header-auto">
<div class="layui-btn-group">
<button class="layui-btn layui-btn-sm layui-btn-danger" id="listDelete"> </button>
<button class="layui-btn layui-btn-sm layui-btn-danger" id="setStatus1"> </button>
<button class="layui-btn layui-btn-sm" id="setStatus2"> </button>
<a class="layui-btn layui-btn-sm" href="{{ route('admin.task.create') }}"> </a>
<a class="layui-btn layui-btn-sm" href="/static/outgoing.csv">模板下载</a>
</div>
</div>
<div class="layui-card-body">
<table id="dataTable" lay-filter="dataTable"></table>
<script type="text/html" id="options">
<div class="layui-btn-group">
<a class="layui-btn layui-btn-sm" lay-event="import">导入号码</a>
<a class="layui-btn layui-btn-sm" lay-event="show">详情</a>
<a class="layui-btn layui-btn-sm" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-sm " lay-event="del">删除</a>
</div>
</script>
<script type="text/html" id="status">
@{{# if(d.status==1){ }}
<span class="layui-badge-dot" style="background-color: red;"></span> 停止
@{{# } else if(d.status==2){ }}
<span class="layui-badge-dot" style="background-color: green;"></span> 启动
@{{# } else if(d.status==3){ }}
<span class="layui-badge-dot layui-bg-black"></span> 已完成
@{{# } }}
</script>
<script type="text/html" id="import-html">
<div style="padding:20px">
<div class="layui-form">
<div class="layui-form-item">
<label for="" class="layui-form-label">文件</label>
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" id="uploadBtn">
<i class="layui-icon">&#xe67c;</i>点击选择
</button>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" id="importBtn">确认导入</button>
</div>
</div>
</div>
</script>
</div>
</div>
@endsection
@section('script')
<script>
layui.use(['layer','table','form','upload'],function () {
var layer = layui.layer;
var form = layui.form;
var table = layui.table;
var upload = layui.upload;
//用户表格初始化
var dataTable = table.render({
elem: '#dataTable'
,height: 500
,url: "{{ route('admin.task.data') }}" //数据接口
,page: true //开启分页
,cols: [[ //表头
{checkbox: true,fixed: true}
,{field: 'id', title: 'ID', sort: true,width:80}
,{field: 'name', title: '名称'}
,{field: 'datetime_start', title: '开始时间',width: 160}
,{field: 'datetime_end', title: '结束时间',width: 160}
,{field: 'gateway_name', title: '网关'}
,{field: 'queue_name', title: '队列'}
,{field: 'max_channel', title: '并发'}
,{field: 'status', title: '状态', toolbar: '#status'}
,{field: 'created_at', title: '添加时间',width: 160}
,{fixed: 'right', width: 240, align:'center', toolbar: '#options', title:'操作'}
]]
});
//监听工具条
table.on('tool(dataTable)', function(obj){ //注tool是工具条事件名dataTable是table原始容器的属性 lay-filter="对应的值"
var data = obj.data //获得当前行数据
,layEvent = obj.event; //获得 lay-event 对应的值
if(layEvent === 'del'){
layer.confirm('确认删除吗?', function(index){
$.post("{{ route('admin.task.destroy') }}",{_method:'delete',ids:[data.id]},function (result) {
if (result.code==0){
obj.del(); //删除对应行tr的DOM结构
}
layer.close(index);
var icon = result.code==0?6:5;
layer.msg(result.msg,{icon:icon})
});
});
} else if(layEvent === 'edit'){
location.href = '/admin/task/'+data.id+'/edit';
} else if(layEvent === 'import'){
layer.open({
type : 1,
title : '导入号码',
shadeClose : true,
area : ['500px','auto'],
content : $("#import-html").html()
});
upload.render({
elem: '#uploadBtn'
,url: '/admin/task/'+data.id+'/importCall'
,auto: false
,multiple: false
,accept: 'file'
,exts: 'csv'
,bindAction: '#importBtn'
,before: function(obj){
layer.load();
}
,done: function(res){
layer.closeAll('loading');
layer.msg(res.msg,{},function() {
if (res.code==0){
layer.closeAll();
dataTable.reload()
}
})
}
});
} else if(layEvent === 'show'){
location.href = '/admin/task/'+data.id+'/show';
}
});
//按钮批量删除
$("#listDelete").click(function () {
var ids = []
var hasCheck = table.checkStatus('dataTable')
var hasCheckData = hasCheck.data
if (hasCheckData.length>0){
$.each(hasCheckData,function (index,element) {
ids.push(element.id)
})
}
if (ids.length>0){
layer.confirm('确认删除吗?', function(index){
$.post("{{ route('admin.task.destroy') }}",{_method:'delete',ids:ids},function (result) {
if (result.code==0){
dataTable.reload()
}
layer.close(index);
var icon = result.code==0?6:5;
layer.msg(result.msg,{icon:icon})
});
})
}else {
layer.msg('请选择删除项',{icon:5})
}
})
function setStatus(msg,status) {
var ids = []
var hasCheck = table.checkStatus('dataTable')
var hasCheckData = hasCheck.data
if (hasCheckData.length>0){
$.each(hasCheckData,function (index,element) {
ids.push(element.id)
})
}
if (ids.length>0){
layer.confirm(msg, function(index){
$.post("{{ route('admin.task.setStatus') }}",{ids:ids,status:status},function (result) {
if (result.code==0){
dataTable.reload()
}
layer.close(index);
var icon = result.code==0?6:5;
layer.msg(result.msg,{icon:icon})
});
})
}else {
layer.msg('请选择操作项',{icon:5})
}
}
//停止
$("#setStatus1").click(function () {
setStatus('确认停止吗?',1);
});
//启动
$("#setStatus2").click(function () {
setStatus('确认启动吗?',2);
});
})
</script>
@endsection