rails_crm 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -23
- data/app/controllers/crm/admin/addresses_controller.rb +57 -0
- data/app/controllers/crm/admin/agencies_controller.rb +65 -0
- data/app/controllers/crm/admin/card_purchases_controller.rb +16 -0
- data/app/controllers/crm/admin/card_templates_controller.rb +49 -0
- data/app/controllers/crm/admin/home_controller.rb +8 -0
- data/app/controllers/crm/admin/maintain_logs_controller.rb +2 -20
- data/app/controllers/crm/admin/maintain_sources_controller.rb +2 -20
- data/app/controllers/crm/admin/maintain_tags_controller.rb +3 -21
- data/app/controllers/crm/admin/maintains_controller.rb +53 -94
- data/app/controllers/crm/admin/orders_controller.rb +70 -0
- data/app/controllers/crm/admin/payments_controller.rb +11 -0
- data/app/controllers/crm/admin/wallet_logs_controller.rb +25 -0
- data/app/controllers/crm/admin/wallet_payments_controller.rb +41 -0
- data/app/controllers/crm/admin/wallet_templates_controller.rb +44 -0
- data/app/controllers/crm/admin/wallets_controller.rb +41 -0
- data/app/controllers/crm/controller/me.rb +16 -0
- data/app/controllers/crm/me/agencies_controller.rb +69 -0
- data/app/controllers/crm/me/base_controller.rb +4 -0
- data/app/controllers/crm/me/home_controller.rb +12 -0
- data/app/controllers/crm/me/maintain_sources_controller.rb +38 -0
- data/app/controllers/crm/me/maintains_controller.rb +5 -0
- data/app/controllers/crm/my/agencies_controller.rb +53 -0
- data/app/controllers/crm/panel/base_controller.rb +5 -0
- data/app/controllers/crm/panel/home_controller.rb +8 -0
- data/app/controllers/crm/panel/qrcodes_controller.rb +29 -0
- data/app/controllers/crm/panel/sources_controller.rb +23 -0
- data/app/controllers/crm/panel/tags_controller.rb +26 -0
- data/app/controllers/crm/panel/texts_controller.rb +29 -0
- data/app/imports/crm/maintain_import.rb +11 -0
- data/app/jobs/crm/order_maintain_sync_job.rb +9 -0
- data/app/models/crm/agency.rb +5 -0
- data/app/models/crm/ext/address.rb +10 -0
- data/app/models/crm/ext/agency.rb +18 -0
- data/app/models/crm/ext/agent.rb +13 -0
- data/app/models/crm/ext/client.rb +13 -0
- data/app/models/crm/ext/maintainable.rb +24 -0
- data/app/models/crm/ext/member.rb +11 -0
- data/app/models/crm/{model → ext}/organ.rb +3 -3
- data/app/models/crm/maintain.rb +1 -1
- data/app/models/crm/model/agency.rb +11 -6
- data/app/models/crm/model/maintain.rb +54 -22
- data/app/models/crm/model/maintain_log.rb +2 -1
- data/app/models/crm/model/maintain_source.rb +5 -3
- data/app/models/crm/model/maintain_tag.rb +6 -5
- data/app/models/crm/model/qrcode.rb +54 -0
- data/app/models/crm/model/source.rb +55 -0
- data/app/models/crm/model/source_contact.rb +40 -0
- data/app/models/crm/model/{maintain_tag_template.rb → tag.rb} +1 -1
- data/app/models/crm/model/text.rb +45 -0
- data/app/models/crm/qrcode.rb +5 -0
- data/app/models/crm/source.rb +18 -0
- data/app/models/crm/source_contact.rb +5 -0
- data/app/models/crm/tag.rb +5 -0
- data/app/models/crm/text.rb +5 -0
- data/app/views/admin/_crm_nav.html.erb +9 -9
- data/app/views/crm/admin/addresses/_index/_breadcrumb.html.erb +6 -0
- data/app/views/crm/admin/addresses/_index/_top_bar.html+phone.erb +9 -0
- data/app/views/crm/admin/addresses/_nav.html.erb +4 -0
- data/app/views/crm/admin/addresses/_new/_top_bar.html.erb +12 -0
- data/app/views/crm/admin/addresses/_order/_weui_dialog_ft.html.erb +4 -0
- data/app/views/crm/admin/addresses/_order_from/_weui_dialog_ft.html.erb +4 -0
- data/app/views/crm/admin/addresses/index.html+phone.erb +7 -0
- data/app/views/crm/admin/agencies/_filter_form.html.erb +9 -0
- data/app/views/crm/admin/agencies/_form.html.erb +5 -0
- data/app/views/crm/admin/agencies/_index/_index_tbody.html.erb +38 -0
- data/app/views/crm/admin/agencies/_index/_index_thead.html.erb +7 -0
- data/app/views/crm/admin/agencies/_show_table.html.erb +33 -0
- data/app/views/crm/admin/agencies/edit_crowd.html.erb +6 -0
- data/app/views/crm/admin/base/_nav.html.erb +4 -0
- data/app/views/crm/admin/card_purchases/_index/_top_bar.html+phone.erb +12 -0
- data/app/views/crm/admin/card_templates/_index/_index_table.html+phone.erb +8 -0
- data/app/views/crm/admin/card_templates/_index/_index_tbody.html+phone.erb +6 -0
- data/app/views/crm/admin/card_templates/_index/_index_tr.html+phone.erb +6 -0
- data/app/views/crm/admin/card_templates/_index/_top_bar.html+phone.erb +11 -0
- data/app/views/crm/admin/card_templates/_show/_top_bar.html+phone.erb +12 -0
- data/app/views/crm/admin/home/index.html.erb +0 -0
- data/app/views/crm/admin/maintain_logs/_filter_form.html.erb +1 -1
- data/app/views/crm/admin/maintain_logs/_form.html.erb +2 -6
- data/app/views/crm/admin/maintain_logs/{_breadcrumb.html.erb → _index/_breadcrumb.html.erb} +1 -1
- data/app/views/crm/admin/maintain_logs/{_index_tbody.html.erb → _index/_index_tbody.html.erb} +1 -1
- data/app/views/crm/admin/maintain_logs/_index/_index_thead.html.erb +13 -0
- data/app/views/crm/admin/maintain_logs/_show_table.html.erb +5 -5
- data/app/views/crm/admin/maintain_sources/_filter_form.html.erb +1 -1
- data/app/views/crm/admin/maintain_sources/_form.html.erb +0 -1
- data/app/views/crm/admin/maintain_sources/_index/_index_tbody.html.erb +2 -0
- data/app/views/crm/admin/maintain_sources/_index/_index_thead.html.erb +2 -0
- data/app/views/crm/admin/maintain_sources/_index/_index_tr.html.erb +13 -0
- data/app/views/crm/admin/maintain_sources/templates.html.erb +0 -1
- data/app/views/crm/admin/maintain_tags/_form.html.erb +1 -2
- data/app/views/crm/admin/maintain_tags/{_index_tbody.html.erb → _index/_index_tbody.html.erb} +3 -1
- data/app/views/crm/admin/maintain_tags/_index/_index_thead.html.erb +5 -0
- data/app/views/crm/admin/maintain_tags/_show_table.html.erb +6 -6
- data/app/views/crm/admin/maintain_tags/templates.html.erb +6 -6
- data/app/views/crm/admin/maintains/_actions.html.erb +36 -0
- data/app/views/crm/admin/maintains/_agent_form.html.erb +14 -0
- data/app/views/crm/admin/maintains/_base/_agent_detect.html.erb +16 -0
- data/app/views/crm/admin/maintains/_base/_agent_show_table.html.erb +30 -0
- data/app/views/crm/admin/maintains/_base/_agent_tbody.html.erb +5 -0
- data/app/views/crm/admin/maintains/_base/_agent_thead.html.erb +5 -0
- data/app/views/crm/admin/maintains/_base/_filter_table.html+phone.erb +0 -0
- data/app/views/crm/admin/maintains/_base/_filter_table.html.erb +35 -0
- data/app/views/crm/admin/maintains/_base/_tabs.html.erb +7 -0
- data/app/views/crm/admin/maintains/_client_form.html+phone.erb +15 -0
- data/app/views/crm/admin/maintains/_client_form.html.erb +11 -0
- data/app/views/crm/admin/maintains/_create_detect.html.erb +9 -21
- data/app/views/crm/admin/maintains/_edit_assign.html.erb +10 -19
- data/app/views/crm/admin/maintains/_edit_form.html.erb +4 -2
- data/app/views/crm/admin/maintains/_edit_transfer.html.erb +8 -17
- data/app/views/crm/admin/maintains/_form.html.erb +15 -33
- data/app/views/crm/admin/maintains/_index/_button.html+phone.erb +4 -0
- data/app/views/crm/admin/maintains/_index/_button.html.erb +4 -0
- data/app/views/crm/admin/maintains/_index/_filter_form.html+phone.erb +14 -0
- data/app/views/crm/admin/maintains/{_filter_form.html.erb → _index/_filter_form.html.erb} +5 -5
- data/app/views/crm/admin/maintains/_index/_index_tbody.html+phone.erb +9 -0
- data/app/views/crm/admin/maintains/_index/_index_tbody.html.erb +49 -0
- data/app/views/crm/admin/maintains/_index/_index_thead.html.erb +42 -0
- data/app/views/crm/admin/maintains/_index/_index_tr.html+phone.erb +10 -0
- data/app/views/crm/admin/maintains/_index/_index_tr.html.erb +30 -0
- data/app/views/crm/admin/maintains/_new_batch_assign.html.erb +4 -13
- data/app/views/crm/admin/maintains/_new_detect/_new_detect.html+phone.erb +10 -0
- data/app/views/crm/admin/maintains/_new_detect/_new_detect.html.erb +4 -0
- data/app/views/crm/admin/maintains/_new_form.html+phone.erb +4 -0
- data/app/views/crm/admin/maintains/_new_form.html.erb +4 -2
- data/app/views/crm/admin/maintains/_public/_filter_form.html.erb +10 -0
- data/app/views/crm/admin/maintains/_public/_index_tbody.html.erb +33 -0
- data/app/views/crm/admin/maintains/_public/_index_thead.html.erb +33 -0
- data/app/views/crm/admin/maintains/_public/_index_tr.html.erb +24 -0
- data/app/views/crm/admin/maintains/_show/_external.html.erb +19 -0
- data/app/views/crm/admin/maintains/_show/_profile.html.erb +24 -0
- data/app/views/crm/admin/maintains/_show/_show_head.html+phone.erb +16 -0
- data/app/views/crm/admin/maintains/_show_table.html.erb +4 -49
- data/app/views/crm/admin/maintains/assume.turbo_stream.erb +3 -0
- data/app/views/crm/admin/maintains/create_detect.html.erb +3 -0
- data/app/views/crm/admin/maintains/detach.turbo_stream.erb +3 -0
- data/app/views/crm/admin/maintains/edit_assign.html.erb +3 -0
- data/app/views/crm/admin/maintains/edit_transfer.html.erb +3 -0
- data/app/views/crm/admin/maintains/index.html+phone.erb +8 -0
- data/app/views/crm/admin/maintains/index.html.erb +9 -26
- data/app/views/crm/admin/maintains/new_batch_assign.html.erb +3 -0
- data/app/views/crm/admin/maintains/new_detect.html.erb +7 -0
- data/app/views/crm/admin/maintains/public.html.erb +6 -80
- data/app/views/crm/admin/orders/_actions.html+phone.erb +16 -0
- data/app/views/crm/admin/orders/_add/_top_bar.html.erb +18 -0
- data/app/views/crm/admin/orders/_base/_address.html+phone.erb +25 -0
- data/app/views/crm/admin/orders/_base/_from_address.html+phone.erb +25 -0
- data/app/views/crm/admin/{maintains/_edit_order.html.erb → orders/_edit_form.html.erb} +1 -1
- data/app/views/crm/admin/orders/_index/_breadcrumb.html.erb +6 -0
- data/app/views/crm/admin/orders/_index/_button.html+phone.erb +4 -0
- data/app/views/crm/admin/orders/_index/_button.html.erb +4 -0
- data/app/views/crm/admin/orders/_index/_index_tbody.html+phone.erb +10 -0
- data/app/views/crm/admin/orders/_index/_index_tr.html+phone.erb +10 -0
- data/app/views/crm/admin/orders/_index/_index_tr.html.erb +16 -0
- data/app/views/crm/admin/orders/_index/_top_bar.html+phone.erb +13 -0
- data/app/views/crm/admin/orders/_nav.html.erb +4 -0
- data/app/views/crm/admin/orders/_new/_address_button.html.erb +4 -0
- data/app/views/crm/admin/orders/_new/_breadcrumb.html.erb +7 -0
- data/app/views/crm/admin/orders/_new/_head.html.erb +3 -0
- data/app/views/crm/admin/orders/_new/_top_bar.html.erb +12 -0
- data/app/views/crm/admin/orders/index.html+phone.erb +7 -0
- data/app/views/crm/admin/orders/index.html.erb +7 -0
- data/app/views/crm/admin/orders/payment_types.html+phone.erb +19 -0
- data/app/views/crm/admin/orders/payment_types.html.erb +17 -0
- data/app/views/crm/admin/payments/create.turbo_stream+phone.erb +3 -0
- data/app/views/crm/admin/payments/destroy.turbo_stream+phone.erb +3 -0
- data/app/views/crm/admin/payments/order_create.turbo_stream+phone.erb +3 -0
- data/app/views/crm/admin/wallet_logs/_index/_top_bar.html+phone.erb +12 -0
- data/app/views/crm/admin/wallet_payments/_index/_top_bar.html+phone.erb +12 -0
- data/app/views/crm/admin/wallet_templates/_index/_breadcrumb.html.erb +12 -0
- data/app/views/crm/admin/wallet_templates/_index/_filter_form.html.erb +0 -0
- data/app/views/crm/admin/wallet_templates/_index/_index_table.html+phone.erb +8 -0
- data/app/views/crm/admin/wallet_templates/_index/_index_tbody.html+phone.erb +6 -0
- data/app/views/crm/admin/wallet_templates/_index/_index_tbody.html.erb +13 -0
- data/app/views/crm/admin/wallet_templates/_index/_index_thead.html.erb +2 -0
- data/app/views/crm/admin/wallet_templates/_index/_index_tr.html+phone.erb +6 -0
- data/app/views/crm/admin/wallet_templates/_index/_top_bar.html+phone.erb +11 -0
- data/app/views/crm/admin/wallet_templates/_show/_top_bar.html+phone.erb +12 -0
- data/app/views/crm/admin/{maintain_sources → wallets/_index}/_breadcrumb.html.erb +2 -1
- data/app/views/crm/admin/wallets/_index/_index_table.html.erb +12 -0
- data/app/views/crm/admin/wallets/_index/_index_tbody.html.erb +25 -0
- data/app/views/crm/admin/wallets/_index/_index_thead.html.erb +5 -0
- data/app/views/crm/admin/wallets/_index/_index_tr.html.erb +19 -0
- data/app/views/crm/admin/wallets/_index/_tab_bar_footer.html.erb +4 -0
- data/app/views/crm/admin/wallets/_index/_template_tbody.html.erb +12 -0
- data/app/views/crm/admin/wallets/_index/_template_tr.html.erb +10 -0
- data/app/views/crm/admin/wallets/_index/_top_bar.html+phone.erb +11 -0
- data/app/views/crm/admin/wallets/_index/_wallet.html.erb +21 -0
- data/app/views/crm/admin/wallets/index.html+phone.erb +3 -0
- data/app/views/crm/admin/wallets/index.html.erb +6 -0
- data/app/views/crm/me/agencies/_client_form.html.erb +9 -0
- data/app/views/crm/me/agencies/_filter.html.erb +8 -0
- data/app/views/crm/me/agencies/_form.html.erb +7 -0
- data/app/views/crm/me/agencies/_show_table.html.erb +36 -0
- data/app/views/crm/me/agencies/index.html+phone.erb +18 -0
- data/app/views/crm/me/agencies/index.html.erb +40 -0
- data/app/views/crm/me/home/_cart_item.html.erb +15 -0
- data/app/views/crm/me/home/index.html+phone.erb +38 -0
- data/app/views/crm/me/maintain_sources/_about_item.html.erb +33 -0
- data/app/views/crm/me/maintain_sources/_order.html.erb +11 -0
- data/app/views/crm/me/maintain_sources/index.html.erb +20 -0
- data/app/views/crm/me/maintain_sources/list.html.erb +13 -0
- data/app/views/crm/me/maintain_sources/source.html.erb +33 -0
- data/app/views/crm/my/agencies/_client_form.html.erb +9 -0
- data/app/views/crm/my/agencies/_edit_form.html.erb +4 -0
- data/app/views/crm/{admin/maintain_source_templates → my/agencies}/_filter_form.html.erb +1 -1
- data/app/views/crm/my/agencies/_form.html.erb +19 -0
- data/app/views/crm/my/agencies/_new_form.html.erb +4 -0
- data/app/views/crm/my/agencies/_show_table.html.erb +36 -0
- data/app/views/crm/my/agencies/index.html+phone.erb +24 -0
- data/app/views/crm/my/agencies/index.html.erb +40 -0
- data/app/views/crm/panel/base/_nav.html.erb +4 -0
- data/app/views/crm/panel/home/index.html.erb +0 -0
- data/app/views/crm/panel/qrcodes/_form.html.erb +5 -0
- data/app/views/crm/panel/qrcodes/_index/_breadcrumb.html.erb +7 -0
- data/app/views/crm/panel/qrcodes/_index/_index_tbody.html.erb +13 -0
- data/app/views/crm/panel/qrcodes/_index/_index_thead.html.erb +11 -0
- data/app/views/crm/panel/qrcodes/_show_table.html.erb +4 -0
- data/app/views/crm/panel/qrcodes/index.html.erb +3 -0
- data/app/views/crm/panel/sources/_form.html.erb +4 -0
- data/app/views/crm/{admin/maintain_tag_templates → panel/sources/_index}/_filter_form.html.erb +1 -1
- data/app/views/crm/panel/sources/_index/_index_tbody.html.erb +13 -0
- data/app/views/crm/panel/sources/_index/_index_thead.html.erb +3 -0
- data/app/views/crm/panel/sources/_index/_index_tr.html.erb +25 -0
- data/app/views/crm/panel/sources/_show/_breadcrumb.html.erb +6 -0
- data/app/views/crm/panel/sources/_show/_qrcode_button.html.erb +4 -0
- data/app/views/crm/panel/sources/_show/_qrcode_table.html.erb +18 -0
- data/app/views/crm/panel/sources/_show/_qrcode_tbody.html.erb +13 -0
- data/app/views/crm/panel/sources/_show/_qrcode_thead.html.erb +11 -0
- data/app/views/crm/panel/sources/_show/_qrcode_tr.html.erb +16 -0
- data/app/views/crm/panel/sources/_show/_show_table.html.erb +16 -0
- data/app/views/crm/panel/sources/_show/_text_button.html.erb +4 -0
- data/app/views/crm/panel/sources/_show/_text_table.html.erb +18 -0
- data/app/views/crm/panel/sources/_show/_text_tbody.html.erb +9 -0
- data/app/views/crm/panel/sources/_show/_text_thead.html.erb +9 -0
- data/app/views/crm/panel/sources/_show/_text_tr.html.erb +16 -0
- data/app/views/crm/panel/sources/index.html.erb +8 -0
- data/app/views/crm/panel/sources/show.html.erb +14 -0
- data/app/views/crm/{admin/maintain_tag_templates → panel/tags}/_form.html.erb +0 -1
- data/app/views/crm/{admin/maintain_tag_templates → panel/tags/_index}/_index_tbody.html.erb +4 -2
- data/app/views/crm/panel/tags/_index/_index_thead.html.erb +8 -0
- data/app/views/crm/panel/tags/_show_table.html.erb +20 -0
- data/app/views/crm/panel/texts/_form.html.erb +5 -0
- data/app/views/crm/panel/texts/_index/_breadcrumb.html.erb +7 -0
- data/app/views/crm/panel/texts/_index/_index_tbody.html.erb +9 -0
- data/app/views/crm/panel/texts/_index/_index_thead.html.erb +9 -0
- data/app/views/crm/panel/texts/_show_table.html.erb +4 -0
- data/app/views/crm/panel/texts/index.html.erb +3 -0
- data/app/views/panel/_crm_nav.html.erb +11 -0
- data/config/locales/en.enum.yml +6 -0
- data/config/locales/zh.attributes.yml +16 -7
- data/config/locales/zh.controller.yml +82 -5
- data/config/locales/zh.enum.yml +40 -2
- data/config/routes.rb +88 -14
- data/lib/rails_crm/engine.rb +2 -6
- metadata +254 -80
- data/app/controllers/crm/admin/maintain_source_templates_controller.rb +0 -52
- data/app/controllers/crm/admin/maintain_tag_templates_controller.rb +0 -56
- data/app/models/crm/maintain_source_template.rb +0 -5
- data/app/models/crm/maintain_tag_template.rb +0 -5
- data/app/models/crm/model/maintain_source_template.rb +0 -12
- data/app/models/crm/model/member.rb +0 -11
- data/app/models/crm/model/order.rb +0 -10
- data/app/views/crm/admin/maintain_logs/_index_thead.html.erb +0 -14
- data/app/views/crm/admin/maintain_logs/_maintain_log.json.jbuilder +0 -11
- data/app/views/crm/admin/maintain_logs/_show.json.jbuilder +0 -1
- data/app/views/crm/admin/maintain_logs/index.json.jbuilder +0 -2
- data/app/views/crm/admin/maintain_source_templates/_edit_form.html.erb +0 -4
- data/app/views/crm/admin/maintain_source_templates/_form.html.erb +0 -2
- data/app/views/crm/admin/maintain_source_templates/_index_tbody.html.erb +0 -14
- data/app/views/crm/admin/maintain_source_templates/_index_thead.html.erb +0 -2
- data/app/views/crm/admin/maintain_source_templates/_maintain_source.json.jbuilder +0 -7
- data/app/views/crm/admin/maintain_source_templates/_new_form.html.erb +0 -4
- data/app/views/crm/admin/maintain_source_templates/_show.json.jbuilder +0 -1
- data/app/views/crm/admin/maintain_source_templates/_show_table.html.erb +0 -8
- data/app/views/crm/admin/maintain_source_templates/index.json.jbuilder +0 -1
- data/app/views/crm/admin/maintain_sources/_edit_form.html.erb +0 -4
- data/app/views/crm/admin/maintain_sources/_index_tbody.html.erb +0 -12
- data/app/views/crm/admin/maintain_sources/_index_thead.html.erb +0 -3
- data/app/views/crm/admin/maintain_sources/_maintain_source.json.jbuilder +0 -6
- data/app/views/crm/admin/maintain_sources/_show.json.jbuilder +0 -1
- data/app/views/crm/admin/maintain_sources/index.json.jbuilder +0 -1
- data/app/views/crm/admin/maintain_tag_templates/_edit_form.html.erb +0 -4
- data/app/views/crm/admin/maintain_tag_templates/_index_thead.html.erb +0 -7
- data/app/views/crm/admin/maintain_tag_templates/_maintain_tag_template.json.jbuilder +0 -11
- data/app/views/crm/admin/maintain_tag_templates/_new_form.html.erb +0 -4
- data/app/views/crm/admin/maintain_tag_templates/_show.json.jbuilder +0 -1
- data/app/views/crm/admin/maintain_tag_templates/_show_table.html.erb +0 -20
- data/app/views/crm/admin/maintain_tag_templates/index.json.jbuilder +0 -1
- data/app/views/crm/admin/maintain_tags/_breadcrumb.html.erb +0 -6
- data/app/views/crm/admin/maintain_tags/_edit_form.html.erb +0 -4
- data/app/views/crm/admin/maintain_tags/_filter_form.html.erb +0 -9
- data/app/views/crm/admin/maintain_tags/_index_thead.html.erb +0 -6
- data/app/views/crm/admin/maintain_tags/_maintain_tag.json.jbuilder +0 -9
- data/app/views/crm/admin/maintain_tags/_new_form.html.erb +0 -4
- data/app/views/crm/admin/maintain_tags/_show.json.jbuilder +0 -1
- data/app/views/crm/admin/maintain_tags/index.json.jbuilder +0 -1
- data/app/views/crm/admin/maintains/_button.html.erb +0 -3
- data/app/views/crm/admin/maintains/_filter_table.html.erb +0 -54
- data/app/views/crm/admin/maintains/_index_thead.html.erb +0 -40
- data/app/views/crm/admin/maintains/_index_tr.html.erb +0 -36
- data/app/views/crm/admin/maintains/_maintain.json.jbuilder +0 -24
- data/app/views/crm/admin/maintains/_new_detect.html.erb +0 -15
- data/app/views/crm/admin/maintains/_show.json.jbuilder +0 -1
- data/app/views/crm/admin/maintains/create_detect.js.erb +0 -3
- data/app/views/crm/admin/maintains/edit_assign.js +0 -8
- data/app/views/crm/admin/maintains/edit_assign.js.erb +0 -3
- data/app/views/crm/admin/maintains/edit_order.js.erb +0 -12
- data/app/views/crm/admin/maintains/edit_transfer.js +0 -8
- data/app/views/crm/admin/maintains/edit_transfer.js.erb +0 -3
- data/app/views/crm/admin/maintains/index.json.jbuilder +0 -2
- data/app/views/crm/admin/maintains/new.json.jbuilder +0 -5
- data/app/views/crm/admin/maintains/new_batch_assign.js.erb +0 -3
- data/app/views/crm/admin/maintains/new_detect.js.erb +0 -1
- data/app/views/crm/admin/maintains/orders.html.erb +0 -54
- data/app/views/crm/admin/maintains/public.json.jbuilder +0 -2
@@ -0,0 +1,16 @@
|
|
1
|
+
<table class="table is-hoverable is-fullwidth">
|
2
|
+
<thead>
|
3
|
+
<tr>
|
4
|
+
<th><%= Crm::Source.human_attribute_name(:picture) %></th>
|
5
|
+
<th><%= Crm::Source.human_attribute_name(:width) %></th>
|
6
|
+
<th><%= Crm::Source.human_attribute_name(:height) %></th>
|
7
|
+
</tr>
|
8
|
+
</thead>
|
9
|
+
<tbody>
|
10
|
+
<tr>
|
11
|
+
<td><%= image_tag @source.picture, class: 'image is-48x48' %></td>
|
12
|
+
<td><%= @source.width %></td>
|
13
|
+
<td><%= @source.height %></td>
|
14
|
+
</tr>
|
15
|
+
</tbody>
|
16
|
+
</table>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<table class="table is-striped is-hoverable is-fullwidth">
|
2
|
+
<thead>
|
3
|
+
<tr>
|
4
|
+
<%= render 'text_thead' %>
|
5
|
+
<%= render 'index_thead_actions' %>
|
6
|
+
</tr>
|
7
|
+
</thead>
|
8
|
+
<tbody>
|
9
|
+
<%= yield %>
|
10
|
+
</tbody>
|
11
|
+
<tfoot>
|
12
|
+
<tr>
|
13
|
+
<td>
|
14
|
+
<%= render 'text_button' %>
|
15
|
+
</td>
|
16
|
+
</tr>
|
17
|
+
</tfoot>
|
18
|
+
</table>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<th>
|
2
|
+
<p><%= Crm::Text.human_attribute_name(:note) %></p>
|
3
|
+
<p class="has-text-grey"><%= Crm::Text.human_attribute_name(:font) %></p>
|
4
|
+
</th>
|
5
|
+
<th><%= Crm::Text.human_attribute_name(:align) %></th>
|
6
|
+
<th>
|
7
|
+
<p><%= Crm::Text.human_attribute_name(:margin_y) %></p>
|
8
|
+
<p><%= Crm::Text.human_attribute_name(:margin_x) %></p>
|
9
|
+
</th>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<tr id="tr_<%= model.id %>" data-controller="show" data-action="mouseenter->show#show mouseleave->show#hide">
|
2
|
+
<%= yield %>
|
3
|
+
<td>
|
4
|
+
<div data-show-target="item" style="visibility: hidden">
|
5
|
+
<%= link_to({ controller: 'texts', action: 'show', source_id: @source.id, id: model.id }, data: { turbo_frame: 'modal' }, aria: { label: t('.show') }, class: 'button is-small is-rounded is-light') do %>
|
6
|
+
<i class="fa-light fa-circle-info"></i>
|
7
|
+
<% end %>
|
8
|
+
<%= link_to({ controller: 'texts', action: 'edit', source_id: @source.id, id: model.id }, data: { turbo_frame: 'modal' }, aria: { label: t('.edit') }, class: 'button is-small is-rounded is-light') do %>
|
9
|
+
<i class="fa-light fa-pencil"></i>
|
10
|
+
<% end %>
|
11
|
+
<%= button_to({ controller: 'texts', action: 'destroy', source_id: @source.id, id: model.id }, method: :delete, aria: { label: t('.destroy') }, class: 'button is-small is-rounded is-light', form: { data: { turbo_confirm: t('.confirm') } }) do %>
|
12
|
+
<i class="fa-light fa-trash"></i>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
15
|
+
</td>
|
16
|
+
</tr>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%= render 'show_table' %>
|
2
|
+
|
3
|
+
<%= render layout: 'qrcode_table' do %>
|
4
|
+
<%= render partial: 'qrcode_tbody', layout: 'qrcode_tr', collection: @source.qrcodes, as: :model %>
|
5
|
+
<% end %>
|
6
|
+
<%= render layout: 'text_table' do %>
|
7
|
+
<%= render partial: 'text_tbody', layout: 'text_tr', collection: @source.texts, as: :model %>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
<div class="box">
|
11
|
+
<% if @source.picture.attached? %>
|
12
|
+
<%= image_tag @source.url_with_watermark, class: 'image' %>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
@@ -1,7 +1,9 @@
|
|
1
1
|
<td><%= model.name %></td>
|
2
2
|
<td><%= model.logged_type %></td>
|
3
|
-
<td
|
4
|
-
<
|
3
|
+
<td>
|
4
|
+
<p><%= model.entity_column %></p>
|
5
|
+
<p><%= model.entity_value %></p>
|
6
|
+
</td>
|
5
7
|
<td><%= model.sequence %></td>
|
6
8
|
<td>
|
7
9
|
<span class="tag" style="background-color: <%= model.color %>"><%= model.color %></span>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<th><%= Crm::Tag.human_attribute_name(:name) %></th>
|
2
|
+
<th><%= Crm::Tag.human_attribute_name(:logged_type) %></th>
|
3
|
+
<th>
|
4
|
+
<p><%= Crm::Tag.human_attribute_name(:entity_column) %></p>
|
5
|
+
<p><%= Crm::Tag.human_attribute_name(:entity_value) %></p>
|
6
|
+
</th>
|
7
|
+
<th><%= Crm::Tag.human_attribute_name(:sequence) %></th>
|
8
|
+
<th><%= Crm::Tag.human_attribute_name(:color) %></th>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<tr>
|
2
|
+
<td class="has-text-right"><%= Crm::Tag.human_attribute_name(:name) %></td>
|
3
|
+
<td><%= @tag.name %></td>
|
4
|
+
</tr>
|
5
|
+
<tr>
|
6
|
+
<td class="has-text-right"><%= Crm::Tag.human_attribute_name(:logged_type) %></td>
|
7
|
+
<td><%= @tag.logged_type %></td>
|
8
|
+
</tr>
|
9
|
+
<tr>
|
10
|
+
<td class="has-text-right"><%= Crm::Tag.human_attribute_name(:entity_column) %></td>
|
11
|
+
<td><%= @tag.entity_column %></td>
|
12
|
+
</tr>
|
13
|
+
<tr>
|
14
|
+
<td class="has-text-right"><%= Crm::Tag.human_attribute_name(:entity_value) %></td>
|
15
|
+
<td><%= @tag.entity_value %></td>
|
16
|
+
</tr>
|
17
|
+
<tr>
|
18
|
+
<td class="has-text-right"><%= Crm::Tag.human_attribute_name(:sequence) %></td>
|
19
|
+
<td><%= @tag.sequence %></td>
|
20
|
+
</tr>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<%= f.text_field :note %>
|
2
|
+
<%= f.number_field :margin_y %>
|
3
|
+
<%= f.number_field :margin_x %>
|
4
|
+
<%= f.select :font, options_for_select(Crm::Text.options_i18n(:font), f.object.font) %>
|
5
|
+
<%= f.select :align, options_for_select(Crm::Text.options_i18n(:align), f.object.align) %>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<th>
|
2
|
+
<p><%= Crm::Text.human_attribute_name(:note) %></p>
|
3
|
+
<p class="has-text-grey"><%= Crm::Text.human_attribute_name(:font) %></p>
|
4
|
+
</th>
|
5
|
+
<th><%= Crm::Text.human_attribute_name(:align) %></th>
|
6
|
+
<th>
|
7
|
+
<p><%= Crm::Text.human_attribute_name(:margin_y) %></p>
|
8
|
+
<p><%= Crm::Text.human_attribute_name(:margin_x) %></p>
|
9
|
+
</th>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div class="<%= active_helper(modules: 'crm/panel', active: 'menu ex-accordion is-active', item: 'menu ex-accordion') %>" data-controller="menu empty">
|
2
|
+
<a class="menu-label" data-action="menu#toggle">
|
3
|
+
<i class="fa-solid fa-chart-line fa-fw"></i>
|
4
|
+
<span><%= t('crm.panel.title') %></span>
|
5
|
+
<i class="fa-solid dropdown"></i>
|
6
|
+
</a>
|
7
|
+
<div class="menu-list" data-empty-target="content">
|
8
|
+
<%= link_to t('crm.panel.sources.index.title'), { controller: 'crm/panel/sources' }, class: active_helper(controllers: ['sources', 'qrcodes', 'texts'], active: 'is-active') %>
|
9
|
+
<%= link_to t('crm.panel.tags.index.title'), { controller: 'crm/panel/tags' }, class: active_helper(controllers: ['tags'], active: 'is-active') %>
|
10
|
+
</div>
|
11
|
+
</div>
|
@@ -1,33 +1,42 @@
|
|
1
1
|
zh:
|
2
2
|
activerecord:
|
3
3
|
attributes:
|
4
|
-
maintain:
|
4
|
+
crm/maintain:
|
5
5
|
state: 状态
|
6
6
|
maintain_source_id: 客户来源
|
7
|
+
maintain_tag_id: 标签
|
7
8
|
pipeline_id: 流水线
|
8
9
|
member_id: 负责人
|
10
|
+
payment_strategy_id: 付款形式
|
11
|
+
deposit_ratio: 首付款比例
|
9
12
|
age-gte: 年龄大于
|
10
13
|
age-lte: 年龄小于
|
11
|
-
maintain/client:
|
14
|
+
crm/maintain/client:
|
12
15
|
real_name: 客户
|
13
16
|
nick_name: 客户昵称
|
14
17
|
age: 年龄
|
15
|
-
|
18
|
+
identity: 联系方式
|
19
|
+
crm/maintain/agent:
|
16
20
|
real_name: 代理人
|
17
21
|
identity: 联系方式
|
18
|
-
maintain_log:
|
22
|
+
crm/maintain_log:
|
19
23
|
maintain_tag_id: 标签
|
20
24
|
logged_type: 日志类型
|
21
25
|
extra: 详细信息
|
22
|
-
maintain_tag:
|
26
|
+
crm/maintain_tag:
|
23
27
|
color: 标签颜色
|
24
28
|
maintain_logs_count: 跟踪记录数
|
25
29
|
sequence: 优先级
|
26
30
|
logged_type: 日志类型
|
27
|
-
|
31
|
+
crm/tag:
|
28
32
|
color: 标签颜色
|
29
33
|
maintain_logs_count: 跟踪记录数
|
30
34
|
sequence: 优先级
|
31
35
|
logged_type: 日志类型
|
32
|
-
maintain_source:
|
36
|
+
crm/maintain_source:
|
33
37
|
maintains_count: 线索数
|
38
|
+
crm/agency:
|
39
|
+
relation: 关系
|
40
|
+
note: 备注
|
41
|
+
commission_ratio: 抽成比例
|
42
|
+
client_id: 客户
|
@@ -1,5 +1,6 @@
|
|
1
1
|
zh:
|
2
2
|
crm:
|
3
|
+
title: 客户关系管理
|
3
4
|
admin:
|
4
5
|
title: 市场管理
|
5
6
|
maintains:
|
@@ -7,17 +8,25 @@ zh:
|
|
7
8
|
title: 我的客户
|
8
9
|
transfer: 移交
|
9
10
|
detach: 释放
|
10
|
-
orders: 订单
|
11
11
|
public:
|
12
12
|
title: 待分配客户
|
13
13
|
assume: 接收
|
14
14
|
assign: 派单
|
15
15
|
show:
|
16
16
|
title: 详情
|
17
|
-
orders:
|
18
|
-
title: 订单列表
|
19
17
|
new_batch_assign:
|
20
18
|
title: 批量派单
|
19
|
+
create_detect:
|
20
|
+
title: 新增
|
21
|
+
orders:
|
22
|
+
index:
|
23
|
+
title: 订单
|
24
|
+
new:
|
25
|
+
title: 为客户下单
|
26
|
+
create:
|
27
|
+
title: 为客户下单
|
28
|
+
add:
|
29
|
+
title: 生成订单
|
21
30
|
maintain_logs:
|
22
31
|
index:
|
23
32
|
title: 跟踪日志
|
@@ -27,9 +36,77 @@ zh:
|
|
27
36
|
maintain_tags:
|
28
37
|
index:
|
29
38
|
title: 客户标签
|
30
|
-
|
39
|
+
agencies:
|
40
|
+
index:
|
41
|
+
title: 会员列表
|
42
|
+
addresses:
|
43
|
+
index:
|
44
|
+
title: 客户地址
|
45
|
+
order_from:
|
46
|
+
title: 发货地址
|
47
|
+
from_new:
|
48
|
+
title: 创建发货地址
|
49
|
+
order:
|
50
|
+
title: 收货地址
|
51
|
+
order_new:
|
52
|
+
title: 创建收货地址
|
53
|
+
new:
|
54
|
+
title: 新增地址
|
55
|
+
wallets:
|
56
|
+
index:
|
57
|
+
title: 会员额度
|
58
|
+
wallet_templates:
|
59
|
+
index:
|
60
|
+
title: 会员充值
|
61
|
+
wallet_logs:
|
62
|
+
index:
|
63
|
+
title: 使用日志
|
64
|
+
wallet_payments:
|
65
|
+
index:
|
66
|
+
title: 使用
|
67
|
+
card_templates:
|
68
|
+
index:
|
69
|
+
title: 会员卡
|
70
|
+
card_purchases:
|
71
|
+
index:
|
72
|
+
title: 续费明细
|
73
|
+
panel:
|
74
|
+
title: 市场管理
|
75
|
+
sources:
|
31
76
|
index:
|
32
77
|
title: 客户来源
|
33
|
-
|
78
|
+
tags:
|
34
79
|
index:
|
35
80
|
title: 客户标签
|
81
|
+
qrcodes:
|
82
|
+
index:
|
83
|
+
title: 二维码
|
84
|
+
texts:
|
85
|
+
index:
|
86
|
+
title: 文字
|
87
|
+
me:
|
88
|
+
home:
|
89
|
+
index:
|
90
|
+
title: 我的
|
91
|
+
maintain_sources:
|
92
|
+
index:
|
93
|
+
title: 客户来源
|
94
|
+
maintains:
|
95
|
+
index:
|
96
|
+
title: 我的客户
|
97
|
+
transfer: 移交
|
98
|
+
detach: 释放
|
99
|
+
orders: 订单
|
100
|
+
public:
|
101
|
+
title: 待分配客户
|
102
|
+
assume: 接收
|
103
|
+
assign: 派单
|
104
|
+
show:
|
105
|
+
title: 详情
|
106
|
+
orders:
|
107
|
+
title: 订单列表
|
108
|
+
new_batch_assign:
|
109
|
+
title: 批量派单
|
110
|
+
agencies:
|
111
|
+
index:
|
112
|
+
title: 我的客户
|
data/config/locales/zh.enum.yml
CHANGED
@@ -1,10 +1,48 @@
|
|
1
1
|
zh:
|
2
2
|
activerecord:
|
3
3
|
enum:
|
4
|
-
maintain:
|
4
|
+
crm/maintain:
|
5
5
|
state:
|
6
6
|
init: 待处理
|
7
|
-
|
7
|
+
ordered: 已下单
|
8
8
|
maintain_tag:
|
9
9
|
logged_type:
|
10
10
|
TimeBooking: 预约
|
11
|
+
crm/agency:
|
12
|
+
relation:
|
13
|
+
unknown: 未知
|
14
|
+
crm/text:
|
15
|
+
align:
|
16
|
+
north: 上
|
17
|
+
south: 下
|
18
|
+
west: 左
|
19
|
+
east: 右
|
20
|
+
center: 中
|
21
|
+
northwest: 左上
|
22
|
+
northeast: 右上
|
23
|
+
southwest: 左下
|
24
|
+
southeast: 右下
|
25
|
+
font:
|
26
|
+
simsun: 宋体
|
27
|
+
simhei: 黑体
|
28
|
+
simkai: 楷体
|
29
|
+
simli: 隶书
|
30
|
+
simyou: 幼圆
|
31
|
+
simfang: 仿宋
|
32
|
+
sc: 简体中文
|
33
|
+
tc: 繁体中文
|
34
|
+
arial: Arial
|
35
|
+
georgia: Georgia
|
36
|
+
helvetica: Helvetica
|
37
|
+
roman: Times-New-Roman
|
38
|
+
crm/qrcode:
|
39
|
+
align:
|
40
|
+
north: 上
|
41
|
+
south: 下
|
42
|
+
west: 左
|
43
|
+
east: 右
|
44
|
+
center: 中
|
45
|
+
northwest: 左上
|
46
|
+
northeast: 右上
|
47
|
+
southwest: 左下
|
48
|
+
southeast: 右下
|
data/config/routes.rb
CHANGED
@@ -1,11 +1,43 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
|
-
|
3
|
-
|
4
|
-
namespace :admin, defaults: { namespace: 'admin' } do
|
5
|
-
resources :maintain_source_templates
|
6
|
-
resources :maintain_tag_templates
|
2
|
+
scope RailsCom.default_routes_scope do
|
3
|
+
concern :maintaining do
|
7
4
|
resources :maintains do
|
8
5
|
resources :maintain_logs
|
6
|
+
resources :orders do
|
7
|
+
collection do
|
8
|
+
post :add
|
9
|
+
end
|
10
|
+
member do
|
11
|
+
post :package
|
12
|
+
get :payment_types
|
13
|
+
get :print_data
|
14
|
+
end
|
15
|
+
end
|
16
|
+
resources :payments do
|
17
|
+
collection do
|
18
|
+
get :order_new
|
19
|
+
post :order_create
|
20
|
+
end
|
21
|
+
end
|
22
|
+
resources :wallet_templates
|
23
|
+
resources :wallets, except: [:new] do
|
24
|
+
resources :wallet_payments
|
25
|
+
resources :wallet_logs
|
26
|
+
end
|
27
|
+
resources :card_templates
|
28
|
+
resources :cards do
|
29
|
+
resources :card_purchases
|
30
|
+
end
|
31
|
+
resources :addresses do
|
32
|
+
collection do
|
33
|
+
post :order
|
34
|
+
post :order_from
|
35
|
+
post :order_new
|
36
|
+
post :order_create
|
37
|
+
post :from_new
|
38
|
+
post :from_create
|
39
|
+
end
|
40
|
+
end
|
9
41
|
collection do
|
10
42
|
get :public
|
11
43
|
post :batch
|
@@ -21,21 +53,63 @@ Rails.application.routes.draw do
|
|
21
53
|
patch 'assign' => :update_assign
|
22
54
|
patch :assume
|
23
55
|
patch :detach
|
24
|
-
get :orders
|
25
|
-
get 'order' => :edit_order
|
26
|
-
patch 'order' => :update_order
|
27
56
|
end
|
28
57
|
end
|
29
|
-
|
30
|
-
|
58
|
+
end
|
59
|
+
namespace :crm, defaults: { business: 'crm' } do
|
60
|
+
namespace :admin, defaults: { namespace: 'admin' } do
|
61
|
+
root 'home#index'
|
62
|
+
concerns :maintaining
|
63
|
+
resources :maintain_sources do
|
64
|
+
collection do
|
65
|
+
post :sync
|
66
|
+
end
|
67
|
+
end
|
68
|
+
resources :maintain_tags do
|
69
|
+
collection do
|
70
|
+
post :sync
|
71
|
+
end
|
72
|
+
end
|
73
|
+
resources :agencies do
|
74
|
+
member do
|
75
|
+
get 'crowd' => :edit_crowd
|
76
|
+
patch 'crowd' => :update_crowd
|
77
|
+
delete 'crowd' => :destroy_crowd
|
78
|
+
delete 'card' => :destroy_card
|
79
|
+
end
|
80
|
+
end
|
31
81
|
end
|
32
|
-
|
33
|
-
|
82
|
+
|
83
|
+
namespace :panel, defaults: { namespace: 'panel' } do
|
84
|
+
root 'home#index'
|
85
|
+
resources :sources do
|
86
|
+
resources :qrcodes
|
87
|
+
resources :texts
|
88
|
+
end
|
89
|
+
resources :tags
|
34
90
|
end
|
35
|
-
end
|
36
91
|
|
37
|
-
|
92
|
+
namespace :me, defaults: { namespace: 'me' } do
|
93
|
+
concerns :maintaining
|
94
|
+
controller :home do
|
95
|
+
get :index
|
96
|
+
end
|
97
|
+
resources :maintain_sources do
|
98
|
+
collection do
|
99
|
+
get :source
|
100
|
+
get :list
|
101
|
+
end
|
102
|
+
end
|
103
|
+
resources :agencies
|
104
|
+
end
|
105
|
+
|
106
|
+
namespace :my, defaults: { namespace: 'my' } do
|
107
|
+
resources :agencies
|
108
|
+
end
|
38
109
|
end
|
39
110
|
end
|
40
111
|
|
112
|
+
resolve 'Crm::Source', controller: 'maintain_sources', action: 'source' do |source, options|
|
113
|
+
[:crm, :me, options]
|
114
|
+
end
|
41
115
|
end
|
data/lib/rails_crm/engine.rb
CHANGED
@@ -3,12 +3,8 @@ module RailsCrm
|
|
3
3
|
class Engine < ::Rails::Engine
|
4
4
|
|
5
5
|
config.generators do |g|
|
6
|
-
g.
|
7
|
-
|
8
|
-
stylesheets: false,
|
9
|
-
helper: false,
|
10
|
-
jbuilder: true
|
11
|
-
}
|
6
|
+
g.resource_route false
|
7
|
+
g.helper false
|
12
8
|
g.templates.unshift File.expand_path('lib/templates', RailsCom::Engine.root)
|
13
9
|
end
|
14
10
|
|