客户回访调整
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
namespace app\admin\controller;
|
namespace app\admin\controller;
|
||||||
|
|
||||||
use app\common\controller\Backend;
|
use app\common\controller\Backend;
|
||||||
|
use think\Db;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户回访记录
|
* 客户回访记录
|
||||||
@@ -49,10 +50,9 @@ class Firmcustomerfollowuprecord extends Backend
|
|||||||
return $this->selectpage();
|
return $this->selectpage();
|
||||||
}
|
}
|
||||||
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
|
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
|
||||||
|
|
||||||
$list = $this->model
|
$list = $this->model
|
||||||
|
|
||||||
->where($where)
|
->where($where)
|
||||||
|
->where('firmcustomer_id','=',input('ids'))
|
||||||
->order($sort, $order)
|
->order($sort, $order)
|
||||||
->paginate($limit);
|
->paginate($limit);
|
||||||
|
|
||||||
@@ -68,4 +68,70 @@ class Firmcustomerfollowuprecord extends Backend
|
|||||||
return $this->view->fetch();
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ class Firmcustomerfollowuptimelist extends Backend
|
|||||||
$list = $this->model
|
$list = $this->model
|
||||||
->with(['firmcustomerfollowuprecord'])
|
->with(['firmcustomerfollowuprecord'])
|
||||||
->where($where)
|
->where($where)
|
||||||
|
->where('firmcustomerfollowuprecord_id','=',input('ids'))
|
||||||
->order($sort, $order)
|
->order($sort, $order)
|
||||||
->paginate($limit);
|
->paginate($limit);
|
||||||
|
|
||||||
|
|||||||
@@ -77,14 +77,18 @@ class Mattertemplatecategorization extends Backend
|
|||||||
$firmstoreprojectsone_id = input('firmstoreprojectsone_id');
|
$firmstoreprojectsone_id = input('firmstoreprojectsone_id');
|
||||||
$firmstoreprojectstwo_id = input('firmstoreprojectstwo_id');
|
$firmstoreprojectstwo_id = input('firmstoreprojectstwo_id');
|
||||||
$model = $this->model->where('mattertemplate_id',1);
|
$model = $this->model->where('mattertemplate_id',1);
|
||||||
|
$visitmodel = Db::table('fa_mattertemplatecategorization')->where('mattertemplate_id',2);
|
||||||
if (!empty($firmstoreprojectsone_id)){
|
if (!empty($firmstoreprojectsone_id)){
|
||||||
$model = $model->where('firmstoreprojectsone_id',$firmstoreprojectsone_id);
|
$model = $model->where('firmstoreprojectsone_id',$firmstoreprojectsone_id);
|
||||||
|
$visitmodel = $visitmodel->where('firmstoreprojectsone_id',$firmstoreprojectsone_id);
|
||||||
}
|
}
|
||||||
if (!empty($firmstoreprojectstwo_id)){
|
if (!empty($firmstoreprojectstwo_id)){
|
||||||
$model = $model->where('firmstoreprojectstwo_id',$firmstoreprojectstwo_id);
|
$model = $model->where('firmstoreprojectstwo_id',$firmstoreprojectstwo_id);
|
||||||
|
$visitmodel = $visitmodel->where('firmstoreprojectstwo_id',$firmstoreprojectstwo_id);
|
||||||
}
|
}
|
||||||
$data = $model->select();
|
$data = $model->select();
|
||||||
return json(['total'=>count($data),'data'=>$data]);
|
$visitdata = $visitmodel->select();
|
||||||
|
return json(['data'=>$data,'visit_data'=>$visitdata]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,4 +171,16 @@ class Mattertemplatecategorizedcontent extends Backend
|
|||||||
}
|
}
|
||||||
$this->success();
|
$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]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-xs-12 col-sm-2">{:__('Followup_time')}:</label>
|
<label class="control-label col-xs-12 col-sm-2">{:__('Followup_time')}:</label>
|
||||||
<div class="col-xs-12 col-sm-8">
|
<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>
|
</div>
|
||||||
<div class="form-group layer-footer">
|
<div class="form-group layer-footer">
|
||||||
|
|||||||
@@ -48,10 +48,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||||||
{
|
{
|
||||||
name: 'addFollwup',
|
name: 'addFollwup',
|
||||||
text: __('新增回访'),
|
text: __('新增回访'),
|
||||||
title: __('新增回访'),
|
title: __('新增回访new'),
|
||||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||||
icon: 'fa fa-magic',
|
icon: 'fa fa-magic',
|
||||||
url: 'firmcustomerfollowuprecord/add',
|
url: 'firmcustomerfollowuprecord/newadd',
|
||||||
callback: function (data) {
|
callback: function (data) {
|
||||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||||
},
|
},
|
||||||
@@ -60,28 +60,28 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||||||
return true;
|
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',
|
name: 'follwuplist',
|
||||||
text: __('回访列表'),
|
text: __('回访列表'),
|
||||||
title: __('回访列表'),
|
title: __('回访列表'),
|
||||||
classname: 'btn btn-xs btn-success btn-dialog',
|
classname: 'btn btn-xs btn-success btn-dialog',
|
||||||
icon: 'fa fa-list',
|
icon: 'fa fa-list',
|
||||||
url: 'firmcustomerfollowuprecord/index',
|
url: 'firmcustomerfollowuprecord/index?ids={ids}',
|
||||||
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',
|
|
||||||
callback: function (data) {
|
callback: function (data) {
|
||||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
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',
|
// name: 'selectSendTime',
|
||||||
// text: __('查看发送时间'),
|
// text: __('查看发送时间'),
|
||||||
// title: __('查看发送时间'),
|
// title: __('查看发送时间'),
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||||||
title: __('计划列表'),
|
title: __('计划列表'),
|
||||||
classname: 'btn btn-xs btn-success btn-dialog',
|
classname: 'btn btn-xs btn-success btn-dialog',
|
||||||
icon: 'fa fa-list',
|
icon: 'fa fa-list',
|
||||||
url: 'firmcustomerfollowuptimelist/index',
|
url: 'firmcustomerfollowuptimelist/index?ids={ids}',
|
||||||
callback: function (data) {
|
callback: function (data) {
|
||||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||||
},
|
},
|
||||||
@@ -132,6 +132,171 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||||||
edit: function () {
|
edit: function () {
|
||||||
Controller.api.bindevent();
|
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: {
|
api: {
|
||||||
bindevent: function () {
|
bindevent: function () {
|
||||||
Form.api.bindevent($("form[role=form]"));
|
Form.api.bindevent($("form[role=form]"));
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||||||
{checkbox: true},
|
{checkbox: true},
|
||||||
{field: 'id', title: __('Id')},
|
{field: 'id', title: __('Id')},
|
||||||
{field: 'day', title: __('Day')},
|
{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: '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}
|
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: 'addUpdata',
|
name: 'addUpdata',
|
||||||
text: __('添加具体内容'),
|
text: __('编辑具体内容'),
|
||||||
title: __('添加具体内容'),
|
title: __('编辑具体内容'),
|
||||||
classname: 'btn btn-xs btn-primary btn-dialog',
|
classname: 'btn btn-xs btn-primary btn-dialog',
|
||||||
icon: 'fa fa-magic',
|
icon: 'fa fa-magic',
|
||||||
url: 'mattertemplatecategorizedcontent/add',
|
url: 'mattertemplatecategorizedcontent/add',
|
||||||
|
|||||||
Reference in New Issue
Block a user