goods-model.php.bak 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?php
  2. /*
  3. * @Descripttion:
  4. * @version:
  5. * @Author: ewgof
  6. * @Date: 2022-05-17 17:47:26
  7. * @LastEditors: ewgof
  8. * @LastEditTime: 2022-05-17 18:11:22
  9. */
  10. use common\helpers\ComponentHelper;
  11. $addons_setting = empty($addons_setting) ? [] : $addons_setting;
  12. foreach ($addons_setting as $key => $item) {
  13. ComponentHelper::loadComponentView($item['components'], Yii::$app->basePath . '/../addons/'. ucfirst($key) .'/backend/views/goods');
  14. }
  15. ?>
  16. <style>
  17. <?= ComponentHelper::loadComponentView('edit', __DIR__ . '/css', [],true, 'css'); ?>
  18. </style>
  19. <div id="app" v-cloak>
  20. <el-card shadow="never" style="border:0" class="box-card" body-style="background-color: #f3f3f3;padding: 20px 0 0;" class="box-card" v-loading="cardLoading">
  21. <div slot="header">
  22. <div flex="cross:center box:first">
  23. <div><span @click="$navigate({r:'mall/goods/index'})" class="text">商品列表</span>/配置模式</div>
  24. </div>
  25. </div>
  26. <div class="goods-box">
  27. <el-form :model="ruleForm" ref="ruleForm" size="mini" label-width="150px" class="demo-ruleForm">
  28. <div class="basic">
  29. <!-- 分润设置 -->
  30. <?php foreach ($addons_setting as $key => $item) {
  31. echo '<' . $item['components'] . ' :goods="goods" :level_arr="level" :commission_type_map="commission_type_map" :coupon_type_map="coupon_type_map" :setting="setting.'.$key.'" @change="getData" style="margin-bottom:20px"></' . $item['components'] . '>';
  32. } ?>
  33. </div>
  34. </el-form>
  35. </div>
  36. </el-card>
  37. <div class="bottom-btns" flex="main:center cross:center" style="padding: 15px 0;margin-top: 20px; background-color: #fff;">
  38. <el-button size="mini" type="primary" @click="submit()">保存</el-button>
  39. </div>
  40. </div>
  41. <script>
  42. const app = new Vue({
  43. el: '#app',
  44. data() {
  45. return {
  46. cardLoading: false,
  47. setting: {},
  48. commission_type_map: {},
  49. coupon_type_map: {},
  50. goods: {},
  51. level: {},
  52. ruleForm: {},
  53. storeId: 0,
  54. };
  55. },
  56. created() {
  57. this.goodsId = getQuery('id');
  58. },
  59. mounted: function() {
  60. this.getModelDetail();
  61. },
  62. methods: {
  63. getModelDetail(){
  64. let self = this;
  65. self.cardLoading = true;
  66. request({
  67. params: {
  68. r: 'store/store-goods/goods-model',
  69. id: getQuery('id')
  70. },
  71. method: 'get',
  72. }).then(e => {
  73. // console.log(e, '===============');
  74. self.cardLoading = false;
  75. if (e.data.code == 0) {
  76. if (e.data.data.detail) {
  77. self.storeId = e.data.data.detail.store_id;
  78. }
  79. self.level = e.data.data.level;
  80. if (!isEmpty(e.data.data.setting)) {
  81. self.setting = e.data.data.setting;
  82. for (let key in self.setting) {
  83. // 将空的
  84. if (isEmpty(self.setting[key])) self.setting[key] = {};
  85. }
  86. }
  87. self.commission_type_map = e.data.data.commission_type_map;
  88. self.coupon_type_map = e.data.data.coupon_type_map;
  89. } else {
  90. self.$message.error(e.data.msg);
  91. }
  92. }).catch(e => {
  93. console.log(e);
  94. });
  95. },
  96. submit() {
  97. let self = this;
  98. self.btnLoading = true;
  99. self.ruleForm.goods_id = getQuery('id');
  100. self.ruleForm.store_id = self.storeId;
  101. params = Object.assign(self.ruleForm,this.cForm);
  102. request({
  103. params: {
  104. r: 'store/store-goods/goods-model'
  105. },
  106. method: 'post',
  107. data: {
  108. form: params
  109. }
  110. }).then(e => {
  111. self.btnLoading = false;
  112. if (e.data.code == 0) {
  113. self.$message.success(e.data.msg);
  114. } else {
  115. self.$message.error(e.data.msg);
  116. }
  117. }).catch(e => {
  118. self.$message.error(e.data.msg);
  119. self.btnLoading = false;
  120. });
  121. },
  122. getData(val,key){
  123. this.ruleForm[key] = val;
  124. console.log(this.ruleForm);
  125. },
  126. }
  127. });
  128. </script>