diff --git a/admin/controllers/biz/Situation.php b/admin/controllers/biz/Situation.php new file mode 100644 index 00000000..6c6894fb --- /dev/null +++ b/admin/controllers/biz/Situation.php @@ -0,0 +1,145 @@ +load->model("biz/biz_model", 'mdBiz'); + $this->load->model("biz/biz_base_model", 'mdBizBase'); + $this->load->model("biz/biz_sell_model", 'mdBizSell'); + $this->load->model('area_model', 'mdArea'); + $this->load->model('sys/sys_street_model', 'mdStreet'); + $this->load->model('receiver/order/receiver_orders_model', 'mdOrders'); + $this->load->model('app/licheb/app_licheb_users_model', 'mdUsers'); + } + + /** + * Notes: + * Created on: 2022/1/7 14:52 + * Created by: dengbw + * + */ + public function index() + { + $this->lists(); + } + + public function lists() + { + } + + public function get() + { + $biz_id = $this->input->get('id'); + $re_biz = $this->mdBiz->get(['id' => $biz_id, 'status' => 1]); + if (!$re_biz || empty($re_biz)) { + return $this->show_json(SYS_CODE_FAIL, '店铺不存在!'); + } + $base_info = $sell_info = []; + //店铺概况 + $re_base = $this->mdBizBase->get(['biz_id' => $biz_id]); + $fields = $this->mdBizBase->get_fields(); + foreach ($fields as $key => $value) { + $list = ''; + if ($key == 'county_id' && $re_biz['county_id']) {//县区 + $result = $this->mdArea->get(['county_id' => $re_biz['county_id']]); + $fields[$key]['value'] = $result['county_name']; + } else if ($key == 'street_id' && $re_biz['street_id']) {//乡镇 + $result = $this->mdStreet->get(['street_id' => $re_biz['street_id']]); + $fields[$key]['value'] = $result['street_name']; + } else if ($key == 'type' && $re_biz['type']) {//类型 + $fields[$key]['value'] = $this->mdBiz->type_ary($re_biz['type']); + } else if ($key == 'lead' && $re_base[$key]) {//负责人 + $result = $this->mdUsers->get(['id' => $re_base[$key]]); + $fields[$key]['value'] = $result['uname']; + } else if ($key == 'imgs') {//图片 + $imgs = $re_base[$key] ? json_decode($re_base[$key], true) : []; + foreach ($fields[$key]['list'] as $key2 => $value2) { + $setValue = $value2; + if ($imgs[$value2['id']]) { + $setValue['src'] = build_qiniu_image_url($imgs[$value2['id']]); + } else { + $setValue['src'] = '/static/images/webuploader/bg.png'; + } + $list[] = $setValue; + } + $fields[$key]['list'] = $list; + } else if ($re_base && $re_base[$key]) {//有字段赋值 + $fields[$key]['value'] = $re_base[$key]; + } + $setValue = $fields[$key]; + $setValue['field'] = $key; + $base_info[] = $setValue; + } + //售卖概况 + $this->load->model('auto/auto_brand_model', 'mdAutoBrand'); + $jsondata = $re_biz['jsondata'] ? json_decode($re_biz['jsondata'], true) : []; + $y_month = date('Y-m', strtotime("-1 month"));//上个月 + $re_sell = $this->mdBizSell->get(['biz_id' => $biz_id, 'y_month' => $y_month]); + $fields = $this->mdBizSell->get_fields(); + foreach ($fields as $key => $value) { + if ($key == 'cooperation_car' && $jsondata['auto_brands']) { + $autoBrands = ''; + if ($re_sell[$key]) { + $autoBrands = $re_sell[$key]; + } else if ($jsondata['auto_brands']) { +// $auto_brands = implode(',', $jsondata['auto_brands']); +// $res_ab = $this->mdAutoBrand->select(["id in({$auto_brands})" => null], 'id desc', 0, 0, 'name'); +// $res_ab && $auto_brands = implode(',', array_column($res_ab, 'name')); + } + $fields[$key]['value'] = $autoBrands; + } else if ($key == 'sales') { + $orders = ''; + if ($re_sell[$key]) { + $orders = $re_sell[$key]; + } else { +// $last_month_s = date("Y-m-01", strtotime("-1 month"));//上1个月1日 +// $last_month_e = date("Y-m-d", strtotime("$last_month_s +1 month -1 day")); //上1个月最后一天 +// $where = ['biz_id' => $biz_id, 'status<>' => -1, 'brand_id<>' => 3, 'biz_id<>' => 1]; +// $orders = $this->mdOrders->count(array_merge($where, ['c_time >=' => strtotime($last_month_s . ' 00:00:00') +// , 'c_time <=' => strtotime($last_month_e . ' 23:59:59')])); + } + $fields[$key]['value'] = $orders; + } else { + $re_sell[$key] && $fields[$key]['value'] = $re_sell[$key]; + } + $setValue = $fields[$key]; + $setValue['field'] = $key; + $sell_info[] = $setValue; + } + $this->data['base_info'] = $base_info; + $this->data['sell_info'] = $sell_info; + $this->data['_title'] = $re_biz['biz_name']; + return $this->show_view('biz/situation/get', true); + } + + public function add() + { + } + + public function edit() + { + } + + public function del() + { + } + + public function batch() + { + + } + + public function export() + { + + } +} \ No newline at end of file diff --git a/admin/views/biz/situation/get.php b/admin/views/biz/situation/get.php new file mode 100644 index 00000000..f1e34725 --- /dev/null +++ b/admin/views/biz/situation/get.php @@ -0,0 +1,59 @@ +
+
+
+
+
+ + 店铺概况 + +
+
+
+ +
+
+ $value) { ?> +
+ +
+ +
+
+ $value2) { ?> +
+ +
+ + + +
+ +
+
+ + +
+
+ $value) { ?> +
+ + : +
+ +
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/admin/views/biz/store/lists.php b/admin/views/biz/store/lists.php index c9c51b3d..a1058a75 100755 --- a/admin/views/biz/store/lists.php +++ b/admin/views/biz/store/lists.php @@ -142,6 +142,7 @@ + 渠道归属 check_mobile = array();//需要手机号 $this->check_headimg = array();//授权微信信息 $this->load->model("biz/biz_model", 'mdBiz'); + $this->load->model("biz/biz_brand_model", 'mdBizBrand'); $this->load->model("biz/biz_base_model", 'mdBizBase'); $this->load->model("biz/biz_sell_model", 'mdBizSell'); + $this->load->model('area_model'); + $this->load->model('sys/sys_street_model', 'mdStreet'); + $this->load->model('receiver/order/receiver_orders_model', 'mdOrders'); } + /** + * Notes:店铺概况_tab + * Created on: 2022/1/5 15:13 + * Created by: dengbw + * @return array + */ protected function get_situation_tabs() { - return [['id' => 0, 'name' => '基础信息'], ['id' => 1, 'name' => '售卖情况']]; + return [['id' => 1, 'name' => '基础信息'], ['id' => 2, 'name' => '售卖情况']]; } protected function get_situation() @@ -38,30 +48,42 @@ class Biz extends Wxapp throw new Hd_exception('店铺不存在!', API_CODE_FAIL); } $info = []; - if ($tabs_id == 1) {//售卖情况 - $re_sell = $this->mdBizSell->get(['biz_id' => $biz_id]); + if ($tabs_id == 2) {//售卖情况 + $this->load->model('auto/auto_brand_model', 'mdAutoBrand'); + $jsondata = $re_biz['jsondata'] ? json_decode($re_biz['jsondata'], true) : []; + $y_month = date('Y-m', strtotime("-1 month"));//上个月 + $re_sell = $this->mdBizSell->get(['biz_id' => $biz_id, 'y_month' => $y_month]); $fields = $this->mdBizSell->get_fields(); - if ($re_sell) { - foreach ($fields as $key => $value) { + foreach ($fields as $key => $value) { + if ($key == 'y_month') { + $fields[$key]['value'] = $y_month; + } else if ($key == 'cooperation_car' && $jsondata['auto_brands']) { + $auto_brands = implode(',', $jsondata['auto_brands']); + $res_ab = $this->mdAutoBrand->select(["id in({$auto_brands})" => null], 'id desc', 0, 0, 'name'); + $res_ab && $fields[$key]['value'] = array_column($res_ab, 'name'); + } else if ($key == 'sales') { + $last_month_s = date("Y-m-01", strtotime("-1 month"));//上1个月1日 + $last_month_e = date("Y-m-d", strtotime("$last_month_s +1 month -1 day")); //上1个月最后一天 + $where = ['biz_id' => $biz_id, 'status<>' => -1, 'brand_id<>' => 3, 'biz_id<>' => 1]; + $orders = $this->mdOrders->count(array_merge($where, ['c_time >=' => strtotime($last_month_s . ' 00:00:00') + , 'c_time <=' => strtotime($last_month_e . ' 23:59:59')])); + $fields[$key]['value'] = $orders; + } else { $re_sell[$key] && $fields[$key]['value'] = $re_sell[$key]; } + $setValue = $fields[$key]; + $setValue['field'] = $key; + $info[] = $setValue; } } else {//基础信息 - $this->load->model('area_model'); - $this->load->model('sys/sys_street_model', 'mdStreet'); $re_base = $this->mdBizBase->get(['biz_id' => $biz_id]); $fields = $this->mdBizBase->get_fields(); foreach ($fields as $key => $value) { $list = ''; - if ($key == 'county' && $re_biz['city_id']) {//县区 - $list[] = $value['list']; - $result = $this->area(['type' => $key, 'id' => $re_biz['city_id']]); - foreach ($result as $key2 => $value2) { - $list[] = $value2; - } - $fields[$key]['list'] = $list; - $re_biz['county_id'] && $fields[$key]['value'] = $re_biz['county_id']; - } else if ($key == 'street' && $re_biz['county_id']) {//乡镇 + if ($key == 'county_id') {//县区 + $result = $this->area_model->get(['county_id' => $re_biz['county_id']]); + $result['county_name'] && $fields[$key]['value'] = $result['county_name']; + } else if ($key == 'street_id' && $re_biz['county_id']) {//乡镇 $list[] = $value['list']; $result = $this->area(['type' => $key, 'id' => $re_biz['county_id']]); foreach ($result as $key2 => $value2) { @@ -69,15 +91,15 @@ class Biz extends Wxapp } $fields[$key]['list'] = $list; $re_biz['street_id'] && $fields[$key]['value'] = $re_biz['street_id']; - } else if ($key == 'type' && $re_biz['type']) {//类型 - $list[] = $value['list']; - foreach ($this->mdBiz->type_ary() as $key2 => $value2) { - $list[] = ['id' => $key2, 'name' => $value2]; - } - $fields[$key]['list'] = $list; - $fields[$key]['value'] = $re_biz['type']; + } else if ($key == 'company' && $re_biz['brand_id']) {//公司名称 + $result = $this->mdBizBrand->get(['id' => $re_biz['brand_id']]); + $result['brand_name'] && $fields[$key]['value'] = $result['brand_name']; + } else if ($key == 'type') {//类型 + $fields[$key]['value'] = $this->mdBiz->type_ary($re_biz['type']); } else if ($key == 'level') {//级别 $fields[$key]['value'] = $this->level($biz_id); + } else if ($key == 'address' && $re_biz['address']) {//位置 + $fields[$key]['value'] = $re_biz['address']; } else if ($key == 'lead') {//负责人 $list[] = $value['list']; $result = $this->app_user_model->select(['biz_id' => $biz_id], 'id DESC', 0, 0, 'id,uname as name'); @@ -87,15 +109,15 @@ class Biz extends Wxapp $fields[$key]['list'] = $list; $re_base[$key] && $fields[$key]['value'] = $re_base[$key]; } else if ($key == 'imgs') {//负责人 - $imgs = $re_base[$key] ? $re_base[$key] : []; + $imgs = $re_base[$key] ? json_decode($re_base[$key], true) : []; foreach ($fields[$key]['list'] as $key2 => $value2) { $setValue = $value2; if ($imgs[$value2['id']]) { $setValue['value'] = $imgs[$value2['id']]; - $setValue['scr'] = build_qiniu_image_url($setValue['value']); + $setValue['src'] = build_qiniu_image_url($setValue['value']); } else { $setValue['value'] = ''; - $setValue['scr'] = ''; + $setValue['src'] = ''; } $list[] = $setValue; } @@ -111,48 +133,88 @@ class Biz extends Wxapp return $info; } - public function get_area() + protected function get_street() { - $type = $this->input->get('type'); $id = intval($this->input->get('id')); - return $this->area(['type' => $type, 'id' => $id]); + $list[] = ['id' => 0, 'name' => '选择乡镇']; + if (!$id) { + return $list; + } + $result = $this->area(['type' => 'street', 'id' => $id]); + foreach ($result as $key => $value) { + $list[] = $value; + } + return $list; } public function area($params) { $result = []; if ($params['id']) { - if ($params['type'] == 'county') { + if ($params['type'] == 'county_id' || $params['type'] == 'county') { $result = $this->area_model->county($params['id'], 1); - } else if ($params['type'] == 'street') { + } else if ($params['type'] == 'street_id' || $params['type'] == 'street') { $result = $this->mdStreet->select(['county_id' => $params['id']], 'id ASC', 0, 0, 'street_id as id,street_name as name'); } } return $result; } - protected function post() + protected function post_situation() { - $id = intval($this->input_param('id')); + $tabs_id = intval($this->input_param('tabs_id')); $info = $this->input_param('info'); - if (!$id || !$info) { + if (!$tabs_id || !$info) { throw new Exception('参数错误', ERR_PARAMS_ERROR); } $biz_id = $this->session['new_biz_id'] ? $this->session['new_biz_id'] : intval($this->session['biz_id']); - if ($id == 1) {//售卖情况 - } else {//基础信息 + if ($tabs_id == 2) {//售卖情况 $date = []; - $fields = $this->mdBizBase->get_fields(); - foreach ($fields as $key => $value) { - if ($info[$key]) { - $date[$key] = $value; + foreach ($info as $key => $value) { + if ($value['field'] == 'sale_cars' || $value['field'] == 'clues_channel') { + } else if ($value['field'] == 'cooperation_car') { + $date[$value['field']] = $value['value'] ? implode(',', $value['value']) : ''; + } else { + $date[$value['field']] = $value['value']; + } + } + $y_month = date('Y-m', strtotime("-1 month"));//上个月 + $re_sell = $this->mdBizSell->get(['biz_id' => $biz_id, 'y_month' => $y_month]); + if (!$re_sell) {//新增 + $date['biz_id'] = $biz_id; + $date['y_month'] = $y_month; + $date['status'] = 1; + $date['c_time'] = time(); + $this->mdBizSell->add($date); + } else {//更新 + $this->mdBizSell->update($date, ['id' => $re_sell['id']]); + } + } else {//基础信息 + $date = $biz = []; + foreach ($info as $key => $value) { + if ($value['field'] == 'company' || $value['field'] == 'level' || $value['field'] == 'type' || $value['field'] == 'county_id') { + } else if ($value['field'] == 'address' || $value['field'] == 'street_id') {//更新门店信息 + $biz[$value['field']] = $value['value']; + } else if ($value['field'] == 'imgs') { + $imgs = []; + foreach ($value['list'] as $key2 => $value2) { + $imgs[$value2['id']] = $value2['value']; + } + $date[$value['field']] = json_encode($imgs, JSON_UNESCAPED_UNICODE); + } else { + $date[$value['field']] = $value['value']; } } $re_base = $this->mdBizBase->get(['biz_id' => $biz_id]); - if (!$re_base) {//更新 + if (!$re_base) {//新增 $date['biz_id'] = $biz_id; - } else {//新增 + $date['status'] = 1; + $date['c_time'] = time(); + $this->mdBizBase->add($date); + } else {//更新 + $this->mdBizBase->update($date, ['id' => $re_base['id']]); } + $this->mdBiz->update($biz, ['id' => $biz_id]);//更新门店信息 } throw new Exception('保存成功', API_CODE_SUCCESS); } @@ -161,7 +223,6 @@ class Biz extends Wxapp { $str = ''; if ($biz_id) { - $this->load->model('receiver/order/receiver_orders_model', 'mdOrders'); $where = ['biz_id' => $biz_id, 'status<>' => -1, 'brand_id<>' => 3, 'biz_id<>' => 1]; $last_month_s = date("Y-m-01", strtotime("-1 month"));//上1个月1日 $last_month_e = date("Y-m-d", strtotime("$last_month_s +1 month -1 day")); //上1个月最后一天 diff --git a/api/controllers/wxapp/licheb/Transfer.php b/api/controllers/wxapp/licheb/Transfer.php index abbf20df..c96ef25c 100644 --- a/api/controllers/wxapp/licheb/Transfer.php +++ b/api/controllers/wxapp/licheb/Transfer.php @@ -207,7 +207,7 @@ class Transfer extends Wxapp } } $data['transport'] = ['title' => '运输负责人', 'name' => $jsondata['transport']['name'] - , 'mobile' => $jsondata['transport']['mobile'], 'imgs' => $transport_imgs]; + , 'mobile' => $jsondata['transport']['mobile'], 'cardid' => $jsondata['transport']['cardid'], 'imgs' => $transport_imgs]; $this->db->from('lc_items_transfer_remind'); $this->db->join('lc_app_licheb_users', "lc_app_licheb_users.id = lc_items_transfer_remind.uid", 'left'); $this->db->select('lc_items_transfer_remind.type,lc_app_licheb_users.uname'); diff --git a/common/models/biz/Biz_base_model.php b/common/models/biz/Biz_base_model.php index 21a9af14..a62b57ac 100644 --- a/common/models/biz/Biz_base_model.php +++ b/common/models/biz/Biz_base_model.php @@ -17,18 +17,19 @@ class Biz_base_model extends HD_Model public function get_fields() { - $field['company'] = ['title' => '公司名称', 'type' => 'input', 'input_type' => 'text', 'value' => '']; - $field['county'] = ['title' => '县区', 'type' => 'select', 'list' => ['id' => 0, 'name' => '选择县区'], 'value' => '']; - $field['street'] = ['title' => '乡镇', 'type' => 'select', 'list' => ['id' => 0, 'name' => '选择乡镇'], 'value' => '']; - $field['type'] = ['title' => '类型', 'type' => 'select', 'list' => ['id' => 0, 'name' => '选择类型'], 'value' => '']; + $field['company'] = ['title' => '公司名称', 'type' => 'text', 'value' => '']; $field['level'] = ['title' => '级别', 'type' => 'text', 'value' => '']; - $field['lead'] = ['title' => '负责人', 'type' => 'select', 'list' => ['id' => 0, 'name' => '选择负责人'], 'value' => '']; - $field['douyin'] = ['title' => '抖音号', 'type' => 'input', 'input_type' => 'text', 'value' => '']; + $field['type'] = ['title' => '类型', 'type' => 'text', 'value' => '']; + $field['county_id'] = ['title' => '县区', 'type' => 'text', 'value' => '']; + $field['street_id'] = ['title' => '乡镇', 'type' => 'select', 'list' => ['id' => 0, 'name' => '选择乡镇'], 'value' => '']; $field['address'] = ['title' => '位置', 'type' => 'input', 'input_type' => 'text', 'value' => '']; - $field['area'] = ['title' => '面积', 'type' => 'input', 'input_type' => 'int', 'value' => '']; - $field['rent'] = ['title' => '租金/月', 'type' => 'input', 'input_type' => 'int', 'value' => '']; + $field['lead'] = ['title' => '负责人', 'type' => 'select', 'list' => ['id' => 0, 'name' => '选择负责人'], 'value' => '']; + $field['mobile'] = ['title' => '手机号', 'type' => 'input', 'input_type' => 'number', 'value' => '']; + $field['douyin'] = ['title' => '抖音号', 'type' => 'input', 'input_type' => 'text', 'value' => '']; + $field['area'] = ['title' => '面积', 'type' => 'input', 'input_type' => 'number', 'value' => '']; + $field['rent'] = ['title' => '租金/月', 'type' => 'input', 'input_type' => 'number', 'value' => '']; $field['imgs'] = ['title' => '门店照片', 'type' => 'img', 'list' => [['id' => 1, 'name' => '远景'] - , ['id' => 2, 'name' => '门头'], ['id' => 3, 'name' => '内景']], 'value' => '']; + , ['id' => 2, 'name' => '门头'], ['id' => 3, 'name' => '内景']]]; return $field; } diff --git a/common/models/biz/Biz_sell_model.php b/common/models/biz/Biz_sell_model.php index 4fc25623..4e20400c 100644 --- a/common/models/biz/Biz_sell_model.php +++ b/common/models/biz/Biz_sell_model.php @@ -17,19 +17,20 @@ class Biz_sell_model extends HD_Model public function get_fields() { - $field['boss_sell'] = ['title' => '老板卖车', 'type' => 'radio', 'list' => [0 => '否', 1 => '是'], 'value' => 0]; - $field['team_num'] = ['title' => '团队人数', 'type' => 'input', 'input_type' => 'int', 'value' => '']; - $field['sales'] = ['title' => '销量(台/上月)', 'type' => 'text', 'value' => '']; + $field['y_month'] = ['title' => '统计月份', 'type' => 'text', 'value' => '']; + $field['boss_sell'] = ['title' => '老板卖车', 'type' => 'select', 'list' => [['id' => 0, 'name' => '否'], ['id' => 1, 'name' => '是']], 'value' => 0]; + $field['team_num'] = ['title' => '团队人数', 'type' => 'input', 'input_type' => 'number', 'value' => '']; + $field['sales'] = ['title' => '销量(台)', 'type' => 'text', 'value' => '']; $field['sale_cars'] = ['title' => '在售车型(当前)', 'type' => 'panel']; - $field['fuel_prop'] = ['title' => '燃油占比', 'type' => 'input', 'input_type' => 'int', 'tag' => '%', 'value' => '']; - $field['energy_prop'] = ['title' => '新能源占比', 'type' => 'input', 'input_type' => 'int', 'tag' => '%', 'value' => '']; - $field['competitor_car'] = ['title' => '竞品车型', 'type' => 'input', 'input_type' => 'text', 'value' => '']; - $field['cooperation_car'] = ['title' => '合作车型', 'type' => 'text', 'value' => '']; + $field['fuel_prop'] = ['title' => '燃油占比', 'type' => 'input','bg_color'=>'#f6f6f6', 'input_type' => 'number', 'tag' => '%', 'value' => '']; + $field['energy_prop'] = ['title' => '新能源占比', 'type' => 'input','bg_color'=>'#f6f6f6', 'input_type' => 'number', 'tag' => '%', 'value' => '']; + $field['competitor_car'] = ['title' => '竞品车型', 'type' => 'input','bg_color'=>'#f6f6f6', 'input_type' => 'text', 'value' => '']; + $field['cooperation_car'] = ['title' => '合作车型', 'type' => 'texts','bg_color'=>'#f6f6f6', 'value' => '']; $field['clues_channel'] = ['title' => '当前线索渠道', 'type' => 'panel']; - $field['introduce_prop'] = ['title' => '转介绍', 'type' => 'input', 'input_type' => 'int', 'tag' => '%', 'value' => '']; - $field['outside_prop'] = ['title' => '外拓外展', 'type' => 'input', 'input_type' => 'int', 'tag' => '%', 'value' => '']; - $field['network_prop'] = ['title' => '网络推广', 'type' => 'input', 'input_type' => 'int', 'tag' => '%', 'value' => '']; - $field['we_media_prop'] = ['title' => '自媒体', 'type' => 'input', 'input_type' => 'int', 'tag' => '%', 'value' => '']; + $field['introduce_prop'] = ['title' => '转介绍', 'type' => 'input','bg_color'=>'#f6f6f6', 'input_type' => 'number', 'tag' => '%', 'value' => '']; + $field['outside_prop'] = ['title' => '外拓外展', 'type' => 'input','bg_color'=>'#f6f6f6', 'input_type' => 'number', 'tag' => '%', 'value' => '']; + $field['network_prop'] = ['title' => '网络推广', 'type' => 'input','bg_color'=>'#f6f6f6', 'input_type' => 'number', 'tag' => '%', 'value' => '']; + $field['we_media_prop'] = ['title' => '自媒体', 'type' => 'input','bg_color'=>'#f6f6f6', 'input_type' => 'number', 'tag' => '%', 'value' => '']; return $field; }