DispatchWidget.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Name: 芸众商城系统
  5. * Author: 广州市芸众信息科技有限公司
  6. * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
  7. * Date: 2021/9/9
  8. * Time: 17:47
  9. */
  10. namespace app\backend\modules\goods\widget;
  11. use app\backend\modules\goods\models\GoodsDispatch;
  12. use app\backend\modules\goods\models\Dispatch;
  13. class DispatchWidget extends BaseGoodsWidget
  14. {
  15. public $group = 'tool';
  16. public $widget_key = 'dispatch';
  17. public $code = 'dispatch';
  18. public function pluginFileName()
  19. {
  20. return 'goods';
  21. }
  22. public function getData()
  23. {
  24. if (!is_null($this->goods) && GoodsDispatch::getInfo($this->goods->id)) {
  25. $dispatch = GoodsDispatch::getInfo($this->goods->id);
  26. } else {
  27. $dispatch = new Goodsdispatch();
  28. }
  29. $dispatch_templates = Dispatch::select('id','dispatch_name')
  30. ->uniacid()
  31. ->where(['enabled' => 1 , 'plugin_id' => 0])
  32. ->where('is_plugin', 0)
  33. ->get()->toArray();
  34. // edit 2018-06-01 by Yy
  35. if ($dispatch->dispatch_id) {
  36. $verify_dispatch = Dispatch::select('id','dispatch_name','is_plugin')->find($dispatch->dispatch_id);
  37. if ($verify_dispatch->is_plugin == 1) {
  38. $dispatch_templates = [
  39. $verify_dispatch
  40. ];
  41. }
  42. }
  43. $dispatch->dispatch_type_ids = explode(',',$dispatch->dispatch_type_ids);
  44. $dispatchTypesSetting = $dispatch->dispatchTypesSettingV2();
  45. if (is_null($this->goods)) {
  46. $bool = array_search('8', array_column($dispatchTypesSetting, 'id'));
  47. if ($bool !== false && !array_intersect($dispatch->dispatch_type_ids,[8])) {
  48. $dispatch->dispatch_type_ids = array_merge($dispatch->dispatch_type_ids,[8]);
  49. }
  50. }
  51. $data = [
  52. 'dispatchTypesSetting' => $dispatch->dispatchTypesSettingV2(),
  53. 'dispatch' => $dispatch,
  54. 'dispatch_templates' => $dispatch_templates,
  55. ];
  56. return $data;
  57. }
  58. public function pagePath()
  59. {
  60. return $this->getPath('resources/views/goods/assets/js/components/');
  61. }
  62. }