待分配库添加

This commit is contained in:
老李 2021-03-22 23:17:17 +08:00
parent 983ceb39c3
commit 3989897799
17 changed files with 302 additions and 243 deletions

View File

@ -10,6 +10,7 @@ use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Facades\Storage;
class ApiController extends Controller
{
@ -18,18 +19,18 @@ class ApiController extends Controller
$role_id = $request->input('role_id');
$role = null;
$checkedIds = [];
if ($role_id){
$role = Role::query()->where('id',$role_id)->first();
if ($role_id) {
$role = Role::query()->where('id', $role_id)->first();
}
$permissions = Permission::query()->orderByDesc('id')->get();
foreach ($permissions as $permission){
if ($role != null){
if ($role->hasPermissionTo($permission)){
array_push($checkedIds,$permission->id);
foreach ($permissions as $permission) {
if ($role != null) {
if ($role->hasPermissionTo($permission)) {
array_push($checkedIds, $permission->id);
}
}
}
return $this->success('ok',['trees' => $permissions,'checkedId'=>$checkedIds]);
return $this->success('ok', ['trees' => $permissions, 'checkedId' => $checkedIds]);
}
public function getRoleByUserId(Request $request)
@ -37,18 +38,18 @@ class ApiController extends Controller
$data = [];
$user_id = $request->input('user_id');
$user = null;
if ($user_id){
$user = User::query()->where('id',$user_id)->first();
if ($user_id) {
$user = User::query()->where('id', $user_id)->first();
}
$roles = Role::query()->orderByDesc('id')->get();
foreach ($roles as $role){
array_push($data,[
foreach ($roles as $role) {
array_push($data, [
'name' => $role->display_name,
'value' => $role->id,
'selected' => $user != null && $user->hasRole($role),
]);
}
return $this->success('ok',$data);
return $this->success('ok', $data);
}
public function getDepartmentByUserId(Request $request)
@ -56,16 +57,16 @@ class ApiController extends Controller
$data = [];
$user_id = $request->input('user_id');
$user = null;
if ($user_id){
$user = User::query()->where('id',$user_id)->first();
if ($user_id) {
$user = User::query()->where('id', $user_id)->first();
}
$departments = Department::query()->orderByDesc('id')->get();
foreach ($departments as $d){
foreach ($departments as $d) {
$d->value = $d->id;
$d->selected = $user != null && $user->department_id == $d->id;
}
$data = recursive($departments);
return $this->success('ok',$data);
return $this->success('ok', $data);
}
/**
@ -79,11 +80,11 @@ class ApiController extends Controller
$user_id = $request->input('user_id');
$callee = $request->input('callee');
$user_data = $request->input('user_data');
$user = User::query()->with('sip')->where('id','=',$user_id)->first();
if ($user->sip == null){
$user = User::query()->with('sip')->where('id', '=', $user_id)->first();
if ($user->sip == null) {
return $this->error('用户未分配外呼号');
}
if ($user->sip->status != 1){
if ($user->sip->status != 1) {
return $this->error('用户外呼号未在线');
}
try {
@ -100,15 +101,55 @@ class ApiController extends Controller
'user_data' => $user_data,
'gateway_id' => $user->sip->gateway_id ?? 0,
]);
Redis::rpush(config('freeswitch.redis_key.dial'),$cdr->uuid);
return $this->success('呼叫成功',[
Redis::rpush(config('freeswitch.redis_key.dial'), $cdr->uuid);
return $this->success('呼叫成功', [
'uuid' => $cdr->uuid,
'call_time' => date('Y-m-d H:i:s'),
]);
}catch (\Exception $exception){
Log::error('呼叫异常:'.$exception->getMessage());
} catch (\Exception $exception) {
Log::error('呼叫异常:' . $exception->getMessage());
return $this->error('呼叫失败');
}
}
//文件上传
public function upload(Request $request)
{
//上传文件最大大小,单位M
$maxSize = 10;
//支持的上传图片类型
$allowed_extensions = ["png", "jpg", "gif", "xlsx", "xls"];
$file = $request->file('file');
//检查文件是否上传完成
if ($file->isValid()) {
//检测图片类型
$ext = $file->getClientOriginalExtension();
if (!in_array(strtolower($ext), $allowed_extensions)) {
return $this->success("请上传" . implode(",", $allowed_extensions) . "格式的图片");
}
//检测图片大小
if ($file->getSize() > $maxSize * 1024 * 1024) {
return $this->success("图片大小限制" . $maxSize . "M");
}
} else {
return $this->error('文件不完整');
}
$newFile = date('Y/m/d/') . uuid_generate() . "." . $file->getClientOriginalExtension();
$disk = Storage::disk('uploads');
$res = $disk->put($newFile, file_get_contents($file->getRealPath()));
if ($res) {
$data = [
'data' => $newFile,
'url' => '/uploads/' . $newFile,
];
return $this->success('上传成功', $data);
} else {
Log::error('文件上传异常:' . $file->getErrorMessage());
$this->error('上传失败');
}
}
}

View File

@ -5,6 +5,7 @@ namespace App\Http\Controllers\Crm;
use App\Http\Controllers\Controller;
use App\Models\CustomerField;
use App\Models\Customer;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
@ -18,16 +19,17 @@ class AssignmentController extends Controller
* @param Request $request
* @return \Illuminate\Contracts\View\View|\Illuminate\Http\JsonResponse
*/
public function assignment(Request $request)
public function index(Request $request)
{
$users = User::query()->get();
if ($request->ajax()){
$res = Customer::query()
->where('status','=',1)
->orderByDesc()
->orderByDesc('id')
->paginate($request->get('limit', 30));
return $this->success('ok',$res->items(),$res->total());
}
return View::make('crm.assignment.index');
return View::make('crm.assignment.index',compact('users'));
}

View File

@ -18,6 +18,7 @@ class CustomerFieldController extends Controller
if ($request->ajax()){
$res = CustomerField::query()
->orderBy('sort','asc')
->orderBy('id','desc')
->paginate($request->get('limit', 30));
return $this->success('ok',$res->items(),$res->total());
}
@ -49,7 +50,7 @@ class CustomerFieldController extends Controller
public function edit($id)
{
$model = CustomerField::findOrFail($id);
return View::make('crm.customer_field.create',compact('model'));
return View::make('crm.customer_field.edit',compact('model'));
}
public function update(Request $request,$id)

View File

@ -160,7 +160,7 @@ class UserController extends Controller
return $this->error();
}
}
return View::make('user.changeMyPassword');
return View::make('system.user.changeMyPassword');
}
}

View File

@ -65,6 +65,11 @@ return [
'endpoint' => env('AWS_ENDPOINT'),
],
'uploads' => [
'driver' => 'local',
'root' => public_path('uploads'),
],
],
];

View File

@ -71,7 +71,8 @@ return [
'radio' => '单选',
'checkbox' => '多选',
'select' => '下拉选择',
'image' => '图片上传',
'image' => '单图片上传',
'images' => '多图片上传',
'textarea' => '文本框',
],

View File

@ -132,6 +132,14 @@ class MenuTableSeeder extends Seeder
'type' => 1,
'permission_name' => 'crm.customer_field',
],
[
'name' => '分配库',
'route' => 'crm.assignment',
'url' => null,
'icon' => 'layui-icon-transfer',
'type' => 1,
'permission_name' => 'crm.assignment',
],
]
],
];

View File

@ -154,6 +154,17 @@ class UserTableSeeder extends Seeder
['name' => 'crm.customer_field.destroy', 'display_name' => '删除'],
]
],
[
'name' => 'crm.assignment',
'display_name' => '分配库',
'child' => [
['name' => 'crm.assignment.create', 'display_name' => '添加'],
['name' => 'crm.assignment.edit', 'display_name' => '编辑'],
['name' => 'crm.assignment.import', 'display_name' => '导入'],
['name' => 'crm.assignment.to', 'display_name' => '分配'],
['name' => 'crm.assignment.destroy', 'display_name' => '删除'],
]
],
],
],
];

View File

@ -89,6 +89,15 @@
return false;
})
//搜索
form.on('submit(search)',function(data) {
layui.table.reload('dataTable',{
where: data.field,
page: {curr:1}
});
return false;
});
window.newTab = function (url, tit) {
if (top.layui.index) {
top.layui.index.openTabsPage(url, tit)

View File

@ -8,18 +8,6 @@
var upload = layui.upload;
var laydate = layui.laydate;
form.on('submit(go)',function (data) {
var load = layer.load();
$.post(data.form.action,data.field,function (res) {
layer.close(load);
layer.msg(res.msg,{icon:res.code==0?1:2},function () {
if (res.code==0){
location.reload();
}
})
});
return false;
})
//图片
$(".uploadPic").each(function (index,elem) {

View File

@ -1,103 +1,118 @@
@extends('admin.base')
@extends('base')
@section('content')
<div class="layui-card">
<div class="layui-card-header layuiadmin-card-header-auto">
<h2>添加</h2>
</div>
<div class="layui-card-body">
<form action="{{route('admin.assignment.store')}}" method="post" class="layui-form">
<form action="{{route('crm.assignment.store')}}" method="post" class="layui-form">
{{csrf_field()}}
<div class="layui-form-item">
<label for="" class="layui-form-label">公司名称</label>
<div class="layui-input-inline" style="width: 400px">
<input class="layui-input" type="text" name="company_name" lay-verify="required" value="{{$model->company_name??old('company_name')}}" placeholder="请输入公司名称">
</div>
</div>
<div class="layui-form-item">
<label for="" class="layui-form-label">姓名</label>
<div class="layui-input-inline" style="width: 400px">
<input class="layui-input" type="text" name="name" lay-verify="required" value="{{$model->name??old('name')}}" placeholder="请输入名称">
</div>
</div>
<div class="layui-form-item">
<label for="" class="layui-form-label">电话</label>
<div class="layui-input-inline" style="width: 400px">
<input class="layui-input" type="number" name="phone" lay-verify="required|phone" value="{{$model->phone??old('phone')}}" placeholder="请输入联系电话">
</div>
</div>
@foreach($designs as $d)
<div class="layui-form-item">
<label for="" class="layui-form-label">{{$d->field_label}}</label>
<div class="layui-input-inline" style="width: 400px">
@switch($d->field_type)
@case('input')
<input type="input" class="layui-input" name="{{$d->field_key}}" value="{{$d->field_value}}" @if($d->required==1) lay-verify="required" @endif placeholder="{{$d->field_tips}}" >
@break
@case('textarea')
<textarea name="{{$d->field_key}}" class="layui-textarea" @if($d->required==1) lay-verify="required" @endif placeholder="{{$d->field_tips}}">{{$d->field_value}}</textarea>
@break
@case('select')
<select name="{{$d->field_key}}" @if($d->required==1) lay-verify="required" @endif>
@if($d->field_option&&strpos($d->field_option,'|'))
@foreach(explode("|",$d->field_option) as $v)
@php
$key = \Illuminate\Support\Str::before($v,':');
$val = \Illuminate\Support\Str::after($v,':');
@endphp
<option value="{{$key}}" @if($key==$d->field_value) selected @endif >{{$val}}</option>
@endforeach
@endif
</select>
@break
@case('radio')
@if($d->field_option&&strpos($d->field_option,'|'))
@foreach(explode("|",$d->field_option) as $v)
@php
$key = \Illuminate\Support\Str::before($v,':');
$val = \Illuminate\Support\Str::after($v,':');
@endphp
<input type="radio" name="{{$d->field_key}}" value="{{$key}}" @if($key==$d->field_value) checked @endif title="{{$val}}">
@endforeach
@endif
@break
@case('checkbox')
@if($d->field_option&&strpos($d->field_option,'|'))
@foreach(explode("|",$d->field_option) as $v)
@php
$key = \Illuminate\Support\Str::before($v,':');
$val = \Illuminate\Support\Str::after($v,':');
$fieldValue = [];
if ($d->field_value&&strpos($d->field_value,',')){
$fieldValue = explode(",",$d->field_value);
}
@endphp
<input type="checkbox" name="{{$d->field_key}}[]" value="{{$key}}" @if(in_array($key,$fieldValue) || $key==$d->field_value ) checked @endif title="{{$val}}">
@endforeach
@endif
@break
@case('image')
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-sm uploadPic"><i class="layui-icon">&#xe67c;</i>图片上传</button>
<div class="layui-upload-list" >
<ul class="layui-upload-box layui-clear">
</ul>
<input type="hidden" class="layui-upload-input" name="{{$d->field_key}}" value="{{$d->field_value}}">
</div>
</div>
@break
@default
@break
@endswitch
<div class="layui-row">
<div class="layui-col-md6">
<div class="layui-form-item">
<h2>基础信息</h2>
</div>
<div class="layui-form-item">
<label for="" class="layui-form-label">客户名称</label>
<div class="layui-input-inline" style="width: 400px">
<input class="layui-input" type="text" name="name" placeholder="请输入客户名称">
</div>
</div>
<div class="layui-form-item">
<label for="" class="layui-form-label">联系人</label>
<div class="layui-input-inline" style="width: 400px">
<input class="layui-input" type="text" name="contact_name" placeholder="请输入联系人">
</div>
</div>
<div class="layui-form-item">
<label for="" class="layui-form-label">联系电话</label>
<div class="layui-input-inline" style="width: 400px">
<input class="layui-input" type="number" name="contact_phone" lay-verify="required|phone" placeholder="请输入联系电话">
</div>
</div>
</div>
@endforeach
@include('admin.assignment._form')
<div class="layui-col-md6">
<div class="layui-form-item">
<h2>扩展信息</h2>
</div>
@foreach($fields as $d)
<div class="layui-form-item">
<label for="" class="layui-form-label">{{$d->field_label}}</label>
<div class="layui-input-inline" style="width: 400px">
@switch($d->field_type)
@case('input')
<input type="input" class="layui-input" name="{{$d->field_key}}" value="{{$d->field_value}}" @if($d->required==1) lay-verify="required" @endif placeholder="{{$d->field_tips}}" >
@break
@case('textarea')
<textarea name="{{$d->field_key}}" class="layui-textarea" @if($d->required==1) lay-verify="required" @endif placeholder="{{$d->field_tips}}">{{$d->field_value}}</textarea>
@break
@case('select')
<select name="{{$d->field_key}}" @if($d->required==1) lay-verify="required" @endif>
<option value=""></option>
@if($d->field_option&&strpos($d->field_option,"\n"))
@foreach(explode("\n",$d->field_option) as $v)
@php
$key = \Illuminate\Support\Str::before($v,':');
$val = \Illuminate\Support\Str::after($v,':');
@endphp
<option value="{{$key}}" @if($key==$d->field_value) selected @endif >{{$val}}</option>
@endforeach
@endif
</select>
@break
@case('radio')
@if($d->field_option&&strpos($d->field_option,"\n"))
@foreach(explode("\n",$d->field_option) as $v)
@php
$key = \Illuminate\Support\Str::before($v,':');
$val = \Illuminate\Support\Str::after($v,':');
@endphp
<input type="radio" name="{{$d->field_key}}" value="{{$key}}" @if($key==$d->field_value) checked @endif title="{{$val}}">
@endforeach
@endif
@break
@case('checkbox')
@if($d->field_option&&strpos($d->field_option,"\n"))
@foreach(explode("\n",$d->field_option) as $v)
@php
$key = \Illuminate\Support\Str::before($v,':');
$val = \Illuminate\Support\Str::after($v,':');
$fieldValue = [];
if ($d->field_value&&strpos($d->field_value,',')){
$fieldValue = explode(",",$d->field_value);
}
@endphp
<input type="checkbox" name="{{$d->field_key}}[]" value="{{$key}}" @if(in_array($key,$fieldValue) || $key==$d->field_value ) checked @endif title="{{$val}}">
@endforeach
@endif
@break
@case('image')
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-sm uploadPic"><i class="layui-icon">&#xe67c;</i>图片上传</button>
<div class="layui-upload-list" >
<ul class="layui-upload-box layui-clear">
</ul>
<input type="hidden" class="layui-upload-input" name="{{$d->field_key}}" value="{{$d->field_value}}">
</div>
</div>
@break
@default
@break
@endswitch
</div>
</div>
@endforeach
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-sm" lay-submit lay-filter="go-close-refresh" >确认</button>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('script')
@include('admin.assignment._js')
@include('crm.assignment._js')
@endsection

View File

@ -1,4 +1,4 @@
@extends('admin.base')
@extends('base')
@section('content')
<div class="layui-card">
@ -6,7 +6,7 @@
<h2>更新</h2>
</div>
<div class="layui-card-body">
<form action="{{route('admin.assignment.update',['id'=>$model->id])}}" method="post" class="layui-form">
<form action="{{route('crm.assignment.update',['id'=>$model->id])}}" method="post" class="layui-form">
{{method_field('put')}}
{{csrf_field()}}
<div class="layui-form-item">

View File

@ -3,19 +3,19 @@
@section('content')
<div class="layui-card">
<div class="layui-card-header layuiadmin-card-header-auto">
<form class="layui-form">
<form class="layui-form" action="{{route("crm.assignment")}}">
<div class="layui-btn-group">
@can('crm.assignment.destroy')
<button type="button" class="layui-btn layui-btn-sm layui-btn-danger" id="listDelete">删除</button>
@endcan
@can('crm.assignment.create')
<a href="{{route('admin.assignment.create')}}" class="layui-btn layui-btn-sm" id="listDelete">录入</a>
<a class="layui-btn layui-btn-sm" id="addBtn">录入</a>
@endcan
@can('crm.assignment.import')
<button type="button" id="import_project" class="layui-btn layui-btn-sm">导入</button>
<a href="{{route('admin.project.downloadTemplate')}}" class="layui-btn layui-btn-sm layui-btn-warm">模板下载</a>
<a href="" class="layui-btn layui-btn-sm layui-btn-warm">模板下载</a>
@endcan
<button type="button" lay-submit lay-filter="search" class="layui-btn layui-btn-sm" >搜索</button>
</div>
<div class="layui-form-item">
<div class="layui-inline">
@ -36,25 +36,27 @@
<input type="text" name="company_name" placeholder="请输入公司名称" class="layui-input" >
</div>
</div>
<button type="button" lay-submit lay-filter="search" class="layui-btn layui-btn-sm" >搜索</button>
</div>
@can('crm.assignment.to')
</form>
@can('crm.assignment.to')
<form class="layui-form" action="{{route("crm.assignment.to")}}">
<div class="layui-form-item">
<div class="layui-inline">
<label for="" class="layui-form-label">用户:</label>
<div class="layui-input-block" style="width: 275px">
<select id="user_id">
<select name="user_id" lay-verify="required">
<option value=""></option>
@foreach($users as $user)
<option value="{{$user->id}}">{{$user->nickname}}</option>
@foreach($users as $d)
<option value="{{$d->id}}">{{$d->nickname}}</option>
@endforeach
</select>
</div>
</div>
<button type="button" class="layui-btn layui-btn-sm" id="assignmentBtn" >分配</button>
<button type="button" class="layui-btn layui-btn-sm" lay-submit lay-filter="assignment_to" >分配</button>
</div>
@endcan
</form>
@endcan
</div>
<div class="layui-card-body">
<table id="dataTable" lay-filter="dataTable"></table>
@ -100,22 +102,15 @@
//用户表格初始化
var dataTable = table.render({
elem: '#dataTable'
,height: 500
,url: "{{ route('admin.assignment.data') }}" //数据接口
,height: 'full-200'
,url: "{{ route('crm.assignment') }}" //数据接口
,page: true //开启分页
,cols: [[ //表头
{checkbox: true,fixed: true}
,{field: 'company_name', title: '公司名称'}
,{field: 'name', title: '姓名'}
,{field: 'phone', title: '联系电话'}
,{field: 'created_at', title: '创建时间'}
,{field: 'owner_user_id', title: '状态', templet:function (d) {
if(d.owner_user_id==0){
return '<span class="layui-badge">待分配</span>'
}else{
return '<span class="layui-badge layui-bg-green">已分配</span>'
}
}}
{field: 'uuid', title: '客户编号'}
,{field: 'name', title: '客户名称'}
,{field: 'contact_name', title: '联系人'}
,{field: 'contact_phone', title: '联系电话'}
,{field: 'created_at', title: '录入时间'}
,{fixed: 'right', width: 250, align:'center', toolbar: '#options', title:'操作'}
]]
});
@ -125,18 +120,24 @@
var data = obj.data //获得当前行数据
,layEvent = obj.event; //获得 lay-event 对应的值
if(layEvent === 'edit'){
location.href = '/admin/assignment/'+data.id+'/edit';
layer.open({
type: 2,
title: "编辑",
shadeClose: true,
area: ["90%","90%"],
content: '/crm/assignment/'+data.id+'/edit',
})
}
});
//搜索
form.on('submit(search)',function(data) {
dataTable.reload({
where: data.field,
page: {curr:1}
});
return false;
});
$("#addBtn").click(function () {
layer.open({
type: 2,
title: "添加",
shadeClose: true,
area: ["90%","90%"],
content: "{{route("crm.assignment.create")}}",
})
})
//导入
$("#import_project").click(function() {
@ -149,7 +150,7 @@
})
upload.render({
elem: '#uploadBtn'
,url: '{{route('admin.assignment.import')}}'
,url: '{{route('crm.assignment.import')}}'
,auto: false
,multiple: false
,accept: 'file'
@ -168,8 +169,8 @@
});
})
//批量删除
$("#listDelete").click(function () {
//分配
form.on('submit(assignment_to)', function (data) {
var ids = [];
var hasCheck = table.checkStatus('dataTable');
var hasCheckData = hasCheck.data;
@ -178,66 +179,27 @@
ids.push(element.id)
})
}
if (ids.length > 0) {
layer.confirm('确认删除吗?', function (index) {
layer.close(index);
var load = layer.load();
$.post("{{ route('admin.assignment.destroy') }}", {
_method: 'delete',
ids: ids
}, function (res) {
layer.close(load);
if (res.code == 0) {
layer.msg(res.msg, {icon: 1}, function () {
dataTable.reload({page: {curr: 1}});
})
} else {
layer.msg(res.msg, {icon: 2})
if (ids.length === 0){
layer.msg('请选择分配项', {icon: 2});
return false
}
layer.confirm('确认分配吗?', function (index) {
layer.close(index);
let load = layer.load();
$.post(data.form.action, {ids:ids,user_id:data.field.user_id}, function (res) {
layer.close(load);
let code = res.code
layer.msg(res.msg, {time: 2000, icon: code == 0 ? 1 : 2}, function () {
if (code === 0) {
dataTable.reload()
}
});
})
} else {
layer.msg('请选择删除项', {icon: 2});
}
});
})
return false;
})
//分配
$("#assignmentBtn").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)
})
}
var user_id = $("#user_id").val();
if(user_id == ''){
layer.msg('请选择用户',{icon:2});
return false;
}
if (ids.length > 0) {
layer.confirm('确认分配吗?', function (index) {
layer.close(index);
var load = layer.load();
$.post("{{ route('admin.assignment.to') }}", {
ids: ids,
user_id:$("#user_id").val()
}, function (res) {
layer.close(load);
if (res.code == 0) {
layer.msg(res.msg, {icon: 1}, function () {
dataTable.reload({page: {curr: 1}});
})
} else {
layer.msg(res.msg, {icon: 2})
}
});
})
} else {
layer.msg('请选择分配项', {icon: 2});
}
})
})
</script>

View File

@ -31,7 +31,7 @@
<div class="layui-form-item">
<label for="" class="layui-form-label">字段选项</label>
<div class="layui-input-inline">
<textarea name="field_option" class="layui-textarea">{{$model->field_option??''}}</textarea>
<textarea name="field_option" class="layui-textarea" placeholder="单选,多选,下拉选择">{{$model->field_option??''}}</textarea>
</div>
<div class="layui-word-aux layui-form-mid">例:<br/>1:<br/>2:<br/>3:保密</div>
</div>
@ -51,8 +51,8 @@
<div class="layui-form-item">
<label for="" class="layui-form-label">可见性</label>
<div class="layui-input-block">
<input type="radio" name="visiable" value="1" title="显示" @if(!isset($model) || (isset($model)&&$model->required==1)) checked @endif >
<input type="radio" name="visiable" value="2" title="隐藏" @if(isset($model)&&$model->required==2) checked @endif>
<input type="radio" name="visiable" value="1" title="显示" @if(!isset($model) || (isset($model)&&$model->visiable==1)) checked @endif >
<input type="radio" name="visiable" value="2" title="隐藏" @if(isset($model)&&$model->visiable==2) checked @endif>
</div>
</div>
<div class="layui-form-item">
@ -64,6 +64,6 @@
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn" lay-submit lay-filter="go-close-refresh" > </button>
<button type="button" class="layui-btn layui-btn-sm" lay-submit lay-filter="go-close-refresh" ></button>
</div>
</div>

View File

@ -41,13 +41,11 @@
//用户表格初始化
var dataTable = table.render({
elem: '#dataTable'
,height: 500
,height: 'full-200'
,url: "{{ route('crm.customer_field') }}" //数据接口
,page: true //开启分页
,cols: [[ //表头
{checkbox: true,fixed: true}
//,{field: 'id', title: 'ID', sort: true,width:80}
,{field: 'field_label', title: '字段名称'}
{field: 'field_label', title: '字段名称'}
,{field: 'field_key', title: '字段Key'}
,{field: 'field_type_name', title: '字段类型'}
,{field: 'field_option', title: '字段配置项'}
@ -60,7 +58,7 @@
return d.required==1?'是':'否';
}}
,{field: 'created_at', title: '创建时间'}
,{fixed: 'right', width: 150, align:'center', toolbar: '#options', title:'操作'}
,{align:'center', toolbar: '#options', title:'操作'}
]]
});
@ -73,7 +71,7 @@
} else if(layEvent === 'edit'){
layer.open({
type: 2,
title: "添加",
title: "编辑",
shadeClose: true,
area: ["800px","600px"],
content: '/crm/customer_field/'+data.id+'/edit',

View File

@ -21,3 +21,4 @@ Route::post('/api/get_permission_by_role_id','ApiController@getPermissionByRoleI
Route::post('/api/get_role_by_user_id','ApiController@getRoleByUserId')->name('api.getRoleByUserId');
Route::post('/api/get_department_by_user_id','ApiController@getDepartmentByUserId')->name('api.getDepartmentByUserId');
Route::post('/api/call','ApiController@call')->name('api.call');
Route::post('/api/upload','ApiController@upload')->name('api.upload');

View File

@ -23,8 +23,8 @@ Route::group(['middleware'=>'auth'],function (){
Route::get('/console','IndexController@console')->name('index.console');
Route::get('/onlinecall','IndexController@onlinecall')->name('index.onlinecall');
//修改密码
Route::get('/change_my_password_form','UserController@changeMyPassword')->name('index.changeMyPasswordForm')->middleware('auth');
Route::post('/change_my_password','UserController@changeMyPassword')->name('index.changeMyPassword')->middleware('auth');
Route::get('/change_my_password_form','System\UserController@changeMyPassword')->name('index.changeMyPasswordForm')->middleware('auth');
Route::post('/change_my_password','System\UserController@changeMyPassword')->name('index.changeMyPassword')->middleware('auth');
});
/*
@ -224,14 +224,31 @@ Route::group(['prefix'=>'crm','namespace'=>'Crm','middleware'=>['auth','permissi
Route::group([],function (){
Route::get('customer_field','CustomerFieldController@index')->name('crm.customer_field')->middleware('permission:crm.customer_field');
//添加
Route::get('customer_field/create','CustomerFieldController@create')->name('crm.customer_field.create')->middleware('permission:crm.customer_field');
Route::post('customer_field/store','CustomerFieldController@store')->name('crm.customer_field.store')->middleware('permission:crm.customer_field');
Route::get('customer_field/create','CustomerFieldController@create')->name('crm.customer_field.create')->middleware('permission:crm.customer_field.create');
Route::post('customer_field/store','CustomerFieldController@store')->name('crm.customer_field.store')->middleware('permission:crm.customer_field.create');
//编辑
Route::get('customer_field/{id}/edit','CustomerFieldController@edit')->name('crm.customer_field.edit')->middleware('permission:crm.customer_field');
Route::put('customer_field/{id}/update','CustomerFieldController@update')->name('crm.customer_field.update')->middleware('permission:crm.customer_field');
Route::get('customer_field/{id}/edit','CustomerFieldController@edit')->name('crm.customer_field.edit')->middleware('permission:crm.customer_field.edit');
Route::put('customer_field/{id}/update','CustomerFieldController@update')->name('crm.customer_field.update')->middleware('permission:crm.customer_field.edit');
//删除
Route::delete('customer_field/destroy','CustomerFieldController@destroy')->name('crm.customer_field.destroy')->middleware('permission:crm.customer_field');
Route::delete('customer_field/destroy','CustomerFieldController@destroy')->name('crm.customer_field.destroy')->middleware('permission:crm.customer_field.destroy');
});
//待分配库
Route::group([],function (){
Route::get('assignment','AssignmentController@index')->name('crm.assignment')->middleware('permission:crm.assignment');
//删除
Route::delete('assignment/destroy','AssignmentController@destroy')->name('crm.assignment.destroy')->middleware('permission:crm.assignment.destroy');
//分配
Route::post('assignment/to','AssignmentController@to')->name('crm.assignment.to')->middleware('permission:crm.assignment.to');
//导入
Route::post('assignment/import','AssignmentController@import')->name('crm.assignment.import')->middleware('permission:crm.assignment.import');
//添加
Route::get('assignment/create','AssignmentController@create')->name('crm.assignment.create')->middleware('permission:crm.assignment.create');
Route::post('assignment/store','AssignmentController@store')->name('crm.assignment.store')->middleware('permission:crm.assignment.create');
//编辑
Route::get('assignment/{id}/edit','AssignmentController@edit')->name('crm.assignment.edit')->middleware('permission:crm.assignment.edit');
Route::put('assignment/{id}/update','AssignmentController@update')->name('crm.assignment.update')->middleware('permission:crm.assignment.edit');
});
});