客户回访调整

This commit is contained in:
meimei
2025-04-16 10:08:13 +08:00
parent 7891a254a1
commit 478e257bce
10 changed files with 435 additions and 26 deletions

View File

@@ -3,6 +3,7 @@
namespace app\admin\controller;
use app\common\controller\Backend;
use think\Db;
/**
* 客户回访记录
@@ -49,10 +50,9 @@ class Firmcustomerfollowuprecord extends Backend
return $this->selectpage();
}
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$list = $this->model
->where($where)
->where('firmcustomer_id','=',input('ids'))
->order($sort, $order)
->paginate($limit);
@@ -68,4 +68,70 @@ class Firmcustomerfollowuprecord extends Backend
return $this->view->fetch();
}
public function newadd()
{
if (false === $this->request->isPost()) {
$customer_id = input('ids');
$customer = Db::table('fa_firmcustomer')->where('id',$customer_id)->find();
$this->view->assign('customer',$customer);
return $this->view->fetch();
}
$params = $this->request->post();
if (empty($params)) {
$this->error(__('Parameter %s can not be empty', ''));
}
$params = $this->preExcludeFields($params);
if ($this->dataLimit && $this->dataLimitFieldAutoFill) {
$params[$this->dataLimitField] = $this->auth->id;
}
$customerData = Db::table('fa_firmcustomer')->where('id',$params['firmcustomer_id'])->find();
$dataList = [];
foreach ($params['visit_info'] as $value){
$data = $params;
unset($data['visit_info']);
$data['rel_wx'] = $customerData['rel_wx'];
$data['rel_group'] = $customerData['rel_group'];
$data['visit_msg'] = $value['visit_msg'];
$data['day'] = $value['day'];
$data['followup_time'] = $value['times'];
$dataList[] = $data;
}
$result = false;
Db::startTrans();
try {
//是否采用模型验证
if ($this->modelValidate) {
$name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
$validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate;
$this->model->validateFailException()->validate($validate);
}
$fields = Db::table('fa_firmcustomerfollowuprecord')->getTableFields();
foreach ($dataList as $value){
$validData = array_intersect_key($value, array_flip($fields));
$result = Db::table('fa_firmcustomerfollowuprecord')->insertGetId($validData);
if ($result){
$firmcustomerfollowuptimelist = [];
$firmcustomerfollowuptimelist['firmcustomerfollowuprecord_id']=$result;
$firmcustomerfollowuptimelist['day']=$value['day'];
$firmcustomerfollowuptimelist['followup_time']=$value['followup_time'];
Db::table('fa_firmcustomerfollowuptimelist')->insert($firmcustomerfollowuptimelist);
}else{
Db::rollback();
$this->error('添加失败,请重新操作');
}
}
Db::commit();
} catch (ValidateException|PDOException|Exception $e) {
Db::rollback();
$this->error($e->getMessage());
}
if ($result === false) {
$this->error(__('No rows were inserted'));
}
$this->success();
}
}

View File

@@ -53,6 +53,7 @@ class Firmcustomerfollowuptimelist extends Backend
$list = $this->model
->with(['firmcustomerfollowuprecord'])
->where($where)
->where('firmcustomerfollowuprecord_id','=',input('ids'))
->order($sort, $order)
->paginate($limit);

View File

@@ -77,14 +77,18 @@ class Mattertemplatecategorization extends Backend
$firmstoreprojectsone_id = input('firmstoreprojectsone_id');
$firmstoreprojectstwo_id = input('firmstoreprojectstwo_id');
$model = $this->model->where('mattertemplate_id',1);
$visitmodel = Db::table('fa_mattertemplatecategorization')->where('mattertemplate_id',2);
if (!empty($firmstoreprojectsone_id)){
$model = $model->where('firmstoreprojectsone_id',$firmstoreprojectsone_id);
$visitmodel = $visitmodel->where('firmstoreprojectsone_id',$firmstoreprojectsone_id);
}
if (!empty($firmstoreprojectstwo_id)){
$model = $model->where('firmstoreprojectstwo_id',$firmstoreprojectstwo_id);
$visitmodel = $visitmodel->where('firmstoreprojectstwo_id',$firmstoreprojectstwo_id);
}
$data = $model->select();
return json(['total'=>count($data),'data'=>$data]);
$visitdata = $visitmodel->select();
return json(['data'=>$data,'visit_data'=>$visitdata]);
}
}

View File

@@ -171,4 +171,16 @@ class Mattertemplatecategorizedcontent extends Backend
}
$this->success();
}
public function getAllContent(){
$mattertemplatecategorization_id = $this->request->post('id');
$type = $this->request->post('type');
$data = $this->model->where('mattertemplatecategorization_id',$mattertemplatecategorization_id)
->order('id desc');
if ($type==1){
$data = $data->find();
}else{
$data = $data->select();
}
return json(['data'=>$data]);
}
}

View File

@@ -0,0 +1,146 @@
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Firm_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-firm_id" min="0" data-rule="required"
disabled
data-source="firm/index" class="form-control selectpage"
name="row[firm_id]" type="text" value="{:session_admin_firm_id()}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Firmstore_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-firmstore_id" min="0" data-rule="required"
data-source="firmstore/index" class="form-control selectpage"
disabled
name="row[firmstore_id]" type="text" value="{:session_admin_firmstore_id()}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" class="form-control" name="row[name]" type="text" value="{$customer.name}" disabled>
</div>
</div>
<input type="hidden" id="c-customer-id" value="{$customer.id}">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Firmstoreprojectsone_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-firmstoreprojectsone_id" min="0" data-rule="required" data-source="firmstoreprojectsone/index" class="form-control selectpage" name="row[firmstoreprojectsone_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Firmstoreprojectstwo_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-firmstoreprojectstwo_id" min="0" data-rule="required" data-source="firmstoreprojectstwo/index" class="form-control selectpage" name="row[firmstoreprojectstwo_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-remark" class="form-control" name="row[remark]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Feedback')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-feedback" class="form-control" name="row[feedback]" type="text" value="">
</div>
</div>
<hr>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Firmnotespoints_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-firmnotespoints_id" min="0" data-rule="required" data-value="row[firmnotespoints_id]" class="form-control selectpage" name="row[firmnotespoints_id]" type="text" value="">
</div>
</div>
<div id="firmnotespoints_template" class="form-group">
<!-- <div class="form-group">-->
<!-- <label class="control-label col-xs-12 col-sm-2">{:__('N天发送')}:</label>-->
<!-- <div class="col-xs-12 col-sm-8">-->
<!-- <input id="firmnotespoints_day" class="form-control c-day" name="day" type="number">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="control-label col-xs-12 col-sm-2">{:__('时间')}:</label>-->
<!-- <div class="col-xs-12 col-sm-8">-->
<!-- <input id="firmnotespoints_times" class="form-control datetimepicker c-times" data-date-format="HH:mm:ss" data-use-current="true" name="times" type="text" value="{:date('H:i:s')}">-->
<!-- </div>-->
<!-- </div>-->
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('事项要点')}:</label>
<div class="col-xs-12 col-sm-6">
<input id="firmnotespoints_points" class="form-control c-hui-fang-yao-dian" type="text" value="" placeholder="请输入回访要点" name="points">
</div>
<div class="col-xs-12 col-sm-2">
<button type="button" class="form-control shili_huashu_btn" type="button" value="示例话术">示例话术</button>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="firmnotespoints_content" class="form-control editor c-content" rows="5" name="content" cols="50"></textarea>
</div>
</div>
</div>
<hr>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('回访事项ID')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-visit_id" min="0" data-rule="required" data-value="row[firmnotespoints_id]" class="form-control selectpage" name="row[firmnotespoints_id]" type="text" value="">
</div>
</div>
<div id="visit_template" class="form-group">
</div>
<div class="form-group" id="c-add_group_last_div">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button id="c-add_group_content" type="button" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</button>
</div>
</div>
<div class="form_group_add_noshow" style="display: none">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('N天发送')}:</label>
<div class="col-xs-12 col-sm-8">
<input class="form-control c-day" name="day" type="number">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('时间')}:</label>
<div class="col-xs-12 col-sm-8">
<input class="form-control datetimepicker c-times" data-date-format="HH:mm:ss" data-use-current="true" name="times" type="text" value="{:date('H:i:s')}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('事项要点')}:</label>
<div class="col-xs-12 col-sm-6">
<input class="form-control c-hui-fang-yao-dian" type="text" value="" placeholder="请输入回访要点" name="points">
</div>
<div class="col-xs-12 col-sm-2">
<button type="button" class="form-control shili_huashu_btn" type="button" value="示例话术">示例话术</button>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control editor c-content" rows="5" name="content" cols="50"></textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<td width="90">
<button type="button" class="btn btn-sm btn-danger btn-remove deleteButton"><i class="fa fa-times"></i></button>
</td>
</div>
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="button" id="submit-button-add" class="btn btn-primary btn-embossed ">{:__('OK')}</button>
</div>
</div>
</form>

View File

@@ -15,7 +15,7 @@
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Followup_time')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-followup_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[followup_time]" type="text" value="{:$row.followup_time?datetime($row.followup_time):''}">
<input id="c-followup_time" class="form-control datetimepicker" data-date-format="HH:mm:ss" data-use-current="true" name="row[followup_time]" type="text" value="{:$row.followup_time?datetime($row.followup_time):''}">
</div>
</div>
<div class="form-group layer-footer">

View File

@@ -48,10 +48,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{
name: 'addFollwup',
text: __('新增回访'),
title: __('新增回访'),
title: __('新增回访new'),
classname: 'btn btn-xs btn-primary btn-dialog',
icon: 'fa fa-magic',
url: 'firmcustomerfollowuprecord/add',
url: 'firmcustomerfollowuprecord/newadd',
callback: function (data) {
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
},
@@ -60,28 +60,28 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
return true;
}
},
// {
// name: 'addFollwup',
// text: __('新增回访'),
// title: __('新增回访'),
// classname: 'btn btn-xs btn-primary btn-dialog',
// icon: 'fa fa-magic',
// url: 'firmcustomerfollowuprecord/add',
// callback: function (data) {
// Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
// },
// visible: function (row) {
// //返回true时按钮显示,返回false隐藏
// return true;
// }
// },
{
name: 'follwuplist',
text: __('回访列表'),
title: __('回访列表'),
classname: 'btn btn-xs btn-success btn-dialog',
icon: 'fa fa-list',
url: 'firmcustomerfollowuprecord/index',
callback: function (data) {
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
},
visible: function (row) {
//返回true时按钮显示,返回false隐藏
return true;
}
},
{
name: 'setFollwupPlan',
text: __('设置回访计划'),
title: __('设置回访计划'),
classname: 'btn btn-xs btn-danger btn-dialog',
icon: 'fa fa-plus',
url: 'firmcustomerfollowuptimelist/add',
url: 'firmcustomerfollowuprecord/index?ids={ids}',
callback: function (data) {
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
},
@@ -91,6 +91,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
}
},
// {
// name: 'setFollwupPlan',
// text: __('设置回访计划'),
// title: __('设置回访计划'),
// classname: 'btn btn-xs btn-danger btn-dialog',
// icon: 'fa fa-plus',
// url: 'firmcustomerfollowuptimelist/add',
// callback: function (data) {
// Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
// },
// visible: function (row) {
// //返回true时按钮显示,返回false隐藏
// return true;
// }
// },
// {
// name: 'selectSendTime',
// text: __('查看发送时间'),
// title: __('查看发送时间'),

View File

@@ -62,7 +62,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
title: __('计划列表'),
classname: 'btn btn-xs btn-success btn-dialog',
icon: 'fa fa-list',
url: 'firmcustomerfollowuptimelist/index',
url: 'firmcustomerfollowuptimelist/index?ids={ids}',
callback: function (data) {
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
},
@@ -132,6 +132,171 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
edit: function () {
Controller.api.bindevent();
},
newadd:function (){
$("#c-firmstoreprojectsone_id").on("change", function (obj) {
let firmstoreprojectsone_id = $('#c-firmstoreprojectsone_id').val();
let firmstoreprojectstwo_id = $('#c-firmstoreprojectstwo_id').val();
$.post('mattertemplatecategorization/getPrecautions',
{firmstoreprojectsone_id:firmstoreprojectsone_id,firmstoreprojectstwo_id:firmstoreprojectstwo_id},function (res) {
$('#c-firmnotespoints_id').selectPageData(res.data);
$('#c-visit_id').selectPageData(res.visit_data);
},'json');
});
$("#c-firmstoreprojectstwo_id").on("change", function (obj) {
let firmstoreprojectsone_id = $('#c-firmstoreprojectsone_id').val();
let firmstoreprojectstwo_id = $('#c-firmstoreprojectstwo_id').val();
$.post('mattertemplatecategorization/getPrecautions',
{firmstoreprojectsone_id:firmstoreprojectsone_id,firmstoreprojectstwo_id:firmstoreprojectstwo_id},function (res) {
// layer.close(load_index);
//回显
$('#c-firmnotespoints_id').selectPageData(res.data);
$('#c-visit_id').selectPageData(res.visit_data);
},'json');
});
$('#firmnotespoints_template').on('click', '.shili_huashu_btn', function () {
var that = $(this);
let txt = that.closest('#firmnotespoints_template').find('.c-hui-fang-yao-dian');
$.post('ai/talk_skill',{txt:txt.val()},function (res) {
// layer.close(load_index);
//回显
that.closest('#firmnotespoints_template').find('.c-content').val(res.data);
},'json');
});
$('#visit_template').on('click', '.shili_huashu_btn', function () {
var that = $(this);
let txt = that.closest('#visit_template').find('.c-hui-fang-yao-dian');
$.post('ai/talk_skill',{txt:txt.val()},function (res) {
// layer.close(load_index);
//回显
that.closest('#visit_template').find('.c-content').val(res.data);
},'json');
});
$("#c-firmnotespoints_id").on("change", function (obj) {
let firmnotespoints_id = $('#c-firmnotespoints_id').val();
$.post('Mattertemplatecategorizedcontent/getAllContent',{id:firmnotespoints_id,type:1},function (res) {
// layer.close(load_index);
//回显
console.log(res);
// $('#firmnotespoints_template .c-day').val(res.data.day);
// $('#firmnotespoints_template .c-times').val(res.data.times);
$('#firmnotespoints_template .c-hui-fang-yao-dian').val(res.data.points);
$('#firmnotespoints_template .c-content').val(res.data.content);
},'json');
});
$("#c-visit_id").on("change", function (obj) {
let visit_id = $('#c-visit_id').val();
$.post('Mattertemplatecategorizedcontent/getAllContent',{id:visit_id,type:2},function (res) {
// layer.close(load_index);
//回显
var html ='';
$.each(res.data, function (key, value) {
html = html + "<div class=\"add-group\">\n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-xs-12 col-sm-2\">N天发送:</label>\n" +
" <div class=\"col-xs-12 col-sm-8\">\n" +
" <input class=\"form-control c-day\" name=\"day\" type=\"number\" value=\""+value.day+"\">\n" +
" </div>\n" +
" </div>\n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-xs-12 col-sm-2\">时间:</label>\n" +
" <div class=\"col-xs-12 col-sm-8\">\n" +
" <input class=\"form-control datetimepicker c-times\" data-date-format=\"HH:mm:ss\" data-use-current=\"true\" name=\"times\" type=\"text\" value=\""+value.times+"\">\n" +
" </div>\n" +
" </div>\n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-xs-12 col-sm-2\">事项要点:</label>\n" +
" <div class=\"col-xs-12 col-sm-6\">\n" +
" <input class=\"form-control c-hui-fang-yao-dian\" type=\"text\" value=\""+value.points+"\" placeholder=\"请输入回访要点\" name=\"points\">\n" +
" </div>\n" +
" <div class=\"col-xs-12 col-sm-2\">\n" +
" <button type=\"button\" class=\"form-control shili_huashu_btn\" type=\"button\" value=\"示例话术\">示例话术</button>\n" +
" </div>\n" +
" </div>\n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-xs-12 col-sm-2\">内容:</label>\n" +
" <div class=\"col-xs-12 col-sm-8\">\n" +
" <textarea class=\"form-control editor c-content\" rows=\"5\" name=\"content\" cols=\"50\">"+value.content+"</textarea>\n" +
" </div>\n" +
" </div>\n" +
" <div class=\"form-group\">\n" +
" <label class=\"control-label col-xs-12 col-sm-2\"></label>\n" +
" <div class=\"col-xs-12 col-sm-8\">\n" +
" <td width=\"90\">\n" +
" <button type=\"button\" class=\"btn btn-sm btn-danger btn-remove deleteButton\"><i class=\"fa fa-times\"></i></button>\n" +
" </td>\n" +
" </div>\n" +
" </div>\n" +
" </div>";
});
$('#visit_template').empty();
$('#visit_template').append(html);
},'json');
});
$('#visit_template').on('click', '.deleteButton', function () {
// 获取当前删除按钮所在的大 div 并移除
var number = $('.add-group').length;
if (number == 1){layer.msg('至少保留一个')}else
$(this).closest('.add-group').remove();
});
$('#c-add_group_content').on('click',function (res){
res.preventDefault();
var html = $('.form_group_add_noshow').html();
html = "<div class='add-group'>"+html+"</div>";
$('#visit_template').append(html);
});
$('#submit-button-add').on('click',function (res){
var firm_id=$('#c-firm_id').val();
var firmstore_id=$('#c-firmstore_id').val();
var name=$('#c-name').val();
var firmcustomer_id=$('#c-customer-id').val();
var firmstoreprojectsone_id=$('#c-firmstoreprojectsone_id').val();
var firmstoreprojectstwo_id=$('#c-firmstoreprojectstwo_id').val();
var remark=$('#c-remark').val();
var feedback=$('#c-feedback').val();
var firmnotespoints_id=$('#c-firmnotespoints_id').val();
// var firmnotespoints_day=$('#firmnotespoints_day').val();
// var firmnotespoints_times=$('#firmnotespoints_times').val();
var firmnotespoints_points=$('#firmnotespoints_points').val();
var firmnotespoints_content=$('#firmnotespoints_content').val();
var visit_id=$('#c-visit_id').val();
var visit_info = [];
$('#visit_template .add-group').each(function (res) {
var day = $(this).find('.c-day').val();
var times = $(this).find('.c-times').val();
var points = $(this).find('.c-hui-fang-yao-dian').val();
var content = $(this).find('.c-content').val();
visit_info.push({ day: day, times: times,points:points,visit_msg:content });
});
$.post('Firmcustomerfollowuprecord/newadd',
{
firm_id:firm_id,
firmstore_id:firmstore_id,
name:name,
firmcustomer_id:firmcustomer_id,
firmstoreprojectsone_id:firmstoreprojectsone_id,
firmstoreprojectstwo_id:firmstoreprojectstwo_id,
remark:remark,
feedback:feedback,
firmnotespoints_id:firmnotespoints_id,
// firmnotespoints_day:firmnotespoints_day,
// firmnotespoints_times:firmnotespoints_times,
firmnotespoints_points:firmnotespoints_points,
notes:firmnotespoints_content,
visit_id:visit_id,
visit_info:visit_info,
},function (res) {
// layer.close(load_index);
//回显
if (res.code == 1){
layer.msg('添加成功');
}else {
layer.msg('添加失败');
}
},'json');
});
Controller.api.bindevent();
},
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));

View File

@@ -27,7 +27,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'day', title: __('Day')},
{field: 'followup_time', title: __('Followup_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'followup_time', title: __('Followup_time')},
{field: 'firmcustomerfollowuprecord.name', title: __('Firmcustomerfollowuprecord.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
]

View File

@@ -36,8 +36,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
buttons: [
{
name: 'addUpdata',
text: __('添加具体内容'),
title: __('添加具体内容'),
text: __('编辑具体内容'),
title: __('编辑具体内容'),
classname: 'btn btn-xs btn-primary btn-dialog',
icon: 'fa fa-magic',
url: 'mattertemplatecategorizedcontent/add',