1402 Commits

Author SHA1 Message Date
qianhy ac8d23bebc cost import 2023-01-18 11:42:35 +08:00
qianhy 6c4473c13d orderve orders export add srv 2023-01-16 16:18:30 +08:00
qianhy b5a7c2fd19 orderv2 orders detail display 2023-01-16 13:39:09 +08:00
qianhy 37b7f13d78 orderv2 orders export split of_title 2023-01-16 10:57:40 +08:00
qianhy 65dbf502cc orderv2 orders export 2023-01-13 17:19:23 +08:00
dengbw a51140c766 admin_stock_113_2 2023-01-13 16:40:12 +08:00
dengbw 707b918889 admin_stock_113 2023-01-13 14:53:52 +08:00
qianhy 775bb75180 cost display modify 2023-01-13 09:59:41 +08:00
qianhy 528b0e165e cost add biz_type in (2,3) spyw 2023-01-12 15:17:51 +08:00
dengbw 4c23e18b20 admin_stock_112 2023-01-12 14:36:25 +08:00
qianhy 36f42a33e8 cost query add biz_type 2023-01-11 17:35:30 +08:00
qianhy 4859f39d32 cost add quert,export excel,detail modify 2023-01-11 16:53:25 +08:00
dengbw 65c54deb86 market_statistics_111 2023-01-11 16:20:30 +08:00
dengbw 1e2ca4c0c3 liche_user_110 2023-01-10 14:48:17 +08:00
qianhy f2c5d12f87 cost detail fixbug: business_id 2023-01-10 11:25:31 +08:00
qianhy 81bff0f50e cost detail biaodian use cn 2023-01-10 10:59:41 +08:00
qianhy fb488701cf cost detail spyw can modify all 2023-01-10 10:38:40 +08:00
qianhy 3ffc35343a cost order plan add: status_pid=4 and status=1 2023-01-10 09:27:35 +08:00
qianhy 84d535a763 cost detail if_pay use checkbox operation 2023-01-09 17:15:46 +08:00
qianhy 095349fdf9 cost plan, add filter item_id > 0 2023-01-09 16:18:49 +08:00
lccsw bf233ef568 edit-admin-cost 2023-01-09 15:04:08 +08:00
lccsw e0df382080 edit-admin-const 2023-01-09 15:04:03 +08:00
dengbw c3fb975ead admin_store_109 2023-01-09 15:01:39 +08:00
qianhy 39a7b373dc orders aggs_biz_ding_piao_rpt, add export excel2 2023-01-09 14:43:29 +08:00
dengbw 9e0d0bfbdf market_groupswin_109_2 2023-01-09 10:42:38 +08:00
lccsw 71ae42ae1c edit-plan-cost 2023-01-09 10:25:36 +08:00
dengbw 0580ab059e market_groupswin_109 2023-01-09 10:10:04 +08:00
dengbw 73172f2bb1 market_live_105 2023-01-05 17:02:24 +08:00
lccsw ce2b0c1bf4 add-item-cost.sql 2023-01-03 14:32:56 +08:00
qianhy 0de1c4519f orders aggs_biz_ding_piao_rpt, fixbug no data to image 2023-01-01 23:40:51 +08:00
lccsw de91a9d520 edit-admin-cost 2022-12-26 17:07:48 +08:00
lccsw e7b401f210 edit-sylive-line_time 2022-12-23 17:47:47 +08:00
lccsw e8cf6ee246 edit-licheb-car_pdf 2022-12-23 17:47:38 +08:00
lccsw 7efc7134e3 edit-licheb-money_limit2 2022-12-23 17:47:25 +08:00
dengbw 4ea0f740b1 market_institution_1223 2022-12-23 14:18:28 +08:00
lccsw 068b7399c2 edit-licheb-money_limit 2022-12-23 14:12:28 +08:00
lccsw 29a3f89b41 edit-sylive-time 2022-12-23 11:11:08 +08:00
lccsw d98db6c872 edit-sylive-majia 2022-12-23 10:57:11 +08:00
lccsw f873b17c84 add-admin-cost 2022-12-23 10:40:49 +08:00
老叶 54b6685b40 图表修改 2022-12-23 10:39:49 +08:00
老叶 3fd4172e2a 修改图表-根据数组长度判断图表宽度 2022-12-23 10:26:01 +08:00
dengbw b97e317e3d market_statistics_1222 2022-12-22 14:10:39 +08:00
lccsw 24f96333ad edit-liche-money_limit 2022-12-22 09:29:04 +08:00
qianhy 63489aeb08 customer add export, orders adjust_fee fixbug 2022-12-22 09:22:50 +08:00
qianhy 79db0134be transfer status=2 can edit fees and transport 2022-12-21 10:49:44 +08:00
dengbw b8d47f9e4d market_groups_1220_2 2022-12-20 17:51:24 +08:00
dengbw 3651e82958 market_groups_1220 2022-12-20 17:33:47 +08:00
qianhy d201eb2132 order edit_price or edit_srv add order_status_check_after_adjust_fee 2022-12-20 15:23:11 +08:00
lccsw 98ccf9a0f3 add-plan-up_view_log 2022-12-20 14:53:06 +08:00
qianhy f2ca56e3e4 orders aggs_biz_ding_piao_rpt, ding search all 2022-12-20 14:52:20 +08:00
qianhy 65436186a6 orders aggs_biz_ding_piao_rpt, fixbug key_ding key_piao 2022-12-19 15:30:31 +08:00
dengbw 4d14ffd53c market_groups_1219 2022-12-19 15:21:17 +08:00
dengbw 089588d819 market_draw_1219 2022-12-19 10:30:47 +08:00
lccsw e5b692963d edit-sylive-plan 2022-12-19 09:43:39 +08:00
qianhy 3dd06352b8 orders aggs_biz_ding_piao_rpt, plan online 2022-12-19 00:20:09 +08:00
qianhy ca0eb36153 orders aggs_biz_ding_piao_rpt, plan fixbug lte 23.10 2022-12-16 23:55:34 +08:00
dengbw fb58935867 market_draw_1216_4 2022-12-16 17:37:27 +08:00
dengbw a8ff536406 market_draw_1216_3 2022-12-16 16:39:02 +08:00
dengbw 166c04d4a6 market_draw_1216_2 2022-12-16 16:31:12 +08:00
dengbw 52e1380293 market_draw_1216 2022-12-16 16:23:11 +08:00
lccsw 4c45bfd64d edit-sylive-kpi_order 2022-12-16 15:07:27 +08:00
lccsw 2d42f8dc38 edit-sylive-html 2022-12-16 13:48:52 +08:00
lccsw 1f583d1967 edit-sylive-group_list 2022-12-16 10:43:47 +08:00
qianhy 113a7d1864 orders aggs_biz_ding_piao_rpt, plan add redis control 2022-12-16 10:00:39 +08:00
lccsw 849895052f edit-sylive-item_user_info 2022-12-15 17:29:10 +08:00
dengbw 0dd8779612 market_draw_1215 2022-12-15 15:35:30 +08:00
lccsw 62bd5338ac edit-sylive-item_id 2022-12-15 11:55:39 +08:00
lccsw 3e1160ae0a edit-sylive-temp_kpi 2022-12-15 10:29:11 +08:00
dengbw 1d85744d64 market_groups_1215_2 2022-12-15 10:25:34 +08:00
dengbw 067bb9642f market_groups_1215 2022-12-15 09:53:06 +08:00
qianhy 66e2116a7a orders aggs_biz_ding_piao_rpt, city_name ext qudao_name 2022-12-15 09:44:12 +08:00
lccsw d6b95754e7 edit-sylive-live_limit 2022-12-14 18:00:13 +08:00
老叶 22075e5ea4 Revert "Merge branch 'dev' of http://git.haodian.cn:8081/lcc/liche into dev"
This reverts commit 2e83df471bcb35ac1aa9688201375e1fcf219e09, reversing
changes made to 41f84e04990376ab19e6fea2b26892e335f6466a.
2022-12-14 17:46:02 +08:00
lccsw 8b0665bbe0 edit-sylive-item_id 2022-12-14 17:46:02 +08:00
老叶 6cd55a0e21 图表样式 2022-12-14 17:45:58 +08:00
lccsw 8aa8bae804 add-sylive-item_limit 2022-12-14 17:05:50 +08:00
老叶 04b9b0a79a 顾问管理样式修改 2022-12-14 16:21:26 +08:00
qianhy 6f19305883 orderv2 list add date quick select 2022-12-14 15:59:07 +08:00
qianhy 47adbfe625 orders aggs_biz_ding_piao_rpt, modify font plantime 2022-12-14 15:35:49 +08:00
qianhy c3d64ae769 orders aggs_biz_ding_piao_rpt, del null column line 2022-12-14 10:58:22 +08:00
qianhy 09f3fe812b add orders aggs_biz_ding_piao_rpt about 2022-12-13 16:56:17 +08:00
lccsw 77d4bce21b edit-sylive-item_limit 2022-12-13 14:38:53 +08:00
qianhy 804bef8edd bsrv df_lists add 350300 2022-12-13 13:51:27 +08:00
lccsw 4282e37d74 edit-sylive-html 2022-12-13 10:15:53 +08:00
lccsw ce66514b08 edit-sylive-hidden_share 2022-12-12 17:58:16 +08:00
dengbw bbf379fb44 market_groups_1212 2022-12-12 17:30:11 +08:00
lccsw 66d905f8b9 edit-sylive-static 2022-12-12 16:18:11 +08:00
qianhy 545f1f2e73 ordersv2list add owner_cradid 2022-12-12 12:19:51 +08:00
lccsw 1e0570443f edit-sylive-hidden_wxshare 2022-12-12 09:41:58 +08:00
lccsw a40c58be11 edit-sylive-kpidata 2022-12-11 20:30:24 +08:00
dengbw 0bf3c31cbc market_groups_1211 2022-12-11 17:49:06 +08:00
lccsw 2e3ba09cbc edit-sylive-rank 2022-12-11 09:13:27 +08:00
dengbw 2b409860ce market_groups_1210_5
market_groups_1210_6

market_groups_1210_8
2022-12-11 09:13:24 +08:00
dengbw 8aadd39e79 market_groups_1210_4 2022-12-10 23:50:16 +08:00
dengbw 964bf7f26b market_groups_1210_3 2022-12-10 23:26:26 +08:00
dengbw d010bd864f market_groups_1210_2 2022-12-10 22:57:58 +08:00
dengbw 0205ee703e market_groups_1210 2022-12-10 15:45:42 +08:00
lccsw ab3d76486b edit-sylive-act 2022-12-09 17:48:20 +08:00
dengbw eb2058633d market_groups_1209_4 2022-12-09 17:39:29 +08:00
lccsw 483134edf9 edit-sylive-biz 2022-12-09 17:21:51 +08:00
dengbw c397ed6efd market_groups_1209_3 2022-12-09 14:12:02 +08:00
lccsw e4712f0f79 edit-sylive-org_select 2022-12-09 14:11:24 +08:00
dengbw 97dda9fc2e market_groups_1209_2 2022-12-09 13:58:58 +08:00
dengbw 0cdb594cb2 market_groups_1209 2022-12-09 13:46:59 +08:00
dengbw c0d46339ee market_groups_1208 2022-12-08 16:13:55 +08:00
lccsw 85bbbd6499 edit-sylive-2 2022-12-08 16:13:12 +08:00
lccsw da4ceecbd1 add-sylive-2 2022-12-08 16:02:30 +08:00
dengbw da9cf1c300 market_groups_1125 2022-12-07 17:36:12 +08:00
qianhy 09fde723a1 edit_bill_img img mode overide bill_ck_img 2022-12-07 10:54:36 +08:00
qianhy 66b75790db credit del ex-3.jpg 2022-12-01 17:28:09 +08:00
qianhy 5aa03aeea3 fixbug orders.notify_file_list, owners.biz_id, owners.admin_id 2022-12-01 16:42:07 +08:00
lccsw 4e8213a4db edit-sylive-order_kpi 2022-11-28 17:07:20 +08:00
lccsw 3812ca8ef0 edit-liche-show_btn 2022-11-28 17:06:24 +08:00
lccsw f04612598e edit-sylive-item_limit 2022-11-26 16:06:39 +08:00
lccsw 9e8ffc83ae edit-sylive-user 2022-11-26 14:31:47 +08:00
dengbw ec0097397d market_draw_1125 2022-11-25 17:56:47 +08:00
dengbw c078c7381a market_draw_1124 2022-11-24 16:50:01 +08:00
dengbw f907c6d1a9 market_user_1124 2022-11-24 09:51:16 +08:00
dengbw 4f392cb38d market_statistics_1123_3 2022-11-23 16:42:37 +08:00
dengbw 9c8b0a7e57 market_statistics_1123_2 2022-11-23 13:40:40 +08:00
dengbw 93ba721d6a market_statistics_1123 2022-11-23 09:55:17 +08:00
lccsw ba7d2103de edit-api-post_cus2 2022-11-22 17:46:17 +08:00
lccsw 2243de4922 edit-api-post_cus 2022-11-22 16:47:17 +08:00
lccsw fa46f794b0 edit-sylive-team_logo 2022-11-22 15:43:29 +08:00
lccsw 14f4f075c1 edit-admin-loan_img 2022-11-22 15:22:16 +08:00
dengbw 86ea9a3586 market_statistics_1122 2022-11-22 15:15:26 +08:00
lccsw 11c226ce88 edit-sylive-auth 2022-11-22 10:21:42 +08:00
lccsw 25bec471b4 edit-sylive-pay 2022-11-21 17:57:09 +08:00
dengbw c143031c98 market_activity_1121_3 2022-11-21 17:51:46 +08:00
lccsw a4d820107a edit-sylive-item_pay 2022-11-21 17:38:47 +08:00
dengbw e401352839 market_activity_1121_2 2022-11-21 17:07:20 +08:00
lccsw f95a884227 edit-liche-srv_info2 2022-11-21 16:26:21 +08:00
lccsw 89aa47f583 edit-sylive-hidden_con 2022-11-21 12:21:28 +08:00
lccsw 1154141c79 edit-liche-srv_info 2022-11-21 11:41:49 +08:00
dengbw 0b019660a4 market_activity_1121 2022-11-21 11:33:49 +08:00
lccsw 71a48ad040 edit-sylive-headimg 2022-11-20 19:30:44 +08:00
lccsw a316b55fbe edit-sylive-banner 2022-11-20 19:15:27 +08:00
dengbw a04518df3a market_1120_2 2022-11-20 18:47:13 +08:00
dengbw e89610c5bc market_1120 2022-11-20 18:28:22 +08:00
dengbw 2347125590 market_activity_1118 2022-11-18 22:53:14 +08:00
lccsw 3d98a62723 edit-sylive-logo 2022-11-18 17:25:08 +08:00
dengbw 62920f9f14 market_statistics_1118_2 2022-11-18 16:06:58 +08:00
lccsw 8aedcbf5d1 edit-plan-sylive_itemId 2022-11-18 15:54:49 +08:00
dengbw 8b8cdbbcfb market_statistics_1118 2022-11-18 15:15:38 +08:00
dengbw 962091996e market_statistics_1117_2 2022-11-17 17:14:50 +08:00
dengbw a16b19535a market_statistics_1117 2022-11-17 16:15:45 +08:00
lccsw ad19050604 edit-admin-order_list 2022-11-17 10:13:17 +08:00
lccsw 62e8b79218 edit-licheb-loan 2022-11-16 09:23:49 +08:00
dengbw cbbbb52c24 persona_1114 2022-11-14 17:17:23 +08:00
dengbw c653b48e4d bizLog_1114 2022-11-14 15:11:05 +08:00
lccsw b0a28b3d6b edit-plan-subscribemsg 2022-11-11 21:51:32 +08:00
dengbw 9ee601a805 market_order_1111_4 2022-11-11 20:34:32 +08:00
dengbw 31da1299b3 market_order_1111_3 2022-11-11 19:28:43 +08:00
lccsw 5000396893 add-sylive-plan 2022-11-11 18:17:45 +08:00
dengbw da6df4e67f market_order_1111_2 2022-11-11 17:48:51 +08:00
lccsw d2c0f24ccc fix-sylive-add-order 2022-11-11 17:09:36 +08:00
lccsw 3d0fab681d edit-sylive-plan 2022-11-11 17:08:25 +08:00
dengbw 505913f426 market_order_1111 2022-11-11 17:07:56 +08:00
dengbw 7f94e5cc89 market_draw_1111_2 2022-11-11 17:07:56 +08:00
dengbw cbead42b24 market_draw_1111 2022-11-11 17:07:56 +08:00
lccsw 1e2148c3ea fix api bug 2022-11-11 17:07:56 +08:00
dengbw 020690af54 market_draw_1110_3 2022-11-10 20:42:19 +08:00
lccsw 5a19da4c0d edit-sylive-notify 2022-11-10 20:06:22 +08:00
dengbw 5c6cb22989 market_draw_1110_2 2022-11-10 19:45:38 +08:00
lccsw a24500c883 edit-sylive-add_kpi 2022-11-10 19:28:18 +08:00
dengbw 0fbe65971e market_draw_1110 2022-11-10 16:59:43 +08:00
lccsw 225addec15 edit-sylive-item_detail 2022-11-10 16:59:07 +08:00
lccsw 53bd59d797 edit-plan-syt 2022-11-10 16:33:11 +08:00
lccsw 3f865f1fbf edit-sylive-item2 2022-11-10 09:08:33 +08:00
lccsw ea72ce7256 edit-sylive-item 2022-11-09 18:54:33 +08:00
dengbw 77927e93e1 market_activity_1109 2022-11-09 18:49:34 +08:00
lccsw 7a26c158c0 add-sylive-item 2022-11-09 16:47:51 +08:00
dengbw 35a3e718ac market_code_1109 2022-11-09 11:03:06 +08:00
dengbw cff48f852e market_goods_1109 2022-11-09 09:41:08 +08:00
dengbw 3a634e99d7 market_goods_1108 2022-11-08 19:28:22 +08:00
lccsw ca287f8ec8 edit-sylive-team 2022-11-08 18:08:38 +08:00
lccsw 5a25c48bdb edit-sylive-area 2022-11-08 10:48:37 +08:00
lccsw 344f7dc190 edit-sylive-rank_index 2022-11-08 10:02:33 +08:00
dengbw 6fbcc68f92 market_statistics_1107_2 2022-11-07 23:06:45 +08:00
lccsw 512e1525f9 add-sylive-team_rank 2022-11-07 17:55:19 +08:00
dengbw 759d842801 market_statistics_1107 2022-11-07 17:49:14 +08:00
lccsw cd342ae48c edit-sylive-rank_text 2022-11-07 12:35:14 +08:00
lccsw c6a2f8b4ec edit-sylive-area_rank 2022-11-07 09:42:30 +08:00
dengbw b9aab9d9af market_statistics_1106 2022-11-06 19:09:26 +08:00
lccsw 21b9b27787 edit-sylive-rank 2022-11-05 11:45:29 +08:00
dengbw f901ce5dbd market_statistics_1104_3 2022-11-04 16:56:23 +08:00
lccsw 260bb7d36f edit-sylive-area_rank 2022-11-04 16:49:26 +08:00
dengbw e69db7d48c h5_team_1104 2022-11-04 15:57:40 +08:00
lccsw 8d4762836e edit-sylive-rank 2022-11-04 15:13:58 +08:00
lccsw d7fb62cb69 edit-sylive-plan 2022-11-04 10:35:25 +08:00
lccsw 6e6970ef97 edit-sylive-plan 2022-11-04 10:28:18 +08:00
dengbw f4c2ab9939 market_statistics_1104_2 2022-11-04 10:23:52 +08:00
dengbw 04a4eae82f market_statistics_1104 2022-11-04 10:13:05 +08:00
lccsw f3ae9b45f9 edit-sylive-rank 2022-11-03 19:42:45 +08:00
dengbw 857b64e522 h5_market_user_1103_2 2022-11-03 18:58:54 +08:00
dengbw 36a2daabdb h5_market_user_1103 2022-11-03 15:51:18 +08:00
dengbw 5ca24bf88d edit-sql_fields_2 2022-11-02 17:28:41 +08:00
lccsw 80e6889256 edit-sql-fields 2022-11-02 15:46:45 +08:00
dengbw 033db943c5 viewer_1102 2022-11-02 14:08:30 +08:00
lccsw dd09a47f75 add-api-liche_img_type 2022-11-01 13:58:40 +08:00
dengbw e1dab648db Transfer_1101 2022-11-01 10:57:50 +08:00
lccsw 9aace089a9 edit-admin-add_paylog2 2022-10-31 17:57:18 +08:00
dengbw a4cef41ae2 market_statistics_1031_2 2022-10-31 17:49:50 +08:00
dengbw a54f57f6af market_statistics_1031 2022-10-31 16:37:41 +08:00
lccsw 06c0f071e3 edit-admin-add_paylog 2022-10-31 15:31:43 +08:00
lccsw 44a8767c46 edit-plan-sylive_vlog 2022-10-31 11:32:28 +08:00
dengbw b990d3af0f statistics_1030_2 2022-10-30 09:20:23 +08:00
dengbw cfa22ad792 statistics_1030 2022-10-30 01:01:48 +08:00
dengbw af14d7b7c2 market_statistics_1029_7 2022-10-29 18:11:13 +08:00
lccsw c1858fceca edit-sylive-kpidata 2022-10-29 16:41:47 +08:00
dengbw d03f8268e9 market_statistics_1029_6 2022-10-29 16:41:15 +08:00
dengbw b7983daa57 market_statistics_1029_5 2022-10-29 16:34:13 +08:00
dengbw 7658b253af market_statistics_1029_4 2022-10-29 16:19:42 +08:00
dengbw 8b2010012b market_statistics_1029_3 2022-10-29 15:59:45 +08:00
dengbw df59a7eb9a market_statistics_1029_2 2022-10-29 15:24:15 +08:00
dengbw 4278f811f5 market_statistics_1029 2022-10-29 14:22:41 +08:00
lccsw 412798a32e edit-sylive-under_order 2022-10-29 13:26:25 +08:00
dengbw ecbc256558 market_statistics_1028_3 2022-10-28 17:05:45 +08:00
dengbw e4fea001d4 market_statistics_1028_2 2022-10-28 16:54:44 +08:00
lccsw 111408d5b8 add-sylive-stic_title 2022-10-28 14:43:56 +08:00
dengbw 09c3e67674 market_statistics_1028 2022-10-28 14:01:52 +08:00
lccsw 9c65a70991 edit-sylive-stic_biz 2022-10-27 17:25:22 +08:00
dengbw 6bd260f904 market_statistics_1027 2022-10-27 17:17:10 +08:00
lccsw da45e3a48c edit-sylive-static_hidden_view 2022-10-27 11:31:41 +08:00
lccsw aa0a9050b6 edit-sylive-static 2022-10-26 17:07:24 +08:00
dengbw 0c0e4560ac market_team_1026 2022-10-26 15:28:37 +08:00
lccsw 3166695a61 edit-sylive-share_nickname 2022-10-26 11:58:27 +08:00
lccsw 567c77cff7 edit-sylive-html 2022-10-26 11:22:33 +08:00
lccsw 55ae54cad4 edit-sylive-team 2022-10-25 17:37:38 +08:00
dengbw 61a7186653 market_team_1025_3 2022-10-25 17:35:30 +08:00
lccsw c5cee4aa65 add-sylive-team 2022-10-25 16:21:12 +08:00
dengbw 8b29965bf4 market_team_1025_2 2022-10-25 16:09:21 +08:00
dengbw 2f1ebbbec1 market_team_1025 2022-10-25 14:31:02 +08:00
lccsw ddc3b5e390 edit-sylive-html_script 2022-10-25 09:54:58 +08:00
lccsw 7374a2cb21 edit-sylive-static 2022-10-24 18:00:32 +08:00
lccsw 06489b9ce6 edit-sylive-biz_header 2022-10-24 14:54:44 +08:00
lccsw 915edf165a edit-sylive-hidden_share 2022-10-24 13:54:14 +08:00
lccsw 1201bf7bd2 edit-sylive-page2 2022-10-24 12:34:48 +08:00
lccsw 41dca1f908 edit-sylive-page 2022-10-24 12:20:18 +08:00
lccsw 711c45e155 edit-sylive-template_id 2022-10-24 11:51:18 +08:00
lccsw a6b78b0bde edit-sylive-wx 2022-10-24 09:39:34 +08:00
lccsw ff05d9c314 edit-sylive-html 2022-10-21 16:24:42 +08:00
lccsw 851c75b370 edit-sylive-wxapp 2022-10-21 16:10:57 +08:00
lccsw 700a5263f7 edit-sylive-biz_pay 2022-10-21 11:11:05 +08:00
lccsw 7d455b045c add-sylive-act_pay 2022-10-20 19:57:07 +08:00
dengbw 4e735c6533 activity_1020 2022-10-20 17:47:29 +08:00
lccsw 5d7fa060ba add-sylive-hidden_wx_share 2022-10-20 16:03:16 +08:00
lccsw 20a023b784 edit-licheb-edit_order 2022-10-19 17:11:19 +08:00
dengbw cdfdf8ba71 organization_10119 2022-10-19 16:04:27 +08:00
dengbw f8d8e0f63b user_10118 2022-10-18 11:52:15 +08:00
dengbw e06d19bf6a user_10117 2022-10-17 17:50:12 +08:00
lccsw c2c3eae1e8 edit-sylive-view_top2 2022-10-17 17:48:01 +08:00
lccsw 9a49d718b8 edit-sylive-view_top 2022-10-17 17:43:23 +08:00
lccsw 35994d6ffd add-sylive-top_view 2022-10-17 17:23:41 +08:00
lccsw 94ea827baa edit-sylive-login 2022-10-17 14:47:55 +08:00
lccsw b6356904bf edit-sylive-user_list 2022-10-14 10:25:21 +08:00
dengbw 5a80e5b979 sylive_10114 2022-10-14 10:21:57 +08:00
lccsw 2e7d6e5805 edit-sylive-user_list 2022-10-13 17:34:27 +08:00
lccsw f457136e65 edit-licheb-limit 2022-10-13 15:52:14 +08:00
lccsw 8a49fb4916 add-sylive-biz_rank 2022-10-13 15:44:31 +08:00
dengbw 0363450584 user_10113 2022-10-13 11:24:32 +08:00
lccsw 44083f7ccd edit-sylive-list 2022-10-12 17:49:17 +08:00
dengbw 27fca64e88 user_10112_4 2022-10-12 17:42:59 +08:00
lccsw 6002fd44df add-sylive-hidden_wx_share 2022-10-12 17:33:33 +08:00
dengbw 3df36e22a9 user_10112_3 2022-10-12 17:22:46 +08:00
lccsw 9210fb2a00 add-sylive-wx_share 2022-10-12 16:46:06 +08:00
dengbw 8d54060656 user_10112_2 2022-10-12 16:21:23 +08:00
lccsw 8fcdf5b640 edit-sylive-admin_auth 2022-10-12 16:21:23 +08:00
lccsw 51e3fd272b edit-sylive-admin_auth 2022-10-12 16:12:52 +08:00
dengbw a6b6c4ebb2 user_10112 2022-10-12 16:12:39 +08:00
老叶 5a65bb5de2 样式修改 2022-10-12 15:32:27 +08:00
lccsw bea4c7423a edit-sylive 2022-10-12 14:02:15 +08:00
lccsw a1a4bd4c03 edit-item-pay 2022-10-12 11:11:23 +08:00
lccsw dd7da03a82 edit-sylive-html 2022-10-11 17:38:16 +08:00
dengbw 74dd2d10df transfer_10111 2022-10-11 17:21:53 +08:00
dengbw e25a08dbc1 sylive_10111 2022-10-11 15:40:04 +08:00
lccsw 6865016393 edit-sylive-admin_auth 2022-10-11 15:04:17 +08:00
lccsw 4961848b90 edit-sylive-wx_auth 2022-10-11 08:41:35 +08:00
dengbw 0c67382dcc sylive_1010_5 2022-10-10 19:18:15 +08:00
lccsw 3589efbd37 edit-sylive 2022-10-10 19:16:32 +08:00
lccsw 4aa3951f54 edit-sylive-html 2022-10-10 17:57:10 +08:00
dengbw fe5d6b1c48 sylive_1010_4 2022-10-10 16:37:05 +08:00
lccsw 5dba9b000a edit-sylive-text 2022-10-10 16:32:47 +08:00
lccsw 6ddafabcb5 edit-sylive-live_url 2022-10-10 14:45:10 +08:00
lccsw 4e3f039d27 edit-sylive-html 2022-10-10 14:42:23 +08:00
lccsw d5f7b860ab edit-sylive 2022-10-10 14:34:24 +08:00
dengbw ae8e8e1099 sylive_1010_3 2022-10-10 11:49:44 +08:00
dengbw ea97e919a6 sylive_1010_2 2022-10-10 11:37:46 +08:00
dengbw bd923e92bc sylive_1010 2022-10-10 11:26:31 +08:00
dengbw 92d14f62d7 sylive_1009_2 2022-10-09 17:53:52 +08:00
lccsw 148820a9e2 edit-market-sylive2 2022-10-09 17:43:17 +08:00
dengbw e9e2de3360 sylive_1009 2022-10-09 16:29:13 +08:00
dengbw c95526e955 sylive_1009 2022-10-09 16:17:39 +08:00
lccsw 52219b9a86 add-market-sylive-logout 2022-10-09 15:58:34 +08:00
lccsw 6bd6e7d501 edit-market-sylive 2022-10-09 14:59:34 +08:00
dengbw 94c3b935f2 sylive_1008 2022-10-08 21:07:09 +08:00
lccsw 6f422653a8 edit-market-sylive2 2022-10-08 18:49:35 +08:00
lccsw 62ad6fceab edit-market-sylive 2022-10-08 17:57:01 +08:00
老叶 1a4284b215 样式修改 2022-10-08 16:11:18 +08:00
dengbw a866842969 customers_1008 2022-10-08 14:24:30 +08:00
dengbw 5f94eb7cc6 market_930 2022-09-30 15:32:16 +08:00
lccsw f9efcb4cc6 edit-market-sylive_html 2022-09-30 13:50:18 +08:00
lccsw 39d5da091f edit-market-sylive1 2022-09-30 11:56:58 +08:00
lccsw 4aa3acc5ba edit-market-sylive 2022-09-30 10:49:53 +08:00
dengbw 9fadfc4837 market_930 2022-09-30 09:52:48 +08:00
lccsw af09a0b2e9 edit-market-sylive 2022-09-30 08:56:48 +08:00
lccsw d11f6a1186 edit-market-exclude 2022-09-29 14:35:37 +08:00
dengbw 97fd9e8d50 market_906 2022-09-29 14:32:58 +08:00
lccsw 828a6a8f29 edit-admin-order_admin_name 2022-09-28 17:04:22 +08:00
lccsw 205e880e2e add-admin-order_admin_name 2022-09-28 16:57:12 +08:00
lccsw 928b40a31a edit-admin-up_item 2022-09-23 17:52:44 +08:00
lccsw 755159b068 edit-robot 2022-09-22 18:16:14 +08:00
lccsw 6dc5550e8b edit-api-bsrv 2022-09-20 15:46:29 +08:00
lccsw 857aae6fc5 edit-api-up_order_price 2022-09-20 15:17:53 +08:00
lccsw 7ebba3c9d0 edit-api-bsrv 2022-09-20 10:43:02 +08:00
lccsw 310aaa01fe edit-liche-order 2022-09-19 21:09:29 +08:00
lccsw d219eff999 add-api-srv_center 2022-09-19 16:57:54 +08:00
lccsw dceee41c31 edit-biz-brand_static 2022-09-15 16:05:51 +08:00
lccsw 2b300d95e2 edit-common-finish_pdf 2022-09-15 14:40:05 +08:00
lccsw 9bc904cbce edit-admin-html 2022-09-15 09:49:46 +08:00
lccsw 6d1e96faee edit-admin-order_detail 2022-09-14 09:54:53 +08:00
dengbw 9830c82770 inventory_913_2 2022-09-13 15:44:02 +08:00
dengbw 1bd5871a20 inventory_913 2022-09-13 15:23:58 +08:00
lccsw 8d174859d8 edit-bug-admin_edit_srv 2022-09-10 20:22:57 +08:00
lccsw 9db0611a84 edit-admin-srv_price 2022-09-08 17:29:13 +08:00
lccsw 32b308f41e edit-common-finish-pdf 2022-09-08 14:01:35 +08:00
dengbw e827bdb450 customers_908 2022-09-08 09:21:01 +08:00
lccsw eeb9b205dc edit-common-finish_pdf 2022-09-07 17:20:41 +08:00
lccsw c427774cfd edit-api-order_list 2022-09-07 17:13:02 +08:00
lccsw c84ed523c9 fix admin add_paylog 2022-09-07 16:44:31 +08:00
lccsw abcd2d4767 edit-api-insure 2022-09-07 14:20:23 +08:00
dengbw f10588e946 CusorderV2_907 2022-09-07 13:59:57 +08:00
lccsw 0cc4fd3f3a edit-api-hidden_insure 2022-09-07 11:43:08 +08:00
lccsw eade31060a edit-api-mycar 2022-09-07 11:14:28 +08:00
dengbw a8927d5b5d owners_906_2 2022-09-06 17:44:04 +08:00
lccsw e900f4d603 add-admin-order_ck_time 2022-09-06 17:41:17 +08:00
dengbw 9ac612d62a owners_906 2022-09-06 17:26:51 +08:00
lccsw 215d40d38f add-admin-order_over_time 2022-09-06 16:37:32 +08:00
lccsw 9c1e3935f8 edit-liche-admin_list 2022-09-05 18:50:37 +08:00
dengbw 889cfde8b8 temp_905_2 2022-09-05 15:50:59 +08:00
dengbw 69b416f276 temp_905 2022-09-05 15:44:57 +08:00
lccsw 798b7b9fca edit-common-robot 2022-09-05 11:54:58 +08:00
dengbw 09713afb0e edit-biz_brand-settle 2022-09-05 09:55:44 +08:00
dengbw 142b660728 owners_903 2022-09-03 18:31:51 +08:00
dengbw 793ccc968c owners_902_2 2022-09-02 17:38:22 +08:00
lccsw adea94484a edit-robot-filter_brand=12 2022-09-02 15:02:53 +08:00
dengbw 851b4c22ed owners_902 2022-09-02 14:52:28 +08:00
lccsw 7d4fb0a10d edit-admin-export_order 2022-09-02 13:51:54 +08:00
lccsw b6f37af195 edit-liche-credit_img 2022-09-01 17:51:29 +08:00
lccsw 13fa5f1138 edit-liche-credit 2022-09-01 17:47:04 +08:00
lccsw f2ebf58d0a edit-admin-create_pdf 2022-09-01 17:14:48 +08:00
dengbw 3e7b2eee87 owners_901 2022-09-01 14:26:00 +08:00
lccsw 8f7f658544 add-finish-pdf 2022-09-01 09:26:02 +08:00
lccsw fe940dbf2d edit-common-mchid 2022-08-31 16:31:23 +08:00
dengbw f71c6e9fa8 cusorderV2_831_4 2022-08-31 14:37:41 +08:00
dengbw d23f06999b cusorderV2_831_3 2022-08-31 13:56:44 +08:00
dengbw ae05fae058 cusorderV2_831_2 2022-08-31 12:36:29 +08:00
dengbw b0726b6bef cusorderV2_831 2022-08-31 11:42:03 +08:00
lccsw 3e7e7555b5 edit-liche-add_pay_order 2022-08-31 10:32:07 +08:00
dengbw 6991fa5847 order_830_3 2022-08-30 17:32:55 +08:00
dengbw b65a4e3068 order_830_2 2022-08-30 16:55:12 +08:00
dengbw 4c4250883b order_830 2022-08-30 16:00:32 +08:00
lccsw 95e988aa1c add-common-jwt 2022-08-29 08:47:22 +08:00
lccsw f73099c0ef edit-admin-order_detail 2022-08-29 11:46:27 +08:00
dengbw 93f7a8e955 order_826_4 2022-08-26 17:58:34 +08:00
dengbw 49be457e6f order_826_3 2022-08-26 17:52:52 +08:00
dengbw 6d56878b75 order_826_2 2022-08-26 17:29:52 +08:00
dengbw a5ee2c060e order_826 2022-08-26 17:08:49 +08:00
lccsw a6fc743d77 edit-admin-order_img_show 2022-08-26 14:05:58 +08:00
lccsw 5cf46d0de5 edit-api-order_price 2022-08-25 16:01:24 +08:00
lccsw 679f54151b edit-api-order_list 2022-08-25 15:18:40 +08:00
lccsw 1acc172360 edit-entity-settle 2022-08-24 16:43:26 +08:00
lccsw 3d6b4d1b6d add-admin-re_settle 2022-08-24 16:10:41 +08:00
dengbw d58e1e5347 order_823_2 2022-08-23 17:17:45 +08:00
dengbw 4c9ba9c93f order_823 2022-08-23 17:08:04 +08:00
lccsw 0eb0d1f656 edit-plan-order_time_out 2022-08-23 10:07:02 +08:00
dengbw 4918a3685d order_822_2 2022-08-22 17:31:41 +08:00
lccsw e90c5e1b9b edit-admin-paylog 2022-08-22 15:14:59 +08:00
dengbw 636e2d8ff8 order_822 2022-08-22 11:18:54 +08:00
lccsw 26777c650c edit-admin-paylog_img 2022-08-19 17:15:15 +08:00
lccsw 1e77d682d3 add-api-–delivery_ck_img 2022-08-19 16:39:02 +08:00
dengbw 19e6759221 userslog_819_2 2022-08-19 16:37:22 +08:00
dengbw 32929f48ad userslog_819 2022-08-19 15:35:45 +08:00
lccsw f52de34685 edit-plan-settle_static 2022-08-18 18:04:39 +08:00
dengbw 6f855faad9 order_818_2 2022-08-18 17:53:43 +08:00
dengbw 639bce66bd order_818 2022-08-18 14:56:27 +08:00
lccsw edb036e1dc edit-admin-ckinfo 2022-08-18 13:57:45 +08:00
lccsw 534a86f644 edit-admin-srv_config 2022-08-17 13:47:19 +08:00
lccsw a11e41eb48 edit-plan-settle_brand 2022-08-17 13:41:06 +08:00
dengbw a60ebdf2a7 order_816_3 2022-08-16 17:46:11 +08:00
dengbw 30880ad1ca order_816_2 2022-08-16 16:52:42 +08:00
dengbw 764403f107 order_816 2022-08-16 16:40:17 +08:00
dengbw 6abfbfabc5 biz_816_2 2022-08-16 14:31:28 +08:00
dengbw 344dfacc02 biz_816 2022-08-16 09:25:35 +08:00
dengbw c9bc965f4a biz_815_2 2022-08-15 17:44:20 +08:00
lccsw 502b47be90 edit-admin-add_pay_log 2022-08-15 16:21:39 +08:00
dengbw 930f85ab3b persona_815_3 2022-08-15 15:25:55 +08:00
dengbw 0859a84b5f persona_815_2 2022-08-15 14:24:01 +08:00
dengbw 66f9303676 persona_815 2022-08-15 12:41:25 +08:00
lccsw 280cfbb3cc edit-admin-user_status2 2022-08-15 11:38:08 +08:00
lccsw 670e6a7aa2 edit-admin-user_status 2022-08-15 10:51:29 +08:00
dengbw 9cc15c55e6 biz_812 2022-08-12 17:59:13 +08:00
lccsw 0d4e88d482 edit-plan-settle 2022-08-12 17:53:27 +08:00
lccsw e9154ddd5a edit-plan-settle_type2 2022-08-12 15:11:25 +08:00
lccsw e83b3b156e edit-plan-settle_type 2022-08-12 15:01:13 +08:00
lccsw f72c7abe14 edit-plan-settle 2022-08-12 14:54:29 +08:00
lccsw 132f29f610 add-api-order_detail 2022-08-12 14:04:34 +08:00
lccsw 5179eb8772 edit-api-pdf2 2022-08-11 10:37:09 +08:00
lccsw 3e62791c7b edit-api-pdf 2022-08-10 17:31:52 +08:00
lccsw bf7d7fcb0f edit-admin-order_list 2022-08-10 16:57:22 +08:00
lccsw 35ea9a655c edit-admin-settle_brand 2022-08-10 16:36:02 +08:00
lccsw 029b1eac93 edit-api-ck_car 2022-08-10 11:42:46 +08:00
dengbw 0693ba8c55 login_810 2022-08-10 11:33:27 +08:00
lccsw 166216444a edit-admin-order_status 2022-08-09 17:18:14 +08:00
dengbw 14d380e99e stats_809_2 2022-08-09 16:42:33 +08:00
dengbw 0fb5b0c399 stats_809 2022-08-09 15:29:44 +08:00
lccsw 19f55ea06a edit-qyrobot4 2022-08-08 17:44:30 +08:00
lccsw b7a1c797f5 edit-qyrobot3 2022-08-08 17:39:32 +08:00
lccsw ffff07504f edit-qyrobot-test2 2022-08-08 17:38:27 +08:00
lccsw f46d285785 edit-qyrobot-test 2022-08-08 17:15:44 +08:00
lccsw b80ae5d22c edit-qyrobot2 2022-08-08 17:01:10 +08:00
lccsw 343f537167 edit-qyrobot 2022-08-08 16:58:25 +08:00
dengbw 51db1ae852 licheb_808 2022-08-08 10:42:58 +08:00
dengbw 26e84ea01e stats_805_3 2022-08-05 16:35:59 +08:00
dengbw 504cb7385a stats_805_2 2022-08-05 15:56:41 +08:00
dengbw a95267c9c7 stats_805 2022-08-05 15:49:39 +08:00
lccsw aed4fda7cc edit-order-srv 2022-08-05 11:19:28 +08:00
lccsw 9f3ddf0e3e edit-admin-order_img 2022-08-04 13:32:57 +08:00
lccsw a1e2640b5b add-plan-up_ins_img 2022-08-03 15:27:46 +08:00
lccsw f72c218dc0 edit-api-licheb_imgs 2022-08-02 17:32:47 +08:00
lccsw cbe9ff63bf edit-order-settle_brand 2022-08-01 14:18:47 +08:00
dengbw 25a188a4f4 Customer_728 2022-07-28 13:57:32 +08:00
lccsw 82cb12a9e1 edit-admin-pay_log 2022-07-27 13:57:59 +08:00
lccsw 5d578b0b81 edit-admin-order_loan 2022-07-27 10:23:53 +08:00
dengbw f4d461f36e Customer_727 2022-07-27 10:13:27 +08:00
dengbw 0983683942 Customer_726 2022-07-26 16:07:09 +08:00
dengbw 1361622d17 persona_726 2022-07-26 14:04:09 +08:00
lccsw c5cbe28f2a add-xz-log 2022-07-25 20:37:52 +08:00
lccsw 8f8bb5dfab edit-xz 2022-07-25 17:20:51 +08:00
lccsw 6ce9062075 add-api-freeze_expire_time 2022-07-25 15:12:13 +08:00
dengbw 45470f4a7d customer_725 2022-07-25 14:29:05 +08:00
lccsw b1362b9f34 edit-admin-srv2 2022-07-25 13:59:53 +08:00
lccsw 8c7c6eb116 edit-admin-svr 2022-07-25 13:52:27 +08:00
lccsw 82ab65912e edit-api-static2 2022-07-24 12:27:58 +08:00
lccsw ffbd56a580 edit-api-static 2022-07-24 12:02:44 +08:00
dengbw a48e5ecb07 owners_722 2022-07-22 17:31:05 +08:00
lccsw 1871b460e5 edit-admin-order_lists 2022-07-22 17:24:38 +08:00
lccsw dd05e086f7 edit-api-credit_rule 2022-07-22 14:16:10 +08:00
dengbw f0351ab79a blindbox_722_2 2022-07-22 10:47:02 +08:00
dengbw f8404557cd blindbox_722 2022-07-22 10:39:23 +08:00
lccsw 2f0865cd66 edit-api-credits 2022-07-22 09:38:03 +08:00
dengbw c9cc727c7b blindbox_721 2022-07-21 16:29:29 +08:00
lccsw 94b5647b6b add-liche-credit 2022-07-21 16:29:25 +08:00
lccsw 64419e1d6a edit-api-buniess2 2022-07-20 10:08:11 +08:00
lccsw 851cd92695 edit-api-buniess 2022-07-20 09:55:16 +08:00
lccsw 14511424e2 edit-admin-order_detail 2022-07-19 09:12:08 +08:00
dengbw 31c366e3b8 customers_718_2 2022-07-18 15:56:19 +08:00
lccsw f68dc8b40a edit-pay_log 2022-07-18 15:46:18 +08:00
dengbw 8e083c38d0 customers_718 2022-07-18 15:19:21 +08:00
lccsw 605f6fcedc edit-api-business2 2022-07-17 20:34:24 +08:00
lccsw bbf8ba77f8 edit-api-business 2022-07-17 20:15:42 +08:00
lccsw d05604c51f add-admin-pay_log_type 2022-07-17 20:14:40 +08:00
dengbw 2c26b65070 customers_714 2022-07-14 14:12:01 +08:00
lccsw 33c807e803 edit-api-business3 2022-07-14 10:35:53 +08:00
lccsw 36514e3760 edit-api-business2 2022-07-14 10:22:03 +08:00
lccsw 421499894c edit-api-business 2022-07-14 10:20:23 +08:00
dengbw cfa5299b15 userslog_713 2022-07-13 16:14:04 +08:00
lccsw 31b6efe082 edit-admin-exprot_order2 2022-07-13 14:25:38 +08:00
lccsw 0a8ec5a325 edit-admin-exprot_order 2022-07-13 14:15:56 +08:00
lccsw d6f9c9ae1d edit-api-bug_up_order_time 2022-07-13 10:46:45 +08:00
dengbw d9b94057d0 customers_713 2022-07-13 10:11:06 +08:00
dengbw 6785816d40 userslog_712_3 2022-07-12 16:32:14 +08:00
dengbw 3d52dcf044 userslog_712_2 2022-07-12 16:27:33 +08:00
dengbw 051ca7ddf2 Merge branch 'fea#dbw_userslog' into dev 2022-07-12 16:22:09 +08:00
dengbw 1674e94d50 userslog_712 2022-07-12 16:21:38 +08:00
dengbw bfc961ee5f goods_711 2022-07-11 13:42:52 +08:00
lccsw 4888f1bd38 edit-api-put_order 2022-07-11 10:27:20 +08:00
dengbw 344efcd220 goods_708_2 2022-07-08 16:30:12 +08:00
lccsw a8173f9f35 add-api-mycar_v2 2022-07-08 15:26:42 +08:00
dengbw c6a481ec7b goods_708 2022-07-08 15:05:41 +08:00
dengbw 6ec9081b1b Customers_708 2022-07-08 11:08:34 +08:00
lccsw 51b2e62ee7 edit-admin-info 2022-07-07 13:46:45 +08:00
lccsw bd9e409968 edit-admin-biz_fine 2022-07-07 10:22:11 +08:00
lccsw 3413f12b93 edit-api-hidden_dis 2022-07-06 15:57:00 +08:00
lccsw dbc4e0cbf8 edit-common-robot 2022-07-06 15:14:31 +08:00
lccsw f7569c0821 add-fbook-rebot 2022-07-06 14:52:18 +08:00
dengbw 13840acf3a Customers_705_2 2022-07-05 17:42:29 +08:00
dengbw a8fd83659d Customers_705 2022-07-05 16:22:20 +08:00
lccsw fbf7a67404 edit-plan-biz_settle 2022-07-05 15:59:45 +08:00
lccsw 7ea05c699d edit-biz_settle 2022-07-05 15:29:34 +08:00
lccsw 543e3dfd0d edit-api-attr_status 2022-07-04 15:06:21 +08:00
lccsw 0f79129d0f edit-api-buinuess 2022-07-04 10:49:03 +08:00
lccsw cc28ff85f1 edit-put-order 2022-07-04 09:48:00 +08:00
lccsw 66bc826f7a edit-api-put_order 2022-07-01 10:40:24 +08:00
dengbw 26b88210f5 different_630 2022-06-30 16:30:15 +08:00
dengbw 172faa058f different_629_2 2022-06-29 15:35:54 +08:00
dengbw 3b8e470c79 different_629 2022-06-29 14:05:20 +08:00
lccsw 87403485e3 edit-pdf-tpl 2022-06-29 10:51:15 +08:00
dengbw 0d90a41dd1 different_628 2022-06-28 16:47:26 +08:00
lccsw 710b4fc73e add-brand-settle 2022-06-28 16:39:53 +08:00
dengbw 428eebc00b different_627 2022-06-27 10:23:22 +08:00
lccsw 479a15f198 edit-api-price_finance 2022-06-27 10:01:17 +08:00
lccsw 5a4ec397b5 edit-api-pay_order 2022-06-23 17:36:20 +08:00
dengbw e3bf78a739 owners_623_2 2022-06-23 11:11:57 +08:00
dengbw 9cf1162fde owners_623 2022-06-23 10:01:22 +08:00
lccsw 758b4bb3b3 edit-api-changebusiness 2022-06-22 17:42:15 +08:00
dengbw 881848eb82 persona_622 2022-06-22 15:15:46 +08:00
lccsw 1d9519c64b edit-admin-modify_order 2022-06-22 09:46:29 +08:00
lccsw 190d1c5b4b edit-admin-show_price3 2022-06-21 17:36:48 +08:00
dengbw fbe3b6ad45 owners_621_2 2022-06-21 17:13:47 +08:00
dengbw 89b6bdd9f6 owners_621 2022-06-21 17:11:32 +08:00
lccsw 5bcf4605ff edit-api-order_table 2022-06-21 16:11:30 +08:00
lccsw f89be0cd97 edit-admin-show_price2 2022-06-21 15:57:10 +08:00
lccsw 4a25860a26 edit-admin-show_price 2022-06-21 15:53:44 +08:00
dengbw d60a123a46 owners_620_5 2022-06-20 17:49:57 +08:00
lccsw fb250b8205 edit-admin-filter_order 2022-06-20 17:24:00 +08:00
dengbw 474f0f0437 customers_620 2022-06-20 16:58:05 +08:00
dengbw 8208567b04 owners_620_4 2022-06-20 13:52:14 +08:00
dengbw 23ee1050bc owners_620_3 2022-06-20 11:56:46 +08:00
dengbw 65d6f2d81a owners_620_2 2022-06-20 11:22:37 +08:00
dengbw 8d969c5501 owners_620 2022-06-20 10:51:15 +08:00
lccsw f437825a90 edit-admin-add_price 2022-06-20 09:34:06 +08:00
dengbw 1b5a42bdd4 owners_617 2022-06-17 17:40:09 +08:00
lccsw 9f4f06a5cc edit-common-create_pdf 2022-06-17 15:13:05 +08:00
lccsw 6cab9464b3 edit-admin-logo 2022-06-16 17:26:17 +08:00
lccsw f9d7a54ea2 add-admin_biz_settle_list 2022-06-16 15:12:11 +08:00
lccsw 00148941b6 edit-admin-srv_price 2022-06-16 14:51:23 +08:00
lccsw 02adc4c941 edit-admin-price 2022-06-16 10:56:12 +08:00
lccsw 2b916c6582 edit-admin-list_price 2022-06-15 18:04:19 +08:00
lccsw c338a3a704 add-admin-edit_price 2022-06-15 17:50:51 +08:00
dengbw b7184dc34f Customers_610_2 2022-06-10 15:50:16 +08:00
dengbw 98be1d1d2b Customers_610 2022-06-10 15:04:39 +08:00
dengbw 14fb995468 owners_610 2022-06-10 09:51:25 +08:00
lccsw e2ee13c9a0 add-admin-export_order_address 2022-06-09 16:05:48 +08:00
lccsw a1dd4a9406 edit-plan-settle_static 2022-06-09 15:24:50 +08:00
lccsw fe95139663 edit-admin-reset_settle 2022-06-09 14:43:27 +08:00
lccsw 54cb413de1 edit-admin-export_biz_settle 2022-06-09 09:22:15 +08:00
dengbw f1ced873c0 channel_608 2022-06-08 17:10:52 +08:00
dengbw b1f9ac0d98 userslog_608 2022-06-08 14:37:17 +08:00
lccsw fbc8cf5201 add-api-idcard 2022-06-07 16:49:15 +08:00
dengbw 4fe20fe080 userslog_607 2022-06-07 15:45:37 +08:00
lccsw 8770c45e88 edit-admin-order_export 2022-06-07 14:14:06 +08:00
dengbw 5e75b4a25d licheb_607 2022-06-07 09:35:50 +08:00
dengbw 4ad70aa3e0 customers_606 2022-06-06 16:17:34 +08:00
lccsw 4e37d7c030 edit-api-add_over_time 2022-06-06 16:01:36 +08:00
dengbw b251602e23 temp_602_2 2022-06-02 17:29:06 +08:00
dengbw b0f72e8cbb temp_602 2022-06-02 17:22:48 +08:00
lccsw b9ca13112b edit-admin-export 2022-06-02 16:43:00 +08:00
lccsw 51bc96b533 edit-api-delivery_day 2022-06-02 16:31:17 +08:00
dengbw b2aa7e442b customers_602 2022-06-02 16:13:33 +08:00
lccsw c3f5bf517b edit-admin-filter_clues 2022-06-02 15:24:28 +08:00
lccsw 1ce223973a edit-admin-filter_clues 2022-06-02 14:37:11 +08:00
dengbw 0fa7ac6f9a user_602 2022-06-02 13:39:30 +08:00
lccsw efd7fa067b edit-admin-add_pay_log 2022-06-02 13:38:52 +08:00
lccsw e08d7ccc3b edit-api-pay_after 2022-06-01 16:02:01 +08:00
dengbw 318bae5479 clues_601 2022-06-01 14:42:49 +08:00
lccsw 9ff99fb6cb edit-api-order_show_contract 2022-06-01 13:47:59 +08:00
lccsw 447d1efade edit-api-car_order 2022-06-01 13:39:21 +08:00
lccsw c3ae0a96bf edit-admin-order_list 2022-06-01 10:48:49 +08:00
dengbw f109f6a301 persona_601 2022-06-01 10:29:40 +08:00
lccsw a61e877c9b edit-api-over_time 2022-06-01 10:27:37 +08:00
dengbw a5d8e735f1 attr_531 2022-05-31 16:16:06 +08:00
dengbw af45e7fb51 persona_531 2022-05-31 14:31:25 +08:00
dengbw 1c342eb2cc persona_530_2 2022-05-30 16:27:46 +08:00
lccsw 25ae328f5f edit-api-edit_order 2022-05-30 15:25:09 +08:00
dengbw 7c2a0e1ff9 persona_530 2022-05-30 15:11:41 +08:00
dengbw 83c8897821 customers_530 2022-05-30 10:40:04 +08:00
lccsw a0cde2aaf3 edit-admin-order_count 2022-05-30 10:07:13 +08:00
lccsw 392479cc3b edit-admin-order_list 2022-05-29 22:26:07 +08:00
lccsw 1de6600801 add-admin-down_file 2022-05-27 16:28:48 +08:00
dengbw e6a23fb412 customers_527_2 2022-05-27 14:44:40 +08:00
dengbw 5e719c1ddd customers_527 2022-05-27 14:34:45 +08:00
lccsw 0f486d34ad edit-admin-export_order 2022-05-27 13:45:40 +08:00
dengbw 7e7624befc customers_527_2 2022-05-27 09:55:08 +08:00
dengbw 0c06a3a337 customers_527 2022-05-27 09:49:54 +08:00
dengbw fec1514411 customers_526 2022-05-26 17:48:15 +08:00
dengbw 964cb2740a visit_526 2022-05-26 14:52:52 +08:00
dengbw 47b285a813 persona_526_3 2022-05-26 14:09:42 +08:00
dengbw 46b6114e31 persona_526_2 2022-05-26 14:04:00 +08:00
dengbw 2050a1af3c persona_526 2022-05-26 11:53:47 +08:00
lccsw c60df3a071 edit-api-get_mchid 2022-05-25 16:15:28 +08:00
lccsw 75984d8b8a add-api-order_filter 2022-05-25 15:16:36 +08:00
lccsw 229e288277 add-api-idnum_ck 2022-05-24 11:20:44 +08:00
lccsw 7ed7e90fb8 edit-admin-business 2022-05-23 13:57:07 +08:00
lccsw 3defc6963a add-admin-order_status2 2022-05-23 10:55:36 +08:00
lccsw 03c904e34f add-admin-order_status 2022-05-23 10:48:58 +08:00
lccsw 78230170fa edit-get_order_status2 2022-05-20 15:57:57 +08:00
lccsw e4d93cb9d2 edit-get_order_status 2022-05-20 15:56:00 +08:00
lccsw d2f9575b00 edit-down_contracts3 2022-05-20 15:45:59 +08:00
lccsw 84a91699c2 edit-down_contracts2 2022-05-20 15:42:29 +08:00
lccsw 4dadb81b12 edit-down_contracts 2022-05-20 15:28:40 +08:00
lccsw d72b5d998c add-admin-change_file_name 2022-05-20 14:52:25 +08:00
lccsw cbda16740b edit-down_img_size 2022-05-20 12:14:32 +08:00
lccsw 66e9b85252 add-admin-donw_img 2022-05-20 11:30:08 +08:00
lccsw 5e9f5579b7 edit-admin-pay_log 2022-05-20 09:35:53 +08:00
lccsw 740604a2bd edit-admin-order_lists_status 2022-05-20 09:34:45 +08:00
dengbw 430fb9519f stylive_519_5 2022-05-19 17:40:40 +08:00
dengbw ad42177a67 stylive_519_4 2022-05-19 17:23:02 +08:00
dengbw 29f11b4f50 stylive_519_3
stylive_519_4
2022-05-19 16:51:51 +08:00
dengbw 4ee2359830 stylive_519_2 2022-05-19 16:31:42 +08:00
dengbw 7db088250d stylive_519
stylive_519_2
2022-05-19 16:21:19 +08:00
lccsw 723215c34f edit-api-biz_company 2022-05-18 13:54:19 +08:00
lccsw 4b7825d2a2 edit-api-send_sms 2022-05-16 17:16:32 +08:00
lccsw 7e971cb3af edit-api-intention 2022-05-16 15:55:32 +08:00
lccsw e44b2d17d0 –edit-plan-zx_to_test 2022-05-14 12:41:43 +08:00
lccsw 5e38e25b1c add-plan-zx_to_test 2022-05-14 10:12:51 +08:00
lccsw 6d93e5649a add-admin-refund_time 2022-05-13 16:52:01 +08:00
lccsw 1edb72f717 edit-admin-order_list 2022-05-13 14:26:29 +08:00
lccsw 46cd207197 edit-admin-order_list 2022-05-12 16:33:36 +08:00
lccsw d9582123b2 edit-liche-pay_robot 2022-05-12 14:35:56 +08:00
lccsw c14c6dd845 edit-order-send_sms2 2022-05-12 12:00:08 +08:00
lccsw 638566d7ae edit-order-send_sms 2022-05-12 11:59:07 +08:00
lccsw 0fac734e33 edit-admin-finish_order 2022-05-12 11:32:18 +08:00
lccsw 5ab380cda6 add-licheb-log 2022-05-11 16:41:08 +08:00
dengbw 0c634cbfcb material_510_3 2022-05-10 17:25:42 +08:00
dengbw 470b32c529 material_510_2 2022-05-10 17:02:08 +08:00
dengbw 8db8ea688f material_510 2022-05-10 15:56:18 +08:00
dengbw 77d287b592 customer_510_2 2022-05-10 11:41:50 +08:00
lccsw d4562109b6 edit-common-update_order_time2 2022-05-10 11:37:39 +08:00
dengbw a45e4b7af0 customer_510 2022-05-10 11:35:55 +08:00
lccsw be8e28a1bf edit-common-update_order_time 2022-05-09 22:12:56 +08:00
lccsw 3a1778eed3 edit-qywx-rebot 2022-05-09 22:05:55 +08:00
dengbw 37f4d30b95 live_509 2022-05-09 16:32:45 +08:00
lccsw c6f2db4b95 edit-admin-order_list 2022-05-09 14:31:01 +08:00
lccsw fada3ad596 add-admin-inten 2022-05-09 14:13:28 +08:00
dengbw 07a40f1aa0 live_507_2 2022-05-07 17:11:16 +08:00
lccsw e306f0d522 edit-api-licheb-cancel_order 2022-05-07 16:07:15 +08:00
dengbw 3c186cb310 live_507 2022-05-07 15:16:07 +08:00
lccsw 3c88d34dbb edit-admin-over_time 2022-05-06 14:29:21 +08:00
lccsw 8d57ac214c add-licheb-over_time 2022-05-06 13:54:08 +08:00
dengbw 687fa60438 live_506 2022-05-06 11:22:20 +08:00
lccsw c58653a103 edit-admin-cancel_item 2022-05-05 16:34:38 +08:00
dengbw 17f6e032d8 clues_505 2022-05-05 14:09:20 +08:00
lccsw 99e36991b8 edit-plan-settle 2022-05-05 14:06:14 +08:00
lccsw 3de7c4e1dd edit-api-biz-mchid 2022-05-05 11:52:45 +08:00
lccsw b41b3e1f52 del-licheb-unmber_format 2022-05-05 11:49:52 +08:00
dengbw 190074d0e3 customers_430 2022-05-05 11:49:12 +08:00
dengbw 4830f8f7b0 customers_429_3 2022-04-29 14:56:19 +08:00
dengbw eeb940be5b customers_429_2 2022-04-29 11:31:43 +08:00
dengbw 7034132702 customers_429 2022-04-29 11:00:22 +08:00
dengbw d47fddafd2 subject_429 2022-04-29 09:38:02 +08:00
lccsw 49c6fc2e05 add-licheb-orc_car_img 2022-04-29 09:19:32 +08:00
dengbw 0a15200b72 transfer_428 2022-04-28 16:11:26 +08:00
dengbw a011da60a7 licheb_428_4 2022-04-28 11:50:45 +08:00
dengbw 7e4a33ffd1 licheb_428_3 2022-04-28 11:17:01 +08:00
dengbw 037b7ad3e0 licheb_428_2 2022-04-28 10:56:43 +08:00
lccsw 566d3a6c4d edit-api-money_limit 2022-04-28 10:42:15 +08:00
dengbw f8fe22afee licheb_428 2022-04-28 10:29:11 +08:00
lccsw 5442f94a69 edit-admin-pay_log 2022-04-27 17:46:25 +08:00
lccsw 23a9e90bcc edit-api-pay_up_customer 2022-04-27 17:30:11 +08:00
lccsw 4e904e06d2 edit-admin-order_filter 2022-04-26 11:33:23 +08:00
dengbw e6b1e96c6c userslog_426 2022-04-26 09:59:40 +08:00
lccsw aaf43c9bdf edit-api-money_limit 2022-04-25 10:10:52 +08:00
dengbw c985c16e71 userslog_424_2 2022-04-24 16:02:13 +08:00
dengbw 1214feb016 userslog_424 2022-04-24 15:44:14 +08:00
lccsw 5e04a5319b edit-admin-order_list 2022-04-24 14:47:04 +08:00
dengbw 0e11a46cd1 userslog_422_2 2022-04-22 17:39:53 +08:00
lccsw 83a6f8ee13 add-tcorc-veh 2022-04-22 15:53:32 +08:00
dengbw 9efbf11459 userslog_422 2022-04-22 14:09:07 +08:00
lccsw bb0b41807f edit-api-licheb-user 2022-04-22 11:20:37 +08:00
lccsw f4aa0fcd75 add-api-pdf_sa 2022-04-22 11:04:00 +08:00
dengbw bf42ad618a customer_421 2022-04-21 15:28:42 +08:00
lccsw 09a6fb183a edit-common-get_company 2022-04-21 14:35:23 +08:00
dengbw 986d221303 orders_421 2022-04-21 11:35:31 +08:00
lccsw e6a531206a edit-licheb-order_loan 2022-04-21 10:46:33 +08:00
lccsw 7eecfb5e5b edit-api-customer 2022-04-21 10:10:06 +08:00
lccsw f74b181859 edit-admin-business_lists 2022-04-20 11:35:44 +08:00
dengbw 0bd4260d1b transfer_420 2022-04-20 11:19:04 +08:00
lccsw fc92086607 edit-api-customer_detail 2022-04-19 17:32:50 +08:00
lccsw ea22a78a2a edit-api-cus_detail 2022-04-19 16:01:10 +08:00
lccsw 9fd9770b3c add-plan-out_time_order 2022-04-19 15:44:18 +08:00
dengbw 1b4f36623f transfer_419_3 2022-04-19 15:39:29 +08:00
dengbw c02ddb603b transfer_419 2022-04-19 13:48:21 +08:00
dengbw ce91711da8 userslog_419 2022-04-19 10:45:44 +08:00
lccsw 026f10911a edit-admin-order_list 2022-04-18 17:38:01 +08:00
dengbw d0f34871d6 userslog_418_3 2022-04-18 16:51:26 +08:00
dengbw 456b0fc35c userslog_418_2 2022-04-18 15:05:39 +08:00
lccsw edbc8086fe add-api-order_uname 2022-04-18 14:18:32 +08:00
dengbw c2a4dd1bdd userslog_418 2022-04-18 13:51:56 +08:00
lccsw ee13b9084f edit-admin-order_list 2022-04-18 11:17:59 +08:00
dengbw 4457c9db21 customer_417 2022-04-17 10:42:29 +08:00
dengbw 0792bb4c35 customer_416 2022-04-16 09:37:14 +08:00
dengbw 88efd15fdc customer_415_4 2022-04-15 17:11:30 +08:00
dengbw 7aab9d981c customer_415_3 2022-04-15 16:43:52 +08:00
dengbw 48436bae74 customer_415_2 2022-04-15 16:38:16 +08:00
lccsw 5a6ca3f952 edit-api-order_list 2022-04-15 16:29:52 +08:00
dengbw 3bae7fc767 customer_415 2022-04-15 14:57:59 +08:00
lccsw f55ed17711 edit-plan-biz_settle 2022-04-14 17:35:33 +08:00
lccsw c1a211fc74 add-comomn-CarInvoiceOCR 2022-04-14 17:18:36 +08:00
dengbw 4db90d0a27 customer_414 2022-04-14 14:09:15 +08:00
lccsw 3d274a8cff edit-admin-filter_order 2022-04-13 16:19:47 +08:00
lccsw 37826a9b86 edit-api-order_list 2022-04-13 16:07:09 +08:00
lccsw 69ed1360d7 edit-admin-order_detail 2022-04-13 14:52:50 +08:00
lccsw 3cef15bd00 edit-admin-order 2022-04-13 14:02:26 +08:00
lccsw 485baac16f edit-biz-settle 2022-04-12 11:34:46 +08:00
dengbw fc9f067098 customer_412 2022-04-12 10:30:44 +08:00
dengbw af2e612574 customer_411_2 2022-04-11 14:11:21 +08:00
dengbw 5c2e8f9975 customer_411 2022-04-11 13:53:28 +08:00
lccsw 1e5797d962 edit-common-get_wxmch_id 2022-04-11 09:41:27 +08:00
lccsw 9d6c589556 edit-api-pay 2022-04-08 18:00:46 +08:00
lccsw 519bc9671a edit-api-edit_orderv2 2022-04-08 16:20:23 +08:00
dengbw 52d7c341c8 admin_408 2022-04-08 15:36:44 +08:00
lccsw 2f82a576d4 edit-api-order_list 2022-04-08 13:35:53 +08:00
lccsw 3a55ac506e edit-api-add_order_limit2 2022-04-07 17:49:46 +08:00
lccsw 4b020e9c88 edit-api-add_order_limit 2022-04-07 17:36:28 +08:00
lccsw 14a9e6db5e edit-licheb-add_order 2022-04-07 17:02:30 +08:00
lccsw 412e2d9e95 edit-liche-deal 2022-04-07 16:30:01 +08:00
dengbw 8d4a654e9a tag_407_2 2022-04-07 14:10:43 +08:00
dengbw 898a8b7324 tag_407 2022-04-07 14:06:47 +08:00
lccsw 46e4d5513b edit-api-create_order 2022-04-06 17:49:25 +08:00
dengbw 9d9c9c27d8 tag_406 2022-04-06 17:48:53 +08:00
lccsw 29e7520c89 edit-api-old_create_order 2022-04-06 17:38:24 +08:00
lccsw 520542cbbf edit-admin-settle 2022-04-06 17:34:13 +08:00
lccsw 8f1338e2eb edit-api-old_create_order 2022-04-05 16:55:07 +08:00
dengbw bb8bf1064f inventory_403 2022-04-03 15:34:36 +08:00
lccsw 41c1387ee8 edit-admin-edit_biz 2022-04-03 09:44:59 +08:00
lccsw 8247a73d43 edit-admin-order_status 2022-04-02 21:32:52 +08:00
dengbw f690fb1b7b stock_402 2022-04-02 15:25:20 +08:00
lccsw 7c5cbf02a9 edit-common-biz_mch_id 2022-04-02 14:55:01 +08:00
lccsw 56d0cdc213 edit-api-edit_order 2022-04-02 09:29:46 +08:00
lccsw 7bf6b25d38 edit-common-add_pay_order 2022-04-01 17:22:40 +08:00
lccsw 6748e392f0 add-api-pay_img 2022-04-01 16:35:14 +08:00
lccsw 01c68e4955 edit-api-pay_img 2022-04-01 12:25:17 +08:00
lccsw c6c4e54296 edit-api-biz_company 2022-04-01 11:22:41 +08:00
lccsw 76eee8bce7 edit-api-biz_company 2022-04-01 10:36:21 +08:00
lccsw aed4c8beb8 edit-api-business 2022-04-01 10:03:18 +08:00
lccsw be66e2c68d edit-admin-order_list_filter 2022-03-31 14:05:02 +08:00
dengbw e39a810888 stock_331 2022-03-31 11:40:48 +08:00
lccsw abae1d02ec edit-admin-order_list 2022-03-31 11:30:42 +08:00
lccsw a131e4c819 edit-api-liche_pay_desc 2022-03-30 13:57:37 +08:00
dengbw 49bfce1c33 persona_320_2 2022-03-30 11:54:48 +08:00
dengbw 12a574ab74 persona_320
persona_320_2
2022-03-30 10:34:10 +08:00
lccsw f05266035b add-plan-up_order 2022-03-29 17:15:59 +08:00
lccsw 49f52141b3 edit-liche-pay_status 2022-03-29 15:36:59 +08:00
dengbw c981eaef98 lichene_329 2022-03-29 09:24:11 +08:00
lccsw db97fc7417 edit-admin-order_filter 2022-03-28 17:34:18 +08:00
lccsw e774a9873c edit-admin-show_order 2022-03-28 17:27:47 +08:00
dengbw 049f5ad51f lichene_328_6 2022-03-28 16:49:57 +08:00
dengbw a544a1f8d5 lichene_328_5 2022-03-28 14:40:50 +08:00
dengbw e8efee9ddc lichene_328_4 2022-03-28 14:27:08 +08:00
dengbw 9298a1f05b lichene_328_3 2022-03-28 14:05:28 +08:00
dengbw 32edb7e039 lichene_328_2 2022-03-28 14:01:11 +08:00
dengbw 791ccf705a lichene_328 2022-03-28 13:57:18 +08:00
dengbw 8847490cf7 lichene_325 2022-03-28 13:41:36 +08:00
lccsw efa4154a13 edit-common-intention 2022-03-27 14:35:05 +08:00
lccsw a26d801b49 edit-admin-business' 2022-03-26 01:07:38 +08:00
lccsw cc27ea79fe edit-admin-robot 2022-03-26 00:48:01 +08:00
lccsw 56b96fa3c7 edit-common-company 2022-03-25 23:48:23 +08:00
dengbw 8bde09f8e9 lichene_325 2022-03-25 22:43:47 +08:00
lccsw d93e8fb97f edit-common-qyrobot-2 2022-03-25 22:14:22 +08:00
lccsw 31da2399e3 edit-common-qyrobot 2022-03-25 22:10:07 +08:00
lccsw d39502b9c6 edit-admin-up_img 2022-03-25 18:04:53 +08:00
lccsw a1621b5e19 edit-admin-order_list 2022-03-25 16:46:34 +08:00
lccsw 047888fffa edit-admin-export-order 2022-03-25 16:38:41 +08:00
lccsw 57291aab87 edit-api-add_clues 2022-03-25 16:11:09 +08:00
lccsw e01232075e eidt-api-licheb-up_img 2022-03-25 15:09:07 +08:00
lccsw 632011b659 edit-api-liche_update_order 2022-03-25 14:37:24 +08:00
lccsw ddd5545f4e edit-admin-order_list 2022-03-25 09:53:10 +08:00
lccsw 3a753e03ec edit-admin-business_page 2022-03-25 09:42:01 +08:00
lccsw 88debfefb1 edit-commit-robot 2022-03-25 09:28:51 +08:00
lccsw 669890eab5 edit-order-opt 2022-03-24 22:29:48 +08:00
lccsw 20c3bf1f52 edit-api-post_clues 2022-03-24 15:40:17 +08:00
dengbw fce00ca3f6 introduce_324 2022-03-24 09:21:28 +08:00
dengbw 37b847104b introduce_323 2022-03-23 15:45:27 +08:00
dengbw 735c2b8425 introduce_322_2 2022-03-23 11:06:00 +08:00
dengbw 4a8ab12a45 introduce_322_2 2022-03-22 17:49:59 +08:00
dengbw f26475794f introduce_322 2022-03-22 17:19:46 +08:00
dengbw c62e78a8cc customer_318 2022-03-18 17:51:18 +08:00
xiaoyu 51df618d0d fixed 2022-03-17 21:43:55 +08:00
dengbw ec1827d2ba customer_317 2022-03-17 16:52:45 +08:00
lccsw 60943bd1c7 add-admin-export-admin_name 2022-03-17 10:49:47 +08:00
dengbw 661e08b403 customer_tag_316_2 2022-03-16 10:55:23 +08:00
dengbw 8f19789a04 customer_tag_316 2022-03-16 10:22:25 +08:00
dengbw c617a99ffb customer_tag_315_3 2022-03-15 17:52:16 +08:00
lccsw 564c45d8d5 edit-common-pdf_url 2022-03-15 15:00:02 +08:00
dengbw d32fec4152 customer_tag_315_2 2022-03-15 13:34:45 +08:00
dengbw 18a0d23ee9 customer_tag_315 2022-03-15 11:37:42 +08:00
lccsw 1f2c6be884 edit-pdf-url2 2022-03-15 09:43:56 +08:00
lccsw caa508c362 edit-pdf-url 2022-03-15 09:21:09 +08:00
dengbw 4e6211f075 admin_customer_tag_311 2022-03-11 17:06:31 +08:00
lccsw f97220945d edit-admin-export_order 2022-03-10 16:13:54 +08:00
lccsw 240641cc4a edit-api-g_time 2022-03-10 15:17:19 +08:00
dengbw 6de7b9e143 admin_transfer_310_3 2022-03-10 14:45:28 +08:00
dengbw d1f740e989 admin_transfer_310_2 2022-03-10 13:36:57 +08:00
dengbw fb5948708b admin_transfer_310 2022-03-10 10:15:45 +08:00
dengbw 82a9cf1c75 admin_transfer_309 2022-03-09 17:57:50 +08:00
dengbw 68073b4552 admin_transfer_308_4 2022-03-08 17:07:21 +08:00
dengbw 93dd37df2d admin_transfer_308_3 2022-03-08 11:41:35 +08:00
dengbw 502306b10a admin_transfer_308_2 2022-03-08 11:27:29 +08:00
dengbw 8a77a15270 admin_transfer_308 2022-03-08 11:15:49 +08:00
dengbw 02f8667f02 admin_transfer_304 2022-03-04 11:41:20 +08:00
dengbw f417b0818a admin_items_303 2022-03-03 17:39:20 +08:00
dengbw af903d1e64 inventory_303 2022-03-03 10:38:50 +08:00
dengbw 44c3fda88e inventory_302_2 2022-03-02 17:55:14 +08:00
dengbw 74026eed93 Merge branch 'fea#dbw_inventory' into dev 2022-03-02 17:37:57 +08:00
dengbw 26add2743a inventory_302 2022-03-02 17:36:23 +08:00
lccsw 8b09d1ba58 edit-pdftoimg-api_url 2022-02-27 20:55:44 +08:00
dengbw db4cd9018a api_transfer_224 2022-02-24 16:14:57 +08:00
dengbw 7a028b8683 admin_transfer_221 2022-02-21 14:48:41 +08:00
dengbw fb314c4e97 admin_polyv_218 2022-02-18 10:29:50 +08:00
dengbw e6e7867415 admin_polyv_217 2022-02-17 11:16:21 +08:00
lccsw 3c263af484 edit-api-series_car 2022-02-16 15:16:47 +08:00
lccsw ae1c9bff68 edit-api-price_book 2022-02-14 11:57:47 +08:00
dengbw 66dc89bd4c transfer_210 2022-02-10 14:20:15 +08:00
dengbw 3b1695262c syt_210 2022-02-10 11:18:45 +08:00
dengbw 4337f7d72a syt_209 2022-02-09 16:35:47 +08:00
dengbw 97637e5306 transfer_209 2022-02-09 15:30:46 +08:00
lccsw 645def3aff add-admin-biz_company_type 2022-02-09 10:16:17 +08:00
dengbw 149d17637a syt_128_2 2022-01-28 17:13:25 +08:00
dengbw 150f5e608a Merge branch 'fea#dbw_syt2022' into dev 2022-01-28 16:17:53 +08:00
dengbw e0fb4f5a41 syt_128 2022-01-28 16:16:36 +08:00
dengbw badb3720d0 admin_tranfer_127_2 2022-01-27 16:30:53 +08:00
dengbw 0194c1a5bd admin_tranfer_127 2022-01-27 16:17:33 +08:00
dengbw acd4365e2d admin_tranfer_126 2022-01-26 10:33:28 +08:00
xiaoyu 10e92a7668 material 2022-01-24 22:06:16 +08:00
dengbw 1c1df4a5ec home_tranfer_120_3 2022-01-20 17:02:38 +08:00
dengbw 11618a1a36 home_tranfer_120_2 2022-01-20 15:40:34 +08:00
dengbw 826f79a8d9 home_tranfer_120 2022-01-20 09:51:41 +08:00
lccsw 96081eb6b4 edit-api-give_time 2022-01-19 20:00:13 +08:00
dengbw ef1018b32d api_material_119 2022-01-19 11:30:35 +08:00
dengbw 191828a6e6 admin_transfer_118_2 2022-01-18 14:21:49 +08:00
dengbw 14d81648ea admin_transfer_118 2022-01-18 11:26:56 +08:00
lccsw 7ac34dcd57 edit-admin-clues 2022-01-12 10:12:15 +08:00
dengbw 46661cf1bc stituation_110_3 2022-01-10 17:28:20 +08:00
dengbw 1ed9d8ab64 stituation_110_2 2022-01-10 17:22:31 +08:00
dengbw 7622667be7 stituation_1010 2022-01-10 11:17:24 +08:00
lccsw 25ada26f3c edit-liche-roboot 2022-01-07 16:58:46 +08:00
lccsw 95cace10f2 add-api-fill_pdf 2022-01-06 16:03:07 +08:00
lccsw c2b3165473 edit-api-edit-customer 2022-01-06 10:53:38 +08:00
lccsw 3703cf37eb add-vendor-pdftk 2022-01-05 15:56:46 +08:00
lccsw 9566815d4e edit-liche-resign 2022-01-05 15:47:05 +08:00
lccsw 329d145705 add-api-test 2022-01-05 15:43:49 +08:00
lccsw ff9ab23389 edit-liche-resign 2022-01-05 15:07:43 +08:00
dengbw c308f45de7 transfer_105 2022-01-05 10:14:42 +08:00
lccsw a8994824e1 edit-licheb-up_idcard 2022-01-05 09:59:27 +08:00
dengbw a07d58cdd5 transfer_104 2022-01-04 16:18:53 +08:00
dengbw ee8e8e1830 transfer_1231_3 2021-12-31 10:30:04 +08:00
dengbw 94437cd8fc transfer_1231_2 2021-12-31 10:00:19 +08:00
dengbw 26f5191ff5 transfer_1231 2021-12-31 09:40:34 +08:00
dengbw dcb96880d8 transfer_1230_6 2021-12-30 17:36:57 +08:00
lccsw f8a3ee2089 edit-admin-order_item 2021-12-30 17:36:40 +08:00
dengbw 95d49bd88c transfer_1230_5 2021-12-30 17:30:08 +08:00
dengbw 3ee20350eb transfer_1230_4 2021-12-30 14:44:25 +08:00
dengbw dc5caa1fc1 transfer_1230_2
transfer_1230_3
2021-12-30 10:43:40 +08:00
dengbw 0e60e77953 transfer_1230 2021-12-30 10:31:14 +08:00
dengbw 7c53fea02c transfer_1229 2021-12-29 17:13:02 +08:00
dengbw ac2bb5131b transfer_1228_2 2021-12-28 16:37:28 +08:00
dengbw b11c6a5f61 transfer_1228 2021-12-28 16:01:09 +08:00
dengbw 7d192cce94 transfer_1228 2021-12-28 15:50:15 +08:00
lccsw da2249aeb3 edit-api-progress 2021-12-28 15:29:44 +08:00
lccsw ff26be0f83 edit-liche-api 2021-12-28 15:20:53 +08:00
lccsw 6ef78ac2d8 add-admin_item_list_company 2021-12-27 14:45:54 +08:00
lccsw 19ab5a955f edit-api-brokerage_limit 2021-12-27 11:40:04 +08:00
lccsw ce92dda835 edit-admin-order_loan 2021-12-25 09:45:23 +08:00
lccsw 92ef319347 edit-admin-order_detail 2021-12-24 17:09:19 +08:00
lccsw 8bec4c7adc edit-admin-item_check 2021-12-24 17:02:38 +08:00
lccsw 0670282c73 add-admin-item_company_id 2021-12-24 16:49:11 +08:00
lccsw 1954668475 add-licheb-brokerage 2021-12-24 16:24:36 +08:00
lccsw 8952ef31a6 edit-api-brand=5 2021-12-24 15:13:12 +08:00
lccsw 417b3cebb1 edit-api-edit_orde 2021-12-23 11:02:14 +08:00
lccsw 7a82a12054 edit-admin-distribution_html 2021-12-22 16:58:37 +08:00
lccsw 110ff8c715 edit-admin-get_commission 2021-12-22 16:33:40 +08:00
lccsw 7680ba8948 edit-admin-distribution 2021-12-22 14:01:30 +08:00
lccsw 12719a8faa edit-home-tool 2021-12-21 17:15:56 +08:00
lccsw 57ce4e125a edit-api-cancel_fine 2021-12-21 13:45:39 +08:00
lccsw 84d5d8c754 edit-admin-order_detail 2021-12-21 10:29:07 +08:00
lccsw 09ea7e53ed edit-api-pay_order 2021-12-20 15:52:06 +08:00
lccsw 30ebc651f7 edit-api-deal_log 2021-12-17 16:47:36 +08:00
lccsw 5bdff46342 edit-admin-order_agent_list 2021-12-17 16:32:32 +08:00
lccsw b3802bddff edit-admin-order_agent_list 2021-12-17 16:25:13 +08:00
lccsw 26e5059336 edit-order_entity 2021-12-17 15:31:13 +08:00
lccsw 2aa997f2bf edit-plan-create_paylog 2021-12-17 15:26:24 +08:00
lccsw f5b4c6c14a edit-api-order_process 2021-12-17 15:18:14 +08:00
lccsw b08fa24b1d edit-api-text 2021-12-17 15:09:28 +08:00
dengbw 2693f69c0a transfer_1216_2 2021-12-16 17:08:59 +08:00
dengbw 150d570f3b Merge branch 'fea#dbw_transfer' into dev 2021-12-16 17:00:22 +08:00
dengbw ac318e108b transfer_1216 2021-12-16 16:58:51 +08:00
lccsw 2ac6955b0f edit-admin-customer-list 2021-12-16 14:25:35 +08:00
lccsw 5b2b9697f5 edit-add_pay_log 2021-12-16 09:34:18 +08:00
lccsw 1d2279a019 edit-admin-add_pay_log2 2021-12-15 17:32:00 +08:00
lccsw 6acc27dcbc edit-admin-add_pay_log 2021-12-15 17:00:07 +08:00
lccsw 8215d4b02f edit-api-pay_list1 2021-12-14 15:02:17 +08:00
lccsw 8f066612f7 edit-api-pay_list 2021-12-14 13:52:40 +08:00
lccsw 623f7b7cd8 edit-admin-order_filter 2021-12-13 17:05:40 +08:00
lccsw 75c901c635 edit-api-create_order_limit 2021-12-13 16:15:33 +08:00
dengbw 9881eef464 api_bobing_1209 2021-12-09 17:08:41 +08:00
lccsw c58bacf10f edit-api-finish_order 2021-12-08 17:42:05 +08:00
lccsw e783cb0c01 edit-admin-add_pay_log 2021-12-08 16:35:17 +08:00
dengbw 8aea70857d admin_channel_1208 2021-12-08 14:44:34 +08:00
lccsw e795d6fe4e add-admin-complete_order 2021-12-08 09:59:03 +08:00
lccsw 8cce0b93e7 edit-admin-order_list2 2021-12-07 15:18:51 +08:00
lccsw 6d7fdbb2f5 edit-admin-order_list 2021-12-07 15:05:24 +08:00
lccsw 163632f723 edit-api-auth_mobile 2021-12-07 14:14:05 +08:00
lccsw edc1ad2068 edit-api-create_order 2021-12-06 21:17:28 +08:00
lccsw f3ce692435 edit-liche-create_pay_order 2021-12-06 17:10:32 +08:00
lccsw 4248b7e931 edit-cancel-select_car2 2021-12-06 16:19:56 +08:00
lccsw dfbc9a7ac7 edit-cancel-select_car 2021-12-06 14:51:20 +08:00
dengbw 21c5a7dd52 admin_licheb_1206 2021-12-06 10:57:56 +08:00
dengbw c7faf370e2 admin_material_1203 2021-12-03 17:48:19 +08:00
dengbw c065fab653 admin_goods_1203_2 2021-12-03 15:26:43 +08:00
dengbw 60536a0073 admin_goods_1203 2021-12-03 15:19:04 +08:00
lccsw 99ca652744 edit-admin-order_list 2021-12-03 14:18:07 +08:00
lccsw 81fa5fb966 edit-api-text 2021-12-03 11:02:20 +08:00
lccsw dc8164fb75 edit-api-edit_order 2021-12-03 10:55:36 +08:00
lccsw 908b561b3f edit-api-delete_old_orders 2021-12-03 10:41:32 +08:00
dengbw 7a962897e7 admin_orders_1203 2021-12-03 09:46:23 +08:00
lccsw e35e25eab2 edit-api-pay_limit 2021-12-02 17:36:24 +08:00
dengbw fc08caa600 luckybag_1202_5 2021-12-02 16:38:02 +08:00
dengbw 194ea4c516 luckybag_1202_4 2021-12-02 16:28:22 +08:00
dengbw 052f8b94ec luckybag_1202_3 2021-12-02 16:17:56 +08:00
dengbw fc2dda94ae luckybag_1202_2 2021-12-02 15:38:56 +08:00
lccsw 31a139f9cb add-tool-pdf_type 2021-12-02 15:00:00 +08:00
dengbw 9e9d887061 luckybag_1202 2021-12-02 13:46:43 +08:00
lccsw 9b7b63322d edit-api-hidden-video 2021-12-02 11:47:16 +08:00
lccsw f96e24bd3e add-api-bak_mobile cancel_car 2021-12-01 17:29:45 +08:00
lccsw d1ab6c72fa edit-api-edit_order 2021-11-30 17:02:21 +08:00
lccsw 4e31718409 add-api-BizLicense 2021-11-30 15:56:34 +08:00
lccsw 9ac7171b19 delete-test-code 2021-11-30 11:45:52 +08:00
lccsw 1e45295371 edit-liche-static 2021-11-28 16:37:41 +08:00
lccsw 0d7f1e3708 edit-api-create_order 2021-11-28 16:12:32 +08:00
lccsw 18eb8634b0 edit-common-auto_config 2021-11-26 14:16:14 +08:00
dengbw 5f71b531ef admin_orders_1126 2021-11-26 11:45:29 +08:00
lccsw 7febbcd69d edit-upda-order_time 2021-11-26 11:34:19 +08:00
lccsw a41b8ff77f edit-api-create_order 2021-11-26 11:18:39 +08:00
lccsw 323b808135 edit-api-constract 2021-11-26 10:56:26 +08:00
dengbw d4928486d4 admin_liche_1125 2021-11-25 11:33:02 +08:00
lccsw a7e3f634e4 edit-api-check_biz_type 2021-11-24 13:41:11 +08:00
dengbw 9ee2972179 api_material_1124 2021-11-24 10:16:41 +08:00
lccsw 6e56814fcd edit-admin-export_order 2021-11-23 13:49:07 +08:00
lccsw 608156e5ec add-admin-export_order 2021-11-23 11:42:02 +08:00
lccsw 79b45bf308 edit-create-inten_order 2021-11-22 15:47:06 +08:00
lccsw eb07c8ad89 edit-api-order_list 2021-11-22 11:24:40 +08:00
lccsw 3ef1be025e add-common-auto_config 2021-11-19 16:41:38 +08:00
dengbw 34d362ad84 api_material_1119 2021-11-19 13:34:22 +08:00
lccsw 7a040ad69c add-srv-company 2021-11-19 10:33:40 +08:00
lccsw fa3f1245fd edit-admin-ck_pay 2021-11-18 16:31:10 +08:00
lccsw 3185e82471 edit-html 2021-11-18 15:54:07 +08:00
lccsw b93af8a49a edit-api-edit_order 2021-11-18 15:47:45 +08:00
dengbw c3303bd751 admin_orders_1118 2021-11-18 14:16:00 +08:00
dengbw a16f861298 channel_1117_5 2021-11-17 16:49:37 +08:00
dengbw 5c16df603f channel_1117_4 2021-11-17 16:33:51 +08:00
dengbw 50bab18192 channel_1117
channel_1117_2

channel_1117_3
2021-11-17 15:20:44 +08:00
lccsw 859cc89c2b edit-admin-order_list 2021-11-17 10:11:10 +08:00
lccsw 2b3b9bf751 add-plan-order_time 2021-11-16 17:10:49 +08:00
dengbw 4e3d8a0d38 api_material_1116_3 2021-11-16 17:08:34 +08:00
dengbw 3e23221477 api_material_1116_2 2021-11-16 17:06:39 +08:00
lccsw 91b16bb314 edit-admin-order_loan 2021-11-16 15:20:21 +08:00
lccsw ab2262fea3 edit-liche-robot3 2021-11-16 12:01:25 +08:00
lccsw 26233358a8 edit-liche-robot2 2021-11-16 11:53:29 +08:00
lccsw d3eee6e3a3 edit-liche-robot 2021-11-16 11:29:55 +08:00
lccsw 999bee80e4 edit-admin-list 2021-11-16 11:19:40 +08:00
dengbw b358f132f3 api_material_1116 2021-11-16 11:05:01 +08:00
lccsw 43ab0d3060 edit-api-user_orders 2021-11-16 09:24:11 +08:00
lccsw 5192f59f2a edit-admin-order_list 2021-11-15 14:30:51 +08:00
lccsw 90af075af3 edit-api-config_img 2021-11-15 11:47:35 +08:00
lccsw 84bd314848 edit-api-update_user_order 2021-11-14 14:59:17 +08:00
lccsw 8198d6df68 edit-api-create_order 2021-11-14 14:37:06 +08:00
dengbw f439f0c165 api_material_1112 2021-11-12 16:33:13 +08:00
lccsw fbdd457394 edit-model-order_delivery_info 2021-11-12 16:07:58 +08:00
lccsw 0f4fd655d0 edit-admin-order_detail 2021-11-12 13:41:18 +08:00
lccsw a3901ced54 add-api-delivery 2021-11-12 11:10:49 +08:00
lccsw 10469cbed9 edit-api-entrust 2021-11-12 11:09:06 +08:00
dengbw 195c8e97e0 goods_logs_1111_4 2021-11-11 17:56:19 +08:00
dengbw 4cdc6eba1b goods_logs_1111_3 2021-11-11 16:54:57 +08:00
lccsw 780f470ff2 edit-admin-order_detail2 2021-11-11 16:12:46 +08:00
lccsw 6eb24e023e edit-admin-order_detail 2021-11-11 16:09:44 +08:00
dengbw f0895b4139 goods_logs_1111_2 2021-11-11 11:04:13 +08:00
dengbw 5f83d9a92a goods_logs_1111 2021-11-11 10:55:10 +08:00
lccsw 2489cf390a edit-cancel-brand_id=4 2021-11-10 20:47:04 +08:00
lccsw 0552b81510 edit-third_party-alipay 2021-11-10 10:43:53 +08:00
lccsw 287e444994 edit-third_party-ali 2021-11-09 17:58:45 +08:00
dengbw 38e30d2642 goods_logs_1109_4 2021-11-09 15:22:20 +08:00
lccsw a83dc2e5cd edit-api-contract 2021-11-09 14:17:50 +08:00
dengbw 346d75b7d3 goods_logs_1109_3 2021-11-09 14:12:49 +08:00
dengbw d7c8b79e0a goods_logs_1109_2 2021-11-09 14:01:08 +08:00
dengbw 7364745129 goods_logs_1109 2021-11-09 13:45:57 +08:00
lccsw db3b66e088 edit-api-money_json 2021-11-08 16:26:17 +08:00
lccsw 8e75502a9c edit-api-order_list 2021-11-08 15:33:32 +08:00
dengbw e0ef297acb Merge branch 'fea#goods' into dev 2021-11-08 14:22:03 +08:00
dengbw 522cb99ac4 goods_logs_1108 2021-11-08 14:20:26 +08:00
lccsw b5cd2d1fa2 edit-api-order2 2021-11-07 19:25:54 +08:00
lccsw 7aad2fe390 edit-api-order 2021-11-07 19:22:57 +08:00
lccsw 943f2db8fb edit-api-sum_deal_log 2021-11-06 22:45:53 +08:00
lccsw 4ff3416c7d add-api-test_script 2021-11-06 22:45:49 +08:00
lccsw 000e423568 edit-api-services 2021-11-06 15:58:32 +08:00
lccsw dfc489fa9e edit-api-protocol 2021-11-05 22:22:09 +08:00
lccsw 747084be3b edit-qywhat-robot 2021-11-05 16:07:05 +08:00
lccsw 42c6d30228 edit-api-order_detail 2021-11-04 16:59:05 +08:00
lccsw 35af697f11 add-api-cal-order 2021-11-04 16:17:40 +08:00
dengbw d5b347d0c9 api_biz_1104_2 2021-11-04 11:02:36 +08:00
dengbw a834760394 api_biz_1104 2021-11-04 10:39:08 +08:00
dengbw ad955949e6 api_biz_1103_7 2021-11-03 18:09:42 +08:00
dengbw 3c453d43d3 api_biz_1103_6 2021-11-03 17:23:03 +08:00
dengbw e017854962 api_biz_1103_5 2021-11-03 17:12:26 +08:00
dengbw 407547c718 api_biz_1103_4 2021-11-03 17:08:20 +08:00
dengbw 6a5e5dd11f api_biz_1103_3 2021-11-03 16:40:18 +08:00
dengbw 40ebdc03b0 api_biz_1103_2 2021-11-03 14:48:42 +08:00
dengbw 4606a018ea api_biz_1103 2021-11-03 11:44:20 +08:00
lccsw 7fa658198a edit-admin-order_detail 2021-11-03 10:23:43 +08:00
lccsw aabb0e6579 edit-admin-cus_cancel 2021-11-03 09:57:27 +08:00
dengbw d533f9de9f admin_customer_1102 2021-11-02 17:34:20 +08:00
dengbw 20a447aeda api_licheb_1102_2 2021-11-02 14:49:22 +08:00
lccsw 2542dc14d7 edit-admin-agent3 2021-11-02 11:22:50 +08:00
lccsw 1236cd3e42 edit-admin-edit_agent2 2021-11-02 11:20:13 +08:00
lccsw b59fa453f7 edit-admin-edit_agent 2021-11-02 11:15:04 +08:00
lccsw 82ab3df9f1 edit-admin-edit_order 2021-11-02 11:09:07 +08:00
lccsw df3d317b83 edit-api-cus_list 2021-11-02 10:24:14 +08:00
lccsw 2ee94179b5 edit-admin-edit_order 2021-11-02 10:20:50 +08:00
dengbw 6c0824e1b6 api_licheb_1102 2021-11-02 10:17:26 +08:00
dengbw 66a6da8cc0 admin_orderList_1101 2021-11-01 14:48:32 +08:00
lccsw 03c571d832 edit-api-create_order 2021-11-01 14:22:57 +08:00
dengbw 278011ce0e admin_order_1101 2021-11-01 10:32:36 +08:00
lccsw 5fdcca327a edit-api-order_time and filter customer 2021-11-01 10:00:35 +08:00
lccsw 68a72d531f edit-admin-clues-filter-mobile 2021-11-01 09:48:20 +08:00
xiaoyu d995cd0b9c order_time
order_time

order_time
2021-10-31 01:30:11 +08:00
dengbw 2d36599055 admin_order_1029 2021-10-29 17:56:11 +08:00
lccsw 760272647c add-api-white_list 2021-10-29 12:32:47 +08:00
dengbw a79b99f557 admin_customer_1029 2021-10-29 09:36:37 +08:00
lccsw cdbe15eb05 edit-auto-cars 2021-10-28 18:56:14 +08:00
dengbw adbea9690d admin_goods_1028_4 2021-10-28 17:56:32 +08:00
lccsw 9f5bbc070f edit-api-edit_order 2021-10-28 17:45:13 +08:00
dengbw ea9729211d admin_goods_1028_3 2021-10-28 16:20:04 +08:00
dengbw bc74ec8ba2 admin_goods_1028_2 2021-10-28 16:10:42 +08:00
dengbw ba07dc0672 admin_goods_1028 2021-10-28 15:54:03 +08:00
lccsw 07df6b5031 edit-admin-fh_agent 2021-10-28 09:58:24 +08:00
dengbw 7a2fe961fd api_licheb_1027 2021-10-27 16:45:44 +08:00
dengbw 14b6ef65ff alisms_1027_3 2021-10-27 15:43:45 +08:00
lccsw c5ddf097f9 edit-admin-bill_status 2021-10-27 15:07:08 +08:00
lccsw 261185ee7a edit-bill-status 2021-10-27 14:41:48 +08:00
dengbw 3522ceb5bc alisms_1027_2 2021-10-27 11:28:57 +08:00
dengbw fc591adc9c Merge branch 'fea#licheb_sms' into dev 2021-10-27 11:05:16 +08:00
dengbw d5f4ced1e8 alisms_1027 2021-10-27 11:04:23 +08:00
lccsw d80f6b8fe0 edit-api-edit_order 2021-10-27 11:03:12 +08:00
lccsw 923fbf53d5 edit-admin-order_info 2021-10-27 09:25:28 +08:00
lccsw 4f09a056e4 edit-admin-order_detail 2021-10-26 14:28:52 +08:00
dengbw 0d52d7acf5 admin_customer_1026 2021-10-26 11:32:20 +08:00
lccsw 789ce6589e edit-api-licheb-sms_ck 2021-10-26 11:00:07 +08:00
lccsw 792c34349a add-api-edit-order 2021-10-26 10:53:27 +08:00
dengbw d4fe6d5086 customer_visit_1026 2021-10-26 10:38:08 +08:00
dengbw 127106d927 Template_1025_2 2021-10-25 17:48:58 +08:00
lccsw da3d276408 edit-api-static 2021-10-25 16:11:10 +08:00
dengbw 6b3c38a5df Template_1025 2021-10-25 15:31:26 +08:00
dengbw d636720eaf customer_visit_1025_7 2021-10-25 11:53:43 +08:00
dengbw 0c873747e4 customer_visit_1025_6 2021-10-25 11:33:40 +08:00
dengbw 2af16e3922 customer_visit_1025_5 2021-10-25 11:26:24 +08:00
dengbw facf9e3c5e customer_visit_1025_4 2021-10-25 10:56:55 +08:00
dengbw 9e3e6fd2df customer_visit_1025_3 2021-10-25 10:38:00 +08:00
dengbw 823711626b customer_visit_1025_2 2021-10-25 10:34:26 +08:00
dengbw b10d3c9289 Merge branch 'fea#customers_visit' into dev 2021-10-25 10:02:24 +08:00
dengbw cb7a5a2cb9 customer_visit_1025 2021-10-25 10:02:04 +08:00
dengbw 6097055437 admin_order_1025 2021-10-25 09:37:56 +08:00
lccsw e0d1cd6865 edit-admin-pay_log 2021-10-25 09:16:45 +08:00
dengbw e693c86fb7 admin_order_1021 2021-10-21 17:51:23 +08:00
lccsw 8cb77421c4 edit-api-price_finance 2021-10-20 17:55:50 +08:00
lccsw 59aacf2ad1 edit-admin-limit_city 2021-10-20 16:37:23 +08:00
lccsw 649e8d02fa edit-admin-edit_order2 2021-10-20 11:48:06 +08:00
lccsw f50749984b edit-admin-edit_order 2021-10-20 11:45:46 +08:00
dengbw b933d64af1 admin_material_1019 2021-10-19 13:53:00 +08:00
lccsw 03cc6536c1 edit-admin-user_css 2021-10-19 11:17:52 +08:00
lccsw 7172a6e47a add-admin-biz_limit 2021-10-19 11:13:23 +08:00
lccsw 587c5c3905 edit-api company_id=1 2021-10-18 21:21:28 +08:00
dengbw 1fc0f294d2 admin_material_1018_2 2021-10-18 15:10:35 +08:00
lccsw 22525c2089 add-alipay-sdk 2021-10-18 14:56:21 +08:00
dengbw 5f15803f17 admin_material_1018 2021-10-18 14:08:10 +08:00
dengbw 9311d5f6db admin_material_1015_3 2021-10-15 17:06:09 +08:00
dengbw 6e367599a8 admin_material_1015_2 2021-10-15 16:27:50 +08:00
dengbw 7e133c8efb admin_material_1015 2021-10-15 16:23:20 +08:00
lccsw 9aad7bbe85 edit-api-stat 2021-10-15 14:18:06 +08:00
lccsw 7365661d29 edit-admin-finsh_agent 2021-10-15 14:13:14 +08:00
dengbw 13b979c314 admin_orders_1015 2021-10-15 11:15:04 +08:00
dengbw f85cf9207d admin_customer_1015 2021-10-15 10:08:03 +08:00
dengbw 0827934f66 admin_customer_1014_2 2021-10-15 00:02:49 +08:00
dengbw 00098b5fe4 admin_customer_1014 2021-10-14 23:52:27 +08:00
dengbw 07b94e918b material_1014_3 2021-10-14 17:51:27 +08:00
lccsw 25984704a4 edit-plan-robot2 2021-10-14 17:43:02 +08:00
lccsw 19138006d4 edit-plan-robot 2021-10-14 17:38:55 +08:00
lccsw d70d0afbaf edit-api-xz_stat 2021-10-14 16:53:32 +08:00
lccsw 0a86abaa5a edit-admin-order_loan 2021-10-14 16:42:15 +08:00
dengbw 2706cae481 material_1014 2021-10-14 15:54:18 +08:00
lccsw 3f4a194864 edit-common-show_srv_money 2021-10-14 15:17:30 +08:00
lccsw 08a0409a6d add-script-up_money_json 2021-10-14 15:02:59 +08:00
lccsw ded7b54205 edit-api-create_clue 2021-10-14 13:40:00 +08:00
lccsw 145f71a362 edit-liche-robot 2021-10-13 17:01:02 +08:00
lccsw 44c3a90422 edit-admin-filter biz_id=1 2021-10-13 14:25:45 +08:00
lccsw 219b6e5b80 edit-admin-html 2021-10-13 14:06:04 +08:00
lccsw 6ee37c1e1e edit-admin-order_style 2021-10-12 16:45:13 +08:00
lccsw 6b307e79c7 edit-admin-order_detail 2021-10-12 16:27:49 +08:00
lccsw 94045a6da6 edit-api-log_filter 2021-10-12 13:55:38 +08:00
lccsw cacafadce3 edit-admin-order_detail 2021-10-12 11:57:45 +08:00
lccsw 0f441e7c68 edit-api-filter_limimt 2021-10-12 11:03:03 +08:00
lccsw 52a6d2880d add-api-create_clues 2021-10-12 10:42:21 +08:00
lccsw 20297a42e6 edit-qyrobot 2021-10-12 10:33:42 +08:00
lccsw 47a1a58bca edit-qyrobot-count 2021-10-11 09:15:01 +08:00
lccsw 94343c9137 edit-qyrobot 2021-10-10 19:48:41 +08:00
xxb 6d23cb28aa liche update for upload file bug 2021-10-09 17:13:01 +08:00
dengbw c317e6fe68 admin_goods_109 2021-10-09 16:55:33 +08:00
lccsw 4fbb5f9787 add-api-qywechat-robot 2021-10-09 14:43:05 +08:00
lccsw 1c83ac1591 edit-liche-pay-desc 2021-10-08 17:35:41 +08:00
xxb cba357af08 admin liche update for order bill upload as file 2021-10-08 17:11:10 +08:00
lccsw a301579685 api-liche-pay-bug 2021-10-08 10:24:49 +08:00
dengbw 86a82a5804 admin_orders_105 2021-10-05 22:19:14 +08:00
lccsw 5c55fe5e24 edit-api-liche-order 2021-10-04 17:08:36 +08:00
lccsw b3b3fcc4a8 edit-api-licheb-user 2021-09-30 17:58:51 +08:00
lccsw cab0b63920 edit-api-cus_order 2021-09-30 17:51:54 +08:00
lccsw 9c81f4f7ab edit-admin-goods_status 2021-09-30 17:29:31 +08:00
lccsw 8674d1f661 edit-amdin-add_paylog and api filter brand_id =3 2021-09-30 15:59:22 +08:00
dengbw 49291c7e0a admin_orders_930_3 2021-09-30 15:46:57 +08:00
lccsw b1e74ce3e9 add-admin-paylog 2021-09-30 11:29:31 +08:00
dengbw 6fffcdfa35 admin_orders_930 2021-09-30 11:13:41 +08:00
dengbw 08ea631ee1 admin_orders_929_2 2021-09-29 16:08:26 +08:00
lccsw 5049863033 edit-admin-srv_money 2021-09-29 15:53:15 +08:00
lccsw a92f4455a8 edit-admin-loan_order 2021-09-29 15:02:15 +08:00
dengbw 10e8380f59 admin_orders_929 2021-09-29 10:06:58 +08:00
lccsw af17244d1f edit-admin-edit-loan 2021-09-28 15:00:46 +08:00
dengbw 5f1818f35d admin_orders_928 2021-09-28 11:43:47 +08:00
lccsw f236f74de0 edit-api-pay 2021-09-28 09:40:08 +08:00
dengbw ede3302a52 admin_orders_927_4 2021-09-27 17:56:35 +08:00
dengbw 7430916dd8 admin_orders_927_3 2021-09-27 15:58:25 +08:00
dengbw 3a57dcf0f8 admin_orders_927
admin_orders_927_2
2021-09-27 15:50:20 +08:00
lccsw e91369801d edit-licheb-create_order 2021-09-27 15:13:21 +08:00
lccsw e58f159182 edit-api-licheb 2021-09-27 12:44:33 +08:00
lccsw 535194cb74 edit-api-licheb-biz_status 2021-09-27 08:51:40 +08:00
lccsw 18b54c46e1 add-api-licheb-biz_status 2021-09-26 21:29:21 +08:00
dengbw 6d49af1bd8 admin_orders_926_2 2021-09-26 17:45:45 +08:00
lccsw 9277a93044 edit-api-licheb-order_list 2021-09-26 16:31:33 +08:00
lccsw b33c2b1347 add-script-up_order2 2021-09-26 13:58:50 +08:00
lccsw 6cb9f57d33 add-script-up_order 2021-09-26 13:58:42 +08:00
dengbw f92ce443c5 admin_orders_926 2021-09-26 11:31:22 +08:00
xxb eb8fdd6e06 liche update for admin sys addr unrepeat at county 2021-09-26 11:11:48 +08:00
lccsw 278740c87d edit-liche-orders 2021-09-24 22:03:42 +08:00
xxb 254bfbfd55 liche update for admin uploadpdf bug 2021-09-24 15:01:34 +08:00
dengbw fc5aa25f02 admin_orders_924_4 2021-09-24 14:26:28 +08:00
dengbw 958e050584 admin_orders_924_3 2021-09-24 11:47:54 +08:00
xxb 7fc3770f44 liche update for api idcard check uname 2021-09-24 09:45:02 +08:00
dengbw c5146da57a admin_orders_924
admin_orders_924_2
2021-09-24 09:38:02 +08:00
lccsw 96b58147c3 edit-admin-change_old_order2 2021-09-23 20:38:38 +08:00
lccsw 8c65165cc4 edit-admin-change_old_order 2021-09-23 20:33:34 +08:00
lccsw 286f0f7e7f add-admin-change_old_order 2021-09-23 20:11:22 +08:00
dengbw 0b06743771 admin_orders_923_2 2021-09-23 17:56:55 +08:00
dengbw 72abef3b19 admin_orders_923 2021-09-23 17:32:32 +08:00
xxb 2ad0692b00 liche update for admin auto attr list pager bug 2021-09-23 14:11:09 +08:00
dengbw 4eda5ad604 admin_customer_923 2021-09-23 09:34:26 +08:00
xxb 0ab4b6a1b6 liche update for admin order upload idcard 2021-09-22 19:55:32 +08:00
dengbw 61b2befd09 admin_customer_922 2021-09-22 16:22:12 +08:00
lccsw 6c6cc4e1c4 edit-admin-ckcar 2021-09-20 09:15:22 +08:00
dengbw a459fdd16b admin_orders_919 2021-09-19 23:24:20 +08:00
lccsw f5ce3a7a69 add-admin-finish_pay 2021-09-19 15:11:25 +08:00
lccsw ae0f217a10 edit-api-licheb-filter-brand_id 2021-09-18 14:48:43 +08:00
dengbw 45969d90ed admin_customer_918 2021-09-18 14:09:29 +08:00
lccsw b27ee071f4 edit-licheb-city-filter 2021-09-18 13:59:39 +08:00
lccsw 16a62e5a71 add-licheb-city-filter 2021-09-18 11:54:39 +08:00
dengbw 1c914d7f05 admin_orders_917_2 2021-09-17 17:58:42 +08:00
lccsw 1f6b5e5b1c edit-licheb-statics 2021-09-17 17:51:22 +08:00
lccsw cc96f66bfe edit-licheb-stat-filter-test 2021-09-17 17:51:22 +08:00
lccsw 7dd4b93161 edit-liche-stat 2021-09-17 17:51:22 +08:00
lccsw 606c272508 add-licheb-group_type 2021-09-17 17:51:16 +08:00
dengbw cf6fc003c6 admin_orders_917 2021-09-17 17:50:40 +08:00
dengbw 43d9b35318 admin_loans_916 2021-09-16 10:21:06 +08:00
lccsw 5beba511f8 edit-api-licheb-up-clues 2021-09-15 16:44:50 +08:00
dengbw a3bdddb17a admin_clues_915 2021-09-15 15:58:20 +08:00
xxb b70a503142 liche update for admin order upload bill not update item bill time bug 2021-09-15 11:09:51 +08:00
dengbw 2a6268fb67 api_bobing_915 2021-09-15 10:07:20 +08:00
xxb 7161233eb9 liche update for admin finance get select car bug 2021-09-15 09:55:13 +08:00
dengbw 332aea3696 admin_customers_914_5 2021-09-14 17:37:04 +08:00
xxb 01b96d2527 liche update for admin licheb edit biz auto city 2021-09-14 16:57:54 +08:00
dengbw a0029a9441 admin_customers_914_4 2021-09-14 16:29:44 +08:00
xxb e81c1b8c72 liche update for admin goods show when id=1 2021-09-14 14:53:06 +08:00
xxb eb6b2efbed liche update for admin goods show order user 2021-09-14 14:38:09 +08:00
xxb e95a593b73 liche update for super admin not check ip and show full mobile 2021-09-14 11:26:24 +08:00
dengbw 55de3071ef admin_customers_914_3 2021-09-14 11:14:54 +08:00
dengbw 828e341319 admin_customers_914_2 2021-09-14 11:14:54 +08:00
dengbw ae95b6623e admin_customers_914 2021-09-14 11:14:54 +08:00
dengbw de7f20b84b admin_customers_914 2021-09-14 10:38:30 +08:00
xxb b4ab74ec3a liche update for admin order detail display change 2021-09-13 17:56:46 +08:00
dengbw 917fd44ac2 admin_customers_913_4 2021-09-13 17:36:41 +08:00
xxb dd6c324bf0 liche update for admin order search by admin_id like 2021-09-13 17:30:59 +08:00
dengbw d6fb5412fb admin_customers_913_3 2021-09-13 16:22:25 +08:00
dengbw 396d56c716 admin_customers_913_2 2021-09-13 16:12:26 +08:00
xxb 7543794088 liche update for admin order lists search by admin_id 2021-09-13 16:10:59 +08:00
dengbw f83b606d08 admin_customers_913 2021-09-13 15:49:28 +08:00
xxb 8bfff6c85f admin update for upload file 2021-09-13 15:20:07 +08:00
dengbw 1869fcf420 bobing_912 2021-09-12 15:28:58 +08:00
xxb 93e4051f80 liche update for admin clues lists import bug 2021-09-10 17:36:06 +08:00
lccsw 42cc04d73b edit-api-liche-edit-status 2021-09-10 16:07:00 +08:00
lccsw 89a138ab3b edit-admin-finance 2021-09-10 15:50:30 +08:00
dengbw 0e5a2095e0 bobing_910_6 2021-09-10 15:47:21 +08:00
dengbw bc77c64769 bobing_910_4 2021-09-10 15:43:10 +08:00
xxb 4139b4862f liche update for admin goods sold lists show sold_time from bill_time 2021-09-10 15:42:12 +08:00
xxb 3a7779c1ee liche update for admin goods sold lists bug 2021-09-10 15:22:57 +08:00
xxb b110a5f265 liche update for admin goods sold lists 2021-09-10 15:07:26 +08:00
dengbw a059ea283d bobing_910_3 2021-09-10 14:43:33 +08:00
xxb a09909c203 liche update for admin goods sold lists 2021-09-10 14:14:13 +08:00
lccsw 715fc1d4e7 edit-api-stop_profit_sharing 2021-09-10 13:41:29 +08:00
dengbw c3c7b992e0 bobing_910_2 2021-09-10 11:06:42 +08:00
dengbw f102a3113d bobing_910 2021-09-10 11:02:18 +08:00
lccsw 83af240048 stop-bobing-mj 2021-09-10 10:45:33 +08:00
xxb 46d83b6bbc liche update for admin car search v_id 2021-09-10 10:42:18 +08:00
lccsw 99e7c944b8 edit-liche-api 2021-09-10 09:15:54 +08:00
xiaoyu 2c9330e61a bobing 2021-09-09 22:18:37 +08:00
lccsw c1a3e46af8 edit-licheb-api 2021-09-09 21:25:11 +08:00
xxb a35e29b156 liche update for admin clues search by en_time bug 2021-09-09 21:10:43 +08:00
xxb 48d141caf6 liche update for admin clues search by en_time 2021-09-09 21:02:10 +08:00
xxb cfd3ab8c24 liche update for admin clues list show en_time 2021-09-09 20:41:09 +08:00
xxb 6883409803 goods update for admin list bug 2021-09-09 19:48:16 +08:00
xxb 534c788dad liche update for admin goods show sold lists 2021-09-09 19:30:06 +08:00
lccsw ef18b76743 add-admin-uporder_money 2021-09-09 19:25:47 +08:00
dengbw 7536b94f95 bobing_909_6 2021-09-09 17:56:48 +08:00
dengbw 10d4b08930 bobing_909_5 2021-09-09 17:51:04 +08:00
dengbw b1f26f9f99 bobing_909_4 2021-09-09 17:03:01 +08:00
lccsw 242c85b77f add-model-finance-num 2021-09-09 14:49:37 +08:00
dengbw ccfa12da60 bobing_909_3 2021-09-09 14:27:04 +08:00
dengbw 3b32bffd3c bobing_909_2 2021-09-09 13:44:24 +08:00
dengbw 4925bcdb90 bobing_909 2021-09-09 13:35:56 +08:00
dengbw 1b3f40c6ad bobing_908_5 2021-09-08 21:51:21 +08:00
dengbw 07d4acaaad bobing_908_4 2021-09-08 19:50:07 +08:00
lccsw 53c2c9e13d add-auto-finance 2021-09-08 18:02:11 +08:00
xxb cf3c0d7745 liche update for admin order detail display mv 2021-09-08 17:21:44 +08:00
dengbw 924a615e0f bobing_908_3 2021-09-08 11:17:30 +08:00
xxb b688860162 liche update for admin order baoxian update load pdf file 2021-09-08 11:11:42 +08:00
dengbw bf4f62c07a bobing_908_2 2021-09-08 10:13:44 +08:00
dengbw 3d74c3f8ba bobing_908 2021-09-08 10:01:12 +08:00
dengbw eb67890d30 bobing_903_4 2021-09-07 17:46:41 +08:00
xxb d492ed22bc liche update for admin goods edit check need field 2021-09-07 14:11:24 +08:00
xxb 3c3b727b60 liche update for admin goods export micro change 2021-09-07 11:56:04 +08:00
lccsw 2cde142fa1 edit-licheb-create_order 2021-09-07 11:24:44 +08:00
xxb af181686dd liche update for admin receiver order lists can reset condition 2021-09-06 21:00:57 +08:00
lccsw d79ac9a713 edit-liche-group_code 2021-09-06 10:53:07 +08:00
xxb a6df2cfb9c liche update for goods exxport bug 2021-09-06 10:02:25 +08:00
xxb edbce166e4 liche update for admin order detail dispay contract only 2021-09-03 17:38:20 +08:00
lccsw c99c9a6b32 edit-api-liche-html 2021-09-03 17:36:42 +08:00
dengbw a85bfc5095 bobing_903_4 2021-09-03 16:51:51 +08:00
xxb eaff4db9eb liche update for admin order detail display mv 2021-09-03 16:32:17 +08:00
xxb dd4718a580 liche update for admin order list modify 2021-09-03 16:15:09 +08:00
dengbw c1689e8233 bobing_903_3 2021-09-03 15:56:16 +08:00
xxb 15562067aa liche update for admin order modfy 2021-09-03 15:21:38 +08:00
dengbw a044af6a01 bobing_903_2 2021-09-03 15:20:24 +08:00
dengbw 54b650ed26 bobing_903 2021-09-03 14:40:57 +08:00
xxb ef3eea60eb liche update for admin order modify address longer 2021-09-03 14:20:40 +08:00
xxb e4bb71f2e3 liche update for admin order modify 2021-09-03 14:09:45 +08:00
xxb dddd018982 liche update for admin order modify 2021-09-03 11:56:01 +08:00
lccsw 88ff58090d edit-api-create_order2 2021-09-03 11:39:15 +08:00
lccsw 73eb828768 edit-api-create_order 2021-09-03 11:32:45 +08:00
lccsw f1a2447580 edit-library-require 2021-09-02 20:52:13 +08:00
lccsw bf51b24cfa edit-admin-wx-profitsharingfinish 2021-09-02 20:28:36 +08:00
lccsw 80ea7ba786 add-admin-wx-profitsharingfinish 2021-09-02 19:15:49 +08:00
xxb d792056cfd liche update for admin auto cars attr exporde 2021-09-02 16:05:15 +08:00
xxb c26bde6854 liche update for admin clues and customer lists select bug 2021-09-02 10:04:10 +08:00
lccsw a71bcb7333 edit-api-type_name 2021-09-01 20:55:13 +08:00
lccsw a5ee4a06a2 edit-api-liche-order-status 2021-09-01 19:25:18 +08:00
xxb 9eac7942c8 liche update for admin order modify 2021-09-01 17:56:17 +08:00
dengbw 8cfe8f7f63 bobing_901_7
bobing_901_8
2021-09-01 17:33:36 +08:00
dengbw 810f47ce02 bobing_901_6 2021-09-01 16:56:25 +08:00
dengbw d0cd8310ad bobing_901_5 2021-09-01 15:22:13 +08:00
dengbw 13023b91f0 bobing_901_4 2021-09-01 14:44:37 +08:00
lccsw 82da6d5ecb edit-api-licheb-edit-status 2021-09-01 10:36:34 +08:00
dengbw e5c01188fc bobing_901_3 2021-09-01 10:27:39 +08:00
dengbw 7ac453d9ad bobing_901_2 2021-09-01 09:58:37 +08:00
dengbw ff059474aa Merge branch 'fea#bobing2021_2' into dev 2021-09-01 09:50:31 +08:00
dengbw 25ca75b964 bobing_901 2021-09-01 09:49:40 +08:00
xxb 014729cc93 liche update for admin goods list sort 2021-08-31 17:44:04 +08:00
lccsw a14e5487f3 edit-api-contract-content 2021-08-31 15:25:01 +08:00
xxb 925f010d37 liche update for admin goods lists show auto fine bug 2021-08-31 10:44:15 +08:00
lccsw 0156bdfb2b add-api-licheb-customer-city 2021-08-31 10:01:32 +08:00
lccsw bf55e6ecb7 edit-licheb-comster-status 2021-08-30 14:17:46 +08:00
xxb 4b9c3084bb liche update for admin goods lists edit th 2021-08-30 09:57:59 +08:00
lccsw 8bdac57426 edit-api-liche-apt 2021-08-27 22:14:00 +08:00
xiaoyu c214d6afbc city county 2021-08-27 20:51:16 +08:00
xiaoyu 32e21670dd log 2021-08-27 20:42:13 +08:00
xiaoyu d31b314b9a log 2021-08-27 20:42:01 +08:00
xxb 7c5e194b45 liche update for admin goods better 2021-08-27 20:39:10 +08:00
xiaoyu 5197ec6ea7 customer cfrom 2021-08-27 20:02:19 +08:00
xiaoyu 86f9baffac city_code 2021-08-27 19:48:45 +08:00
xiaoyu c94a5705ed cf_title 2021-08-27 19:22:38 +08:00
lccsw 4810b3798b edit-admin-clues-edit 2021-08-27 17:22:25 +08:00
lccsw d6464e50f1 edit-admin-clues 2021-08-27 17:12:25 +08:00
lccsw a910069bfe edit-admin-clues-nearby-biz 2021-08-27 15:25:39 +08:00
lccsw b3d2027381 edit-admin-clues-log 2021-08-26 19:15:15 +08:00
xxb 26822f891d liche update for admin goods add auto_fine 2021-08-26 16:47:47 +08:00
lccsw 0ef24b9818 edit-admin-clues-cfrom 2021-08-26 13:56:52 +08:00
lccsw b688dece36 add-clues-position 2021-08-26 10:07:04 +08:00
lccsw 8d73647558 edit-admin-liche-cms 2021-08-25 19:02:16 +08:00
lccsw 6418ceac08 edit-liche-clues_cfrom 2021-08-25 17:44:08 +08:00
xxb 3e0af04104 liche update for admin goods list select car stype bug 2021-08-25 17:25:53 +08:00
xxb ebafbcf5cf liche update for goods list show modify 2021-08-25 17:08:13 +08:00
lccsw 7d95566716 edit-api-licheb-data2 2021-08-25 14:39:28 +08:00
lccsw a1c9c2949e edit-api-licheb-data 2021-08-25 14:05:09 +08:00
lccsw 088fcbaa70 edit-api-xz 2021-08-25 10:23:13 +08:00
xxb 56037000ad liche update for admin goods do better 2021-08-24 20:42:52 +08:00
xxb f06825359c liche update for admin goods view and clues list follower show reapair 2021-08-24 16:06:02 +08:00
lccsw 89aac03574 add-api-sign_cache 2021-08-23 20:10:58 +08:00
lccsw e0162a48aa edit-api-auto_series 2021-08-23 15:55:55 +08:00
xxb 27e329d073 liche update for lists show total at table header 2021-08-23 14:13:56 +08:00
lccsw 9d33f89bcf edit-api-auto 2021-08-23 13:48:17 +08:00
xxb 54b8a890f4 liche update for biz list search by company and clues cfrom support level2 when clues add 2021-08-23 11:48:06 +08:00
lccsw d34afc14c7 edit-api-liche-static 2021-08-21 09:42:06 +08:00
xxb a7be63d2df liche update for admin sys.sql edit 2021-08-20 20:55:46 +08:00
xxb 057fd4d5a4 liche update for admin auto and goods edit 2021-08-20 20:25:59 +08:00
lccsw 5837daace7 add-liche-dealer-apply 2021-08-20 17:53:47 +08:00
xxb 84f40db91a liche update for admin user support super majia 2021-08-19 19:55:17 +08:00
xxb f498cefade liche update for admin clues edit city_code 2021-08-19 16:53:21 +08:00
xxb eabec524c9 goods update for admin 2021-08-19 11:39:00 +08:00
lccsw 72acb9435f edit-api-fee_carno 2021-08-19 10:55:14 +08:00
xxb f0bbba92e4 area model update for get city first char 2021-08-19 10:41:09 +08:00
xxb 1baba5913e liche update for admin brand add bug 2021-08-18 14:24:16 +08:00
lccsw 0dd4ad3749 edit-api-area2 2021-08-18 14:03:25 +08:00
lccsw abcaf9eeed edit-api-area 2021-08-18 13:47:59 +08:00
xxb d20c0c3690 admin auto update for not check power when method start with json 2021-08-18 11:00:32 +08:00
lccsw 82c9b2ecbe edit-api-auto-series2 2021-08-18 10:54:20 +08:00
lccsw c9510decf6 edit-api-auto-series 2021-08-18 10:38:15 +08:00
lccsw 80c1412dd3 edit-home-require-js 2021-08-17 17:47:59 +08:00
lccsw b894ad93aa edit-exclude-common-vendor 2021-08-17 17:36:52 +08:00
dengbw 64df666fee admin_goods_817_3 2021-08-17 17:24:18 +08:00
lccsw bcdd9510af add-home-toole 2021-08-17 17:06:33 +08:00
dengbw 4d504db111 admin_goods_817
admin_goods_817_2
2021-08-17 16:46:03 +08:00
lccsw b8568c6195 edit-licheb-contracts 2021-08-16 17:31:32 +08:00
老叶 01bd81913f Merge branch 'dev' of http://git.haodian.cn:8081/lcc/liche into dev 2021-08-16 15:42:09 +08:00
老叶 8b4bf3bc1b h5 2021-08-16 15:42:00 +08:00
xxb 8b641618bb liche update for admin biz add auto brands 2021-08-16 11:59:25 +08:00
lccsw df24267e97 edit-api-licheb 2021-08-14 20:43:35 +08:00
老叶 038c4fd706 车辆交付信息样式修改 2021-08-13 17:00:02 +08:00
lccsw 18a2259123 edit-api-licheb 2021-08-13 15:04:37 +08:00
lccsw 9e0fcd7979 edit-api-licheb 2021-08-13 14:00:58 +08:00
lccsw e3852a373f edit-api-licheb-contract 2021-08-13 13:49:59 +08:00
xxb 67c82e8ec6 liche update for admin auto car edit at new alert 2021-08-13 11:41:34 +08:00
lccsw 45788dda75 edit-api-licheb-opt 2021-08-13 10:55:13 +08:00
xxb 4c7e18b2e9 liche update for admin auto attr edit rm some param 2021-08-12 17:14:32 +08:00
xxb 7b0ab1b3b6 liche update for admin auto car add price book 2021-08-10 15:34:19 +08:00
lccsw 4ca86e1c45 edit-plan-xzcall-video 2021-08-10 11:15:48 +08:00
lccsw debd2e9c75 edit-plan-xcall-video 2021-08-10 11:00:41 +08:00
lccsw c59df3bd92 edit-plan-xcall 2021-08-10 10:58:00 +08:00
xxb 4532374ce1 liche update for admin auto car can edit at lists 2021-08-09 17:21:08 +08:00
lccsw 78ae665df8 edit-xcall-config 2021-08-09 15:37:29 +08:00
xxb 180861136f liche update for admin auto cars edit do 2021-08-09 15:12:49 +08:00
xxb 16ea57dccf liche update for admin auto cars list batch do 2021-08-09 11:17:26 +08:00
xxb 7de4cc406a liche update for admin auto cars manage 2021-08-06 17:43:55 +08:00
xxb 0905e21f57 liche update for item rm column frame_num 2021-08-06 17:43:55 +08:00
lccsw f4113464de edit-liche-enroll 2021-08-06 16:55:31 +08:00
老叶 53d7aa6e9d 协议 2021-08-06 16:36:23 +08:00
xxb 1cbad64009 liche update for admin company add img_seal 2021-08-06 10:12:40 +08:00
lccsw 0e03656397 add-admin-auto 2021-08-06 10:07:23 +08:00
xxb 29b8d51f3d liche update for app cms add bg_img at place buy car banner 2021-08-05 17:11:23 +08:00
xxb 768b210d8c liche update for admin company add wx_mchid 2021-08-05 16:10:57 +08:00
xxb 56ca815fa2 admin sys city update that add fee carno 2021-08-05 16:10:57 +08:00
xxb bcaf7f079a admin update for type and company_id mv from brand to biz 2021-08-05 16:10:56 +08:00
lccsw 21ebf9ad1c edit-api-udata 2021-08-05 15:43:45 +08:00
lccsw 0aebf52d44 edit-liche-api 2021-08-05 15:28:05 +08:00
lccsw fc49260836 edit-licheb-customer 2021-08-05 14:40:21 +08:00
lccsw 5526ed9f51 edit-api-udata 2021-08-04 09:45:04 +08:00
lccsw 13d4785022 edit-api-distribution 2021-08-03 19:27:19 +08:00
lccsw 19bcd3a433 add-api-distribution 2021-08-03 19:13:30 +08:00
lccsw 8e1d8059f2 add-api-distribution 2021-08-03 14:18:41 +08:00
xxb 5d8371d41f liche update for admin order purchase manger 2021-08-03 10:24:29 +08:00
dengbw a75a544cbb admin_topics_802 2021-08-02 11:44:52 +08:00
xxb 91031e721e admin company add credit code 2021-07-30 15:36:14 +08:00
xxb 028a8d80cb admin sys add finance manger and company short is must 2021-07-30 11:45:30 +08:00
xxb 355bd1cb95 liche update for admin company manger 2021-07-29 20:04:23 +08:00
dengbw 3b8337b03f admin_login_729_2 2021-07-29 17:56:05 +08:00
dengbw da64b1a09a admin_login_729 2021-07-29 17:19:35 +08:00
xxb f7a466d23b liche update for admin brand set type 2021-07-29 16:34:00 +08:00
lccsw 0da7eeb90f edit-library-wechat 2021-07-29 14:49:01 +08:00
lccsw daf0ede906 edit-licheb-order 2021-07-29 14:23:10 +08:00
dengbw 5851e5d520 admin_goods-execl_729 2021-07-29 11:46:52 +08:00
xxb 24b3e49378 liche update for admin sys city set area 2021-07-29 10:50:42 +08:00
lccsw 2efb61ff40 edit-api-protocol 2021-07-29 09:20:54 +08:00
lccsw a01db70358 edit-helper-config 2021-07-29 09:12:18 +08:00
lccsw 03ec9b0bfc edit-api-con 2021-07-29 09:12:07 +08:00
lccsw d97403b389 edit-licheb 2021-07-28 20:13:44 +08:00
dengbw 2f8059fb35 admin_orders_728 2021-07-28 17:52:11 +08:00
lccsw d98fae8439 edit-admin-search 2021-07-28 16:18:23 +08:00
dengbw 159e3fe086 admin_xzcall_728 2021-07-28 16:11:02 +08:00
lccsw c440649d38 del-admin-test 2021-07-28 15:48:20 +08:00
lccsw 0c28a0bd58 edit-api-liche_step 2021-07-28 14:43:28 +08:00
xxb 2d7167ebd4 liche update for admin sys mannger not set app_id, cate_id, city_id and platform_id 2021-07-28 14:25:14 +08:00
lccsw a11a48c56c edit-api-img 2021-07-27 19:02:04 +08:00
lccsw 14ba00d116 edit-admin-app_config 2021-07-27 18:56:21 +08:00
dengbw e9959a66a0 admin_clues_727 2021-07-27 16:18:34 +08:00
lccsw b447a30341 edit-api-xz 2021-07-27 16:14:03 +08:00
lccsw a129700f8c edit-api-config 2021-07-27 11:01:34 +08:00
lccsw 57bd1a697a add-admin-app_config 2021-07-27 10:37:59 +08:00
xxb ec6d7d3281 liche update for admin customer control 2021-07-27 10:28:34 +08:00
dengbw 78ab6eee08 admin_clues_726 2021-07-26 14:13:48 +08:00
xxb 205b6a589f liche update for admin clues add view bug 2021-07-26 11:01:26 +08:00
lccsw d825f0aa3d add-api-licheb-cal 2021-07-26 10:41:48 +08:00
lccsw 224b31f8cf edit-admin-sms 2021-07-23 09:26:20 +08:00
xiaoyu c63370bb40 sql 2021-07-22 18:56:03 +08:00
lccsw 83e259d0ba add-sql-file 2021-07-22 18:14:12 +08:00
lccsw 84d41bd284 edit-api-sign 2021-07-22 15:44:34 +08:00
lccsw 0e30de2572 edit-liche-wxapp 2021-07-22 10:01:42 +08:00
dengbw bcf9e7a6dd admin_clues_721_4 2021-07-22 10:01:42 +08:00
dengbw 4c39f8a09d admin_clues_721_3 2021-07-22 10:01:42 +08:00
dengbw db81504cd2 admin_clues_721_2 2021-07-22 10:01:42 +08:00
xxb 5eb19c563b liche update for cules list bug 2021-07-22 10:01:42 +08:00
xxb 0abe72482c clues update for import not filter repeat 2021-07-22 10:01:42 +08:00
xxb fc7e2109df admin update for receiver clues import and add 2021-07-22 10:01:42 +08:00
dengbw b97d7f23d9 admin_clues_721 2021-07-22 10:01:42 +08:00
dengbw 9e30154f6c admin_items_720_2 2021-07-22 10:01:42 +08:00
lccsw 528e9f04f4 add-wxapp-liche2 2021-07-22 10:01:41 +08:00
dengbw 5fcc6df72a admin_items_720 2021-07-22 10:01:41 +08:00
老叶 670f23907b 修改协议样式
合同样式修改
2021-07-22 10:01:41 +08:00
lccsw 01837ba8b1 add-wxapp-liche 2021-07-22 10:01:41 +08:00
xxb 71d5dfb439 admin update for receiver clues import and add 2021-07-07 14:45:07 +08:00
lccsw f5ab51d3c3 add ignore 2021-07-05 10:09:44 +08:00
774 changed files with 14148 additions and 31852 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
| a PHP script and you can easily do that on your own.
|
*/
$config['base_url'] = 'http://admin.dev.liche.cn/';
$config['base_url'] = 'haodian.dev.xiaoyu.com';
/*
|--------------------------------------------------------------------------
+2 -1
View File
@@ -11,5 +11,6 @@ $config['app_id'] = 1206;
$config['app_key'] = 'WX6HDVZX3AYSZDR1739332ZM';
$config['mobile_list'] = array(
'13391419510',
'13391247942','13391407003','13391416119','13391416302',
'13391416570',
);
+3 -18
View File
@@ -491,12 +491,7 @@ class Common extends CI_Controller
$city_id && $where['city_id'] = $city_id;
$county_id && $where['county_id'] = $county_id;
$type && $where['type'] = $type;
$types = $this->input->post('types');
$types && $where['type in (' . $types . ')'] = null;
$ids && $where['id not in (' . $ids . ')'] = null;
$typeAry = $this->mdBiz->type_ary();
$type_ids = implode(',',array_keys($typeAry));
$type_ids && $where["type in ($type_ids)"] = null;
$count = $this->mdBiz->count($where);
if ($count) {
$resBiz = $this->mdBiz->select($where, 'id desc', $page, $size);
@@ -1493,15 +1488,7 @@ class Common extends CI_Controller
}
if ($type == 1) {
$tp == 0 && $lists[] = array('id' => 0, 'name' => $name ? $name : '选择品牌');
#$res = $this->mdAutoBrand->select($where, 'id desc', 0, 0, 'id,name');
$res = array();
$rows = $this->mdAutoBrand->select($where, 'status desc, id asc', 0, 0, 'id,name');
foreach($rows as $v){
$res[] = array(
'id' => strlen($status) > 0 ? $v['id'] : " " . $v['id'],
'name' => $v['name'],
);
}
$res = $this->mdAutoBrand->select($where, 'id desc', 0, 0, 'id,name');
} else if ($type == 2) {
$tp == 0 && $lists[] = array('id' => 0, 'name' => $name ? $name : '选择车系');
$res = $this->mdAutoSeries->select(array_merge($where, ['brand_id' => $pid]), 'id desc', 0, 0, 'id,name');
@@ -1563,7 +1550,7 @@ class Common extends CI_Controller
$count = $this->items_model->count($fhwhere);
if ($count) {
$rows = $this->items_model->select($fhwhere, "id desc", $page, $size, 'id,brand_id,s_id,v_id,cor_id,incor_id,vin,buy_price,estimated_rebate');
$rows = $this->items_model->select($fhwhere, "id desc", $page, $size, 'id,brand_id,s_id,v_id,cor_id,incor_id,vin');
//品牌车型
$brand_arr = array_unique(array_column($rows, 'brand_id'));
@@ -1580,9 +1567,7 @@ class Common extends CI_Controller
foreach ($rows as $key => $val) {
$setval = [
'id' => $val['id'],
'vin' => $val['vin'],
'buy_price' => $val['buy_price'],
'estimated_rebate' => $val['estimated_rebate'],
'vin' => $val['vin']
];
$setval['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : '';
$setval['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : '';
+2 -18
View File
@@ -18,11 +18,7 @@ class Login extends CI_Controller
header('Location:/welcome');
}
$arr = array();
if ($this->input->get('need_code') == 'logsms'){
$arr['need_code'] = 'logsms';
}
$this->load->view('login', $arr);
$this->load->view('login');
}
public function post()
@@ -37,10 +33,9 @@ class Login extends CI_Controller
return false;
}
$log = 0;//加日志
if ($this->input->post('need_code') == 'login' || $this->input->post('need_code') == 'logsms') {
if ($this->input->post('need_code') == 'login') {
$code = $this->input->post('code');
$mobile = $this->input->post('mobile');
$this->input->post('need_code') == 'logsms' && $mobile = $this->input->post('number');
$cookie = $this->input->cookie(LOGIN_CODE_COOKIE);
$code_cookie = $this->encryption->decrypt($cookie);
if (!$code_cookie) {
@@ -51,9 +46,6 @@ class Login extends CI_Controller
}
$this->load->model('sys/sys_admin_model');
$admin_user = $this->sys_admin_model->get(array("mobile = '{$mobile}'" => null, 'status' => 1));
if (!$admin_user['id']) {
return $this->show_json(0, '用户不存在');
}
$log = 1;
} else {
if (!$username) {
@@ -124,14 +116,6 @@ class Login extends CI_Controller
{
if ($this->input->method() == 'post') {
$mobile = $this->input->post('mobile', true);
if (!$mobile){
return false;
}
$this->load->model('sys/sys_admin_model');
$admin_user = $this->sys_admin_model->get(array("mobile = '{$mobile}'" => null, 'status' => 1));
if (!$admin_user['id']) {
return false;
}
$code = rand(100000, 999999);
$domain = explode('.', $_SERVER['HTTP_HOST']);
+3 -3
View File
@@ -7,7 +7,7 @@ class Outer extends CI_Controller {
public function index()
{
$this->load->model('sys/sys_menu_model');
$list = $this->sys_menu_model->select(array('status' => 1), 'sort desc', 0, 0);
$list = $this->sys_menu_model->select(array('status' => 1,'type'=>0), 'sort desc', 0, 0);
$this->load->model('sys/sys_role_model');
$role = $this->sys_role_model->get(array('id' => $this->role));
$menu_ids = explode(',', $role['menu_ids']);
@@ -46,7 +46,7 @@ class Outer extends CI_Controller {
unset($map);
//获取面包屑
$menus = $this->sys_menu_model->select(array("url like '" . $url . "%'" => null, 'status' => 1, 'outer_link' => 1));
$menus = $this->sys_menu_model->select(array("url like '" . $url . "%'" => null, 'status' => 1, 'outer_link' => 1,'type'=>0));
$menu = array();
foreach($menus as $item){
if(!$menu){
@@ -65,7 +65,7 @@ class Outer extends CI_Controller {
$spm_arr1 = explode('-', $spm);
$spm_arr1 && !is_numeric($spm_arr1[0]) && $spm_arr1 = array_slice($spm_arr1, 1);
if($spm_arr1){
$rows = $this->sys_menu_model->select(array("id in (" . implode(",",$spm_arr1) . ")" => null, 'status' => 1), 'sort desc');
$rows = $this->sys_menu_model->select(array("id in (" . implode(",",$spm_arr1) . ")" => null, 'status' => 1,'type'=>0), 'sort desc');
$menu_arr = array();
$breads = array();
foreach($rows as $row){
+25 -28
View File
@@ -58,19 +58,6 @@ class Main extends HD_Controller
),
);
$this->load->model('auto/auto_introduce_model', 'mdAutoIntroduce');
$value = $this->mdAutoIntroduce->count(["status<>-1" => null, 'brand_id in (select id from lc_auto_brand where status > -1)' => null]);
$list[] = array(
'title' => '车型介绍(条)',
'value' => $value,
'btns' => array(
array('name' => '查看详情', 'url' => '/auto/introduce'),
),
);
$conditions[] = array('icon' => 'am-icon-home', 'list' => $list);
$list = [];
$value = $this->mdBlindBox->count(['status>' => -1]);
$list[] = array(
'title' => '盲盒抽奖(个)',
@@ -98,15 +85,15 @@ class Main extends HD_Controller
),
);
$appConfig = $this->mdBobingUser->appConfig();
$value = $this->mdBobingUser->count(array('act_key' => $appConfig['act_key'], 'app_id' => $appConfig['app_id']));
$list[] = array(
'title' => '博饼(人)',
'value' => $value,
'btns' => array(
array('name' => '查看详情', 'url' => '/app/bobing/member?app_id=' . $this->app_id),
),
);
// $appConfig = $this->mdBobingUser->appConfig();
// $value = $this->mdBobingUser->count(array('act_key' => $appConfig['act_key'], 'app_id' => $appConfig['app_id']));
// $list[] = array(
// 'title' => '博饼(人)',
// 'value' => $value,
// 'btns' => array(
// array('name' => '查看详情', 'url' => '/app/bobing/member?app_id=' . $this->app_id),
// ),
// );
$conditions[] = array('icon' => 'am-icon-home', 'list' => $list);
/*小程序设置 end*/
@@ -122,7 +109,7 @@ class Main extends HD_Controller
);
//消费订单
/*$this->load->model('apporder/order_purchase_model');
$this->load->model('apporder/order_purchase_model');
$value = $this->order_purchase_model->count(array('app_id' => $this->app_id));
$list[] = array(
'title' => '消费订单(笔)',
@@ -130,7 +117,7 @@ class Main extends HD_Controller
'btns' => array(
array('name' => '查看详情', 'url' => '/order/purchase?app_id=' . $this->app_id),
),
);*/
);
//分销体现
$value = $this->user_accountlog_model->count_log(array('lc_app_user_account.app_id' => $this->app_id,'lc_app_user_accountlog.trade_type'=>2));
@@ -143,7 +130,7 @@ class Main extends HD_Controller
);
//购车
/*$this->load->model('app/liche/app_liche_orders_model');
$this->load->model('app/liche/app_liche_orders_model');
$value = $this->app_liche_orders_model->count(['pid'=>0]);
$list[] = array(
'title' => '购车订单(笔)',
@@ -151,7 +138,17 @@ class Main extends HD_Controller
'btns' => array(
array('name' => '查看详情', 'url' => '/app/liche/order'),
),
);*/
);
$this->load->model('auto/auto_introduce_model', 'mdAutoIntroduce');
$value = $this->mdAutoIntroduce->count(["status<>-1" => null]);
$list[] = array(
'title' => '车型介绍(条)',
'value' => $value,
'btns' => array(
array('name' => '查看详情', 'url' => '/auto/introduce'),
),
);
$conditions[] = array('icon' => 'am-icon-home', 'list' => $list);
@@ -237,7 +234,7 @@ class Main extends HD_Controller
$order = $this->receiver_orders_model->get(['id'=>$val['item_id']]);
if($order && $order['brand_id']!=3){
if(!$p_row){
$p_sid = create_order_no(350200,'liche');
$p_sid = create_order_no(350200,'liche',1,0);
$p_data = [
'o_id' => $val['item_id'],
'uid' => $val['app_uid'],
@@ -260,7 +257,7 @@ class Main extends HD_Controller
$su_p_row = $this->app_liche_orders_model->get(['pid'=>$p_id,'type'=>$order_type]);
if(!$su_p_row){
$money = $this->order_purchase_model->sum('total_price',['type'=>6,'app_uid'=>$val['app_uid'],'item_id'=>$val['item_id']]);
$sub_p_sid = create_order_no(350200,'liche');
$sub_p_sid = create_order_no(350200,'liche',1,$order_type);
$p_data = [
'o_id' => $val['item_id'],
'uid' => $val['app_uid'],
+1 -1
View File
@@ -162,7 +162,7 @@ class Order extends HD_Controller
return $this->show_json(SYS_CODE_FAIL, '需支付金额必须大于0');
}
$this->load->helper('order');
$sid = create_order_no(350200,'liche');
$sid = create_order_no(350200,'liche',1,$row['type']);
$sub_data = [
'o_id' => $row['o_id'],
'sid' => $sid,
+12 -14
View File
@@ -83,15 +83,13 @@ class Channel extends HD_Controller
private function dataSelect($params)
{
$channel_biz_table = $params['group_id1'] ? 'lc_app_licheb_channel_biz1' : 'lc_app_licheb_channel_biz';
$lists = [];
$where['lc_biz.status'] = 1;
$_title = '门店列表';
if ($params['uid']) {
$where[$channel_biz_table.'.uid'] = $params['uid'];
$where['lc_app_licheb_channel_biz.uid'] = $params['uid'];
$re = $this->mdUsers->get(array('id' => $params['uid']));
$group = $params['group_id1'] ? ' (第二角色)' :'';
$re['uname'] && $_title = $re['uname'] .$group. '_门店列表';
$re['uname'] && $_title = $re['uname'] . '_门店列表';
}
!$params['city_id'] && $params['city_id'] = '';
!$params['county_id'] && $params['county_id'] = '';
@@ -104,20 +102,20 @@ class Channel extends HD_Controller
if ($params['county_id']) {
$where['lc_biz.county_id'] = $params['county_id'];
}
$count = $this->db->select($channel_biz_table.'.biz_id')
->join('lc_biz', 'lc_biz.id = '.$channel_biz_table.'.biz_id', 'left')
$count = $this->db->select('lc_app_licheb_channel_biz.biz_id')
->join('lc_biz', 'lc_biz.id = lc_app_licheb_channel_biz.biz_id', 'left')
->where($where)
->count_all_results($channel_biz_table);
->count_all_results('lc_app_licheb_channel_biz');
if ($count) {
$offset = ($params['page'] - 1) * $params['size'];
$limit = $params['size'];
$this->db->from($channel_biz_table);
$this->db->join('lc_biz', "lc_biz.id = ".$channel_biz_table.".biz_id", 'left');
$this->db->from('lc_app_licheb_channel_biz');
$this->db->join('lc_biz', "lc_biz.id = lc_app_licheb_channel_biz.biz_id", 'left');
$this->db->select('lc_biz.id,lc_biz.biz_name,lc_biz.county_id,lc_biz.c_time');
$this->db->where($where);
$this->db->order_by($channel_biz_table.'.id Desc');
$this->db->order_by('lc_app_licheb_channel_biz.id Desc');
$this->db->limit($limit, $offset);
!$params['uid'] && $this->db->group_by($channel_biz_table.'.biz_id');
!$params['uid'] && $this->db->group_by('lc_app_licheb_channel_biz.biz_id');
$res = $this->db->get()->result_array();
$county_id_arr = array_unique(array_column($res, 'county_id'));
$Areas = $this->mdArea->get_map_by_county_ids($county_id_arr, 'city_name,county_name,county_id', 'county_id');
@@ -133,10 +131,10 @@ class Channel extends HD_Controller
$setValue['orders'] = $this->mdOrders->count(['biz_id' => $value['id'], 'status>=' => 0, 'brand_id<>' => 3, 'biz_id<>' => 1]);
$setValue['days'] = round((time() - $value['c_time']) / 3600 / 24) . '天';
if (!$params['uid']) {
$this->db->from($channel_biz_table);
$this->db->join('lc_app_licheb_users', "lc_app_licheb_users.id = ".$channel_biz_table.".uid", 'left');
$this->db->from('lc_app_licheb_channel_biz');
$this->db->join('lc_app_licheb_users', "lc_app_licheb_users.id = lc_app_licheb_channel_biz.uid", 'left');
$this->db->select('lc_app_licheb_users.uname');
$this->db->where([$channel_biz_table.'.biz_id' => $value['id']]);
$this->db->where(['lc_app_licheb_channel_biz.biz_id' => $value['id']]);
$res_u = $this->db->get()->result_array();
$unames = $res_u ? implode(',', array_column($res_u, 'uname')) : '';
$setValue['uname'] = $unames;
+2 -2
View File
@@ -66,7 +66,7 @@ class Main extends HD_Controller
);
$conditions[] = array('icon' => 'am-icon-home', 'list' => $list);
/*$list = array();
$list = array();
$value = $this->mdSytLive->count(['status>' => -1]);
$list[] = array(
'title' => '私域通-直播(个)',
@@ -108,7 +108,7 @@ class Main extends HD_Controller
),
);
$conditions[] = array('icon' => 'am-icon-user', 'list' => $list);
*/
/*小程序设置 end*/
/*实时数据 end*/
+8 -82
View File
@@ -12,7 +12,6 @@ class Member extends HD_Controller
parent::__construct();
$this->load->model('app/licheb/App_licheb_users_model', 'userM');
$this->load->model('app/licheb/App_licheb_channel_biz_model', 'mdChannelBiz');
$this->load->model('app/licheb/App_licheb_channel_biz1_model', 'mdChannelBiz1');
$this->load->model("biz/biz_model");
}
@@ -64,17 +63,6 @@ class Member extends HD_Controller
}
$lists[$key]['biz_name'] = $biz_name;
$lists[$key]['group_name'] = $this->groups[$val['group_id']];
$biz_name = '';
if ($val['group_id1'] == 4) {
$biz_name = ' <a href="javascript:void(0)" data-open="/app/licheb/channel/lists_biz?group_id1=1&uid=' . $val['id'] . '">门店列表</a>';
} else if ($val['biz_id1']) {
$re_biz = $this->biz_model->get(['id' => $val['biz_id1']], 'biz_name');
$re_biz && $biz_name = $re_biz['biz_name'];
}
$lists[$key]['biz_name1'] = $biz_name;
$lists[$key]['group_name1'] = $this->groups[$val['group_id1']];
if (SUPER_ADMIN == $this->role) {//超级管理员才允许操作用户的披上超级马甲
$majia = array();
if ($val['jsondata']) {
@@ -102,7 +90,6 @@ class Member extends HD_Controller
$id = $this->input->get('id');
$row = $this->userM->get(['id' => $id]);
$selectedBrands = [];
$selectedBrands1 = [];
if ($id) {
$info = array(
'id' => $row['id'],
@@ -111,9 +98,6 @@ class Member extends HD_Controller
'group_id' => $row['group_id'],
'biz_id' => $row['biz_id'],
'city_id' => $row['city_id'],
'group_id1' => $row['group_id1'],
'biz_id1' => $row['biz_id1'],
'city_id1' => $row['city_id1'],
);
if ($row['group_id'] == 4) {
$this->load->model('app/licheb/App_licheb_channel_biz_model', 'mdChannelBiz');
@@ -122,9 +106,7 @@ class Member extends HD_Controller
if ($res_biz) {
$biz_id_arr = array_unique(array_column($res_biz, 'biz_id'));
$ids = implode(',', $biz_id_arr);
$typeAry = $this->biz_model->type_ary();
$type_ids = implode(',',array_keys($typeAry));
$selectedBrands = $this->biz_model->select(["id in ($ids)" => null, "type in ($type_ids)" => null, 'status' => 1], '', 0, 0, 'id as biz_id,biz_name as name');
$selectedBrands = $this->biz_model->select(["id in ($ids)" => null, 'status' => 1], '', 0, 0, 'id as biz_id,biz_name as name');
}
} else if ($row['biz_id']) {
$re_biz = $this->biz_model->get(["id" => $row['biz_id'], 'status' => 1], 'id ,biz_name');
@@ -132,44 +114,16 @@ class Member extends HD_Controller
$selectedBrands[] = ['biz_id' => $re_biz['id'], 'name' => $re_biz['biz_name']];
}
}
# group_id1
if ($row['group_id1'] == 4) {
$this->load->model('app/licheb/App_licheb_channel_biz1_model', 'mdChannelBiz1');
$res_biz = $this->mdChannelBiz1->select(['uid' => $id], 'id desc', 0, 0, 'biz_id');
$res_biz && $biz_id_arr = array_unique(array_column($res_biz, 'biz_id'));
if ($res_biz) {
$biz_id_arr = array_unique(array_column($res_biz, 'biz_id'));
$ids = implode(',', $biz_id_arr);
$typeAry = $this->biz_model->type_ary();
$type_ids = implode(',',array_keys($typeAry));
$selectedBrands1 = $this->biz_model->select(["id in ($ids)" => null, "type in ($type_ids)" => null, 'status' => 1], '', 0, 0, 'id as biz_id,biz_name as name');
}
} else if ($row['biz_id1']) {
$re_biz = $this->biz_model->get(["id" => $row['biz_id1'], 'status' => 1], 'id ,biz_name');
if ($re_biz) {
$selectedBrands1[] = ['biz_id' => $re_biz['id'], 'name' => $re_biz['biz_name']];
}
}
$action = '/app/licheb/member/edit';
$_title = '编辑用户';
} else {
$info = array('biz_id' => '', 'group_id' => '', 'city_id' => 0, 'biz_id1' => '', 'group_id1' => 0, 'city_id1' => 0);
$info = array('biz_id' => '', 'group_id' => '', 'city_id' => 0);
$action = '/app/licheb/member/add';
$_title = '添加用户';
}
$type_ary = $this->biz_model->type_ary();
$typeStr = '1,2,3';//品牌 合伙 代理
$typeAry = [];
foreach ($type_ary as $k => $v) {
if (strstr($typeStr . ',', $k . ',')) {
$typeAry[$k] = $v;
}
}
$show_info['typeAry'] = $typeAry;
#$show_info['typeAry'] = $this->biz_model->type_ary();
$show_info['cityList'] = $this->mdSysCity->select(['status' => 1], 'id desc', 0, 0, 'city_id,name');
$show_info['typeAry'] = $this->biz_model->type_ary();
$this->data['selectedBrands'] = $selectedBrands;
$this->data['selectedBrands1'] = $selectedBrands1;
$this->data['show_info'] = $show_info;
$this->data['info'] = $info;
$this->data['groups'] = $this->groups;
@@ -188,10 +142,6 @@ class Member extends HD_Controller
$bizs = $info['bizs'];
$city_id = $info['city_id'];
$biz_id_arr = array_column($bizs, 'biz_id');
$group_id1 = $info['group_id1'];
$bizs1 = $info['bizs1'];
$city_id1 = $info['city_id1'];
$biz_id_arr1 = is_array($bizs1) ? array_column($bizs1, 'biz_id') : '';
if (!mobile_valid($mobile)) {
return $this->show_json(SYS_CODE_FAIL, '输入正确手机号');
@@ -200,7 +150,7 @@ class Member extends HD_Controller
return $this->show_json(SYS_CODE_FAIL, '请输入姓名');
}
$exist = $this->userM->get(array('mobile' => $mobile, 'status in (0, 1)' => null));
$exist = $this->userM->get(array('mobile' => $mobile));
if ($exist) {
return $this->show_json(SYS_CODE_FAIL, '手机号的用户存在');
}
@@ -209,22 +159,15 @@ class Member extends HD_Controller
'mobile' => $mobile,
'uname' => $uname,
'city_id' => $city_id,
'city_id1' => $city_id1,
'status' => 1,
'c_time' => time(),
);
$group_id && $add['group_id'] = $group_id;
$biz_id_arr && $add['biz_id'] = implode(',', $biz_id_arr);
$add['group_id1'] = $group_id1 ? $group_id1 : 0;
$biz_id_arr1 && $add['biz_id1'] = implode(',', $biz_id_arr1);
$id = $this->userM->add($add);
if ($id && $group_id == 4 && $biz_id_arr) {//加狸车宝渠道门店
$this->channel_biz(["uid" => $id, 'biz_id_arr' => $biz_id_arr]);
}
if ($id && $group_id1 == 4 && $biz_id_arr1) {//加狸车宝渠道门店 group_id1
$this->channel_biz(["uid" => $id, 'biz_id_arr' => $biz_id_arr1, 'edit' => 1, 'group_id1'=>true]);
}
return $this->show_json(SYS_CODE_SUCCESS, '操作成功', '/app/licheb/member');
}
@@ -240,19 +183,12 @@ class Member extends HD_Controller
$bizs = $info['bizs'];
$city_id = $info['city_id'];
$biz_id_arr = is_array($bizs) ? array_column($bizs, 'biz_id') : '';
$group_id1 = $info['group_id1'];
$bizs1 = $info['bizs1'];
$city_id1 = $info['city_id1'];
$biz_id_arr1 = is_array($bizs1) ? array_column($bizs1, 'biz_id') : '';
if (!mobile_valid($mobile)) {
return $this->show_json(SYS_CODE_FAIL, '输入正确手机号');
}
if (!$uname) {
return $this->show_json(SYS_CODE_FAIL, '请输入姓名');
}
$exist = $this->userM->get(array('mobile' => $mobile, 'status in (0, 1)' => null, 'id <>' => $id));
$exist = $this->userM->get(array('mobile' => $mobile, 'id <>' => $id));
if ($exist) {
return $this->show_json(SYS_CODE_FAIL, '手机号的用户存在');
}
@@ -260,13 +196,10 @@ class Member extends HD_Controller
$upd = array(
'mobile' => $mobile,
'city_id' => $city_id,
'city_id1' => $city_id1,
);
$upd['group_id'] = $group_id ? $group_id : 0;
$upd['biz_id'] = $biz_id_arr ? implode(',', $biz_id_arr) : 0;
$upd['group_id1'] = $group_id1 ? $group_id1 : 0;
$upd['biz_id1'] = $biz_id_arr1 ? implode(',', $biz_id_arr1) : 0;
$nickname && $upd['nickname'] = $nickname;
$uname && $upd['uname'] = $uname;
@@ -275,9 +208,6 @@ class Member extends HD_Controller
if ($id && $group_id == 4) {//加狸车宝渠道门店
$this->channel_biz(["uid" => $id, 'biz_id_arr' => $biz_id_arr, 'edit' => 1]);
}
if ($id && $group_id1 == 4) {//加狸车宝渠道门店 group_id1
$this->channel_biz(["uid" => $id, 'biz_id_arr' => $biz_id_arr1, 'edit' => 1, 'group_id1'=>true]);
}
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
}
@@ -378,12 +308,10 @@ class Member extends HD_Controller
function channel_biz($json = [])
{
$biz_ids = $json['biz_id_arr'] ? implode(',', $json['biz_id_arr']) : 0;
$group_id1 = $json['group_id1'] ? true : false;
if ($json['edit'] == 1) {//编辑删除未添加的
$where_d['uid'] = $json['uid'];
$biz_ids && $where_d["biz_id not in({$biz_ids})"] = null;
!$group_id1 && $this->mdChannelBiz->delete($where_d);
$group_id1 && $this->mdChannelBiz1->delete($where_d);
$this->mdChannelBiz->delete($where_d);
}
if (!$biz_ids) {
return;
@@ -391,12 +319,10 @@ class Member extends HD_Controller
$res_b = $this->biz_model->select(["id in({$biz_ids})" => null], '', 0, 0, 'id as biz_id');
foreach ($res_b as $key => $value) {
$where = ["uid" => $json['uid'], 'biz_id' => $value['biz_id']];
!$group_id1 && $re_cb = $this->mdChannelBiz->get($where);
$group_id1 && $re_cb = $this->mdChannelBiz1->get($where);
$re_cb = $this->mdChannelBiz->get($where);
if (!$re_cb) {
$where['c_time'] = time();
!$group_id1 && $this->mdChannelBiz->add($where);
$group_id1 && $this->mdChannelBiz1->add($where);
$this->mdChannelBiz->add($where);
}
}
}
+3 -32
View File
@@ -18,9 +18,6 @@ class Userslog extends HD_Controller
$this->load->model('app/licheb/app_licheb_bizs_log_model', 'mdBizsLog');
$this->load->model('receiver/receiver_customers_visit_sales_model', 'mdCustomerVisitSales');
$this->load->model('receiver/receiver_customers_model', 'mdCustomers');
$this->load->model('receiver/order/receiver_orders_v2_model', 'orders_model');
$this->load->model('receiver/order/receiver_order_deliverys_model', 'order_deliverys_model');
$this->load->model('receiver/receiver_customer_oplogs_model', 'customer_oplogs_model');
$this->load->model('app/app_lichene_qy_log_model', 'mdWechatqyLog');
$this->load->model("biz/biz_model", 'mdBiz');
$this->load->model('area_model', 'mdArea');
@@ -66,8 +63,7 @@ class Userslog extends HD_Controller
!$params['biz_id'] && $params['biz_id'] = '';
!$params['city_id'] && $params['city_id'] = '';
!$params['county_id'] && $params['county_id'] = '';
$lists = $where_c = $where_dt = $where = $where_order = $where_order_del = $where_gr = [];
$where_gr['type'] = 10;
$lists = $where_c = $where_dt = $where = [];
$same_day = 0;
if ($params['time']) {
$time = explode(' ~ ', $params['time']);
@@ -76,20 +72,15 @@ class Userslog extends HD_Controller
$where["log_date>="] = $time[0];
$where_c["c_time>="] = strtotime("{$time[0]} 00:00:00");
$where_dt["dt_time>="] = "{$time[0]} 00:00:00";
$where_order_del["c_time>="] = strtotime("{$time[0]} 00:00:00");
$where_gr["c_time>="] = strtotime("{$time[0]} 00:00:00");
}
if ($time[1]) {
$where["log_date<="] = $time[1];
$where_c["c_time<="] = strtotime("{$time[1]} 23:59:59");
$where_dt["dt_time<="] = "{$time[1]} 23:59:59";
$where_order_del["c_time<="] = strtotime("{$time[1]} 23:59:59");
$where_gr["c_time<="] = strtotime("{$time[1]} 23:59:59");
}
} else {
$where_c["c_time>="] = strtotime("2022-04-15 00:00:00");
$where_dt["dt_time>="] = "2022-04-15 00:00:00";
$where_order_del["c_time>="] = strtotime("2022-04-15 00:00:00");
}
$where_qy = $where_c;//企微数
$where_qy['change_type'] = 'add_external_contact';
@@ -112,8 +103,6 @@ class Userslog extends HD_Controller
$where_c["biz_id in ({$str_ids})"] = null;
$where_dt["biz_id in ({$str_ids})"] = null;
}
$where_order["biz_id in ({$str_ids})"] = null;
$where_gr["customer_id in (select id from lc_receiver_customers where biz_id in ({$str_ids}))"] = null;
} else {
$where['biz_id'] = -2;
$where_user = "biz_id = -2";
@@ -121,8 +110,6 @@ class Userslog extends HD_Controller
$where_c['biz_id'] = -2;
$where_dt['biz_id'] = -2;
}
$where_order['biz_id'] = -2;
$where_gr['type'] = -2;
}
}
$total = $this->mdBizsLog->count($where);
@@ -240,25 +227,9 @@ class Userslog extends HD_Controller
$menus[] = ['title' => "战败数", 'value' => intval($sum['defeats']), 'tag' => '个'];
$sum = $this->mdUsersLog->sum('bills', $where);
$menus[] = ['title' => "开票数", 'value' => intval($sum['bills']), 'tag' => '个'];
$where_user && $where_qy["userid in(select userid from lc_app_licheb_users where $where_user)"] = null;
$qy_adds = $this->mdWechatqyLog->count($where_qy);
#$menus[] = ['title' => "企微数", 'value' => $qy_adds, 'tag' => '人'];
$qy_dts = $this->mdCustomers->count(array_merge($where_dt, ['wxqy' => 1]));
$this->order_deliverys_model->get(array_merge($where_order_del, ['status in (1, 2)'=> null]), 'o_id');
$del_sql = $this->order_deliverys_model->db->last_query();
$this->orders_model->get(array_merge($where_order, ["id in ($del_sql)" => null]), 'customer_id');
$order_sql = $this->orders_model->db->last_query();
$qy_deliverys = $this->mdCustomers->count(array_merge($where_order, ['wxqy' => 1, "id in ($order_sql)" => null]));
$qy_info = "<br>进店数:{$qy_dts}<br>交付数:{$qy_deliverys}";
$menus[] = ['title' => "企微数", 'note' => $qy_adds ? "新增数:{$qy_adds}{$qy_info}" : '0人'];
$gr_adds = $this->customer_oplogs_model->count($where_gr);
$gr_dts = $this->mdCustomers->count(array_merge($where_dt, ['wxgr' => 1]));
$gr_deliverys = $this->mdCustomers->count(array_merge($where_order, ['wxgr' => 1, "id in ($order_sql)" => null]));
$gr_info = "<br>进店数:{$gr_dts}<br>交付数:{$gr_deliverys}";
$menus[] = ['title' => "个微数", 'note' => $gr_adds ? "新增数:{$gr_adds}{$gr_info}" : '0人'];
$menus[] = ['title' => "企微数", 'value' => $qy_adds, 'tag' => '人'];
$sum = $this->mdUsersLog->sum('reassigns', $where);
$menus[] = ['title' => "改派数", 'value' => intval($sum['reassigns']), 'tag' => '个'];
$sum = $this->mdUsersLog->sum('receives', $where);
@@ -393,7 +364,7 @@ class Userslog extends HD_Controller
$uname = '';
$map_sale[$v['sales_id']] && $uname = $map_sale[$v['sales_id']];
$follows = $v['t_follows'] + $v['h_follows'] + $v['w_follows'];
$temp = ['id'=>$v['id'], 'uname' => $uname, 'follows' => $follows, 't_follows' => $v['t_follows']
$temp = ['uname' => $uname, 'follows' => $follows, 't_follows' => $v['t_follows']
, 'h_follows' => $v['h_follows'], 'w_follows' => $v['w_follows'], 't_day' => $v['t_day']];
$lists[] = $temp;
}
+5 -44
View File
@@ -16,7 +16,6 @@ class Attr extends HD_Controller
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_series_model');
$this->load->model('auto/auto_attr_model');
$this->load->model('auto/auto_option_model');
}
public function index()
@@ -33,7 +32,6 @@ class Attr extends HD_Controller
$where["status > -1"] = null;
$params['title'] && $where["title like '%{$params['title']}%'"] = null;
$where['s_id in (select id from lc_auto_series where brand_id in (select id from lc_auto_brand where status > -1))'] = null;
if ($params['s_id']) {
$where['s_id'] = $params['s_id'];
}
@@ -48,29 +46,17 @@ class Attr extends HD_Controller
$where['s_id'] = -1;
}
}
strlen($params['type']) && $where['type'] = $params['type'];
if (!strlen($params['status'])){
$params['status'] = $where['status'] = 1;
}
elseif ($params['status'] == -9){
# pass
}
else{
$where['status'] = $params['status'];
}
!$params['s_id'] && $params['s_id'] = '';
!$params['brand_id'] && $params['brand_id'] = '';
!strlen($params['type']) && $params['type'] = '';
$count = $this->auto_attr_model->count($where);
$rows = $this->auto_attr_model->select($where, 'id desc', $page, $size, '*, (select brand_id from lc_auto_series where id=lc_auto_attr.s_id) as brand_id');
$rows = $this->auto_attr_model->select($where, 'id desc', $page, $size);
$type_arr = $this->auto_attr_model->get_type();
$status_arr = $this->auto_brand_model->get_status();
//获取品牌map
$where_brand = array('status > -1' => null);
$map_brand = $this->auto_brand_model->map_brand($where_brand);
$map_brand = $this->auto_brand_model->map('id', 'name', $where_brand, 'id desc', 0, 0, 'id, name');
$list = [];
if ($rows) {
@@ -80,7 +66,6 @@ class Attr extends HD_Controller
$list[] = [
'id' => $val['id'],
'title' => $val['title'],
'brand_name' => $map_brand[$val['brand_id']] ? $map_brand[$val['brand_id']] : '',
's_name' => $series_rows[$val['s_id']] ? $series_rows[$val['s_id']][0]['name'] : '',
'status_name' => $status_arr[$val['status']],
'status' => $val['status'],
@@ -89,13 +74,9 @@ class Attr extends HD_Controller
];
}
}
$status_arr_list = $status_arr;
unset($status_arr_list[-1]);
$this->data['status_arr'] = $status_arr_list;
$this->data['type_arr'] = $type_arr;
$this->data['lists'] = $list;
$this->data['params'] = $params;
$this->data['brandAry'] = $this->auto_brand_model->map_brand_list($map_brand);
$this->data['brandAry'] = $map_brand;
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
$this->data['_title'] = '属性管理';
$this->show_view('auto/attr/lists', true);
@@ -106,8 +87,7 @@ class Attr extends HD_Controller
$id = $this->input->get('id');
$info = [
'title' => '',
'options' => [],
'title' => ''
];
if ($id) {
$info = $this->auto_attr_model->get(array('id' => $id));
@@ -116,20 +96,17 @@ class Attr extends HD_Controller
}
$info['jsondata'] = json_decode($info['jsondata'], true);
$info['jsondata']['img'] && $info['jsondata']['s_img'] = build_qiniu_image_url($info['jsondata']['img']);
$info['options'] = $info['jsondata']['options'] ? $info['jsondata']['options'] : [];
}
$brand_id = '';
if ($info['s_id']) {
$row_sery = $this->auto_series_model->get(array('id' => $info['s_id']));
$brand_id = $row_sery['brand_id'];
}
$options = $this->auto_option_model->select(['status'=>1],'id desc',0,0,'id,title,price');
$type_arr = $this->auto_attr_model->get_type();
!$info['type'] && $info['type'] = 0;
$info['brand_id'] = $brand_id;
!$info['s_id'] && $info['s_id'] = '';
!$info['jsondata']['img'] && $info['jsondata']['img'] = '';
$this->data['options'] = $options;
$this->data['type_arr'] = $type_arr;
$this->data['info'] = $info;
$this->data['_title'] = $id ? '编辑' : '新增';
@@ -151,7 +128,6 @@ class Attr extends HD_Controller
'type' => $post['type'],
'c_time' => time()
];
$post['jsondata']['options'] = $post['options'] ? $post['options'] : [];
$post['jsondata'] && $add_data['jsondata'] = json_encode($post['jsondata'], JSON_UNESCAPED_UNICODE);
$result = $this->auto_attr_model->add($add_data);
if (!$result) {
@@ -178,7 +154,6 @@ class Attr extends HD_Controller
's_id' => $post['s_id'],
'type' => $post['type'],
];
$post['jsondata']['options'] = $post['options'] ? $post['options'] : [];
$post['jsondata'] && $update['jsondata'] = json_encode($post['jsondata'], JSON_UNESCAPED_UNICODE);
$result = $this->auto_attr_model->update($update, ['id' => $row['id']]);
if (!$result) {
@@ -223,24 +198,10 @@ class Attr extends HD_Controller
$where = array();
$s_id && $where['s_id'] = $s_id;
strlen($type) > 0 && $where['type'] = $type;
/*if ($status == 3) {//搜索专用
if ($status == 3) {//搜索专用
$where['status'] = 1;
} else {
$where['status>'] = -1;
}*/
if(strlen($status) > 0){
if (strpos($status,'>') !== false || strpos($status,'<') !== false || strpos($status,'in') !== false){
$where["status {$status}"] = null;
}
else{
if ($status == 3) {//搜索专用
$where['status'] = 1;
} else {
$where['status>'] = -1;
}
}
} else {
$where['status > -1'] = null;
}
$where['status>-1'] = null;
$total = $this->auto_attr_model->count($where);
+5 -188
View File
@@ -12,8 +12,6 @@ class Brand extends HD_Controller{
public function __construct(){
parent::__construct();
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_brand_biz_model');
$this->load->model('biz/biz_model');
}
public function index(){
@@ -27,18 +25,8 @@ class Brand extends HD_Controller{
$size = 20;
$where["status > -1"] = null;
$params['title'] && $where["name like '%{$params['title']}%'"] = null;
if (!strlen($params['status'])){
$params['status'] = $where['status'] = 1;
}
elseif ($params['status'] == -9){
# pass
}
else{
$where['status'] = $params['status'];
}
$count = $this->auto_brand_model->count($where);
$rows = $this->auto_brand_model->select($where, 'status desc, id asc', $page, $size);
$rows = $this->auto_brand_model->select($where, 'id desc', $page, $size);
$status_arr = $this->auto_brand_model->get_status();
$list = [];
if($rows){
@@ -47,15 +35,11 @@ class Brand extends HD_Controller{
'id' => $val['id'],
'name' => $val['name'],
'status' => $val['status'],
't_biz' => $this->auto_brand_biz_model->count(['brand_id'=>$val['id']]),
'status_name' => $status_arr[$val['status']],
'c_time' => date('Y-m-d H:i:s',$val['c_time'])
];
}
}
$status_arr_list = $status_arr;
unset($status_arr_list[-1]);
$this->data['status_arr'] = $status_arr_list;
$this->data['lists'] = $list;
$this->data['params'] = $params;
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
@@ -142,20 +126,6 @@ class Brand extends HD_Controller{
$stauts = $this->input->post('status');
$where = array('id' => $id);
$this->auto_brand_model->update(array('status' => $stauts), $where);
if ($stauts == -1){
$this->load->model('auto/auto_cars_model');
$this->load->model('auto/auto_series_model');
$this->load->model('auto/auto_attr_model');
# 车型库
$this->auto_cars_model->update(array('status' => $stauts), array('brand_id' => $id));
# 车系
$this->auto_series_model->update(array('status' => $stauts), array('brand_id' => $id));
# 车辆属性
$this->auto_attr_model->update(array('status' => $stauts), array("s_id in (select id from lc_auto_series where brand_id = {$id})" => null));
# 车型介绍
$this->load->model('auto/auto_introduce_model', 'mdAutoIntroduce');
$this->mdAutoIntroduce->update(array('status' => $stauts), array('brand_id' => $id));
}
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
}
@@ -184,27 +154,22 @@ class Brand extends HD_Controller{
$title && $where["name like '%{$title}%'"] = null;
$un_ids && $where["id not in({$un_ids})"] = null;
if(strlen($status) > 0){
if (strpos($status,'>') !== false || strpos($status,'<') !== false || strpos($status,'in') !== false){
$where["status {$status}"] = null;
}
else{
$where['status'] = $status;
}
$where['status'] = $status;
} else {
$where['status > -1'] = null;
$whre['status > -1'] = null;
}
$total = $this->auto_brand_model->count($where);
$lists = array();
if($total){
$orderby = 'status desc, id asc';
$orderby = 'id desc';
$select = 'id, name';
$rows = $this->auto_brand_model->select($where, $orderby, $page, $size, $select);
foreach($rows as $v){
$lists[] = array(
'id' => strlen($status) > 0 ? $v['id'] : " " . $v['id'],
'id' => $v['id'],
'name' => $v['name'],
);
}
@@ -213,153 +178,5 @@ class Brand extends HD_Controller{
$this->data = array('total' => $total, 'list' => $lists);
return $this->show_json(SYS_CODE_SUCCESS);
}
//授权门店
public function get_biz(){
$id = $this->input->get('id');
$info = $this->auto_brand_model->get(array('id' => $id));
if (!$info) {
return $this->show_json(SYS_CODE_FAIL, '数据不存在!');
}
$cate_lists = $this->biz_model->type_ary();
$params = [
'id' => $id,
'cate_id' => 1
];
$this->data['params'] = $params;
$this->data['cate_lists'] = $cate_lists;
$this->data['info'] = $info;
$this->data['_title'] = '授权品牌';
return $this->show_view('auto/brand/edit_biz',true);
}
//授权门店
public function edit_biz(){
$brand_id = $this->input->post('id');
$type = intval($this->input->post('type'));
$brand_biz = $this->input->post('brand_biz');
$info = $this->auto_brand_model->get(array('id' => $brand_id));
if (!$info) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$biz_ids = '';
$brand_biz && $biz_ids = implode(',',array_unique(array_keys($brand_biz)));
if($brand_biz && $biz_ids){
$where = [
"biz_id not in ({$biz_ids})" => null,
'brand_id' => $brand_id
];
$type && $where['type'] = $type;
if($this->auto_brand_biz_model->count($where)){
$this->auto_brand_biz_model->delete($where);
}
$add_datas = [];
foreach ($brand_biz as $key => $val) {
$where = [
'biz_id' => $key,
'brand_id' => $brand_id
];
$type && $where['type'] = $type;
if(!$this->auto_brand_biz_model->count($where)){
if(!$type){
$biz_row = $this->biz_model->get(['id'=>$key],'type');
$type = $biz_row['type'];
}
$add_datas[] = [
'biz_id' => $key,
'type' => $type,
'brand_id' => $brand_id,
'c_time' => time()
];
}
}
$add_datas && $this->auto_brand_biz_model->add_batch($add_datas);
}else{
$where = [
'brand_id' => $brand_id,
];
$type && $where['type'] = $type;
if($this->auto_brand_biz_model->count($where)){
$this->auto_brand_biz_model->delete($where);
}
}
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
public function ajax_biz(){
$type = intval($this->input->get('type'));
$brand_id = intval($this->input->get('id'));
if($type){
$where = [
'status' => 1,
'type' => $type,
"id not in (select biz_id from lc_auto_brand_biz where brand_id={$brand_id} and type={$type})" => null
];
}else{
$where = [
'status' => 1,
"id not in (select biz_id from lc_auto_brand_biz where brand_id={$brand_id})" => null
];
}
$biz_lists = $this->biz_model->map('id','biz_name',$where,'',0,0,'id,biz_name');
if($type){
$where = [
'status' => 1,
'type' => $type,
"id in (select biz_id from lc_auto_brand_biz where brand_id={$brand_id} and type={$type})" => null
];
}else{
$where = [
'status' => 1,
"id in (select biz_id from lc_auto_brand_biz where brand_id={$brand_id})" => null
];
}
$brand_biz = $this->biz_model->map('id','biz_name',$where,'',0,0,'id,biz_name');
$this->data['biz_lists'] = $biz_lists;
$this->data['brand_biz'] = $brand_biz;
return $this->show_json(SYS_CODE_SUCCESS);
}
//旧门店授权品牌脚本
public function change(){
$page = $this->input->get('page');
$size = $this->input->get('size');
!$page && $page = 1;
!$size && $size = 20;
$where = [
'status' => 1
];
$rows = $this->biz_model->select($where,'id asc',$page,$size,'id,type,jsondata');
if($rows){
foreach ($rows as $key=>$val) {
$jsondata = json_decode($val['jsondata'],true);
$add_datas = [];
if($jsondata['auto_brands'] && is_array($jsondata['auto_brands'])){
foreach ($jsondata['auto_brands'] as $v) {
$where = [
'biz_id'=>$val['id'],
'type'=>$val['type'],
'brand_id'=>$v
];
if(!$this->auto_brand_biz_model->count($where)){
$add_datas[] = [
'biz_id' => $val['id'],
'type' => $val['type'],
'brand_id' => $v,
'c_time' => time()
];
}
}
$add_datas && $this->auto_brand_biz_model->add_batch($add_datas);
echo "门店id:{$val['id']},添加数据:".json_encode($add_datas,JSON_UNESCAPED_UNICODE).'<br>';
}else{
echo "门店id:{$val['id']},无授权品牌<br>";
}
}
}else{
echo '执行完毕';
}
}
}
+83 -350
View File
@@ -20,43 +20,11 @@ class Business extends HD_Controller{
public function index()
{
$params = $this->input->get();
$where = $this->get_where($params);
$page = $params['page'];
$page = !$page ? 1 : $page;
$size = $params['size'];
$size = !$size ? 20 : $size;
//获取品牌map
$where_brand = array('status = 1' => null);
$map_brand = $this->auto_brand_model->map_brand($where_brand);
//状态
$statusAry = array('0' => '关闭', '1' => '开启');
$total = $this->auto_business_model->count($where);
$lists = array();
$total && $lists = $this->get_data($where, $page, $size, $map_brand);
$this->data['params'] = $params;
$this->data['lists'] = $lists;
$this->data['statusAry'] = $statusAry;
$this->data['brandAry'] = $this->auto_brand_model->map_brand_list($map_brand);
$this->data['cityAry'] = $this->sys_city_model->select(['status'=>1],'id desc',0,0,'city_id,name');
$this->data['yearAry'] = $this->auto_business_model->year();
$this->data['monthAry'] = $this->auto_business_model->month();
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page, 'totle' => $total);
$this->data['_title'] = '商务政策管理';
$this->show_view('auto/business/lists',true);
}
private function get_where(&$params){
!isset($params['status']) && $params['status'] = 1;
!isset($params['if_effect']) && $params['if_effect'] = 1;
!isset($params['month']) && $params['month'] = '';
$where = array();
$where['brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$where['s_id in (select id from lc_auto_series where status = 1)'] = null;
$where['v_id in (select id from lc_auto_attr where status = 1 and type = 1)'] = null;
if($params['brand_id']){
$where['brand_id'] = $params['brand_id'];
} else{
@@ -96,82 +64,83 @@ class Business extends HD_Controller{
if($params['month']){
$where['month'] = $params['month'];
}
return $where;
}
$page = $params['page'];
$page = !$page ? 1 : $page;
$size = $params['size'];
$size = !$size ? 20 : $size;
private function get_data($where, $page, $size, $map_brand, $export=false){
//获取品牌map
$where_brand = array('status > -1' => null);
$map_brand = $this->auto_brand_model->map('id', 'name', $where_brand, 'id desc', 0 , 0, 'id, name');
//状态
$statusAry = array('0' => '关闭', '1' => '开启');
$total = $this->auto_business_model->count($where);
$lists = array();
$orderby = 'id desc';
$select = '*';
$rows = $this->auto_business_model->select($where, $orderby, $page, $size, $select);
if($rows){
$s_ids = array_unique(array_column($rows,'s_id'));
$attr_ids = array_unique(array_column($rows,'v_id'));
$city_ids = array_unique(array_column($rows,'city_id'));
//获取车系列表
$map_sery = array();
if($s_ids){
$str_ids = implode(',', $s_ids);
$where_sery = array("id in ({$str_ids})" => null);
$map_sery = $this->auto_series_model->map('id', 'name', $where_sery, 'id desc', 0, 0, 'id,name');
}
$map_attr = array();
if($attr_ids){
$str_ids = implode(',', $attr_ids);
$where_attr = array("id in ({$str_ids})" => null);
$map_attr = $this->auto_attr_model->map('id', 'title', $where_attr, 'id desc', 0 , 0, 'id, title, type');
}
if($city_ids){
$str_ids = implode(',', $city_ids);
$where_city = array("city_id in ({$str_ids})" => null);
$map_city = $this->sys_city_model->map('city_id', 'name', $where_city, 'id desc', 0 , 0, 'city_id, name');
}
//属性按'车型-车身颜色-内饰颜色'排序
foreach($rows as $v){
$title = "{$map_brand[$v['brand_id']]} {$map_sery[$v['s_id']]} {$map_attr[$v['v_id']]}";
$city_cn = $map_city[$v['city_id']];
$month = date('Y-m',strtotime("{$v['year']}-{$v['month']}"));
$row = array(
'id' => $v['id'],
'title' => $title,
'status' => $v['status'],
'price_car' => $v['price_car'] > 0 ? $v['price_car'] : '0.00',
'price_floor' => $v['price_floor'] > 0 ? $v['price_floor'] : '0.00',
'price_coplus' => $v['price_coplus'] > 0 ? $v['price_coplus'] : '0.00',
'price_color' => $v['price_color'] > 0 ? $v['price_color'] : '0.00',
'profix_car' => $v['profix_car'],
'proxy_type' => $v['proxy_type'] == 0 ? '返佣' : '票折',
'proxy_profix_price' => $v['proxy_profix_price'] != 0.0 ? $v['proxy_profix_price'] :'',
'proxy_profix_lower' => $v['proxy_profix_lower'] != 0.0 ? $v['proxy_profix_lower'] : '',
'proxy_profix_rebate' => $v['proxy_profix_rebate'] != 0.0 ? $v['proxy_profix_rebate'] : '',
'proxy_profix_car' => $v['proxy_profix_car'],
'profix_insure' => $v['profix_insure'],
'profix_carno' => $v['profix_carno'],
'profix_loan' => $v['profix_loan'],
'city_cn'=> $city_cn,
'month' => $month,
's_effect_time' => $v['s_effect_time'] ? date('Y-m-d',$v['s_effect_time']) : '',
'effect_status' => $v['if_effect'] ? '生效中' : '未生效',
'if_effect' => $v['if_effect'],
'delivery_day' => $v['delivery_day']
);
if ($export){
$export_arr = array(
'brand_name' => $map_brand[$v['brand_id']],
'sery_name' => $map_sery[$v['s_id']],
'attr_name' => $map_attr[$v['v_id']],
'year' => $v['year'],
'month' => $v['month'],
'status_name' => $v['status'] ? '开启' : '关闭',
);
$row = array_merge($row, $export_arr);
if($total){
$orderby = 'id desc';
$select = '*';
$rows = $this->auto_business_model->select($where, $orderby, $page, $size, $select);
if($rows){
$s_ids = array_unique(array_column($rows,'s_id'));
$attr_ids = array_unique(array_column($rows,'v_id'));
$city_ids = array_unique(array_column($rows,'city_id'));
//获取车系列表
$map_sery = array();
if($s_ids){
$str_ids = implode(',', $s_ids);
$where_sery = array("id in ({$str_ids})" => null);
$map_sery = $this->auto_series_model->map('id', 'name', $where_sery, 'id desc', 0, 0, 'id,name');
}
$map_attr = array();
if($attr_ids){
$str_ids = implode(',', $attr_ids);
$where_attr = array("id in ({$str_ids})" => null);
$map_attr = $this->auto_attr_model->map('id', 'title', $where_attr, 'id desc', 0 , 0, 'id, title, type');
}
if($city_ids){
$str_ids = implode(',', $city_ids);
$where_city = array("city_id in ({$str_ids})" => null);
$map_city = $this->sys_city_model->map('city_id', 'name', $where_city, 'id desc', 0 , 0, 'city_id, name');
}
//属性按'车型-车身颜色-内饰颜色'排序
foreach($rows as $v){
$title = "{$map_brand[$v['brand_id']]} {$map_sery[$v['s_id']]} {$map_attr[$v['v_id']]}";
$city_cn = $map_city[$v['city_id']];
$month = date('Y-m',strtotime("{$v['year']}-{$v['month']}"));
$lists[] = array(
'id' => $v['id'],
'title' => $title,
'status' => $v['status'],
'price_car' => $v['price_car'] > 0 ? $v['price_car'] : '0.00',
'price_floor' => $v['price_floor'] > 0 ? $v['price_floor'] : '0.00',
'price_coplus' => $v['price_coplus'] > 0 ? $v['price_coplus'] : '0.00',
'price_color' => $v['price_color'] > 0 ? $v['price_color'] : '0.00',
'profix_car' => $v['profix_car'],
'profix_insure' => $v['profix_insure'],
'profix_carno' => $v['profix_carno'],
'profix_loan' => $v['profix_loan'],
'city_cn'=> $city_cn,
'month' => $month,
's_effect_time' => $v['s_effect_time'] ? date('Y-m-d',$v['s_effect_time']) : '',
'effect_status' => $v['if_effect'] ? '生效中' : '未生效',
'if_effect' => $v['if_effect'],
'delivery_day' => $v['delivery_day']
);
}
$lists[] = $row;
}
}
return $lists;
$this->data['params'] = $params;
$this->data['lists'] = $lists;
$this->data['statusAry'] = $statusAry;
$this->data['brandAry'] = $map_brand;
$this->data['cityAry'] = $this->sys_city_model->select(['status'=>1],'id desc',0,0,'city_id,name');
$this->data['yearAry'] = $this->auto_business_model->year();
$this->data['monthAry'] = $this->auto_business_model->month();
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page, 'totle' => $total);
$this->data['_title'] = '商务政策管理';
$this->show_view('auto/business/lists',true);
}
public function lists()
@@ -182,25 +151,20 @@ class Business extends HD_Controller{
public function get()
{
$id = $this->input->get('id');
#$map_brand = $this->auto_brand_model->map('id', 'name', ['status>'=>-1], 'id desc', 0 , 0, 'id, name');
$map_brand = $this->auto_brand_model->map_brand_list($this->auto_brand_model->map_brand(array('status = 1' => null)));
$map_brand = $this->auto_brand_model->map('id', 'name', ['status>'=>-1], 'id desc', 0 , 0, 'id, name');
$city_rows = $this->sys_city_model->select(['status'=>1],'id desc',0,0,'city_id,name');
$row = $this->auto_business_model->get(['id'=>$id]);
if($id && $row){
$info = [
'id' => $row['id'],
'city_id' => $row['city_id'],
'brand_id' => ' '.$row['brand_id'],
'brand_id' => $row['brand_id'],
's_id' => $row['s_id'],
'v_id' => $row['v_id'],
'price_car' => $row['price_car'],
'price_floor' => $row['price_floor'],
'price_color' => $row['price_color'],
'price_coplus' => $row['price_coplus'],
'proxy_type' => intval($row['proxy_type']),
'proxy_profix_price' => $row['proxy_profix_price'],
'proxy_profix_lower' => $row['proxy_profix_lower'],
'proxy_profix_rebate' => $row['proxy_profix_rebate'],
'proxy_profix_car' => $row['proxy_profix_car'],
'profix_car' => $row['profix_car'],
'profix_carno' => $row['profix_carno'],
@@ -229,10 +193,6 @@ class Business extends HD_Controller{
'price_floor' => 0.00,
'price_color' => 0.00,
'price_coplus' => 0.00,
'proxy_type' => 0,
'proxy_profix_price' => 0.00,
'proxy_profix_lower' => 0.00,
'proxy_profix_rebate' => 0.00,
'proxy_profix_car' => 0.00,
'profix_car' => 0.00,
'profix_carno' => 0.00,
@@ -290,10 +250,6 @@ class Business extends HD_Controller{
$info['price_floor'] && $data['price_floor'] = $info['price_floor'];
$info['price_coplus'] && $data['price_coplus'] = $info['price_coplus'];
$info['price_color'] && $data['price_color'] = $info['price_color'];
$data['proxy_type'] = $info['proxy_type'];
$data['proxy_profix_price'] = $info['proxy_profix_price'];
$data['proxy_profix_lower'] = $info['proxy_profix_lower'];
$data['proxy_profix_rebate'] = $info['proxy_profix_rebate'];
$info['proxy_profix_car'] && $data['proxy_profix_car'] = $info['proxy_profix_car'];
$info['profix_car'] && $data['profix_car'] = $info['profix_car'];
$info['profix_carno'] && $data['profix_carno'] = $info['profix_carno'];
@@ -309,186 +265,6 @@ class Business extends HD_Controller{
return $this->show_json(SYS_CODE_SUCCESS, '添加成功');
}
function add_excel()
{
require_once COMMPATH . '/third_party/PHPExcel/IOFactory.php';
$res = $this->upload();
if (!$res['code']) {
return $this->show_json(0, $res['message']);
}
$file = $res['path'];
if ($res['file_ext'] == '.xls') {
$reader = \PHPExcel_IOFactory::createReader('Excel5'); // 读取 excel 文档
} elseif ($res['file_ext'] == '.xlsx') {
$reader = \PHPExcel_IOFactory::createReader('Excel2007'); // 读取 excel 文档
} else {
return $this->show_json(SYS_CODE_FAIL, '文件无法识别');
}
$PHPExcel = $reader->load($file); // 文档名称
$objWorksheet = $PHPExcel->getActiveSheet();
$rowCnt = $objWorksheet->getHighestRow(); //获取总行数
if ($rowCnt > 800) {
@unlink($file);
return $this->show_json(0, '数据大于800请拆分多个表格导入');
}
$data = array();
$yearary = $this->auto_business_model->year();
$monthary = $this->auto_business_model->month();
$c_time = time();
$count = $rowCnt - 1;
$count_ignore = 0;
$msg_debug = "file: {$file};count: {$count};";
for ($_row = 2; $_row <= $rowCnt; $_row++) { //读取内容
$brand_name = $objWorksheet->getCell('A' . $_row)->getValue();
$res = $this->auto_brand_model->get(array('status'=>1, 'name'=>$brand_name), 'id');
if (!$res){
$count_ignore += 1;
$msg_debug .= 'no brand_id;';
continue;
}
$brand_id = $res['id'];
$s_name = $objWorksheet->getCell('B' . $_row)->getValue();
$res = $this->auto_series_model->get(array('status'=>1, 'brand_id'=> $brand_id, 'name'=>$s_name), 'id');
if (!$res){
$count_ignore += 1;
$msg_debug .= 'no s_id;';
continue;
}
$s_id = $res['id'];
$v_name = $objWorksheet->getCell('C' . $_row)->getValue();
$res = $this->auto_attr_model->get(array('status'=>1, 's_id'=> $s_id, 'title'=>$v_name), 'id');
if (!$res){
$count_ignore += 1;
$msg_debug .= 'no v_id;';
continue;
}
$v_id = $res['id'];
$city_name = $objWorksheet->getCell('D' . $_row)->getValue();
if (!$city_name){
$count_ignore += 1;
$msg_debug .= 'no city_name;';
continue;
}
$res = $this->sys_city_model->get(array('status'=>1, "name like '%{$city_name}%'"=>null), 'city_id');
if (!$res){
$count_ignore += 1;
$sql = $this->sys_city_model->db->last_query();
$msg_debug .= "no city_id: {$sql};";
continue;
}
$city_id = $res['city_id'];
$s_effect_date = $objWorksheet->getCell('E' . $_row)->getValue(); # 此处得到是距离1900-01-01天数
$s_effect_date && $s_effect_date = gmdate("Y-m-d", \PHPExcel_Shared_Date::ExcelToPHP($s_effect_date));
$s_effect_time = 0;
$if_effect = 0;
if ($s_effect_date) {
$s_effect_time = strtotime($s_effect_date);
if($c_time>$s_effect_time){
$if_effect = 1;
}
}
$msg_debug .= "s_effect_date:{$s_effect_date};s_effect_time:{$s_effect_time};if_effect:{$if_effect};";
$year = $objWorksheet->getCell('F' . $_row)->getValue();
$month = $objWorksheet->getCell('G' . $_row)->getValue();
$year = intval($year);
$month = intval($month);
if (!in_array($year, $yearary) || !in_array($month, $monthary)){
$count_ignore += 1;
$msg_debug .= 'year or month exception;';
continue;
}
$where = [
'brand_id' => $brand_id,
's_id' => $s_id,
'v_id' => $v_id,
'city_id' => $city_id,
'year' => $year,
'month' => $month,
'status' => 1,
];
if($this->auto_business_model->get($where)){
$count_ignore += 1;
$sql = $this->auto_business_model->db->last_query();
$msg_debug .= "exists business: {$sql};";
continue;
}
$price_car = $objWorksheet->getCell('H' . $_row)->getValue();
$price_floor = $objWorksheet->getCell('I' . $_row)->getValue();
$delivery_day = $objWorksheet->getCell('J' . $_row)->getValue();
$delivery_day = intval($delivery_day);
$delivery_day = $delivery_day < 0 ? 0 : $delivery_day;
//$price_color = $objWorksheet->getCell('K' . $_row)->getValue();
$proxy_name = $objWorksheet->getCell('K' . $_row)->getValue();
$proxy_type = $proxy_name == '票折' ? 1 : 0;
$proxy_profix_price = $objWorksheet->getCell('L' . $_row)->getValue();
$proxy_profix_lower = $objWorksheet->getCell('M' . $_row)->getValue();
$proxy_profix_rebate = $objWorksheet->getCell('N' . $_row)->getValue();
//$proxy_profix_car = $objWorksheet->getCell('M' . $_row)->getValue();
//$profix_car = $objWorksheet->getCell('N' . $_row)->getValue();
//$profix_cardno = $objWorksheet->getCell('O' . $_row)->getValue();
//$profix_insure = $objWorksheet->getCell('P' . $_row)->getValue();
//$profix_loan = $objWorksheet->getCell('Q' . $_row)->getValue();
$info = [
'brand_id' => $brand_id,
's_id' => $s_id,
'v_id' => $v_id,
'city_id' => $city_id,
'year' => $year,
'month' => $month,
'status' => 1,
'c_time' => $c_time,
];
$info['price_car'] = $price_car;
$info['price_floor'] = $price_floor;
//$info['price_color'] = $price_color;
$info['proxy_type'] = $proxy_type;
$info['proxy_profix_price'] = $proxy_profix_price;
$info['proxy_profix_lower'] = $proxy_profix_lower;
$info['proxy_profix_rebate'] = $proxy_profix_rebate;
//$info['proxy_profix_car'] = $proxy_profix_car;
//$info['profix_car'] = $profix_car;
//$info['profix_carno'] = $profix_cardno;
//$info['profix_insure'] = $profix_insure;
//$info['profix_loan'] = $profix_loan;
$info['s_effect_time'] = $s_effect_time;
$info['if_effect'] = $if_effect;
$info['delivery_day'] = $delivery_day;
$data[] = $info;
}
$msg_debug .= "count_ignore:{$count_ignore}";
$done = 0;
$data && $done = $this->auto_business_model->add_batch($data);
@unlink($file);
$this->data['load_num'] = count($data);
$this->data['done'] = $done;
#$this->data['msg_debug'] = $msg_debug;
return $this->show_json(SYS_CODE_SUCCESS, "{$count}条,成功导入{$done}");
}
private function upload()
{
$config['upload_path'] = $_SERVER['DOCUMENT_ROOT'] . '/temp/';
$config['allowed_types'] = 'xls|xlsx';
$config['max_size'] = 5120;
$config['file_name'] = 'receiver_clues' . time() . rand(1, 99999);
$this->load->library('upload', $config);
if (!$this->upload->do_upload('file')) {
return array('code' => SYS_CODE_FAIL, 'message' => $this->upload->display_errors('', ''));
} else {
$data = $this->upload->data();
return array('code' => SYS_CODE_SUCCESS, 'path' => $data['full_path'], 'file_ext' => $data['file_ext']);
}
}
public function edit()
{
$info = $this->input->post('info');
@@ -522,19 +298,15 @@ class Business extends HD_Controller{
'year' => $year,
'month' => $month,
];
$data['price_car'] = $info['price_car'];
$data['price_floor'] = $info['price_floor'];
$data['price_coplus'] = $info['price_coplus'];
$data['price_color'] = $info['price_color'];
$data['proxy_type'] = $info['proxy_type'];
$data['proxy_profix_price'] = $info['proxy_profix_price'];
$data['proxy_profix_lower'] = $info['proxy_profix_lower'];
$data['proxy_profix_rebate'] = $info['proxy_profix_rebate'];
$data['proxy_profix_car'] = $info['proxy_profix_car'];
$data['profix_car'] = $info['profix_car'];
$data['profix_carno'] = $info['profix_carno'];
$data['profix_insure'] = $info['profix_insure'];
$data['profix_loan'] = $info['profix_loan'];
$info['price_car'] && $data['price_car'] = $info['price_car'];
$info['price_floor'] && $data['price_floor'] = $info['price_floor'];
$info['price_coplus'] && $data['price_coplus'] = $info['price_coplus'];
$info['price_color'] && $data['price_color'] = $info['price_color'];
$info['proxy_profix_car'] && $data['proxy_profix_car'] = $info['proxy_profix_car'];
$info['profix_car'] && $data['profix_car'] = $info['profix_car'];
$info['profix_carno'] && $data['profix_carno'] = $info['profix_carno'];
$info['profix_insure'] && $data['profix_insure'] = $info['profix_insure'];
$info['profix_loan'] && $data['profix_loan'] = $info['profix_loan'];
$info['colors'] && $data['colors'] = json_encode($info['colors'],JSON_UNESCAPED_UNICODE);
$info['s_effect_time'] && $data['s_effect_time'] = strtotime($info['s_effect_time']);
$info['delivery_day'] && $data['delivery_day'] = $info['delivery_day'];
@@ -557,47 +329,8 @@ class Business extends HD_Controller{
public function export()
{
$params = $this->input->get();
$where = $this->get_where($params);
$page = 1;
$size = 10000;
//获取品牌map
$where_brand = array('status = 1' => null);
$map_brand = $this->auto_brand_model->map_brand($where_brand);
$data = $this->get_data($where, $page, $size, $map_brand, true);
$fileName = '商务政策';
$indexs = [
'brand_name' => '品牌',
'sery_name' => '车系',
'attr_name' => '车型',
'city_cn' => '城市',
's_effect_time' => '生效日期',
'year' => '时间-年',
'month' => '时间-月',
'price_car' => '裸车报价',
'price_floor' => '展厅最低限价',
'delivery_day' => '交车工作日',
//'price_color' => '颜色加价',
'proxy_type' => '代理店返用方式',
'proxy_profix_price' => '代理店结算价',
'proxy_profix_lower' => '代理店最低限价',
'proxy_profix_rebate' => '代理店佣金',
//'proxy_profix_car' => '代理店单车毛利',
//'profix_car' => '品牌店单车毛利',
//'profix_carno' => '上牌毛利',
//'profix_insure' => '保险毛利',
//'profix_loan' => '按揭毛利', # 以上次序与导入一致,方便导出后编辑再导入
'status_name' => '状态',
'effect_status' => '是否生效',
'id' => 'ID',
];
array_unshift($data, $indexs);
$this->load->library('excel');
$this->excel->out($data, $indexs, $fileName . "_" . date('YmdHis'));
// TODO: Implement export() method.
}
function edit_status(){
$id = $this->input->post('id');
$field = $this->input->post('field');
+3 -8
View File
@@ -29,9 +29,6 @@ class Cars extends HD_Controller{
$params = $this->input->get();
$where = array();
$where['brand_id in (select id from lc_auto_brand where status > -1)'] = null;
$where['s_id in (select id from lc_auto_series where status > -1)'] = null;
$where['v_id in (select id from lc_auto_attr where status > -1 and type = 1)'] = null;
if($params['brand_id']){
$where['brand_id'] = $params['brand_id'];
} else{
@@ -61,7 +58,7 @@ class Cars extends HD_Controller{
//获取品牌map
$where_brand = array('status > -1' => null);
$map_brand = $this->auto_brand_model->map_brand($where_brand);
$map_brand = $this->auto_brand_model->map('id', 'name', $where_brand, 'id desc', 0 , 0, 'id, name');
//状态
$statusAry = array('0' => '关闭', '1' => '开启');
@@ -112,7 +109,7 @@ class Cars extends HD_Controller{
$this->data['params'] = $params;
$this->data['lists'] = $lists;
$this->data['statusAry'] = $statusAry;
$this->data['brandAry'] = $this->auto_brand_model->map_brand_list($map_brand);
$this->data['brandAry'] = $map_brand;
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page, 'totle' => $total);
$this->data['_title'] = '车型库管理';
$this->show_view('auto/cars/lists',true);
@@ -123,8 +120,7 @@ class Cars extends HD_Controller{
//获取品牌map
$where_brand = array('status > -1' => null);
#$map_brand = $this->auto_brand_model->map('id', 'name', $where_brand, 'id desc', 0 , 0, 'id, name');
$map_brand = $this->auto_brand_model->map_brand_list($this->auto_brand_model->map_brand($where_brand));
$map_brand = $this->auto_brand_model->map('id', 'name', $where_brand, 'id desc', 0 , 0, 'id, name');
//状态
$statusAry = array('0' => '关闭', '1' => '开启');
if($id){
@@ -348,7 +344,6 @@ class Cars extends HD_Controller{
// 'price_car' => $row['price_car']
// );
$row['price_floor'] && $row['price_floor'] = 0;
$this->data = $row;
return $this->show_json(SYS_CODE_SUCCESS);
+8 -17
View File
@@ -16,8 +16,7 @@ class Finance extends HD_Controller{
$this->load->model('auto/auto_cars_model');
$this->load->model('auto/auto_finance_model');
//$this->load->model('sys/sys_finance_model');
$this->load->model('sys/sys_supplier_model');
$this->load->model('sys/sys_finance_model');
}
public function index(){
@@ -43,11 +42,7 @@ class Finance extends HD_Controller{
$params['brand_id'] && $where["$t2.brand_id"] = $params['brand_id'];
$params['s_id'] && $where["$t2.s_id"] = $params['s_id'];
$params['v_id'] && $where["$t2.v_id"] = $params['v_id'];
#$params['cor_id'] && $where["$t2.cor_id"] = $params['cor_id'];
#$where[$t2.'.color_id in (select id from lc_auto_attr where status = 1 and type = 0)'] = null;
$where[$t2.'.brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$where[$t2.'.s_id in (select id from lc_auto_series where status = 1)'] = null;
$where[$t2.'.v_id in (select id from lc_auto_attr where status = 1 and type = 1)'] = null;
$params['cor_id'] && $where["$t2.cor_id"] = $params['cor_id'];
$total = $this->auto_finance_model->count_finance($where);
$lists = array();
@@ -55,8 +50,7 @@ class Finance extends HD_Controller{
$select = "$t1.id,$t1.car_id,$t1.fin_id,$t1.num,$t1.month_pay,$t1.first_pay,$t1.srv_pay,$t1.status";
$rows = $this->auto_finance_model->select_finance($where, 'id desc', $page, $size, $select);
$fin_id_arr = array_column($rows,'fin_id');
//$fin_rows = $this->sys_finance_model->get_map_by_ids($fin_id_arr,'id,title');
$fin_rows = $this->sys_supplier_model->get_map_by_ids($fin_id_arr,'id,title');
$fin_rows = $this->sys_finance_model->get_map_by_ids($fin_id_arr,'id,title');
foreach($rows as $key=>$val){
$lists[] = [
'id' => $val['id'],
@@ -100,8 +94,7 @@ class Finance extends HD_Controller{
$info['status'] = $row['status'];
}
$nums = $this->auto_finance_model->get_nums();
//$finance = $this->sys_finance_model->select(['status'=>1],'id desc',1,20,'id,title');
$finance = $this->sys_supplier_model->select(['status'=>1, 'type'=>3],'id desc',0,0,'id,title');
$finance = $this->sys_finance_model->select(['status'=>1],'id desc',1,20,'id,title');
!$info['fin_id'] && $info['fin_id'] = $finance[0]['id'];
!$info['num'] && $info['num'] = $nums[0];
!isset($info['status']) && $info['status'] = 1;
@@ -127,9 +120,8 @@ class Finance extends HD_Controller{
}
$row = $this->auto_finance_model->get(['car_id'=>$info['car_id'],'num'=>$info['num'],'fin_id'=>$info['fin_id']]);
if($row){
//$finance = $this->sys_finance_model->get(['id'=>$info['fin_id']]);
$finance = $this->sys_supplier_model->get(['id'=>$info['fin_id']]);
return $this->show_json(SYS_CODE_FAIL, "该车已配置:{$finance['title']}-{$info['num']}");
$finance = $this->sys_finance_model->get(['id'=>$info['fin_id']]);
return $this->show_json(SYS_CODE_FAIL, "该车已配置:{$finance['title']}金融-{$info['num']}");
}
$adata = [
'car_id' => $info['car_id'],
@@ -162,9 +154,8 @@ class Finance extends HD_Controller{
}
$row = $this->auto_finance_model->get(['car_id'=>$info['car_id'],'num'=>$info['num'],'fin_id'=>$info['fin_id'],'id !='=>$info['id']]);
if($row){
//$finance = $this->sys_finance_model->get(['id'=>$info['fin_id']]);
$finance = $this->sys_supplier_model->get(['id'=>$info['fin_id']]);
return $this->show_json(SYS_CODE_FAIL, "该车已配置:{$finance['title']}-{$info['num']}");
$finance = $this->sys_finance_model->get(['id'=>$info['fin_id']]);
return $this->show_json(SYS_CODE_FAIL, "该车已配置:{$finance['title']}金融-{$info['num']}");
}
$adata = [
'car_id' => $info['car_id'],
+1 -4
View File
@@ -35,8 +35,6 @@ class Introduce extends HD_Controller
if (strlen($params['status'])) {
$where['status'] = $params['status'];
}
$where['brand_id in (select id from lc_auto_brand where status > -1)'] = null;
$where['s_id in (select id from lc_auto_series where status > -1)'] = null;
$count = $this->mdAutoIntroduce->count($where);
if ($count) {
$res = $this->mdAutoIntroduce->select($where, "id desc", $params['page'], $params['size']);
@@ -153,8 +151,7 @@ class Introduce extends HD_Controller
);
$showInfo = ['title' => '请选择车型', 'url' => '/auto/introduce/add'];
}
#$showInfo['brandList'] = $this->mdAutoBrand->select(["status<>-1" => null], 'id desc', 0, 0, 'id, name');
$showInfo['brandList'] = $this->mdAutoBrand->map_brand_list($this->mdAutoBrand->map_brand(array('status > -1' => null), false));
$showInfo['brandList'] = $this->mdAutoBrand->select(["status<>-1" => null], 'id desc', 0, 0, 'id, name');
$this->data['_title'] = $_title;
$this->data['info'] = $info;
$this->data['showInfo'] = $showInfo;
-192
View File
@@ -1,192 +0,0 @@
<?php
/**
* Created by Vim
* User: lcc
* Date: 2023/03/14
* Time: 10:19
*/
defined('BASEPATH') OR exit('No direct script access allowed');
class Options extends HD_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('auto/auto_option_model');
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_series_model');
}
public function index()
{
$this->lists();
}
public function lists()
{
$params = $this->input->get();
!$params['s_id'] && $params['s_id'] = '';
!$params['brand_id'] && $params['brand_id'] = '';
$page = $this->input->get('page');
!$page && $page = 1;
$size = 20;
$where["status > -1"] = null;
$params['title'] && $where["title like '%{$params['title']}%'"] = null;
//获取品牌map
$where_brand = array('status > -1' => null);
$map_brand = $this->auto_brand_model->map_brand($where_brand);
$params['brand_id'] && $where['brand_id'] = intval($params['brand_id']);
$params['s_id'] && $where['s_id'] = intval($params['s_id']);
$count = $this->auto_option_model->count($where);
$list = [];
if($count){
$status_arr = $this->auto_option_model->get_status();
$rows = $this->auto_option_model->select($where,'id desc',$page,$size);
$b_rows = $this->auto_brand_model->get_map_by_ids(array_column($rows,'brand_id'));
$s_rows = $this->auto_series_model->get_map_by_ids(array_column($rows,'s_id'));
foreach ($rows as $item) {
$b_row = $b_rows[$item['brand_id']][0];
$s_row = $s_rows[$item['s_id']][0];
$list[] = [
'id' => $item['id'],
'brand_cn' => $b_row['name'],
'series_cn' => $s_row['name'],
'title' => $item['title'],
'price' => $item['price'],
'status_name' => $status_arr[$item['status']],
'status' => $item['status'],
'c_time' => date('Y-m-d H:i:s',$item['c_time'])
];
}
}
$this->data['lists'] = $list;
$this->data['params'] = $params;
$this->data['brandAry'] = $this->auto_brand_model->map_brand_list($map_brand);
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
$this->data['_title'] = '选装管理';
$this->show_view('auto/options/lists', true);
}
public function get()
{
$id = $this->input->get('id');
$info = [
'title' => '',
'options' => [],
'brand_id' => 0,
's_id' => 0
];
if ($id) {
$info = $this->auto_option_model->get(array('id' => $id));
if (!$info) {
return $this->show_json(SYS_CODE_FAIL, '数据不存在!');
}
$info['brand_id'] = " {$info['brand_id']}";
}
//获取品牌map
$where_brand = array('status > -1' => null);
$map_brand = $this->auto_brand_model->map_brand($where_brand);
$this->data['brandAry'] = $this->auto_brand_model->map_brand_list($map_brand);
$this->data['info'] = $info;
$this->data['_title'] = $id ? '编辑' : '新增';
return $this->show_view('auto/options/edit',true);
}
public function add()
{
if (!$this->if_ajax) {
return $this->show_json(SYS_CODE_FAIL, '提交出错!');
}
$post = $this->input->post();
if (!$post['title']) {
return $this->show_json(SYS_CODE_FAIL, '标题不能为空');
}
$add_data = [
'title' => $post['title'],
'price' => floatval($post['price']),
'brand_id' => intval($post['brand_id']),
's_id' => intval($post['s_id']),
'descrip' => $post['descrip'],
'c_time' => time()
];
$result = $this->auto_option_model->add($add_data);
if (!$result) {
return $this->show_json(SYS_CODE_FAIL, '添加失败');
}
return $this->show_json(SYS_CODE_SUCCESS, '添加成功');
}
public function edit()
{
if (!$this->if_ajax) {
return $this->show_json(SYS_CODE_FAIL, '提交出错!');
}
$post = $this->input->post();
$row = $this->auto_option_model->get(['id' => $post['id']]);
if (!$row) {
return $this->show_json(SYS_CODE_FAIL, '数据不存在');
}
if (!$post['title']) {
return $this->show_json(SYS_CODE_FAIL, '标题不能为空');
}
$update = [
'title' => $post['title'],
'price' => floatval($post['price']),
'descrip' => $post['descrip'],
'brand_id' => intval($post['brand_id']),
's_id' => intval($post['s_id']),
];
$result = $this->auto_option_model->update($update, ['id' => $row['id']]);
if (!$result) {
return $this->show_json(SYS_CODE_FAIL, '保存失败');
}
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
public function del()
{
$id = $this->input->post('id');
if (!$id) {
$this->show_json(SYS_CODE_FAIL, '参数错误');
}
$stauts = $this->input->post('status');
$where = ['id' => $id];
$this->auto_option_model->update(['status' => $stauts], $where);
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
}
public function batch()
{
}
public function export()
{
}
function json_lists()
{
$brand_id = $this->input->get('brand_id');
$s_id = $this->input->get('s_id');
$where = [
'status'=>1,
'brand_id' => intval($brand_id)
];
$s_id && $where['s_id'] = $s_id;
$lists = [];
$rows = $this->auto_option_model->select($where,'','','','id,title,price');
if($rows){
foreach ($rows as $items) {
$lists[] = $items;
}
}
$this->data['lists'] = $lists;
$this->show_json(SYS_CODE_SUCCESS,'');
}
}
+4 -30
View File
@@ -26,22 +26,11 @@ class Series extends HD_Controller{
$size = 20;
$where["status > -1"] = null;
$params['title'] && $where["name like '%{$params['title']}%'"] = null;
$where['brand_id in (select id from lc_auto_brand where status > -1)'] = null;
if($params['brand_id']){
$where['brand_id'] = $params['brand_id'];
} else {
$params['brand_id'] = '';
}
if (!strlen($params['status'])){
$params['status'] = $where['status'] = 1;
}
elseif ($params['status'] == -9){
# pass
}
else{
$where['status'] = $params['status'];
}
$count = $this->auto_series_model->count($where);
$rows = $this->auto_series_model->select($where, 'id desc', $page, $size);
$status_arr = $this->auto_series_model->get_status();
@@ -49,7 +38,7 @@ class Series extends HD_Controller{
//获取品牌map
$where_brand = array('status > -1' => null);
$map_brand = $this->auto_brand_model->map_brand($where_brand);
$map_brand = $this->auto_brand_model->map('id', 'name', $where_brand, 'id desc', 0 , 0, 'id, name');
if($rows){
foreach($rows as $key=>$val){
@@ -64,12 +53,9 @@ class Series extends HD_Controller{
];
}
}
$status_arr_list = $status_arr;
unset($status_arr_list[-1]);
$this->data['status_arr'] = $status_arr_list;
$this->data['lists'] = $list;
$this->data['params'] = $params;
$this->data['brandAry'] = $this->auto_brand_model->map_brand_list($map_brand);
$this->data['brandAry'] = $map_brand;
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
$this->data['_title'] = '车系列表';
$this->show_view('auto/series/lists', true);
@@ -81,22 +67,11 @@ class Series extends HD_Controller{
*/
public function json_lists(){
$brand_id = $this->input->get_post('brand_id');
$status = $this->input->get_post('status');
$page = $this->input->get_post('page');
$size = $this->input->get_post('size');
$where = array('status > -1' => null);
$brand_id && $where['brand_id'] = $brand_id;
if(strlen($status) > 0){
if (strpos($status,'>') !== false || strpos($status,'<') !== false || strpos($status,'in') !== false){
$where["status {$status}"] = null;
}
else{
$where['status'] = $status;
}
} else {
$where['status > -1'] = null;
}
$orderby = 'id desc';
$total = $this->auto_series_model->count($where);
@@ -128,8 +103,7 @@ class Series extends HD_Controller{
return $this->show_json(SYS_CODE_FAIL, '数据不存在!');
}
}
#$brands = $this->auto_brand_model->select([],'','','','id,name');
$brands = $this->auto_brand_model->map_brand_list($this->auto_brand_model->map_brand(array('status > -1' => null), false));
$brands = $this->auto_brand_model->select([],'','','','id,name');
$this->data['brands'] = $brands;
$this->data['info'] = $info;
$this->data['_title'] = $id ? '编辑车系' : '新增车系';
@@ -146,7 +120,7 @@ class Series extends HD_Controller{
if (!$name || empty($name)) {
return $this->show_json(SYS_CODE_FAIL, '车系名称不能为空');
}
$old = $this->auto_series_model->get(['name'=>$name, 'brand_id' => $brand_id,'status>'=>-1]);
$old = $this->auto_series_model->get(['name'=>$name,'status>'=>-1]);
if ($old) {
return $this->show_json(SYS_CODE_FAIL, '车系已经存在');
}
+1 -2
View File
@@ -17,7 +17,6 @@ class Fine extends HD_Controller{
public function lists(){
$params = $this->input->get();
$params['id'] && $_SESSION['srv_biz_id'] = $params['id'];
$re_biz = $this->biz_model->get(['id' => $_SESSION['srv_biz_id']]);
!strlen($params['status']) && $params['status'] = '';
$page = $params['page'] ? $params['page'] : 1;
$pagesize = 20;
@@ -54,7 +53,7 @@ class Fine extends HD_Controller{
$this->data['lists'] = $lists;
$this->data['params'] = $params;
$this->data['_title'] = $re_biz['biz_name'].'-精品配置';
$this->data['_title'] = '门店精品成本列表';
$this->data['pager'] = array('count' => ceil($count / $pagesize), 'curr' => $page, 'totle' => $count);
$this->show_view('biz/fine/lists', true);
}
+2 -4
View File
@@ -168,7 +168,7 @@ class Settle extends HD_Controller
$this->data['yearAry'] = $this->auto_business_model->year();
$this->data['monthAry'] = $this->auto_business_model->month();
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page,'totle'=>$total);
$this->data['_title'] = '门店结算管理';
$this->data['_title'] = '商家结算管理';
$view = $params['_biz_type']==1 ? 'biz/settle/lists_brand' : 'biz/settle/lists';
$this->show_view($view,true);
}
@@ -357,10 +357,8 @@ class Settle extends HD_Controller
}elseif(!isset($params['month'])){
$where['month'] = $params['month'] = intval(date('m',strtotime("-1 month")));
}
$re_biz = array();
if($params['id']){
$where['biz_id'] = $params['id'];
$re_biz = $this->biz_model->get(array('id' => $params['id']));
}
$page = $params['page'];
$page = !$page ? 1 : $page;
@@ -402,7 +400,7 @@ class Settle extends HD_Controller
$this->data['monthAry'] = $this->auto_business_model->month();
$this->data['type_arr'] = $this->biz_settle_static_model->other_price_type();
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page,'totle'=>$total);
$this->data['_title'] = $re_biz ? $re_biz['biz_name'].'-结算统计' : '门店结算统计';
$this->data['_title'] = '商家结算管理';
$view = $params['_biz_type']==1 ? 'biz/settle/lists_static_brand' : 'biz/settle/lists_static';
$this->show_view($view,true);
+5 -6
View File
@@ -1,6 +1,6 @@
<?php
/**
* Notes:店概况
* Notes:店概况
* Created on: 2022/1/7 14:52
* Created by: dengbw
*/
@@ -40,15 +40,14 @@ class Situation extends HD_Controller
public function get()
{
$biz_id = $this->input->get('id');
$re_biz = $this->mdBiz->get(['id' => $biz_id]);
$re_biz = $this->mdBiz->get(['id' => $biz_id, 'status' => 1]);
if (!$re_biz || empty($re_biz)) {
return $this->show_json(SYS_CODE_FAIL, '店不存在!');
return $this->show_json(SYS_CODE_FAIL, '店不存在!');
}
$base_info = [];
//店概况
//店概况
$re_base = $this->mdBizBase->get(['biz_id' => $biz_id]);
$fields = $this->mdBizBase->get_fields();
unset($fields['company']); # 230220close
foreach ($fields as $key => $value) {
$list = '';
if ($key == 'county_id' && $re_biz['county_id']) {//县区
@@ -99,7 +98,7 @@ class Situation extends HD_Controller
}
$showInfo['y_month_ary'] = $y_month_ary;
$this->data['showInfo'] = $showInfo;
$this->data['_title'] = $re_biz['biz_name']."-概况";
$this->data['_title'] = $re_biz['biz_name'];
return $this->show_view('biz/situation/get', true);
}
+37 -124
View File
@@ -6,11 +6,10 @@ class Srv extends HD_Controller{
public function __construct(){
parent::__construct();
$this->load->model('auto/auto_business_model');
$this->load->model('auto/auto_finance_model');
$this->load->model('biz/biz_model');
$this->load->model('biz/biz_settle_srv_model');
//$this->load->model('sys/sys_finance_model');
$this->load->model('sys/sys_supplier_model');
$this->load->model('sys/sys_finance_model');
}
public function index()
@@ -21,8 +20,6 @@ class Srv extends HD_Controller{
public function lists(){
$params = $this->input->get();
$params['id'] && $_SESSION['srv_biz_id'] = $params['id'];
$re_biz = $this->biz_model->get(['id' => $_SESSION['srv_biz_id']]);
!$params['insure_type'] && $params['insure_type'] = '';
!$params['type'] && $params['type'] = '';
!$params['title'] && $params['title'] = '';
!strlen($params['status']) && $params['status'] = '';
@@ -33,13 +30,12 @@ class Srv extends HD_Controller{
'biz_id' => $_SESSION['srv_biz_id']
];
strlen($params['status']) && $where['status'] = $params['status'];
$params['insure_type'] && $where["json_extract(jsondata, '$.type') = '{$params['insure_type']}'"] = null;
$params['type'] && $where['type'] = $params['type'];
$params['title'] && $where['title'] = $params['title'];
$count = $this->biz_settle_srv_model->count($where);
$lists = [];
if($count){
$rows = $this->biz_settle_srv_model->select($where, 'status desc, title, is_def desc, id desc', $page, $pagesize);
$rows = $this->biz_settle_srv_model->select($where, 'is_def desc,id desc', $page, $pagesize);
$biz_ids = array_unique(array_column($rows,'biz_id'));
$map_biz = [];
if(is_array($biz_ids)){
@@ -49,16 +45,13 @@ class Srv extends HD_Controller{
}
foreach ($rows as $val) {
$other_data = $this->biz_settle_srv_model->get_jsondata($val['type'],$val['jsondata']);
$s_effect_time = $val['s_effect_time'] == '0000-00-00' ? '长期' : $val['s_effect_time'];
$s_effect_time = $other_data['时间区间'] ? $other_data['时间区间'] : $s_effect_time;
unset($other_data['时间区间']);
$lists[] = [
'id' => $val['id'],
'biz_id' => $val['biz_id'],
'biz_name' => $map_biz[$val['biz_id']],
'title' => $val['title'],
'other_data' => $other_data,
's_effect_time' => $s_effect_time,
's_effect_time' =>$val['s_effect_time'],
'is_def' => $val['is_def'] ? '是':'否',
'type_cn' => $this->biz_settle_srv_model->get_type($val['type']),
'status_cn' => $this->biz_settle_srv_model->get_status($val['status']),
@@ -70,8 +63,7 @@ class Srv extends HD_Controller{
$this->data['lists'] = $lists;
$this->data['params'] = $params;
$this->data['typeAry'] = $this->biz_settle_srv_model->get_type();
$this->data['insure_typeAry'] = $this->biz_settle_srv_model->get_insure_type();
$this->data['_title'] = $re_biz['biz_name'].'-水平业务配置';
$this->data['_title'] = '门店列表';
$this->data['pager'] = array('count' => ceil($count / $pagesize), 'curr' => $page, 'totle' => $count);
$this->show_view('biz/srv/lists', true);
}
@@ -82,24 +74,18 @@ class Srv extends HD_Controller{
$type = $this->input->get('type');
!$type && $type = 1;
if(!$biz_id){
return $this->show_json(SYS_CODE_FAIL,'参数错误,请刷新列表再重新操作');
return $this->show_json(SYS_CODE_FAIL,'参数错误');
}
$row = $this->biz_settle_srv_model->get(['id'=>$id]);
$row && $type = $row['type'];
$supplier = $this->sys_supplier_model->select(['status' => 1, 'type' => $type], '', 0, 0, 'id,title');
//$finances_num = $this->sys_finance_model->get_nums();
$finances_num = $this->auto_finance_model->get_nums();
$finances = $this->sys_finance_model->select(['status' => 1], '', 0, 0, 'id,title');
$info = [
'biz_id' => $biz_id,
'type' => $type,
'is_def' => 0,
's_effect_time' => date('Y-m-d') ,
's_effect_time' => date('Y-m-d'),
'action' => 'biz/srv/add',
'is_tiexi' => 0,
'step' => 1, # 1仅用于新增时默认第一步,2为第二步
'jsondata' => ['price'=>300,'type'=>1, 'supplier_id'=>$supplier[0] ? $supplier[0]['id'] : 0,'finance_num'=>$finances_num ? $finances_num[0]: null]
'jsondata' => ['price'=>300,'type'=>1,'finance_id'=>$finances[0]['id'],'finance_num'=>12]
];
$view = 'biz/srv/get';
if($row){
$info['title'] = $row['title'];
$info['id'] = $row['id'];
@@ -110,79 +96,55 @@ class Srv extends HD_Controller{
$jsondata = json_decode($row['jsondata'],true);
$jsondata['s_time'] && $jsondata['s_time'] = date('Y-m-d H:i:s',$jsondata['s_time']);
$jsondata['e_time'] && $jsondata['e_time'] = date('Y-m-d H:i:s',$jsondata['e_time']);
$info['is_tiexi'] = $row['type'] == 3 && floatval($jsondata['rebate']) > 0 ? 0 : 1;
$jsondata['supplier_id'] = $jsondata['supplier_id'] ? intval($jsondata['supplier_id']) : 0;
$info['jsondata'] = $jsondata;
$view = 'biz/srv/edit';
}
$this->data['yearAry'] = $this->auto_business_model->year();
$this->data['monthAry'] = $this->auto_business_model->month();
$this->data['finances_num'] = $finances_num;
$this->data['supplier'] = $supplier;
$this->data['finances'] = $finances;
$this->data['finances_num'] = $this->sys_finance_model->get_nums();
$this->data['info'] = $info;
$this->data['typeAry'] = $this->biz_settle_srv_model->get_type();
$this->data['insure_typeAry'] = $this->biz_settle_srv_model->get_insure_type();
$this->show_view($view);
$this->show_view('biz/srv/get');
}
public function add(){
$info = $this->input->post('info');
if (!$info['jsondata']['supplier_id']){
return $this->show_json(SYS_CODE_FAIL,'参数错误,请先配置供应商');
}
if ($info['type'] == 2 && !$info['is_def'] && (!$info['s_time'] || !$info['e_time'])){
return $this->show_json(SYS_CODE_FAIL,'参数错误,请填写时间区间');
}
$data = [
'biz_id' => $info['biz_id'],
'c_time' => time(),
'type' => $info['type'],
'is_def' => $info['is_def'] ? 1 : 0,
];
$info['title'] && $data['title'] = $info['title'];
$info['s_effect_time'] && $data['s_effect_time'] = date('Y-m-d',strtotime($info['s_effect_time']));
$info['type'] == 3 && $info['is_def'] && $data['s_effect_time'] = '';
$jsondata = [];
$jsondata['supplier_id'] = $info['jsondata']['supplier_id'];
$supplier = $this->sys_supplier_model->get(['id'=>intval($jsondata['supplier_id'])],'title');
$jsondata['supplier_title'] = $supplier['title'];
$data['title'] = $jsondata['supplier_title'];
if($info['type']==1){
$jsondata['price'] = floatval($info['jsondata']['price']);
}elseif($info['type']==2){
if ($info['is_def'] == 1){
unset($jsondata['s_time']);
unset($jsondata['e_time']);
}
else{
$info['s_time'] && $jsondata['s_time'] = strtotime($info['s_time']);
$info['e_time'] && $jsondata['e_time'] = strtotime($info['e_time']);
}
$jsondata['rebate'] = floatval($info['jsondata']['rebate']);
$info['s_time'] && $jsondata['s_time'] = strtotime($info['s_time']);
$info['e_time'] && $jsondata['e_time'] = strtotime($info['e_time']);
$jsondata['rebate'] = $info['jsondata']['rebate'];
$jsondata['type'] = $info['jsondata']['type'];
}else{
$jsondata['rebate'] = $info['is_tiexi'] ? 0 : floatval($info['jsondata']['rebate']);
$jsondata['rebate'] = $info['jsondata']['rebate'];
$jsondata['finance_id'] = $info['jsondata']['finance_id'];
$jsondata['finance_num'] = $info['jsondata']['finance_num'];
$finance = $this->sys_finance_model->get(['id'=>intval($jsondata['finance_id'])],'title');
$jsondata['finance_title'] = $finance['title'];
$data['title'] = $jsondata['finance_title'];
}
//只能有一条默认
if($info['is_def']){
$where = [
'biz_id' => $info['biz_id'],
'title' => $data['title'],
'title' => $info['title'],
'type' => $info['type'],
'status' => 1,
'is_def' => 1
];
$update = ['is_def'=>0];
if($info['type']==2){
$where["json_extract(jsondata, '$.type') = '{$info['jsondata']['type']}'"] = null;
$update['status'] = 0;
}
if($info['type']==3){
$where["json_extract(jsondata, '$.finance_num') = '{$info['jsondata']['finance_num']}'"] = null;
}
$this->biz_settle_srv_model->update($update,$where);
$this->biz_settle_srv_model->update(['is_def'=>0],$where);
}
$data['jsondata'] = json_encode($jsondata,JSON_UNESCAPED_UNICODE);
$res = $this->biz_settle_srv_model->add($data);
@@ -197,63 +159,42 @@ class Srv extends HD_Controller{
$info = $this->input->post('info');
$row = $this->biz_settle_srv_model->get(['id'=>$info['id']]);
if(!$row){
return $this->show_json(SYS_CODE_FAIL,'参数错误,请刷新列表再重新操作');
}
if (!$info['jsondata']['supplier_id']){
return $this->show_json(SYS_CODE_FAIL,'参数错误,请先配置供应商');
}
if ($info['type'] == 2 && !$info['is_def'] && (!$info['s_time'] || !$info['e_time'])){
return $this->show_json(SYS_CODE_FAIL,'参数错误,请填写时间区间');
return $this->show_json(SYS_CODE_FAIL,'参数错误');
}
$jsondata = json_decode($row['jsondata'],true);
$data = [
'type' => $info['type'],
'is_def' => $info['is_def'] ? 1 : 0,
];
$info['title'] && $data['title'] = $info['title'];
$info['s_effect_time'] && $data['s_effect_time'] = date('Y-m-d',strtotime($info['s_effect_time']));
$info['type'] == 3 && $info['is_def'] && $data['s_effect_time'] = '';
$jsondata['supplier_id'] = $info['jsondata']['supplier_id'];
$supplier = $this->sys_supplier_model->get(['id'=>intval($jsondata['supplier_id'])],'title');
$jsondata['supplier_title'] = $supplier['title'];
$data['title'] = $jsondata['supplier_title'];
if($info['type']==1){
$jsondata['price'] = floatval($info['jsondata']['price']);
}elseif($info['type']==2){
if ($info['is_def'] == 1){
unset($jsondata['s_time']);
unset($jsondata['e_time']);
}
else{
$info['s_time'] && $jsondata['s_time'] = strtotime($info['s_time']);
$info['e_time'] && $jsondata['e_time'] = strtotime($info['e_time']);
}
$jsondata['rebate'] = floatval($info['jsondata']['rebate']);
$info['s_time'] && $jsondata['s_time'] = strtotime($info['s_time']);
$info['e_time'] && $jsondata['e_time'] = strtotime($info['e_time']);
$jsondata['rebate'] = $info['jsondata']['rebate'];
$jsondata['type'] = $info['jsondata']['type'];
}else{
$jsondata['rebate'] = $info['is_tiexi'] ? 0 : floatval($info['jsondata']['rebate']);
$jsondata['rebate'] = $info['jsondata']['rebate'];
$jsondata['finance_id'] = $info['jsondata']['finance_id'];
$jsondata['finance_num'] = $info['jsondata']['finance_num'];
$finance = $this->sys_finance_model->get(['id'=>intval($jsondata['finance_id'])],'title');
$jsondata['finance_title'] = $finance['title'];
$data['title'] = $jsondata['finance_title'];
}
//只能有一条默认
if($info['is_def'] && $row['status'] == 1){
if($info['is_def']){
$where = [
'biz_id' => $info['biz_id'],
'title' => $data['title'],
'title' => $info['title'],
'type' => $info['type'],
'status' => 1,
'is_def' => 1,
"id != {$info['id']}" => null,
];
$update = ['is_def'=>0];
if($info['type']==2){
$where["json_extract(jsondata, '$.type') = '{$info['jsondata']['type']}'"] = null;
$update['status'] = 0;
}
if($info['type']==3){
$where["json_extract(jsondata, '$.finance_num') = '{$info['jsondata']['finance_num']}'"] = null;
}
$this->biz_settle_srv_model->update($update,$where);
$this->biz_settle_srv_model->update(['is_def'=>0],$where);
}
$data['jsondata'] = json_encode($jsondata,JSON_UNESCAPED_UNICODE);
$res = $this->biz_settle_srv_model->update($data,['id'=>$info['id']]);
@@ -287,34 +228,6 @@ class Srv extends HD_Controller{
$this->show_json(0, '参数错误');
}
$where['id'] = $id;
# 参考edit处理:修改状态为正常 + 当前数据为默认
if ($status == 1){
$row = $this->biz_settle_srv_model->get(['id'=>$id]);
$jsondata = json_decode($row['jsondata'],true);
if($row['is_def']){
$where_u = [
'biz_id' => $row['biz_id'],
'title' => $row['title'],
'type' => $row['type'],
'status' => 1,
'is_def' => 1,
"id != {$id}" => null,
];
$update = ['is_def'=>0];
if($row['type']==2){
$where["json_extract(jsondata, '$.type') = '{$jsondata['type']}'"] = null;
$update['status'] = 0;
}
if($row['type']==3){
$where["json_extract(jsondata, '$.finance_num') = '{$jsondata['finance_num']}'"] = null;
}
$this->biz_settle_srv_model->update($update,$where_u);
}
if ($row['type']==2 && !$row['is_def'] && (!$jsondata['s_time'] || !$jsondata['e_time'])){
return $this->show_json(SYS_CODE_FAIL,'请先修改,填写时间区间后,再操作');
}
}
}
$data['status'] = $status;
$this->biz_settle_srv_model->update($data, $where);
@@ -333,7 +246,7 @@ class Srv extends HD_Controller{
'biz_id' => $biz_id,
'status' => 1
];
$rows = $this->biz_settle_srv_model->select_groupby('title', $where, 'is_def desc, id desc', 0, 0, 'id,title');
$rows = $this->biz_settle_srv_model->select_groupby('title', $where, '', 0, 20, 'id,title');
$this->data['lists'] = $rows;
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
+45 -96
View File
@@ -22,7 +22,6 @@ class Store extends HD_Controller
$this->load->model("biz/biz_trucking_model");
$this->load->model('app/licheb/app_licheb_users_model', 'mdLichebUsers');
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_brand_biz_model');
$this->load->model("biz/biz_brand_model", 'bizBrand');
$this->load->model('area_model');
@@ -104,17 +103,13 @@ class Store extends HD_Controller
$c_time[0] && $where["c_time >="] = strtotime($c_time[0] . ' 00:00:00');
$c_time[1] && $where["c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
$typeAry = $this->biz_model->type_ary();
$type_ids = implode(',',array_keys($typeAry));
$type_ids && $where["type in ($type_ids)"] = null;
$biz_lists = $this->biz_model->select($where, 'id desc', $page, $pagesize);
$count = $this->biz_model->count($where);
$bizlists = [];
$typeAry = $this->biz_model->type_ary();
foreach ($biz_lists as $v) {
# 230220close
/*$brand = $this->bizBrand->get(array('id' => $v['brand_id']), 'brand_name');
$v['brand_name'] = $brand['brand_name'];*/
$brand = $this->bizBrand->get(array('id' => $v['brand_id']), 'brand_name');
$v['brand_name'] = $brand['brand_name'];
$v['c_time'] = date('Y-m-d H:i:s', $v['c_time']);
$v['type_name'] = $typeAry[$v['type']];
$v['type'] = $v['type'];
@@ -129,14 +124,13 @@ class Store extends HD_Controller
$map_company = $this->company_model->map('id', 'short', $where, $orderby, 0, 0, $select);
//获取品牌
$lists = $this->bizBrand->select(array('status' => 1), '', '', '', 'brand_name,id');
$data = array();
# 230220close
/*$lists = $this->bizBrand->select(array('status' => 1), '', '', '', 'brand_name,id');
if ($lists) {
foreach ($lists as $value) {
$data[] = array('name' => $value['brand_name'], 'id' => $value['id']);
}
}*/
}
$qdjl_lists = [];
$res_u = $this->mdLichebUsers->select(array('group_id' => 4, 'status' => 1), 'id desc', 0, 0, 'id,uname as name,city_id');
if ($res_u) {
@@ -166,22 +160,20 @@ class Store extends HD_Controller
$id = intval($this->input->get('id'));
$this->data['provinces'] = $this->area_model->select(array(), '', 0, 0, 'distinct(province_id), province_name');
//获取品牌
$lists = $this->bizBrand->select(array('status' => 1), '', '', '', 'brand_name,id');
$data = array();
# 230220close
/*$lists = $this->bizBrand->select(array('status' => 1), '', '', '', 'brand_name,id');
if ($lists) {
foreach ($lists as $value) {
$data[] = array('name' => $value['brand_name'], 'id' => $value['id']);
}
}*/
}
$this->data['brand_list'] = $data;
if ($id) {
$biz = $this->biz_model->get(array('id' => $id, 'status>-1' => null));
if (!$biz || empty($biz)) {
return $this->show_json(SYS_CODE_FAIL, '店不存在!');
return $this->show_json(SYS_CODE_FAIL, '店不存在!');
}
$this->data['citys'] = $this->area_model->select(array('province_id' => $biz['province_id']), '', 0, 0, 'distinct(city_id), city_name');
@@ -211,9 +203,9 @@ class Store extends HD_Controller
}
}
$b_biz_rows = $this->auto_brand_biz_model->select(['biz_id'=>$biz['id']],'','','','brand_id');
if ($b_biz_rows) {
$biz['auto_brands'] = array_column($b_biz_rows,'brand_id');
if ($biz['jsondata']) {
$jsondata = json_decode($biz['jsondata'], true);
$biz['auto_brands'] = $jsondata ? $jsondata['auto_brands'] : array();
} else {
$biz['auto_brands'] = array();
}
@@ -248,7 +240,7 @@ class Store extends HD_Controller
$this->data['typeAry'] = $this->biz_model->type_ary();
$this->data['companyAry'] = $map_company;
$this->data['_title'] = $id ? '编辑门店-'.$biz['biz_name'] : '新增门店';
$this->data['_title'] = $id ? '编辑门店' : '新增门店';
$this->show_view('biz/store/edit', true);
}
@@ -258,7 +250,7 @@ class Store extends HD_Controller
$biz['status'] = 1;
$biz['biz_name'] = $this->input->post('biz_name', true);
if (!$biz['biz_name']) {
return $this->show_json(SYS_CODE_FAIL, '门店不能为空');
return $this->show_json(SYS_CODE_FAIL, '商家名称不能为空');
}
//中文转拼音
$pinyin = new PinYin();
@@ -266,10 +258,9 @@ class Store extends HD_Controller
$biz['firstchar'] = strtoupper($py);
$biz['brand_id'] = intval($this->input->post('brand_id', true));
# 230220close
/*if (!$biz['brand_id']) {
if (!$biz['brand_id']) {
return $this->show_json(SYS_CODE_FAIL, '请选择品牌');
}*/
}
$biz['province_id'] = $this->input->post('province_id', true);
$biz['city_id'] = intval($this->input->post('city_id', true));
@@ -288,14 +279,14 @@ class Store extends HD_Controller
}
$auto_brands = $this->input->post('auto_brands');
/*if ($auto_brands) {
if ($auto_brands) {
$jsondata = array('auto_brands' => $auto_brands);
$biz['jsondata'] = json_encode($jsondata, JSON_UNESCAPED_UNICODE);
}*/
}
//上传头像
$biz['headimg'] = $this->input->post('headimg');
//门店标签
//商家标签
$tag_more = $this->input->post('tag_more');
if (!$tag_more || !is_array($tag_more)) {
$tag_more = array();
@@ -306,7 +297,6 @@ class Store extends HD_Controller
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '添加失败');
}
$this->grant_auto_brands($auto_brands, $id, $biz['type']);
foreach ($tag_more as $key => $value) {
if ($value) {
@@ -323,42 +313,6 @@ class Store extends HD_Controller
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
}
private function grant_auto_brands($auto_brands, $id, $biz_type){
if($auto_brands){
$brand_ids = implode(',',$auto_brands);
$where = [
'biz_id' => $id,
"brand_id not in ({$brand_ids})" => null,
];
if($this->auto_brand_biz_model->count($where)){
$this->auto_brand_biz_model->delete($where);
}
$add_datas = [];
foreach ($auto_brands as $key => $val) {
$where = [
'biz_id' => $id,
'brand_id' => $val
];
if(!$this->auto_brand_biz_model->count($where)){
$add_datas[] = [
'biz_id' => $id,
'type' => $biz_type,
'brand_id' => $val,
'c_time' => time()
];
}
}
$add_datas && $this->auto_brand_biz_model->add_batch($add_datas);
}else{
$where = [
'biz_id' => $id,
];
if($this->auto_brand_biz_model->count($where)){
$this->auto_brand_biz_model->delete($where);
}
}
}
public function edit()
{
if (!$this->if_ajax) {
@@ -370,7 +324,7 @@ class Store extends HD_Controller
$biz['biz_name'] = $this->input->post('biz_name', true);
if (!$biz['biz_name']) {
return $this->show_json(SYS_CODE_FAIL, '门店不能为空');
return $this->show_json(SYS_CODE_FAIL, '商家名称不能为空');
}
//中文转拼音
$pinyin = new PinYin();
@@ -378,10 +332,9 @@ class Store extends HD_Controller
$biz['firstchar'] = strtoupper($py);
$biz['brand_id'] = intval($this->input->post('brand_id', true));
# 230220close
/*if (!$biz['brand_id']) {
if (!$biz['brand_id']) {
return $this->show_json(SYS_CODE_FAIL, '请选择品牌');
}*/
}
$biz['province_id'] = $this->input->post('province_id', true);
$biz['city_id'] = intval($this->input->post('city_id', true));
@@ -403,17 +356,16 @@ class Store extends HD_Controller
//授权品牌
$auto_brands = $this->input->post('auto_brands');
// $old = $this->biz_model->get(array('id' => $id));
// $jsondata = json_decode($old['jsondata'], true);
// if ($auto_brands) {
// $jsondata['auto_brands'] = $auto_brands;
// } else {
// unset($jsondata['auto_brands']);
// }
// $biz['jsondata'] = json_encode($jsondata, JSON_UNESCAPED_UNICODE);
$this->grant_auto_brands($auto_brands, $id, $biz['type']);
$old = $this->biz_model->get(array('id' => $id));
$jsondata = json_decode($old['jsondata'], true);
if ($auto_brands) {
$jsondata['auto_brands'] = $auto_brands;
} else {
unset($jsondata['auto_brands']);
}
$biz['jsondata'] = json_encode($jsondata, JSON_UNESCAPED_UNICODE);
//门店标签
//商家标签
$tag_more = $this->input->post('tag_more');
if (!$tag_more || !is_array($tag_more)) {
$tag_more = array();
@@ -449,7 +401,7 @@ class Store extends HD_Controller
}
$stauts = $this->input->post('status');
$where = array('id' => $id);
$this->biz_model->update(array('status' => $stauts), $where);
$this->bizBrand->update(array('status' => $stauts), $where);
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
}
@@ -527,7 +479,7 @@ class Store extends HD_Controller
}
$biz = $this->biz_model->get(array('id' => $biz_id));
if (!$biz || empty($biz)) {
return $this->show_json(SYS_CODE_FAIL, '门店不存在!');
return $this->show_json(SYS_CODE_FAIL, '商家不存在!');
}
$biz_name = $biz['biz_name'];
$where['biz_id'] = $biz_id;
@@ -627,7 +579,7 @@ class Store extends HD_Controller
return $this->show_json(0, "该用户已是门店管理员了");
}
$biz = $this->biz_model->get(array('id' => $biz_id));
//绑定门店
//绑定商家
$data['uid'] = $uid;
$data['brand_id'] = $biz['brand_id'];
$data['biz_id'] = $biz_id;
@@ -683,7 +635,7 @@ class Store extends HD_Controller
return $this->show_json(0, "该用户已是门店管理员了");
}
$biz = $this->biz_model->get(array('id' => $biz_id));
//绑定门店
//绑定商家
$data['uid'] = $uid;
$data['brand_id'] = $biz['brand_id'];
$data['biz_id'] = $biz_id;
@@ -767,7 +719,7 @@ class Store extends HD_Controller
$this->data['lists'] = $lists;
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page);
$this->data['_title'] = "{$biz_name}管理员列表";
$this->data['_title'] = "商家{$biz_name}管理员列表";
$this->show_view('biz/store/lists_manager', true);
}
@@ -793,7 +745,7 @@ class Store extends HD_Controller
}
if (!$biz_id) {
return $this->show_json(SYS_CODE_FAIL, '门店不存在!');
return $this->show_json(SYS_CODE_FAIL, '商家不存在!');
}
//店铺名称
@@ -851,12 +803,12 @@ class Store extends HD_Controller
// }
//店铺名称
$biz = $this->biz_model->get(array('id' => $biz_id));
//绑门店
//绑定商家
$data = array('uid' => $uid);
$data['biz_id'] = $biz_id;
$data['brand_id'] = $biz['brand_id'];
$this->$ub_model->add($data);
//生成门店关联数据
//生成商家关联数据
//座上宾
$this->load->model('app/zsb/app_zsb_user_model');
$this->load->model('user/user_model', 'user_model');
@@ -920,11 +872,11 @@ class Store extends HD_Controller
}
//店铺名称
$biz = $this->biz_model->get(array('id' => $biz_id));
//绑定门店
//绑定商家
$data = array('uid' => $uid);
$data['brand_id'] = $biz['brand_id'];
$this->$ub_model->update($data, array('id' => $id));
//生成门店关联数据
//生成商家关联数据
//座上宾
$res = $this->app_zsb_user_model->get(array('mobile' => $mobile));
if (!$res) {
@@ -945,7 +897,7 @@ class Store extends HD_Controller
}
/**
* 获取店可选列表
* 获取店可选列表
* @return bool
*/
function json_lists()
@@ -960,9 +912,6 @@ class Store extends HD_Controller
$type = $this->input->post('type');
$where = array();
$typeAry = $this->biz_model->type_ary();
$type_ids = implode(',',array_keys($typeAry));
$type_ids && $where["type in ($type_ids)"] = null;
if (strlen($status) > 0) {
$where['status'] = $status;
} else {
@@ -973,7 +922,7 @@ class Store extends HD_Controller
} else {
if ($_SESSION['admin_info']['biz_id']) {
$biz_ids = implode(',', $_SESSION['admin_info']['biz_id']);
$where["id in ({$biz_ids})"] = null;
$where["id in ($biz_ids)"] = null;
}
}
$province_id && $where['province_id'] = $province_id;
@@ -1001,7 +950,7 @@ class Store extends HD_Controller
}
/**
* 获取店信息
* 获取店信息
* @return bool
*/
function json_get()
@@ -1079,7 +1028,7 @@ class Store extends HD_Controller
$biz_id = $this->input->get('id');
$biz = $this->biz_model->get(array('id' => $biz_id));
if (!$biz) {
return $this->show_json(SYS_CODE_FAIL, '店不存在!');
return $this->show_json(SYS_CODE_FAIL, '店不存在!');
}
$base_info = $this->biz_info_model->get(['biz_id' => $biz_id]);
if (!$base_info) {
@@ -1127,7 +1076,7 @@ class Store extends HD_Controller
$this->data['type_arr'] = [1 => '扩展', 2 => '新建'];
$this->data['brands'] = $brands;
$this->data['info'] = $info;
$this->data['_title'] = $biz['biz_name'].'-编辑基本信息';
$this->data['_title'] = '编辑门店基本信息';
$this->show_view('biz/store/get_info', true);
}
-762
View File
@@ -1,762 +0,0 @@
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Clues extends HD_Controller
{
private $searchTpAry = array('mobile' => '客户手机号', 'name' => '客户姓名', 'void' => 'voId' );
private $bizs = array(
'350' => array(
'name' => '福建',
'list' => array(
'100958' => array(
'biz' => '福州齐安路',
'sa' => '吴少凌',
'mobile' => '13705028761'
),
'100966' => array(
'biz' => '泉州南环路',
'sa' => '傅玲玲',
'mobile' => '18519510420'
),
'101077' => array(
'biz' => '晋江豪信',
'sa' => '杨晓默',
'mobile' => '13799859101'
),
'100619' => array(
'biz' => '漳州狸车',
'sa' => '陈鸿喜',
'mobile' => '17750151079'
),
'100231' => array(
'biz' => '宁德辉科',
'sa' => '余玮',
'mobile' => '18659197547'
),
'100421' => array(
'biz' => '南平绿衡',
'sa' => '黄小英',
'mobile' => '15759156127'
),
'100179' => array(
'biz' => '莆田众诚',
'sa' => '林昉',
'mobile' => '18760550059'
),
'100690' => array(
'biz' => '龙岩胜华成',
'sa' => '郭晓芬',
'mobile' => '13600983210'
),
'101323' => array(
'biz' => '厦门机场店',
'sa' => '黄芹兰',
'mobile' => '19533428116'
),
'101207' => array(
'biz' => '厦门胜华嘉',
),
),
),
'440' => array(
'name' => '广东',
'list' => array(
'101071' => array(
'biz' => '江门朋赢',
'sa' => '余镜苗',
'mobile' => '18127125536'
),
'100647' => array(
'biz' => '珠海金浩',
'sa' => '占杨',
'mobile' => '18923392948'
),
'101252' => array(
'biz' => '佛山鑫明宇',
'sa' => '陈惠伦',
'mobile' => '13790011910'
),
'101289' => array(
'biz' => '深圳东浩',
'sa' => '余佳思', // 庄海山
'mobile' => '15889556579' //18123821527
),
'101204' => array(
'biz' => '东莞金屹',
'sa' => '林耿文',
'mobile' => '17620573545'
),
'101043' => array(
'biz' => '惠州新零致',
'sa' => '黄家婷',
'mobile' => '13719698587'
),
'100671' => array(
'biz' => '梅州利兴',
'sa' => '石绿绿',
'mobile' => '14718175658'
),
'101214' => array(
'biz' => '汕头骏华',
'sa' => '黎旭',
'mobile' => '15766613213'
),
'100917' => array(
'biz' => '揭阳顺鹏',
'sa' => '吴佳鸿',
'mobile' => '19902714365'
),
'101487' => array(
'biz' => '广州长瑞',
'sa' => '吴国腾',
'mobile' => '15323380908'
),
'100755' => array(
'biz' => '湛江大众城',
'sa' => '盘进雅',
'mobile' => '13822586605'
),
'100739' => array(
'biz' => '阳江辉能',
'sa' => '林良杰',
'mobile' => '18926369788'
),
'100309' => array(
'biz' => '海口福瑞源',
'sa' => '蔡智明',
'mobile' => '1888999038'
),
)
),
'450' => array(
'name' => '广西',
'list' => array(
'100813' => array(
'biz' => '桂林车管家',
'sa' => '覃智歆',
'mobile' => '13768710609'
),
'100681' => array(
'biz' => '柳州骏辉',
'sa' => '卢融溪',
'mobile' => '18677222303'
),
'100481' => array(
'biz' => '北海池骋',
'sa' => '凌国蔚',
'mobile' => '13317793668'
),
'100930' => array(
'biz' => '玉林通菲悦',
'sa' => '晏小凤',
'mobile' => '18277561170'
),
'101051' => array(
'biz' => '南宁众耀达',
'sa' => '赵一',
'mobile' => '19195771136'
),
'100232' => array(
'biz' => '南宁众合达',
'sa' => '莫玉福',
'mobile' => '19114702779'
),
'100531' => array(
'biz' => '钦州瑞昇',
'sa' => '黄语乔',
'mobile' => '19377780781'
),
'100716' => array(
'biz' => '贵港迅猫',
'sa' => '',
'mobile' => '19175951279'
),
)
),
'999' => array(
'name' => '异地',
'list' => array(
'100619' => array(
'biz' => '漳州狸车',
'sa' => '童勤梅',
'mobile' => '13023896026'
),
)
)
);
protected $log_dir;
public function __construct()
{
parent::__construct();
$this->load->model('hdcloud/hdcloud_clues_model', 'clues_model');
$this->load->model('hdcloud/hdcloud_clue_oplogs_model', 'clue_oplogs_model');
}
//首页信息
public function index()
{
$this->lists();
}
public function lists($where = array())
{
$statusAry = $this->clues_model->statusAry();
$params = $this->input->get();
$this->data['province_id'] = $province_id = intval($params['province_id']);
$this->data['biz_id'] = $biz_id = intval($params['biz_id']);
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
if ($params['title']) {
$where["{$params['search_tp']} like '%{$params['title']}%'"] = null;
}
//创建时间
if ($params['c_time']) {
$c_time = explode(' ~ ', $params['c_time']);
if ($c_time[0]) {
$where["c_time >="] = strtotime($c_time[0] . ' 00:00:00');
}
if ($c_time[1]) {
$where["c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
}
strlen($params['status']) && $where["status"] = $params['status'];
$province_id && $where['province_id'] = $province_id;
$biz_id && $where['biz_id'] = $biz_id;
$count = $this->clues_model->count($where);
$lists = [];
if ($count) {
$fileds = 'id,void, name,mobile,c_time,admin_id,status, province_id, biz_id';
$rows = $this->clues_model->select($where, 'id desc', $page, $size, $fileds);
foreach ($rows as $key => $val) {
$val['status_name'] = $statusAry[$val['status']]['name'];
if($val['province_id']){
$pro = $this->bizs[$val['province_id']];
$val['pro_name'] = $pro['name'];
$biz = $this->bizs[$val['province_id']]['list'][$val['biz_id']];
$val['biz_name'] = $biz['biz'];
}
$lists[] = $val;
}
}
$statusList = array();
foreach ($this->clues_model->statusAry() as $key => $value) {
$cate = array();
$where = array("status" => $key);
$count1 = $this->clues_model->count($where);
if ($value['list']) {
foreach ($value['list'] as $key2 => $value2) {
$where['status2'] = $key2;
$count2 = $this->clues_model->count($where);
$cate[] = array("id" => $key2, "name" => $value2, "count" => $count2);
}
}
$statusList[] = array("id" => $key, "name" => $value['name'], "cate" => $cate, "count" => $count1);
}
$this->data['lists'] = $lists;
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
$this->data['searchTpAry'] = $this->searchTpAry;
$this->data['params'] = $params;
$this->data['statusList'] = $statusList;
$this->data['maintainAry'] = $this->maintainAry;
$this->data['_title'] = '线索池列表';
return $this->show_view('hdcloud/clues/lists', true);
}
public function get()
{
$params = $this->input->get();
$id = intval($params['id']);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '非法参数!');
}
$statusList = $status2List = $logsList = [];
$re = $this->clues_model->get(array('id' => $id));
if (!$re || empty($re)) {
return $this->show_json(SYS_CODE_FAIL, '线索不存在!');
}
$dataInfo = $re;
foreach ($this->clues_model->statusAry() as $key => $value) {
$statusList[] = array("id" => $key, "name" => $value['name']);
}
if (strlen($re['status'])) {
foreach ($this->clues_model->statusAry($re['status'])['list'] as $key => $value) {
$status2List[] = array("id" => $key, "name" => $value);
}
}
$dataInfo['editType'] = 0;
$info_show['statusList'] = $statusList;
$info_show['status2List'] = $status2List;
$info_show['c_time'] = date('Y-m-d H:i', $re['c_time']);
$info_show['logsList'] = $logsList;
//意向信息
$jsondata = $re['jsondata'] ? json_decode($re['jsondata'], true) : [];
//获取城市区域
$dataInfo['city_id'] = $re['city_id'];
$dataInfo['county_id'] = $re['county_id'];
$this->data['info'] = $dataInfo;
$this->data['info_show'] = $info_show;
$this->data['_title'] = '线索详情';
return $this->show_view('hdcloud/clues/edit', true);
}
/**
* 新增
* @return bool
*/
function get_add()
{
$id = $this->input->get('id');
if ($id) {
$row = $this->clues_model->get(array('id' => $id));
if (!$row) {
return $this->show_json(SYS_CODE_FAIL, '记录不存在');
}
$info = array(
'name' => $row['name'],
'mobile' => $row['mobile'],
);
$title = "编辑线索";
$action = "edit";
} else {
$info = array(
'name' => '',
'mobile' => ''
);
$title = "新增线索";
$action = "add";
}
$this->data['info'] = $info;
$this->data['action'] = $action;
$this->data['_title'] = $title;
return $this->show_view('hdcloud/clues/get');
}
//添加单条数据
public function add()
{
$info = $this->input->post('info');
if (!$info['name']) {
return $this->show_json(SYS_CODE_FAIL, '请填写姓名');
}
if (!mobile_valid($info['mobile'])) {
return $this->show_json(SYS_CODE_FAIL, '手机号码不准确');
}
if ($this->clues_model->get(['mobile' => $info['mobile']])) {
return $this->show_json(SYS_CODE_FAIL, '手机号已存在');
}
$add = array(
'name' => $info['name'],
'mobile' => $info['mobile'],
'admin_id' => $this->uid,
'c_time' => time(),
);
$ret = $this->clues_model->add($add);
if (!$ret) {
debug_log("[error]# add fail; " . $this->clues_model->db->last_query(), __FUNCTION__, $this->log_dir);
return $this->show_json(SYS_CODE_FAIL, '添加失败');
}
return $this->show_json(SYS_CODE_SUCCESS, '添加成功');
}
public function add_log()
{
$params = $this->input->post();
if (!$params['id']) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
if (!$params['log']) {
return $this->show_json(SYS_CODE_FAIL, '请输入内容!');
}
$addData = array(
'clue_id' => $params['id'],
'uid' => $this->uid,
'uname' => $this->username,
'type' => intval($params['type']),
'log' => $params['log'],
'c_time' => time()
);
$id = $this->mdOplogs->add($addData);
if ($id) {
return $this->show_json(SYS_CODE_SUCCESS, '添加成功');
} else {
return $this->show_json(SYS_CODE_FAIL, '添加失败');
}
}
function add_excel()
{
require_once COMMPATH . '/third_party/PHPExcel/IOFactory.php';
$res = $this->upload();
if (!$res['code']) {
return $this->show_json(0, $res['message']);
}
$file = $res['path'];
if ($res['file_ext'] == '.xls') {
$reader = \PHPExcel_IOFactory::createReader('Excel5'); // 读取 excel 文档
} elseif ($res['file_ext'] == '.xlsx') {
$reader = \PHPExcel_IOFactory::createReader('Excel2007'); // 读取 excel 文档
} else {
return $this->show_json(SYS_CODE_FAIL, '文件无法识别');
}
$PHPExcel = $reader->load($file); // 文档名称
$objWorksheet = $PHPExcel->getActiveSheet();
$rowCnt = $objWorksheet->getHighestRow(); //获取总行数
if ($rowCnt > 800) {
@unlink($file);
return $this->show_json(0, '数据大于800请拆分多个表格导入');
}
$data = array();
for ($_row = 2; $_row <= $rowCnt; $_row++) { //读取内容
$data[] = array(
'name' => $objWorksheet->getCell('A' . $_row)->getValue(),
'mobile' => $objWorksheet->getCell('B' . $_row)->getValue(),
'cfrom' => $objWorksheet->getCell('C' . $_row)->getValue(),
);
}
$done = $this->add_batch($data);
@unlink($file);
$this->data['load_num'] = count($data);
$this->data['done'] = $done;
return $this->show_json(SYS_CODE_SUCCESS, "成功导入{$done}");
}
//编辑单条数据
public function edit()
{
$info = $this->input->post('info');
if (!$info) {
return $this->show_json(SYS_CODE_FAIL, '非法参数!');
}
$re = $this->clues_model->get(array('id' => $info['id']));
if (!$re || empty($re)) {
return $this->show_json(SYS_CODE_FAIL, '线索不存在!');
}
$msg = '修改成功';
$code = SYS_CODE_SUCCESS;
if ($info['editType'] == 1) {
$statusAry = $this->clues_model->statusAry();
if ($info['status'] == $re['status'] && $info['status2'] == $re['status2']) {
return $this->show_json(SYS_CODE_FAIL, '状态未修改!');
}
$status_name = $statusAry[$re['status']]['name'];
$status_name_up = $statusAry[$info['status']]['name'];
if ($info['status2']) {
$status_name .= '-' . $statusAry[$re['status']]['list'][$re['status2']];
$status_name_up .= '-' . $statusAry[$info['status']]['list'][$info['status2']];
}
$log = '更新状态(' . $status_name . ')为(' . $status_name_up . ')';
$ret = $this->clues_model->update(array('status' => $info['status'], 'status2' => $info['status2']), array('id' => $info['id']));
if (!$ret) {
$code = SYS_CODE_FAIL;
$msg = '修改状态失败';
} else {
$msg = '修改状态成功';
$this->addLog(array('clue_id' => $info['id'], 'type' => 0, 'log' => $log));
}
} else if ($info['editType'] == 2) {
if ($info['name'] == $re['name']) {
return $this->show_json(SYS_CODE_FAIL, '客户姓名未修改!');
}
$log = '更新客户姓名(' . $re['name'] . ')为(' . $info['name'] . ')';
$ret = $this->clues_model->update(array('name' => $info['name']), array('id' => $info['id']));
if (!$ret) {
$code = SYS_CODE_FAIL;
$msg = '修改用户信息失败';
} else {
$msg = '修改用户信息成功';
$this->addLog(array('clue_id' => $info['id'], 'type' => 0, 'log' => $log));
}
} else if ($info['editType'] == 3) {
$up_data = [
'city_id' => $info['city_id'],
'county_id' => $info['county_id']
];
$ret = $this->clues_model->update($up_data, array('id' => $info['id']));
if (!$ret) {
$code = SYS_CODE_FAIL;
$msg = '修改意向信息失败';
} else {
$msg = '修改意向信息成功';
$this->addLog(array('clue_id' => $info['id'], 'type' => 0, 'log' => '修改意向信息'));
}
}
return $this->show_json($code, $msg);
}
/**
* Notes:增加日志
* Created on: 2021/7/23 10:48
* Created by: dengbw
* @param array $ary
* @return mixed
*/
private function addLog($ary = array())
{
$id = 0;
if ($ary['log']) {
$addData = array(
'clue_id' => $ary['clue_id'],
'uid' => $this->uid,
'uname' => $this->username,
'type' => intval($ary['type']),
'log' => $ary['log'],
'c_time' => time()
);
$id = $this->mdOplogs->add($addData);
}
return $id;
}
//删除单条数据
public function del()
{
}
//批量操作(默认修改状态)
public function batch()
{
$id = intval($this->input->post('id'));
$status = $this->input->post('value');
if (!$id || !$status) {
$this->show_json(0, '参数错误');
}
$status_ary = explode('-', $status);
$up_data['status'] = intval($status_ary[0]);
$up_data['status2'] = intval($status_ary[1]);
$this->clues_model->update($up_data, ['id' => $id]);
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
//导出数据列表
public function export()
{
}
public function get_bizs(){
$province_id = $this->input->get('province_id');
if($province_id){
$bizs = $this->bizs[$province_id];
if($bizs){
foreach ($bizs['list'] as $k => $v){
$this->data[] = array(
'id' => $k,
'biz_name' => $v['biz'],
'sa' => $v['sa'],
'mobile' => $v['mobile'],
);
}
}
}
return $this->show_json(SYS_CODE_SUCCESS);
}
public function get_adviser()
{
$id = $this->input->get('id');
$this->data['id'] = $id;
return $this->show_view('hdcloud/clues/get_adviser');
}
public function edit_adviser(){
$id = $this->input->post('id');
$province_id = $this->input->post('province_id');
$biz_id = $this->input->post('biz_id');
$intent = $this->input->post('intent');
$remark = $this->input->post('remark');
$biz = $this->bizs[$province_id]['list'][$biz_id];
if (!$biz) {
return $this->show_json(SYS_CODE_FAIL, '请选择派单门店!');
}
$biz['id'] = $biz_id;
$clue_row = $this->clues_model->get(['id' => $id]);
if ($clue_row) {
// if($clue_row['status']){
// return $this->show_json(SYS_CODE_FAIL, '已派单!');
// }
$result = $this->push_neta($clue_row['name'], $clue_row['mobile'], $province_id, $biz, $intent, $remark);
$json = json_decode($result, true);
if($json['dataInfo'][0]['rtnMessage'] == '处理成功'){
$update = array(
'status' => 1,
'province_id' => $province_id,
'biz_id' => $biz_id,
'voId' => $json['dataInfo'][0]['voId'],
'intentModel' => $intent,
'jsondata' => json_encode($json),
);
$this->clues_model->update($update, ['id' => $id]);
return $this->show_json(SYS_CODE_SUCCESS, '派单成功!');
}
}
return $this->show_json(SYS_CODE_FAIL, '派单失败!');
}
/**
* 批量新增
* @param $lists
* @return int
*/
private function add_batch($lists)
{
$done = 0;
$adds = array();
$where = array('status' => 1);
$select = 'id, title';
$map_cfrom = $this->clues_cfrom_model->map('title', 'id', $where, '', 0, 0, $select);
$fails = array();
foreach ($lists as $k => $v) {
if (!$v['name']) {
$fails[] = array('data' => $v, 'msg' => 'name is null');
continue;
}
if (!mobile_valid($v['mobile'])) {
$fails[] = array('data' => $v, 'msg' => 'mobile valid fail');
continue;
}
if ($this->clues_model->get(['mobile' => $v['mobile']])) {
$fails[] = array('data' => $v, 'msg' => '手机号已存在');
continue;
}
$adds[] = array(
'name' => $v['name'],
'mobile' => $v['mobile'],
'c_time' => time(),
);
$done++;
}
$fails && debug_log('[warning]# fails=' . json_encode($fails), __FUNCTION__, $this->log_dir);
if ($adds) {
$ret = $this->clues_model->add_batch($adds);
if (!$ret) {
debug_log("[error] add_batch fail; " . $this->clues_model->db->last_query(), __FUNCTION__, $this->log_dir);
$done = 0;
}
}
return $done;
}
//获取线索来源
public function get_cfroms()
{
$id = $this->input->get('id');
$where = [
'status' => 1,
'pid' => 0
];
$id && $where['pid'] = $id;
if ($this->role == 37) {
!$id && $where['id'] = 36;
}
$rows = $this->clues_cfrom_model->select($where, 'id desc', '', '', 'id,title');
$this->data['data'] = $rows;
return $this->show_json(SYS_CODE_SUCCESS);
}
public function get_bizInfo()
{
$id = $this->input->get('id');
$info = $this->biz_model->get(['id' => $id], 'city_id,county_id,address');
$city = $this->area_model->get(['county_id' => $info['county_id']]);
$bizinfo['city_name'] = $city['city_name'];
$bizinfo['county_name'] = $city['county_name'];
$bizinfo['address'] = $info['address'];
$this->data['bizinfo'] = $bizinfo;
return $this->show_json(SYS_CODE_SUCCESS);
}
public function push_neta($customerName, $mobile, $province_id, $biz, $intentModel = '', $remark = '')
{
$voId = $province_id . date('mdHis') . sprintf("%06d", rand(1,999999));
if(in_array($biz['id'], array('100958', '100966', '101077')) || $province_id == '999'){
$cusSource3 = '023409'; //区域云店 福泉厦
}else{
$cusSource3 = '023305'; //本地通
}
$data[] = array(
'voId' => $voId,
'cusSource3' => $cusSource3,
'customerName' => $customerName,
'dealerCode' => $biz['id'],
'fromSystem' => "好店云",
'mobile' => $mobile,
'saMobile' => $biz['mobile'],
'cusType' => '30111001',
'remark' => $remark,
'intentModel' => $intentModel,
);
$data = json_encode($data, JSON_UNESCAPED_UNICODE);
//测试地址
//$url = 'https://salespp-sit.hozonauto.com/appservice/app/if/salesclue/createSalesclue';
$url = 'https://salesapp.hozonauto.com/appservice/app/if/salesclue/createSalesclue';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//https
if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($data)
)
);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $response;
}
}
+26 -175
View File
@@ -13,8 +13,8 @@ class Cost extends HD_Controller{
$this->load->model('app/licheb/app_licheb_users_model');
$this->load->model('app/liche/app_liche_orders_model');
$this->load->model('sys/sys_company_model');
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_series_model');
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_attr_model');
$this->load->library('receiver/orders_v2_entity');
}
@@ -29,7 +29,6 @@ class Cost extends HD_Controller{
//lc_items
//品牌 车系 车型
$where_items = $where_items_default = '1 = 1';
$where["item_id in (select id from lc_items where brand_id in (select id from lc_auto_brand where status > -1))"] = null;
if ($params['brand_id']) {//品牌
//$where["brand_id"] = $params['brand_id'];
$where_items = $where_items." and brand_id = ".$params['brand_id'];
@@ -47,7 +46,7 @@ class Cost extends HD_Controller{
$params['s_id'] = '';
}
if ($params['v_id']) {//车型
//$where["v_id"] = $params['v_id'];
$where["v_id"] = $params['v_id'];
$where_items = $where_items." and v_id = ".$params['v_id'];
} else {
$params['v_id'] = '';
@@ -55,7 +54,6 @@ class Cost extends HD_Controller{
if ($params['vin']) {
//$where["item_id in(select id from lc_items where vin like '%{$params['vin']}%')"] = null;
$params['vin'] = trim($params['vin']);
$where_items = $where_items." and vin like '%{$params['vin']}%'";
}
if ($where_items != $where_items_default){
@@ -108,14 +106,6 @@ class Cost extends HD_Controller{
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
//二手车
if (strlen($params['if_usedcar'])) {
$where_orders = $where_orders." and if_usedcar = {$params['if_usedcar']}";
}
else {
$params['if_usedcar'] = '';
}
if ($where_orders != $where_orders_default){
$where["o_id in (select id from lc_receiver_orders_v2 where $where_orders)"] = null;
}
@@ -130,16 +120,6 @@ class Cost extends HD_Controller{
$where["bill_time <="] = $bill_time[1] . ' 23:59:59';
}
}
else{
if (!$params['bt_init']){
$params['bt_init'] = 1;
$time1 = date("Y-m-d",mktime(0, 0 , 0,date("m"),1,date("Y")));
$time2 = date("Y-m-d",mktime(23,59,59,date("m"),date("t"),date("Y")));
$params['bill_time'] = $time1 . ' ~ ' . $time2;
$where["bill_time >="] = $time1 . ' 00:00:00';
$where["bill_time <="] = $time2 . ' 23:59:59';
}
}
return $where;
}
@@ -150,16 +130,8 @@ class Cost extends HD_Controller{
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$autoList = array();
$where = $this->get_where($params);
if ($params['brand_id']) {
$autoList[2] = $this->auto_series_model->select(array('status > -1' => null, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
if ($params['s_id']) {
$autoList[3] = $this->auto_attr_model->select(array('status > -1' => null, 'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
}
#$count = $this->items_cost_model->count($where);var_dump($count);
$aggs = $this->items_cost_model->get($where, 'count(*) as doc_count, sum(srv_price) as srv_price_sum, sum(car_price) as car_price_sum');
$count = $aggs['doc_count'];
$count = $this->items_cost_model->count($where);
$lists = [];
if($count){
$rows = $this->items_cost_model->select($where,'id desc',$page,$size);
@@ -178,7 +150,7 @@ class Cost extends HD_Controller{
$map_order = [];
if($o_ids){
$where = ["id in ($o_ids)" => null];
$fields = "id, if_usedcar, (select biz_name from lc_biz where id = lc_receiver_orders_v2.biz_id) as biz_name, (select lc_sys_city.name from lc_biz left join lc_sys_city on lc_biz.city_id = lc_sys_city.city_id where lc_biz.id = lc_receiver_orders_v2.biz_id) as city_name ";
$fields = "id, (select biz_name from lc_biz where id = lc_receiver_orders_v2.biz_id) as biz_name";
$order_rows = $this->receiver_orders_v2_model->select($where,'','','',$fields);
foreach ($order_rows as $item) {
$map_order[$item['id']] = $item;
@@ -206,12 +178,10 @@ class Cost extends HD_Controller{
$v_name = isset($attr[$item['v_id']]) ? $attr[$item['v_id']][0]['title'] : '';
$srv_json = json_decode($val['srv_json'],true);
$order = $map_order[$val['o_id']];
$if_usedcar_name = $order['if_usedcar'] ? ' (二手车)':'';
$lists[] = [
'id' => $val['id'],
'city_name' => $order['city_name'],
'biz_name' => $order['biz_name'],
'title' => "{$brand_name} {$series_name} {$v_name}{$if_usedcar_name}",
'title' => "{$brand_name} {$series_name} {$v_name}",
'vin' => $item['vin'],
'sale_price' => $val['sale_price'],
'buy_price' => $val['buy_price'],
@@ -221,8 +191,6 @@ class Cost extends HD_Controller{
'insurance_price' => $val['insurance_price'],
'fee_carno_price' => $val['fee_carno_price'],
'loan_price' => $val['loan_price'],
'loan_price0' => $val['loan_price0'], // 首付按揭
'loan_price_total' => $val['loan_price_total'],
'srv_price' => $val['srv_price'],
'car_price' => $val['car_price'],
'dl_car_price' => $val['dl_car_price'],
@@ -233,12 +201,9 @@ class Cost extends HD_Controller{
}
}
$show_info['bizTypeAry'] = $this->biz_model->type_ary();//门店类型
$show_info['usedcarAry'] = array(1=>'是', 0=>'否');
$this->data['show_info'] = $show_info;
#$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
$autoList[1] = $this->mdAutoBrand->map_brand(array('status > -1' => null), false);
$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
$this->data['lists'] = $lists;
$this->data['aggs'] = $aggs;
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
$this->data['autoList'] = $autoList;
$this->data['params'] = $params;
@@ -268,29 +233,18 @@ class Cost extends HD_Controller{
$srv_json = json_decode($row['srv_json'],true);
!$srv_json['commission_price'] && $srv_json['commission_price'] = 0;
!$srv_json['back_price'] && $srv_json['back_price'] = 0;
!$srv_json['loan_srv'] && $srv_json['loan_srv'] = 0;
!$srv_json['loan_fd'] && $srv_json['loan_fd'] = 0;
!$srv_json['loan_offset_price'] && $srv_json['loan_offset_price'] = 0;
!$srv_json['loan_subsidy_price'] && $srv_json['loan_subsidy_price'] = 0;
!$srv_json['loan_in_price'] && $srv_json['loan_in_price'] = 0;
!$srv_json['loan_out_price'] && $srv_json['loan_out_price'] = 0;
!$srv_json['loan_srv0'] && $srv_json['loan_srv0'] = 0; // 首付按揭 // 按揭手续费
!$srv_json['loan_fd0'] && $srv_json['loan_fd0'] = 0; // 返点
!$srv_json['loan_srv_price0'] && $srv_json['loan_srv_price0'] = 0; // 按揭佣金
!$srv_json['loan_offset_price0'] && $srv_json['loan_offset_price0'] = 0; // 解抵服务费
!$srv_json['loan_subsidy_price0'] && $srv_json['loan_subsidy_price0'] = 0; // 利息补贴收入 其他收入金额
!$srv_json['loan_in_price0'] && $srv_json['loan_in_price0'] = 0; // 其他收入金额
!$srv_json['loan_out_price0'] && $srv_json['loan_out_price0'] = 0; // 其他支出金额
!$srv_json['commission_price0'] && $srv_json['commission_price0'] = 0; // 按揭手续费收入
!$srv_json['other_out_price'] && $srv_json['other_out_price'] = 0;
!$srv_json['other_in_price'] && $srv_json['other_in_price'] = 0;
!$srv_json['ori_price'] && $srv_json['ori_price'] = 0;
$info = [
'bill_name' => $row['bill_name'],
'bill_time' => $row['bill_time'] !='0000-00-00 00:00:00' ? date('Y-m-d',strtotime($row['bill_time'])) : '',
'bill_time' => date('Y-m-d',strtotime($row['bill_time'])),
'price' => $row['price'],
'bill_price' => $row['bill_price'],
'if_usedcar_name' => $order_row['if_usedcar'] ? '是':'否',
'vin' => $item_row['vin'],
'ori_price' => $item_row['ori_price'],
'buy_price' => $item_row['buy_price'],
@@ -300,7 +254,6 @@ class Cost extends HD_Controller{
'biz_type' => $biz['type'],
'biz_type_name' => $this->biz_model->type_ary($biz['type']),
'biz_name' => $biz['biz_name'],
'biz_type_force' => $biz['type'] == 3 && in_array($biz['city_id'], $this->receiver_orders_v2_model->get_city_ids_force()) ? 1 : 0, # 23-04-03: 按揭, 350600 代理店按所在城市的品牌店处理; 23-04-04: 加多一个城市,宁德
'admin_name' => $admin['uname'],
'order_time' => date('Y-m-d',$order_row['c_time']),
'promotion_json' => $promotion_json,
@@ -311,7 +264,7 @@ class Cost extends HD_Controller{
];
$sum = $this->app_liche_orders_model->sum('total_price', ['o_id'=>$row['o_id'],'status'=>1,'pay_price <>'=>0]);
$info['pay_price'] = $sum['total_price'] ? $sum['total_price'] : 0;
$info['need_price'] = $this->orders_v2_entity->recevable_price($row['o_id'],$srv_price=true,$price_loan=false);
$info['need_price'] = $this->orders_v2_entity->recevable_price($row['o_id']);
//获取车信息
$brand = $this->auto_brand_model->get(['id' => $item_row['brand_id']], 'name');
$serie = $this->auto_series_model->get(['id' => $item_row['s_id']], 'name');
@@ -343,8 +296,6 @@ class Cost extends HD_Controller{
}
$data = [
'bill_name' => $post_data['bill_name'] ? $post_data['bill_name'] : '',
'bill_price' => $post_data['bill_price'] ? $post_data['bill_price'] : 0,
'price' => $post_data['price'] ? $post_data['price'] : 0,
'cost_json' => json_encode($post_data['cost_json'],JSON_UNESCAPED_UNICODE),
'promotion_json' => json_encode($post_data['promotion_json'],JSON_UNESCAPED_UNICODE),
@@ -427,6 +378,7 @@ class Cost extends HD_Controller{
return $this->show_json(0, '数据大于一万请拆分多个表格导入');
}
$s = $f = $ignore_vin = $ignore_item = $ignore_cost = 0;
@unlink($file);
for ($_row = 2; $_row <= $rowCnt; $_row++) { //读取内容
$vin = $objWorksheet->getCell('A' . $_row)->getValue(); //vin码
if (!$vin){
@@ -458,31 +410,6 @@ class Cost extends HD_Controller{
$factory_price = floatval($objWorksheet->getCell('G' . $_row)->getValue()); //厂家补贴
$other_in_price = floatval($objWorksheet->getCell('H' . $_row)->getValue()); //其他收入
$other_out_price = floatval($objWorksheet->getCell('I' . $_row)->getValue()); //其他支出
$business_product = $objWorksheet->getCell('J' . $_row)->getValue(); //保险公司
$business_price = floatval($objWorksheet->getCell('K' . $_row)->getValue()); //商业险金额
$business_fd = floatval($objWorksheet->getCell('L' . $_row)->getValue()); //商业险返点
$business_ins_price = floatval($objWorksheet->getCell('M' . $_row)->getValue()); //商业险佣金
$insurance_price = floatval($objWorksheet->getCell('N' . $_row)->getValue()); //交强险金额
$insurance_fd = floatval($objWorksheet->getCell('O' . $_row)->getValue()); //交强险返点
$insurance_ins_price = floatval($objWorksheet->getCell('P' . $_row)->getValue()); //交强险佣金
$accident_price = floatval($objWorksheet->getCell('Q' . $_row)->getValue()); //意外险金额
$accident_fd = floatval($objWorksheet->getCell('R' . $_row)->getValue()); //意外险返点
$accident_ins_price = floatval($objWorksheet->getCell('S' . $_row)->getValue()); //意外险佣金
$back_price = floatval($objWorksheet->getCell('T' . $_row)->getValue()); //客户退点金额
$fee_carno = floatval($objWorksheet->getCell('U' . $_row)->getValue()); //挂牌收入
$cb_fee_carno = floatval($objWorksheet->getCell('V' . $_row)->getValue()); //挂牌成本
$loan_product = $objWorksheet->getCell('W' . $_row)->getValue(); //按揭银行
$loan_num = floatval($objWorksheet->getCell('X' . $_row)->getValue()); //按揭期数
$loan_price = floatval($objWorksheet->getCell('Y' . $_row)->getValue()); //按揭金额
$loan_fd = floatval($objWorksheet->getCell('Z' . $_row)->getValue()); //按揭返点
$loan_srv_price = floatval($objWorksheet->getCell('AA' . $_row)->getValue()); //按揭佣金
$loan_srv = floatval($objWorksheet->getCell('AB' . $_row)->getValue()); //按揭手续费
$loan_offset_price = floatval($objWorksheet->getCell('AC' . $_row)->getValue()); //解抵服务费
$loan_subsidy_price = floatval($objWorksheet->getCell('AD' . $_row)->getValue()); //利息补贴收入
$loan_in_price = floatval($objWorksheet->getCell('AE' . $_row)->getValue()); //其他收入金额
$loan_out_price = floatval($objWorksheet->getCell('AF' . $_row)->getValue()); //其他支出金额
$commission_price = floatval($objWorksheet->getCell('AG' . $_row)->getValue()); //利息补贴收入
$res_item = 0;
if ($item['buy_price'] != $buy_price){
$res_item = $this->items_model->update(array('buy_price'=>$buy_price),['id'=>$item['id']]);
@@ -496,30 +423,6 @@ class Cost extends HD_Controller{
$srv_json['other_in_price'] = $other_in_price ? $other_in_price : 0;
$srv_json['other_out_price'] = $other_out_price ? $other_out_price : 0;
$srv_json['business_product'] = $business_product ? $business_product : '';
$srv_json['business_price'] = $business_price ? $business_price : 0;
$srv_json['business_fd'] = $business_fd ? $business_fd : 0;
$srv_json['business_ins_price'] = $business_ins_price ? $business_ins_price : 0;
$srv_json['insurance_price'] = $insurance_price ? $insurance_price : 0;
$srv_json['insurance_fd'] = $insurance_fd ? $insurance_fd : 0;
$srv_json['insurance_ins_price'] = $insurance_ins_price ? $insurance_ins_price : 0;
$srv_json['accident_price'] = $accident_price ? $accident_price : 0;
$srv_json['accident_fd'] = $accident_fd ? $accident_fd : 0;
$srv_json['accident_ins_price'] = $accident_ins_price ? $accident_ins_price : 0;
$srv_json['back_price'] = $back_price ? $back_price : 0;
$srv_json['fee_carno'] = $fee_carno ? $fee_carno : 0;
$srv_json['cb_fee_carno'] = $cb_fee_carno ? $cb_fee_carno : 0;
$srv_json['loan_product'] = $loan_product ? $loan_product : '';
$srv_json['loan_num'] = $loan_num ? $loan_num : 0;
$srv_json['loan_price'] = $loan_price ? $loan_price : 0;
$srv_json['loan_fd'] = $loan_fd ? $loan_fd : 0;
$srv_json['loan_srv_price'] = $loan_srv_price ? $loan_srv_price : 0;
$srv_json['loan_srv'] = $loan_srv ? $loan_srv : 0;
$srv_json['loan_offset_price'] = $loan_offset_price ? $loan_offset_price : 0;
$srv_json['loan_subsidy_price'] = $loan_subsidy_price ? $loan_subsidy_price : 0;
$srv_json['loan_in_price'] = $loan_in_price ? $loan_in_price : 0;
$srv_json['loan_out_price'] = $loan_out_price ? $loan_out_price : 0;
$srv_json['commission_price'] = $commission_price ? $commission_price : 0;
$data = [
'cost_json' => json_encode($cost_json,JSON_UNESCAPED_UNICODE),
@@ -534,7 +437,7 @@ class Cost extends HD_Controller{
}
$s++;
}
@unlink($file);
// @unlink($file);
$ignore = $ignore_vin + $ignore_item + $ignore_cost;
$msg = "导入完成,导入总条数为:" . $s;
$f && $msg = $msg . '; 失败条数:'. $f;
@@ -569,13 +472,11 @@ class Cost extends HD_Controller{
$map_order = [];
if($o_ids){
$where = ["id in ($o_ids)" => null];
$fields = "id, name, mobile, owner_name, owner_mobile, c_time, biz_id, admin_id,
payway, if(payway=1,'款','按揭') as payway_name,
if_usedcar, if(if_usedcar=1,'是','') as if_usedcar_name,
$fields = "id, name, mobile, owner_name, owner_mobile, c_time, biz_id, admin_id, payway,
if(payway=1,'款','全款') as payway_name,
(select type from lc_biz where id = lc_receiver_orders_v2.biz_id) as biz_type,
(select biz_name from lc_biz where id = lc_receiver_orders_v2.biz_id) as biz_name,
(select uname from lc_app_licheb_users where id = lc_receiver_orders_v2.admin_id) as admin_name,
(select lc_sys_city.name from lc_biz left join lc_sys_city on lc_biz.city_id = lc_sys_city.city_id where lc_biz.id = lc_receiver_orders_v2.biz_id) as city_name";
(select uname from lc_app_licheb_users where id = lc_receiver_orders_v2.admin_id) as admin_name";
$order_rows = $this->receiver_orders_v2_model->select($where,'','','',$fields);
foreach ($order_rows as $item) {
$map_order[$item['id']] = $item;
@@ -626,18 +527,16 @@ class Cost extends HD_Controller{
$sum = $this->app_liche_orders_model->sum('total_price', ['o_id'=>$val['o_id'],'status'=>1,'pay_price <>'=>0]);
$pay_price = $sum['total_price'] ? $sum['total_price'] : 0;
$need_price = $this->orders_v2_entity->recevable_price($val['o_id'],$srv_price=true,$price_loan=false);
$need_price = $this->orders_v2_entity->recevable_price($val['o_id']);
$data[] = [
'id' => $val['id'],
'city_name' => $order['city_name'],
'bill_name' => $val['bill_name'],
'biz_type' => $order['biz_type'],
'biz_type_name' => $this->biz_model->type_ary($order['biz_type']),
'vin' => $item['vin'],
'brand_name' => $brand_name,
'series_name' => "{$series_name} {$v_name}",
'if_usedcar_name' => $order['if_usedcar_name'],
'ori_price' => $srv_json['ori_price'],
'owner_name' => $order['owner_name']."({$order['owner_mobile']})",
@@ -676,9 +575,6 @@ class Cost extends HD_Controller{
"insurance_price" => $srv_json['insurance_price'],
"insurance_fd" => $srv_json['insurance_fd'],
"insurance_ins_price" => $srv_json['insurance_ins_price'],
"accident_price" => $srv_json['accident_price'],
"accident_fd" => $srv_json['accident_fd'],
"accident_ins_price" => $srv_json['accident_ins_price'],
"back_price" => $srv_json['back_price'],
"insurance_price_pure" => $val['insurance_price'],
@@ -688,36 +584,17 @@ class Cost extends HD_Controller{
'payway_name' => $order['payway_name'],
'loan_product0' => $srv_json['loan_product0'],
'loan_is_tiexi0' => $srv_json['loan_product0'] ? ($srv_json['loan_is_tiexi0'] ? '是' : '否') : '',
'loan_price0' => $srv_json['loan_price0'],
'loan_num0' => $srv_json['loan_num0'],
'loan_srv_price0' => $srv_json['loan_srv_price0'],
'loan_srv0' => $srv_json['loan_srv0'],
'loan_fd0' => $srv_json['loan_fd0'],
'loan_offset_price0' => $srv_json['loan_offset_price0'],
'loan_subsidy_price' => $srv_json['loan_subsidy_price0'],
'commission_price0' => $srv_json['commission_price0'],
'loan_in_price0' => $srv_json['loan_in_price0'],
'loan_out_price0' => $srv_json['loan_out_price0'],
'loan_price_pure0' => $val['loan_price0'],
'loan_product' => $srv_json['loan_product'],
'loan_is_tiexi' => $srv_json['loan_is_tiexi'] ? '是' : '否',
'loan_price' => $srv_json['loan_price'], // 按揭金额
'loan_num' => $srv_json['loan_num'], // 期数
'loan_srv_price' => $srv_json['loan_srv_price'], // 按揭佣金
'loan_srv' => $srv_json['loan_srv'], // 按揭手续费
'loan_fd' => $srv_json['loan_fd'], // 返点
'loan_offset_price' => $srv_json['loan_offset_price'], // 解抵服务费
'loan_subsidy_price' => $srv_json['loan_subsidy_price'], // 利息补贴收入
'commission_price' => $srv_json['commission_price'], // 按揭手续费收入
'loan_in_price' => $srv_json['loan_in_price'], // 其他收入金额
'loan_out_price' => $srv_json['loan_out_price'], // 其他支出金额
'loan_price' => $srv_json['loan_price'],
'loan_num' => $srv_json['loan_num'],
'loan_srv_price' => $srv_json['loan_srv_price'],
'loan_offset_price' => $srv_json['loan_offset_price'],
'loan_subsidy_price' => $srv_json['loan_subsidy_price'],
'commission_price' => $srv_json['commission_price'],
'loan_in_price' => $srv_json['loan_in_price'],
'loan_out_price' => $srv_json['loan_out_price'],
'loan_price_pure' => $val['loan_price'],
'loan_price_total' => $val['loan_price_total'],
'other_in_price' => $srv_json['other_in_price'],
'other_out_price' => $srv_json['other_out_price'],
'other_price' => $srv_json['other_in_price'] - $srv_json['other_out_price'],
@@ -739,23 +616,20 @@ class Cost extends HD_Controller{
'price_floor' => array('title'=>'销售政策', 'column_num'=>3),
'company_name' => array('title'=>'采购成本', 'column_num'=>5),
'promotion_sale_price' => array('title'=>'促销成本', 'column_num'=>3),
'business_product' => array('title'=>'保险收入', 'column_num'=>12),
'business_product' => array('title'=>'保险收入', 'column_num'=>9),
'fee_carno' => array('title'=>'挂牌收入', 'column_num'=>3),
'loan_product0' => array('title'=>'首付按揭付款业务', 'column_num'=>12), // 首付按揭-表头, 首付按揭不需要贴息选项,所以少一列
'loan_product' => array('title'=>'按揭付款业务', 'column_num'=>13),
'loan_product' => array('title'=>'分期付款业务', 'column_num'=>10),
'other_in_price' => array('title'=>'其他收入及成本', 'column_num'=>3),
'need_price' => array('title'=>'收款核对', 'column_num'=>3),
];
$indexs = [
'id' => '序号',
'city_name' => '城市',
'bill_name' => '开票方',
//'biz_type' => 'biz_type',
'biz_type_name' => '门店类型',
'vin' => '车架号',
'brand_name' => '品牌',
'series_name' => '车型',
'if_usedcar_name' => '二手车',
'ori_price' => '指导价',
'owner_name' => '车主', // 客户名称
@@ -794,9 +668,6 @@ class Cost extends HD_Controller{
"insurance_price" => "交强险金额",
"insurance_fd" => "交强险返点",
"insurance_ins_price" => "交强险佣金",
"accident_price" => "意外险金额",
"accident_fd" => "意外险返点",
"accident_ins_price" => "意外险佣金",
"back_price" => "客户退点金额", // 退客户保险退点
"insurance_price_pure" => "保险收入合计", // 保险净收入
@@ -806,28 +677,10 @@ class Cost extends HD_Controller{
'payway_name' => '购车方式',
// 首付按揭-字段
'loan_product0' => '按揭银行',
//'loan_is_tiexi0' => '贴息', // 首付按揭不需要贴息选项
'loan_num0' => '期数',
'loan_price0' => '按揭金额',
'loan_fd0' => '按揭返点',
'loan_srv_price0' => '按揭佣金',
'loan_srv0' => '按揭手续费',
'loan_offset_price0' => '解抵服务费',
'loan_subsidy_price0' => '利息补贴收入',
'commission_price0' => '按揭手续费收入',
'loan_in_price0' => '其他收入金额',
'loan_out_price0' => '其他支出金额',
'loan_price_pure0' => '按揭收入合计',
'loan_product' => '按揭银行',
'loan_is_tiexi' => '贴息',
'loan_num' => '期数',
'loan_price' => '按揭金额',
'loan_fd' => '按揭返点',
'loan_srv_price' => '按揭佣金',
'loan_srv' => '按揭手续费',
'loan_num' => '期数',
'loan_srv_price' => '按揭服务费',
'loan_offset_price' => '解抵服务费',
'loan_subsidy_price' => '利息补贴收入',
'commission_price' => '按揭手续费收入',
@@ -835,8 +688,6 @@ class Cost extends HD_Controller{
'loan_out_price' => '其他支出金额',
'loan_price_pure' => '按揭收入合计',
'loan_price_total' => '按揭收入总合计',
'other_in_price' => '其他收入',
'other_out_price' => '其他支出',
'other_price' => '其他合计',
+8 -50
View File
@@ -46,9 +46,7 @@ class Inventory extends HD_Controller
foreach ($res as $key => $value) {
$setValue = [];
$setValue['id'] = $value['id'];
$jsondata = $value['jsondata'] ? json_decode($value['jsondata'], true) : array();
$city_name = $jsondata['city_name'] ? '_'.$jsondata['city_name'] : '';
$setValue['title'] = '盘点时间_' . date('Y-m-d', $value['c_time']).$city_name;
$setValue['title'] = '盘点时间_' . date('Y-m-d', $value['c_time']);
$lists[] = $setValue;
}
}
@@ -85,7 +83,7 @@ class Inventory extends HD_Controller
$where['lc_items_inventory_log.addr_id'] = $params['addr_id'];
} else if ($params['city_id']) {
$where_biz['status'] = 1;
$params['city_id'] && $where_biz['city_id'] = $params['city_id'];
$where_biz['city_id'] = $params['city_id'];
$params['county_id'] && $where_biz['county_id'] = $params['county_id'];
$res_biz = $this->mdBiz->select($where_biz, 'id desc', 0, 0, 'id');
$res_addr = $this->addr_model->select($where_biz, 'id desc', 0, 0, 'id');
@@ -127,7 +125,7 @@ class Inventory extends HD_Controller
$autoList[2] = $this->mdAutoSeries->select(array('status' => 1, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
if ($params['s_id']) {
$autoList[3] = $this->mdAutoAttr->select(array('status' => 1,'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
$autoList[3] = $this->mdAutoAttr->select(array('status' => 1, 'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
}
$statusAry = $this->mdInventoryLog->statusAry();
$carImgAry = $this->mdInventoryLog->carImgAry();
@@ -192,7 +190,6 @@ class Inventory extends HD_Controller
$map_addr[$v['id']] = "{$v['city_name']} {$v['county_name']} 其它 {$v['title']}";
}
}
$row_id = 0;
foreach ($res as $key => $v) {
$address = $mileage = $itemStatus_name = $car_img = $where_logs = '';
if ($v['biz_id'] > 0) {
@@ -220,38 +217,20 @@ class Inventory extends HD_Controller
}
$jsondata = $v['jsondata'] ? json_decode($v['jsondata'], true) : [];
$jsondata['mileage'] && $mileage = $jsondata['mileage'];
/*if ($jsondata['car_img']) {
if ($jsondata['car_img']) {
foreach ($carImgAry as $key2 => $value2) {
$src = $jsondata['car_img'][$key2];
$src && $car_img[] = ['title' => $value2, 'src' => build_qiniu_image_url($src)];
}
}*/
$car_img_layer = $car_img = array();
if ($jsondata['car_img']) {
$car_img_layer['title'] = '';
$car_img_layer['id'] = $v['item_id'];
$car_img_layer['start'] = 0;
$data = array();
$pid = 0;
foreach ($carImgAry as $key2 => $value2) {
$src = $jsondata['car_img'][$key2];
$src && $src = build_qiniu_image_url($src);
$src && $data[] = ['alert' => $value2, 'pid' => $pid, 'src' => $src, 'thumb' => $src];
$src && $car_img[] = ['title' => $value2, 'pid' => $pid, 'src' => $src];
$src && $pid += 1;
}
$data && $car_img_layer['data'] = $data;
}
$in_time = $v['in_time'];
if ($where_logs) {
$re_logs = $this->mdItemsOplogs->max('com_time', $where_logs);
$re_logs['com_time'] && $in_time = $re_logs['com_time'];
}
$lists[] = ['row_id' => $row_id, 'item_id' => $v['item_id'], 'title' => $title, 'vin' => $v['vin'], 'address' => $address,
'itemStatus_name' => $itemStatus_name, 'status_name' => $statusAry[$v['status']], 'mileage' => $mileage, 'car_img' => $car_img, 'car_img_layer'=>$car_img_layer,
$lists[] = ['item_id' => $v['item_id'], 'title' => $title, 'vin' => $v['vin'], 'address' => $address,
'itemStatus_name' => $itemStatus_name, 'status_name' => $statusAry[$v['status']], 'mileage' => $mileage, 'car_img' => $car_img,
'in_time' => '0000-00-00 00:00:00' == $in_time ? '' : substr($in_time, 0, 10)];
$row_id += 1;
}
}
$this->data['pager'] = array('count' => ceil($total / $params['size']), 'curr' => $params['page'], 'totle' => $total);
@@ -269,33 +248,12 @@ class Inventory extends HD_Controller
public function add()
{
$params = $this->input->post();
$city_id = $params['city_id'] ? intval($params['city_id']) : 0;
$force = $params['force'] ? intval($params['force']) : 0;
# 如果当前(该月)有相同的盘点任务,再弹窗确认是否继续发起
$starttime = mktime(0,0,0, date('m'),1, date('Y'));
$endtime = mktime(23,59,59, date('m'),date('t'), date('Y'));
$where = array('city_id' => $city_id, "c_time >= {$starttime}" => null, "c_time <= {$endtime}" => null);
$res = $this->mdInventory->count($where);
if (!$force && $res){
return $this->show_json(-1, '本月已有此盘点,确认要重新发起吗?');
}
$c_time = time();
#$inve_id = $this->mdInventory->add(['c_time' => $c_time]);
$jsondata = json_encode(array('city_name'=> $params['city_id'] && $params['city_name'] ? $params['city_name'] : ''));
$inve_id = $this->mdInventory->add(['c_time' => $c_time, 'city_id' => $city_id, 'jsondata' => $jsondata]);
$inve_id = $this->mdInventory->add(['c_time' => $c_time]);
if (!$inve_id) {
return $this->show_json(SYS_CODE_FAIL, '发起盘点失败');
}
$where = array('status>' => 0, 'bill_time' => '0000-00-00 00:00:00');
if ($city_id){
$where_biz['city_id'] = $params['city_id'];
$res_biz = $this->mdBiz->select($where_biz, 'id desc', 0, 0, 'id');
$res_addr = $this->addr_model->select($where_biz, 'id desc', 0, 0, 'id');
$str_ids = $res_biz ? implode(',', array_column($res_biz, 'id')) : '-2';
$str_addr_ids = $res_addr ? implode(',', array_column($res_addr, 'id')) : '-2';
$where["(biz_id in ({$str_ids}) or addr_id in ({$str_addr_ids}))"] = null;
}
$res = $this->mdItems->select($where, 'id asc', 0, 0, 'id,biz_id,addr_id');
$addDate = [];
foreach ($res as $key => $value) {
@@ -327,4 +285,4 @@ class Inventory extends HD_Controller
public function export()
{
}
}
}
+5 -7
View File
@@ -37,7 +37,6 @@ class Stock extends HD_Controller
} else {
$order = "id desc";
}
$where['brand_id in (select id from lc_auto_brand where status > -1)'] = null;
if ($params['brand_id']) {
$where['brand_id'] = $params['brand_id'];
}
@@ -70,8 +69,7 @@ class Stock extends HD_Controller
$time[0] && $where["log_date>="] = $time[0];
$time[1] && $where["log_date<="] = $time[1];
}
//$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), "id desc", 0, 0, 'id,name');
$autoList[1] = $this->mdAutoBrand->map_brand(array('status > -1' => null), false);
$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), "id desc", 0, 0, 'id,name');
if ($params['brand_id']) {
$autoList[2] = $this->mdAutoSeries->select(array('status' => 1, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
@@ -194,7 +192,7 @@ class Stock extends HD_Controller
foreach ($dateMonths as $v2) {
$where2 = $where3 = ['biz_id' => $v['id'], 'log_date>=' => $v2['firstDay'], 'log_date<=' => $v2['lastDay']];
$res_log = $this->mdStockLog->select_groupby('s_id', $where2, 'id desc', 0, 0, 'brand_id,s_id');
$data_month = '';
$data = '';
if ($res_log) {
$str_ids = implode(',', array_unique(array_column($res_log, 'brand_id')));
$map_brand = $this->mdAutoBrand->map('id', 'name', ["id in ({$str_ids})" => null]);
@@ -206,13 +204,13 @@ class Stock extends HD_Controller
, "count(id) as total");
$count = $res_log2 ? $res_log2[0]['total'] : 0;
$title = "{$map_brand[$v3['brand_id']]}-{$map_sery[$v3['s_id']]} {$count}";
$data_month = $data_month ? $data_month . '' . $title : $title;
$data = $data ? $data . '' . $title : $title;
}
}
if ($params['export'] == 1) {
$months[$v2['name']] = $data_month;
$months[$v2['name']] = $data;
} else {
$months[] = ['name' => $v2['name'], 'data' => $data_month];
$months[] = ['name' => $v2['name'], 'data' => $data];
}
}
if ($params['export'] == 1) {
+3 -46
View File
@@ -39,8 +39,7 @@ class Transfer extends HD_Controller
$params['page'] = $params['page'] ? intval($params['page']) : 1;
$params['size'] = $params['size'] ? intval($params['size']) : 20;
$re = $this->dataSelect($params);
//$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
$autoList[1] = $this->mdAutoBrand->map_brand(array('status > -1' => null), false);
$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
if ($params['brand_id']) {
$autoList[2] = $this->mdAutoSeries->select(array('status' => 1, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
@@ -157,7 +156,6 @@ class Transfer extends HD_Controller
$c_time[0] && $where["c_time >="] = strtotime($c_time[0] . ' 00:00:00');
$c_time[1] && $where["c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
$where['item_id in (select id from lc_items where brand_id in (select id from lc_auto_brand where status > -1))'] = null;
$total = $this->mdTransfer->count($where);
$lists = array();
if ($total) {
@@ -245,7 +243,6 @@ class Transfer extends HD_Controller
$trailer_fees .= '-' . $re_biz['biz_name'];
}
$setValue['fees'] = $trailer_fees;
$setValue['settlement'] = in_array('settlement', array_keys($jsondata)) ? $jsondata['settlement'] : '';
$setValue['reason'] = $jsondata['reason'] ? $jsondata['reason'] : '';
}
$lists[] = $setValue;
@@ -366,7 +363,6 @@ class Transfer extends HD_Controller
}
$abnormal['imgs'] = $imgs;
}
$jsondata['settlement'] && $fields[] = ['title' => '调拨结算价', 'value' => $jsondata['settlement']]; # 23.04.20 新增一个字段 调拨结算价
$jsondata['reason'] && $fields[] = ['title' => '调拨理由', 'value' => $jsondata['reason']];
if ($re['trailer_fees']) {
$trailer_fees = $re['trailer_fees'] ? $re['trailer_fees'] . '元' : '';
@@ -397,7 +393,7 @@ class Transfer extends HD_Controller
$view = 'items/transfer/get_add';
$showInfo = ['vin' => $vin, 'items_info' => ['id' => 0, 'title' => '', 'vin' => '', 'cor' => '', 'address' => ''],
'feesTypeAry' => $this->mdTransfer->feesTypeAry(), 'feesBizList' => [], 'uidTypeAry' => $this->mdTransfer->uidTypeAry()];
$info = ['id' => 0, 'status' => -1, 'item_id' => 0, 'arti_id' => [], 'out_bak' => 0, 'in_bak' => 0, 'settlement' => 0, 'trailer_fees' => '', 'fees_city' => '', 'trailer_fees' => 0,
$info = ['id' => 0, 'status' => -1, 'item_id' => 0, 'arti_id' => [], 'out_bak' => 0, 'in_bak' => 0, 'trailer_fees' => '', 'fees_city' => '', 'trailer_fees' => 0,
'fees_type' => 1, 'fees_biz_id' => '', 'transport' => ['name' => '', 'mobile' => '', 'cardid' => ''], 'reason' => ''];
$this->data['transports'] = $this->transports(['type' => 'get']);//运输人员
$this->data['showInfo'] = $showInfo;
@@ -429,7 +425,6 @@ class Transfer extends HD_Controller
$info = ['id' => $id, 'status' => $re['status'], 'out_bak' => 0, 'in_bak' => 0
, 'item_id' => $item_id
, 'arti_id' => $re['arti_id'] ? explode(',', $re['arti_id']) : []
, 'settlement' => in_array('settlement', array_keys($jsondata)) ? $jsondata['settlement'] : ''
, 'trailer_fees' => $re['trailer_fees'] ? $re['trailer_fees'] : ''
, 'fees_city' => $re['fees_city'] ? $re['fees_city'] : ''
, 'fees_type' => $re['fees_type']
@@ -524,24 +519,6 @@ class Transfer extends HD_Controller
return $this->show_json(SYS_CODE_SUCCESS, '短信提醒成功');
}
/**
* 货物物流信息测试
* @return array
*/
public function get_aliwuliu(){
$no = $this->input->get('no');
/*if (!$no) {
return $this->show_json(SYS_CODE_FAIL, '快递单号不能为空【顺丰和丰网请输入单号 : 收件人或寄件人手机号后四位。例如:123456789:1234】');
}*/
$type = $this->input->get('type');
$this->load->library('AliWuliu');
$res = $this->aliwuliu->kdi($no, $type, $debug=false);
print(json_encode($res));
#var_dump($res);var_dump($res['status']);var_dump($res['msg']);
#var_dump($res['result']['number']);var_dump($res['result']['type']);var_dump($res['result']['deliverystatus']);var_dump($res['result']['issign']);var_dump($res['result']['expName']);
}
/**
* 新增/修改调拨
* @return bool
@@ -550,22 +527,15 @@ class Transfer extends HD_Controller
{
$info = $this->input->post('info');
$takeCar = $this->input->post('takeCar');
$settlement = $info['settlement'];
if ($settlement == '' && $settlement != '0'){
return $this->show_json(SYS_CODE_FAIL, '调拨结算价不能为空!');
}
$settlement = intval($settlement);
$trailer_fees = intval($info['trailer_fees']);
$remind = $info['remind'];//1提交
$db_status = -1;
$db_status_not2_flag = true;
$jsondata_old = array();
if ($info['id']) {//修改调拨
$re_t = $this->mdTransfer->get(array('id' => $info['id']));
if (!$re_t || empty($re_t)) {
return $this->show_json(SYS_CODE_FAIL, '车辆调拨不存在!');
}
$jsondata_old = $re_t['jsondata'] ? json_decode($re_t['jsondata'], true) : [];
$db_status = $re_t['status'];
if ($db_status == 2) {
$db_status_not2_flag = false; // 2022.12.20 “确认接车”状态的数据,修改提交后:不改状态,不发短信
@@ -623,18 +593,7 @@ class Transfer extends HD_Controller
if ($re && $re['id'] != $info['id']) {
return $this->show_json(SYS_CODE_FAIL, '操作失败,车辆正在调拨中...');
}
$jsondata['settlement'] = $settlement;
if ($info['id']){
# 23.04.20修复:修改时丢失除"name", "cardid", "mobile"数据情况
$transport = $jsondata_old['transport'] ? $jsondata_old['transport'] : [];
$transport['name'] = $info['transport']['name'];
$transport['cardid'] = $info['transport']['cardid'];
$transport['mobile'] = $info['transport']['mobile'];
$jsondata['transport'] = $transport;
}
else{
$jsondata['transport'] = $info['transport'];//运输人员
}
$jsondata['transport'] = $info['transport'];//运输人员
$jsondata['reason'] = $info['reason'];//调拨理由
$c_time = time();
if ($takeCar[3]['type'] == 2) {//接收信息员
@@ -1042,7 +1001,6 @@ class Transfer extends HD_Controller
$temp['in_addr_name'] = $value['in_addr_name'];
$temp['abnormal'] = $value['abnormal'];
$temp['status_name'] = $value['status_name'];
$temp['settlement'] = $value['settlement'];
$temp['trailer_fees'] = $value['trailer_fees'];
$temp['fees'] = $value['fees'];
$temp['reason'] = $value['reason'];
@@ -1060,7 +1018,6 @@ class Transfer extends HD_Controller
'in_addr_name' => '存放地址',
"abnormal" => "异常",
"status_name" => "状态",
"settlement" => "调拨结算价",
"trailer_fees" => "运输费用",
"fees" => "费用承担方",
"reason" => "调拔理由",
+9 -455
View File
@@ -32,16 +32,8 @@ class Goods extends HD_Controller
public function lists()
{
$params = $this->input->get();
$params['page'] = $params['page'] ? intval($params['page']) : 1;
$params['size'] = $params['size'] ? intval($params['size']) : 20;
$this->data = $this->dataSelect($params);
$view = $this->data['view'];
return $this->show_view($view, true);
}
private function dataSelect($params){
$page = $params['page'];
$size = $params['size'];
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$where = array('id<>1' => null, 'status>' => 0);
$where_1 = $where_2 = $where_3 = array('m.id<>1' => null);
$autoList = array();
@@ -66,24 +58,14 @@ class Goods extends HD_Controller
$where_1['brand_id'] = $params['brand_id'];
$where_2['m.brand_id'] = $params['brand_id'];
$where_3['m.brand_id'] = $params['brand_id'];
if (1 == $params['sold']){
$autoList[2] = $this->mdAutoSeries->select(array('status > -1' => null, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
else{
$autoList[2] = $this->mdAutoSeries->select(array('status' => 1, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
$autoList[2] = $this->mdAutoSeries->select(array('status' => 1, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
if ($params['s_id']) {
$where['s_id'] = $params['s_id'];
$where_1['s_id'] = $params['s_id'];
$where_2['m.s_id'] = $params['s_id'];
$where_3['m.s_id'] = $params['s_id'];
if (1 == $params['sold']){
$autoList[3] = $this->mdAutoAttr->select(array('status > -1' => null, 'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
}
else{
$autoList[3] = $this->mdAutoAttr->select(array('status' => 1, 'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
}
$autoList[3] = $this->mdAutoAttr->select(array('status' => 1, 'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
}
if ($params['v_id']) {
$where['v_id'] = $params['v_id'];
@@ -166,10 +148,6 @@ class Goods extends HD_Controller
$where_3["m.bill_time<>'0000-00-00 00:00:00'"] = null;
$view = '/items/goods/lists_sold';
$_title = '已售车辆';
$where['brand_id in (select id from lc_auto_brand where status >- 1)'] = null;
$where_1['brand_id in (select id from lc_auto_brand where status >- 1)'] = null;
$where_2['m.brand_id in (select id from lc_auto_brand where status >- 1)'] = null;
$where_3['m.brand_id in (select id from lc_auto_brand where status >- 1)'] = null;
} else {
$where["bill_time"] = '0000-00-00 00:00:00';
$where_1["m.bill_time"] = '0000-00-00 00:00:00';
@@ -177,10 +155,6 @@ class Goods extends HD_Controller
$where_3["m.bill_time"] = '0000-00-00 00:00:00';
$view = '/items/goods/lists';
$_title = '库存车辆';
$where['brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$where_1['brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$where_2['m.brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$where_3['m.brand_id in (select id from lc_auto_brand where status = 1)'] = null;
}
if ($params['vin']) {
@@ -249,14 +223,7 @@ class Goods extends HD_Controller
$params['sort'] = $sort;
}
#$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
if (1 == $params['sold']){
$autoList[1] = $this->mdAutoBrand->map_brand(array('status > -1' => null), false);
}
else{
$autoList[1] = $this->mdAutoBrand->map_brand(array('status = 1' => null), false);
}
$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
switch ($search_type) {
case 1://精品筛选
$count = $this->mdItems->count_fine($where_1);
@@ -321,8 +288,7 @@ class Goods extends HD_Controller
$map_item_fine[$v['item_id']][] = $v['type_id'];
}
//已售商品订单信息
//$this->load->model('receiver/order/receiver_orders_model', 'orders_model');
$this->load->model('receiver/order/receiver_orders_v2_model', 'orders_model');
$this->load->model('receiver/order/receiver_orders_model', 'orders_model');
$str_ids = implode(',', $items_info['ids']);
$where = array("item_id in ({$str_ids})" => null);
$rows_order = $this->orders_model->select($where, 'id desc', 0, 0, 'item_id, admin_id, name, mobile');
@@ -421,8 +387,7 @@ class Goods extends HD_Controller
$this->data['autoList'] = $autoList;
$this->data['statusAry'] = $statusAry;
$this->data['_title'] = $_title;
$this->data['view'] = $view;
return $this->data;
return $this->show_view($view, true);
}
public function get()
@@ -432,7 +397,6 @@ class Goods extends HD_Controller
$info['company_id'] = $info['brand_id'] = $info['s_id'] = $info['v_id'] = $info['cor_id'] = $info['incor_id'] = 0;
$info['if_pack'] = $info['city_id'] = $info['county_id'] = $info['biz_id'] = $info['addr_id'] = '';
$info['status'] = 1;
$info['option_ids'] = [];
$autoList[2] = $autoList[3] = $autoList[4] = $autoList[5] = array();
$comList = $this->sys_company_model->select(['status' => 1], '', '', '', 'id,short');
if ($id > 0) {
@@ -441,7 +405,6 @@ class Goods extends HD_Controller
return $this->show_json(SYS_CODE_FAIL, '商品不存在!');
}
$info = $re;
$info['option_ids'] = $info['option_ids'] ? json_decode($info['option_ids'],true) : [];
$info['pro_time'] = $re['pro_time'] != '0000-00-00 00:00:00' ? $re['pro_time'] : '';
$info['in_time'] = $re['in_time'] != '0000-00-00 00:00:00' ? $re['in_time'] : '';
$info['out_time'] = $re['out_time'] != '0000-00-00 00:00:00' ? $re['out_time'] : '';
@@ -482,14 +445,9 @@ class Goods extends HD_Controller
$info['in_time'] = date('Y-m-d H:i:s');
$_title = '新增商品';
$edit_url = '/items/goods/goods/add';
$where_auto = ['status>' => -1];
}
if ($this->input->get('sold') != 1){
$where_auto = ['status' => 1];
}
#$autoList[1] = $this->mdAutoBrand->select($where_auto, 'id desc', 0, 0, 'id,name');
$autoList[1] = $this->mdAutoBrand->map_brand($where_auto, false);
$autoList[1] = $this->mdAutoBrand->select($where_auto, 'id desc', 0, 0, 'id,name');
$showInfo['autoList'] = $autoList;
$showInfo['comList'] = $comList;
$showInfo['statusAry'] = $this->statusAry;
@@ -527,7 +485,6 @@ class Goods extends HD_Controller
$info['dis_price'] = $re['dis_price'] . '元';
$info['bill_price'] = $re['bill_price'] . '元';
$info['buy_price'] = $re['buy_price'] . '元';
$info['estimated_rebate'] = $re['estimated_rebate'] . '元';
$info['discount'] = $re['discount'] ? $re['discount'] . '%' : '100%';
$info['pro_time'] = $re['pro_time'] != '0000-00-00 00:00:00' ? $re['pro_time'] : '';
$info['in_time'] = $re['in_time'] != '0000-00-00 00:00:00' ? $re['in_time'] : '';
@@ -580,8 +537,6 @@ class Goods extends HD_Controller
$msg = '请选择入库时间';
} else if (!$info['company_id']) {
$msg = '请选择公司归属';
//} else if (!$info['buy_price'] || $info['buy_price'] <= 0.0) {
// $msg = '请输入采购成本'; // 23.06.01 采购成本再改成 非必填
} else {
$code = SYS_CODE_SUCCESS;
}
@@ -625,7 +580,6 @@ class Goods extends HD_Controller
$addData['bill_num'] = $info['bill_num'] ? $info['bill_num'] : '';
$addData['bill_price'] = $info['bill_price'] ? $info['bill_price'] : 0.00;
$addData['buy_price'] = $info['buy_price'] ? $info['buy_price'] : 0.00;
$addData['estimated_rebate'] = $info['estimated_rebate'] ? $info['estimated_rebate'] : 0.00;
$addData['pro_time'] = $info['pro_time'] ? $info['pro_time'] : '0000-00-00 00:00:00';
$addData['in_time'] = $info['in_time'] ? $info['in_time'] : date('Y-m-d H:i:s');
@@ -640,7 +594,6 @@ class Goods extends HD_Controller
}
$addData['biz_id'] = $biz_id;
$addData['addr_id'] = $addr_id;
$addData['option_ids'] = $info['option_ids'] ? json_encode($info['option_ids']) : json_encode([]);
$id = $this->mdItems->add($addData);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '添加失败!');
@@ -797,8 +750,7 @@ class Goods extends HD_Controller
$editData['dis_price'] = $info['dis_price'];
$editData['bill_num'] = $info['bill_num'];
$editData['bill_price'] = $info['bill_price'];
$editData['buy_price'] = $info['buy_price'] ? $info['buy_price'] : 0;
$editData['estimated_rebate'] = $info['estimated_rebate'] ? $info['estimated_rebate'] : 0;
$editData['buy_price'] = $info['buy_price'];
$editData['pro_time'] = $info['pro_time'];
$editData['in_time'] = $info['in_time'];
@@ -814,7 +766,6 @@ class Goods extends HD_Controller
}
$editData['biz_id'] = $biz_id;
$editData['addr_id'] = $addr_id;
$editData['option_ids'] = $info['option_ids'] ? json_encode($info['option_ids']) : json_encode([]);
$ret = $this->mdItems->update($editData, array('id' => $info['id']));
if (!$ret) {
return $this->show_json(SYS_CODE_FAIL, '修改失败!');
@@ -981,402 +932,6 @@ class Goods extends HD_Controller
$where_3['m.status >'] = 0;
}
if (1 == $params['sold']) {//已售
$where["bill_time<>'0000-00-00 00:00:00'"] = null;
$where_1["m.bill_time<>'0000-00-00 00:00:00'"] = null;
$where_2["m.bill_time<>'0000-00-00 00:00:00'"] = null;
$where_3["m.bill_time<>'0000-00-00 00:00:00'"] = null;
$where['brand_id in (select id from lc_auto_brand where status >- 1)'] = null;
$where_1['brand_id in (select id from lc_auto_brand where status >- 1)'] = null;
$where_2['m.brand_id in (select id from lc_auto_brand where status >- 1)'] = null;
$where_3['m.brand_id in (select id from lc_auto_brand where status >- 1)'] = null;
} else {
$where["bill_time"] = '0000-00-00 00:00:00';
$where_1["m.bill_time"] = '0000-00-00 00:00:00';
$where_2["m.bill_time"] = '0000-00-00 00:00:00';
$where_3["m.bill_time"] = '0000-00-00 00:00:00';
$where['brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$where_1['brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$where_2['m.brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$where_3['m.brand_id in (select id from lc_auto_brand where status = 1)'] = null;
}
if ($params['vin']) {
$where["vin like '%{$params['vin']}%'"] = null;
$where_1["m.vin like '%{$params['vin']}%'"] = null;
$where_2["m.vin like '%{$params['vin']}%'"] = null;
$where_3["m.vin like '%{$params['vin']}%'"] = null;
}
//精品筛选
if ($params['fine_ids']) {
$fine_num = substr_count($params['fine_ids'], ',') + 1;
$where_1["j.type_id in ({$params['fine_ids']})"] = null;
$where_1["having"] = "fine_num={$fine_num}";
$where_2["j2.type_id in ({$params['fine_ids']})"] = null;
$where_2["having"] = "fine_num={$fine_num}";
$search_type = 0 == $search_type || 1 == $search_type ? 1 : 3;
} else {
$params['fine_ids'] = '';
}
//是否选入精品
if (strlen($params['is_fine']) > 0) {
if (1 == $params['is_fine']) {
$where_1["j.type_id>0"] = null;
$where_1["having"] = "fine_num>0";
$where_3["j2.type_id>0"] = null;
$where_3["having"] = "fine_num>0";
} else {
$where_1["j.type_id is null"] = null;
$where_3["j2.type_id is null"] = null;
}
$search_type = 0 == $search_type || 1 == $search_type ? 1 : 3;
} else {
$params['is_fine'] = '';
}
//销售员筛选
if ($params['admin_id']) {
$search_type = 0 == $search_type || 2 == $search_type ? 2 : 3;
$where_2['j.admin_id'] = $params['admin_id'];
$where_3['j.admin_id'] = $params['admin_id'];
} else {
$params['city_id_admin'] = '';
$params['county_id_admin'] = '';
$params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
$order = 'id';
if ('fine_num' == $params['order']) {//精品标签数排序
$order = $params['order'];
$search_type = 0 == $search_type || 1 == $search_type ? 1 : 3;
} else if ('admin_id' == $params['order']) {//销售员ID排序
$order = $params['order'];
$search_type = 0 == $search_type || 2 == $search_type ? 2 : 3;
} else if ('sold_time' == $params['order']) {//售卖时间排序
$order = 'bill_time';
} else if ($params['order']) {
$order = $params['order'];
} else {
$params['order'] = $order;
}
$sort = 'desc';
if ($params['sort']) {
$sort = $params['sort'];
} else {
$params['sort'] = $sort;
}
#$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
if (1 == $params['sold']){
$autoList[1] = $this->mdAutoBrand->map_brand(array('status > -1' => null), false);
}
else{
$autoList[1] = $this->mdAutoBrand->map_brand(array('status = 1' => null), false);
}
switch ($search_type) {
case 1://精品筛选
$count = $this->mdItems->count_fine($where_1);
break;
case 2://订单筛选
$count = $this->mdItems->count_order($where_2);
break;
case 3://精品+订单筛选
$count = $this->mdItems->count_order_fine($where_3);
break;
default:
$count = $this->mdItems->count($where);
}
if ($count > 10000) {
return $this->show_json(SYS_CODE_FAIL, '数据量超过1w导出太为难我了');
} else if (0 == $count) {
return $this->show_json(SYS_CODE_SUCCESS, '当前没有数据');
}
$fileName = "车辆明细";
$indexs = array(
'id' => 'ID',
'brand_name' => '品牌',
's_name' => '车系',
'v_name' => '车型',
'cor_name' => '车身颜色',
'incor_name' => '内饰颜色',
'ori_price' => '指导价',
'sale_price' => '售价',
'bill_price' => '开票金额',
'buy_price' => '采购成本',
'estimated_rebate' => '预估返利',
'dis_price' => '折扣价',
'discount' => '折扣百分比',
'city_name' => '城市名',
'county_name' => '行政区',
'address' => '存放地址',
'vin' => '车架号',
'engine_num' => '发动机号',
'stdard_num' => '合格证号',
'bill_num' => '开票号',
'auto_fine' => '精品加装',
'company_name' => '公司归属',
'status' => '状态',
'in_time' => '入库时间',
'out_time' => '出库时间',
'bill_time' => '开票时间',
);
$lists = array();
$fine_ids = array();
if ($count) {
switch ($search_type) {
case 1://精品筛选
$fileds = 'm.*,count(type_id) as fine_num';
$orderby = "{$order} {$sort}";
$rows = $this->mdItems->select_fine($where_1, $orderby, 0, 0, $fileds);
break;
case 2://订单筛选
$fileds = 'm.*';
$orderby = "{$order} {$sort}";
$rows = $this->mdItems->select_order($where_2, $orderby, 0, 0, $fileds);
break;
case 3://精品+订单筛选
$fileds = 'm.*, count(j2.type_id) as fine_num';
if (in_array($order, array('admin_id'))) {
$orderby = "{$order} {$sort}";
} else {
$orderby = "m.{$order} {$sort}";
}
$rows = $this->mdItems->select_order_fine($where_3, $orderby, 0, 0, $fileds);
break;
default:
$fileds = '*';
$orderby = "{$order} {$sort}";
$rows = $this->mdItems->select($where, $orderby, 0, 0, $fileds);
}
$lists[] = $indexs;
$company_ids = $brand_ids = $s_ids = $attr_vids = $attr_corids = $attr_incorids = $biz_ids = $addr_ids = array();
$ids = array();
foreach ($rows as $v) {
$ids[] = $v['id'];
$v['brand_id'] && !in_array($v['brand_id'], $brand_ids) && $brand_ids[] = $v['brand_id'];
$v['biz_id'] && !in_array($v['biz_id'], $biz_ids) && $biz_ids[] = $v['biz_id'];
$v['addr_id'] && !in_array($v['addr_id'], $addr_ids) && $addr_ids[] = $v['addr_id'];
$v['s_id'] && !in_array($v['s_id'], $s_ids) && $s_ids[] = $v['s_id'];
$v['v_id'] && !in_array($v['v_id'], $attr_vids) && $attr_vids[] = $v['v_id'];
$v['cor_id'] && !in_array($v['cor_id'], $attr_corids) && $attr_corids[] = $v['cor_id'];
$v['incor_id'] && !in_array($v['incor_id'], $attr_incorids) && $attr_incorids[] = $v['incor_id'];
$v['company_id'] && !in_array($v['company_id'], $company_ids) && $company_ids[] = $v['company_id'];
}
$map_company = $map_brand = $map_sery = $map_vid = $map_corid = $map_incorid = $map_biz = $map_addr = array();
if ($brand_ids) {
$str_ids = implode(',', $brand_ids);
$where = array("id in ({$str_ids})" => null);
$map_brand = $this->mdAutoBrand->map('id', 'name', $where);
}
if ($s_ids) {
$str_ids = implode(',', $s_ids);
$where = array("id in ({$str_ids})" => null);
$map_sery = $this->mdAutoSeries->map('id', 'name', $where);
}
if ($attr_vids) {
$str_ids = implode(',', $attr_vids);
$where = array("id in ({$str_ids})" => null);
$map_vid = $this->mdAutoAttr->map('id', 'title', $where);
}
if ($attr_corids) {
$str_ids = implode(',', $attr_corids);
$where = array("id in ({$str_ids})" => null);
$map_corid = $this->mdAutoAttr->map('id', 'title', $where);
}
if ($attr_incorids) {
$str_ids = implode(',', $attr_incorids);
$where = array("id in ({$str_ids})" => null);
$map_incorid = $this->mdAutoAttr->map('id', 'title', $where);
}
if ($biz_ids) {
$str_ids = implode(',', $biz_ids);
$where = array("id in ({$str_ids})" => null);
$map_biz = $this->mdBiz->map('id', 'biz_name', $where);
}
if ($addr_ids) {
$str_ids = implode(',', $addr_ids);
$where = array("id in ({$str_ids})" => null);
$orderby = 'id desc';
$select = 'id, title, city_name, county_name';
$map_addr = $this->addr_model->map('id', '*', $where, $orderby, 0, 0, $select);
}
if ($company_ids) {
$str_ids = implode(',', $company_ids);
$where = array("id in ({$str_ids})" => null);
$map_company = $this->sys_company_model->map('id', 'short', $where);
}
//获取精品加装
$str_ids = implode(',', $ids);
$where = array("item_id in ({$str_ids})" => null, 'type' => 1, 'status' => 1);
$rows_fine = $this->items_relate_model->select($where, '', 0, 0, 'item_id, type_id');
$map_item_fine = array();//按item_id分组所属精品ID
foreach ($rows_fine as $v) {
!in_array($v['type_id'], $fine_ids) && $fine_ids[] = $v['type_id'];
$map_item_fine[$v['item_id']][] = $v['type_id'];
}
//获取精品ID和名称映射
$map_fine = array();
if ($fine_ids) {
$this->load->model('auto/auto_fine_model');
$str_ids = implode(',', $fine_ids);
$where = array("id in ({$str_ids})" => null);
$map_fine = $this->auto_fine_model->map('id', 'title', $where);
}
foreach ($rows as $v) {
//获取并组装精品信息
$fine_ids = $map_item_fine[$v['id']];
$auto_fine = '';
if ($fine_ids) {
foreach ($fine_ids as $fine_id) {
$auto_fine = $auto_fine ? "{$auto_fine} {$map_fine[$fine_id]}" : $map_fine[$fine_id];
}
}
$addr = array();
if ($v['biz_id'] > 0) {
$re_biz = $this->mdBiz->get(array('id' => $v['biz_id']));
if ($re_biz['county_id']) {
$re_area = $this->mdArea->get(array('county_id' => $re_biz['county_id']));
if ($re_area) {
$addr = array('city_name' => $re_area['city_name'], 'county_name' => $re_area['county_name']
, 'title' => $map_biz[$v['biz_id']]);
}
} else if ($re_biz['city_id']) {
$re_area = $this->mdArea->get(array('city_id' => $re_biz['city_id']));
if ($re_area) {
$addr = array('city_name' => $re_area['city_name'], 'title' => $map_biz[$v['biz_id']]);
}
}
} else if ($v['biz_id'] == -1 && $v['addr_id']) {
$addr = $map_addr[$v['addr_id']];
}
$lists[] = array(
'id' => $v['id'],
'brand_name' => $map_brand[$v['brand_id']],
's_name' => $map_sery[$v['s_id']],
'v_name' => $map_vid[$v['v_id']],
'cor_name' => $map_corid[$v['cor_id']],
'incor_name' => $map_incorid[$v['incor_id']],
'ori_price' => $v['ori_price'],
'sale_price' => $v['sale_price'],
'bill_price' => $v['bill_price'],
'buy_price' => $v['buy_price'],
'estimated_rebate' => $v['estimated_rebate'],
'dis_price' => $v['dis_price'],
'discount' => $v['discount'],
'city_name' => $addr ? $addr['city_name'] : '',
'county_name' => $addr ? $addr['county_name'] : '',
'address' => $addr ? $addr['title'] : '',
'vin' => $v['vin'],
'engine_num' => $v['engine_num'],
'stdard_num' => $v['stdard_num'],
'bill_num' => $v['bill_num'],
'auto_fine' => $auto_fine,
'company_name' => $map_company[$v['company_id']],
'status' => $this->statusAry[$v['status']],
'in_time' => '0000-00-00 00:00:00' == $v['in_time'] ? '' : $v['in_time'],
'out_time' => '0000-00-00 00:00:00' == $v['out_time'] ? '' : $v['out_time'],
'bill_time' => '0000-00-00 00:00:00' == $v['bill_time'] ? '' : $v['bill_time'],
);
}
}
$this->load->library('excel');
$this->excel->out_csv($lists, $indexs, $fileName . "_" . date('YmdHis'));
return 1;
}
public function export_()
{
$params = $this->input->get();
$where = $where_1 = $where_2 = $where_3 = $autoList = array();
$search_type = 0;//0不连表,1联表筛选精品,2联表筛选销售,3联表筛选精品和销售
if ($params['brand_id']) {
$where['brand_id'] = $params['brand_id'];
$where_1['brand_id'] = $params['brand_id'];
$where_2['m.brand_id'] = $params['brand_id'];
$where_3['m.brand_id'] = $params['brand_id'];
$autoList[2] = $this->mdAutoSeries->select(array('status' => 1, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
if ($params['s_id']) {
$where['s_id'] = $params['s_id'];
$where_1['s_id'] = $params['s_id'];
$where_2['m.s_id'] = $params['s_id'];
$where_3['m.s_id'] = $params['s_id'];
$autoList[3] = $this->mdAutoAttr->select(array('status' => 1, 'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
}
if ($params['v_id']) {
$where['v_id'] = $params['v_id'];
$where_1['v_id'] = $params['v_id'];
$where_2['m.v_id'] = $params['v_id'];
$where_3['m.v_id'] = $params['v_id'];
}
//车身颜色
if ($params['cor_id']) {
$where['cor_id'] = $params['cor_id'];
$where_1['cor_id'] = $params['cor_id'];
$where_2['m.cor_id'] = $params['cor_id'];
$where_3['m.cor_id'] = $params['cor_id'];
} else {
$params['cor_id'] = '';
}
//地址筛选
if ($params['biz_id']) {
$where['biz_id'] = $params['biz_id'];
$where_1['biz_id'] = $params['biz_id'];
$where_2['m.biz_id'] = $params['biz_id'];
$where_3['m.biz_id'] = $params['biz_id'];
}
if ($params['biz_id'] == -1 && $params['addr_id']) {
$where['addr_id'] = $params['addr_id'];
$where_1['addr_id'] = $params['addr_id'];
$where_2['m.addr_id'] = $params['addr_id'];
$where_3['m.addr_id'] = $params['addr_id'];
} else if ($params['city_id']) {
$where_biz['status'] = 1;
$params['city_id'] && $where_biz['city_id'] = $params['city_id'];
$params['county_id'] && $where_biz['county_id'] = $params['county_id'];
$res_biz = $this->mdBiz->select($where_biz, 'id desc', 0, 0, 'id');
if ($res_biz) {
$str_ids = implode(',', array_column($res_biz, 'id'));
$where["biz_id in ({$str_ids})"] = null;
$where_1["biz_id in ({$str_ids})"] = null;
$where_2["m.biz_id in ({$str_ids})"] = null;
$where_3["m.biz_id in ({$str_ids})"] = null;
} else {
$where['biz_id'] = -2;
$where_1['biz_id'] = -2;
$where_2['m.biz_id'] = -2;
$where_3['m.biz_id'] = -2;
}
} else {
$params['city_id'] = '';
$params['county_id'] = '';
$params['addr_id'] = '';
$params['biz_id'] = '';
}
if (strlen($params['status']) > 0) {
$where['status'] = $params['status'];
$where_1['m.status'] = $params['status'];
$where_2['m.status'] = $params['status'];
$where_3['m.status'] = $params['status'];
} else {
$params['status'] = '';
$where['status >'] = 0;
$where_1['m.status >'] = 0;
$where_2['m.status >'] = 0;
$where_3['m.status >'] = 0;
}
if (1 == $params['sold']) {//已售
$where["bill_time<>'0000-00-00 00:00:00'"] = null;
$where_1["m.bill_time<>'0000-00-00 00:00:00'"] = null;
@@ -1678,7 +1233,6 @@ class Goods extends HD_Controller
$this->load->model('items/items_oplogs_model', 'mdItemsOplogs');
$fileName = '超期车辆';
$where = ['status<>' => 0, 'bill_time' => '0000-00-00 00:00:00'];
$where['brand_id in (select id from lc_auto_brand where status = 1)'] = null;
$res = $this->mdItems->select($where, 'id asc', 1, 5000, 'brand_id,biz_id,addr_id,s_id,v_id,cor_id,incor_id,company_id,id,vin,in_time,status');
$data = $list = [];
foreach ($res as $key => $value) {
+3 -5
View File
@@ -43,14 +43,13 @@ class Logs extends HD_Controller
{
$lists = $autoList = array();
$where = array('id<>1' => null, 'status>' => 0);
$where['brand_id in (select id from lc_auto_brand where status > -1)'] = null;
if ($params['brand_id']) {
$where['brand_id'] = $params['brand_id'];
$autoList[2] = $this->mdAutoSeries->select(array('status > -1' => null, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
$autoList[2] = $this->mdAutoSeries->select(array('status' => 1, 'brand_id' => $params['brand_id']), 'id desc', 0, 0, 'id,name');
}
if ($params['s_id']) {
$where['s_id'] = $params['s_id'];
$autoList[3] = $this->mdAutoAttr->select(array('status > -1' => null,'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
$autoList[3] = $this->mdAutoAttr->select(array('status' => 1,'type' => 1, 's_id' => $params['s_id']), 'id desc', 0, 0, 'id,title as name');
}
if ($params['v_id']) {
$where['v_id'] = $params['v_id'];
@@ -99,8 +98,7 @@ class Logs extends HD_Controller
} else {
$params['sold'] = '';
}
//$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
$autoList[1] = $this->mdAutoBrand->map_brand(array('status > -1' => null), false);
$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
$statusAry = $this->statusAry;
$soldAry = $this->soldAry;
$count = $this->mdItems->count($where);
+3 -20
View File
@@ -185,12 +185,7 @@ class Clues extends HD_Controller
}
$dataInfo['editType'] = 0;
$re_cf = $this->clues_cfrom_model->get(array('id' => $re['cf_id']));
$re_cf_title_p = '';
if ($re_cf && $re_cf['pid']){
$re_cf_pid = $this->clues_cfrom_model->get(array('id' => $re_cf['pid']));
$re_cf_title_p = $re_cf_pid['title'] ? $re_cf_pid['title'].'-' : '';
}
$info_show['cfrom_title'] = $re_cf['title'] ? $re_cf_title_p.$re_cf['title'] : '';
$info_show['cfrom_title'] = $re_cf['title'] ? $re_cf['title'] : '';
$info_show['statusList'] = $statusList;
$info_show['status2List'] = $status2List;
$info_show['c_time'] = date('Y-m-d H:i', $re['c_time']);
@@ -214,13 +209,6 @@ class Clues extends HD_Controller
if ($row['duration']) {
$rec_url = $row['rec_url'] ? build_qiniu_image_url($row['rec_url'], 0, 0, 'video') : '';
$rec_text = '录音文件未生成';
}else{
$jsondata = json_decode($row['json_data'],true);
if($row['c_time']>strtotime('2023-03-21 13:00:00')){
$rec_text = $this->mdReceiverXz->get_xz_status($jsondata['status']);
$answer_text = $this->mdReceiverXz->get_xz_noAnswerReason($jsondata['noAnswerReason']);
$answer_text && $rec_text .= "($answer_text)";
}
}
}
$setValue['rec_url'] = $rec_url;
@@ -251,9 +239,7 @@ class Clues extends HD_Controller
if ($re['lat'] && $re['lng']) {
$info_show['near_bizs'] = $this->biz_model->nearby($re['lat'], $re['lng'], 1, 3, 'id,biz_name');
} else {
$typeAry = $this->biz_model->type_ary();
$type_ids = implode(',',array_keys($typeAry));
$info_show['near_bizs'] = $this->biz_model->select(['city_id' => $re['city_id'], 'county_id' => $re['county_id'], "type in ($type_ids)" => null, 'status' => 1], 'id desc', 1, 3, 'id,biz_name');
$info_show['near_bizs'] = $this->biz_model->select(['city_id' => $re['city_id'], 'county_id' => $re['county_id'], 'status' => 1], 'id desc', 1, 3, 'id,biz_name');
}
//获取分销用户
$cf_user = '';
@@ -577,9 +563,6 @@ class Clues extends HD_Controller
];
$city_id && $where['city_id'] = $city_id;
$county_id && $where['county_id'] = $county_id;
$typeAry = $this->biz_model->type_ary();
$type_ids = implode(',',array_keys($typeAry));
$type_ids && $where["type in ($type_ids)"] = null;
$bizList = $this->biz_model->select($where, '', '', '', 'id,biz_name');
$this->data['bizList'] = $bizList;
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
@@ -620,7 +603,7 @@ class Clues extends HD_Controller
'biz_id' => $biz_id,
'city_id' => $biz['city_id'],
'county_id' => $biz['county_id'],
'brand_id' => $clues_row['brand_id'],
'brand_id' => 0,
's_id' => $clues_row['s_id'],
'if_driver' => $clues_row['if_driver'],
'cf_title' => '平台分配',
-212
View File
@@ -1,212 +0,0 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class CluesCfrom extends HD_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('receiver/receiver_clues_cfrom_model', 'mdCluesCfrom');
}
//首页信息
public function index()
{
return $this->lists();
}
//数据列表
public function lists()
{
$params = $this->input->get();
$params['page'] = $params['page'] ? intval($params['page']) : 1;
$params['size'] = $params['size'] ? intval($params['size']) : 20;
$lists = [];
$where = ["status<>" => -1, 'pid' => 0];
if (strlen($params['status'])) {
$where['status'] = $params['status'];
}
if ($params['title']) {
$where["title like '%{$params['title']}%'"] = null;
}
$count = $this->mdCluesCfrom->count($where);
if ($count) {
$res = $this->mdCluesCfrom->select($where, "sort desc,id desc", $params['page'], $params['size']);
foreach ($res as $key => $value) {
$setValue = [];
$setValue['id'] = $value['id'];
$setValue['name'] = $value['title'];
$setValue['sort'] = $value['sort'];
$setValue['status'] = $value['status'];
$setValue['status_name'] = $value['status'] == 1 ? '正常' : '禁用';
$options = '';
$res_cfrom = $this->mdCluesCfrom->select(["status<>" => -1, 'pid' => $value['id']], "sort desc,id desc", 1, 10, 'title');
$res_cfrom && $options = implode(',', array_column($res_cfrom, 'title'));
$setValue['options'] = $options;
$lists[] = $setValue;
}
}
$this->data['lists'] = $lists;
$this->data['params'] = $params;
$this->data['_title'] = '线索来源';
$this->data['pager'] = array('count' => ceil($count / $params['size']), 'curr' => $params['page'], 'totle' => $count);
return $this->show_view('receiver/cluescfrom/lists', true);
}
public function get_options()
{
$id = intval($this->input->post('id'));
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$res_tag = $this->mdCluesCfrom->select(["status" => 1, 'pid' => $id], "sort desc,id desc", 0, 0, 'id,title as name,sort,status');
$this->data['lists'] = $res_tag;
return $this->show_json(SYS_CODE_SUCCESS);
}
//展示单条数据
public function get()
{
$id = intval($this->input->get('id'));
if ($id) {
$url = "receiver/CluesCfrom/edit";
$re = $this->mdCluesCfrom->get(['id' => $id]);
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '数据不存在!');
}
$name = $re['title'];
$sort = $re['sort'];
} else {
$url = "receiver/CluesCfrom/add";
$sort = 50;
$name = '';
}
$this->data['showInfo'] = ['id' => $id, 'name' => $name, 'sort' => $sort, 'url' => $url];
return $this->show_view('receiver/cluescfrom/edit');
}
//添加单条数据
public function add()
{
$params = $this->input->post();
if (!$params['name']) {
return $this->show_json(SYS_CODE_FAIL, '名称不能为空!');
}
$re = $this->mdCluesCfrom->get(['title' => $params['name'], 'pid' => 0, "status<>" => -1]);
if ($re) {
return $this->show_json(SYS_CODE_FAIL, '名称已存在了!');
}
$id = $this->mdCluesCfrom->add(['title' => $params['name'], 'sort' => $params['sort'], 'c_time' => time()]);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '保存失败');
}
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
//编辑单条数据
public function edit()
{
$params = $this->input->post();
if (!$params['id']) {
return $this->show_json(SYS_CODE_FAIL, '参数错误');
}
if (!$params['name']) {
return $this->show_json(SYS_CODE_FAIL, '请输入名称');
}
$re = $this->mdCluesCfrom->get(array('title' => $params['name'], 'pid' => 0, "status<>" => -1));
if ($re && $re['id'] != $params['id']) {
return $this->show_json(SYS_CODE_FAIL, '名称已存在了!');
}
$this->mdCluesCfrom->update(['title' => $params['name'], 'sort' => $params['sort']], ['id' => $params['id']]);
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
//删除单条数据
public function del()
{
$id = $this->input->post('id');
if (!$id) {
$this->show_json(SYS_CODE_FAIL, '参数错误');
}
$re = $this->mdCluesCfrom->get(['id' => $id]);
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '数据不存在!');
}
$this->mdCluesCfrom->update(['status' => -1], ['id' => $id]);
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
}
//修改来源选项
function edit_options()
{
$pid = $this->input->post('id');
$options = $this->input->post('options');
if (!$pid || !$options) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$re = $this->mdCluesCfrom->get(['id' => $pid]);
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '数据不存在!');
}
foreach ($options as $key => $value) {
$sort = intval($value['sort']);
$data = ['title' => $value['name'], 'status' => $value['status'], 'sort' => $sort];
if ($value['name']) {
if ($value['id']) {//修改
$this->mdCluesCfrom->update($data, ['id' => $value['id']]);
} else {//新增
$data['pid'] = $pid;
$data['c_time'] = time();
$this->mdCluesCfrom->add($data);
}
}
}
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
function edit_status()
{
$id = $this->input->post('id');
$stauts = intval($this->input->post('status'));
if (!$id) {
$this->show_json(SYS_CODE_FAIL, '参数错误');
}
$this->mdCluesCfrom->update(['status' => $stauts], ['id' => $id]);
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
}
/**
* Notes:获取分类信息
* Created on: 2023/3/27 17:39
* Created by: dengbw
* @return bool
*/
function json_get()
{
$id = $this->input->get('id');
$where = [
'status' => 1,
'pid' => 0
];
$id && $where['pid'] = $id;
if ($this->role == 37) {
!$id && $where['id'] = 36;
}
$rows = $this->mdCluesCfrom->select($where, 'sort desc,id desc', '', '', 'id,title');
$this->data['data'] = $rows;
return $this->show_json(SYS_CODE_SUCCESS);
}
//批量操作(默认修改状态)
public function batch()
{
}
//导出数据列表
public function export()
{
}
}
+38 -599
View File
@@ -11,7 +11,7 @@ class Customer extends HD_Controller
{
private $searchTpAry = array('mobile' => '客户手机号', 'name' => '客户姓名');
private $searchTimeAry = array('c_time' => '创建时间', 'p_time' => '分配时间', 'cont_time' => '最后联系时间', 'u_time' => '最后操作时间'
, 'dt_time' => '首次到店时间', 'order_time' => '下单时间', 'def_time' => '战败时间');
, 'dt_time' => '首次到店时间', 'order_time' => '下单时间');
protected $log_dir;
@@ -25,9 +25,6 @@ class Customer extends HD_Controller
$this->load->model('receiver/receiver_clues_model', 'clues_model');
$this->load->model('receiver/receiver_clues_cfrom_model', 'clues_cfrom_model');
$this->load->model('receiver/receiver_xz_model');
$this->load->model('receiver/Receiver_customer_stat_plan_model', 'statplan');
$this->load->model('receiver/Receiver_customer_stat_data_model', 'statdata');
$this->load->model('receiver/Receiver_customer_stat_data_log_model', 'statdatalog');
$this->load->model('app/licheb/app_licheb_users_model');
$this->load->model("biz/biz_model");
@@ -53,9 +50,8 @@ class Customer extends HD_Controller
$lists = [];
$offlineSources = $this->customers_model->offlineSources();
$wxqyAry = $this->customers_model->wxqyAry();
$wxgrAry = $this->customers_model->wxgrAry();
if ($count) {
$fileds = 'id,name,mobile,cf_title,cont_time,admin_id,status,biz_id,cs_biz_id,level,of_id,of2_id,wxqy,wxgr';
$fileds = 'id,name,mobile,cf_title,cont_time,admin_id,status,biz_id,level,of_id,of2_id,wxqy';
$rows = $this->customers_model->select($where, 'id desc', $page, $size, $fileds);
//获取销售员
$admin_id_arr = array_unique(array_column($rows, 'admin_id'));
@@ -85,29 +81,17 @@ class Customer extends HD_Controller
'of2_id' => $val['of2_id'],
'status_name' => $status_arr[$val['status']],
'wxqy_name' => $wxqyAry[$val['wxqy']],
'wxgr_name' => $wxgrAry[$val['wxgr']],
'to_send' => $this->customers_model->csbizidAry($val['cs_biz_id'] ? $val['cs_biz_id'] : 0),
'admin_name' => isset($admin_rows[$val['admin_id']]) ? $admin_rows[$val['admin_id']][0]['uname'] : '',
'biz_name' => isset($biz_rows[$val['biz_id']]) ? $biz_rows[$val['biz_id']][0]['biz_name'] : '',
'cont_time' => $val['cont_time'] != '0000-00-00 00:00:00' ? $val['cont_time'] : '',
);
}
}
$tag_data = $params['tags'] ? explode(',', $params['tags']) : '';
$show_info['tags'] = $this->get_tag(0, 0, $tag_data);
$tag_data = $params['tagsIntention'] ? explode(',', $params['tagsIntention']) : '';
$show_info['tagsIntention'] = $this->get_tag(0, 2, $tag_data);
$tag_data = $params['tagsDefeat'] ? explode(',', $params['tagsDefeat']) : '';
$show_info['tagsDefeat'] = $this->get_tag(0, 1, $tag_data);
//渠道经理
$qdjl_lists = $this->app_licheb_users_model->select(array('group_id' => 4, 'status' => 1, 'biz_id<>' => '0'), 'id desc', 0, 0, 'id,uname as name');
$show_info['levelAry'] = $this->customers_model->get_sdata('level');
#$show_info['offlineSourcesAry'] = $offlineSources;
$show_info['offlineSourcesAry'] = $this->customers_model->offlineSources_search();
$show_info['offlineSourcesAry'] = $offlineSources;
$show_info['wxqyAry'] = $wxqyAry;
$show_info['wxgrAry'] = $wxgrAry;
$show_info['csbizidAry'] = $this->customers_model->csbizidAry();
$show_info['cbrandAry'] = $this->customers_model->cbrandAry();
$this->data['show_info'] = $show_info;
$this->data['lists'] = $lists;
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
@@ -116,292 +100,19 @@ class Customer extends HD_Controller
$this->data['params'] = $params;
$this->data['status_arr'] = $status_arr;
$this->data['qdjl_lists'] = $qdjl_lists;
$this->data['export_button'] = SUPER_ADMIN == $this->role || in_array($this->uid, array(1, 62, 82)) ? 1 : 0;
$this->data['export_button'] = $this->uid == 1 ? 1 : 0;
$this->data['_title'] = '客户列表';
return $this->show_view('receiver/customer/lists', true);
}
public function lists_statplan(){
$params = $this->input->get();
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
!$params['of_id'] && $params['of_id'] = '';
!$params['of2_id'] && $params['of2_id'] = '';
!$params['sp_name'] && $params['sp_name'] = '';
$where = array();
if ($params['of_id']) {
$where['of_id'] = $params['of_id'];
}
if ($params['of2_id']) {
$where['of2_id'] = $params['of2_id'];
}
if ($params['sp_name']) {
$where["sp_name like '%{$params['sp_name']}%'"] = null;
}
$count = $this->statplan->count($where);
$lists = [];
$offlineSources = $this->customers_model->offlineSources();
if ($count){
$rows = $this->statplan->select($where, 'id desc', $page, $size, '*');
foreach ($rows as $key => $val){
$of_title = '';
if ($val['of_id']) {
$of_ary = $offlineSources[$val['of_id']];
$of_title = $of_ary['name'];
$val['of2_id'] && $of_title .= '-' . $of_ary['list'][$val['of2_id']];
}
$lists[] = array(
'id' => $val['id'],
'sp_name' => $val['sp_name'],
'mobile' => $val['mobile'],
'of_title' => $of_title,
's_date' => $val['s_date'],
'e_date' => $val['e_date'],
'last_date' => $val['last_date'],
'c_time' => date('Y-m-d H:i:s', $val['c_time']),
'u_time' => $val['u_time'],
);
}
}
$show_info['offlineSourcesAry'] = $this->customers_model->offlineSources_search();
$this->data['show_info'] = $show_info;
$this->data['lists'] = $lists;
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
$this->data['params'] = $params;
$this->data['_title'] = '客户统计计划列表';
return $this->show_view('receiver/customer/lists_statplan', true);
}
public function lists_statdata(){
$params = $this->input->get();
$id = intval($params['id']);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$where = ['id' => $id];
$re = $this->statplan->get($where);
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '计划不存在!');
}
$stat_data = $this->get_statdata($id);
$indexs = $stat_data['indexs'];
$lists = $stat_data['lists'];
$this->data['indexs'] = $indexs;
$this->data['lists'] = $lists;
$this->data['params'] = $params;
$this->data['_title'] = $re['sp_name'].'_统计数据';
return $this->show_view('receiver/customer/lists_statdata', true);
}
public function lists_statdatalog(){
$params = $this->input->get();
$id = intval($params['id']);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$where = ['id' => $id];
$re = $this->statplan->get($where);
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '计划不存在!');
}
!$params['city_id'] && $params['city_id'] = '';
private function get_where(&$params){
!$params['biz_id'] && $params['biz_id'] = '';
$where = array('spid'=>$id);
$rows_city = $this->statdatalog->select_groupby('city_id', $where, 'city_id', 0, 0, 'city_id, city_name');
$maps_city = $this->statdatalog->map($map_key = 'city_id', $map_value = '', $where, $order = 'city_id, biz_id', $page = 0, $page_size = 0, $select = "distinct city_id, biz_id, biz_name");
$city_biz_ary = array();
foreach ($rows_city as $item){
$list = array();
foreach ($maps_city[$item['city_id']] as $k => $v){
$list[$v['biz_id']] = $v['biz_name'];
}
$city_biz_ary[$item['city_id']] = array('name'=>$item['city_name'], 'list' => $list);
}
$stat_data = $this->get_statdatalog($params);
$indexs = $stat_data['indexs'];
$lists = $stat_data['lists'];
$this->data['indexs'] = $indexs;
$this->data['lists'] = $lists;
$this->data['city_biz_ary'] = $city_biz_ary;
$this->data['params'] = $params;
$this->data['_title'] = $re['sp_name'].'_统计数据';
return $this->show_view('receiver/customer/lists_statdatalog', true);
}
private function get_statdata($id, $export=false){
if (!$id){
return array();
}
$lists = array();
$where = ['spid' => $id];
$rows_group_id_k = $this->statdata->select_groupby('group_id,k', $where, 'group_id,k', 0, 0, 'group_id,k');
$rows_stat_date = $this->statdata->select_groupby('stat_date', $where, 'stat_date', 0, 0, 'stat_date');
$key_v = $this->statdata->map($map_key = 'k', $map_value = 'v', $where, $order = '', $page = 0, $page_size = 0, $select = "concat(group_id, '-', k, '-', stat_date) as k, v");
$indexs = ['序号', '栏目'];
$i = 1;
foreach ($rows_group_id_k as $key => $val){
$group_id = $val['group_id'];
$k = $val['k'];
$list['序号'] = $i;
$list['栏目'] = $export ? str_replace('</b>', '', str_replace('<b>', '', $k)) : $k;
foreach ($rows_stat_date as $key_date => $val_date){
$stat_date = $val_date['stat_date'];
#$index = str_replace('-', '', substr($stat_date, 5));
$index = substr($stat_date, 5);
if (!in_array($index, $indexs)){
$indexs[] = $index;
}
$key_ = $group_id . '-' . $k . '-' . $stat_date;
$list[$index] = $key_v[$key_] ? $key_v[$key_] : 0;
}
$lists[] = $list;
$i += 1;
}
return array('indexs' => $indexs, 'lists' => $lists);
}
private function get_statdatalog($params, $export=false){
$id = $params['id'];
if (!$id){
return array();
}
$where = ['spid' => $id];
$where_s = "spid = {$id} ";
$city_id = $params['city_id'];
$city_id && $where_s .= " and city_id = {$city_id} ";
$biz_id = $params['biz_id'];
$biz_id && $where_s .= " and biz_id = {$biz_id} ";
if ($params['stat_date']) {
$stat_date = explode(' ~ ', $params['stat_date']);
if ($stat_date[0]) {
$where_s .= " and stat_date >= '{$stat_date[0]}' ";
}
if ($stat_date[1]) {
$where_s .= " and stat_date <= '{$stat_date[1]}' ";
}
}
$sql = "
select * from (
select 1 as group_id, stat_date, '<b>总数</b>' as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null group by stat_date
union all
select 3 as group_id, stat_date, city_name as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null group by stat_date, k
union all
select biz_id * 10 as group_id, stat_date, if(biz_id,concat('<b>',biz_name,'</b>'),'<b>未分配门店</b>') as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null group by stat_date, k
union all
select (biz_id * 10 + 1) as group_id, stat_date, if(admin_id,concat(' - ',biz_name,'-', admin_name), ' - 未分配') as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null group by stat_date, k
union all
select 10007 as group_id, stat_date, '<b>战败</b>' as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 3 group by stat_date
union all
select 10008 as group_id, stat_date, '<b>战败-无购车意向</b>' as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 3 and tag_id_1_1 is not null group by stat_date
union all
select 10009 as group_id, stat_date, concat(' - 战败-无购车意向-', tag_id_1_1_name) as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 3 and tag_id_1_1 is not null group by stat_date, k
union all
select 10020 as group_id, stat_date, '<b>战败-有购车意向</b>' as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 3 and tag_id_1_2 is not null group by stat_date
union all
select 10021 as group_id, stat_date, concat(' - 战败-有购车意向-', tag_id_1_2_name) as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 3 and tag_id_1_2 is not null group by stat_date, k
union all
select 10030 as group_id, stat_date, '<b>加V(扣除 战败-无购车意向)</b>' as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and (tag_id_1_1 is null or tag_id_1_1 is not null and status <> 3) and wxgr = 1 group by stat_date
union all
select 10040 as group_id, stat_date, '<b>未见客户的见面意向</b>' as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 0 and tag_id_2_1 is not null group by stat_date
union all
select 10041 as group_id, stat_date, concat(' - 未见客户的见面意向','-', tag_id_2_1_name) as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 0 and tag_id_2_1 is not null group by stat_date, k
union all
select 10050 as group_id, stat_date, '<b>到店客户的购车意向</b>' as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 1 and tag_id_2_2 is not null group by stat_date
union all
select 10051 as group_id, stat_date, concat(' - 到店客户的购车意向','-', tag_id_2_2_name) as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and status = 1 and tag_id_2_2 is not null group by stat_date, k
union all
select 10060 as group_id, stat_date, '<b>订单数</b>' as k, count(*) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is not null group by stat_date
union all
select 10061 as group_id, stat_date, concat(' - 订单数','-',brand_name,' ', s_name) as k, count(*) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is not null group by stat_date, k
union all
select 10090 as group_id, stat_date, '<b>加企微</b>' as k, count(distinct c_id) as v from lc_receiver_customers_stat_data_log where spid = 1 and o_id is null and wxqy = 1 group by stat_date
) t
order by group_id, stat_date, k
";
$sql = str_replace('spid = 1', $where_s, $sql);
$rows = $this->statdatalog->db->query($sql)->result_array();
if (!$rows){
return array();
}
$rows_gk = array();
$rows_group_id_k = array();
$rows_stat_date = array();
$key_v = array();
foreach ($rows as $row){
$group_id = $row['group_id'];
$k = $row['k'];
$stat_date = $row['stat_date'];
$v = $row['v'];
$group_id_k = $group_id . '-' . $k;
if (!in_array($group_id_k, $rows_gk)){
$rows_gk[] = $group_id_k;
$rows_group_id_k[] = array('group_id' => $group_id, 'k' => $k );
}
if (!in_array($stat_date, $rows_stat_date)){
$rows_stat_date[] = $stat_date;
}
$key_ = $group_id . '-' . $k . '-' . $stat_date;
$key_v[$key_] = $v;
}
$lists = array();
$indexs = ['序号', '栏目'];
$i = 1;
foreach ($rows_group_id_k as $key => $val){
$group_id = $val['group_id'];
$k = $val['k'];
$list['序号'] = $i;
$list['栏目'] = $export ? str_replace('</b>', '', str_replace('<b>', '', $k)) : $k;
foreach ($rows_stat_date as $key_date => $val_date){
$stat_date = $val_date;
#$index = str_replace('-', '', substr($stat_date, 5));
$index = substr($stat_date, 5);
if (!in_array($index, $indexs)){
$indexs[] = $index;
}
$key_ = $group_id . '-' . $k . '-' . $stat_date;
$list[$index] = $key_v[$key_] ? $key_v[$key_] : 0;
}
$lists[] = $list;
$i += 1;
}
return array('indexs' => $indexs, 'lists' => $lists);
}
private function get_where(&$params)
{
!$params['biz_id'] && $params['biz_id'] = '';
!strlen($params['cs_biz_id']) && $params['cs_biz_id'] = '';
!$params['cf_title'] && $params['cf_title'] = '';
!$params['qdjl_id'] && $params['qdjl_id'] = '';
!$params['level'] && $params['level'] = '';
!is_numeric($params['c_brand']) && $params['c_brand'] = '';
!$params['of_id'] && $params['of_id'] = '';
!$params['of2_id'] && $params['of2_id'] = '';
!$params['city_id'] && $params['city_id'] = '';
!$params['county_id'] && $params['county_id'] = '';
!$params['biz_type'] && $params['biz_type'] = '';
!$params['tags'] && $params['tags'] = '';
!$params['tagsIntention'] && $params['tagsIntention'] = '';
!$params['tagsDefeat'] && $params['tagsDefeat'] = '';
$where = array('status>=0' => null);
if ($_SESSION['admin_info']['biz_id']) {
$biz_ids = implode(',', $_SESSION['admin_info']['biz_id']);
@@ -423,31 +134,17 @@ class Customer extends HD_Controller
if ($params['level']) {
$where['level'] = $params['level'];
}
if (is_numeric($params['c_brand'])) {
$where['c_brand'] = $params['c_brand'];
}
if ($params['of_id']) {
$where['of_id'] = $params['of_id'];
}
if ($params['of2_id']) {
$where['of2_id'] = $params['of2_id'];
}
if ($params['city_id']) {
$where['city_id'] = $params['city_id'];
}
if ($params['county_id']) {
$where['county_id'] = $params['county_id'];
}
if (strlen($params['wxqy'])) {
$where["wxqy"] = $params['wxqy'];
} else {
$params['wxqy'] = '';
}
if (strlen($params['wxgr'])) {
$where["wxgr"] = $params['wxgr'];
} else {
$params['wxgr'] = '';
}
!$params['search_tp'] && $params['search_tp'] = 'mobile';
strlen($params['status']) && $where["status"] = $params['status'];
if ($params['qdjl_id']) {
@@ -463,7 +160,6 @@ class Customer extends HD_Controller
} else if ($params['city_id_admin']) {
$where["biz_id in(select id from lc_biz where city_id={$params['city_id_admin']})"] = null;
}
$where[$this->customers_model->csbizidWhere($params['cs_biz_id'])] = null;
!$params['city_id_admin'] && $params['city_id_admin'] = '';
!$params['county_id_admin'] && $params['county_id_admin'] = '';
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
@@ -498,11 +194,6 @@ class Customer extends HD_Controller
$order_time[0] && $where["order_time >="] = $order_time[0] . ' 00:00:00';
$order_time[1] && $where["order_time <="] = $order_time[1] . ' 23:59:59';
}
if ($params['def_time']) {
$order_time = explode(' ~ ', $params['def_time']);
$order_time[0] && $where["def_time >="] = $order_time[0] . ' 00:00:00';
$order_time[1] && $where["def_time <="] = $order_time[1] . ' 23:59:59';
}
if ($params['cfrom_id'] || $params['cfrom_id2']) {
if ($params['cfrom_id'] == 24) {
$where['cf_id'] = 24;
@@ -519,21 +210,6 @@ class Customer extends HD_Controller
}
}
}
if ($params['tags']) {
$where = $this->tagWhere($where, $params['tags']);
} else if ($params['tagsIntention']) {
$where = $this->tagWhere($where, $params['tagsIntention']);
} else if ($params['tagsDefeat']) {
$where['status'] = 3;
$where = $this->tagWhere($where, $params['tagsDefeat']);
}
// 指定顾问的回访客户,通过 vsid + vdststus 时间
if ($vsid = $params['vsid']) {
$vdststus = $params['vdststus'] ? intval($params['vdststus']) : 0;
$vdststus_parm = $vdststus ? " and lc_vd.status = {$vdststus}" : "";
$where["id in(select lc_vd.c_id from lc_receiver_customer_visit_data lc_vd join lc_receiver_customer_visit_sales lc_vs on lc_vd.biz_id = lc_vs.biz_id and lc_vd.sales_id = lc_vs.sales_id and lc_vd.t_day = lc_vs.t_day and lc_vs.id = {$vsid} {$vdststus_parm})"] = null;
}
return $where;
}
@@ -542,8 +218,7 @@ class Customer extends HD_Controller
$id = $this->input->get('id');
$this->load->model('auto/auto_series_model');
$this->load->model('auto/auto_attr_model');
$select = '*, (select city_name from lc_area where city_id = lc_receiver_customers.city_id limit 1) as city_name, (select county_name from lc_area where county_id = lc_receiver_customers.county_id limit 1) as county_name';
$row = $this->customers_model->get(array('id' => $id), $select);
$row = $this->customers_model->get(array('id' => $id));
if (!$row) {
return $this->show_json(SYS_CODE_FAIL, '客户不存在!');
}
@@ -588,52 +263,40 @@ class Customer extends HD_Controller
$row['of2_id'] && $of_title .= '-' . $of_ary['list'][$row['of2_id']];
}
$tag = $tag_group = [];
$tag_defeat = $tag_intention = '';
$biz_type = intval($row_biz['type']);
if ($biz_type == 5) {
$jsondata = $row['jsondata'] ? json_decode($row['jsondata'], true) : [];
$jsondata['tag_group'] && $tag_group = $jsondata['tag_group'];
} else {
$tag = $this->get_tag($row['id']);
if ($row['status'] == 3) {
$tag_defeat = $this->get_tag($row['id'], 1, '', 1);
}
$tag_intention = $this->get_tag($row['id'], 2, '', 1);
}
/*$to_send = '';
$to_send = '';
if ($row['cs_biz_id'] == -1) {
$to_send = '已改派';
} else if ($row['cs_biz_id'] > 0) {
$to_send = '接收线索';
}*/
$to_send = $this->customers_model->csbizidAry($row['cs_biz_id'] ? $row['cs_biz_id'] : 0);
}
$info = array(
'id' => $row['id'],
'name' => $row['name'],
'level' => $row['level'],
'mobile' => $mobile_sub,
'c_brand' => $this->customers_model->cbrandAry($row['c_brand']),
'of_title' => $of_title,
'wxqy_name' => $this->customers_model->wxqyAry($row['wxqy']),
'wxgr_name' => $this->customers_model->wxgrAry($row['wxgr']),
'wx_name' => '企微' . $this->customers_model->wxqyAry($row['wxqy']) . ' 个微' . $this->customers_model->wxgrAry($row['wxgr']),
'cf_user' => $cf_user,
'to_send' => $to_send,
'c_time' => date('Y-m-d H:i:s', $row['c_time']),
'status' => $row['status'],
'tag' => $tag,
'tag_defeat' => $tag_defeat,
'tag_intention' => $tag_intention,
'tag_group' => $tag_group,
'biz_type' => $biz_type,
'city_county' => $row['city_name'] ? $row['city_name'].$row['county_name'] : '-',
);
//到店信息
$toshop = array(
array(
array('title' => '门店', 'value' => $row_biz['biz_name']),
//array('title' => '试驾', 'value' => $if_driver), # 2023.02.28 数据与t_num无关联,屏蔽
array('title' => '试驾', 'value' => $if_driver),
array('title' => '到店次数', 'value' => $row['a_num']),
array('title' => '试驾次数', 'value' => $row['t_num']),
),
@@ -699,33 +362,6 @@ class Customer extends HD_Controller
return $this->show_view('receiver/customer/get', true);
}
public function get_statplan()
{
$id = intval($this->input->get('id'));
if ($id) {
$url = "/receiver/customer/edit_statplan";
$re = $this->statplan->get(['id' => $id]);
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '计划不存在!');
}
$sp_name = $re['sp_name'];
$of_id = $re['of_id'];
$of2_id = $re['of2_id'];
$s_date = $re['s_date'];
$e_date = $re['e_date'];
$s_e_date = $s_date .' ~ '.$e_date;
} else {
$url = "/receiver/customer/edit_statplan";
$sp_name = '';
$of_id = '';
$of2_id = '';
$s_e_date = '';
}
$this->data['info'] = ['id' => $id, 'sp_name' => $sp_name, 'of_id' => $of_id, 'of2_id' => $of2_id, 's_e_date' => $s_e_date, 'url' => $url];
$this->data['show_info'] = ['offlineSourcesAry' => $this->customers_model->offlineSources()];
return $this->show_view('/receiver/customer/edit_statplan');
}
public function add()
{
// TODO: Implement add() method.
@@ -761,54 +397,6 @@ class Customer extends HD_Controller
}
}
public function edit_statplan()
{
$params = $this->input->post()['info'];
$id = intval($params['id']);
if (!$params['sp_name']) {
return $this->show_json(SYS_CODE_FAIL, '计划名不能为空!');
}
if (!$params['of_id']) {
return $this->show_json(SYS_CODE_FAIL, '来源1不能为空!');
}
if (!$params['of2_id']) {
return $this->show_json(SYS_CODE_FAIL, '来源2不能为空!');
}
if (!$params['s_e_date']) {
return $this->show_json(SYS_CODE_FAIL, '起止日期不能为空!');
}
$s_e_date = explode(' ~ ', $params['s_e_date']);
$s_date = $s_e_date[0];
$e_date = $s_e_date[1] ;
if (!$s_date){
return $this->show_json(SYS_CODE_FAIL, '开始日期不能为空!');
}
if (!$e_date){
return $this->show_json(SYS_CODE_FAIL, '结束日期不能为空!');
}
$data = [
'sp_name' => $params['sp_name'],
'of_id' => $params['of_id'],
'of2_id' => $params['of2_id'],
's_date' => $s_date,
'e_date' => $e_date,
];
if (!$id){
$data['c_time'] = time();
$res = $this->statplan->add($data);
}
else{
$res = $this->statplan->update($data, array('id' => $id));
}
if (!$res) {
return $this->show_json(SYS_CODE_FAIL, '保存失败');
}
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
/**
* 编辑
* @return bool
@@ -861,18 +449,17 @@ class Customer extends HD_Controller
$msg = '修改用户信息成功';
$this->addLog(array('customer_id' => $info['id'], 'type' => 0, 'log' => $log));
}
} else if ($info['editType'] == 3 || $info['editType'] == 4) {
} else if ($info['editType'] == 3) {
$id = $info['id'];
//客户标签
if (!$info['tag'] && $info['editType'] == 3) {
if (!$info['tag']) {
return $this->show_json(SYS_CODE_FAIL, '客户画像不存在!');
}
$add_tag = [];
//查找已加入标签
$res_td = $this->mdCustomerTagdata->select(['c_id' => $id], 'id desc', 0, 0, 't_id');
$tag_data = $res_td ? array_unique(array_column($res_td, 't_id')) : '';
$tag_lists = $info['editType'] == 3 ? $info['tag'] : $info['invalid_user_tag'];
foreach ($tag_lists as $key => $val) {
foreach ($info['tag'] as $key => $val) {
foreach ($val['list'] as $key2 => $val2) {
if ($val['type'] == 'checkbox') {
if ($val2['checked'] == 'true') {
@@ -900,8 +487,7 @@ class Customer extends HD_Controller
if ($add_tag && count($add_tag)) {
$this->mdCustomerTagdata->add_batch($add_tag);
}
$log_msg = $info['editType'] == 3 ? '修改用户画像' : '修改战败标签';
$this->addLog(array('customer_id' => $info['id'], 'type' => 0, 'log' => $log_msg));
$this->addLog(array('customer_id' => $info['id'], 'type' => 0, 'log' => '修改用户画像'));
}
return $this->show_json($code, $msg);
}
@@ -928,38 +514,15 @@ class Customer extends HD_Controller
public function export()
{
if (!(SUPER_ADMIN == $this->role || in_array($this->uid, array(1, 62, 82)))) {
if ($this->uid != 1){
return $this->show_json(SYS_CODE_FAIL, '无权限导出');
}
$params = $this->input->get();
$where = $this->get_where($params);
#$where["cs_biz_id >= 0"] = null;
$where["cs_biz_id >= 0"] = null;
$page = 1;
$size = 10000;
$params['export_tag'] && $size = 500;
$indexs = [
'id' => 'ID',
'name' => '客户姓名',
'mobile' => '手机',
'level' => '客户等级',
'status_name' => '客户状态',
'city_name' => '所在城市',
'county_name' => '所在地区',
'to_send' => '是否改派',
'c_time' => '建档时间',
"dt_time" => "到店时间",
"order_time" => "下单时间",
"cont_time" => "最后联系时间",
"c_brand" => "品牌归属",
"of_title_1" => "来源1",
"of_title_2" => "来源2",
"biz_name" => "归属门店",
"admin_name" => "归属顾问",
"wxqy_name" => "企微好友",
"wxgr_name" => "加个微",
];
$count = $this->customers_model->count($where);
$data = [];
@@ -967,130 +530,50 @@ class Customer extends HD_Controller
$status_arr = $this->customers_model->get_status();
unset($status_arr['-1']);
if ($count) {
$fileds = "id, name, mobile, level, status, cs_biz_id, FROM_UNIXTIME(c_time) as c_time, if(dt_time>0, dt_time,'') as dt_time, if(order_time>0, order_time,'') as order_time, if(cont_time>0, cont_time,'') as cont_time, c_brand, cf_id, of_id, of2_id, (SELECT biz_name FROM `lc_biz` where id = `lc_receiver_customers`.biz_id) as biz_name, (SELECT uname FROM `lc_app_licheb_users` where id = `lc_receiver_customers`.admin_id) as admin_name, biz_id, admin_id, wxqy, wxgr, (select city_name from lc_area where city_id = lc_receiver_customers.city_id limit 1) as city_name, (select county_name from lc_area where county_id = lc_receiver_customers.county_id limit 1) as county_name";
$fileds = "id, name, mobile, level, status, FROM_UNIXTIME(c_time) as c_time, if(dt_time>0, dt_time,'') as dt_time, if(order_time>0, order_time,'') as order_time, if(cont_time>0, cont_time,'') as cont_time, cf_title, cf_id, of_id, of2_id, (SELECT biz_name FROM `lc_biz` where id = `lc_receiver_customers`.biz_id) as biz_name, (SELECT uname FROM `lc_app_licheb_users` where id = `lc_receiver_customers`.admin_id) as admin_name, biz_id, admin_id";
$rows = $this->customers_model->select($where, 'id desc', $page, $size, $fileds);
foreach ($rows as $key => $val) {
$of_title = '';
$of_title_1 = $of_title_2 = '';
if ($val['of_id']) {
$of_ary = $offlineSources[$val['of_id']];
$of_title = $of_ary['name'];
$of_ary['name'] && $of_title_1 = $of_ary['name'];
$val['of2_id'] && $of_title .= '-' . $of_ary['list'][$val['of2_id']];
$val['of2_id'] && $of_ary['list'][$val['of2_id']] && $of_title_2 = $of_ary['list'][$val['of2_id']];
}
$id = $val['id'];
$row = array(
'id' => $id,
$data[] = array(
'id' => 'ID',
'name' => $val['name'],
'mobile' => $val['mobile'],
'level' => $val['level'],
'status_name' => $status_arr[$val['status']],
'city_name' => $val['city_name'],
'county_name' => $val['county_name'],
'to_send' => $this->customers_model->csbizidAry($val['cs_biz_id'] ? $val['cs_biz_id'] : 0),
'c_time' => $val['c_time'],
'dt_time' => $val['dt_time'],
'order_time' => $val['order_time'],
'cont_time' => $val['cont_time'],
'c_brand' => $this->customers_model->cbrandAry($val['c_brand'] ),
'of_title_1' => $of_title_1,
'of_title_2' => $of_title_2,
'of_title' => $of_title,
'biz_name' => $val['biz_name'],
'admin_name' => $val['admin_name'],
'wxqy_name' => $this->customers_model->wxqyAry($val['wxqy']),
'wxgr_name' => $this->customers_model->wxgrAry($val['wxgr']),
);
if ($params['export_tag']){
$tag = $this->get_tag($id);
foreach ($tag as $key => $val) {
$tag_key = 'tag__' . $val['id'];
$row[$tag_key] = $val['value_str'];
if (!in_array($tag_key, array_keys($indexs))) {
$indexs[$tag_key] = $val['name'];
}
}
$tag_intention = $this->get_tag($id, 2);
foreach ($tag_intention as $key => $val) {
$tag_key = 'tag__' . $val['id'];
$row[$tag_key] = $val['value_str'];
if (!in_array($tag_key, array_keys($indexs))) {
$indexs[$tag_key] = '意向-' . $val['name'];
}
}
$tag_defeat = $this->get_tag($id, 1);
foreach ($tag_defeat as $key => $val) {
$tag_key = 'tag__' . $val['id'];
$row[$tag_key] = $val['value_str'];
if (!in_array($tag_key, array_keys($indexs))) {
$indexs[$tag_key] = '战败-' . $val['name'];
}
}
}
$data[] = $row;
}
}
$indexs = [
'name' => '客户姓名',
'mobile' => '手机',
'level' => '客户等级',
'status_name' => '客户类型',
'c_time' => '建档时间',
"dt_time" => "到店时间",
"order_time" => "下单时间",
"cont_time" => "最后联系时间",
"of_title" => "来源",
"biz_name" => "归属门店",
"admin_name" => "归属顾问",
];
$fileName = '客户列表';
array_unshift($data, $indexs);
$this->load->library('excel');
$this->excel->out_csv($data, $indexs, $fileName . "_" . date('YmdHis'));
}
public function export_statdata(){
$params = $this->input->get();
$id = intval($params['id']);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$where = ['id' => $id];
$re = $this->statplan->get($where);
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '计划不存在!');
}
$stat_data = $this->get_statdata($id, $export=true);
$indexs = array();
foreach ($stat_data['indexs'] as $index){
$indexs[$index] = $index;
}
$data = $stat_data['lists'];
$fileName = $re['sp_name'].'_统计数据';
array_unshift($data, $indexs);
$this->load->library('excel');
$this->excel->out_csv($data, $indexs, $fileName . "_" . date('YmdHis'));
}
public function export_statdatalog(){
$params = $this->input->get();
$id = intval($params['id']);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$where = ['id' => $id];
$re = $this->statplan->get($where);
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '计划不存在!');
}
$stat_data = $this->get_statdatalog($params, $export=true);
$indexs = array();
foreach ($stat_data['indexs'] as $index){
$indexs[$index] = $index;
}
$data = $stat_data['lists'];
$fileName = $re['sp_name'].'_统计数据';
array_unshift($data, $indexs);
$this->load->library('excel');
$this->excel->out_csv($data, $indexs, $fileName . "_" . date('YmdHis'));
}
//改派
public function edit_adviser()
{
@@ -1141,51 +624,15 @@ class Customer extends HD_Controller
return $id;
}
private function tagWhere($where, $tags)
{
$pidAry = [];
$res_tag = $this->mdCustomerTag->select(["id in ({$tags})" => null], 'id desc', 0, 0, 'pid,id');
foreach ($res_tag as $v) {
$v['pid'] && $pidAry[$v['pid']][] = $v['id'];
}
$str_c_ids = $res_tag_data = '';
foreach ($pidAry as $v) {
if ($v) {
$where_tag = [];
$str_ids = implode(',', $v);
$where_tag["t_id in({$str_ids})"] = null;
if ($str_c_ids) {
$where_tag["c_id in({$str_c_ids})"] = null;
}
$res_tag_data = $this->mdCustomerTagdata->select_groupby('c_id', $where_tag, "id desc", 0, 0, "c_id");
if (!$res_tag_data) {
break;
}
if ($res_tag_data) {
$str_c_ids = implode(',', array_column($res_tag_data, 'c_id'));
}
}
}
if ($res_tag_data) {
$str_cids = implode(',', array_column($res_tag_data, 'c_id'));
$where["id in({$str_cids})"] = null;
} else {
$where["id"] = -1;
}
return $where;
}
private function get_tag($id, $tag_type = 0, $tag_data = '', $check_show = 0)
private function get_tag($id)
{
$show = $res_td = [];
$res = $this->mdCustomerTag->select(['status' => 1, 'pid' => 0, 'show<>' => 1, 'tag_type' => $tag_type], 'sort desc,id desc', 0, 0, 'id,name,type');
$res = $this->mdCustomerTag->select(['status' => 1, 'pid' => 0, 'show<>' => 1], 'sort desc,id desc', 0, 0, 'id,name,type');
if ($res) {
if ($id) {
$res_td = $this->mdCustomerTagdata->select(['c_id' => $id], 'id desc', 0, 0, 't_id');//查找用户选择
$res_td && $tag_data = array_unique(array_column($res_td, 't_id'));
}
$id && $res_td = $this->mdCustomerTagdata->select(['c_id' => $id], 'id desc', 0, 0, 't_id');//查找用户选择
$tag_data = $res_td ? array_unique(array_column($res_td, 't_id')) : '';
foreach ($res as $key => $val) {
$list = $value_arr = [];
$list = [];
$value = '';
$res2 = $this->mdCustomerTag->select(['status' => 1, 'pid' => $val['id']], 'sort desc,id desc', 0, 0, 'id,name');
foreach ($res2 as $key2 => $val2) {
@@ -1193,24 +640,16 @@ class Customer extends HD_Controller
$setValue = ['id' => $val2['id'], 'name' => $val2['name']];
if ($val['type'] == 'checkbox') {
$setValue['checked'] = $tag_data && in_array($val2['id'], $tag_data) ? true : false;
if ($setValue['checked']) {
$value_arr[] = $val2['name'];
$check_show && $check_show = 0;
}
} else {
if ($tag_data && in_array($val2['id'], $tag_data)) {
$value = $val2['id'];
$value_arr[] = $val2['name'];
$check_show && $check_show = 0;
}
}
$list[] = $setValue;
}
$value_str = $value_arr ? implode(', ', $value_arr) : '';
$show[] = ['id' => $val['id'], 'name' => $val['name'], 'type' => $val['type'], 'value' => $value, 'value_str' => $value_str, 'list' => $list];
$show[] = ['id' => $val['id'], 'name' => $val['name'], 'type' => $val['type'], 'value' => $value, 'list' => $list];
}
}
$check_show && $show = '';
return $show;
}
+4 -7
View File
@@ -20,8 +20,7 @@ class Orders extends HD_Controller
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_attr_model');
$this->load->model('auto/auto_finance_model');
//$this->load->model('sys/sys_finance_model');
$this->load->model('sys/sys_supplier_model');
$this->load->model('sys/sys_finance_model');
$this->load->model('sys/sys_company_model');
$this->load->model('app/liche/app_liche_orders_model');
@@ -179,10 +178,8 @@ class Orders extends HD_Controller
$loan['lend_file'] = $loan['lend_file'] ? build_qiniu_image_url($loan['lend_file']) : '';
$loan['lend_file_name'] = $loan['lend_file'] ? end(explode('/', $loan['lend_file'])) : '';
//$loan['finance_rows'] = $this->sys_finance_model->select(['status' => 1], '', 0, 0, 'id,title');
//$loan['finance_rows_nums'] = $this->sys_finance_model->get_nums();
$loan['finance_rows'] = $this->sys_supplier_model->select(['status' => 1, 'type'=>3], '', 0, 0, 'id,title');
$loan['finance_rows_nums'] = $this->auto_finance_model->get_nums();
$loan['finance_rows'] = $this->sys_finance_model->select(['status' => 1], '', 0, 0, 'id,title');
$loan['finance_rows_nums'] = $this->sys_finance_model->get_nums();
$loan['price_loan'] = $money_json['price_loan'] ? $money_json['price_loan'] : '';
$loan['first_pay'] = 0;
if ($money_json['price_loan']) {
@@ -871,7 +868,7 @@ class Orders extends HD_Controller
}
$p_row = $this->app_liche_orders_model->get(['pid'=>0,'o_id'=>$row['id']]);
$this->load->helper('order');
$sid = create_order_no(350200, 'liche');
$sid = create_order_no(350200, 'liche', 1, $type);
$data = [
'o_id' => $row['id'],
'sid' => $sid,
+10 -78
View File
@@ -54,7 +54,6 @@ class Owners extends HD_Controller
!$params['brand_id'] && $params['brand_id'] = '';
!$params['s_id'] && $params['s_id'] = '';
!$params['v_id'] && $params['v_id'] = '';
!$params['tags'] && $params['tags'] = '';
if (strlen($params['status'])) {
$where["a.status"] = $params['status'];
} else {
@@ -98,7 +97,6 @@ class Owners extends HD_Controller
if ($params['sex']) {
$where["a.sex"] = $params['sex'];
}
$where['a.brand_id in (select id from lc_auto_brand where status > -1)'] = null;
if ($params['brand_id']) {
$where["a.brand_id"] = $params['brand_id'];
}
@@ -118,37 +116,6 @@ class Owners extends HD_Controller
} else if ($params['city_id_admin']) {
$where["b.biz_id in(select id from lc_biz where city_id={$params['city_id_admin']})"] = null;
}
if ($params['tags']) {
$pidAry = [];
$res_tag = $this->mdOwnersTag->select(["id in ({$params['tags']})" => null], 'id desc', 0, 0, 'pid,id');
foreach ($res_tag as $v) {
$v['pid'] && $pidAry[$v['pid']][] = $v['id'];
}
$str_o_ids = $res_tag_data = '';
foreach ($pidAry as $v) {
if ($v) {
$where_tag = [];
$str_ids = implode(',', $v);
$where_tag["t_id in({$str_ids})"] = null;
if ($str_o_ids) {
$where_tag["o_id in({$str_o_ids})"] = null;
}
$res_tag_data = $this->mdOwnersTagdata->select_groupby('o_id', $where_tag, "id desc", 0, 0, "o_id");
if (!$res_tag_data) {
break;
}
if ($res_tag_data) {
$str_o_ids = implode(',', array_column($res_tag_data, 'o_id'));
}
}
}
if ($res_tag_data) {
$str_oids = implode(',', array_column($res_tag_data, 'o_id'));
$where["a.id in({$str_oids})"] = null;
} else {
$where["a.id"] = -1;
}
}
$lists = [];
$wxqyAry = $this->mdOwners->wxqyAry();
$statusAry = $this->mdOwners->statusAry();
@@ -177,8 +144,8 @@ class Owners extends HD_Controller
#$str_biz_ids = implode(',', array_unique(array_column($res, 'biz_id')));
#$map_bizs = $this->mdBiz->map('id', 'biz_name', ["id in({$str_biz_ids})" => null]);
$arr_biz_id = array_unique(array_column($res, 'biz_id'));
foreach ($arr_biz_id as $k => $v) {
if ($v == null || $v == '') {
foreach ($arr_biz_id as $k => $v){
if ($v == null || $v == ''){
unset($arr_biz_id[$k]);
}
}
@@ -187,8 +154,8 @@ class Owners extends HD_Controller
#$str_admin_ids = implode(',', array_unique(array_column($res, 'admin_id')));
#$map_admins = $this->mdLichebUsers->map('id', 'uname', ["id in({$str_admin_ids})" => null]);
$arr_admin_id = array_unique(array_column($res, 'admin_id'));
foreach ($arr_admin_id as $k => $v) {
if ($v == null || $v == '') {
foreach ($arr_admin_id as $k => $v){
if ($v == null || $v == ''){
unset($arr_admin_id[$k]);
}
}
@@ -200,9 +167,6 @@ class Owners extends HD_Controller
$map_brands[$val['brand_id']] && $car_name = $map_brands[$val['brand_id']];
$map_series[$val['s_id']] && $car_name = $car_name ? $car_name . '-' . $map_series[$val['s_id']] : $map_series[$val['s_id']];
$map_attrs[$val['v_id']] && $car_name = $car_name ? $car_name . '-' . $map_attrs[$val['v_id']] : $map_attrs[$val['v_id']];
$brand_name = isset($map_brands[$val['brand_id']]) ? $map_brands[$val['brand_id']] : '';
$series_name = isset($map_series[$val['s_id']]) ? $map_series[$val['s_id']] : '';
$v_name = isset($map_attrs[$val['v_id']]) ? $map_attrs[$val['v_id']] : '';
$map_countys[$val['county_id']] && $city_name = $map_countys[$val['county_id']]['city_name'] . '-' . $map_countys[$val['county_id']]['county_name'];
if (!$city_name && $val['city_id']) {
$re_are = $this->mdArea->get(['city_id' => $val['city_id']]);
@@ -219,9 +183,6 @@ class Owners extends HD_Controller
'sex' => $sex,
'age' => $this->getAgeByBirth($val['birth_day']),
'car_name' => $car_name,
'brand_name' => $brand_name,
'series_name' => $series_name,
'v_name' => $v_name,
'city_name' => $city_name,
'biz_name' => $biz_name,
'admin_name' => $admin_name,
@@ -234,8 +195,6 @@ class Owners extends HD_Controller
];
}
}
$tag_data = $params['tags'] ? explode(',', $params['tags']) : '';
$show_info['tags'] = $this->get_tag(0, $tag_data);
$show_info['searchTpAry'] = $this->searchTpAry;
$show_info['wxqyAry'] = $wxqyAry;
$show_info['statusAry'] = $statusAry;
@@ -466,14 +425,10 @@ class Owners extends HD_Controller
$data = $indexs = array();
$res = $this->dataSelect($params);
$fileName = $res['_title'];
$indexs_tags = array();
foreach ($res['lists'] as $key => $value) {
$temp['name'] = $value['name'];
$temp['mobile'] = $value['mobile'];
$temp['car_name'] = $value['car_name'];
$temp['brand_name'] = $value['brand_name'];
$temp['series_name'] = $value['series_name'];
$temp['v_name'] = $value['v_name'];
$temp['city_name'] = $value['city_name'];
$temp['car_num'] = $value['car_num'];
$temp['sex'] = $value['sex'];
@@ -486,27 +441,12 @@ class Owners extends HD_Controller
$temp['biz_name'] = $value['biz_name'];
$temp['admin_name'] = $value['admin_name'];
$temp['u_time'] = $value['u_time'];
$tag = $this->get_tag($value['id']);
foreach ($tag as $key2 => $val2) {
$tag_id_key = 'tag_id_' . $val2['id'];
$tag_name = $val2['name'];
$tag_value = $val2['value_name'];
if (!in_array($tag_id_key, array_keys($indexs_tags))) {
$indexs_tags[$tag_id_key] = $tag_name;
}
$temp[$tag_id_key] = $tag_value;
}
$data[] = $temp;
$data[] = $value;
}
$indexs = [
'name' => '车主',
'mobile' => '手机号',
#'car_name' => '车辆',
'brand_name' => '品牌',
'series_name' => '车系',
'v_name' => '车型',
'car_name' => '车辆',
'city_name' => '所在城市',
'car_num' => '车牌号',
"sex" => "性别",
@@ -519,7 +459,6 @@ class Owners extends HD_Controller
"admin_name" => "销售员",
"u_time" => "最后操作时间",
];
$indexs = array_merge($indexs, $indexs_tags);
array_unshift($data, $indexs);
$this->load->library('excel');
$this->excel->out_csv($data, $indexs, $fileName . "_" . date('YmdHis'));
@@ -554,39 +493,32 @@ class Owners extends HD_Controller
* Created on: 2022/6/16 14:47
* Created by: dengbw
* @param $id
* @param $tag_data
* @return array
*/
private function get_tag($id, $tag_data = '')
private function get_tag($id)
{
$show = $res_td = [];
$res = $this->mdOwnersTag->select(['status' => 1, 'pid' => 0], 'sort desc,id desc', 0, 0, 'id,name,type');
if ($res) {
if ($id) {
$res_td = $this->mdOwnersTagdata->select(['o_id' => $id], 'id desc', 0, 0, 't_id');//查找用户选择
$tag_data = $res_td ? array_unique(array_column($res_td, 't_id')) : '';
}
$id && $res_td = $this->mdOwnersTagdata->select(['o_id' => $id], 'id desc', 0, 0, 't_id');//查找用户选择
$tag_data = $res_td ? array_unique(array_column($res_td, 't_id')) : '';
foreach ($res as $key => $val) {
$list = [];
$value = '';
$value_name = '';
$res2 = $this->mdOwnersTag->select(['status' => 1, 'pid' => $val['id']], 'sort desc,id desc', 0, 0, 'id,name');
foreach ($res2 as $key2 => $val2) {
//检查是否选中标签
$setValue = ['id' => $val2['id'], 'name' => $val2['name']];
if ($val['type'] == 'checkbox') {
$setValue['checked'] = $tag_data && in_array($val2['id'], $tag_data) ? true : false;
$setValue['checked'] && $value_name .= $val2['name'] . ' ';
} else {
if ($tag_data && in_array($val2['id'], $tag_data)) {
$value = $val2['id'];
$value_name .= $val2['name'];
}
}
$list[] = $setValue;
}
$value_name = trim($value_name);
$show[] = ['id' => $val['id'], 'name' => $val['name'], 'type' => $val['type'], 'value' => $value, 'value_name' => $value_name, 'list' => $list];
$show[] = ['id' => $val['id'], 'name' => $val['name'], 'type' => $val['type'], 'value' => $value, 'list' => $list];
}
}
return $show;
+1 -6
View File
@@ -4,12 +4,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
class OwnersTag extends HD_Controller
{
private $tabAry = [
1 => ['title' => '客户标签', 'url' => '/receiver/tag'],
2 => ['title' => '车主标签', 'url' => '/receiver/ownersTag'],
3 => ['title' => '战败标签', 'url' => '/receiver/tag?tag_type=1'],
4 => ['title' => '意向标签', 'url' => '/receiver/tag?tag_type=2']
];
private $tabAry = [1 => ['title' => '客户标签', 'url' => '/receiver/tag'], 2 => ['title' => '车主标签', 'url' => '/receiver/ownersTag']];
public function __construct()
{
+7 -25
View File
@@ -4,12 +4,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
class Tag extends HD_Controller
{
private $tabAry = [
1 => ['title' => '客户标签', 'url' => '/receiver/tag'],
2 => ['title' => '车主标签', 'url' => '/receiver/ownersTag'],
3 => ['title' => '战败标签', 'url' => '/receiver/tag?tag_type=1'],
4 => ['title' => '意向标签', 'url' => '/receiver/tag?tag_type=2']
];
private $tabAry = [1 => ['title' => '客户标签', 'url' => '/receiver/tag'], 2 => ['title' => '车主标签', 'url' => '/receiver/ownersTag']];
public function __construct()
{
@@ -29,14 +24,12 @@ class Tag extends HD_Controller
$params = $this->input->get();
$params['page'] = $params['page'] ? intval($params['page']) : 1;
$params['size'] = $params['size'] ? intval($params['size']) : 20;
#$params['tab'] = $params['tag_type'] ? 3 : 1;
$params['tab'] = $params['tag_type'] ? $params['tag_type'] + 2 : 1;
$params['tab'] = 1;
$statusAry = $this->mdCustomerTag->statusAry();
$typeAry = $this->mdCustomerTag->typeAry();
$showAry = $this->mdCustomerTag->showAry();
$lists = array();
$where = ["status<>-1" => null, 'pid' => 0];
$where['tag_type'] = $params['tag_type'] ? $params['tag_type'] : 0;
if (strlen($params['status'])) {
$where['status'] = $params['status'];
}
@@ -88,8 +81,6 @@ class Tag extends HD_Controller
public function get()
{
$id = intval($this->input->get('id'));
$tag_type = $this->input->get('tag_type');
!$tag_type && $tag_type = 0;
if ($id) {
$url = "/receiver/tag/edit";
$re = $this->mdCustomerTag->get(['id' => $id]);
@@ -107,7 +98,7 @@ class Tag extends HD_Controller
$type = 'checkbox';
}
$this->data['showInfo'] = ['id' => $id, 'name' => $name, 'sort' => $sort, 'type' => $type, 'show' => $show,
'typeAry' => $this->mdCustomerTag->typeAry(), 'showAry' => $this->mdCustomerTag->showAry(), 'url' => $url,'tag_type'=>$tag_type];
'typeAry' => $this->mdCustomerTag->typeAry(), 'showAry' => $this->mdCustomerTag->showAry(), 'url' => $url];
return $this->show_view('/receiver/tag/edit');
}
@@ -122,14 +113,8 @@ class Tag extends HD_Controller
if ($re) {
return $this->show_json(SYS_CODE_FAIL, '标签名称已存在了!');
}
$add_data = [
'name' => $params['name'],
'sort' => $params['sort'],
'type' => $params['type'],
'show' => $params['show']
];
$params['tag_type'] && $add_data['tag_type'] = $params['tag_type'];
$id = $this->mdCustomerTag->add($add_data);
$id = $this->mdCustomerTag->add(['name' => $params['name'], 'sort' => $params['sort'], 'type' => $params['type']
, 'show' => $params['show']]);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '保存失败');
}
@@ -172,9 +157,6 @@ class Tag extends HD_Controller
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '标签不存在!');
}
if ($re['tag_type'] == 2) {
return $this->show_json(SYS_CODE_FAIL, '该标签不能删除!');
}
$this->mdCustomerTag->update(['status' => '-1'], ['id' => $id]);
if (false !== strpos($_SERVER['HTTP_HOST'], 'admin.liche.cn') && $re['qy_id']) {//正试才能修改企业标签
$this->load->library('wx_qyapi', ['app' => 'lichene']);
@@ -198,7 +180,7 @@ class Tag extends HD_Controller
$add_tag = $del_tag = $edit_tag = [];
foreach ($options as $key => $value) {
$sort = intval($value['sort']);
$data = ['name' => $value['name'], 'status' => $value['status'], 'sort' => $sort, 'tag_type' => $re['tag_type']];
$data = ['name' => $value['name'], 'status' => $value['status'], 'sort' => $sort];
if ($value['status'] == -1 && $value['qy_id']) {//删除标签
$del_tag[] = $value['qy_id'];
}
@@ -215,7 +197,7 @@ class Tag extends HD_Controller
}
}
}
if (false !== strpos($_SERVER['HTTP_HOST'], 'admin.liche.cn') && !$re['tag_type']) {//正试才能修改企业标签
if (false !== strpos($_SERVER['HTTP_HOST'], 'admin.liche.cn')) {//正试才能修改企业标签
$this->load->library('wx_qyapi', ['app' => 'lichene']);
if (count($add_tag)) {//新增标签
if (!$re['qy_id']) {
File diff suppressed because it is too large Load Diff
+7 -18
View File
@@ -63,9 +63,7 @@ class order extends HD_Controller
$config['bizs'] = [
1 => ['biz_name' => '泉州零跑品牌店', 'ids' => '63', 'rowspan' => 1],
2 => ['biz_name' => '泉州渠道', 'not_ids' => '63', 'city_id' => '350500', 'show' => 'order'],
3 => ['biz_name' => '厦门渠道', 'city_id' => '350200', 'show' => 'order'],
4 => ['biz_name' => '福州渠道', 'city_id' => '350100', 'show' => 'order'],
];
3 => ['biz_name' => '厦门渠道', 'city_id' => '350200', 'show' => 'order']];
$res = $this->commonSelect($params, $config);
$this->data['info'] = $res['info'];
$this->data['params'] = $res['params'];
@@ -88,10 +86,7 @@ class order extends HD_Controller
2 => ['biz_name' => '宁德哪吒代理店', 'type' => 3, 'city_id' => '350900', 'show' => 'order'],
3 => ['biz_name' => '厦门哪吒订单中心', 'city_id' => '350200', 'show' => 'order'],
4 => ['biz_name' => '泉州哪吒订单中心', 'city_id' => '350500', 'show' => 'order'],
5 => ['biz_name' => '福州哪吒订单中心', 'city_id' => '350100', 'show' => 'order'],
6 => ['biz_name' => '漳州哪吒品牌店', 'type' => 1, 'city_id' => '350600', 'show' => 'order'],
7 => ['biz_name' => '漳州哪吒代理店', 'type' => 3, 'city_id' => '350600', 'show' => 'order'],
];
5 => ['biz_name' => '福州哪吒订单中心', 'city_id' => '350100', 'show' => 'order']];
$res = $this->commonSelect($params, $config);
$this->data['info'] = $res['info'];
$this->data['params'] = $res['params'];
@@ -119,14 +114,13 @@ class order extends HD_Controller
6 => ['biz_name' => '三明代理店', 'type' => 3, 'city_id' => '350400'],
7 => ['biz_name' => '南平代理店', 'type' => 3, 'city_id' => '350700'],
8 => ['biz_name' => '漳州代理店', 'type' => 3, 'city_id' => '350600'],
9 => ['biz_name' => '厦门代理店', 'type' => 3, 'city_id' => '350200'],
];
$res = $this->common2Select($params, $config);
$this->data['info'] = $res['info'];
$this->data['params'] = $res['params'];
$this->data['url'] = '/stats/order/get_agent';
$this->data['type_name'] = '代理店';
$this->data['_title'] = '代理店群';
$this->data['_title'] = '代理店品牌店群';
return $this->show_view('stats/order/common2', true);
}
@@ -146,12 +140,12 @@ class order extends HD_Controller
$this->data['params'] = $res['params'];
$this->data['url'] = '/stats/order/get_partner';
$this->data['type_name'] = '合伙店';
$this->data['_title'] = '合伙店群';
$this->data['_title'] = '合伙店品牌店群';
return $this->show_view('stats/order/common2', true);
}
/**
* Notes:品牌店群
* Notes:东风品牌店群
* Created on: 2022/8/17 14:17
* Created by: dengbw
* @return bool|void
@@ -163,18 +157,13 @@ class order extends HD_Controller
$config['bizs'] = [
1 => ['biz_name' => '厦门东风', 'ids' => '20', 'rowspan' => 1],
2 => ['biz_name' => '晋江东风', 'ids' => '99'],
3 => ['biz_name' => '福州东风', 'ids' => '55'],
4 => ['biz_name' => '厦门哪吒', 'ids' => '191'],
5 => ['biz_name' => '宁德哪吒', 'ids' => '70'],
6 => ['biz_name' => '漳州哪吒', 'ids' => '160'],
7 => ['biz_name' => '泉州零跑', 'ids' => '63'],
];
3 => ['biz_name' => '福州东风', 'ids' => '55']];
$res = $this->common2Select($params, $config);
$this->data['info'] = $res['info'];
$this->data['params'] = $res['params'];
$this->data['url'] = '/stats/order/';
$this->data['type_name'] = '品牌店';
$this->data['_title'] = '品牌店群';
$this->data['_title'] = '东风品牌店群';
return $this->show_view('stats/order/common2', true);
}
+10 -10
View File
@@ -130,11 +130,11 @@ class Company extends HD_Controller{
return $this->show_json(SYS_CODE_FAIL, '请选择城市');
}
// $where = array("title like '{$title}'" => null);
// $count = $this->company_model->count($where);
// if($count>0){
// return $this->show_json(SYS_CODE_FAIL, '公司已存在');
// }
$where = array("title like '{$title}'" => null);
$count = $this->company_model->count($where);
if($count>0){
return $this->show_json(SYS_CODE_FAIL, '公司已存在');
}
$add = array(
'title' => $title,
@@ -170,11 +170,11 @@ class Company extends HD_Controller{
return $this->show_json(SYS_CODE_FAIL, '请选择城市');
}
// $where = array("title like '{$title}'" => null, "id<>{$info['id']}" => null);
// $count = $this->company_model->count($where);
// if($count>0){
// return $this->show_json(SYS_CODE_FAIL, '公司已存在');
// }
$where = array("title like '{$title}'" => null, "id<>{$info['id']}" => null);
$count = $this->company_model->count($where);
if($count>0){
return $this->show_json(SYS_CODE_FAIL, '公司已存在');
}
$upd = array(
'title' => $title,
-264
View File
@@ -1,264 +0,0 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* ref Finance.php
*/
class Supplier extends HD_Controller{
protected $log_dir;
function __construct(){
parent::__construct();
$this->load->model("sys/sys_supplier_model", 'supplier_model');
$this->load->model('biz/biz_settle_srv_model');
$this->log_dir = 'sys_' . get_class($this);
}
public function index(){
return $this->lists();
}
public function lists(){
$params = $this->input->get();
$where = array();
if ($params['keyword']){
$params['keyword'] = trim($params['keyword']);
$where["(title like '%{$params['keyword']}%' or short like '%{$params['keyword']}%')"] = null;
}
if(strlen($params['status']) > 0){
$where['status'] = $params['status'];
} else {
$params['status'] = '';
}
if($params['type']){
$where['type'] = $params['type'];
} else {
$params['type'] = '';
}
$page = $params['page'];
$page = !$page ? 1 : $page;
$size = $params['size'];
$size = !$size ? 20 : $size;
$statusAry = $this->supplier_model->status_ary();
$typeAry = $this->supplier_model->type_ary();
$count = $this->supplier_model->count($where);
$lists = array();
if($count){
$orderby = 'status desc, id desc';
$select = '*';
$rows = $this->supplier_model->select($where, $orderby, $page, $size, $select);
foreach($rows as $k => $v){
$lists[] = array(
'id' => $v['id'],
'title' => $v['title'],
'short' => $v['short'],
'type' => $v['type'],
'type_name' => $typeAry[$v['type']],
'jsondata' => json_decode($v['jsondata'], true),
'status' => $v['status'],
'status_name' => $statusAry[$v['status']],
'c_time' => date('Y-m-d H:i:s', $v['c_time'])
);
}
}
$this->data['params'] = $params;
$this->data['lists'] = $lists;
$this->data['statusAry'] = $statusAry;
$this->data['typeAry'] = $typeAry;
$this->data['pager'] = array('count'=>ceil($count/$size),'curr'=>$page,'totle'=>$count);
$this->data['_title'] = '供应商';
$this->show_view('sys/supplier/lists',true);
}
public function get(){
$id = $this->input->get('id');
if($id){
$row = $this->supplier_model->get(array('id' => $id));
$info = array(
'id' => $row['id'],
'title' => $row['title'],
'short' => $row['short'],
'type' => $row['type'],
'jsondata' => json_decode($row['jsondata'], true),
'status' => $row['status'],
);
$action = '/sys/supplier/edit';
$title = '编辑供应商';
} else {
$info = array(
'title' => '',
'short' =>'',
'type' => 1,
'status' => 1,
);
$action = '/sys/supplier/add';
$title = '新增供应商';
}
$this->data['info'] = $info;
$this->data['action'] = $action;
$this->data['statusAry'] = $this->supplier_model->status_ary();
$this->data['typeAry'] = $this->supplier_model->type_ary();
$this->data['_title'] = $title;
$this->show_view('sys/supplier/get');
}
public function add(){
$info = $this->input->post('info');
$type = trim($info['type']);
if(!$type){
return $this->show_json(SYS_CODE_FAIL, '请选择供应商类型');
}
$title = trim($info['title']);
if(!$title){
return $this->show_json(SYS_CODE_FAIL, '请输入供应商名字');
}
$where = array("title like '%{$title}%'" => null, "type" => $type);
$count = $this->supplier_model->count($where);
if($count>0){
return $this->show_json(SYS_CODE_FAIL, '供应商已经存在');
}
$short = trim($info['short']);
$short = $this->short_check($short, $type, $info['id']);
$add = array(
'title' => $title,
'short' => $short,
'jsondata' => json_encode(array()),
'type' => intval($type),
'status' => intval($info['status']),
'c_time' => time(),
);
$id = $this->supplier_model->add($add);
if(!$id){
debug_log("[error]# " . $this->supplier_model->db->last_query(), __FUNCTION__, $this->log_dir);
return $this->show_json(SYS_CODE_FAIL, '保存失败');
}
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
public function edit(){
$info = $this->input->post('info');
$row = $this->supplier_model->get(array('id' => $info['id']));
if (!$row){
return $this->show_json(SYS_CODE_FAIL, '参数错误:ID不存在');
}
$type = trim($info['type']);
if(!$type){
return $this->show_json(SYS_CODE_FAIL, '请选择供应商类型');
}
$title = trim($info['title']);
if(!$title){
return $this->show_json(SYS_CODE_FAIL, '请输入供应商名字');
}
$where = array("title like '%{$title}%'" => null, "type" => $type, "id<>{$info['id']}" => null);
$count = $this->supplier_model->count($where);
if($count>0){
return $this->show_json(SYS_CODE_FAIL, '供应商已经存在');
}
$short = trim($info['short']);
$short = $this->short_check($short, $type, $info['id']);
$upd = array(
'title' => $title,
'short' => $short,
'jsondata' => json_encode(array()),
'type' => intval($type),
'status' => intval($info['status']),
);
$ret = $this->supplier_model->update($upd, array('id' => $info['id']));
if(!$ret){
debug_log("[error]# " . $this->supplier_model->db->last_query(), __FUNCTION__, $this->log_dir);
return $this->show_json(SYS_CODE_FAIL, '保存失败');
}
# title修改要同步
if ($row['title'] != $title){
$upd = array(
'title' => $title,
"jsondata = json_set(jsondata, '$.supplier_title', '{$title}')" => null,
);
$where = array(
'type' => intval($type),
"JSON_UNQUOTE(json_extract(jsondata, '$.supplier_id')) = '{$info['id']}'" => null,
);
$this->biz_settle_srv_model->update($upd, $where);
}
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
private function short_check($short='', $type=2, $id=0){
$short = trim($short);
if (!$short){
return $short;
}
$short = str_replace('',',', $short);
$short = str_replace(' ',',', $short);
$short = str_replace(' ',',', $short);
$shorts = explode(',', $short);
$shorts_new = array();
foreach ($shorts as $short){
if (!$short){
continue;
}
$shorts_new[] = $short;
$where = array("short like '%{$short}%'" => null, "type" => $type);
$id && $where["id<>{$id}"] = null;
$count = $this->supplier_model->count($where);
if($count>0){
$this->show_json(SYS_CODE_FAIL, "简称'{$short}'已经存在");exit();
}
}
$short = implode(',', $shorts_new);
return $short;
}
function edit_status(){
$id = $this->input->post('id');
$status = $this->input->post('status');
$upd = array('status' => $status);
$where = array('id' => $id);
$ret = $this->supplier_model->update($upd, $where);
if(!$ret){
debug_log("[error]# " . $this->supplier_model->db->last_query(), __FUNCTION__, $this->log_dir);
return $this->show_json(SYS_CODE_FAIL, '保存失败');
}
return $this->show_json(SYS_CODE_SUCCESS, '保存成功');
}
public function del(){
// TODO: Implement del() method.
}
public function batch(){
// TODO: Implement batch() method.
}
public function export(){
// TODO: Implement export() method.
}
}
+231 -62
View File
@@ -1,19 +1,22 @@
<?php
/**
* Notes:报名管理
* Created on: 2023/3/27 12:45
* Created on: 2020/5/18 12:45
* Created by: dengbw
* @return bool
*/
Class Enroll extends HD_Controller
{
private $statusAry = array(-1 => '已失效', 0 => '未核销', 1 => '已核销');
public function __construct()
{
parent::__construct();
$this->load->model('topics/topics_model', 'mdTopics');
$this->load->model('topics/topic_enroll_model', 'mdEnroll');
$this->load->model('receiver/receiver_clues_cfrom_model', 'mdCluesCfrom');
$this->load->model('topics/topic_modules_model', 'mdTopicModules');
$this->load->model('topics/topic_module_enroll_model', 'mdModuleEnroll');
$this->load->model('topics/topic_module_enrolldata_model', 'mdModuleEnrolldata');
}
public function index()
@@ -26,81 +29,182 @@ Class Enroll extends HD_Controller
$params = $this->input->get();
$params['page'] = $params['page'] ? intval($params['page']) : 1;
$params['size'] = $params['size'] ? intval($params['size']) : 20;
$params['id'] = intval($params['id']);
$params['module_id'] = intval($params['module_id']);
$res = $this->dataSelect($params);
if ($res['code'] == 0) {
return $this->show_json(SYS_CODE_FAIL, $res['msg']);
}
$lists = $res['lists'];
$count = $res['count'];
$this->data['params'] = $res['params'];
$this->data['_title'] = $res['title'];
$this->data['_title'] = $res['title'] . '列表';
$this->data['type'] = $res['type'];
$this->data['statusAry'] = $this->statusAry;
$this->data['pager'] = array('count' => ceil($count / $params['size']), 'curr' => $params['page'], 'totle' => $count);
$this->data['lists'] = $lists;
return $this->show_view('topics/lists_enroll', true);
return $this->show_view('topics/enroll/lists', true);
}
/**
* 报名活动列表
* @return bool
*/
public function lists_module()
{
$params = $this->input->get();
$page = $params['page'] ? $params['page'] : 1;
$size = $params['size'] ? $params['size'] : 20;
$app_id = $params['app_id'];
$search_ary = array("title" => "标题", "module_id" => "ID");
//根据应用获取模块
$where = array('app_id' => $app_id);
$rows_topic = $this->mdTopics->select($where);
$module_ids = array();
if ($rows_topic) {
foreach ($rows_topic as $v) {
if ($v['module_ids']) {
$ids = explode(',', $v['module_ids']);
if ($ids) {
$module_ids = array_merge($module_ids, $ids);
}
}
}
}
$total = 0;
$lists = array();
if ($module_ids) {
$str_ids = implode(',', $module_ids);
$where = array("module_id in ({$str_ids})" => null);
if ($params['search_v']) {
if ('title' == $params['search_k']) {
$where["m.title like '%{$params['search_v']}%'"] = null;
} else {
$where["m.{$params['search_k']}"] = $params['search_v'];
}
}
!$params['search_k'] && $params['search_k'] = 'title';
if (strlen($params['status']) > 0) {
$where['j.status'] = $params['status'];
} else {
$where['j.status>=0'] = null;
$params['status'] = '';
}
$total = $this->mdModuleEnroll->count_status($where);
if ($total) {
$orderby = 'id desc';
$select = "module_id, title, es_time, ee_time, as_time, ae_time, j.status";
$rows = $this->mdModuleEnroll->select_status($where, $orderby, $page, $size, $select);
foreach ($rows as $v) {
$lists[] = array(
'id' => $v['module_id'],
'title' => $v['title'],
'e_time' => "{$v['es_time']}~{$v['ee_time']}",
'a_time' => "{$v['as_time']}~{$v['ae_time']}",
'status' => $v['status'],
'statusion' => 1 == $v['status'] ? "正常" : "下架",
);
}
}
}
$this->data['params'] = $params;
$this->data['lists'] = $lists;
$this->data['search_ary'] = $search_ary;
$this->data['_title'] = '报名活动管理';
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page, 'totle' => $total);
return $this->show_view('topics/enroll/lists_module', true);
}
/**
* Notes:查找报名数据
* Created on: 2023/3/27 16:37
* Created on: 2020/5/19 16:37
* Created by: dengbw
* @param $params
* @return array
*/
private function dataSelect($params)
{
$where['topics_id'] = $params['id'];
if ($params['nickname']) {
$where['nickname like "%' . $params['nickname'] . '%"'] = null;
$where = $lists = array();
$title = '活动报名';
$type = 0;
if ($params['module_id']) {
$where['module_id'] = $params['module_id'];
$row_en = $this->mdModuleEnroll->get(array('module_id' => $params['module_id']), 'title,type');
$title = $row_en['title'];
$type = $row_en['type'];
} else {
//根据应用获取报名列表
$app_id = $params['app_id'];
$where_topic = array('app_id' => $app_id);
$rows_topic = $this->mdTopics->select($where_topic);
$module_ids = array();
if ($rows_topic) {
foreach ($rows_topic as $v) {
if ($v['module_ids']) {
$ids = explode(',', $v['module_ids']);
if ($ids) {
$module_ids = array_merge($module_ids, $ids);
}
}
}
}
if ($module_ids) {
$str_ids = implode(',', $module_ids);
$where["module_id in ({$str_ids})"] = null;
} else {
$where['module_id'] = -1;
}
}
if (status_verify($params['status'])) {
$where['status'] = $params['status'];
} else {
$params['status'] = -99;
}
if ($params['name']) {
$where['name like "%' . $params['name'] . '%"'] = null;
}
if ($params['mobile']) {
$where['mobile'] = $params['mobile'];
}
if ($params['cfrom_id'] || $params['cfrom_id2']) {
if ($params['cfrom_id2']) {
$where['cf_id'] = $params['cfrom_id2'];
} else {
$cf_rows = $this->mdCluesCfrom->select(['pid' => $params['cfrom_id']], '', '', '', 'id');
$cf_ids = array_column($cf_rows, 'id');
$cf_ids[] = $params['cfrom_id'];
$cf_str_ids = implode(',', array_filter($cf_ids));
$cf_str_ids && $where["cf_id in ({$cf_str_ids})"] = null;
}
if ($params['code']) {
$where['code'] = $params['code'];
}
if ($params['time']) {
$time = explode(' ~ ', $params['time']);
$time[0] && $where["c_time >="] = strtotime($time[0] . ' 00:00:00');
$time[1] && $where["c_time <="] = strtotime($time[1] . ' 23:59:59');
}
$lists = [];
$count = $this->mdEnroll->count($where);
$count = $this->mdModuleEnrolldata->count($where);
if ($count) {
$res = $this->mdEnroll->select($where, "id desc", $params['page'], $params['size']);
//获取来源
$map_cf_pid = $cf_title_arr = [];
$cf_id_arr = array_unique(array_column($res, 'cf_id'));
if ($cf_id_arr) {
$cf_id_str = implode(',', $cf_id_arr);
$res_cfrom = $this->mdCluesCfrom->select(["id in({$cf_id_str})" => null], 'id desc', 0, 0, 'id,title,pid');
$cf_pid_arr = array_unique(array_column($res_cfrom, 'pid'));
if ($cf_pid_arr) {
$cf_pid_str = implode(',', $cf_pid_arr);
$map_cf_pid = $this->mdCluesCfrom->map('id', 'title', ["id in({$cf_pid_str})" => null]);
}
foreach ($res_cfrom as $key => $val) {
$title = $val['title'];
if ($val['pid']) {//一级分类
$map_cf_pid[$val['pid']] && $title = $map_cf_pid[$val['pid']] . '-' . $title;
}
$cf_title_arr[$val['id']] = $title;
}
$select = "id,module_id,name,mobile,code,status,c_time,jsondata";
$lists = $this->mdModuleEnrolldata->select($where, "id desc", $params['page'], $params['size'], $select);
$map_module = array();
if ($lists) {
$module_ids = array_unique(array_column($lists, 'module_id'));
$str_ids = implode(',', $module_ids);
$where_module = array("module_id in ({$str_ids})" => null);
$map_module = $this->mdModuleEnroll->map('module_id', '*', $where_module, '', 0, 0, 'module_id, title, descrip');
}
foreach ($res as $k => $v) {
$cf_name = $cf_title_arr[$v['cf_id']] ? $cf_title_arr[$v['cf_id']] : '-';
$c_time = date('Y-m-d H:i', $v['c_time']);
$lists[] = ['id' => $v['id'],'nickname' => $v['nickname'], 'mobile' => $v['mobile']
, 'cf_name' => $cf_name, 'c_time' => $c_time];
foreach ($lists as $key => $value) {
$json = json_decode($value['jsondata'], true);
$module = $map_module[$value['module_id']];
$lists[$key]['c_time'] = date('Y-m-d H:i', $value['c_time']);
$lists[$key]['status_name'] = $this->statusAry[$value['status']];
$lists[$key]['remark'] = $json['remark'] ? $json['remark'] : '';
$lists[$key]['title'] = $module['descrip'] ? $module['descrip'] : $module['title'];
}
}
$re = $this->mdTopics->get(['id' => $params['id']]);
$title = $re['title'] ? $re['title'] . '_报名列表' : '专题报名列表';
$data['code'] = SYS_CODE_SUCCESS;
$data['type'] = $type;
$data['title'] = $title;
$data['lists'] = $lists;
$data['count'] = $count;
@@ -110,6 +214,30 @@ Class Enroll extends HD_Controller
public function get()
{
$id = intval($this->input->get('id'));
$module_id = intval($this->input->get('module_id'));
if (!$id || !$module_id) {
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$re = $this->mdModuleEnrolldata->get(array("id" => $id));
if (!$re || empty($re)) {
return $this->show_json(SYS_CODE_FAIL, '报名详情不存在!');
}
$reEn = $this->mdModuleEnroll->get(array('module_id' => $module_id), 'enroll_json,type');
$enroll_json = array();
if ($reEn['enroll_json'] && $re['jsondata']) {
$enroll_json = json_decode($reEn['enroll_json'], true);
$jsondata = json_decode($re['jsondata'], true);
foreach ($enroll_json as $key => $value) {
$jsondata[$key] && $enroll_json[$key]['value'] = $jsondata[$key];
}
}
$re['enroll_json'] = $enroll_json;
$re['type'] = $reEn['type'];
$re['c_time'] = date('Y-m-d H:i', $re['c_time']);
$re['status_name'] = $this->statusAry[$re['status']];
$this->data['info'] = $re;
return $this->show_view('topics/enroll/edit');
}
public function del()
@@ -127,22 +255,63 @@ Class Enroll extends HD_Controller
$params = $this->input->get();
$params['page'] = 1;
$params['size'] = 10000;
$data = $indexs = [];
$params['export'] = 1;
$data = $indexs = array();
$res = $this->dataSelect($params);
$fileName = $res['title'];
foreach ($res['lists'] as $key => $value) {
$temp['nickname'] = $value['nickname'];
$temp['mobile'] = $value['mobile'];
$temp['cf_name'] = $value['cf_name'];
$temp['c_time'] = $value['c_time'];
$data[] = $temp;
if ($params['module_id']) {
if ($params['type'] == 1) {
$fileName = '活动报名用户';
foreach ($res['lists'] as $key => $value) {
$temp['name'] = $value['name'];
$temp['mobile'] = $value['mobile'];
$temp['code'] = $value['code'];
$temp['status_name'] = $value['status_name'];
$temp['c_time'] = $value['c_time'];
$temp['remark'] = $value['remark'];
$data[] = $temp;
}
$indexs = [
'name' => '姓名',
'mobile' => '手机号',
'code' => '核销码',
'status_name' => '状态',
'c_time' => '报名时间',
"remark" => "备注",
];
} else {
$fileName = '报名用户';
foreach ($res['lists'] as $key => $value) {
$temp['name'] = $value['name'];
$temp['mobile'] = $value['mobile'];
$temp['c_time'] = $value['c_time'];
$temp['remark'] = $value['remark'];
$data[] = $temp;
}
$indexs = [
'name' => '姓名',
'mobile' => '手机号',
'c_time' => '报名时间',
"remark" => "备注",
];
}
} else {
$fileName = '活动报名';
foreach ($res['lists'] as $key => $value) {
$temp['title'] = $value['title'];
$temp['name'] = $value['name'];
$temp['mobile'] = $value['mobile'];
$temp['c_time'] = $value['c_time'];
$temp['remark'] = $value['remark'];
$data[] = $temp;
}
$indexs = [
'title' => '活动名称',
'name' => '姓名',
'mobile' => '手机号',
'c_time' => '报名时间',
"remark" => "备注",
];
}
$indexs = [
'nickname' => '昵称',
'mobile' => '手机号',
"cf_name" => "来源",
'c_time' => '报名时间',
];
array_unshift($data, $indexs);
$this->load->library('excel');
$this->excel->out_csv($data, $indexs, $fileName . "_" . date('YmdHis'));
+11 -31
View File
@@ -14,6 +14,7 @@ Class Topics extends AppBase
private $moduleAry = array(
array('name' => '文本模块', 'tag' => 'text'),
array('name' => '广告模块', 'tag' => 'ad'),
array('name' => '报名模块', 'tag' => 'enroll'),
array("name" => "按钮模块", "tag" => "button")
);
@@ -25,10 +26,10 @@ Class Topics extends AppBase
$this->load->model('topics/topic_module_text_model', 'mdModuleText');
$this->load->model('topics/topic_module_ad_model', 'mdModuleAd');
$this->load->model('topics/topic_module_enroll_model', 'mdModuleEnroll');
$this->load->model('topics/topic_module_enrolldata_model', 'mdModuleEnrolldata');
$this->load->model('topics/topic_module_button_model', 'mdModuleButton');
$this->load->model('topics/topic_user_log_model', 'mdUserLog');
$this->load->model("sys/sys_admin_model", 'mdSysAdmin');
$this->load->model('receiver/receiver_clues_cfrom_model', 'mdCluesCfrom');
}
/**
@@ -347,22 +348,12 @@ Class Topics extends AppBase
if (!$re || empty($re)) {
return $this->show_json(SYS_CODE_FAIL, '专题不存在!');
}
$re['bg_img_url'] = build_qiniu_image_url($re['bg_img']);
$info = $re;
if ($re['cf_id']) {
$re_cf = $this->mdCluesCfrom->get(['id' => $re['cf_id']]);
if ($re_cf) {
if ($re_cf['pid'] == 0) {
$info['cfrom_id'] = $re_cf['id'];
$info['cfrom_id2'] = 0;
} else {
$info['cfrom_id'] = $re_cf['pid'];
$info['cfrom_id2'] = $re_cf['id'];
}
}
}
$jsonData = $info['jsondata'] ? json_decode($info['jsondata'], true) : '';
$info['bg_img_url'] = $re['bg_img'] ? build_qiniu_image_url($re['bg_img']) : '';
$info['share_img_url'] = $jsonData['share_img'] ? build_qiniu_image_url($jsonData['share_img']) : '';
$json = $info['jsondata'] ? json_decode($info['jsondata'], true) : '';
$info['cf_id'] = $json['cf_id'] ? $json['cf_id'] : "";
$info['mp_app_id'] = $json['mp_app_id'] ? $json['mp_app_id'] : "";
$info['ebiz'] = $json['ebiz'] ? $json['ebiz'] : "";
$_title = '编辑专题';
$edit_url = '/topics/topics/edit';
} else {
@@ -370,9 +361,9 @@ Class Topics extends AppBase
$edit_url = '/topics/topics/add';
$info['id'] = $id;
$info['app_id'] = $app_id;
$info['share_img_url'] = '';
$info['cfrom_id'] = 0;
$info['cfrom_id2'] = 0;
$info['cf_id'] = "";
$info['mp_app_id'] = "";
$info['ebiz'] = 0;
}
$info['spm'] = $this->input->get('spm');
$info['edit_url'] = $edit_url;
@@ -395,18 +386,13 @@ Class Topics extends AppBase
}
$bg_color = $this->input->post('bg_color');
$bg_img = $this->input->post('bg_img');
$share_img = $this->input->post('share_img');
$cfrom_id = intval($this->input->post('cfrom_id'));
$cfrom_id2 = intval($this->input->post('cfrom_id2'));
$jsonData['share_img'] = $share_img ? $share_img : '';
$dataItems['app_id'] = $app_id;
$dataItems['title'] = $title;
$dataItems['bg_color'] = $bg_color;
$dataItems['bg_img'] = $bg_img;
$dataItems['status'] = 1;
$dataItems['c_time'] = time();
$dataItems['cf_id'] = $cfrom_id2 ? $cfrom_id2 : $cfrom_id;
$dataItems['jsondata'] = json_encode($jsonData, JSON_UNESCAPED_UNICODE);
$id = $this->mdTopics->add($dataItems);
if (!$id) {
return $this->show_json(SYS_CODE_FAIL, '添加失败');
@@ -426,15 +412,9 @@ Class Topics extends AppBase
}
$bg_color = $this->input->post('bg_color');
$bg_img = $this->input->post('bg_img');
$share_img = $this->input->post('share_img');
$cfrom_id = intval($this->input->post('cfrom_id'));
$cfrom_id2 = intval($this->input->post('cfrom_id2'));
$jsonData['share_img'] = $share_img ? $share_img : '';
$dataItems['title'] = $title;
$dataItems['bg_color'] = $bg_color;
$dataItems['bg_img'] = $bg_img;
$dataItems['cf_id'] = $cfrom_id2 ? $cfrom_id2 : $cfrom_id;
$dataItems['jsondata'] = json_encode($jsonData, JSON_UNESCAPED_UNICODE);
$re = $this->mdTopics->update($dataItems, array('id' => $id));
if (!$re) {
return $this->show_json(SYS_CODE_FAIL, '修改失败');
+1 -1
View File
@@ -6,7 +6,7 @@
* Time: 14:10
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
//session_start();
session_start();
class Auth {
+2 -4
View File
@@ -596,6 +596,7 @@ class OrdersList
$count = $this->ci->order_loans_model->count_order($where, $t2);
$lists = [];
if ($count) {
$this->ci->load->model('sys/sys_finance_model');
$fileds = "$t1.o_id,$t1.title,$t1.year,$t1.first_price,$t1.status,$t1.c_time,";
$fileds .= "$t2.rid,$t2.id,$t2.name,$t2.mobile,$t2.sid,$t2.finance_id,$t2.money_json,$t2.bill_time,$t2.admin_id";
$rows = $this->ci->order_loans_model->select_order($where, "$t2.c_time desc", $page, $size, $fileds);
@@ -605,10 +606,7 @@ class OrdersList
$customers = $this->ci->mdCustomers->map('id', 'of_id,of2_id', array("id in({$str_rids})" => null));
$offlineSources = $this->ci->mdCustomers->offlineSources();
$finance_arr = array_column($rows, 'finance_id');
//$this->ci->load->model('sys/sys_finance_model');
//$finance_rows = $this->ci->sys_finance_model->get_map_by_ids($finance_arr, 'id,title');
$this->ci->load->model('sys/sys_supplier_model');
$finance_rows = $this->ci->sys_supplier_model->get_map_by_ids($finance_arr, 'id,title');
$finance_rows = $this->ci->sys_finance_model->get_map_by_ids($finance_arr, 'id,title');
//获取销售
$str_admin_ids = implode(',', array_unique(array_column($rows, 'admin_id')));
!$str_admin_ids && $str_admin_ids = 0;
+15 -50
View File
@@ -7,7 +7,7 @@ class Ordersv2List
{
private $ci;
private $searchTpAry = array('owner_name' => '车主姓名', 'owner_mobile' => '车主手机号', 'name' => '客户姓名', 'mobile' => '客户手机号', 'sid' => '订单号');
private $paywayAry = array(0 => '按揭', 1 => '全款');
private $paywayAry = array(0 => '贷款', 1 => '全款');
private $overAry = array(0 => '7天内', 1 => '14天内', 2=> '30天内', 3=> '大于30天');
private $t1 = 'lc_receiver_orders_v2';
private $t2 = 'lc_receiver_order_status';
@@ -17,12 +17,9 @@ class Ordersv2List
$this->ci = &get_instance();
$this->ci->load->model('receiver/order/receiver_orders_v2_model', 'mdOrders');
$this->ci->load->model('receiver/order/receiver_order_status_model');
$this->ci->load->model('receiver/order/receiver_order_loans_model', 'order_loans_model');
$this->ci->load->model('receiver/order/receiver_order_loans0_model', 'order_loans0_model');
$this->ci->load->model('receiver/order/receiver_order_agents_model', 'order_agents_model');
$this->ci->load->model('app/licheb/app_licheb_users_model', 'mdLichebUsers');
$this->ci->load->model('app/licheb/app_licheb_channel_biz_model');
$this->ci->load->model('app/liche/app_liche_orders_model');
$this->ci->load->model('receiver/receiver_customers_model', 'mdCustomers');
$this->ci->load->model('receiver/receiver_clues_cfrom_model', 'mdCluesCfrom');
$this->ci->load->model("biz/biz_model");
@@ -31,8 +28,7 @@ class Ordersv2List
$this->ci->load->model('auto/auto_attr_model');
$this->ci->load->model('items/items_model', 'mdItems');
$this->ci->load->model('area_model');
//$this->ci->load->model('sys/sys_finance_model');
$this->ci->load->model('sys/sys_supplier_model');
$this->ci->load->model('sys/sys_finance_model');
$this->ci->load->library('receiver/orders_v2_entity');
$this->ci->load->library('receiver/orders_status_entity');
@@ -48,14 +44,11 @@ class Ordersv2List
!$params['biz_type'] && $params['biz_type'] = '';
!strlen($params['over_id']) && $params['over_id'] = '';
!strlen($params['is_bill']) && $params['is_bill'] = '';
!strlen($params['if_usedcar']) && $params['if_usedcar'] = '';
$fieldAry = $this->get_fields($status_pid,0,$params['status']);
#$show_info['offlineSourcesAry'] = $this->ci->mdCustomers->offlineSources();//客户来源
$show_info['offlineSourcesAry'] = $this->ci->mdCustomers->offlineSources_search();
$show_info['offlineSourcesAry'] = $this->ci->mdCustomers->offlineSources();//客户来源
$show_info['paywayAry'] = $this->paywayAry;//付款方式
$show_info['overAry'] = $this->overAry;
$show_info['bizTypeAry'] = $this->ci->biz_model->type_ary();//门店类型
$show_info['usedcarAry'] = array(1=>'是', 0=>'否');
//渠道经理
$show_info['qdjl_lists'] = $this->ci->mdLichebUsers->select(array('group_id' => 4, 'status' => 1, 'biz_id<>' => '0')
, 'id desc', 0, 0, 'id,uname as name');
@@ -217,7 +210,6 @@ class Ordersv2List
$where["{$this->t1}.over_time<="] = date('Y-m-d',time()+$e_day*24*60*60);
}
}
$where["{$this->t1}.brand_id in (select id from lc_auto_brand where status > -1)"] = null;
if ($params['brand_id']) {//品牌
$where["{$this->t1}.brand_id"] = $params['brand_id'];
} else {
@@ -275,13 +267,10 @@ class Ordersv2List
$where = ["{$this->t1}.status>=" => 0];
$where["{$this->t1}.item_id in(select id from lc_items where vin like '%{$params['vin']}%')"] = null;
}
if (strlen($params['if_usedcar'])) {
$where["{$this->t1}.if_usedcar"] = $params['if_usedcar'];
}
$fileds = "{$this->t1}.id,{$this->t1}.name,{$this->t1}.mobile,{$this->t1}.brand_id,{$this->t1}.s_id,{$this->t1}.v_id,{$this->t1}.if_usedcar,
$fileds = "{$this->t1}.id,{$this->t1}.name,{$this->t1}.mobile,{$this->t1}.brand_id,{$this->t1}.s_id,{$this->t1}.v_id,
{$this->t1}.cor_id,{$this->t1}.incor_id,{$this->t1}.money_json,{$this->t1}.payway,{$this->t1}.status,{$this->t1}.c_time,{$this->t1}.fines,
{$this->t1}.biz_id,{$this->t1}.bill_time,{$this->t1}.customer_id,{$this->t1}.owner_name,{$this->t1}.owner_mobile,{$this->t1}.main_type,{$this->t1}.info_json,
{$this->t1}.order_time,{$this->t1}.bill_time,{$this->t1}.item_id,{$this->t1}.over_time,{$this->t1}.sale_id,{$this->t1}.finance_id,{$this->t1}.finance_id0,{$this->t1}.refund_time,
{$this->t1}.order_time,{$this->t1}.bill_time,{$this->t1}.item_id,{$this->t1}.over_time,{$this->t1}.sale_id,{$this->t1}.finance_id,{$this->t1}.refund_time,
{$this->t1}.ck_time,{$this->t1}.admin_id";
if(strlen($params['status_pid'])){
$where["{$this->t1}.brand_id>"] = 0;
@@ -400,7 +389,6 @@ class Ordersv2List
}
$open_url = '/receiver/orderv2/orders/get?id=';
$id_card_append = $info_json['c_owner_cardid'] ? '<br>'.$info_json['c_owner_cardid'] : '';
$id_card = $info_json['c_owner_cardid'] ? '="'.$info_json['c_owner_cardid'].'"' : '';
$fields['name'] = $size > 1000 ? $name
: '<a href="javascript:;" data-open="' . $open_url . $val['id'] . '">' . $name . '<br>' . $mobile . $id_card_append . '</a>';
} else {
@@ -410,9 +398,8 @@ class Ordersv2List
$id_card_append = $info_json['c_cardid'] ? '<br>'.$info_json['c_cardid'] : '';
$fields['name'] = $size > 1000 ? $val['name']
: '<a href="javascript:;" data-open="' . $open_url . $val['id'] . '">' . $val['name'] . $o_tp . '<br>' . $val['mobile'] . $id_card_append .'</a>';
$id_card = $info_json['c_cardid'] ? '="'.$info_json['c_cardid'].'"' : '';
}
$fields['id_card'] = $id_card;
$fields['id_card'] = $info_json['c_owner_cardid'] ? '="'.$info_json['c_owner_cardid'].'"' : '';
$fields['mobile'] = $size > 1000 ? '="'.$mobile.'"' : $mobile;
$fields['car_name'] = "{$brand_name}-{$series_name}-{$v_name}-{$cor_name}";
$fields['price_car'] = number_format($this->ci->orders_v2_entity->total_price($val['id'],$val['money_json']),2);
@@ -456,9 +443,6 @@ class Ordersv2List
$fields['over_time'] = $val['over_time'] != '0000-00-00 00:00:00' ? date('Y-m-d',strtotime($val['over_time'])) : '';
$fields['refund_time'] = $val['refund_time'] != '0000-00-00 00:00:00' ? date('Y-m-d',strtotime($val['refund_time'])) : '';
$fields['vin'] = $items[$val['item_id']] ? $items[$val['item_id']] : '';
$fields['if_usedcar_name'] = $val['if_usedcar'] ? '是':'';
$if_usedcar_name = $val['if_usedcar'] ? ' (二手车)':'';
$if_usedcar_name && $fields['vin'] && $size<1000 && $fields['vin'] = "{$fields['vin']}{$if_usedcar_name}";
$fields['vin'] && $fields['car_name'] = $fields['car_name']."<br>".$fields['vin'];
$fields['ck_time'] = $val['ck_time'];
@@ -485,25 +469,13 @@ class Ordersv2List
}
$fields['address'] = $info_json['c_address'];
}
if(!$val['payway']){ //按揭
//$finance_row = $this->ci->sys_finance_model->get(['id' => $val['finance_id']], 'id,title');
$finance_row = $this->ci->sys_supplier_model->get(['id' => $val['finance_id'], 'type'=>3], 'id,title');
if(!$val['payway']){ //分期
$finance_row = $this->ci->sys_finance_model->get(['id' => $val['finance_id']], 'id,title');
$is_sure = $this->ci->receiver_order_status_model->count(['o_id'=>$val['id'],'pid_status'=>1,'status'=>2]);
$finance_row && $fields['price'] = "{$fields['payway_name']}({$finance_row['title']})<br>{$fields['price_car']}";
$fields['pro_loan'] = $finance_row['title'];
$fields['price_loan'] = $money_json['price_loan'];
$fields['is_sure'] = $is_sure ? '是':'否';
$loan = $this->ci->order_loans_model->get(['o_id' => $val['id']]);
$fields['is_tiexi'] = intval($loan['is_tiexi']) ? '是': '';
// 首付按揭
$finance_row0 = $this->ci->sys_supplier_model->get(['id' => $val['finance_id0'], 'type'=>3], 'id,title');
$is_sure0 = $this->ci->app_liche_orders_model->count(['o_id'=>$val['id'],'type'=>8,'status'=>1]);
$fields['pro_loan0'] = $finance_row0['title'];
$fields['price_loan0'] = $money_json['price_loan0'];
$fields['is_sure0'] = $is_sure0 ? '是':'否';
$loan0 = $this->ci->order_loans0_model->get(['o_id' => $val['id']]);
$fields['is_tiexi'] = intval($loan0['is_tiexi']) ? '是': '';
}
$srv_info = $this->get_srv_info($val);
$fields['srv_info_total'] = $srv_info['total'] > 0 ? $srv_info['total'] : '';
@@ -637,8 +609,7 @@ class Ordersv2List
$id_card_append = $info_json['c_owner_cardid'] ? '<br>'.$info_json['c_owner_cardid'] : '';
$fields['name'] = $size > 1000 ? $name
: '<a href="javascript:;" data-open="' . $open_url . $val['id'] . '">' . $name . '<br>' . $mobile . $id_card_append .'</a>';
$fields['id_card'] = $info_json['c_owner_cardid'] ? '="'.$info_json['c_owner_cardid'].'"' : '';
$fields['mobile'] = $size > 1000 ? '="'.$mobile.'"' : $mobile;
$fields['mobile'] = $mobile;
$fields['biz_name'] = $bizs[$val['biz_id']];
$fields['c_time'] = date('Y-m-d H:i:s', $val['c_time']);
$of_title = '-';
@@ -685,7 +656,6 @@ class Ordersv2List
$fields1['v_name'] = ['title' => '车型'];
$fields1['cor_name'] = ['title' => '车身颜色'];
$fields1['vin'] = ['title' => 'vin码'];
$fields1['if_usedcar_name'] = ['title' => '二手车'];
$fields1['city_name'] = ['title'=>'城市'];
$fields1['biz_type'] = ['title'=>'门店类型'];
$fields1['biz_name'] = ['title' => '门店'];
@@ -731,21 +701,16 @@ class Ordersv2List
}
$fields = array_merge($fields1, $fields2);
if ($export) {
unset($fields['price'],$fields['c_time'],$fields['car_name'],$fields['of_title']);
unset($fields['price'],$fields['c_time'],$fields['car_name'],$fields['vin'],$fields['of_title']);
$fields['payway_name'] = ['title'=>'付款方式'];
$fields['pro_loan0'] = ['title'=>'首付按揭-金融机构'];
//$fields['is_tiexi0'] = ['title'=>'首付按揭-贴息']; // 首付按揭不需要贴息选项
$fields['price_loan0'] = ['title'=>'首付按揭-金额'];
$fields['is_sure0'] = ['title'=>'首付按揭-确认到款(是/否)'];
$fields['pro_loan'] = ['title'=>'金融机构'];
$fields['is_tiexi'] = ['title'=>'贴息'];
$fields['price_loan'] = ['title'=>'按揭金额'];
$fields['price_loan'] = ['title'=>'贷款金额'];
$fields['is_sure'] = ['title'=>'确认到款(是/否)'];
$fields['price_car'] = ['title'=>'最终售价'];
$fields['srv_info_total'] = ['title'=>'手续费'];
$fields['srv_info_fee_carno'] = ['title'=>'手续费-上牌'];
$fields['srv_info_price_finance'] = ['title'=>'手续费-按揭'];
$fields['srv_info_price_fine_select'] = ['title'=>'手续费-精品选装'];
$fields['srv_info_total'] = ['title'=>'服务费'];
$fields['srv_info_fee_carno'] = ['title'=>'服务-上牌'];
$fields['srv_info_price_finance'] = ['title'=>'服务-金融'];
$fields['srv_info_price_fine_select'] = ['title'=>'服务-精品选装'];
$fields['srv_info_price_fine_select_detail'] = ['title'=>'精品选装内容'];
!$fields['c_time'] && $fields['c_time'] = ['title' => '订单时间'];
!$fields['over_time'] && $fields['over_time'] = ['title' => '止交付时间'];
+12 -247
View File
@@ -2,20 +2,20 @@
style="width: 90%;padding-top: 10px">
<input type="hidden" name="id" value="<?= $row['id'] ?>"/>
<div class="am-form-group">
<label class="am-para-label w120">姓名:</label>
<div class="am-para-input w300" style="margin-left: 130px">
<label class="am-para-label">姓名:</label>
<div class="am-para-input w300">
<input type="text" placeholder="输入姓名" name="uname" v-model="info.uname" maxlength="30"/>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label w120">手机号:</label>
<div class="am-para-input w300" style="margin-left: 130px">
<label class="am-para-label">手机号:</label>
<div class="am-para-input w300">
<input type="text" placeholder="输入手机号" name="mobile" v-model="info.mobile" maxlength="30"/>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label w120">默认角色:</label>
<div class="am-para-input w100" style="margin-left: 130px">
<label class="am-para-label">角色:</label>
<div class="am-para-input w100">
<select name="group_id" v-model="info.group_id" @change="resetBiz">
<option value="">选择角色</option>
<option :value="i" v-for="(v,i) in groups">{{v}}</option>
@@ -23,8 +23,8 @@
</div>
</div>
<div class="am-form-group" v-if="info.group_id==4">
<label class="am-para-label w120">默认角色城市:</label>
<div class="am-para-input w100" style="margin-left: 130px">
<label class="am-para-label">所在城市:</label>
<div class="am-para-input w100">
<select v-model="info.city_id">
<option value="0">选择城市</option>
<option :value="v.city_id" v-for="(v,i) in show_info.cityList">{{v.name}}</option>
@@ -32,8 +32,8 @@
</div>
</div>
<div class="am-form-group">
<label class="am-para-label w120">默认角色门店:</label>
<div class="am-para-input lh-default" style="margin-left: 130px">
<label class="am-para-label">门店:</label>
<div class="am-para-inline lh-default">
<button class="am-btn am-btn-default" type="button" @click="brandModal">选择门店</button>
<div class="mt5">
<button class="am-btn am-btn-default mr5" type="button" @click="brandModal"
@@ -43,36 +43,6 @@
</div>
</div>
<div class="am-form-group">
<label class="am-para-label w120">第二角色:</label>
<div class="am-para-input w100" style="margin-left: 130px">
<select name="group_id1" v-model="info.group_id1" @change="resetBiz1">
<option value="0">选择角色</option>
<option :value="i" v-for="(v,i) in groups">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group" v-if="info.group_id1==4">
<label class="am-para-label w120">第二角色城市:</label>
<div class="am-para-input w100" style="margin-left: 130px">
<select v-model="info.city_id1">
<option value="0">选择城市</option>
<option :value="v.city_id" v-for="(v,i) in show_info.cityList">{{v.name}}</option>
</select>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label w120">第二角色门店:</label>
<div class="am-para-input lh-default" style="margin-left: 130px">
<button class="am-btn am-btn-default" type="button" @click="brandModal1">选择门店</button>
<div class="mt5">
<button class="am-btn am-btn-default mr5" type="button" @click="brandModal1"
v-for="(item) in selectedBrands1">{{item.name}}
</button>
</div>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input">
<button class="am-btn am-btn-success" type="button" @click='saveEdit'>提交</button>
@@ -164,96 +134,6 @@
</div>
</div>
</div>
</div>
<div id="brand-modal1" style="display:none">
<div class="modal-body">
<div class="header">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<div class="am-form-group am-para-inline w150">
<select title="城市" v-model="search_info.city_id1">
<option value="0">城市</option>
<template v-for="(v,i) in cityAry">
<option :value="v.id">{{v.name}}</option>
</template>
</select>
</div>
<div class="am-form-group am-para-inline w150">
<select title="行政区" v-model="search_info.county_id1">
<option value="0">行政区</option>
<template v-for="(v,i) in countyAry">
<option :value="v.id">{{v.name}}</option>
</template>
</select>
</div>
<div class="am-form-group am-para-inline w150">
<select title="类型" v-model="search_info.type1">
<option value="0">类型</option>
<template v-for="(v,i) in show_info.typeAry">
<option :value="i">{{v}}</option>
</template>
</select>
</div>
<div class="am-form-group fl ml10">
<a class="am-btn am-btn-success am-btn-sm w100" @click="search1()">搜索</a>
</div>
</div>
</div>
<div style="padding-top: 10px;">
<div class="vuetable-body-wrapper">
<table class="vuetable table table-middle table-hover fixed">
<colgroup>
<col class="vuetable-col-title" style="width: 50%;">
<col class="vuetable-col-actions text-right" style="width: 10%;">
</colgroup>
<thead>
<tr>
<th class="vuetable-th-slot-title">商家名</th>
<th class="vuetable-th-slot-actions text-right">操作</th>
</tr>
</thead>
<tfoot></tfoot>
<tbody class="vuetable-body">
<tr v-for="(v,i) in brandsList1">
<td class="vuetable-slot">
{{v.name}}
</td>
<td class="vuetable-slot text-right">
<button type='button' v-if="v.is_checked==0 || !v.is_checked"
class="btn btn-sm btn-success"
@click="addItem1(i)">添加
</button>
<button type='button' v-if="v.is_checked==1" class="btn btn-sm btn-danger"
@click="removeItem1(v)">删除
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="clearfix">
<span class="pull-left text-muted">{{brandsPage.page}}(每页{{brandsPage.pageLimit}},{{brandsPage.pageCount}})</span>
<nav class="pull-right" aria-label="Page navigation">
<ul class="pagination pagination-sm">
<li>
<a href="javascript:void(0);" @click="beforeShopPage1();" aria-label="上一页">
<span class="glyphicon glyphicon-menu-left"></span>
</a>
</li>
<li v-if="brandsPage.hasNext">
<a href="javascript:void(0);" @click="afterShopPage1();" aria-label="下一页">
<span class="glyphicon glyphicon-menu-right"></span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
</form>
<script type="text/javascript">
var vue_app;
@@ -269,13 +149,11 @@
brandsPage: [],
bizIds: [],
brandsList: [],
brandsList1: [],
selectedBrands: [],
selectedBrands1: [],
cityAry: [],
countyAry: [],
show_info: {cityList: [], typeAry: []},
search_info: {city_id: 0, county_id: 0, type: 0, city_id1: 0, county_id1: 0, type1: 0}
search_info: {city_id: 0, county_id: 0, type: 0}
},
computed: {},
created: function () {
@@ -287,7 +165,6 @@
vm.info = <?=json_encode($info, JSON_UNESCAPED_UNICODE)?>;
vm.groups = <?=json_encode($groups, JSON_UNESCAPED_UNICODE)?>;
vm.selectedBrands = <?=json_encode($selectedBrands, JSON_UNESCAPED_UNICODE)?>;
vm.selectedBrands1 = <?=json_encode($selectedBrands1, JSON_UNESCAPED_UNICODE)?>;
vm.show_info = <?=json_encode($show_info, JSON_UNESCAPED_UNICODE)?>;
vm.init_citys();
},
@@ -295,9 +172,6 @@
resetBiz: function () {
this.selectedBrands = [];
},
resetBiz1: function () {
this.selectedBrands1 = [];
},
search: function () {
this.changePage(1);
},
@@ -382,8 +256,7 @@
page: that.brandsThPage,
type: that.search_info.type,
city_id: that.search_info.city_id,
county_id: that.search_info.county_id,
types:'1,2,3',
county_id: that.search_info.county_id
},
success: function (json) {
var brandsList = json.data.shopList;
@@ -404,113 +277,6 @@
}
});
},
//group_id1
search1: function () {
this.changePage1(1);
},
changePage1: function (page) {
var that = this;
that.brandsThPage = page;
return this.brandModal1();
},
beforeShopPage1: function () {
var vm = this;
if (vm.brandsThPage == 1) {
alert('已经是第一页了');
return;
}
vm.brandsThPage--;
return this.brandModal1();
},
afterShopPage1: function () {
var vm = this;
vm.brandsThPage++;
return this.brandModal1();
},
addItem1: function (index) {
var vm = this;
var brand_id;
var biz_id;
biz_id = vm.brandsList1[index]['id'];
var _shop = {
biz_id: biz_id,
name: vm.brandsList1[index]['name'],
};
if (vm.info.group_id1 == 4) {
vm.selectedBrands1.push(_shop);
vm.brandsList1[index]['is_checked'] = 1;
} else {
vm.selectedBrands1 = [];
vm.selectedBrands1.push(_shop);
this.brandsList1.map(function (_item, _index) {
if (vm.brandsList1[index]['id'] == _item['id']) {
vm.brandsList1[_index]['is_checked'] = 1;
} else {
vm.brandsList1[_index]['is_checked'] = 0;
}
})
}
},
removeItem1: function (item) {
var vm = this;
if (vm.info.group_id1 == 4) {
this.selectedBrands1 = this.selectedBrands1.filter(function (_item) {
var id = _item.biz_id > 0 ? _item.biz_id : _item.brand_id;
return id != item.id;
})
} else {
vm.selectedBrands1 = [];
}
this.brandsList1.map(function (_item, _index) {
if (item.id == _item.id) {
vm.brandsList1[_index].is_checked = 0;
}
})
},
brandModal1: function () {
var that = this;
layer.open({
type: 1,
area: ['55%', '80%'], //宽高
content: $('#brand-modal1'),
title: '选择商家',
shade: false,
btn: ['选好了'],
yes: function (index) {
layer.close(index);
}
});
$.ajax({
url: '/common/shop_app',
type: 'post',
dataType: 'json',
data: {
page: that.brandsThPage,
type: that.search_info.type1,
city_id: that.search_info.city_id1,
county_id: that.search_info.county_id1,
types:'1,2,3',
},
success: function (json) {
var brandsList1 = json.data.shopList;
that.brandsPage = json.data.shopPage;
brandsList1.map(function (_item, _index) {
for (var index in that.selectedBrands1) {
var item = that.selectedBrands1[index];
var id = that.sys_type_id == 1 ? item.brand_id : item.biz_id;
if (id == _item.id) {
brandsList1[_index].is_checked = 1;
break;
} else {
brandsList1[_index].is_checked = 0;
}
}
})
that.brandsList1 = brandsList1;
}
});
},
init_citys: function () {
var vm = this;
$.get('common/area', {id: '350', key: 'city', type: 1}, function (response) {
@@ -533,7 +299,6 @@
var vm = this;
vm.info.bizs = vm.selectedBrands;
vm.info.bizs1 = vm.selectedBrands1;
loading = true;
$.ajax({
url: '<?=$action?>',
+5 -9
View File
@@ -15,7 +15,7 @@
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">默认角色:</label>
<label class="am-para-label w100">角色:</label>
<div class="am-para-inline w150">
<select name="group_id">
<option value="">全部</option>
@@ -37,7 +37,7 @@
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">默认门店:</label>
<label class="am-para-label w100">门店:</label>
<div class="am-form-group am-para-inline w150">
<select title="城市" name="city_id" v-model="params.city_id">
<option value="">城市</option>
@@ -75,10 +75,8 @@
<th width="10%"><span>ID</span></th>
<th width="20%"><span>姓名</span></th>
<th width="20%"><span>手机号码</span></th>
<th width="20%"><span>默认角色</span></th>
<th width="20%"><span>默认门店</span></th>
<th width="20%"><span>第二角色</span></th>
<th width="20%"><span>第二角色门店</span></th>
<th width="20%"><span>角色</span></th>
<th width="20%"><span>门店</span></th>
<th width="20%"><span>创建时间</span></th>
</tr>
</thead>
@@ -90,12 +88,10 @@
<td><?= $v['mobile'] ?></td>
<td><?= $v['group_name'] ?></td>
<td><?= $v['biz_name'] ?></td>
<td><?= $v['group_name1'] ?></td>
<td><?= $v['biz_name1'] ?></td>
<td><?= date('Y-m-d H:i:s', $v['c_time']) ?></td>
</tr>
<tr>
<td colspan="8" class="align-r">
<td colspan="6" class="align-r">
<input type="hidden" class="id-<?= $v['id'] ?>" name="id" value="<?= $v['id'] ?>" checked>
<select data-update-group="" data-list-target=".id-<?= $v['id'] ?>"
data-action="/app/licheb/member/batch" data-field=""
@@ -22,7 +22,7 @@
</table>
<div class="coms-table-wrap mt10">
<form id="vue-app" class=" form-search coms-table-hd clearfix no-border" onsubmit="return false"
action="/app/licheb/userslog/lists_users">
action="app/licheb/userslog">
<input type="hidden" name="tab" v-model="params.tab"/>
<input type="hidden" name="biz_id" v-model="params.biz_id"/>
<div class="am-form am-form-horizontal">
@@ -81,29 +81,10 @@
foreach ($lists as $v) { ?>
<tr>
<td><?= $v['uname'] ?></td>
<? if($v['follows'] > 0) {?>
<td><a href="#/receiver/customer?vsid=<?= $v['id'] ?>&vdststus=0"><?= $v['follows'] ?></a></td>
<?}else{?>
<td><?= $v['follows'] ?></td>
<?}?>
<? if($v['h_follows'] > 0) {?>
<td><a href="#/receiver/customer?vsid=<?= $v['id'] ?>&vdststus=2"><?= $v['h_follows'] ?></a></td>
<?}else{?>
<td><?= $v['h_follows'] ?></td>
<?}?>
<? if($v['t_follows'] > 0) {?>
<td><a href="#/receiver/customer?vsid=<?= $v['id'] ?>&vdststus=1"><?= $v['t_follows'] ?></a></td>
<?}else{?>
<td><?= $v['t_follows'] ?></td>
<?}?>
<? if($v['w_follows'] > 0) {?>
<td><a href="#/receiver/customer?vsid=<?= $v['id'] ?>&vdststus=3"><?= $v['w_follows'] ?></a></td>
<?}else{?>
<td><?= $v['w_follows'] ?></td>
<?}?>
<td><?= $v['follows'] ?></td>
<td><?= $v['h_follows'] ?></td>
<td><?= $v['t_follows'] ?></td>
<td><?= $v['w_follows'] ?></td>
<td><?= $v['t_day'] ?></td>
</tr>
<? }
+2 -24
View File
@@ -59,16 +59,6 @@
</div>
</div>
</template>
<!--选装-->
<div class="am-form-group" v-if="info.type==1">
<label class="am-para-label">选装包:</label>
<div class="am-para-input">
<label class="mr10" style="margin-top: 7px" v-for="(v,i) in options">
<input type="checkbox" name="options[]" :value="v.id" v-model="info.options">&nbsp;{{v.title}}(价格:{{v.price}})
</label>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input">
<button class="am-btn am-btn-secondary" type="button" @click="saveEdit()">保存</button>
@@ -83,8 +73,7 @@
info:[],
brandAry:[],
seryAry:[],
type_arr:[],
options:[]
type_arr:[]
},
mounted: function () {
this.info = <?=json_encode($info)?>;
@@ -98,7 +87,7 @@
url: '/auto/brand/json_lists',
type: 'post',
dataType: 'json',
data: {status:'>-1'},
data: {status:1},
beforeSend: function () {},
success: function (data) {
if (1 == data.code) {
@@ -161,17 +150,6 @@
layer.closeAll('loading');
}
});
$.get("/auto/options/json_lists",{'brand_id':nv,'s_id':vm.info.s_id},function (res){
vm.options = res.data.lists
},'json');
}
},
'info.s_id':function(nv, ov){
var vm = this;
if(nv > 0){
$.get("/auto/options/json_lists",{'brand_id':vm.info.brand_id,'s_id':nv},function (res){
vm.options = res.data.lists
},'json');
}
}
}
+7 -41
View File
@@ -8,7 +8,7 @@
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">品牌:</label>
<label class="am-para-label">品牌:</label>
<div class="am-para-inline w150">
<select name="brand_id" v-model="params.brand_id">
<option value="">请选择</option>
@@ -25,29 +25,7 @@
</select>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<div class="am-form-group fl">
<label class="am-para-label w100">类型:</label>
<div class="am-para-inline w200">
<select name="type" v-model="params.type">
<option value="">请选择</option>
<option v-for="(item,index) in type_arr" :value="index">
{{item}}
</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">状态:</label>
<div class="am-para-inline w150">
<select name="status" v-model="params.status">
<option value="-9">请选择</option>
<option v-for="(item,index) in status_arr" :value="index">{{item}}</option>
</select>
</div>
</div>
<div class="am-form-group fl ml10">
<label class="am-para-label w50"></label>
<button type="submit" class="am-btn am-btn-success w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
@@ -66,7 +44,6 @@
<tr>
<th width="10%"><span>ID</span></th>
<th width="20%"><span>标题</span></th>
<th width="10%"><span>品牌名称</span></th>
<th width="10%"><span>车系名称</span></th>
<th width="10%"><span>类型</span></th>
<th width="10%"><span>状态</span></th>
@@ -79,28 +56,21 @@
<tr>
<td><?= $v['id'] ?></td>
<td><?= $v['title'] ?></td>
<td><?= $v['brand_name'] ?></td>
<td><?= $v['s_name'] ?></td>
<td><?= $v['type_cn'] ?></td>
<td><?= $v['status_name'] ?></td>
<td><?= $v['c_time'] ?></td>
<td>
<?php if ($v['status'] > -1) { ?>
<a href="javascript:void (0);" data-title="编辑车系" data-open="/auto/attr/get?id=<?= $v['id'] ?>"
class="am-text-primary"><?= '编辑' ?></a>
<?php } ?>
class="am-text-primary"><?= '编辑' ?></a> |
<?php if ($v['status'] == 1) { ?>
| <a href="javascript:void (0);" data-ajax="post" data-action="/auto/attr/del"
<a href="javascript:void (0);" data-ajax="post" data-action="/auto/attr/del"
data-params-id="<?= $v['id'] ?>" data-params-status="0">禁用</a>
<?php }
elseif ($v['status'] == 0) { ?>
| <a style="color: red" href="javascript:void (0);" data-ajax="post" data-action="/auto/attr/del"
<?php } else { ?>
<a style="color: red" href="javascript:void (0);" data-ajax="post"
data-action="/auto/attr/del"
data-params-id="<?= $v['id'] ?>" data-params-status="1">恢复</a>
<?php } ?>
<?php if ($v['status'] > -1) { ?>
| <a href="javascript:void (0);" data-ajax="post" data-action="/auto/attr/del"
data-params-id="<?= $v['id'] ?>" data-params-status="-1">删除</a>
<?php } ?>
</td>
</tr>
<?php } ?>
@@ -122,16 +92,12 @@
data: {
params: [],
brandAry: [],
seryAry: [],
type_arr: [],
status_arr: [],
seryAry: []
},
mounted: function () {
var vm = this;
vm.params = <?=json_encode($params)?>;
vm.brandAry = <?=json_encode($brandAry)?>;
vm.type_arr = <?=json_encode($type_arr)?>;
vm.status_arr = <?=json_encode($status_arr)?>;
},
methods: {},
watch: {
-250
View File
@@ -1,250 +0,0 @@
<style type="text/css">
.seaction-hand-area {
padding: 20px 30px
}
.seaction-hand-area .sec-lf {
min-width: 100px;
padding: 30px 0 0;
float: left;
margin-right: 50px;
position: relative;
border: 1px solid #e6e6e6
}
.seaction-hand-area .sec-lf .caption {
position: absolute;
left: 0;
top: 0;
right: 0;
height: 30px;
line-height: 30px;
background: #f2f2f2;
text-align: center
}
.seaction-hand-area .sec-lf .list {
max-height: 438px;
overflow: auto
}
.seaction-hand-area .sec-lf .list li {
border-bottom: 1px solid #e6e6e6
}
.seaction-hand-area .sec-lf .list li.active a {
color: #fff;
background: #3bb4f2
}
.seaction-hand-area .sec-lf .list li a {
display: block;
height: 40px;
line-height: 40px;
padding: 0 20px;
text-align: center;
color: #333
}
.seaction-hand-area .sec-lf .list li a:hover {
color: #fff;
background: #3bb4f2
}
.seaction-hand-area .sec-mid, .seaction-hand-area .sec-rt {
padding: 30px 0 40px;
margin-right: 50px;
float: left;
position: relative;
border: 1px solid #e6e6e6;
min-width: 250px
}
.seaction-hand-area .sec-mid .caption, .seaction-hand-area .sec-rt .caption {
position: absolute;
left: 0;
top: 0;
right: 0;
height: 30px;
line-height: 30px;
background: #f2f2f2;
text-align: center
}
.check-hand-box {
padding: 10px 0;
min-height: 200px;
max-height: 400px;
overflow: auto
}
.check-hand-box .item-cell {
color: #333;
padding: 3px 15px
}
.check-hand-box .item-cell label {
font-weight: 400
}
.check-hand-btns {
background: #f2f2f2;
position: absolute;
right: 0;
bottom: 0;
left: 0;
padding: 5px 15px
}
.check-hand-btns .check-all {
font-size: 14px;
font-weight: 400
}
.check-hand-btns .check-all input {
display: inline-block;
vertical-align: middle;
margin-top: -2px
}
</style>
<!-- table 表格样式************************************* -->
<div id="vue-app">
<div class="seaction-hand-area clearfix">
<div class="sec-lf">
<p class="caption">门店类型</p>
<ul class="list">
<li :class="params.cate_id > 0 ? '': 'active'" @click="get_biz(0)">
<a href="javascript:;">所有门店</a>
</li>
<li :class="params.cate_id == i ? 'active': ''" v-for="(v,i) in cate_lists" @click="get_biz(i)">
<a href="javascript:;">{{v}}</a>
</li>
</ul>
</div>
<div class="sec-mid clearfix">
<p class="caption">未授权门店</p>
<div class="check-hand-box" id="biz_lists">
<div class="item-cell" v-for="(v,i) in biz_lists">
<label><input type="checkbox" :value="i" class="biz-ids">{{v}}</label>
</div>
</div>
<div class="check-hand-btns clearfix">
<label class="check-all fl">
<input type="checkbox" data-check-target=".biz-ids">全选
</label>
<button class="am-btn am-btn-primary am-btn-xs fr" id="add_biz" @click="add_biz">选择</button>
</div>
</div>
<div class="sec-rt">
<p class="caption">已授权门店</p>
<div class="check-hand-box" id="hz_biz_lists">
<div class="item-cell" v-for="(v,i) in brand_biz">
<label><input type="checkbox" :value="i" data-type="remove" class="hz_biz_lists">{{v}}</label>
</div>
</div>
<div class="check-hand-btns clearfix">
<label class="check-all fl">
<input type="checkbox" data-check-target=".hz_biz_lists">全选
</label>
<button class="am-btn am-btn-danger am-btn-xs fr" id="remove_biz" @click="remove_biz">移除</button>
</div>
</div>
</div>
<form class="am-form am-form-horizontal ptb20 pr20" action="" data-auto="true" method="post">
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="add_input">
</div>
<div class="remove_input">
</div>
<div class="am-para-input">
<a href="javascript:;" class="am-btn am-btn-secondary" type="button" id="edit-btn" @click="save">保存</a>
</div>
</div>
</form>
</div>
<script>
vue_obj = new Vue({
el: '#vue-app',
data: {
params:[],
cate_lists:[],
biz_lists:new Object(),
brand_biz:new Object(),
},
mounted:function() {
this.params = <?=json_encode($params,JSON_UNESCAPED_UNICODE)?>;
this.cate_lists = <?=json_encode($cate_lists,JSON_UNESCAPED_UNICODE)?>;
this.get_biz(this.params.cate_id)
},
methods:{
get_biz(cate_id=0){
var that = this
this.params.cate_id=cate_id
this.biz_lists = new Object()
this.brand_biz = new Object()
var params = {
'id' : this.params.id,
'type' : this.params.cate_id
}
$.get('/auto/brand/ajax_biz',params,function (res){
if(res.data.biz_lists && res.data.biz_lists.length!=0){
that.biz_lists = res.data.biz_lists
}
if(res.data.brand_biz && res.data.brand_biz.length!=0){
that.brand_biz = res.data.brand_biz
}
},'json')
},
add_biz(){
var that = this
$(".biz-ids").each(function(){
var check = $(this).is(':checked');
var biz_name = $(this).parent().text();
var biz_id = $(this).val();
if(check){
$(this).prop("checked",false);
delete that.biz_lists[biz_id]
that.brand_biz[biz_id] = biz_name
}
});
this.$forceUpdate()
},
remove_biz(){
var that = this
$(".hz_biz_lists").each(function(){
var check = $(this).is(':checked');
var biz_name = $(this).parent().text();
var biz_id = $(this).val();
if(check){
$(this).prop("checked",false);
delete that.brand_biz[biz_id]
that.biz_lists[biz_id] = biz_name
}
});
this.$forceUpdate()
},
save(){
var params = {
'id' : this.params.id,
'brand_biz' : this.brand_biz,
'type' : this.params.cate_id
}
$.post('/auto/brand/edit_biz',params,function (result){
if(result.code){
layer.msg(result.msg, {time: 2000,icon:1 }, function () {
// $.form.reload();
});
}else{
layer.msg(result.msg,{icon:2});
}
},'json')
}
},
watch:{
}
});
</script>
+6 -28
View File
@@ -7,19 +7,7 @@
<input type="text" name="title" value="<?=$params['title'] ?>"/>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">状态:</label>
<div class="am-para-inline w150">
<select name="status">
<option value="-9">请选择</option>
<?foreach($status_arr as $key=>$val){?>
<option value="<?=$key?>" <?=$key==$params['status']?'selected':''?>><?=$val?></option>
<?}?>
</select>
</div>
</div>
<div class="am-form-group fl ml10">
<label class="am-para-label w50"></label>
<button type="submit" class="am-btn am-btn-success w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
@@ -37,7 +25,6 @@
<th width="10%"><span>ID</span></th>
<th width="20%"><span>品牌名称</span></th>
<th width="10%"><span>状态</span></th>
<th width="10%"><span>授权门店数</span></th>
<th width="15%"><span>创建时间</span></th>
<th width="35%"><span>操作</span></th>
</tr>
@@ -48,27 +35,18 @@
<td><?= $v['id'] ?></td>
<td><?= $v['name'] ?></td>
<td><?= $v['status_name'] ?></td>
<td><?= $v['t_biz'] ?></td>
<td><?= $v['c_time'] ?></td>
<td>
<a href="javascript:void (0);" data-open="/auto/brand/get_biz?id=<?= $v['id'] ?>"
class="am-text-primary">授权门店</a>
<?php if ($v['status'] > -1) { ?>
| <a href="javascript:void (0);" data-title="编辑品牌" data-modal="/auto/brand/get?id=<?= $v['id'] ?>"
class="am-text-primary"><?= '编辑' ?></a>
<?php } ?>
<a href="javascript:void (0);" data-title="编辑品牌" data-modal="/auto/brand/get?id=<?= $v['id'] ?>"
class="am-text-primary"><?= '编辑' ?></a> |
<?php if ($v['status'] == 1) { ?>
| <a href="javascript:void (0);" data-ajax="post" data-action="/auto/brand/del"
<a href="javascript:void (0);" data-ajax="post" data-action="/auto/brand/del"
data-params-id="<?= $v['id'] ?>" data-params-status="0">禁用</a>
<?php }
elseif ($v['status'] == 0) { ?>
| <a style="color: red" href="javascript:void (0);" data-ajax="post" data-action="/auto/brand/del"
<?php } else { ?>
<a style="color: red" href="javascript:void (0);" data-ajax="post"
data-action="/auto/brand/del"
data-params-id="<?= $v['id'] ?>" data-params-status="1">恢复</a>
<?php } ?>
<?php if ($v['status'] > -1) { ?>
| <a href="javascript:void (0);" data-ajax="post" data-action="/auto/brand/del"
data-params-id="<?= $v['id'] ?>" data-params-status="-1">删除</a>
<?php } ?>
</td>
</tr>
<?php } ?>
+16 -45
View File
@@ -12,7 +12,7 @@
</ul>
<form id="vue-edit-business" class="am-form am-form-horizontal tab-content" action="/auto/cars/edit" data-auto="true" method="post" style="width: 90%;padding:25px 30px 20px 0;margin: 0 auto;">
<div class="tab-pane fade in active" id="swzc">
<div class="am-form-group wp80">
<div class="am-form-group wp50">
<label class="am-para-label">车型:</label>
<div class="am-para-input" style="width: 100%;">
<select name="brand_id" style="display: inline;width: 100px" v-model="info.brand_id">
@@ -23,7 +23,7 @@
<option value="">车系</option>
<option :value="i" v-for="(v,i) in seryAry">{{v}}</option>
</select>
<select name="v_id" style="display: inline;width: 200px" v-model="info.v_id">
<select name="v_id" style="display: inline;width: 100px" v-model="info.v_id">
<option value="">车型</option>
<option :value="v.id" v-for="(v,i) in attrvAry">{{v.title}}</option>
</select>
@@ -65,14 +65,14 @@
</div>
</div>
<div class="am-form-group wp50 fl">
<label class="am-para-label w120">展厅最低限价:</label>
<label class="am-para-label">车辆底价:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入展厅最低限" name="price_fine" v-model="info.price_floor" style="display: inline;width: 60%"/>
<input type="text" placeholder="请输入" name="price_fine" v-model="info.price_floor" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
<div class="am-form-group wp50" style="display: none">
<div class="am-form-group wp50">
<label class="am-para-label">公司加价:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入公司加价" name="price_fine" v-model="info.price_coplus" style="display: inline;width: 60%"/>
@@ -84,7 +84,7 @@
<label class="am-para-label">交车时间:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入交车时间" name="delivery_day" v-model="info.delivery_day" style="display: inline;width: 100px"/>
<span></span>
<span>个工作</span>
</div>
</div>
@@ -102,67 +102,38 @@
</div>
</div>
<div class="tab-pane fade" id="jszc">
<div class="am-form-group wp70">
<label class="am-para-label w140">代理店结佣方式:</label>
<div class="am-para-input">
<input id="proxy_type0" name="proxy_type" type="radio" value="0" v-model="info.proxy_type"/><label for="proxy_type0">返佣 (优惠额度=售价-代理店最低限价)</label><br>
<input id="proxy_type1" name="proxy_type" type="radio" value="1" v-model="info.proxy_type"/><label for="proxy_type1">票折 (优惠额度=售价-代理店结算价)</label>
</div>
</div>
<div class="am-form-group wp50" v-if="info.proxy_type==1">
<label class="am-para-label w140">代理店结算价:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入代理店结算价" name="proxy_profix_price" v-model="info.proxy_profix_price" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
<div class="am-form-group wp50" v-if="info.proxy_type==0">
<label class="am-para-label w140">代理店最低限价:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入代理店最低限价" name="proxy_profix_lower" v-model="info.proxy_profix_lower" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
<div class="am-form-group wp50" v-if="info.proxy_type==0">
<label class="am-para-label w140">代理店佣金:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入代理店佣金" name="proxy_profix_rebate" v-model="info.proxy_profix_rebate" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
<div class="am-form-group wp50" style="display: none">
<div class="am-form-group wp50">
<label class="am-para-label w140">代理店单车毛利:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入代理店单车毛利" name="proxy_profix_car" v-model="info.proxy_profix_car" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
<div class="am-form-group wp50" style="display: none">
<div class="am-form-group wp50">
<label class="am-para-label w140">品牌店单车毛利:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入品牌店单车毛利" name="profix_car" v-model="info.profix_car" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
<div class="am-form-group wp50" style="display: none">
<div class="am-form-group wp50">
<label class="am-para-label w140">上牌毛利:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入上牌毛利" name="profix_carno" v-model="info.profix_carno" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
<div class="am-form-group wp50" style="display: none">
<div class="am-form-group wp50">
<label class="am-para-label w140">保险毛利:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入保险毛利" name="profix_insure" v-model="info.profix_insure" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
<div class="am-form-group wp50" style="display: none">
<label class="am-para-label w140">按揭毛利:</label>
<div class="am-form-group wp50">
<label class="am-para-label w140">贷款毛利:</label>
<div class="am-para-input">
<input type="text" placeholder="请输入按揭毛利" name="profix_loan" v-model="info.profix_loan" style="display: inline;width: 60%"/>
<input type="text" placeholder="请输入贷款毛利" name="profix_loan" v-model="info.profix_loan" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
@@ -260,7 +231,7 @@
var vm = this;
vm.seryAry = {};
if(nv > 0){
$.get('/auto/series/json_lists',{brand_id:nv, status:1},function (data) {
$.get('/auto/series/json_lists',{brand_id:nv},function (data) {
if (1 == data.code) {
var lists = data.data.list;
var seryAry = {};
@@ -283,12 +254,12 @@
var old_s_id = '<?=$info['s_id']?>';
if (nv > 0) {
//型号
$.get('/auto/attr/json_lists',{s_id:nv,'status':3,'type':1},function (response) {
$.get('/auto/attr/json_lists',{s_id:nv,'status':1,'type':1},function (response) {
if (response.code == 1) {
vm.attrvAry = response.data.list;
}
},'json');
$.get('/auto/attr/json_lists',{s_id:nv,'status':3,'type':0},function (response) {
$.get('/auto/attr/json_lists',{s_id:nv,'status':1,'type':0},function (response) {
if (response.code == 1) {
vm.colorattrvAry = response.data.list;
if(vm.colors){
+7 -99
View File
@@ -72,8 +72,6 @@
<div class="am-form-group fl ml20">
<button type="submit" class="am-btn am-btn-sm am-btn-success w100">搜索</button>
<a class="am-btn am-btn-sm am-btn-success w100" data-modal="/auto/business/get" data-title="新增">新增</a>
<button type="button" id="export" class="am-btn am-btn-success am-btn-sm w100">导出</button>
<button type="button" id="import" class="am-btn am-btn-success am-btn-sm w100">导入</button>
</div>
</div>
</form>
@@ -88,17 +86,12 @@
<span>ID</span>
</th>
<th width="10%"><span>裸车报价</span></th>
<th width="10%"><span>展厅最低限</span></th>
<th width="6%"><span>代理店单结佣方式</span></th>
<th width="6%"><span>代理店结算价</span></th>
<th width="6%"><span>代理店最低限价</span></th>
<th width="6%"><span>代理店佣金</span></th>
<!--
<th width="6%"><span>代理店单车毛利</span></th>
<th width="6%"><span>品牌店单车毛利</span></th>
<th width="10%"><span>车辆底</span></th>
<th width="6%"><span>单车利润</span></th>
<th width="6%"><span>保险利润</span></th>
<th width="6%"><span>按揭利润</span></th>
<th width="6%"><span>贷款利润</span></th>
<th width="6%"><span>挂牌利润</span></th>
<!--
<th width="10%"><span>公司加价</span></th>
<th width="10%"><span>颜色加价</span></th>
-->
@@ -122,16 +115,11 @@
</td>
<td>{{v.price_car}}</td>
<td>{{v.price_floor}}</td>
<td>{{v.proxy_type}}</td>
<td>{{v.proxy_profix_price}}</td>
<td>{{v.proxy_profix_lower}}</td>
<td>{{v.proxy_profix_rebate}}</td>
<!--
<td>{{v.proxy_profix_car}}</td>
<td>{{v.profix_car}}</td>
<td>{{v.profix_insure}}</td>
<td>{{v.profix_loan}}</td>
<td>{{v.profix_carno}}</td>
<!--
<td>{{v.price_coplus}}</td>
<td>{{v.price_color}}</td>
-->
@@ -176,26 +164,6 @@
<?php page_view($pager) ?>
</div>
</div>
<div id="cule-modal" style="display: none;padding: 10px">
<div class="modal-body">
<div class="text-center">
<h2><i class="fa fa-info-circle"></i> 请上传Excel文件</h2>
<p>Excel文件格式必须与模板保持一致,否则无法导入</p>
<div class="form-group-action">
<a href="/temp/business.xlsx" target="_blank" class="btn btn-default">查看模板</a>
<label href="javascript:" class="btn btn-primary" style="margin-left: 10px;">
<form id="import-form">
<input type="file" id="business-file" name="file" accept=".xls,.xlsx"
style="left:-9999px;position:absolute;" onchange="load_business()">
</form>
<span>上传Excel文件</span>
</label>
</div>
</div>
</div>
</div>
</div>
<script>
require(['laydate'], function (laydate) {
@@ -297,7 +265,7 @@
url: '/auto/series/json_lists',
type: 'post',
dataType: 'json',
data: {brand_id:nv, status:1},
data: {brand_id:nv},
beforeSend: function () {},
success: function (data) {
if (1 == data.code) {
@@ -332,7 +300,7 @@
dataType: 'json',
data: {
s_id: nv,
status: 3,
status: 1,
type: 1
},
success: function (response) {
@@ -349,67 +317,7 @@
}
});
$('#export').click(function () {
var count = <?=$pager['totle']?>;
if (count > 10000) {
layer.msg('单次导出数据不能超过10000');
return false;
}
var href = $.menu.parseUri(window.location.href);
var arr = href.split('?');
href = '/auto/business/export?' + arr[1];
window.location.href = href;
});
$("#import").click(function () {
$("#business-file").val('');
layer.open({
type: 1,
area: ['40%'], //宽高
content: $('#cule-modal'),
title: '导入线索',
shade: false,
btn: ['完成'],
yes: function (index) {
layer.close(index);
}
});
});
<?php page_script($pager) ?>
});
function load_business() {
var file = $("#business-file");
if (file.val() == '') {
layer.msg('文件是空的');
return 0;
}
var loading = layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
var options = {
url: "/auto/business/add_excel",
type: "post",
dataType: "json",
data: {},
success: function (res) {
if (1 == res.code) {
layer.msg(res.msg, {
icon: 1,
time: 2000
}, function () {
$.form.reload();
});
}
},
complete: function () {
file.val('');
layer.close(loading);
}
};
$("#import-form").ajaxSubmit(options);
}
</script>
+1 -1
View File
@@ -6,7 +6,6 @@
<span></span>
</div>
</div>
<!--
<div class="am-form-group wp50 fl">
<label class="am-para-label">车辆底价:</label>
<div class="am-para-input">
@@ -14,6 +13,7 @@
<span></span>
</div>
</div>
<!--
<div class="am-form-group wp50 fl">
<label class="am-para-label">定金:</label>
<div class="am-para-input">
+5 -5
View File
@@ -50,8 +50,8 @@
<span>ID</span>
</th>
<th width="30%"><span>裸车报价</span></th>
<!--
<th width="30%"><span>车辆底价</span></th>
<!--
<th width="7%"><span>定金</span></th>
<th width="7%"><span>保险报价</span></th>
<th width="7%"><span>精品报价</span></th>
@@ -61,13 +61,13 @@
<th width="9%"><span>一级分销佣金</span></th>
<th width="9%"><span>二级分销佣金</span></th>
-->
<th width="7%"><span>操作</span></th>
<th width=""><span>操作</span></th>
</tr>
</thead>
<tbody>
<template v-for="(v,i) in lists">
<tr class="tl">
<td colspan="3">车型:<span style="font-weight: 600;color:#FF7F50;">{{v.title}}</span></td>
<td colspan="4">车型:<span style="font-weight: 600;color:#FF7F50;">{{v.title}}</span></td>
</tr>
<tr >
<td>
@@ -76,8 +76,8 @@
</td>
<template v-if="1==v.edit">
<td><input style="width: 100%" type="text" name="price_car" v-model="info_edit.price_car" placeholder=""></td>
<!--
<td><input style="width: 100%" type="text" name="price_floor" v-model="info_edit.price_floor" placeholder=""></td>
<!--
<td><input style="width: 100%" type="text" name="price_book" v-model="info_edit.price_book" placeholder=""></td>
<td><input style="width: 100%" type="text" name="price_insure" v-model="info_edit.price_insure" placeholder=""></td>
<td><input style="width: 100%" type="text" name="price_fine" v-model="info_edit.price_fine" placeholder=""></td>
@@ -90,8 +90,8 @@
</template>
<template v-else>
<td @dblclick="set_edit(i,1)">{{v.price_car}}</td>
<!--
<td @dblclick="set_edit(i,1)">{{v.price_floor}}</td>
<!--
<td @dblclick="set_edit(i,1)">{{v.price_book}}</td>
<td @dblclick="set_edit(i,1)">{{v.price_insure}}</td>
<td @dblclick="set_edit(i,1)">{{v.price_fine}}</td>
+1 -1
View File
@@ -108,7 +108,7 @@
methods:{
init_auto:function(){
var vm = this;
$.get('common/auto',{type:1,tp:1,status:3},function(response){
$.get('common/auto',{type:1,tp:1},function(response){
if (response.code == 1) {
vm.brand_arr = response.data;
}
+4 -4
View File
@@ -28,7 +28,7 @@
</select>
</div>
</div>
<div class="am-form-group" style="display: none">
<div class="am-form-group">
<div class="am-para-inline w120">
<select name="cor_id" v-model="params.cor_id">
<option value="">车身颜色</option>
@@ -148,7 +148,7 @@
url: '/auto/series/json_lists',
type: 'post',
dataType: 'json',
data: {brand_id:nv, status:1},
data: {brand_id:nv},
beforeSend: function () {},
success: function (data) {
if (1 == data.code) {
@@ -183,7 +183,7 @@
dataType: 'json',
data: {
s_id: nv,
status: 3,
status: 1,
type: 0
},
success: function (response) {
@@ -199,7 +199,7 @@
dataType: 'json',
data: {
s_id: nv,
status: 3,
status: 1,
type: 1
},
success: function (response) {
+1
View File
@@ -66,6 +66,7 @@
<colgroup>
<col width="70%"/>
<col width="10%"/>
<col width="20%"/>
</colgroup>
<tbody>
<tr v-for="(v,i) in seriesList">
-2
View File
@@ -36,7 +36,6 @@
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="5%"><span>ID</span></th>
<th width="25%"><span>车型</span></th>
<th width="10%"><span>创建时间</span></th>
<th width="10%"><span>状态</span></th>
@@ -47,7 +46,6 @@
<?php if ($lists) {
foreach ($lists as $v) { ?>
<tr>
<td><?= $v['id'] ?></td>
<td><?= $v['title'] ?></td>
<td><?= $v['c_time'] ?></td>
<td><?= $v['status_name'] ?></td>
-113
View File
@@ -1,113 +0,0 @@
<form id="vue-app-edit" class="am-form am-form-horizontal" action="" data-auto="true" method="post" style="width: 90%;padding-top: 10px">
<div class="am-form-group">
<label class="am-para-label">标题:</label>
<div class="am-para-input">
<input type="text" placeholder="输入标题" name="title" v-model="info.title">
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">品牌车系:</label>
<div class="am-para-input">
<select name="brand_id" v-model="info.brand_id" style="display: inline; width: 120px;">
<option value="0">请选择</option>
<option :value="i" v-for="(v,i) in brandAry">{{v}}</option>
</select>
<select name="s_id" v-model="info.s_id" style="display: inline; width: 120px;">
<option value="0">请选择</option>
<option :value="i" v-for="(v,i) in seryAry">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">价格:</label>
<div class="am-para-input w150">
<input type="text" placeholder="输入价格" name="number" v-model="info.price">
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">描述:</label>
<div class="am-para-input">
<textarea name="content" id="editor" v-model="info.descrip"></textarea>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input">
<button class="am-btn am-btn-secondary" type="button" @click="saveEdit()">保存</button>
</div>
</div>
</form>
<script>
$(document).ready(function () {
require(['ckeditor'], function (ckeditor) {
window.createEditor('[name="content"]');
});
vue_obj = new Vue({
el: '#vue-app-edit',
data: {
brandAry: [],
info:[],
seryAry: [],
},
mounted: function () {
this.info = <?=json_encode($info,JSON_UNESCAPED_UNICODE)?>;
this.brandAry = <?=json_encode($brandAry,JSON_UNESCAPED_UNICODE)?>;
},
methods: {
saveEdit: function(){
var action = '';
this.info.descrip = CKEDITOR.instances.editor.getData();
if(this.info.id){
action = 'auto/options/edit'
}else{
action = 'auto/options/add'
}
$.post(action,this.info,function(result){
if (result.code) {
layer.msg(result.msg, {time: 2000, icon: 1}, function () {
$.form.reload();
});
} else {
layer.msg(result.msg, {icon: 2});
}
},'json')
}
},
watch: {
'info.brand_id': function (nv, ov) {
var vm = this;
vm.seryAry = {};
if (nv > 0) {
$.ajax({
url: '/auto/series/json_lists',
type: 'post',
dataType: 'json',
data: {brand_id: nv},
beforeSend: function () {
},
success: function (data) {
if (1 == data.code) {
var lists = data.data.list;
var seryAry = {};
for (var i in lists) {
var row = lists[i];
seryAry[row.id] = row.name;
}
vm.seryAry = seryAry;
if (vm.info.s_id > 0 && undefined == seryAry[vm.info.s_id]) {
vm.info.s_id = '';
}
}
},
complete: function () {
loading = 0;
layer.closeAll('loading');
}
});
} else {
vm.params.s_id = '';
}
}
}
})
});
</script>
-158
View File
@@ -1,158 +0,0 @@
<div class="coms-table-wrap mt10">
<form class="form-search" onsubmit="return false" action="/auto/options/lists">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label w100">标题:</label>
<div class="am-para-inline w200">
<input type="text" name="title" value="<?= $params['title'] ?>"/>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">品牌:</label>
<div class="am-para-inline w150">
<select name="brand_id" v-model="params.brand_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in brandAry">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label">车系:</label>
<div class="am-para-inline w150">
<select name="s_id" v-model="params.s_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in seryAry">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group fl ml10">
<label class="am-para-label w50"></label>
<button type="submit" class="am-btn am-btn-success w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
<button type="button" data-title="新增g " data-open="/auto/options/get" class="am-btn am-btn-success w100">
新增
</button>
</div>
<div class="am-form-group fr" style="font-size: 15px;padding-right: 20px;padding-top: 6px;">
共有<?= $pager['totle'] ?>条数据
</div>
</div>
</form>
<div class="coms-table-bd">
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="10%"><span>ID</span></th>
<th width="20%"><span>品牌</span></th>
<th width="20%"><span>车系</span></th>
<th width="20%"><span>标题</span></th>
<th width="10%"><span>价格</span></th>
<th width="10%"><span>状态</span></th>
<th width="15%"><span>创建时间</span></th>
<th width="15%"><span>操作</span></th>
</tr>
</thead>
<tbody>
<?php foreach ($lists as $v) { ?>
<tr>
<td><?= $v['id'] ?></td>
<td><?= $v['brand_cn'] ?></td>
<td><?= $v['series_cn'] ?></td>
<td><?= $v['title'] ?></td>
<td><?= $v['price'] ?></td>
<td><?= $v['status_name'] ?></td>
<td><?= $v['c_time'] ?></td>
<td>
<?php if ($v['status'] > -1) { ?>
<a href="javascript:void (0);" data-title="编辑车系" data-open="/auto/options/get?id=<?= $v['id'] ?>"
class="am-text-primary"><?= '编辑' ?></a>
<?php } ?>
<?php if ($v['status'] == 1) { ?>
| <a href="javascript:void (0);" data-ajax="post" data-action="/auto/options/del"
data-params-id="<?= $v['id'] ?>" data-params-status="0">禁用</a>
<?php }
elseif ($v['status'] == 0) { ?>
| <a style="color: red" href="javascript:void (0);" data-ajax="post" data-action="/auto/options/del"
data-params-id="<?= $v['id'] ?>" data-params-status="1">恢复</a>
<?php } ?>
<?php if ($v['status'] > -1) { ?>
| <a href="javascript:void (0);" data-ajax="post" data-action="/auto/attr/del"
data-params-id="<?= $v['id'] ?>" data-params-status="-1">删除</a>
<?php } ?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="coms-table-ft clearfix">
<div class="coms-pagination fr mr20">
<?php page_view($pager) ?>
</div>
</div>
</div>
<script>
var vue_obj;
var loading = 0;
$(function () {
vue_obj = new Vue({
el: '.coms-table-wrap',
data: {
params: [],
brandAry: [],
seryAry: [],
type_arr: [],
status_arr: [],
},
mounted: function () {
var vm = this;
vm.params = <?=json_encode($params)?>;
vm.brandAry = <?=json_encode($brandAry)?>;
vm.type_arr = <?=json_encode($type_arr)?>;
vm.status_arr = <?=json_encode($status_arr)?>;
},
methods: {},
watch: {
'params.brand_id': function (nv, ov) {
var vm = this;
vm.seryAry = {};
if (nv > 0) {
$.ajax({
url: '/auto/series/json_lists',
type: 'post',
dataType: 'json',
data: {brand_id: nv},
beforeSend: function () {
},
success: function (data) {
if (1 == data.code) {
var lists = data.data.list;
var seryAry = {};
for (var i in lists) {
var row = lists[i];
seryAry[row.id] = row.name;
}
vm.seryAry = seryAry;
if (vm.params.s_id > 0 && undefined == seryAry[vm.params.s_id]) {
vm.params.s_id = '';
}
}
},
complete: function () {
loading = 0;
layer.closeAll('loading');
}
});
} else {
vm.params.s_id = '';
}
}
}
});
<?php page_script($pager) ?>
});
</script>
+9 -26
View File
@@ -8,7 +8,7 @@
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">品牌:</label>
<label class="am-para-label">品牌:</label>
<div class="am-para-inline w150">
<select name="brand_id" v-model="params.brand_id">
<option value="">请选择</option>
@@ -16,17 +16,7 @@
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">状态:</label>
<div class="am-para-inline w150">
<select name="status" v-model="params.status">
<option value="-9">请选择</option>
<option v-for="(item,index) in status_arr" :value="index">{{item}}</option>
</select>
</div>
</div>
<div class="am-form-group fl ml10">
<label class="am-para-label w50"></label>
<button type="submit" class="am-btn am-btn-success w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
@@ -58,22 +48,16 @@
<td><?= $v['status_name'] ?></td>
<td><?= $v['c_time'] ?></td>
<td>
<?php if ($v['status'] > -1) { ?>
<a href="javascript:void (0);" data-title="编辑车系" data-modal="/auto/series/get?id=<?= $v['id'] ?>"
class="am-text-primary"><?= '编辑' ?></a>
<?php } ?>
class="am-text-primary"><?= '编辑' ?></a> |
<?php if ($v['status'] == 1) { ?>
| <a href="javascript:void (0);" data-ajax="post" data-action="/auto/series/del"
<a href="javascript:void (0);" data-ajax="post" data-action="/auto/series/del"
data-params-id="<?= $v['id'] ?>" data-params-status="0">禁用</a>
<?php }
elseif ($v['status'] == 0) { ?>
| <a style="color: red" href="javascript:void (0);" data-ajax="post" data-action="/auto/series/del"
<?php } else { ?>
<a style="color: red" href="javascript:void (0);" data-ajax="post"
data-action="/auto/series/del"
data-params-id="<?= $v['id'] ?>" data-params-status="1">恢复</a>
<?php } ?>
<?php if ($v['status'] > -1) { ?>
| <a href="javascript:void (0);" data-ajax="post" data-action="/auto/series/del"
data-params-id="<?= $v['id'] ?>" data-params-status="-1">删除</a>
<?php } ?>
</td>
</tr>
<?php } ?>
@@ -94,20 +78,19 @@
el: '.coms-table-wrap',
data: {
params:[],
brandAry:[],
status_arr: [],
brandAry:[]
},
mounted:function() {
var vm = this;
vm.params = <?=json_encode($params)?>;
vm.brandAry = <?=json_encode($brandAry)?>;
vm.status_arr = <?=json_encode($status_arr)?>;
},
methods:{},
watch:{}
});
<?php page_script($pager) ?>
});
<?php page_script($pager) ?>
</script>
+1 -1
View File
@@ -4,7 +4,7 @@
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span href="javascript:void(0)" style="font-size: 20px">
店概况
概况
</span>
</div>
<div class="am-panel-bd">
-204
View File
@@ -1,204 +0,0 @@
<form id="vue-edit" class="am-form am-form-horizontal tab-content" action="/auto/cars/edit" data-auto="true" method="post" style="width: 90%;padding:25px 30px 20px 0;margin: 0 auto;">
<div class="tab-pane fade in active" id="swzc">
<div class="am-form-group wp50">
<label class="am-para-label">业务类型:</label>
<div class="am-para-input">
<select name="type" v-model="info.type" disabled>
<option v-for="(v,i) in typeAry" :value="i">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group wp50" v-if="info.type==2">
<label class="am-para-label">保险类型:</label>
<div class="am-para-input">
<select v-model="info.jsondata.type" disabled>
<option v-for="(v,i) in insure_typeAry" :value="i">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group wp50">
<label class="am-para-label">供应商:</label>
<div class="am-para-input">
<select v-model="info.jsondata.supplier_id" :disabled="info.jsondata.supplier_id>0">
<option v-for="(item,key) in supplier" :value="item.id">{{item.title}}</option>
</select>
<input type="hidden" placeholder="供应商" v-model="info.title">
</div>
</div>
<template v-if="info.type==3">
<div class="am-form-group wp50">
<label class="am-para-label">期数:</label>
<div class="am-para-input">
<select v-model="info.jsondata.finance_num" :disabled="info.jsondata.finance_num>0">
<option v-for="item in finances_num" :value="item">{{item}}</option>
</select>
</div>
</div>
</template>
<div class="am-form-group wp50" v-if="info.type==1 || info.type==3 && info.is_def==0">
<label class="am-para-label">生效时间:</label>
<div class="am-para-input">
<input type="text" placeholder="" id="id-time" v-model="info.s_effect_time" autocomplete="off"/>
</div>
</div>
<div class="am-form-group wp100">
<label class="am-para-label">是否默认:</label>
<div class="am-para-input">
<input type="checkbox" class="mui-switch mui-switch-anim va-mid" true-value="1" false-value="0" v-model="info.is_def"/>
</div>
<span v-if="info.type==1">同个供应商,只能有一个默认值</span>
<span v-if="info.type==2">同个供应商 + 保险类型,只能有一个默认值</span>
<span v-if="info.type==3">同个供应商 + 同个期数,只能有一个默认值</span>
</div>
<template v-if="info.type==1">
<div class="am-form-group wp50" >
<label class="am-para-label">结算价:</label>
<div class="am-para-input">
<input type="number" placeholder="请输入结算价" name="price_insure" v-model="info.jsondata.price" style="display: inline;width: 60%"/>
<span></span>
</div>
</div>
</template>
<div class="am-form-group wp100" v-if="info.type==3">
<label class="am-para-label">是否贴息:</label>
<div class="am-para-input">
<input type="checkbox" class="mui-switch mui-switch-anim va-mid" true-value="1" false-value="0" v-model="info.is_tiexi"/>
</div>
</div>
<template v-if="info.type==2 || info.type==3 && info.is_tiexi == 0">
<div class="am-form-group fl">
<label class="am-para-label">返点:</label>
<div class="input-group am-para-input w150">
<input type="number" placeholder="输入返点" v-model="info.jsondata.rebate">
<div class="input-group-addon">%</div>
</div>
</div>
<div class="am-form-group">
<div class="input-group am-para-input">
<span class="f12 clr999 lh-default ml5">百分比</span>
</div>
</div>
</template>
<div class="am-form-group" :style="{'display':info.type==2 && info.is_def==0 ? 'block':'none'}">
<label class="am-para-label">时间区间:</label>
<div class="am-para-input wp60">
<div class="am-para-inline w200">
<input type="text" placeholder="开始时间" autocomplete="off" value="<?=$info['jsondata']['s_time']?>" name="s_time" id="s-time">
</div>
<div class="am-para-inline w200">
<input type="text" placeholder="结束时间" autocomplete="off" value="<?=$info['jsondata']['e_time']?>" name="e_time" id="e-time">
</div>
</div>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input"><button class="am-btn am-btn-secondary" type="button" @click="saveEdit">提交</button></div>
</div>
</form>
<script>
require(['laydate'], function (laydate) {
laydate.render({
elem: '#id-time'
});
//日期范围
laydate.render({
elem: '#s-time'
,type: 'datetime'
});
laydate.render({
elem: '#e-time'
,type: 'datetime'
});
});
var loading = 0;
var vue_obj;
$(function(){
vue_obj = new Vue({
el: '#vue-edit',
data: {
info : {jsondata:[]},
typeAry:[],
insure_typeAry:[],
yearAry:[],
monthAry:[],
finances_num:[],
supplier:[],
action:''
},
mounted:function(){
var vm = this;
vm.info = <?=json_encode($info)?>;
vm.typeAry = <?=$typeAry ? json_encode($typeAry) : '[]'?>;
vm.insure_typeAry = <?=$insure_typeAry ? json_encode($insure_typeAry) : '[]'?>;
vm.action = '<?=$info['action']?>';
vm.yearAry = <?=json_encode($yearAry)?>;
vm.monthAry = <?=json_encode($monthAry)?>;
vm.finances_num = <?=json_encode($finances_num)?>;
vm.supplier = <?=json_encode($supplier)?>;
},
methods:{
saveEdit:function(){
var vm = this;
vm.info.s_effect_time = $("#id-time").val();
if(vm.info.type==2){
vm.info.s_time = $("#s-time").val();
vm.info.e_time = $("#e-time").val();
if (vm.info.is_def == 0){
if (vm.info.s_time == '' || vm.info.e_time == '') {
alert("请填写时间区间");
return false;
}
}
}
if(1 == loading){
return 0;
}
loading = 1;
$.ajax({
url: vm.action,
type: 'post',
dataType: 'json',
data: {info:vm.info},
beforeSend: function () {
layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
success: function (data) {
loading = 0;
if (data['code']) {
layer.msg(data.msg, {
icon: 1,
time: 2000
}, function () {
layer.closeAll();
$.form.reload();
});
} else {
layer.msg(data.msg, {icon: 2});
}
},
complete: function () {
loading = 0;
layer.closeAll('loading');
}
});
}
},
watch:{
}
});
});
</script>
+48 -72
View File
@@ -1,67 +1,30 @@
<form id="vue-edit" class="am-form am-form-horizontal tab-content" action="/auto/cars/edit" data-auto="true" method="post" style="width: 90%;padding:25px 30px 20px 0;margin: 0 auto;">
<div class="tab-pane fade in active" id="swzc">
<div class="am-form-group wp100" v-if="info.step<=2">
<b>第一步:选择供应商</b>
</div>
<div class="am-form-group wp50">
<label class="am-para-label">类型:</label>
<div class="am-para-input">
<select name="type" v-model="info.type" disabled>
<option v-for="(v,i) in typeAry" :value="i">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group wp50" v-if="info.type==2">
<label class="am-para-label">保险类型:</label>
<div class="am-para-input">
<select v-model="info.jsondata.type" :disabled="info.step==2">
<option v-for="(v,i) in insure_typeAry" :value="i">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group wp50">
<div class="am-form-group wp50" v-if="info.type!=3">
<label class="am-para-label">供应商:</label>
<div class="am-para-input">
<select v-model="info.jsondata.supplier_id" :disabled="info.step==2">
<option v-for="(item,key) in supplier" :value="item.id">{{item.title}}</option>
</select>
<input type="hidden" placeholder="供应商" v-model="info.title">
<input type="text" placeholder="供应商" v-model="info.title">
</div>
</div>
<template v-if="info.type==3">
<div class="am-form-group wp50">
<label class="am-para-label">期数:</label>
<div class="am-para-input">
<select v-model="info.jsondata.finance_num" :disabled="info.step==2">
<option v-for="item in finances_num" :value="item">{{item}}</option>
</select>
</div>
</div>
</template>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input"><button class="am-btn am-btn-secondary" type="button" @click="nextstep" v-if="info.step==1" :disabled="info.type==3 && info.jsondata.supplier_id==0 && info.jsondata.finance_num > 0|| info.type!=3 && info.jsondata.supplier_id==0 && info.jsondata.finance_num > 0">点击进入下一步</button></div>
</div>
</div>
<div class="fade in tab-pane" v-show="info.step==2" :class="info.step==2?'active':''" id="swzc2">
<div class="am-form-group wp100" v-if="info.step<=2">
<b>第二步:配置业务数据</b>
</div>
<div class="am-form-group wp50" v-if="info.type==1 || info.type==3 && info.is_def==0">
<div class="am-form-group wp50" v-if="info.type!=2">
<label class="am-para-label">生效时间:</label>
<div class="am-para-input">
<input type="text" placeholder="" id="id-time" v-model="info.s_effect_time" autocomplete="off"/>
</div>
</div>
<div class="am-form-group wp100">
<div class="am-form-group wp50">
<label class="am-para-label">类型:</label>
<div class="am-para-input">
<select name="type" v-model="info.type">
<option v-for="(v,i) in typeAry" :value="i">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group wp50">
<label class="am-para-label">是否默认:</label>
<div class="am-para-input">
<input type="checkbox" class="mui-switch mui-switch-anim va-mid" true-value="1" false-value="0" v-model="info.is_def"/>
</div>
<span v-if="info.type!=2">同个业务类型下,同个供应商只能有一个默认值</span>
<span v-else>保险业务类型下,同个供应商只能有一个默认值,设置当前为默认值会自动下架其他</span>
</div>
<template v-if="info.type==1">
<div class="am-form-group wp50" >
@@ -73,13 +36,7 @@
</div>
</template>
<div class="am-form-group wp100" v-if="info.type==3">
<label class="am-para-label">是否贴息:</label>
<div class="am-para-input">
<input type="checkbox" class="mui-switch mui-switch-anim va-mid" true-value="1" false-value="0" v-model="info.is_tiexi"/>
</div>
</div>
<template v-if="info.type==2 || info.type==3 && info.is_tiexi == 0">
<template v-if="info.type==2 || info.type==3">
<div class="am-form-group fl">
<label class="am-para-label">返点:</label>
<div class="input-group am-para-input w150">
@@ -95,6 +52,18 @@
</div>
</template>
<template v-if="info.type==2">
<div class="am-form-group">
<label class="am-para-label">保险类型:</label>
<div class="input-group am-para-input w150">
<select v-model="info.jsondata.type">
<option value="1">商业险</option>
<option value="2">交强险</option>
</select>
</div>
</div>
</template>
<div class="am-form-group" :style="{'display':info.type==2 ? 'block':'none'}" v-if="info.is_def==0">
<label class="am-para-label">时间区间:</label>
<div class="am-para-input wp60">
@@ -106,9 +75,28 @@
</div>
</div>
</div>
<template v-if="info.type==3">
<div class="am-form-group wp50">
<label class="am-para-label">产品:</label>
<div class="am-para-input">
<select v-model="info.jsondata.finance_id">
<option v-for="(item,key) in finances" :value="item.id">{{item.title}}</option>
</select>
</div>
</div>
<div class="am-form-group wp50">
<label class="am-para-label">期数:</label>
<div class="am-para-input">
<select v-model="info.jsondata.finance_num">
<option v-for="item in finances_num" :value="item">{{item}}</option>
</select>
</div>
</div>
</template>
</div>
<div class="am-form-group" style="margin-bottom: 2rem" v-if="info.step>=2">
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input"><button class="am-btn am-btn-secondary" type="button" @click="saveEdit">提交</button></div>
</div>
</form>
@@ -133,25 +121,23 @@
vue_obj = new Vue({
el: '#vue-edit',
data: {
info : {jsondata:[]},
info : [],
typeAry:[],
insure_typeAry:[],
yearAry:[],
monthAry:[],
finances:[],
finances_num:[],
supplier:[],
action:''
},
mounted:function(){
var vm = this;
vm.info = <?=json_encode($info)?>;
vm.typeAry = <?=$typeAry ? json_encode($typeAry) : '[]'?>;
vm.insure_typeAry = <?=$insure_typeAry ? json_encode($insure_typeAry) : '[]'?>;
vm.action = '<?=$info['action']?>';
vm.yearAry = <?=json_encode($yearAry)?>;
vm.monthAry = <?=json_encode($monthAry)?>;
vm.finances = <?=json_encode($finances)?>;
vm.finances_num = <?=json_encode($finances_num)?>;
vm.supplier = <?=json_encode($supplier)?>;
},
methods:{
saveEdit:function(){
@@ -161,12 +147,6 @@
if(vm.info.type==2){
vm.info.s_time = $("#s-time").val();
vm.info.e_time = $("#e-time").val();
if (vm.info.is_def == 0){
if (vm.info.s_time == '' || vm.info.e_time == '') {
alert("请填写时间区间");
return false;
}
}
}
if(1 == loading){
return 0;
@@ -201,10 +181,6 @@
layer.closeAll('loading');
}
});
},
nextstep:function(){
var vm = this;
vm.info.step = 2;
}
},
watch:{
+4 -17
View File
@@ -14,15 +14,6 @@
<form class=" form-search coms-table-hd clearfix no-border" onsubmit="return false"
action="/biz/srv/lists">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl" v-if="params.type==2">
<label class="am-para-label w80">保险类型:</label>
<div class="am-para-inline w100">
<select name="insure_type" v-model="params.insure_type">
<option value="">请选择</option>
<option v-for="(v,i) in insure_typeAry" :value="i">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">状态:</label>
<div class="am-para-inline w100">
@@ -47,7 +38,7 @@
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
</div>
<div class="am-form-group fl ml20">
<button :data-title="'新增-'+typeAry[params.type]" type="button" :data-modal="'/biz/srv/get?type='+params.type" class="am-btn am-btn-success am-btn-sm w100">
<button data-title="新增" type="button" :data-modal="'/biz/srv/get?type='+params.type" class="am-btn am-btn-success am-btn-sm w100">
新增
</button>
</div>
@@ -59,7 +50,7 @@
<thead>
<tr>
<th width="8%"><span>ID</span></th>
<th width="20%"><span>门店</span></th>
<th width="20%"><span>商家</span></th>
<th width="20%"><span>供应商</span></th>
<th width="20%"><span>其它参数</span></th>
<th width="15%"><span>生效日期</span></th>
@@ -75,7 +66,7 @@
<td><?= $v['id'] ?></td>
<td><?= $v['biz_name'] ?></td>
<td><?= $v['title'] ?></td>
<td style="text-align: left; margin-left: 20px">
<td>
<?foreach ($v['other_data'] as $k2 => $v2){?>
<?=$k2?>:<?= $v2 ?><br>
<?}?>
@@ -113,15 +104,11 @@
el: '#vue-app',
data: {
params: [],
titleAry:[],
typeAry:[],
insure_typeAry:[],
titleAry:[]
},
mounted: function () {
var vm = this;
vm.params = <?=json_encode($params)?>;
vm.typeAry = <?=json_encode($typeAry)?>;
vm.insure_typeAry = <?=json_encode($insure_typeAry)?>;
$.get('/biz/srv/get_title', {"type":<?=$params['type']?>},function(result){
if(result.code && result.data.lists){
vm.titleAry = result.data.lists
+3 -3
View File
@@ -132,7 +132,7 @@
style="width: 90%;padding-top: 10px">
<?php } ?>
<div class="am-form-group" style="display: none">
<div class="am-form-group">
<label class="am-para-label">所属品牌:</label>
<div class="am-para-input">
<select id="brand_id" name="brand_id" v-model="brand_id" style="display: none">
@@ -153,12 +153,12 @@
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">门店</label>
<label class="am-para-label">商家名称</label>
<div class="am-para-input"><input type="text" placeholder="(最多 30 个字符)" name="biz_name"
value="<?= $biz['biz_name'] ?>"/></div>
</div>
<div class="am-form-group">
<label class="am-para-label">门店地址:</label>
<label class="am-para-label">商家地址:</label>
<div class="am-para-input">
<div class="am-form-inline">
<div class="am-form-group" style="display: none">
+4 -5
View File
@@ -182,7 +182,7 @@
</colgroup>
<thead>
<tr>
<th class="vuetable-th-slot-title">品牌</th>
<th class="vuetable-th-slot-title">商家名</th>
<th class="vuetable-th-slot-actions text-right">操作</th>
</tr>
</thead>
@@ -294,14 +294,14 @@
}
});
},
//选择品牌
//选择商家
brandModal: function () {
var that = this;
layer.open({
type: 1,
area: ['55%', '80%'], //宽高
content: $('#brand-modal'),
title: '选择品牌',
title: '选择商家',
shade: false,
btn: ['选好了'],
yes: function (index) {
@@ -309,13 +309,12 @@
}
});
data = {
page: that.brandsThPage,
//page: that.brandsThPage,
//ids: that.sys_type_id == 1 ? that.info.brandIds : that.info.bizIds,
};
$.post('/common/brands', data, function (json) {
var brandsList = json.data.itemsList;
that.brandsPage = json.data.itemsPage;
that.brandsThPage = json.data.itemsPage.page;
brandsList.map(function (_item, _index) {
brandsList[_index]['money'] = 0.00
for (var index in that.selectedBrands) {
+15 -15
View File
@@ -3,13 +3,13 @@
action="/biz/store/store/lists">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label w100">门店</label>
<label class="am-para-label w100">商家名称</label>
<div class="am-para-inline w150">
<input type="text" name="bizname" value="<?= $bizname ?>"/>
</div>
</div>
<div class="am-form-group fl" style="display: none">
<div class="am-form-group fl">
<label class="am-para-label w80">品牌:</label>
<div class="am-para-inline w250">
<select name="brand_id" v-model="brand_id">
@@ -40,7 +40,7 @@
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">门店地址:</label>
<label class="am-para-label w100">商家地址:</label>
<div class="am-form-group am-para-inline w150" style="display: none">
<select name="province_id" data-toggle="next-select"
data-refurl="/common/area?key=city&id={value}&url=search" data-next="#bd-hd-city">
@@ -90,7 +90,7 @@
</div>
-->
<div class="am-form-group fl">
<label class="am-para-label w110">渠道经理:</label>
<label class="am-para-label w100">渠道经理:</label>
<div class="am-para-inline w100">
<select name="qdjl_id" v-model="params.qdjl_id">
<option value=''>请选择</option>
@@ -132,8 +132,8 @@
<tr>
<th width="50"></th>
<th width="5%"><span>ID</span></th>
<th><span>门店</span></th>
<!--<th width="30%"><span>品牌</span></th>-->
<th width="30%"><span>商家名称</span></th>
<th width="30%"><span>品牌</span></th>
<th width="12%"><span>类型</span></th>
<th width="12%"><span>状态</span></th>
<th width="15%"><span>创建时间</span></th>
@@ -148,13 +148,13 @@
</td>
<td><?= $v['id'] ?></td>
<td><?= $v['biz_name'] ?></td>
<!-- <td><?/*= $v['brand_name'] */?></td>-->
<td><?= $v['brand_name'] ?></td>
<td><?= $v['type_name'] ?></td>
<td><?= $statuscn[$v['status']] ?></td>
<td><?= $v['c_time'] ?></td>
</tr>
<tr>
<td colspan="5" class="align-r">
<td colspan="6" class="align-r">
<?if($v['type']==1){?>
<a data-open="/biz/fine/lists?id=<?= $v['id'] ?>"
class="am-btn am-btn-primary am-btn-xs">精品配置
@@ -177,12 +177,12 @@
<a data-open="/biz/situation/get?id=<?= $v['id'] ?>"
class="am-btn am-btn-primary am-btn-xs">概况</a>
<a href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs"
@click="channel_modal(<?= $v['id'] ?>, '<?= $v['biz_name'] ?>')">渠道归属</a>
@click="channel_modal(<?= $v['id'] ?>)">渠道归属</a>
<a href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs"
@click="biz_manage_modal(<?= $v['id'] ?>, '<?= $v['biz_name'] ?>')">门店管理员</a>
@click="biz_manage_modal(<?= $v['id'] ?>)">门店管理员</a>
<a class="am-btn am-btn-primary am-btn-xs"
data-modal="/common/share_link?id=<?= $v['id'] ?>&app_id=1&pages=storeInfo"
data-title="<?= $v['biz_name'] ?>-狸车小程序店首页">分享链接</a>
data-title="狸车小程序店首页">分享链接</a>
<a data-open="/biz/store/store/get?id=<?= $v['id'] ?>" class="am-btn am-btn-primary am-btn-xs">修改</a>
<input type="hidden" class="biz-id-<?= $v['id'] ?>" name="id" value="<?= $v['id'] ?>" checked>
<select data-update-group="" data-list-target=".biz-id-<?= $v['id'] ?>"
@@ -293,7 +293,7 @@
vm.qdjl_lists = <?=json_encode($qdjl_lists)?>;
},
methods: {
channel_modal: function (biz_id,biz_name) {
channel_modal: function (biz_id) {
//选择渠道归属
var vm = this;
vm.channels = [];
@@ -312,7 +312,7 @@
type: 1,
area: ['50%', '40%'], //宽高
content: $('#channel-modal'),
title: biz_name+'-渠道归属',
title: '渠道归属',
shade: false,
btn: ['保存选择'],
yes: function (index) {
@@ -333,7 +333,7 @@
}
});
},
biz_manage_modal: function (biz_id,biz_name) {
biz_manage_modal: function (biz_id) {
//选择门店管理员
var vm = this;
vm.biz_manage = {admins: [], group_id: 2, admin_id: 0, biz_id: biz_id, admin_name: ''};
@@ -342,7 +342,7 @@
type: 1,
area: ['50%', '50%'], //宽高
content: $('#biz_manage-modal'),
title: biz_name+'-门店管理员',
title: '门店管理员',
shade: false,
btn: ['保存选择'],
yes: function (index) {
-598
View File
@@ -1,598 +0,0 @@
<div class="am-form am-form-horizontal" style="width: 98%;padding-top: 10px">
<div id="vue-edit">
<div class="am-g">
<div class="col-sm-12" style="margin-bottom: 20px;">
<div class="col-sm-2">
<div class="my-panel">
<div class="text-center">
状态
</div>
<div class="text-center" style="padding-top: 5px;">
<select id="status" v-model="info.status" disabled="disabled"
@change='getStatus2();'>
<template v-for="(v,i) in infoShow.statusList">
<option :value="v.id">{{v.name}}</option>
</template>
</select>
</div>
</div>
</div>
<div class="col-sm-2">
<div class="my-panel">
<div class="text-center">
二级状态
</div>
<div class="text-center" style="padding-top: 5px;">
<select id="status2" v-model="info.status2" disabled="disabled">
<option value="0">二级状态</option>
<template v-for="(v,i) in infoShow.status2List">
<option :value="v.id">{{v.name}}</option>
</template>
</select>
</div>
</div>
</div>
<div class="am-form-inline" style="padding-right: 10px;padding-top: 12px;">
<div class="text-right">
<div class="am-form-group ml10">
<a href="javascript:void(0)" class="am-btn am-btn-sm am-btn-default"
@click="editType(1)" v-if="info.editType==1">取消编辑</a>
<a href="javascript:void(0)" class="am-btn am-btn-sm am-btn-default"
@click="editType(1)" v-else>编辑状态</a>
</div>
<div class="am-form-group ml10" v-if="info.editType==1">
<a href="javascript:void(0)" class="am-btn am-btn-sm am-btn-success"
@click="saveEdit()">修改状态</a>
</div>
<div class="am-form-group ml10">
<a href="javascript:void(0)" class="am-btn am-btn-sm am-btn-success"
onclick="edit_adviser()">分配</a>
</div>
</div>
</div>
</div>
</div>
<div class="am-u-lg-12">
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span href="javascript:void(0)" style="font-size: 20px">
用户信息
</span>
<span style="float:right;margin-top:5px;">
<a href="javascript:" @click="editType(2)"><i class="fa fa-edit"></i></a>
</span>
</div>
<div class="am-panel-bd am-g">
<table width="100%" style="margin:0px 0px 10px 0px;">
<tr>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">客户姓名:</div>
<input type="text" v-model="info.name" placeholder="请输入客户姓名"></div>
</td>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">客户电话:</div>
{{infoShow.mobile_sub}}
</div>
</td>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">线索来源:</div>
{{infoShow.cfrom_title}}
</div>
</td>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">加入时间:</div>
{{infoShow.c_time}}
</div>
</td>
</tr>
<tr>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">最后报名时间:</div>
{{infoShow.en_time}}
</div>
</td>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">分配商家:</div>
<template v-if="infoShow.cus_bizs">
{{infoShow.cus_bizs}}
</template>
<template v-else>
未分配
</template>
</div>
</td>
<td class="table-td" v-if="infoShow.cf_user">
<div class="input-group">
<div class="input-group-addon">分销来源:</div>
{{infoShow.cf_user}}
</div>
</td>
</tr>
<tr>
<td>
<div class="am-form-inline" style="padding-right: 30px;padding-top: 10px;">
<div class="text-left pt10">
<div class="am-form-group ml10">
<a v-if="info.editType==2" href="javascript:void(0)"
class="am-btn am-btn-sm am-btn-success"
@click="saveEdit()">修改用户信息</a>
</div>
</div>
</div>
</td>
<td colspan="3">
<div class="am-form-inline" style="padding-right: 40px;padding-top: 10px;">
<div class="text-right pt10">
<div class="am-form-group ml10">
<a data-modal="/common/show_sms?id=<?= $info['id'] ?>&type=clues"
data-title="发送短信"
class="am-btn am-btn-sm am-btn-success">短信</a>
</div>
<div class="am-form-group ml10">
<a href="javascript:void(0);"
data-modal="/common/bind_mobile?id=<?= $info['id'] ?>&type=clues"
class="am-btn am-btn-sm am-btn-success" data-title="获取手机号">
拨打电话
</a>
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="am-u-lg-12">
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span href="javascript:void(0)" style="font-size: 20px">
意向信息
</span>
<span style="float:right;margin-top:5px;">
<a href="javascript:" @click="editType(3)"><i class="fa fa-edit"></i></a>
</span>
</div>
<div class="am-panel-bd am-g">
<table width="100%" style="margin:0px 0px 10px 0px;">
<tr>
<td class="table-td" colspan="2">
<div class="input-group">
<div class="input-group-addon">地区:</div>
<select class="mr5" style="width: 120px; display: inline" v-model="info.city_id">
<option value="">选择城市</option>
<template v-for="(v,i) in cityAry">
<option :value="v.id">{{v.name}}</option>
</template>
</select>
<select style="width: 120px; display: inline" v-model="info.county_id">
<option value="">选择行政区</option>
<template v-for="(v,i) in countyAry">
<option :value="v.id">{{v.name}}</option>
</template>
</select>
</div>
</td>
<td class="table-td" colspan="2">
<div class="input-group">
<div class="input-group-addon">推荐门店:</div>
<button v-for="(val,key) in infoShow['near_bizs']"
:class="'btn ml5 btn-xs btn-'+randClass()" @click="showBizInfo(val)">
{{val.biz_name}}
</button>
</div>
</td>
</tr>
<tr v-if="info.editType==3">
<td colspan="4">
<div class="am-form-inline" style="padding-right: 30px;padding-top: 10px;">
<div class="text-left pt10">
<div class="am-form-group ml10">
<a href="javascript:void(0)"
class="am-btn am-btn-sm am-btn-success"
@click="saveEdit()">修改意向信息</a>
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="am-u-lg-12">
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span href="javascript:void(0)" style="font-size: 20px">
线索日志
</span>
<span style="float:right;margin-top:5px">
<a href="javascript:void(0)" @click="logModal()">新增小记</a>
</span>
</div>
<div class="am-panel-bd">
<div class="am-tabs" data-am-tabs>
<div class="am-tab-panel am-active">
<table class="am-table">
<thead>
<tr>
<th width="15%"><span>操作人员</span></th>
<th width=""><span>内容</span></th>
<th width="13%"><span>类型</span></th>
<th width="15%"><span>操作时间</span></th>
</tr>
</thead>
<tbody>
<?php foreach ($info_show['logsList'] as $key => $val) { ?>
<tr>
<td style="vertical-align:middle;word-wrap:break-word"><?= $val['uname'] ?></td>
<td style="vertical-align:middle;word-wrap:break-word">
<? if ($val['rec_url']) { ?>
<audio controls="controls">
<source src="<?= $val['rec_url'] ?>"/>
</audio>
<? } else if ($val['rec_text']) { ?>
<?= $val['rec_text'] ?>
<? } else { ?>
<?= $val['log'] ?>
<? } ?>
</td>
<td style="vertical-align:middle;word-wrap:break-word"><?= $val['type_name'] ?></td>
<td style="vertical-align:middle;word-wrap:break-word;"><?= $val['c_time'] ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div id="log-modal" style="display: none;">
<div style="padding-top: 20px;">
<div class="am-form-group">
<label class="am-para-label label-width">内容:</label>
<div class="am-para-input" style="width: 80%">
<textarea name="log" rows="5" placeholder="请输入内容" v-model="goods.log"></textarea>
</div>
</div>
</div>
</div>
<div class="am-u-lg-12" id="modal-biz-info" style="display:none">
<table width="100%" style="margin:0px 0px 10px 0px;">
<tr>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">城市地区:</div>
{{bizInfo.city_name}}-{{bizInfo.county_name}}
</div>
</td>
</tr>
<tr>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">详细地址:</div>
{{bizInfo.address}}
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<script>
var vue_obj;
$(document).ready(function () {
vue_obj = new Vue({
el: '#vue-edit',
data: {
info: {},
infoShow: {},
goods: {"imgs_url": [], "imgs": [], "log": ''},
cityAry: [],
countyAry: [],
bizInfo: [],
},
mounted: function () {
var that = this;
that.info = <?=json_encode($info)?>;
that.infoShow = <?=json_encode($info_show)?>;
that.init_citys();
},
computed: {},
created: function () {
},
updated: function () {
},
methods: {
init_citys: function () {
var vm = this;
$.ajax({
type: 'get',
url: '/common/area',
dataType: 'json',
data: {
id: '350',
key: 'city',
type: 1
},
success: function (response) {
if (response.code == 1) {
vm.cityAry = response.data;
}
}
});
},
editType: function (index) {
var vm = this;
if (index == 1) {
if (vm.info.editType == 1) {
$("#status").attr("disabled", "disabled");
$("#status2").attr("disabled", "disabled");
vm.info.editType = 0;
} else {
$("#status").removeAttr("disabled");
$("#status2").removeAttr("disabled");
vm.info.editType = 1;
}
} else {
if (vm.info.editType == index) {
vm.info.editType = 0;
} else {
vm.info.editType = index;
}
}
},
getStatus2: function () {
//二级分类
var vm = this;
$.ajax({
url: '/receiver/clues/get_status2',
type: 'post',
dataType: 'json',
data: {
status: vm.info.status,
},
success: function (data) {
vm.info.status2 = 0;
if (data.data) {
vm.infoShow.status2List = data.data;
}
},
});
},
logModal: function () {
var vm = this;
layer.open({
type: 1,
area: ['50%'], //宽高
content: $('#log-modal'),
title: '新增小记',
shade: false,
btn: ['保存', '取消'],
yes: function (index) {
$.ajax({
url: '/receiver/clues/add_log',
type: 'post',
dataType: 'json',
data: {
act_type: 1, id: <?= $info['id'] ?>, type: 0, log: vm.goods.log, imgs: vm.goods.imgs
},
beforeSend: function () {
layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
success: function (data) {
if (data['code']) {
layer.msg(data.msg, {
icon: 1,
time: 2000
}, function () {
$.form.reload();
});
} else {
layer.msg(data.msg, {icon: 2});
}
},
complete: function () {
layer.closeAll('loading');
},
});
}
});
},
saveEdit: function () {
var vm = this;
$.ajax({
url: '/receiver/clues/edit',
type: 'post',
dataType: 'json',
data: {
info: vm.info
},
beforeSend: function () {
layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
success: function (data) {
loading = false;
if (data['code']) {
layer.msg(data.msg, {
icon: 1,
time: 2000
}, function () {
$.form.reload();
});
} else {
layer.msg(data.msg, {icon: 2});
}
},
complete: function () {
loading = false;
layer.closeAll('loading');
},
});
},
randClass: function () {
var classArr = ['default', 'primary', 'success', 'info', 'warning', 'danger'];
var rand = Math.floor(Math.random() * classArr.length);
return classArr[rand]
},
showBizInfo: function (info) {
var that = this
$.get('/receiver/clues/get_bizInfo', {'id': info.id}, function (response) {
if (response.code) {
that.bizInfo = response.data.bizinfo
layer.open({
type: 1, //Page层类型
title: info.biz_name,
shade: false,
area: ['420px', '240px'], //宽高
content: $("#modal-biz-info")
});
}
})
}
},
watch: {
'info.city_id': function (nv, ov) {
var that = this;
if (nv == '') {
that.countyAry = [];
that.info.county_id = '';
} else {
if (nv.substring(0, 4) != that.info.county_id.substring(0, 4)) {
that.info.county_id = '';
}
$.ajax({
type: 'get',
url: '/common/area',
dataType: 'json',
data: {
id: nv,
key: 'county',
type: 1
},
success: function (response) {
if (response.code == 1) {
that.countyAry = response.data;
}
}
});
}
}
}
});
});
function edit_adviser() {
var ids = '<?=$info['id']?>'
return $.form.modal("/receiver/clues/get_adviser?ids=" + ids, 'open_type=modal', "分配顾问");
}
</script>
<style type="text/css">
.input-group {
width: 100%;
padding-right: 30px;
}
.input-group-addon {
padding: 0px 0px 0px 0px;
font-size: 1.6rem;
font-weight: normal;
line-height: 0px;
color: #333;
text-align: right;
background-color: #fff;
border: 0px solid #fff;
border-radius: 0px;
width: 110px;
}
.table-td {
width: 20%;
padding-top: 15px;
line-height: 37px;
font-size: 1.6rem;
}
.my-ul ul li {
padding: 10px;
}
.my-panel {
padding: 10px;
border: 1px solid #ddd;
height: 90px;
}
.auto-content {
width: min-content;
min-width: 50%;
}
.btn-group .disabled {
background-color: #eee;
opacity: 1;
}
.photo-upload {
position: relative;
font-size: 0;
}
.photo-upload:after {
content: "";
display: table;
clear: both;
}
.photo-upload-item {
position: relative;
float: left;
margin-right: 10px;
margin-bottom: 10px;
font-size: 12px; /*display:inline-block;width:120px;*/
}
.photo-upload-item > img {
}
.photo-upload-item-check,
.photo-upload-item-remove {
opacity: 0;
position: absolute;
top: -8px;
right: -8px;
width: 24px;
height: 24px;
line-height: 24px;
border: 1px solid #fff;
background-color: #eee;
border-radius: 50%;
text-align: center;
cursor: pointer;
}
.photo-upload-item:hover .photo-upload-item-remove {
opacity: 1;
transition: all .4s ease
}
.photo-upload-item-check {
opacity: 1;
background-color: #36f;
color: #fff;
}
</style>
<link rel="stylesheet" type="text/css" href="/static/css/appitem/font-awesome.min.css?v=1581252500">
-79
View File
@@ -1,79 +0,0 @@
<form class="am-form am-form-horizontal ptb20 pr20 mt10" data-auto="true" method="post" style="padding-top: 10px;padding-bottom: 10px;"
action="" id="edit-form">
<div class="am-form-group">
<label class="am-para-label">姓名:</label>
<div class="am-para-input w300">
<input type="text" placeholder="输入姓名" v-model="info.name" name="name"/>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">手机号:</label>
<div class="am-para-input w300">
<input type="text" placeholder="输入手机号" v-model="info.mobile" name="mobile"/>
</div>
</div>
<div class="am-form-group">
<div class="am-para-input">
<button class="am-btn am-btn-secondary" type="button" id="add-btn" @click="saveEdit">保存</button>
</div>
</div>
</form>
<script>
var loading = false;
var vue_obj = false;
$(function(){
vue_obj = new Vue({
el: '#edit-form',
data: {
info:{},
action:""
},
mounted:function() {
var vm = this;
vm.info = <?=json_encode($info, JSON_UNESCAPED_UNICODE)?>;
vm.action = "<?=$action?>";
},
methods:{
saveEdit:function(){
var vm = this;
if (loading) {
return;
}
loading = 1;
$.ajax({
url: "hdcloud/clues/" + vm.action,
type: 'post',
dataType: 'json',
data: {
info: vm.info
},
beforeSend: function () {
layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
success: function (data) {
if (1 == data['code']) {
layer.msg(data.msg, {
icon: 1,
time: 2000
}, function () {
window.location.reload();
});
} else {
layer.msg(data.msg, {icon: 2});
}
},
complete: function () {
loading = false;
layer.closeAll('loading');
}
});
}
},
watch:{
}
});
});
</script>
-127
View File
@@ -1,127 +0,0 @@
<form class="am-form am-form-horizontal ptb20 pr20 mt10" data-auto="true" method="post" style="padding-top: 10px;padding-bottom: 10px;"
action="/hdcloud/clues/edit_adviser" id="edit-form">
<div class="am-form-group">
<label class="am-para-label">省份:</label>
<div class="am-para-input">
<div class="am-form-inline">
<div class="am-form-group w200">
<select name="province_id" v-model="province_id">
<option value="0">请选择省份</option>
<option value="350">福建</option>
<option value="440">广东</option>
<option value="450">广西</option>
<option value="999">异地</option>
</select>
</div>
</div>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">门店:</label>
<div class="am-para-input w200">
<select name="biz_id" v-model="biz_id">
<option value="0">请选择门店</option>
<template v-for="(v,i) in bizList">
<option :value="v.id">{{v.biz_name}} ({{v.sa}})</option>
</template>
</select>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">意向车型:</label>
<div class="am-para-input">
<div class="am-form-inline">
<div class="am-form-group w200">
<select name="intent" v-model="intent">
<option value="">请选择车系</option>
<option value="哪吒L">哪吒L</option>
<option value="哪吒X">哪吒X</option>
<option value="哪吒U">哪吒U</option>
<option value="哪吒AYA">哪吒AYA</option>
<option value="哪吒V">哪吒V</option>
<option value="哪吒S">哪吒S</option>
<option value="哪吒GT">哪吒GT</option>
</select>
</div>
</div>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">备注:</label>
<div class="am-para-input"><textarea name="remark" rows="4" v-model="remark">><?= $content ?></textarea></div>
</div>
<div class="am-form-group">
<div class="am-para-input">
<input type="hidden" name="id" value="<?= $id ?>">
<button class="am-btn am-btn-secondary" type="button" @click="save()">保存分配</button>
</div>
</div>
</form>
<script>
$(function () {
vue_obj = new Vue({
el: '#edit-form',
data: {
province_id: 0,
biz_id: 0,
bizList: [],
intent: '',
remark: '',
},
mounted: function(){
this.init_bizs();
},
methods: {
init_bizs:function(){
var vm = this;
$.get('hdcloud/clues/get_bizs',{province_id:'0'},function(response){
if (response.code == 1) {
vm.bizList = response.data;
}
});
},
save:function(){
pdata = {province_id:this.province_id, 'biz_id':this.biz_id, 'id':'<?=$id?>', 'intent':this.intent, 'remark':this.remark}
$.post('hdcloud/clues/edit_adviser',pdata,function(response){
if (response.code == 1) {
layer.msg(response.msg,{'icon':1},function(){
layer.closeAll();
$.form.reload();
})
}else{
layer.msg(response.msg,{'icon':2});
}
});
}
},
watch:{
'province_id':function(nv, ov){
var that = this;
if (nv == '') {
that.bizList = [];
that.biz_id = '0';
} else {
$.get('hdcloud/clues/get_bizs',{province_id:nv},function(response){
that.bizList = response.data;
if (that.biz_id > 0) {
var biz_id = '0';
for (var i in that.bizList) {
var biz = that.bizList[i];
if (biz.id == that.biz_id) {
biz_id = biz.id;
break;
}
}
that.biz_id = biz_id;
}
});
}
},
}
})
});
</script>
-332
View File
@@ -1,332 +0,0 @@
<link rel="stylesheet" type="text/css" href="/static/css/font-awesome.min.css?v=1581252500">
<div class="bs-example bs-example-tabs" data-example-id="togglable-tabs" style="font-size:15px;">
<div id="recom-stat"></div>
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="<?= !strlen($params['status']) ? 'active' : '' ?>">
<a href="javascript:void (0);" data-open="/hdcloud/clues">全部</a>
</li>
<? foreach ($statusList as $v) { ?>
<li role="presentation"
class="<? if (strlen($params['status']) && $params['status'] == $v['id']) { ?>active<? } ?>">
<? if ($v['cate']) { ?>
<a href="javascript:void (0);" class="dropdown-toggle" data-toggle="dropdown">
<?= $v['name'] ?>
<?= $v['count'] > 0 ? '<span style="background-color:#ff6600" class="am-badge am-round">' . $v['count'] . '</span>' : '' ?>
<?= $v['cate'] ? ' <span class="caret"></span>' : '' ?>
</a>
<ul class="dropdown-menu">
<? if ($v['cate']) { ?>
<li class="<?= $params['status'] == $v['id'] && !$params['status2'] ? 'active' : '' ?>">
<a href="javascript:void (0);"
data-open="/hdcloud/clues?status=<?= $v['id'] ?>">
全部
</a>
</li>
<? } ?>
<? foreach ($v['cate'] as $v2) { ?>
<li class="<?= $params['status2'] == $v2['id'] ? 'active' : '' ?>">
<a href="javascript:void (0);"
data-open="/hdcloud/clues?status=<?= $v['id'] ?>&status2=<?= $v2['id'] ?>">
<?= $v2['name'] ?>
<?= $v2['count'] > 0 ? '<span style="background-color:#ff6600" class="am-badge am-round">' . $v2['count'] . '</span>' : '' ?>
</a>
</li>
<? } ?>
</ul>
<? } else { ?>
<a href="javascript:void (0);"
data-open="/hdcloud/clues?status=<?= $v['id'] ?>">
<?= $v['name'] ?>
<?= $v['count'] > 0 ? '<span style="background-color:#ff6600" class="am-badge am-round">' . $v['count'] . '</span>' : '' ?>
</a>
<? } ?>
</li>
<? } ?>
</ul>
</div>
<div class="coms-table-wrap mt10">
<form class="form-search coms-table-hd clearfix no-border" onsubmit="return false"
action="/hdcloud/clues" id="search_form">
<input name="status" value="<?= $params['status'] ?>" type="hidden">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label w100">客户搜索:</label>
<div class="am-para-inline w100">
<select name="search_tp" id="search_tp">
<? foreach ($searchTpAry as $key => $value) { ?>
<option value="<?= $key ?>"
<?= $key == $params['search_tp'] ? 'selected' : '' ?>><?= $value ?></option>
<? } ?>
</select>
</div>
</div>
<div class="am-form-group fl">
<div class="am-para-inline w260">
<input id="title" name="title" type="text" value="<?= $params['title'] ?>"/>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">派单地区门店:</label>
<div class="am-form-group am-para-inline w150">
<select name="province_id" v-model="province_id">
<option value="0">请选择省份</option>
<option value="350">福建</option>
<option value="440">广东</option>
<option value="450">广西</option>
<option value="999">异地</option>
</select>
</div>
<div class="am-form-group am-para-inline w150">
<select name="biz_id" v-model="biz_id">
<option value="0">请选择门店</option>
<template v-for="(v,i) in bizList">
<option :value="v.id">{{v.biz_name}}</option>
</template>
</select>
</div>
</div>
<div class="am-form-group">
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<label class="am-para-label w100">创建时间:</label>
<div class="am-form-group fl">
<div class="am-para-inline w300">
<input id="id-create-time" name="c_time" type="text" value="<?= $params['c_time'] ?>"
placeholder="创建时间范围" autocomplete="off"/>
</div>
<div class="am-para-inline" style="padding-top: 5px;">
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="today"
data-source="id-create-time">今日</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="yesterday"
data-source="id-create-time">昨日</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="weeks"
data-source="id-create-time">本周</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="month"
data-source="id-create-time">本月</a>
</div>
</div>
</div>
<div class="am-form-group fl" style="margin-bottom: 0px;">
<div class="am-form-group fl ml10">
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
<button type="button" class="am-btn am-btn-success am-btn-sm w100" @click="reset">重置</button>
</div>
<!--div class="am-form-group fl ml10">
<button type="button" id="import" class="am-btn am-btn-success am-btn-sm w100">导入</button>
</div-->
<div class="am-form-group fl ml10">
<button type="button" class="am-btn am-btn-success am-btn-sm w100"
data-modal="/hdcloud/clues/get_add" data-title="新增线索">新增
</button>
</div>
</div>
</div>
</form>
<div class="coms-table-bd">
<div class="fr">共有<?= $pager['totle'] ?>条数据</div>
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="10%"><span>ID</span></th>
<th width="10%"><span>客户姓名</span></th>
<th width="10%"><span>客户电话</span></th>
<th width="10%"><span>派单地区门店</span></th>
<th width="10%"><span>状态</span></th>
<th width="15%"><span>创建时间</span></th>
<th width="15%"><span>操作</span></th>
</tr>
</thead>
<tbody>
<? if ($lists) {
foreach ($lists as $v) { ?>
<tr>
<td><?= $v['void'] ?></td>
<td><?= $v['name'] ?></td>
<td><?= $v['status'] ? substr($v['mobile'], 0, 3) . str_repeat('*', strlen($v['mobile']) - 7) . substr($v['mobile'], -4) : $v['mobile'] ?></td>
<td><?= $v['pro_name'] ?> <?= $v['biz_name'] ?></td>
<td><?= $v['status_name'] ?></td>
<td><?= date('Y-m-d H:i:s', $v['c_time']) ?></td>
<td><a data-open="/hdcloud/clues/get?id=<?= $v['id'] ?>&type=clues" href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs">详情</a>
<? if(!$v['void']){ ?><a href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs" onclick="edit_adviser(<?= $v['id'] ?>);">派单</a> <?php }?>
</td>
</tr>
<? }
} ?>
</tbody>
</table>
</div>
<div class="coms-table-ft clearfix">
<div class="hander am-form">
</div>
<div class="coms-pagination fr mr20">
<? page_view($pager) ?>
</div>
</div>
<div id="cule-modal" style="display: none;padding: 10px">
<div class="modal-body">
<div class="text-center">
<h2><i class="fa fa-info-circle"></i> 请上传Excel文件</h2>
<p>Excel文件格式必须与模板保持一致,否则无法导入</p>
<div class="form-group-action">
<a href="/temp/clues.xlsx" target="_blank" class="btn btn-default">查看模板</a>
<label href="javascript:" class="btn btn-primary" style="margin-left: 10px;">
<form id="import-form">
<input type="file" id="clue-file" name="file" accept=".xls,.xlsx"
style="left:-9999px;position:absolute;" onchange="load_clue()">
</form>
<span>上传Excel文件</span>
</label>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
vue_obj = new Vue({
el: '#search_form',
data: {
province_id:<?=$params['province_id'] ? $params['province_id']:0?>,
bizList:[],
biz_id:0
},
mounted: function(){
this.init_bizs();
},
methods: {
init_bizs:function(){
var vm = this;
$.get('hdcloud/clues/get_bizs',{province_id:'0'},function(response){
vm.bizList = response.data;
});
},
reset: function () {
var that = this;
$('#search_tp').val('mobile');
$('#title').val('');
$('#id-create-time').val('');
$('#id-en-time').val('');
that.province_id = '0';
}
},
watch:{
'province_id':function(nv, ov){
var that = this;
if (nv == '') {
that.bizList = [];
that.biz_id = '0';
} else {
$.get('hdcloud/clues/get_bizs',{province_id:nv},function(response){
that.bizList = response.data;
if (that.biz_id > 0) {
var biz_id = '0';
for (var i in that.bizList) {
var biz = that.bizList[i];
if (biz.id == that.biz_id) {
biz_id = biz.id;
break;
}
}
that.biz_id = biz_id;
}
});
}
},
}
});
$("#import").click(function () {
$("#clue-file").val('');
layer.open({
type: 1,
area: ['40%'], //宽高
content: $('#cule-modal'),
title: '导入线索',
shade: false,
btn: ['完成'],
yes: function (index) {
layer.close(index);
}
});
});
});
require(['laydate', 'autocomplete'], function (laydate) {
laydate.render({
elem: '#id-create-time', range: '~'
});
laydate.render({
elem: '#id-en-time', range: '~'
});
$('.id-day-btn').click(function () {
var type = $(this).data('date'), date = '', nowDate = new Date();
var source_id = $(this).data('source') || 'id-create-time';
var beginDate = '', endDate = '';
switch (type) {
case 'today':
beginDate = endDate = nowDate.Format('yyyy-MM-dd');
break;
case 'yesterday':
beginDate = endDate = (new Date(nowDate.getTime() - 86400000)).Format('yyyy-MM-dd');
break;
case 'weeks':
nowDate.setDate(nowDate.getDate() - nowDate.getDay() + 1);
beginDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + nowDate.getDate();
nowDate.setDate(nowDate.getDate() + 6);
endDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + nowDate.getDate();
break;
case 'month':
beginDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-01";
var day = new Date(nowDate.getFullYear(), nowDate.getMonth() + 1, 0);
endDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + day.getDate();
break;
}
date = beginDate + ' ~ ' + endDate;
$('#' + source_id).val(date);
});
});
function edit_adviser(id) {
return $.form.modal("/hdcloud/clues/get_adviser?id=" + id, 'open_type=modal', "派单门店");
}
function load_clue() {
var file = $("#clue-file");
if (file.val() == '') {
layer.msg('文件是空的');
return 0;
}
var loading = layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
var options = {
url: "/hdcloud/clues/add_excel",
type: "post",
dataType: "json",
data: {},
success: function (res) {
if (1 == res.code) {
layer.msg(res.msg, {
icon: 1,
time: 2000
}, function () {
$.form.reload();
});
}
},
complete: function () {
file.val('');
layer.close(loading);
}
};
$("#import-form").ajaxSubmit(options);
}
</script>
-67
View File
@@ -1,67 +0,0 @@
<div class="coms-table-wrap">
<div class="coms-table-hd clearfix no-border">
<form action="/receiver/clues/lists_call" class="form-search" onsubmit="return false">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label">用户名:</label>
<div class="am-para-inline w150">
<input type="text" value="<?= $params['username'] ?>"
name="username"/>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label">手机号:</label>
<div class="am-para-inline w150">
<input type="text" value="<?= $params['mobile'] ?>"
name="mobile"/>
</div>
</div>
<div class="am-form-group fl">
<div class="am-para-inline w150">
<button type="submit" class="am-btn ml20 am-btn-sm am-btn-success w100">搜索</button>
</div>
</div>
<div class="am-form-group fl">
<button type="button" data-action="/receiver/clues/edit_call" data-ajax="post"
data-params-type="3" class="add am-btn ml20 am-btn-sm am-btn-success w120">重置已分配
</button>
</div>
<div class="am-form-group fr" style="font-size: 15px;padding-right: 20px;padding-top: 6px;">
共有<?= $pager['totle'] ?>条数据
</div>
</div>
</form>
</div>
<div class="coms-table-bd">
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="3%"><span>ID</span></th>
<th width="10%"><span>用户名</span></th>
<th width="10%"><span>手机号</span></th>
<th width="10%"><span>分配号码</span></th>
<th width="10%"><span>操作</span></th>
</tr>
</thead>
<tbody>
<?php if ($lists) {
foreach ($lists as $v) { ?>
<tr>
<td><?= $v['id'] ?></td>
<td><?= $v['username'] ?></td>
<td><?= $v['mobile'] ?></td>
<td><?= $v['phone'] ?></td>
<td><?= $v['phone_btn'] ?></td>
</tr>
<?php }
} ?>
</tbody>
</table>
</div>
</div>
<div class="coms-table-ft clearfix">
<div class="hander am-form"></div>
<div class="coms-pagination fr mr20">
<?php page_view($pager) ?>
</div>
</div>
+25 -370
View File
@@ -32,7 +32,7 @@
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">开票方:</span></label>
<div class="am-para-input">
<input type="text" v-model="info.bill_name" style="width: 200px;">
<label class="am-para-label-con">{{info.bill_name}}</label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
@@ -62,10 +62,7 @@
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">二手车:</span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.if_usedcar_name}}</label>
</div>
</div>
</div>
</div>
@@ -92,7 +89,7 @@
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">开票价:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.bill_price" style="width: 150px;">
<label class="am-para-label-con">{{info.bill_price}}</label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
@@ -270,8 +267,8 @@
</span>
</div>
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
<div v-if="info.srv_json.srv_if_insure=='1'" class="am-form-inline">
<div class="am-form-group am-u-lg-12">
<div class="am-form-inline">
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">保险公司:</span></label>
<div class="am-para-input">
<!-- <label class="am-para-label-con">{{info.srv_json.business_product}}</label>-->
@@ -320,26 +317,6 @@
<input type="number" v-model="info.srv_json.insurance_ins_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">意外险金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.accident_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">意外险返点:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.accident_fd" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">意外险佣金:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.accident_ins_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">客户退点金额:</span></label>
<div class="am-para-input">
@@ -347,14 +324,14 @@
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold" title="【保险收入合计】(商业险佣金+交强险佣金+意外险佣金-客户退点金额">保险收入合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<label class="am-para-label label-width"><span class="span-bold" title="【保险收入合计】(商业险佣金+交强险佣金-客户退点金额">保险收入合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.row.insurance_price}}</label>
</div>
</div>
</div>
<hr v-if="info.srv_json.srv_if_insure=='1'" class="am-u-lg-12 wp90" style="margin: 10px">
<div v-if="info.srv_json.srv_if_num=='1'" class="am-form-inline">
<hr class="am-u-lg-12 wp90" style="margin: 10px">
<div class="am-form-inline">
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">挂牌收入:</span></label>
<div class="am-para-input">
@@ -376,106 +353,8 @@
</div>
</div>
</div>
<hr v-if="info.srv_json.srv_if_num=='1'" class="am-u-lg-12 wp90" style="margin: 10px">
<div v-if="info.payway=='0' && info.srv_json.srv_if_finance=='1' && info.srv_json.loan_price0" class="am-form-inline">
<div class="am-form-group am-u-lg-12">
首付按揭
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭银行:</span></label>
<div class="am-para-input">
<input type="text" v-model="info.srv_json.loan_product0" style="width: 200px;">
</div>
</div>
<div class="am-form-group am-u-lg-8">
<label class="am-para-label label-width"><span class="span-bold">按揭期数:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_num0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_price0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭返点:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_fd0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭佣金:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_srv_price0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭手续费:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_srv0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">解抵服务费:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_offset_price0" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">利息补贴收入:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_subsidy_price0" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">其他收入金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_in_price0" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">其他支出金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_out_price0" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4" style="display: none">
<label class="am-para-label label-width"><span class="span-bold">&nbsp;贴息:</span></label>
<div class="am-para-input">
<label class="am-para-label-con" v-if="info.srv_json.loan_is_tiexi0==1"></label>
<label class="am-para-label-con" v-else></label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">&nbsp;</span></label>
<div class="am-para-input">
<label class="am-para-label-con"></label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭手续费收入:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.commission_price0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width" style="width: 170px"><span class="span-bold" title="【首付按揭收入合计】(按揭佣金+按揭手续费+解抵服务费+利息补贴收入+按揭手续费收入+其他收入金额-其他支出金额)">首付按揭收入合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.row.loan_price0}}</label>
</div>
</div>
</div>
<hr v-if="info.payway=='0' && info.srv_json.srv_if_finance=='1' && info.srv_json.loan_price0" class="am-u-lg-12 wp90" style="margin: 10px">
<div v-if="info.payway=='0' && info.srv_json.srv_if_finance=='1'" class="am-form-inline">
<hr v-if="info.payway=='1'" class="am-u-lg-12 wp90" style="margin: 10px">
<div v-if="info.payway=='1'" class="am-form-inline">
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭银行:</span></label>
<div class="am-para-input">
@@ -483,38 +362,27 @@
<input type="text" v-model="info.srv_json.loan_product" style="width: 200px;">
</div>
</div>
<div class="am-form-group am-u-lg-8">
<label class="am-para-label label-width"><span class="span-bold">按揭期数:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_num" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭金额:</span></label>
<div class="am-para-input">
<!-- <label class="am-para-label-con">{{info.srv_json.loan_price}}</label>-->
<input type="number" v-model="info.srv_json.loan_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭返点</span></label>
<label class="am-para-label label-width"><span class="span-bold">按揭期数</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_fd" style="width: 150px;">
<!-- <label class="am-para-label-con">{{info.srv_json.loan_num}}</label>-->
<input type="number" v-model="info.srv_json.loan_num" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold" title="4.1前按揭佣金已包含按揭手续费">按揭佣金<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<label class="am-para-label label-width"><span class="span-bold">按揭服务费</span></label>
<div class="am-para-input">
<!-- <label class="am-para-label-con">{{info.srv_json.loan_srv_price}}</label>-->
<input type="number" v-model="info.srv_json.loan_srv_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭手续费:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_srv" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">解抵服务费:</span></label>
<div class="am-para-input">
@@ -540,10 +408,8 @@
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">&nbsp;贴息:</span></label>
<label class="am-para-label label-width"><span class="span-bold">&nbsp;</span></label>
<div class="am-para-input">
<label class="am-para-label-con" v-if="info.srv_json.loan_is_tiexi==1"></label>
<label class="am-para-label-con" v-else></label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
@@ -552,28 +418,20 @@
<input type="number" v-model="info.srv_json.commission_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold" title="【按揭收入合计】(按揭服务费+解抵服务费+利息补贴收入+按揭手续费收入+其他收入金额-其他支出金额)">按揭收入合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.row.loan_price}}</label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">&nbsp;</span></label>
<div class="am-para-input">
<label class="am-para-label-con"></label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold" title="【按揭收入合计】(按揭佣金+按揭手续费+解抵服务费+利息补贴收入+按揭手续费收入+其他收入金额-其他支出金额)">按揭收入合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.row.loan_price}}</label>
</div>
</div>
<div v-if="info.srv_json.loan_price0" class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold" title="【按揭收入总合计】(首付按揭收入合计+按揭收入合计)">按揭收入总合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.row.loan_price_total}}</label>
</div>
</div>
</div>
<hr v-if="info.payway=='0' && info.srv_json.srv_if_finance=='1'" class="am-u-lg-12 wp90" style="margin: 10px">
<hr class="am-u-lg-12 wp90" style="margin: 10px">
<div class="am-form-inline">
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">其他收入:</span></label>
@@ -618,6 +476,7 @@
</div>
</div>
</div>
<!-- <div v-if="info.payway=='1'" class="am-form-inline">-->
<div class="am-form-inline">
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭收入合计:</span></label>
@@ -628,208 +487,6 @@
</div>
</div>
</div>
<div v-if="info.biz_type_force == '1'" class="am-panel am-panel-default">
<div class="am-panel-hd">
<span style="font-size: 20px">水平业务</span>
<span style="float:right;margin-top:5px">
</span>
</div>
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
<div v-if="info.payway=='0' && info.srv_json.srv_if_finance=='1' && info.srv_json.loan_price0" class="am-form-inline">
<div class="am-form-group am-u-lg-12">
首付按揭
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭银行:</span></label>
<div class="am-para-input">
<input type="text" v-model="info.srv_json.loan_product0" style="width: 200px;">
</div>
</div>
<div class="am-form-group am-u-lg-8">
<label class="am-para-label label-width"><span class="span-bold">按揭期数:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_num0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_price0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭返点:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_fd0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭佣金:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_srv_price0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭手续费:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_srv0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">解抵服务费:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_offset_price0" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">利息补贴收入:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_subsidy_price0" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">其他收入金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_in_price0" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">其他支出金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_out_price0" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4" style="display: none">
<label class="am-para-label label-width"><span class="span-bold">&nbsp;贴息:</span></label>
<div class="am-para-input">
<label class="am-para-label-con" v-if="info.srv_json.loan_is_tiexi0==1"></label>
<label class="am-para-label-con" v-else></label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">&nbsp;</span></label>
<div class="am-para-input">
<label class="am-para-label-con"></label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭手续费收入:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.commission_price0" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width" style="width: 170px"><span class="span-bold" title="【首付按揭收入合计】(按揭佣金+按揭手续费+解抵服务费+利息补贴收入+按揭手续费收入+其他收入金额-其他支出金额)">首付按揭收入合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.row.loan_price0}}</label>
</div>
</div>
</div>
<hr v-if="info.payway=='0' && info.srv_json.srv_if_finance=='1' && info.srv_json.loan_price0" class="am-u-lg-12 wp90" style="margin: 10px">
<div v-if="info.payway=='0' && info.srv_json.srv_if_finance=='1'" class="am-form-inline">
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭银行:</span></label>
<div class="am-para-input">
<input type="text" v-model="info.srv_json.loan_product" style="width: 200px;">
</div>
</div>
<div class="am-form-group am-u-lg-8">
<label class="am-para-label label-width"><span class="span-bold">按揭期数:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_num" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭返点:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_fd" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold" title="4.1前按揭佣金已包含按揭手续费">按揭佣金<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_srv_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭手续费:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_srv" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">解抵服务费:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_offset_price" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">利息补贴收入:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_subsidy_price" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">其他收入金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_in_price" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">其他支出金额:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.loan_out_price" style="width: 150px">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">&nbsp;贴息:</span></label>
<div class="am-para-input">
<label class="am-para-label-con" v-if="info.srv_json.loan_is_tiexi==1"></label>
<label class="am-para-label-con" v-else></label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">按揭手续费收入:</span></label>
<div class="am-para-input">
<input type="number" v-model="info.srv_json.commission_price" style="width: 150px;">
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">&nbsp;</span></label>
<div class="am-para-input">
<label class="am-para-label-con"></label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold" title="【按揭收入合计】(按揭服务费+解抵服务费+利息补贴收入+按揭手续费收入+其他收入金额-其他支出金额)">按揭收入合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.row.loan_price}}</label>
</div>
</div>
<div v-if="info.srv_json.loan_price" class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold" title="【按揭收入总合计】(首付按揭收入合计+按揭收入合计)">按揭收入总合计<a href="javascript:void(0)" class="fa fa-info-circle ml5"></a></span></label>
<div class="am-para-input">
<label class="am-para-label-con">{{info.row.loan_price_total}}</label>
</div>
</div>
</div>
</div>
</div>
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span style="font-size: 20px">整车合计</span>
@@ -982,8 +639,6 @@
post_data['srv_json'] = vm.info.srv_json;
post_data['price'] = vm.info.price;
post_data['buy_price'] = vm.info.buy_price;
post_data['bill_name'] = vm.info.bill_name;
post_data['bill_price'] = vm.info.bill_price;
post_data['insurance_price'] = vm.info.row.insurance_price;
post_data['fee_carno_price'] = vm.info.row.fee_carno_price;
post_data['loan_price'] = vm.info.row.loan_price;
+2 -31
View File
@@ -5,7 +5,7 @@
<label class="am-para-label w100">车型:</label>
<div class="am-para-inline w120">
<select id="bd-auto1-id" name="brand_id" data-toggle="next-select"
data-refurl="/common/auto?pid={value}&type=2&status=1"
data-refurl="/common/auto?pid={value}&type=2&status=3"
data-next="#bd-auto2-id">
<option value="0">选择品牌</option>
<? if ($autoList[1]) {
@@ -20,7 +20,7 @@
<div class="am-form-group fl">
<div class="am-para-inline w120">
<select id="bd-auto2-id" name="s_id" data-toggle="next-select"
data-refurl="/common/auto?pid={value}&type=3&status=1"
data-refurl="/common/auto?pid={value}&type=3&status=3"
data-next="#bd-auto3-id" @change="set_sery">
<option value="0">选择车系</option>
<?php if ($autoList[2]) {
@@ -51,15 +51,6 @@
<input type="text" name="vin" placeholder="车架号关键字" v-model="params.vin"/>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">二手车:</label>
<div class="am-para-inline w80">
<select name="if_usedcar" v-model="params.if_usedcar">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in show_info.usedcarAry">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">开票时间:</label>
<div class="am-form-group fl">
@@ -73,7 +64,6 @@
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="weeks" data-btn="bill">本周</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="month" data-btn="bill">本月</a>
</div>
<input id="id-bt-init" name="bt_init" type="hidden" value="<?= $params['bt_init'] ?>"/>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 0px;"></div>
@@ -129,25 +119,13 @@
<button type="button" id="import" class="am-btn am-btn-success am-btn-sm w100">导入</button>
</div>
</div>
<template v-if="aggs.doc_count>0">
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<div class="am-form-group fl">
<label class="am-para-label w200 fl"><b>水平业务总毛利:</b>{{aggs.srv_price_sum}}</label>
<label class="am-para-label w200 fl"><b>单车总毛利:</b>{{aggs.car_price_sum}}</label>
</div>
</template>
</div>
</form>
<div class="coms-table-bd">
<div class="fr">共有<?= $pager['totle'] ?>条数据</div>
<table class="am-table am-table-bordered">
<thead>
<tr>
<th>城市</th>
<th>门店</th>
<th width="15%">车辆</th>
<th>销售收入合计</th>
@@ -157,9 +135,7 @@
<th>整车采购毛利</th>
<th>保险收入合计</th>
<th>挂牌收入合计</th>
<th>首付按揭收入合计</th>
<th>按揭收入合计</th>
<th>按揭收入总合计</th>
<th>水平业务总毛利</th>
<th>单车总毛利</th>
<th>门店单车毛利</th>
@@ -170,7 +146,6 @@
<tbody>
<template v-for="(v,i) in lists">
<tr>
<td>{{v.city_name}}</td>
<td>{{v.biz_name}}</td>
<td>
<a href="javascript:void(0);" :data-open="'/items/cost/get?id='+v.id">
@@ -184,9 +159,7 @@
<td>{{v.car_profit_price}}</td>
<td>{{v.insurance_price}}</td>
<td>{{v.fee_carno_price}}</td>
<td>{{v.loan_price0}}</td>
<td>{{v.loan_price}}</td>
<td>{{v.loan_price_total}}</td>
<td>{{v.srv_price}}</td>
<td>{{v.car_price}}</td>
<td>{{v.dl_car_price}}</td>
@@ -335,7 +308,6 @@
data: {
params: [],
lists: [],
aggs: [],
show_info: [],
// modal_fine: {title: '', lists: [], selected: [], page: 1, size: 10, total: 0},
admins: {cityAry: [], countyAry: [], bizAry: [], list: []},
@@ -344,7 +316,6 @@
var vm = this;
vm.params = <?=json_encode($params)?>;
vm.lists = <?=json_encode($lists)?>;
vm.aggs = <?=json_encode($aggs)?>;
vm.show_info = <?=json_encode($show_info)?>;
vm.set_sery();
vm.init_citys();
+1 -43
View File
@@ -96,17 +96,6 @@
</div>
</td>
</tr>
<tr>
<td class="table-td" colspan="2">
<div class="input-group">
<div class="input-group-addon">选装包</div>
<label class="mr10" style="margin-top: 7px" v-for="(v,i) in options">
<input type="checkbox" name="option_ids[]" :value="v.id" v-model="info.option_ids">&nbsp;{{v.title}}(价格:{{v.price}})
</label>
<input type="hidden" name="" >&nbsp;
</div>
</td>
</tr>
<tr>
<td class="table-td">
<div class="input-group">
@@ -215,20 +204,6 @@
</div>
</td>
</tr>
<tr>
<td class="table-td">
</td>
<td class="table-td">
</td>
<td class="table-td">
</td>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">预估返利</div>
<input type="text" v-model="info.estimated_rebate" placeholder="请输入预估返利">
</div>
</td>
</tr>
<!-- <tr>-->
<!-- <td class="table-td">-->
<!-- <div class="input-group">-->
@@ -346,8 +321,7 @@
addrAry: [],
bizAry: [],
fines: [],
modal_fine: {title: '', lists: [], selected: [], page: 1, size: 10, total: 0},
options:[]
modal_fine: {title: '', lists: [], selected: [], page: 1, size: 10, total: 0}
},
mounted: function () {
var that = this;
@@ -726,22 +700,6 @@
});
}
},
'info.brand_id': function (nv, ov) {
var vm = this;
if(nv > 0){
$.get("/auto/options/json_lists",{'brand_id':nv,'s_id':vm.info.s_id},function (res){
vm.options = res.data.lists
},'json');
}
},
'info.s_id': function (nv, ov) {
var vm = this;
if(nv > 0){
$.get("/auto/options/json_lists",{'brand_id':vm.info.brand_id,'s_id':nv},function (res){
vm.options = res.data.lists
},'json');
}
},
}
});
});
+5 -5
View File
@@ -104,7 +104,7 @@
<label class="am-para-label w100">车型:</label>
<div class="am-para-inline w120">
<select id="bd-auto1-id" name="brand_id" data-toggle="next-select"
data-refurl="/common/auto?pid={value}&type=2&status=1"
data-refurl="/common/auto?pid={value}&type=2&status=3"
data-next="#bd-auto2-id">
<option value="0">选择品牌</option>
<? if ($autoList[1]) {
@@ -119,7 +119,7 @@
<div class="am-form-group fl">
<div class="am-para-inline w120">
<select id="bd-auto2-id" name="s_id" data-toggle="next-select"
data-refurl="/common/auto?pid={value}&type=3&status=1"
data-refurl="/common/auto?pid={value}&type=3&status=3"
data-next="#bd-auto3-id" @change="set_sery">
<option value="0">选择车系</option>
<?php if ($autoList[2]) {
@@ -253,7 +253,7 @@
<button type="button" class="am-btn am-btn-success am-btn-sm w100" @click="reset">重置</button>
</div>
<div class="am-form-group fl ml20">
<button type="button" data-open="/items/goods/goods/get?sold=1"
<button type="button" data-open="/items/goods/goods/get"
class="am-btn am-btn-success am-btn-sm w100">新增
</button>
</div>
@@ -342,7 +342,7 @@
:data-open="'/items/goods/logs/get?id='+v.id+'&title='+v.title"
class="am-btn am-btn-primary am-btn-xs">轨迹</a>
<a href="javascript:void(0);"
:data-open="'/items/goods/goods/get?sold=1&id='+v.id"
:data-open="'/items/goods/goods/get?id='+v.id"
class="am-btn am-btn-primary am-btn-xs">编辑</a></td>
</tr>
</template>
@@ -694,7 +694,7 @@
dataType: 'json',
data: {
s_id: s_id,
status: 1,
status: 3,
type: 0
},
success: function (response) {
+1 -123
View File
@@ -24,10 +24,9 @@
<div class="am-form-group fl ml20">
<div class="am-form-group fl ml10">
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
<button type="button" id="inve_add" class="am-btn am-btn-success am-btn-sm w100">发起盘点</button>
</div>
<div class="am-form-group fl ml10">
<a data-ajax="post" data-action="/items/inventory/add" class="am-btn am-btn-success am-btn-sm w100" style="display: none">发起盘点</a>
<a data-ajax="post" data-action="/items/inventory/add" class="am-btn am-btn-success am-btn-sm w100">发起盘点</a>
</div>
</div>
</div>
@@ -64,24 +63,6 @@
<?php page_view($pager) ?>
</div>
</div>
<div id="inve-modal" style="display: none;padding: 10px">
<div class="modal-body">
<div class="text-center">
<div class="form-group-action">
<form id="inve-form">
<label class="am-para-label w150">选择需盘点的城市:</label>
<select title="城市" id="city_id" name="city_id" v-model="city_id">
<option value="">选择城市</option>
<option :value="v.id" v-for="(v,i) in cityAry">{{v.name}}</option>
</select>
<label class="am-para-label w30"></label>
<button type="button" id="inve" class="am-btn am-btn-success am-btn-sm w100" onclick="load_inve()"> </button>
</form>
</label>
</div>
</div>
</div>
</div>
</div>
<script>
require(['laydate', 'autocomplete'], function (laydate) {
@@ -110,107 +91,4 @@
$('#' + source_id).val(date);
});
});
$(function () {
vue_obj = new Vue({
el: '.coms-table-wrap',
data: {
params: [],
lists: [],
cityAry: [],//城市
city_id:'',
},
mounted: function () {
var vm = this;
vm.lists = <?=json_encode($lists)?>;
vm.init_citys();
},
methods: {
init_citys: function () {
var vm = this;
$.ajax({
type: 'get',
url: '/common/area',
dataType: 'json',
data: {
id: '350',
key: 'city',
type: 1
},
success: function (response) {
if (response.code == 1) {
vm.cityAry = response.data;
}
}
});
},
},
watch: {}
});
<?php page_script($pager) ?>
$("#inve_add").click(function () {
layer.open({
type: 1,
area: ['40%'], //宽高
content: $('#inve-modal'),
title: '发起盘点',
shade: false,
btn: ['关闭'],
yes: function (index) {
layer.close(index);
}
});
});
});
function load_inve(force=0) {
var loading = layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
// let myselect=document.getElementById("city_id");
// let index=myselect.selectedIndex;
// alert(myselect.options[index].value);
let city_id = $("#city_id option:selected").val();
let city_name = $("#city_id option:selected").text();
var options = {
url: "/items/inventory/add",
type: "post",
dataType: "json",
data: {'city_id_': city_id, 'city_name': city_name, 'force': force},
success: function (res) {
if (res['code'] > 0) {
layer.msg(res.msg, {
icon: 1,
time: 2000
}, function () {
location.reload();
});
}
else if (res['code'] == -1){
layer.confirm(res.msg, {
btn: ['确认','取消'] //按钮
}, function(){
load_inve(force=1)
}, function(){
// layer.msg('也可以这样', {
// time: 1000, //20s后自动关闭
// btn: ['明白了', '知道了']
// });
});
}
else {
layer.msg(res.msg, {icon: 2});
}
},
complete: function () {
layer.closeAll('loading');
}
};
$("#inve-form").ajaxSubmit(options);
}
</script>
+2 -19
View File
@@ -158,8 +158,8 @@
<td><?= $v['mileage'] ?></td>
<td><? if ($v['car_img']) {
foreach ($v['car_img'] as $key => $v2) { ?>
<img title="<?= $v2['title'] ?>" src="<?= $v2['src'] ?>"
style="width:22px;height:22px;margin-right: 5px;" @click="show_car_img(<?= $v['row_id'] ?>, <?= $v2['pid'] ?>);">
<img title="<?= $v2['title'] ?>" src="<?= $v2['src'] ?>" data-tips-image
style="width:22px;height:22px;margin-right: 5px;">
<?
}
} ?>
@@ -186,7 +186,6 @@
el: '.coms-table-wrap',
data: {
params: {},
lists: {},
cityAry: [],//城市
countyAry: [],//行政区
bizAry: [],//门店
@@ -195,7 +194,6 @@
},
mounted: function () {
var vm = this;
vm.lists = <?=json_encode($lists)?>;
vm.params = <?=json_encode($params)?>;
vm.set_sery();
vm.init_citys();
@@ -262,21 +260,6 @@
$('#bd-auto2-id').val(0);
$('#bd-auto3-id').val(0);
$('#bd-auto4-id').val('');
},
show_car_img: function (row_id, pid) {
// alert(row_id + ' - '+ pid);
var vm = this;
let car_img_layer = vm.lists[row_id]['car_img_layer'];
// alert(car_img_layer['id']);
// console.dir(car_img_layer['start']); # 该值在辅值前后输出是不一样的
// console.dir(car_img_layer); # 该值在辅值前后输出不一样的
car_img_layer['start'] = pid;
// console.dir(car_img_layer['start']);
// console.dir(car_img_layer);
layer.photos({
photos: car_img_layer,
anim: 5 // 0-6的选择,指定弹出图片动画类型,默认随机
});
}
},
watch: {
+3 -3
View File
@@ -31,7 +31,7 @@
<label class="am-para-label w100">车型:</label>
<div class="am-para-inline w120">
<select id="bd-auto1-id" name="brand_id" data-toggle="next-select"
data-refurl="/common/auto?pid={value}&type=2&status=1"
data-refurl="/common/auto?pid={value}&type=2&status=3"
data-next="#bd-auto2-id">
<option value="0">选择品牌</option>
<? if ($autoList[1]) {
@@ -46,7 +46,7 @@
<div class="am-form-group fl">
<div class="am-para-inline w120">
<select id="bd-auto2-id" name="s_id" data-toggle="next-select"
data-refurl="/common/auto?pid={value}&type=3&status=1"
data-refurl="/common/auto?pid={value}&type=3&status=3"
data-next="#bd-auto3-id" @change="set_sery">
<option value="0">选择车系</option>
<?php if ($autoList[2]) {
@@ -235,7 +235,7 @@
dataType: 'json',
data: {
s_id: s_id,
status: 1,
status: 3,
type: 0
},
success: function (response) {
-7
View File
@@ -296,13 +296,6 @@
</div>
</div>
<div class="am-form-group">
<label class="am-para-label w100">调拨结算价:</label>
<div class="am-para-inline w120">
<input type="text" v-model="info.settlement" placeholder="输入金额">
</div>
</div>
<div class="am-form-group">
<label class="am-para-label w100">运输费用:</label>
<div class="am-para-inline w120">
+4 -17
View File
@@ -63,7 +63,7 @@
<li class="username">
<i></i>
<input style="width: 65%" name="number" type="text" autofocus="autofocus"
value="<?= $mobile ? mobile_asterisk($mobile) : '' ?>" <?= $need_code=='login' ? disabled : ''?>
value="<?= $mobile ? mobile_asterisk($mobile) : '' ?>" disabled
autocomplete="off" title="请输入手机号码" placeholder="请输入手机号码" maxlength="11">
<button class="am-btn am-btn-sm" style="float: right; margin-top: 5px; margin-bottom: 5px;"
type="button" onclick="getCode(this)"/>
@@ -76,16 +76,11 @@
autocomplete="off" title="请输入验证码" placeholder="请输入验证码" maxlength="6">
</li>
<input type="hidden" name="mobile" value="<?= $mobile ?>">
<input type="hidden" name="need_code" value="<?= $need_code ?>">
<input type="hidden" name="need_code" value="">
<?php endif; ?>
<li class="text-center">
<button type="submit" class="am-btn am-btn-success" data-form-loaded="立 即 登 录"> </button>
<!-- <a class="forget" href="/admin/login/forget.html">忘记密码?</a> -->
<?php if (!$need_code) : ?>
<a style="display:inline-block;position: relative;vertical-align: middle;margin-left: 5px;" href="/login/?need_code=logsms">验证码登录</a>
<?php elseif ($need_code==='logsms') : ?>
<a style="display:inline-block;position: relative;vertical-align: middle;margin-left: 5px;" href="/login">密码登录</a>
<?php endif; ?>
</li>
</ul>
</form>
@@ -122,23 +117,15 @@
function getCode(obj) {
settime($(obj));
let mobile = "<?=$mobile?>";
let need_code = $('[name="need_code"]').val();
if (need_code == 'logsms'){
mobile = $('[name="number"]').val();
}
$('[name="need_code"]').val('get');
$.ajax({
'url': 'get_code',
'method': 'post',
'type': 'json',
//'data': {mobile: "<?//=$mobile?>//"},
'data': {mobile: mobile},
'data': {mobile: "<?=$mobile?>"},
success: function (data) {
$('[name="need_code"]').val('login');
if (need_code == 'logsms'){
$('[name="need_code"]').val(need_code);
}
}
})
}
+1 -2
View File
@@ -8,8 +8,7 @@
</body>
</html>
<script type="text/javascript">
$('iframe').width('100%');
// $('iframe').width($('.coms-layout-body').width());
$('iframe').width($('.coms-layout-body').width());
$('iframe').height($('.coms-layout-body').height());
$('.coms-layout-body').find('.coms-layout-aside').hide();
$('.coms-layout-body').find('.coms-layout-header').hide();
+1 -1
View File
@@ -78,7 +78,7 @@
</td>
<td class="table-td">
<div class="input-group">
<div class="input-group-addon">线索来源:</div>
<div class="input-group-addon">渠道来源:</div>
{{infoShow.cfrom_title}}
</div>
</td>
+95 -20
View File
@@ -67,7 +67,7 @@
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">所在地区</label>
<label class="am-para-label w100">报名位置</label>
<div class="am-form-group am-para-inline w150">
<select name="city_id" v-model="city_id">
<option value="0">城市</option>
@@ -76,9 +76,17 @@
</template>
</select>
</div>
<div class="am-form-group am-para-inline w150">
<select name="county_id" v-model="county_id">
<option value="0">行政区</option>
<template v-for="(v,i) in countyAry">
<option :value="v.id">{{v.name}}</option>
</template>
</select>
</div>
</div>
<div class="am-form-group fl">
<!--label class="am-para-label w100">线索来源:</label>
<label class="am-para-label w100">客户来源:</label>
<div class="am-form-group am-para-inline w150">
<select name="cfrom_id" v-model="cfrom_id">
<option value=0>请选择</option>
@@ -86,7 +94,7 @@
<option :value="v.id">{{v.title}}</option>
</template>
</select>
</div-->
</div>
<div class="am-form-group am-para-inline w150">
<select name="cfrom_id2" v-model="cfrom_id2">
<option value=0>请选择</option>
@@ -117,6 +125,26 @@
</div>
</div>
</div>
<div class="am-form-group">
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<label class="am-para-label w100">最后报名时间:</label>
<div class="am-form-group fl">
<div class="am-para-inline w300">
<input id="id-en-time" name="en_time" type="text" value="<?= $params['en_time'] ?>"
placeholder="创建时间范围" autocomplete="off"/>
</div>
<div class="am-para-inline" style="padding-top: 5px;">
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="today"
data-source="id-en-time">今天</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="yesterday"
data-source="id-en-time">昨日</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="weeks"
data-source="id-en-time">本周</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="month"
data-source="id-en-time">本月</a>
</div>
</div>
</div>
<div class="am-form-group fl" style="margin-bottom: 0px;">
<div class="am-form-group fl ml10">
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
@@ -149,30 +177,59 @@
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="5%"><label class="checkall">
<th width="3%"><label class="checkall">
<input type="checkbox" data-check-target=".order-ids"> 全选</label></th>
<th width="10%"><span>ID</span></th>
<th width="10%"><span>客户姓名</span></th>
<th width="10%"><span>客户电话</span></th>
<th width="10%"><span>所在地区</span></th>
<th width="10%"><span>状态</span></th>
<th width="15%"><span>创建时间</span></th>
<th width="15%"><span>操作</span></th>
<th width="5%"><span>客户姓名</span></th>
<th width="5%"><span>客户电话</span></th>
<th width="8%"><span>客户来源</span></th>
<th width="8%"><span>状态</span></th>
<th width="4%"><span>跟进人</span></th>
<th width="7%"><span>创建时间</span></th>
<th width="7%"><span>最后报名时间</span></th>
</tr>
</thead>
<tbody>
<? if ($lists) {
foreach ($lists as $v) { ?>
<tr>
<td><input type="checkbox" name="ids[]" class="order-ids" value="<?= $v['id'] ?>"/></td>
<td><?= $v['void'] ?></td>
<td><input type="checkbox" name="ids[]" class="order-ids"
value="<?= $v['id'] ?>"/></td>
<td><?= $v['name'] ?></td>
<td><?= $v['mobile'] ?></td>
<td><?= $v['poi'] ?></td>
<td><?= $v['status_name'] ?></td>
<td><?= $v['mobile_sub'] ?></td>
<td><?= $v['cf_title'] ?></td>
<td><? if ($v['cf_id'] == 36 || $v['cf_id'] == 37) { ?>
<input type="hidden" class="clues-id-<?= $v['id'] ?>" name="id" value="<?= $v['id'] ?>"
checked>
<select data-update-group="" data-list-target=".clues-id-<?= $v['id'] ?>"
data-action="/receiver/clues/batch" data-field=""
style="height: 26px;width: 100px;">
<? foreach ($maintainAry as $key => $val) { ?>
<option value="<?= $key ?>" <?= $key == $v['status'] . '-' . $v['status2'] ? 'selected' : '' ?>><?= $val ?></option>
<? } ?>
</select>
<? } else { ?>
<?= $v['status_name'] ?>
<? } ?>
</td>
<td><?= $v['admin_name'] ?></td>
<td><?= date('Y-m-d H:i:s', $v['c_time']) ?></td>
<td><a data-open="/receiver/clues/get?id=<?= $v['id'] ?>&type=clues" href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs">详情</a>
<a data-open="/receiver/clues/get?id=<?= $v['id'] ?>&type=clues" href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs">分配</a>
<td><?= $v['en_time'] ?></td>
</tr>
<tr>
<td colspan="8">
<div class="row">
<div class="col-md-4 align-l">
</div>
<div class="col-md-8 align-r" style="padding-right: 30px;">
<a data-modal="/common/bind_mobile?id=<?= $v['id'] ?>&type=clues"
href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs"
data-title="获取手机号">拨打电话</a>
<a data-modal="/common/show_sms?id=<?= $v['id'] ?>&type=clues"
href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs"
data-title="发送短信">短信</a>
<a data-open="/receiver/clues/get?id=<?= $v['id'] ?>&type=clues"
href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs">查看详情</a>
</div>
</td>
</tr>
<? }
@@ -233,6 +290,24 @@
vm.cityAry = response.data;
}
});
if (vm.city_id > 0) {
$.get('common/area', {id: vm.city_id, key: 'county', type: 1}, function (response) {
if (response.code == 1) {
vm.countyAry = response.data;
}
});
}
},
getCfroms: function () {
var that = this
$.get('/receiver/clues/get_cfroms', function (result) {
that.cfroms = result.data.data
});
if (that.cfrom_id > 0) {
$.get('/receiver/clues/get_cfroms', {'id': that.cfrom_id}, function (result) {
that.cfroms2 = result.data.data
});
}
},
reset: function () {
var that = this;
@@ -275,9 +350,9 @@
var that = this;
if (nv == '') {
that.cfrom_id2 = 0;
that.cfroms2 = [];
that.cfroms = [];
} else {
$.get('/receiver/CluesCfrom/json_get', {'id': nv}, function (result) {
$.get('/receiver/clues/get_cfroms', {'id': nv}, function (result) {
that.cfroms2 = result.data.data;
if (that.cfrom_id2 > 0) {
var cfrom_id2 = '0';
-20
View File
@@ -1,20 +0,0 @@
<form id="vue-edit" class="am-form am-form-horizontal" action="<?= $showInfo['url'] ?>" data-auto="true"
method="post" style="width: 90%;padding-top: 10px" onsubmit="return false">
<input type="hidden" value="<?= $showInfo['id'] ?>" name="id"/>
<div class="am-form-group">
<label class="am-para-label">分类名称:</label>
<div class="am-para-input">
<input type="text" placeholder="输入分类名称" value="<?= $showInfo['name'] ?>" name="name"/>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">排序:</label>
<div class="am-para-input" style="width: 30%">
<input type="number" placeholder="输入排序" value="<?= $showInfo['sort'] ?>" name="sort"/>
<small class="text-muted">越大越靠前</small>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 2rem">
<button class="am-btn ml20 am-btn-sm am-btn-success w100" style="margin-left: 3.5rem" type="submit">保存</button>
</div>
</form>
-217
View File
@@ -1,217 +0,0 @@
<div class="coms-table-wrap mt10">
<form id="vue-app" class=" form-search coms-table-hd clearfix no-border" onsubmit="return false"
action="receiver/cluesCfrom">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label w100">一级分类名称:</label>
<div class="am-para-inline w200">
<input type="text" name="title" value="<?= $params['title'] ?>"/>
</div>
</div>
<div class="am-form-group fl ml30">
<div class="am-form-group fl ml10">
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
<button data-modal="/receiver/cluesCfrom/get" type="button" data-title="新增一级分类"
class="am-btn am-btn-success am-btn-sm">
新增一级分类
</button>
</div>
</div>
</div>
</form>
<div class="coms-table-bd" id="vue-show">
<div class="fr">共有<?= $pager['totle'] ?>条数据</div>
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="30%"><span>一级分类</span></th>
<th width="60%"><span>二级分类</span></th>
<th width="5%"><span>排序</span></th>
<th width="5%"><span>状态</span></th>
</tr>
</thead>
<tbody>
<?php if ($lists) {
foreach ($lists as $v) { ?>
<tr>
<td><?= $v['name'] ?></td>
<td><?= $v['options'] ?></td>
<td><?= $v['sort'] ?></td>
<td><?= $v['status_name'] ?></td>
</tr>
<tr>
<td colspan="4" class="align-r">
<a href="javascript:void(0);" data-modal="/receiver/cluesCfrom/get?id=<?= $v['id'] ?>"
data-title="编辑一级分类" class="am-btn am-btn-primary am-btn-xs">编辑一级分类</a>
<a href="javascript:void(0);" @click="optionsModal(<?= $v['id'] ?>,'<?= $v['name'] ?>')"
class="am-btn am-btn-primary am-btn-xs">编辑二级分类</a>
<? if ($v['status'] == 1) { ?>
<a data-ajax="post" data-action="/receiver/cluesCfrom/edit_status"
class="am-btn am-btn-danger am-btn-xs"
data-params-id="<?= $v['id'] ?>" data-params-status="0">关闭</a>
<?
} ?>
<? if ($v['status'] == 0) { ?>
<a data-ajax="post" data-action="/receiver/cluesCfrom/edit_status"
class="am-btn am-btn-success am-btn-xs"
data-params-id="<?= $v['id'] ?>" data-params-status="1">开启</a>
<? } ?>
<a data-ajax="post" data-action="/receiver/cluesCfrom/del"
class="am-btn am-btn-danger am-btn-xs"
data-params-id="<?= $v['id'] ?>">删除</a>
</td>
</tr>
<?php }
} ?>
</tbody>
</table>
<div id="options-modal" style="display: none;">
<table class="table table-hover table-middle" style="table-layout:fixed">
<colgroup>
<col width="65%">
<col width="15%">
<col width="">
</colgroup>
<thead>
<tr>
<th class="text-center">分类名称</th>
<th class="text-center">排序</th>
<th class="text-right">
<a href="javascript:" style="margin-top: 2px;" class="btn btn-primary btn-sm"
@click='addOptions()'>添加</a>
</th>
</tr>
</thead>
<tbody>
<template v-for="(item,index) in optionsList">
<tr v-if="item.status==1">
<td class="text-center">
<input :id="'name_'+index" @blur="editName(index)" class="form-control"
v-model="item.name" placeholder="请输入分类名称"></td>
<td class="text-center">
<input :id="'group_name_'+index" @blur="editGroupName(index)" class="form-control"
v-model="item.sort" type="number" placeholder="请输入排序值">
</td>
<td class="text-right">
<a href="javascript:void(0);" style="margin-top:2px;"
class="btn btn-danger btn-sm" @click='delOptions(index)'>删除</a>
</td>
</tr>
</template>
</tbody>
</table>
</div>
</div>
<div class="coms-table-ft clearfix">
<div class="hander am-form">
</div>
<div class="coms-pagination fr mr20">
<?php page_view($pager) ?>
</div>
</div>
</div>
<script>
var vue_obj;
$(function () {
vue_obj = new Vue({
el: '#vue-show',
data: {
optionsList: [],
},
mounted: function () {
},
methods: {
optionsModal: function (id, name) {
layer.open({
type: 1,
area: ['50%', '50%'], //宽高
content: $('#options-modal'),
title: '编辑【' + name + '】二级分类',
shade: false,
btn: ['保存', '取消'],
yes: function (index) {
$.ajax({
url: '/receiver/cluesCfrom/edit_options',
type: 'post',
dataType: 'json',
data: {id: id, options: that.optionsList},
beforeSend: function () {
layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
success: function (data) {
if (data['code']) {
layer.msg(data.msg, {
icon: 1,
time: 2000
}, function () {
$.form.reload();
});
} else {
layer.msg(data.msg, {icon: 2});
}
},
complete: function () {
layer.closeAll('loading');
}
});
}
});
var that = this;
$.ajax({
url: '/receiver/cluesCfrom/get_options',
type: 'post',
dataType: 'json',
data: {id: id},
beforeSend: function () {
},
success: function (re) {
if (re.code) {
that.optionsList = re.data.lists;
} else {
layer.msg(re.msg, {icon: 2});
}
},
complete: function () {
}
});
},
addOptions: function () {
var that = this;
that.optionsList.push({id: 0, name: '', status: 1, sort: 50});
},
delOptions: function (index) {
var that = this;
if (that.optionsList[index]['id'] > 0) {
that.optionsList[index]['status'] = -1;
} else {
that.optionsList.splice(index, 1);
}
},
editName: function (index) {
var name = $("#name_" + index).val();
if (name == '') {
layer.msg("标题不能为空!", {icon: 2});
return false;
}
},
// 修改排序
editGroupName: function (index) {
var order_view = $("#group_name_" + index).val();
if (order_view == '') {
layer.msg("排序值不能为空!", {icon: 2});
return false;
}
this.optionsList.sort(function (a, b) {
return b.sort - a.sort;
})
},
},
watch: {}
});
<?php page_script($pager) ?>
});
</script>
@@ -1,158 +0,0 @@
<form id="vue-edit" class="am-form am-form-horizontal" :action="info.url" data-auto="true" method="post" style="width: 90%;padding-top: 10px" onsubmit="return false">
<div class="am-form am-form-horizontal">
<input type="hidden" name="id" v-model="info.id"/>
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<div class="am-form-group fl">
<label class="am-para-label w100">计划名:</label>
<div class="am-para-inline w300">
<input type="text" placeholder="输入计划名" name="sp_name" v-model="info.sp_name"/>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<div class="am-form-group fl">
<label class="am-para-label w100">客户来源:</label>
<div class="am-form-group am-para-inline w120">
<select name="of_id" v-model="info.of_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in show_info.offlineSourcesAry">{{v.name}}</option>
</select>
</div>
<div class="am-form-group am-para-inline w120">
<select name="of2_id" v-model="info.of2_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in of2Ary">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<div class="am-form-group fl">
<label class="am-para-label w100">起止日期:</label>
<div class="am-form-group fl">
<div class="am-para-inline w250">
<input id="id-s_e_date" name="s_e_date" type="text" v-model="info.s_e_date"
placeholder="起止日期范围" autocomplete="off"/>
</div>
<div class="am-para-inline" style="padding-top: 5px;">
<!-- <a class="mr10 id-day-btn" href="javascript:void (0);" data-date="today" data-btn="s_e">今天</a>-->
<!-- <a class="mr10 id-day-btn" href="javascript:void (0);" data-date="yesterday" data-btn="s_e">昨日</a>-->
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="weeks" data-btn="s_e">本周</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="month" data-btn="s_e">本月</a>
</div>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<div class="am-form-group" style="margin-bottom: 2rem">
<label class="am-para-label w150"></label>
<button class="am-btn ml20 am-btn-sm am-btn-success w100" type="button" @click="saveEdit">保存</button>
</div>
</div>
</form>
<script>
var vue_obj;
$(function () {
vue_obj = new Vue({
el: '#vue-edit',
data: {
info: [],
show_info: {offlineSourcesAry: []},
of2Ary: [],
},
mounted: function () {
var vm = this;
vm.info = <?=json_encode($info)?>;
vm.show_info = <?=json_encode($show_info)?>;
},
methods: {
saveEdit: function () {
var vm = this;
vm.info.s_e_date = $('#id-s_e_date').val();
$.ajax({
url: vm.info.url,
type: 'post',
dataType: 'json',
data: {
info: vm.info,
},
beforeSend: function () {
layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
success: function (data) {
if (data['code']) {
layer.msg(data.msg, {
icon: 1,
time: 2000
}, function () {
if (data.url != '') {
$.form.href(data.url);
} else {
// $.form.reload();
window.location.reload();
}
});
} else {
layer.msg(data.msg, {icon: 2});
}
},
complete: function () {
layer.closeAll('loading');
}
});
}
},
watch: {
'info.of_id': function (nv, ov) {
var that = this;
if (nv == '') {
that.info.of2_id = '';
that.of2Ary = [];
} else {
that.of2Ary = that.show_info.offlineSourcesAry[nv]['list'];
}
},
}
});
});
</script>
<script>
require(['laydate', 'autocomplete'], function (laydate) {
laydate.render({
elem: '#id-s_e_date', range: '~'
});
$('.id-day-btn').click(function () {
var type = $(this).data('date'), nowDate = new Date();
var beginDate = '', endDate = '';
switch (type) {
case 'today':
endDate = beginDate = nowDate.Format('yyyy-MM-dd');
break;
case 'yesterday':
endDate = beginDate = (new Date(nowDate.getTime() - 86400000)).Format('yyyy-MM-dd');
break;
case 'weeks':
nowDate.setDate(nowDate.getDate() - nowDate.getDay() + 1);
beginDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + nowDate.getDate();
nowDate.setDate(nowDate.getDate() + 6);
endDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + nowDate.getDate();
break;
case 'month':
beginDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-01";
var day = new Date(nowDate.getFullYear(), nowDate.getMonth() + 1, 0);
endDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + day.getDate();
break;
}
date = beginDate + ' ~ ' + endDate;
switch ($(this).data('btn')) {
case 's_e':
$('#id-s_e_date').val(date);
break;
}
});
});
</script>
+8 -70
View File
@@ -36,7 +36,7 @@
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span href="javascript:void(0)" style="font-size: 20px">
户信息
户信息
</span>
<span style="float:right;margin-top:5px;">
<a href="javascript:" @click="editType(2)"><i class="fa fa-edit"></i></a>
@@ -58,24 +58,16 @@
<td class="table-td"><span class="mr5">加入时间:</span>{{info.c_time}}</td>
</tr>
<tr>
<td class="table-td" v-if="info.c_brand"><span class="mr5">品牌归属:</span>{{info.c_brand}}</td>
<td class="table-td"><span class="mr5">客户来源:</span>{{info.of_title}}</td>
<td class="table-td"><span class="mr5">企微好友:</span>{{info.wxqy_name}}</td>
<td class="table-td"><span class="mr5">客户等级:</span>{{info.level}}</td>
</tr>
<tr>
<td class="table-td"><span class="mr5">微信好友:</span>{{info.wx_name}}</td>
<td class="table-td"><span class="mr5">客户位置:</span>{{info.city_county}}</td>
<td class="table-td" v-if="info.to_send"><span class="mr5">是否改派:</span>{{info.to_send}}</td>
<!--td class="table-td" v-if="info.cf_user"><span class="mr5">分销来源:</span>{{info.cf_user}}</td>
<td class="table-td" v-if="!info.to_send && !info.cf_user" colspan="2"></td>
<td class="table-td" v-else-if="!info.to_send || !info.cf_user"></td-->
<tr v-if="info.to_send || info.cf_user">
<td class="table-td" v-if="info.to_send"><span class="mr5">改派:</span>{{info.to_send}}</td>
<td class="table-td" v-if="info.cf_user"><span class="mr5">分销来源:</span>{{info.cf_user}}</td>
<td class="table-td" v-if="info.to_send && info.cf_user"></td>
<td class="table-td" v-else colspan="2"></td>
</tr>
<!-- <tr v-if="info.to_send || info.cf_user">-->
<!-- <td class="table-td" v-if="info.to_send"><span class="mr5">是否改派:</span>{{info.to_send}}</td>-->
<!-- <td class="table-td" v-if="info.cf_user"><span class="mr5">分销来源:</span>{{info.cf_user}}</td>-->
<!-- <td class="table-td" v-if="info.to_send && info.cf_user"></td>-->
<!-- <td class="table-td" v-else colspan="2"></td>-->
<!-- </tr>-->
<tr>
<td>
<div class="am-form-inline" style="padding-right: 30px;padding-top: 10px;">
@@ -132,7 +124,7 @@
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span href="javascript:void(0)" style="font-size: 20px">
户画像
户画像
</span>
<span style="float:right;margin-top:5px;" v-if="info.biz_type!=5">
<a href="javascript:" @click="editType(3)"><i class="fa fa-edit"></i></a>
@@ -195,60 +187,6 @@
</div>
</div>
</div>
<div class="am-u-lg-12" v-if="info.tag_intention">
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span href="javascript:void(0)" style="font-size: 20px">
客户意向
</span>
</div>
<div class="am-panel-bd am-g">
<table width="100%" style="margin-left: 10px;margin-right: 10px;">
<template v-for="(v,i) in info.tag_intention">
<tr v-if="v.value_str">
<td class="table-td" style="width: 80%">
<table>
<tr>
<td style="min-width: 80px">{{v.name}}:</td>
<td>
{{v.value_str}}
</td>
</tr>
</table>
</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<div class="am-u-lg-12" v-if="info.tag_defeat">
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span href="javascript:void(0)" style="font-size: 20px">
战败标签
</span>
</div>
<div class="am-panel-bd am-g">
<table width="100%" style="margin-left: 10px;margin-right: 10px;">
<template v-for="(v,i) in info.tag_defeat">
<tr v-if="v.value_str">
<td class="table-td" style="width: 80%">
<table>
<tr>
<td style="min-width: 80px">{{v.name}}:</td>
<td>
{{v.value_str}}
</td>
</tr>
</table>
</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<div class="am-u-lg-12">
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
+42 -372
View File
@@ -18,6 +18,8 @@
<div class="coms-table-wrap mt10">
<form id="vue-app" class="form-search coms-table-hd clearfix no-border" onsubmit="return false"
action="/receiver/customer">
<input name="status" value="<?= $params['status'] ?>" type="hidden">
<input type="hidden" id="id_tag" name="tag" value="<?= $params['tag'] ?>">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label w80">客户搜索:</label>
@@ -28,11 +30,11 @@
</div>
</div>
<div class="am-form-group fl">
<div class="am-para-inline w160">
<div class="am-para-inline w220">
<input id="title" name="title" type="text" v-model="params.title"/>
</div>
</div>
<div class="am-form-group fl " style="width:1920px">
<div class="am-form-group fl">
<label class="am-para-label w80">客户等级:</label>
<div class="am-para-inline w100">
<select name="level" v-model="params.level">
@@ -40,73 +42,51 @@
<option :value="v" v-for="(v,i) in show_info.levelAry">{{v}}</option>
</select>
</div>
<label class="am-para-label w80">企微:</label>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">渠道经理:</label>
<div class="am-para-inline w100">
<select name="qdjl_id" v-model="params.qdjl_id">
<option value=''>请选择</option>
<option :value="v.id" v-for="(v,i) in qdjl_lists">{{v.name}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">企微好友:</label>
<div class="am-para-inline w100">
<select name="wxqy" v-model="params.wxqy">
<option value=''>请选择</option>
<option :value="i" v-for="(v,i) in show_info.wxqyAry">{{v}}</option>
</select>
</div>
<label class="am-para-label w80">个微:</label>
<div class="am-para-inline w100">
<select name="wxgr" v-model="params.wxgr">
<option value=''>请选择</option>
<option :value="i" v-for="(v,i) in show_info.wxgrAry">{{v}}</option>
</select>
</div>
<label class="am-para-label w100">是否改派:</label>
<div class="am-para-inline w100">
<select name="cs_biz_id" v-model="params.cs_biz_id">
<option value=''>请选择</option>
<option :value="i" v-for="(v,i) in show_info.csbizidAry">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group fl" style="width:1920px">
<label class="am-para-label w80">品牌归属:</label>
<div class="am-para-inline w100">
<select name="c_brand" v-model="params.c_brand">
<option value=''>请选择</option>
<option :value="i" v-for="(v,i) in show_info.cbrandAry">{{v}}</option>
</select>
</div>
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<div class="am-form-group fl">
<label class="am-para-label w80">客户来源:</label>
<div class="am-form-group am-para-inline w100">
<div class="am-form-group am-para-inline w120">
<select name="of_id" v-model="params.of_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in show_info.offlineSourcesAry">{{v.name}}</option>
</select>
</div>
<div class="am-form-group am-para-inline w100">
<div class="am-form-group am-para-inline w120">
<select name="of2_id" v-model="params.of2_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in of2Ary">{{v}}</option>
</select>
</div>
<label class="am-para-label w100">客户位置:</label>
<div class="am-para-inline w100">
<select title="城市" name="city_id" v-model="params.city_id">
<option value="">选择城市</option>
<option :value="v.id" v-for="(v,i) in cityAry">{{v.name}}</option>
</select>
</div>
<div class="am-para-inline w100">
<select title="行政区" name="county_id" v-model="params.county_id">
<option value="">选择行政区</option>
<option :value="v.id" v-for="(v,i) in countyAry">{{v.name}}</option>
</select>
</div>
</div>
<div class="am-form-group fl" style="width:1920px">
<label class="am-para-label w80">门店类型:</label>
<div class="am-form-group fl">
<label class="am-para-label w90">门店类型:</label>
<div class="am-para-inline w100">
<select name="biz_type" v-model="params.biz_type">
<option value="">请选择</option>
<option :value="v.id" v-for="(v,i) in bizTypeAry">{{v.name}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">销售员:</label>
<div class="am-para-inline w100">
<select title="城市" name="city_id_admin" v-model="params.city_id_admin">
@@ -136,13 +116,6 @@
</template>
</select>
</div>
<label class="am-para-label w100">渠道经理:</label>
<div class="am-para-inline w100">
<select name="qdjl_id" v-model="params.qdjl_id">
<option value=''>请选择</option>
<option :value="v.id" v-for="(v,i) in qdjl_lists">{{v.name}}</option>
</select>
</div>
</div>
<? foreach ($searchTimeAry as $key => $value) { ?>
<div id="show-<?= $key ?>" style="display:<?= $params[$key] ? 'block' : 'none' ?>">
@@ -164,34 +137,23 @@
<? } ?>
<div class="am-form-group" style="margin-bottom: 0px;"></div>
<div class="am-form-group fl" style="margin-bottom: 0px;">
<div class="am-form-group fl ml10">
<input type="button" @click="btnTimes" value="筛选时间" class="am-btn am-btn-success am-btn-sm">
</div>
<div class="am-form-group fl ml10">
<input type="button" @click="btnTags" value="客户画像" class="am-btn am-btn-success am-btn-sm">
</div>
<div class="am-form-group fl ml10">
<input type="button" @click="btnTagsIntention" value="客户意向" class="am-btn am-btn-success am-btn-sm">
</div>
<div class="am-form-group fl ml10">
<input type="button" @click="btnTagsDefeat" value="战败标签" class="am-btn am-btn-success am-btn-sm">
</div>
<div class="am-form-group fl ml10">
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
<input type="button" @click="btnTimes" value="选择筛选时间" class="am-btn am-btn-success am-btn-sm">
</div>
<div class="am-form-group fl ml10" style="display: none">
<input type="button" @click="searchTag" value="客户画像" class="am-btn am-btn-success am-btn-sm">
</div>
<div class="am-form-group fl ml10">
<button type="button" class="am-btn am-btn-success am-btn-sm w100" @click="reset">重置</button>
</div>
<div class="am-form-group fl ml10" v-if="export_button==1">
<button type="button" class="am-btn am-btn-success am-btn-sm w100" @click="export_out()" title="最多500条">导出(带标签)</button>
<button type="button" class="am-btn am-btn-success am-btn-sm w100" @click="export_out(0)">导出(无标签)</button>
<button type="button" class="am-btn am-btn-success am-btn-sm w100" @click="export_out">导出</button>
</div>
</div>
</div>
<input name="status" value="<?= $params['status'] ?>" type="hidden">
<input type="hidden" id="id_tags" name="tags" value="<?= $params['tags'] ?>">
<input type="hidden" id="id_tagsIntention" name="tagsIntention" value="<?= $params['tagsIntention'] ?>">
<input type="hidden" id="id_tagsDefeat" name="tagsDefeat" value="<?= $params['tagsDefeat'] ?>">
</form>
<div class="coms-table-bd">
@@ -208,10 +170,8 @@
<th width="10%"><span>客户来源</span></th>
<th width="10%"><span>所属门店</span></th>
<th width="5%"><span>状态</span></th>
<th width="5%"><span>是否改派</span></th>
<th width="5%"><span>销售员</span></th>
<th width="5%"><span>企微好友</span></th>
<th width="5%"><span>加个微</span></th>
<th width="6%"><span>最后联系时间</span></th>
</tr>
</thead>
@@ -225,14 +185,12 @@
<td>{{v.of_title}}</td>
<td>{{v.biz_name}}</td>
<td>{{v.status_name}}</td>
<td>{{v.to_send}}</td>
<td>{{v.admin_name}}</td>
<td>{{v.wxqy_name}}</td>
<td>{{v.wxgr_name}}</td>
<td>{{v.cont_time}}</td>
</tr>
<tr>
<td colspan="12">
<td colspan="10">
<div class="row">
<div class="col-md-4 align-l">
</div>
@@ -279,100 +237,6 @@
</div>
</div>
</div>
<div id="tags-modal" style="display: none;">
<div class="modal-body">
<template v-for="(v,i) in show_info.tags">
<tr>
<td class="table-td" style="width: 80%">
<table>
<tr v-if="v.type=='checkbox'">
<td style="min-width: 80px">{{v.name}}:</td>
<td>
<template v-for="(v2,i2) in v.list">
<input type="checkbox" :value='v2.checked'
v-model="v2.checked"> {{v2.name}}&nbsp;
</template>
</td>
</tr>
<tr v-else>
<td style="min-width: 80px">{{v.name}}:</td>
<td>
<template v-for="(v2,i2) in v.list">
<input type="radio" :value='v2.id'
v-model="v.value"> {{v2.name}}&nbsp;
</template>
</td>
</tr>
</table>
</td>
</tr>
</template>
</div>
</div>
<div id="tags-intention-modal" style="display: none;">
<div class="modal-body">
<template v-for="(v,i) in show_info.tagsIntention">
<tr>
<td class="table-td" style="width: 80%">
<table>
<tr v-if="v.type=='checkbox'">
<td style="min-width: 100px">{{v.name}}:</td>
<td>
<template v-for="(v2,i2) in v.list">
<input type="checkbox" :value='v2.checked'
v-model="v2.checked"> {{v2.name}}&nbsp;
</template>
</td>
</tr>
<tr v-else>
<td style="min-width: 100px">{{v.name}}:</td>
<td>
<template v-for="(v2,i2) in v.list">
<input type="radio" :value='v2.id'
v-model="v.value"> {{v2.name}}&nbsp;
</template>
</td>
</tr>
</table>
</td>
</tr>
</template>
</div>
</div>
<div id="tags-defeat-modal" style="display: none;">
<div class="modal-body">
<template v-for="(v,i) in show_info.tagsDefeat">
<tr>
<td class="table-td" style="width: 80%">
<table>
<tr v-if="v.type=='checkbox'">
<td style="min-width: 100px">{{v.name}}:</td>
<td>
<template v-for="(v2,i2) in v.list">
<input type="checkbox" :value='v2.checked'
v-model="v2.checked"> {{v2.name}}&nbsp;
</template>
</td>
</tr>
<tr v-else>
<td style="min-width: 100px">{{v.name}}:</td>
<td>
<template v-for="(v2,i2) in v.list">
<input type="radio" :value='v2.id'
v-model="v.value"> {{v2.name}}&nbsp;
</template>
</td>
</tr>
</table>
</td>
</tr>
</template>
</div>
</div>
</div>
<script>
@@ -419,13 +283,10 @@
lists: [],
qdjl_lists: [],
admins: {cityAry: [], countyAry: [], bizAry: [], list: []},
show_info: {levelAry: [], offlineSourcesAry: [], wxqyAry: [], wxgrAry: [], csbizidAry: [], tags: []
, tagsIntention: [], tagsDefeat: []},
show_info: {levelAry: [], offlineSourcesAry: [], wxqyAry: []},
of2Ary: [],
bizTypeAry: [],
export_button: 0,
cityAry: [],
countyAry: [],
},
mounted: function () {
var vm = this;
@@ -475,168 +336,17 @@
}
});
},
btnTags: function () {
var vm = this;
layer.open({
type: 1,
area: ['50%'], //宽高
content: $('#tags-modal'),
title: '搜索客户画像',
shade: false,
btn: ['点击搜索', '重置画像', '取消搜索'],
yes: function (index) {
var ids = '';
vm.show_info.tags.map(function (item1) {
for (var i in item1.list) {
var item2 = item1.list[i];
if (item1.type == 'checkbox') {
if (item2.checked) {
ids = ids ? ids + ',' + item2.id : item2.id;
}
} else {
if (item1.value == item2.id) {
ids = ids ? ids + ',' + item2.id : item2.id;
}
}
}
});
if (ids.length < 1) {
return $.msg.tips('请选择需要搜索的数据!');
}
$('#id_tags').val(ids);
$('#id_tagsIntention').val('');
$('#id_tagsDefeat').val('');
$('#vue-app').submit();
layer.close(index);
},
btn2: function () {
vm.show_info.tags.map(function (item1) {
for (var i in item1.list) {
var item2 = item1.list[i];
if (item1.type == 'checkbox') {
item2.checked = false;
} else {
item1.value = '';
}
}
});
$('#id_tags').val('');
return false;
},
btn3: function (index) {
layer.close(index);
}
});
},
btnTagsIntention: function () {
var vm = this;
layer.open({
type: 1,
area: ['50%'], //宽高
content: $('#tags-intention-modal'),
title: '搜索客户意向',
shade: false,
btn: ['点击搜索', '重置意向', '取消搜索'],
yes: function (index) {
var ids = '';
vm.show_info.tagsIntention.map(function (item1) {
for (var i in item1.list) {
var item2 = item1.list[i];
if (item1.type == 'checkbox') {
if (item2.checked) {
ids = ids ? ids + ',' + item2.id : item2.id;
}
} else {
if (item1.value == item2.id) {
ids = ids ? ids + ',' + item2.id : item2.id;
}
}
}
});
if (ids.length < 1) {
return $.msg.tips('请选择需要搜索的数据!');
}
$('#id_tagsIntention').val(ids);
$('#id_tags').val('');
$('#id_tagsDefeat').val('');
$('#vue-app').submit();
layer.close(index);
},
btn2: function () {
vm.show_info.tagsIntention.map(function (item1) {
for (var i in item1.list) {
var item2 = item1.list[i];
if (item1.type == 'checkbox') {
item2.checked = false;
} else {
item1.value = '';
}
}
});
$('#id_tagsIntention').val('');
return false;
},
btn3: function (index) {
layer.close(index);
}
});
},
btnTagsDefeat: function () {
var vm = this;
layer.open({
type: 1,
area: ['50%'], //宽高
content: $('#tags-defeat-modal'),
title: '搜索战败标签',
shade: false,
btn: ['点击搜索', '重置战败', '取消搜索'],
yes: function (index) {
var ids = '';
vm.show_info.tagsDefeat.map(function (item1) {
for (var i in item1.list) {
var item2 = item1.list[i];
if (item1.type == 'checkbox') {
if (item2.checked) {
ids = ids ? ids + ',' + item2.id : item2.id;
}
} else {
if (item1.value == item2.id) {
ids = ids ? ids + ',' + item2.id : item2.id;
}
}
}
});
if (ids.length < 1) {
return $.msg.tips('请选择需要搜索的数据!');
}
$('#id_tagsDefeat').val(ids);
$('#id_tags').val('');
$('#id_tagsIntention').val('');
$('#vue-app').submit();
layer.close(index);
},
btn2: function () {
vm.show_info.tagsDefeat.map(function (item1) {
for (var i in item1.list) {
var item2 = item1.list[i];
if (item1.type == 'checkbox') {
item2.checked = false;
} else {
item1.value = '';
}
}
});
$('#id_tagsDefeat').val('');
return false;
},
btn3: function (index) {
layer.close(index);
}
});
},
saveEdit: function () {
$("form").submit();
},
searchTag: function () {
var tag = [];
tag.push('1_1');
tag.push('1_3');
tag.push('2_5');
$('#id_tag').val(tag);
$('#vue-app').submit();
},
init_citys: function () {
var vm = this;
$.ajax({
@@ -652,7 +362,6 @@
if (response.code == 1) {
//vm.cityAry = response.data;
vm.admins.cityAry = JSON.parse(JSON.stringify(response.data));
vm.cityAry = JSON.parse(JSON.stringify(response.data));
}
}
});
@@ -664,12 +373,8 @@
that.cfrom_id = 0;
that.cfrom_id2 = 0;
that.params.city_id_admin = '';
that.params.city_id = '';
that.params.of_id = '';
that.params.of2_id = '';
$('#id_tags').val('');
$('#id_tagsIntention').val('');
$('#id_tagsDefeat').val('');
$('#cf_time').val('');
$(".order-times").map(function () {
var id = this.value;
@@ -679,7 +384,7 @@
});
$("#times_checkbox").prop("checked", false);
},
export_out: function (tag=1) {
export_out: function () {
var that = this;
if (that.export_button == 0){
layer.msg('无权限导出');
@@ -692,7 +397,6 @@
}
let href = $.menu.parseUri(window.location.href);
href = href.replace("customer?", "customer/export?");
href = href + "&export_tag=" + tag;
window.location.href = href;
},
},
@@ -732,32 +436,6 @@
});
}
},
'params.city_id': function (nv, ov) {
var that = this;
if (nv == '') {
that.countyAry = [];
that.county_id_admin = '';
} else {
if (nv.substring(0, 4) != that.params.county_id.substring(0, 4)) {
that.params.county_id = '';
}
$.ajax({
type: 'get',
url: '/common/area',
dataType: 'json',
data: {
id: nv,
key: 'county',
type: 1
},
success: function (response) {
if (response.code == 1) {
that.countyAry = response.data;
}
}
});
}
},
'params.county_id_admin': function (nv, ov) {
var that = this;
if (nv == '') {
@@ -830,11 +508,3 @@
});
</script>
<style type="text/css">
.table-td {
width: 20%;
padding-top: 10px;
line-height: 28px;
font-size: 1.4rem;
}
</style>
@@ -1,62 +0,0 @@
<link rel="stylesheet" type="text/css" href="/static/css/font-awesome.min.css?v=1581252500">
<div class="coms-table-wrap mt10">
<div class="am-form am-form-horizontal">
<div class="am-form-group fr" style="margin-bottom: 0px;">
<div class="am-form-group fl ml10">
<button type="button" class="am-btn am-btn-success am-btn-sm w100" @click="export_out">导出</button>
</div>
</div>
</div>
<div class="coms-table-bd">
<table class="am-table am-table-bordered">
<thead>
<tr>
<template v-for="(index) in indexs">
<th v-if="index=='序号'" width="50px">{{index}}</th>
<th v-else>{{index}}</th>
</template>
</tr>
</thead>
<tbody>
<template v-for="(list) in lists">
<tr>
<template v-for="(v, i) in list">
<td v-if="i=='序号'">{{v}}</td>
<td v-else-if="i=='栏目'" style="text-align: left" v-html="v"></td>
<td v-else style="text-align: right">{{v}}</td>
</template>
</tr>
</template>
</table>
</div>
</div>
<script>
var vue_obj;
$(function () {
vue_obj = new Vue({
el: '.coms-table-wrap',
data: {
params: {},
indexs: [],
lists: [],
},
mounted: function () {
var vm = this;
vm.params = <?=json_encode($params)?>;
vm.indexs = <?=json_encode($indexs)?>;
vm.lists = <?=json_encode($lists)?>;
},
methods: {
export_out: function () {
let href = $.menu.parseUri(window.location.href);
href = href.replace("customer/lists_statdata?", "customer/export_statdata?");
window.location.href = href;
},
},
watch: {
}
});
});
</script>
@@ -1,147 +0,0 @@
<link rel="stylesheet" type="text/css" href="/static/css/font-awesome.min.css?v=1581252500">
<div class="coms-table-wrap mt10">
<form class=" form-search coms-table-hd clearfix no-border" onsubmit="return false" action="/receiver/customer/lists_statdatalog">
<input type="hidden" id="id" name="id" v-model="params.id">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label w100">城市-门店:</label>
<div class="am-form-group am-para-inline w100">
<select name="city_id" v-model="params.city_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in city_biz_ary">{{v.name}}</option>
</select>
</div>
<div class="am-form-group am-para-inline w100">
<select name="biz_id" v-model="params.biz_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in biz_ary">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w100">统计时间:</label>
<div class="am-form-group fl">
<div class="am-para-inline w230">
<input id="id-stat_date" name="stat_date" type="text" value="<?= $params['stat_date'] ?>"
placeholder="统计时间范围" autocomplete="off"/>
</div>
<div class="am-para-inline" style="padding-top: 5px;">
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="today" data-btn="stat_date">今天</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="yesterday" data-btn="stat_date">昨日</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="weeks" data-btn="stat_date">本周</a>
<a class="mr10 id-day-btn" href="javascript:void (0);" data-date="month" data-btn="stat_date">本月</a>
</div>
</div>
</div>
<div class="am-form-group fr" style="margin-bottom: 0px;">
<div class="am-form-group fl ml10">
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
<button type="button" class="am-btn am-btn-success am-btn-sm w100" @click="export_out">导出</button>
</div>
</div>
</div>
</form>
<div class="coms-table-bd">
<table class="am-table am-table-bordered">
<thead>
<tr>
<template v-for="(index) in indexs">
<th v-if="index=='序号'" width="50px">{{index}}</th>
<th v-else>{{index}}</th>
</template>
</tr>
</thead>
<tbody>
<template v-for="(list) in lists">
<tr>
<template v-for="(v, i) in list">
<td v-if="i=='序号'">{{v}}</td>
<td v-else-if="i=='栏目'" style="text-align: left" v-html="v"></td>
<td v-else style="text-align: right">{{v}}</td>
</template>
</tr>
</template>
</table>
</div>
</div>
<script>
require(['laydate', 'autocomplete'], function (laydate) {
laydate.render({
elem: '#id-stat_date', range: '~'
});
$('.id-day-btn').click(function () {
var type = $(this).data('date'), date = '', nowDate = new Date();
var beginDate = '', endDate = '';
switch (type) {
case 'today':
endDate = beginDate = nowDate.Format('yyyy-MM-dd');
break;
case 'yesterday':
endDate = beginDate = (new Date(nowDate.getTime() - 86400000)).Format('yyyy-MM-dd');
break;
case 'weeks':
nowDate.setDate(nowDate.getDate() - nowDate.getDay() + 1);
beginDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + nowDate.getDate();
nowDate.setDate(nowDate.getDate() + 6);
endDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + nowDate.getDate();
break;
case 'month':
beginDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-01";
var day = new Date(nowDate.getFullYear(), nowDate.getMonth() + 1, 0);
endDate = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + day.getDate();
break;
}
date = beginDate + ' ~ ' + endDate;
switch ($(this).data('btn')) {
case 'stat_date':
$('#id-stat_date').val(date);
break;
}
});
});
var vue_obj;
$(function () {
vue_obj = new Vue({
el: '.coms-table-wrap',
data: {
params: {'city_id': '', 'biz_id': ''},
indexs: [],
lists: [],
city_biz_ary: [],
biz_ary:[],
},
mounted: function () {
var vm = this;
vm.params = <?=json_encode($params)?>;
vm.indexs = <?=json_encode($indexs)?>;
vm.lists = <?=json_encode($lists)?>;
vm.city_biz_ary = <?=json_encode($city_biz_ary)?>;
},
methods: {
export_out: function () {
let href = $.menu.parseUri(window.location.href);
href = href.replace("customer/lists_statdatalog?", "customer/export_statdatalog?");
window.location.href = href;
},
},
watch: {
'params.city_id': function (nv, ov) {
var that = this;
if (nv == '') {
that.params.biz_id = '';
that.biz_ary = [];
} else {
that.biz_ary = that.city_biz_ary[nv]['list'];
}
},
}
});
});
</script>
@@ -1,122 +0,0 @@
<link rel="stylesheet" type="text/css" href="/static/css/font-awesome.min.css?v=1581252500">
<div class="coms-table-wrap mt10">
<form id="vue-app" class="form-search coms-table-hd clearfix no-border" onsubmit="return false" action="/receiver/customer/lists_statplan">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label w80">计划名:</label>
<div class="am-para-inline w220">
<input id="sp_name" name="sp_name" type="text" v-model="params.sp_name"/>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label w80">客户来源:</label>
<div class="am-form-group am-para-inline w120">
<select name="of_id" v-model="params.of_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in show_info.offlineSourcesAry">{{v.name}}</option>
</select>
</div>
<div class="am-form-group am-para-inline w120">
<select name="of2_id" v-model="params.of2_id">
<option value="">请选择</option>
<option :value="i" v-for="(v,i) in of2Ary">{{v}}</option>
</select>
</div>
</div>
<div class="am-form-group fl" style="margin-bottom: 0px;">
<div class="am-form-group fl ml10">
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
</div>
<div class="am-form-group fl ml10">
<button type="button" class="am-btn am-btn-success am-btn-sm w100"
data-modal="/receiver/customer/get_statplan?id=0" data-title="新增客户统计计划">新增
</button>
</div>
</div>
</div>
</form>
<div class="coms-table-bd">
<div class="am-form-group fr mr10">
<span><?= intval($pager['totle']) ?>条&nbsp;&nbsp;&nbsp;</span>
</div>
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="5%">ID</th>
<th width="30%"><span>计划名</span></th>
<th width="15%"><span>客户来源</span></th>
<th width="15%"><span>起止时间</span></th>
<th width="10%"><span>最近执行日期</span></th>
<th width="15%"><span>最后更新时间</span></th>
<th width="15%"><span>操作</span></th>
</tr>
</thead>
<tbody>
<template v-for="(v,i) in lists">
<tr>
<td>{{v.id}}</td>
<td>{{v.sp_name}}</td>
<td>{{v.of_title}}</td>
<td>{{v.s_date}} ~ {{v.e_date}}</td>
<td>{{v.last_date}}</td>
<td>{{v.u_time}}</td>
<td>
<a :data-modal="'/receiver/customer/get_statplan?id='+v.id+'&type=customer'"
href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs"
:data-title="'编辑 '+v.sp_name">编辑</a>
<a href="javascript:void(0);" :data-open="'/receiver/customer/lists_statdata?id='+v.id"
class="am-btn am-btn-primary am-btn-xs" style="display: none">数据</a>
<a href="javascript:void(0);" :data-open="'/receiver/customer/lists_statdatalog?id='+v.id"
class="am-btn am-btn-primary am-btn-xs">数据</a>
</td>
</tr>
</template>
</table>
</div>
<div class="coms-table-ft clearfix">
<div class="hander am-form">
</div>
<div class="coms-pagination fr mr20">
<?php page_view($pager) ?>
</div>
</div>
</div>
<script>
var vue_obj;
$(function () {
vue_obj = new Vue({
el: '.coms-table-wrap',
data: {
params: {'of_id': '', 'of2_id': '', 'sp_name': ''},
lists: [],
show_info: {offlineSourcesAry: []},
of2Ary: [],
},
mounted: function () {
var vm = this;
vm.params = <?=json_encode($params)?>;
vm.lists = <?=json_encode($lists)?>;
vm.show_info = <?=json_encode($show_info)?>;
},
methods: {
},
watch: {
'params.of_id': function (nv, ov) {
var that = this;
if (nv == '') {
that.params.of2_id = '';
that.of2Ary = [];
} else {
that.of2Ary = that.show_info.offlineSourcesAry[nv]['list'];
}
},
}
});
<?php page_script($pager) ?>
});
</script>
@@ -1,16 +0,0 @@
<form class="am-form am-form-horizontal" action="/receiver/orderv2/orders/edit_price_car" data-auto="true" method="post"
style="width: 90%;padding-top: 10px">
<div class="am-form-group">
<label class="am-para-label">车辆售价:</label>
<div class="am-para-input">
<input type="text" value="<?=$price_car?>" name="price_car"/>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input">
<input type="hidden" name="id" value="<?=$id?>">
<button class="am-btn am-btn-secondary" type="submit">确定</button>
</div>
</div>
</form>
+10 -187
View File
@@ -1,199 +1,22 @@
<!--<form class="am-form am-form-horizontal" action="/receiver/orderv2/orders/edit_srv" data-auto="true" method="post"
<form class="am-form am-form-horizontal" action="/receiver/orderv2/orders/edit_srv" data-auto="true" method="post"
style="width: 90%;padding-top: 10px">
<?/* foreach ($srv_info as $key=>$value) {*/?>
<? foreach ($srv_info as $key=>$value) {?>
<div class="am-form-group">
<input type="hidden" value="<?/*=$value['id']*/?>" name="money[<?/*=$key*/?>][id]"/>
<input type="hidden" value="<?/*=$value['key']*/?>" name="money[<?/*=$key*/?>][key]"/>
<input type="hidden" value="<?=$value['id']?>" name="money[<?=$key?>][id]"/>
<input type="hidden" value="<?=$value['key']?>" name="money[<?=$key?>][key]"/>
<label class="am-para-label">
<input type="checkbox" name="money[<?/*=$key*/?>][checkbox]" <?/*=$value['checked']*/?> value="1">
<?/*=$value['title']*/?>
<input type="checkbox" name="money[<?=$key?>][checkbox]" <?=$value['checked']?> value="1">
<?=$value['title']?>
</label>
<div class="am-para-input">
<input type="text" value="<?/*=$value['money']*/?>" name="money[<?/*=$key*/?>][price]" <?/*=$value['key']=='price_insure' ? 'readonly' : ''*/?>/>
<input type="text" value="<?=$value['money']?>" name="money[<?=$key?>][price]" <?=$value['key']=='price_insure' ? 'readonly' : ''?>/>
</div>
</div>
<?/*}*/?>
<?}?>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input">
<input type="hidden" name="id" value="<?/*=$id*/?>">
<input type="hidden" name="id" value="<?=$id?>">
<button class="am-btn am-btn-secondary" type="submit">确定</button>
</div>
</div>
</form>-->
<div id="vue-edit-srv" class="am-form am-form-horizontal" style="width: 98%;padding-top: 10px">
<template v-for="(item,index) in srv_info">
<div class="am-form-group">
<input type="hidden" :id="'id_'+index" name="'id_'+index" v-model="item.id" />
<input type="hidden" :id="'key_'+index" name="'key_'+index" v-model="item.key" />
<label class="am-para-label">
<input type="checkbox" v-model="item.checked" />
{{item.title}}
</label>
<div class="am-para-input">
<input type="text" :id="'money_'+index" name="'money_'+index" v-model="item.money" :readonly="item.key=='price_insure'" />
</div>
</div>
</template>
<div class="am-form-group">
<label class="am-para-label">
精品选装:
</label>
<div class="am-para-input">
{{price_fine_select}}
</div>
<div id="options-modal" class="am-para-input">
<table class="table table-hover table-middle" style="table-layout:fixed">
<colgroup>
<col width="60%">
<col width="20%">
<col width="">
</colgroup>
<thead>
<tr>
<th class="text-center">项目</th>
<th class="text-center">金额(非服务费时,0为赠送)</th>
<th class="text-right">
<a v-if="biz_type==1" href="javascript:" style="margin-top: 2px;" class="btn btn-primary btn-sm" @click='addOptions()'>添加</a>
</th>
</tr>
</thead>
<tbody>
<template v-for="(item,index) in fines">
<tr>
<td class="text-center">
<input v-if="biz_type==1" :id="'txt_'+index" @blur="editTxt(index)" class="form-control" v-model="item.txt" placeholder="请输入项目">
<label v-else v-text="item.txt"></label>
</td>
<td class="text-center">
<input :id="'price_'+index" @blur="editPrice(index)" class="form-control"
v-model="item.price" type="number" placeholder="请输入金额" min="0" oninput="if(value<0)value=0;">
</td>
<td class="text-right">
<a v-if="biz_type==1" href="javascript:void(0);" style="margin-top:2px;"
class="btn btn-danger btn-sm" @click='delOptions(index)'>删除</a>
</td>
</tr>
</template>
</tbody>
</table>
</div>
</div>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input">
<input type="hidden" id="o_id" name="o_id" v-model="o_id">
<button class="am-btn am-btn-secondary" type="submit" @click="saveEdit();">确定</button>
</div>
</div>
</div>
<script>
var vue_obj;
$(document).ready(function () {
vue_obj = new Vue({
el: '#vue-edit-srv',
data: {
srv_info: [],
fines: [],
o_id: 0,
biz_type: '',
price_fine_select: '',
},
mounted: function () {
var vm = this;
vm.srv_info = <?=json_encode($srv_info, JSON_UNESCAPED_UNICODE)?>;
vm.fines = <?=json_encode($fines, JSON_UNESCAPED_UNICODE)?>;
vm.o_id = <?=$id?>;
vm.biz_type = <?=$biz_type?>;
vm.price_fine_select = <?=$price_fine_select?>;
// alert(vm.o_id);
},
computed: {},
created: function () {
// var vm = this;
// alert(vm.o_id); // 在data初始化赋值才可
},
methods: {
saveEdit: function () {
var vm = this;
var post_data = {};
post_data['id'] = vm.o_id;
post_data['money'] = vm.srv_info;
post_data['fines'] = vm.fines;
$.ajax({
url: '/receiver/orderv2/orders/edit_srv',
type: 'post',
dataType: 'json',
data: post_data,
beforeSend: function () {
layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
success: function (data) {
loading = false;
if (data['code']) {
layer.msg(data.msg, {
icon: 1,
time: 2000
}, function () {
if (data.url != '') {
// $.form.href(data.url);
window.location.href = data.url;
} else {
// $.form.reload();
window.location.reload();
}
});
} else {
layer.msg(data.msg, {icon: 2});
}
},
complete: function () {
loading = false;
layer.closeAll('loading');
},
});
},
addOptions: function () {
var vm = this;
vm.fines.push({txt: '', price: '0'});
// vm.fines.push({id: 0, txt: '', price: '0'});
},
delOptions: function (index) {
var vm = this;
vm.fines.splice(index,1);
},
editTxt: function (index) {
var name = $("#txt_" + index).val();
if (name == '') {
layer.msg("项目不能为空!", {icon: 2});
return false;
}
},
editPrice: function (index) {
var vm = this;
var price = 0;
console.dir(vm.fines);
for (item in vm.fines){
console.dir(item);
console.dir(vm.fines[item]);
console.dir(vm.fines[item]['price']);
console.dir(parseInt(vm.fines[item]['price']));
if (vm.fines[item]['price'].length > 0){
price += parseInt(vm.fines[item]['price']);
}
}
console.dir(price);
vm.price_fine_select = price;
return true;
},
}
});
});
</script>
</form>
@@ -6,13 +6,6 @@
<input type="text" value="" name="id"/>
</div>
</div>
<div class="am-form-group">
<label class="am-para-label">订单号:</label>
<div class="am-para-input">
<input type="text" value="" name="sid"/>
* 订单id 订单号,只要有一个条件就可
</div>
</div>
<div class="am-form-group" style="margin-bottom: 2rem">
<div class="am-para-input">

Some files were not shown because too many files have changed in this diff Show More