123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431 |
- <?php
- namespace app\sys\controller;
- use think\facade\Request;
- use think\facade\View;
- use app\model\Employee;
- use app\model\Org;
- use app\model\Company;
- use app\model\CustomerPackage;
- use app\model\Setting;
- use app\model\CustomerPortrait;
- use app\model\CustomerSource;
- use app\model\CustomerPortraitField;
- use app\model\CustomerPortraitFieldSelect;
- use app\model\Decostyle;
- use app\model\Customer;
- class CustomerNewPortrait
- {
- //画像设置首页
- public function index()
- {
- $request = request();
- $param = $request->only(['pid']);
- if (!request()->isAjax()) {
- $pidlist = CustomerPortraitField::where([['root_id', '=', request()->employee->root_id], ['pid', '=', 0], ['status', '=', 0]])
- ->orderRaw('if(isnull(sort),1,0),sort asc')->select()->toArray();
- view::assign('list', $pidlist);
- return view::fetch();
- }
- $where[] = ['root_id', '=', request()->employee->root_id];
- if ($param['pid']) {
- $where[] = ['pid', '=', $param['pid']];
- }
- $list = CustomerPortraitField::with(['select'])->where($where)->orderRaw('if(isnull(sort),1,0),sort asc')->select()->toArray();
- foreach ($list as $key => $val) {
- if ($val['keyname'] == 'deco_style') {
- $sel = Decostyle::field('id,name,root_id as pid')->where(['root_id' => request()->employee->root_id])->where([['type', '=', 0]])->order('id desc')->select()->toArray();
- $list[$key]['select'] = $sel;
- }
- if ($val['keyname'] == 'source_id') {
- $soudata = CustomerSource::field('id,source as name')->where('root_id', request()->employee->root_id)->select()->toArray();
- $list[$key]['select'] = $soudata;
- }
- }
- return json(['code' => 0, 'msg' => '获取成功', 'data' => $list]);
- }
- //处理已经设置过画像的公司
- public function reduction_set()
- {
- $list = CustomerPortrait::select()->toArray();
- foreach ($list as $key => $val) {
- $save = [];
- foreach ($val['fields'] as $k => $v) {
- if ($k != 'info_status') {
- foreach ($v as $p => $z) {
- if (empty($z['status'])) {
- $save[] = $z;
- }
- }
- }
- }
- $list[$key]['save'] = $save;
- }
- foreach ($list as $key => $val) {
- if (!empty($val['save'])) {
- $allname = array_column($val['save'], 'title');
- $tp = CustomerPortraitField::where([['root_id', '=', $val['root_id']], ['pid', '<>', 0], ['name', 'in', $allname]])
- ->update(['status' => 1]);
- }
- }
- }
- //添加自定义字段
- public function add_field()
- {
- $request = request();
- $param = $request->only(['pid', 'name', 'type', 'select' => null, 'unity']);
- if (!request()->isAjax()) {
- view::assign('pid', $param['pid']);
- return view::fetch();
- }
- if (strlen($param['name']) > 21) {
- return json(['code' => 1, 'msg' => '名称字数不能超过7个']);
- }
- //验证字段名称重复
- $query[] = ['name', '=', trim($param['name'])];
- $query[] = ['root_id', '=', request()->employee->root_id];
- $check = CustomerPortraitField::where($query)->field('id')->findOrEmpty();
- if (!$check->isEmpty()) return json(['code' => 1, 'msg' => '“' . trim($param['name']) . '”已存在。']);
- $add = ['name' => $param['name'], 'root_id' => request()->employee->root_id, 'pid' => $param['pid'], 'type' => $param['type'], 'keyname' => time(), 'unity' => $param['unity']];
- $ms = CustomerPortraitField::create($add);
- if (($param['type'] == 3 || $param['type'] == 4) && !empty($param['select'])) {
- foreach ($param['select'] as $key => $val) {
- $a[] = ['name' => $val['name'], 'pid' => $ms->id];
- }
- CustomerPortraitFieldSelect::insertAll($a);
- }
- if ($ms->id) {
- return json(['code' => 0, 'msg' => '添加成功']);
- } else {
- return json(['code' => 1, 'msg' => '添加失败']);
- }
- }
- //修改自定义字段
- public function edit_field()
- {
- $request = request();
- $param = $request->only(['id', 'pid', 'name', 'type', 'select' => null, 'unity']);
- if (!request()->isAjax()) {
- $data = CustomerPortraitField::with(['select'])->where([['root_id', '=', request()->employee->root_id], ['id', '=', $param['id']]])
- ->find();
- view::assign('data', $data);
- return view::fetch();
- }
- if (strlen($param['name']) > 21) {
- return json(['code' => 1, 'msg' => '名称字数不能超过7个']);
- }
- $field_data = CustomerPortraitField::where([['root_id', '=', request()->employee->root_id], ['id', '=', $param['id']]])->find();
- if(empty($field_data)) return json(['code' => 1, 'msg' => '修改失败,数据不存在']);
- $noup = ['deco_style', 'source_id'];
- if (!in_array($field_data['keyname'], $noup)) {
- $add = ['name' => $param['name'], 'type' => $param['type'], 'select' => json_encode($param['select']), 'unity' => $param['unity']];
- //$ms=CustomerPortraitField::where('id',$param['id'])->update($add);
- $ms = $field_data->save($add);
- }
- $sad = [];
- $sve = [];
- if (($param['type'] == 3 || $param['type'] == 4) && !empty($param['select'])) {
- foreach ($param['select'] as $key => $val) {
- if (empty($val['id'])) {
- $sad[] = ['name' => $val['name'], 'pid' => $param['id']];
- }
- if (!empty($val['id'])) {
- $sve[] = ['name' => $val['name'], 'id' => $val['id']];
- }
- }
- if ($field_data['keyname'] == 'deco_style') {
- $fsmod = new Decostyle;
- if (!empty($sad)) {
- foreach ($sad as $k => $v) {
- //$sad[$k]['root_id']=request()->employee->root_id;
- $decad[] = ['name' => $v['name'], 'root_id' => request()->employee->root_id];
- }
- $fsmod->saveAll($decad);
- }
- if (!empty($sve)) {
- $fsmod->saveAll($sve);
- }
- } elseif ($field_data['keyname'] == 'source_id') {
- $fsmod = new CustomerSource;
- if (!empty($sad)) {
- foreach ($sad as $k => $v) {
- //$sad[$k]['root_id']=request()->employee->root_id;
- $decad[] = ['source' => $v['name'], 'root_id' => request()->employee->root_id];
- }
- $fsmod->saveAll($decad);
- }
- if (!empty($sve)) {
- $sb = [];
- $s = $fsmod->where([['id', 'in', array_column($sve, 'id')]])->column('source', 'id');
- foreach ($sve as $key => $val) {
- if($val['name'] == $s[$val['id']]) {
- unset($sve[$key]);
- continue;
- }
- $sb[] = [
- 'source' => $val['name'],
- 'id' => $val['id']
- ];
- }
- if (!empty($sb)) {
- $exit = Customer::where([['source_id', 'in', array_column($sve, 'id')]])->find();
- if($exit) return json(['code'=>1, 'msg'=>'修改失败,尚有客户使用该来源']);
- $fsmod->saveAll($sb);
- }
- }
- } else {
- $fsmod = new CustomerPortraitFieldSelect;
- if (!empty($sad)) {
- $fsmod->saveAll($sad);
- }
- if (!empty($sve)) {
- $fsmod->saveAll($sve);
- }
- }
- }
- return json(['code' => 0, 'msg' => '修改成功']);
- // if($ms){
- // return json(['code' => 0, 'msg' => '修改成功']);
- // }else{
- // return json(['code' => 1, 'msg' => '修改失败']);
- // }
- }
- //删除自定义字段
- public function del_field()
- {
- $request = request();
- $param = $request->only(['id']);
- $ms = CustomerPortraitField::where([['id', '=', $param['id']], ['root_id', '=', request()->employee->root_id]])->find();
- if ($ms['pid'] == 0) {
- $child = CustomerPortraitField::where([['pid', '=', $ms['id']], ['root_id', '=', request()->employee->root_id]])->count();
- if (!empty($child)) {
- return json(['code' => 1, 'msg' => '请先删除子选项']);
- }
- }
- $ms->delete();
- if ($ms) {
- return json(['code' => 0, 'msg' => '删除成功']);
- } else {
- return json(['code' => 1, 'msg' => '删除失败']);
- }
- }
- //删除自定义的select选项
- public function del_select_opt()
- {
- $request = request();
- $param = $request->only(['id', 'pid']);
- $pd = CustomerPortraitField::where([['id', '=', $param['pid']], ['root_id', '=', request()->employee->root_id]])->find();
- if(empty($pd)) return json(['code'=>1, 'msg'=>"删除失败"]);
- if ($pd['keyname'] == 'deco_style') {
- // echo 'www';
- // exit;
- $ms = Decostyle::where('id', $param['id'])->delete();
- } elseif ($pd['keyname'] == 'source_id') {
- // 检测属性是否已经被使用
- $s = CustomerSource::where([['id', '=', $param['id']], ['root_id', '=', request()->employee->root_id]])->find();
- if(empty($s)) return json(['code'=>1, 'msg'=>"删除失败"]);
- /* 检测是否已经使用该值,如果使用,会影响统计相关内容,则不可删除和修改(20230328王振良,https://xueque.coding.net/p/aiyuansu/assignments/issues/5331/detail)*/
- // 检测该值是否已经使用
- $exit = Customer::where(['source_id'=>$s->id])->find();
- if($exit) return json(['code'=>1, 'msg'=>"删除失败,尚有用户使用该来源"]);
- // 删除渠道
- $s->delete();
- } else {
- $ms = CustomerPortraitFieldSelect::where('id', $param['id'])->delete();
- }
- return json(['code' => 0, 'msg' => '删除成功']);
- }
- //修改字段显示隐藏
- public function set_show()
- {
- $request = request();
- $param = $request->only(['id', 'field' => '']);
- $arr = ['isadd', 'status', 'is_must'];
- if (!in_array($param['field'], $arr)) return json(['code' => 1, 'msg' => '设置失败']);
- $ids = array_filter(explode(',', $param['id']));
- foreach ($ids as $id){
- $ms = CustomerPortraitField::find($id);
- $field = $param['field'];
- $ms->$field = $ms->$field ? 0 : 1;
- $ms->save();
- if ($ms->keyname == 'group_building' && $field == 'status') {
- //建群情况和建群时间关联,,建群情况开启关闭时建群时间同步开启关闭
- CustomerPortraitField::where([['root_id', '=', request()->employee->root_id], ['keyname', '=', 'group_building_date']])->update(['status' => $ms->$field]);
- }
- }
- return json(['code' => 0, 'msg' => '设置成功']);
- //CustomerPortraitField::where([['keyname','=','source_id']])->update(['isedit'=>0,'is_status'=>0]);
- /*if ($ms) {
- return json(['code' => 0, 'msg' => '设置成功']);
- } else {
- return json(['code' => 1, 'msg' => '设置失败']);
- }*/
- }
- //添加大类
- public function add_top_field()
- {
- $request = request();
- $param = $request->only(['name']);
- $add = ['name' => $param['name'], 'root_id' => request()->employee->root_id, 'keyname' => time()];
- $ms = CustomerPortraitField::create($add);
- if ($ms->id) {
- return json(['code' => 0, 'msg' => '添加成功']);
- } else {
- return json(['code' => 1, 'msg' => '添加失败']);
- }
- }
- //修改大类
- public function edit_top_field()
- {
- $request = request();
- $param = $request->only(['name', 'id']);
- $add = ['name' => $param['name']];
- $ms = CustomerPortraitField::where([['id', '=', $param['id']], ['root_id', '=', request()->employee->root_id]])->update($add);
- if ($ms) {
- return json(['code' => 0, 'msg' => '修改成功']);
- } else {
- return json(['code' => 1, 'msg' => '修改失败']);
- }
- }
- public function change()
- {
- $defaultFields = [
- [
- 'name' => '基本信息',
- 'keyname' => 'basic_info',
- 'sort' => 1,
- 'value' => [
- ['name' => '姓名', 'type' => 1, 'isedit' => 1, 'keyname' => 'name', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 1],
- ['name' => '手机号', 'type' => 2, 'isedit' => 1, 'keyname' => 'phone', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 2],
- ['name' => '性别', 'type' => 3, 'isedit' => 1, 'keyname' => 'sex', 'isdel' => 1, 'status' => 0, 'select' => ['男', '女'], 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 3],
- ['name' => '客户等级', 'type' => 3, 'isedit' => 1, 'keyname' => 'level', 'isdel' => 1, 'status' => 0, 'select' => ['A类', 'B类', 'C类', 'D类'], 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 5],
- ['name' => '装修意向', 'type' => 3, 'isedit' => 0, 'keyname' => 'intention', 'isdel' => 1, 'status' => 0, 'select' => ['非常高', '高', '中', '低'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 6],
- ['name' => '是否添加微信', 'type' => 3, 'isedit' => 0, 'keyname' => 'wechat', 'isdel' => 1, 'status' => 0, 'select' => ['是', '否'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 20],
- ['name' => '客户关注点', 'type' => 4, 'isedit' => 0, 'keyname' => 'follow', 'isdel' => 1, 'status' => 0, 'select' => ['服务流程', '设计方案', '施工质量', '施工材料', '工期长短', '售后服务', '其他'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 18],
- ['name' => '客户痛点', 'type' => 4, 'isedit' => 0, 'keyname' => 'point', 'isdel' => 1, 'status' => 0, 'select' => ['工艺', '环保', '质量', '恶意增项', '工期延期', '其他'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 19],
- ['name' => '客户来源', 'type' => 3, 'isedit' => 1, 'keyname' => 'source_id', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 9],
- ['name' => '是否首次装修', 'type' => 3, 'isedit' => 0, 'keyname' => 'first', 'isdel' => 1, 'status' => 0, 'select' => ['是', '否'], 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 10],
- ['name' => '年龄', 'type' => 3, 'isedit' => 0, 'keyname' => 'age_range', 'isdel' => 1, 'status' => 0, 'select' => ['20岁以下', '20-30岁', '30-40岁', '40-50岁', '50-60岁', '60岁以上'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 4],
- ['name' => '当前所在区域', 'type' => 3, 'isedit' => 0, 'keyname' => 'current_region', 'isdel' => 1, 'status' => 0, 'select' => ['其他'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 8],
- ['name' => '加微类型', 'type' => 3, 'isedit' => 1, 'keyname' => 'add_wechat_type', 'isdel' => 1, 'status' => 0, 'select' => ['常规加微', '社群加微'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 11],
- ['name' => '加微时间', 'type' => 5, 'isedit' => 1, 'keyname' => 'add_wechat_time', 'isdel' => 1, 'status' => 0, 'select' => ['常规加微', '社群加微'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 12],
- ['name' => '建群情况', 'type' => 4, 'isedit' => 0, 'keyname' => 'group_building', 'isdel' => 1, 'status' => 0, 'select' => ['1对1小群', '临时大群', '社群'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 13],
- ['name' => '直播情况', 'type' => 4, 'isedit' => 1, 'keyname' => 'live_broadcast', 'isdel' => 1, 'status' => 0, 'select' => ['1对1业务直播', '1对1设计直播', '一对多直播'], 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 14],
- ['name' => '业务直播人员', 'type' => 1, 'isedit' => 1, 'keyname' => 'live_broadcast_business', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 15],
- ['name' => '设计直播人员', 'type' => 1, 'isedit' => 1, 'keyname' => 'live_broadcast_design', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 16],
- ['name' => '直播人员', 'type' => 1, 'isedit' => 1, 'keyname' => 'live_broadcast_personnel', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 17],
- ['name' => '谈单时长', 'type' => 1, 'isedit' => 0, 'keyname' => 'talking_about_single_time', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '分钟', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 21],
- ['name' => '消费水平', 'type' => 3, 'isedit' => 0, 'keyname' => 'consumption_capacity', 'isdel' => 1, 'status' => 0, 'select' => ['高', '中', '低'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 7]
- ]
- ],
- [
- 'name' => '房屋信息',
- 'keyname' => 'house_info',
- 'sort' => 2,
- 'value' => [
- ['name' => '小区名称', 'type' => 1, 'isedit' => 0, 'keyname' => 'community_name', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 1],
- ['name' => '门牌单元号', 'type' => 1, 'isedit' => 0, 'keyname' => 'unit_number', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 2],
- ['name' => '请选择房屋户型', 'type' => 3, 'isedit' => 0, 'keyname' => 'housetype_arrow', 'isdel' => 1, 'status' => 0, 'select' => ['1居室', '2居室', '3居室', '4居室', '其他'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 5],
- ['name' => '面积', 'type' => 1, 'isedit' => 0, 'keyname' => 'square', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 4],
- ['name' => '装修预算', 'type' => 2, 'isedit' => 0, 'keyname' => 'budget', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '万元', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 11],
- ['name' => '请选择倾向风格', 'type' => 3, 'isedit' => 0, 'keyname' => 'deco_style', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 6],
- ['name' => '客户喜欢的色调', 'type' => 3, 'isedit' => 0, 'keyname' => 'like_color', 'isdel' => 1, 'status' => 0, 'select' => ['黄色调', '红色调', '蓝色调', '橙色调', '绿色调', '紫色调', '白色调', '灰色调'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 16],
- ['name' => '房屋类型', 'type' => 3, 'isedit' => 1, 'keyname' => 'house_type', 'isdel' => 1, 'status' => 0, 'select' => ['现房', '期房', '二手房'], 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 7],
- ['name' => '房屋状态', 'type' => 3, 'isedit' => 0, 'keyname' => 'house_status', 'isdel' => 1, 'status' => 0, 'select' => ['毛坯', '精装', '老房'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 9],
- ['name' => '房屋结构', 'type' => 3, 'isedit' => 0, 'keyname' => 'house_structure', 'isdel' => 1, 'status' => 0, 'select' => ['公寓', '商品房', '别墅', '自建'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 14],
- ['name' => '预计交房时间', 'type' => 5, 'isedit' => 1, 'keyname' => 'house_delivery_time', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 8],
- ['name' => '预计装修时间', 'type' => 5, 'isedit' => 1, 'keyname' => 'plan_deco_time', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 10],
- ['name' => '装修方式', 'type' => 3, 'isedit' => 0, 'keyname' => 'decoration_mode', 'isdel' => 1, 'status' => 0, 'select' => ['半包', '整装', '套餐'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 15],
- ['name' => '客户其它需求', 'type' => 1, 'isedit' => 0, 'keyname' => 'customer_demand', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 17],
- ['name' => '房屋用途', 'type' => 3, 'isedit' => 0, 'keyname' => 'housing_use', 'isdel' => 1, 'status' => 0, 'select' => ['自用', '出租'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 12],
- ['name' => '房屋位置', 'type' => 1, 'isedit' => 1, 'keyname' => 'house_location', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 1, 'isedit_type' => 1, 'sort' => 3],
- ['name' => '其他房屋信息', 'type' => 1, 'isedit' => 0, 'keyname' => 'remarks_on_other_house_information', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 18],
- ['name' => '周边配套', 'type' => 4, 'isedit' => 0, 'keyname' => 'peripheral_supporting', 'isdel' => 1, 'status' => 0, 'select' => ['商业', '教育', '交通', '资源', '其他'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 13]
- ]
- ],
- [
- 'name' => '家庭信息',
- 'keyname' => 'family_info',
- 'sort' => 3,
- 'value' => [
- ['name' => '家庭结构', 'type' => 3, 'isedit' => 0, 'keyname' => 'family_structure', 'isdel' => 1, 'status' => 0, 'select' => ['新婚夫妇', '三口之家', '四口之家', '其他'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 6, 'sort' => 1],
- ['name' => '家庭成员意见', 'type' => 3, 'isedit' => 0, 'keyname' => 'family_opinion', 'isdel' => 1, 'status' => 0, 'select' => ['非常满意', '满意', '一般', '不满意'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 3],
- ['name' => '决策人', 'type' => 3, 'isedit' => 0, 'keyname' => 'decision_maker', 'isdel' => 1, 'status' => 0, 'select' => ['老婆', '丈夫', '父亲', '孩子'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 2],
- ['name' => '客户爱好', 'type' => 1, 'isedit' => 0, 'keyname' => 'hobby', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 7],
- ['name' => '客户空闲时段', 'type' => 1, 'isedit' => 0, 'keyname' => 'free_time', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 8],
- ['name' => '汽车价格', 'type' => 2, 'isedit' => 0, 'keyname' => 'car_price', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '元', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 5],
- ['name' => '房屋价格', 'type' => 2, 'isedit' => 0, 'keyname' => 'hourse_price', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '元', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 4],
- ['name' => '买小区的原因', 'type' => 1, 'isedit' => 0, 'keyname' => 'buying_community', 'isdel' => 1, 'status' => 0, 'select' => null, 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 6]
- ]
- ],
- [
- 'name' => '关注点',
- 'keyname' => 'behavioral_info',
- 'sort' => 4,
- 'value' => [
- ['name' => '重视环保', 'type' => 3, 'isedit' => 0, 'keyname' => 'environmental_requirements', 'isdel' => 1, 'status' => 0, 'select' => ['非常重视', '重视', '一般', '不重视'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 1],
- ['name' => '关注的工艺', 'type' => 3, 'isedit' => 0, 'keyname' => 'workmanship', 'isdel' => 1, 'status' => 0, 'select' => ['水电工艺', '木工工艺', '泥工工艺', '油漆工艺', '吊顶工艺', '防水工艺'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 3],
- ['name' => '重视设计', 'type' => 3, 'isedit' => 0, 'keyname' => 'design', 'isdel' => 1, 'status' => 0, 'select' => ['非常重视', '重视', '一般', '不重视'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 2],
- ['name' => '关注房屋的空间', 'type' => 4, 'isedit' => 0, 'keyname' => 'space_design', 'isdel' => 1, 'status' => 0, 'select' => ['客厅', '卧室', '卫生间', '厨房', '阳台', '其他'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 4]
- ]
- ],
- [
- 'name' => '客户满意度',
- 'keyname' => 'evaluate_info',
- 'sort' => 5,
- 'value' => [
- ['name' => '设计师服务', 'type' => 3, 'isedit' => 0, 'keyname' => 'service_satisfaction', 'isdel' => 1, 'status' => 0, 'select' => ['非常好', '好', '一般', '不满意'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 1],
- ['name' => '报价满意度', 'type' => 3, 'isedit' => 0, 'keyname' => 'quotation_satisfaction', 'isdel' => 1, 'status' => 0, 'select' => ['非常好', '好', '一般', '不满意'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 2],
- ['name' => '方案满意度', 'type' => 3, 'isedit' => 0, 'keyname' => 'program_satisfaction', 'isdel' => 1, 'status' => 0, 'select' => ['非常好', '好', '一般', '不满意'], 'unity' => '', 'is_status' => 0, 'isedit_type' => 1, 'sort' => 3]
- ]
- ]
- ];
- $fieldmod = new CustomerPortraitFieldSelect;
- $list = Company::where('root_id', 23)->field('id,root_id,company_name')->select()->toArray();
- foreach ($list as $p => $m) {
- $root_id = $m['root_id'];
- foreach ($defaultFields as $key => $val) {
- $parent = CustomerPortraitField::create([
- 'name' => $val['name'],
- 'pid' => 0,
- 'type' => 1,
- 'isedit' => 0,
- 'root_id' => $root_id,
- 'status' => 0,
- 'isdel' => 1,
- 'keyname' => $val['keyname'],
- 'sort' => $val['sort']
- ]);
- $pid = $parent->id;
- foreach ($val['value'] as $k => $v) {
- //$all[]=['name'=>$v['name'],'pid'=>$pid,'type'=>$v['type'],'isedit'=>$v['isedit'],'root_id'=>$root_id,'status'=>$v['status'],'isdel'=>$v['isdel'],'select'=>json_encode($v['select']),'keyname'=>$v['keyname']];
- $add = ['name' => $v['name'], 'pid' => $pid, 'type' => $v['type'], 'isedit' => $v['isedit'], 'root_id' => $root_id, 'status' => $v['status'], 'isdel' => $v['isdel'], 'keyname' => $v['keyname'], 'unity' => $v['unity'], 'is_status' => $v['is_status'], 'isedit_type' => $v['isedit_type'], 'sort' => $v['sort']];
- //$cp=$fieldmod->save($add);
- $cp = CustomerPortraitField::create($add);
- $all = [];
- if (!empty($v['select'])) {
- foreach ($v['select'] as $e => $r) {
- $all[] = ['name' => $r, 'pid' => $cp->id];
- }
- $childObjs = $fieldmod->saveAll($all);
- }
- }
- }
- }
- }
- }
|