| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- use common\helpers\ComponentHelper;
- use common\helpers\AddonHelper;
- $addons_setting = empty($addons_setting) ? [] : $addons_setting;
- foreach ($addons_setting as $key => $item) {
- if (AddonHelper::has($key)) {
- ComponentHelper::loadComponentView($item['components'], Yii::$app->basePath . '/../addons/' . ucfirst($key) . '/backend/views/goods');
- }
- }
- ?>
- <style>
- <?= ComponentHelper::loadComponentView('edit', __DIR__ . '/css', [], true, 'css'); ?>
- </style>
- <div id="app" v-cloak>
- <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">
- <div slot="header">
- <div flex="cross:center box:first">
- <div><span @click="navigateToGoodsList" class="text">商品列表</span>/配置模式</div>
- </div>
- </div>
- <div class="goods-box tabColor">
- <el-form :model="ruleForm" ref="ruleForm" size="mini" label-width="150px" class="demo-ruleForm">
- <div class="basic">
- <?php echo '<el-tabs value="' . $first . '" @tab-click="handleClick" class="tabss">'; ?>
- <?php foreach ($addons_setting as $key => $item) {
- echo '<el-tab-pane label="' . $addons_setting[$key]['title'] . '" name="' . $key . '">';
- $map = $item['is_extra'] ? "commission_type_map_extra" : "commission_type_map";
- echo $addons_setting[$key]['title'] == "消费分红" ? '<div style="margin-top:24px">暂无内容</div>' : '<' . $item['components'] . ' :goods="goods" :level_arr="level" :commission_type_map='.
- $map.' :coupon_type_map="coupon_type_map" :is_show_additional_score="is_show_additional_score" :setting="setting.' . $key . '" :is_main="1" @change="getData" style="margin-bottom:20px"></' . $item['components'] . '>';
- echo '</el-tab-pane>';
- } ?>
- </el-tabs>
- </div>
- </el-form>
- </div>
- </el-card>
- <div class="bottom-btns" flex="main:center cross:center"
- style="padding: 15px 0;margin-top: 20px; background-color: #fff;">
- <el-button size="mini" type="primary" v-loading="btnLoading" @click="submit()">保存</el-button>
- </div>
- </div>
- <script>
- const app = new Vue({
- el: '#app',
- data() {
- return {
- cardLoading: false,
- setting: {},
- commission_type_map: {},
- commission_type_map_extra:{},
- coupon_type_map: {},
- is_show_additional_score: 0,
- goods: {},
- level: {},
- ruleForm: {},
- activeName: '',
- btnLoading: false,
- };
- },
- created() {
- this.goodsId = getQuery('id');
- },
- mounted: function () {
- this.getModelDetail();
- },
- methods: {
- handleClick() { },
- getModelDetail() {
- let self = this;
- self.cardLoading = true;
- request({
- params: {
- r: 'mall/goods/goods-model',
- id: getQuery('id')
- },
- method: 'get',
- }).then(e => {
- self.cardLoading = false;
- if (e.data.code == 0) {
- self.level = e.data.data.level;
- console.log('========', e.data.data.level);
- if (!isEmpty(e.data.data.setting)) {
- self.setting = e.data.data.setting;
- for (let key in self.setting) {
- // 将空的
- if (isEmpty(self.setting[key])) self.setting[key] = {};
- }
- }
- self.commission_type_map = e.data.data.commission_type_map;
- self.coupon_type_map = e.data.data.coupon_type_map;
- self.is_show_additional_score = e.data.data.is_show_additional_score;
- self.commission_type_map_extra = e.data.data.commission_type_map_extra;
- } else {
- self.$message.error(e.data.msg);
- }
- }).catch(e => {
- console.log(e);
- });
- },
- submit() {
- let self = this;
- self.btnLoading = true;
- self.ruleForm.goods_id = getQuery('id');
- params = Object.assign(self.ruleForm, this.cForm);
- request({
- params: {
- r: 'mall/goods/goods-model'
- },
- method: 'post',
- data: {
- form: params
- }
- }).then(e => {
- self.btnLoading = false;
- if (e.data.code == 0) {
- self.$message.success(e.data.msg);
- this.navigateToGoodsList();
- } else {
- self.$message.error(e.data.msg);
- }
- }).catch(e => {
- self.$message.error(e.data.msg);
- self.btnLoading = false;
- });
- },
- getData(val, key) {
- this.ruleForm[key] = val;
- // console.log(this.ruleForm, '55555');
- },
- navigateToGoodsList() {
- const goodsPage = sessionStorage.getItem('goodsPage') || 1;
- this.$navigate({
- r: '/mall/goods/index',
- page: goodsPage
- })
- }
- }
- });
- </script>
|