_form.php 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. use backend\widgets\ActiveForm;
  3. use common\models\Warehouse;
  4. use common\modules\attachment\widgets\SingleWidget;
  5. use yii\helpers\Html;
  6. /* @var $this yii\web\View */
  7. /* @var $model common\models\Store */
  8. /* @var $form yii\widgets\ActiveForm */
  9. ?>
  10. <div class="box box-success">
  11. <div class="box-body">
  12. <?php $form = ActiveForm::begin(); ?>
  13. <?= $form->field($model, 'user_id')->hint('还未添加商家账户?' . Html::a('点击去添加商家账户', ['/user/default/create']))->dropDownList(common\modules\user\models\User::lists()) ?>
  14. <?= $form->field($model, 'proxy_user_id')->hint('还未添加代理人?' . Html::a('点击去添加代理人', ['/user/default/create']))->dropDownList(common\modules\user\models\User::lists(), ['prompt' => '请选择']) ?>
  15. <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
  16. <?= $form->field($model, 'code')->textInput(['maxlength' => true]) ?>
  17. <?= $form->field($model, 'warehouse_id')->hint('添加新仓库' . Html::a('点击去添加仓库', ['/warehouse/create']))->dropDownList(\yii\helpers\ArrayHelper::map(Warehouse::lists(), 'id', 'name'), ['prompt' => '请选择']) ?>
  18. <!--地址选择-->
  19. <?= $form->field($model, 'address', [
  20. 'template' => '{label}{input}{error}{hint}'
  21. ])->label('地址')->textInput(['maxlength' => true, 'placeholder' => '点击选择地址', 'data-toggle' => 'modal', 'data-target' => '#addressModal']) ?>
  22. <!--地址隐藏域-->
  23. <?= $form->field($model, 'latitude', ['template' => '{input}'])->hiddenInput() ?>
  24. <?= $form->field($model, 'longitude', ['template' => '{input}'])->hiddenInput() ?>
  25. <?= $form->field($model, 'address_name', ['template' => '{input}'])->hiddenInput() ?>
  26. <?= $form->field($model, 'city', ['template' => '{input}'])->hiddenInput() ?>
  27. <?= $form->field($model, 'rate')->textInput(['maxlength' => true, 'type' => 'number'])->inputSuffix('%')->hint("系统默认:" . Yii::$app->config->get('share_goods_profit_rate')) ?>
  28. <?= $form->field($model, 'logo')->widget(SingleWidget::className()) ?>
  29. <?= $form->field($model, 'license')->widget(SingleWidget::className()) ?>
  30. <?= $form->field($model, 'contacts')->textInput(['maxlength' => true]) ?>
  31. <?= $form->field($model, 'tel')->textInput(['maxlength' => true]) ?>
  32. <?= $form->field($model, 'desc')->textarea(['maxlength' => true]) ?>
  33. <div class="form-group form-submit">
  34. <?= Html::submitButton($model->isNewRecord ? Yii::t('common', 'Create') : Yii::t('common', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-success']) ?>
  35. </div>
  36. <?php ActiveForm::end(); ?>
  37. </div>
  38. <!--腾讯地址选择组件-->
  39. <div class="modal fade" id="addressModal" tabindex="-1" role="dialog" aria-labelledby="addressModalLabel">
  40. <div class="modal-dialog" role="document">
  41. <div class="modal-content">
  42. <div class="modal-header">
  43. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  44. aria-hidden="true">&times;</span></button>
  45. <h4 class="modal-title" id="addressModalLabel">选择地址</h4>
  46. </div>
  47. <div class="modal-body">
  48. <!--接口文档:https://lbs.qq.com/webApi/component/componentGuide/componentPicker-->
  49. <iframe id="mapIframe" width="100%" frameborder=0 scrolling="no" height="500"
  50. src="<?= Yii::$app->config->get('map_url') ?>">
  51. </iframe>
  52. </div>
  53. <div class="modal-footer">
  54. <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
  55. <button type="button" class="btn btn-success" data-dismiss="modal">确定</button>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. <?php
  62. $js = <<<JS
  63. $(document).ready(function() {
  64. //腾讯地址选择组件弹窗
  65. window.addEventListener('message', function (event) {
  66. var loc = event.data;
  67. if (loc && loc.module == 'locationPicker') {
  68. $('input[name="Store[address_name]"]').val(loc.poiname);
  69. $('input[name="Store[city]"]').val(loc.cityname);
  70. $('input[name="Store[address]"]').val(loc.poiaddress);
  71. $('input[name="Store[latitude]"]').val(loc.latlng.lat);
  72. $('input[name="Store[longitude]"]').val(loc.latlng.lng);
  73. }
  74. }, false);
  75. });
  76. JS;
  77. $this->registerJs($js);
  78. ?>