wzy
2022-10-07 46110cd69b178a03fed0633d45e6ca5265de630d
zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html
@@ -83,6 +83,19 @@
                        </el-form-item>
                    </el-col>
                    <el-col :offset="2" :span="10" v-if="form.goodType!='家居产品'">
                        <el-form-item label="业绩规则" prop="achieveRuleId">
                            <el-select v-model="form.achieveRuleId" filterable placeholder="请选择业绩规则">
                                <el-option
                                        v-for="item in achieveRulsList"
                                        :key="item.id"
                                        :label="item.name"
                                        :value="item.id">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
@@ -190,8 +203,16 @@
                            </el-radio-group>
                        </el-form-item>
                    </el-col>
                    <el-col :offset="2" :span="10">
                        <el-form-item prop="carUseCount" label-width="120px" label="最大使用次数" v-if="form.isCourse=='Y'">
                    <el-col :offset="2" :span="3">
                        <el-form-item label="是否无限次数" v-if="form.isCourse=='Y'">
                            <el-radio-group v-model="form.isInfinite">
                                <el-radio label="N">否</el-radio>
                                <el-radio label="Y">是</el-radio>
                            </el-radio-group>
                        </el-form-item>
                    </el-col>
                    <el-col :offset="1" :span="5">
                        <el-form-item prop="carUseCount" label-width="120px" label="最大使用次数" v-if="form.isCourse=='Y' && form.isInfinite=='N'">
                            <el-input v-model="form.carUseCount"></el-input>
                        </el-form-item>
                    </el-col>
@@ -201,14 +222,25 @@
                    <el-col :span="10">
                        <el-form-item label="充值卡使用范围" label-width="150px" prop="isCourse">
                            <el-radio-group v-model="form.carIsAll">
                                <el-radio label="是">所有产品</el-radio>
                                <el-radio label="否">部分产品(设置部分产品则充值卡内的金额只能消费指定范围的产品)</el-radio>
                                <el-radio label="是" value="是">所有产品</el-radio>
                                <el-radio label="否" value="是">部分产品(设置部分产品则充值卡内的金额只能消费指定范围的产品)</el-radio>
                            </el-radio-group>
                        </el-form-item>
                    </el-col>
                    <el-col :offset="2" :span="10">
                        <el-form-item label-width="120px" label="最大使用次数">
                            <el-input v-model="form.carUseCount"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="10">
                        <el-form-item label="是否合作项目">
                            <el-radio-group v-model="form.isCooperate">
                                <el-radio label="2">否</el-radio>
                                <el-radio label="1">是</el-radio>
                            </el-radio-group>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -893,6 +925,76 @@
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row v-if="form.goodType!='家居产品'">
                    <el-form-item label="购买有效期">
                        <el-col  :span="4">
                            <el-form-item label="" prop="isNum">
                                <el-input v-model.number="form.buyDateNum"></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="2">
                            <el-form-item lable="">
                                <el-select v-model="form.buyDateUnit" placeholder="请选择">
                                    <el-option
                                            v-for="item in dateList"
                                            :key="item.value"
                                            :label="item.label"
                                            :value="item.value">
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                        <el-col :span="6" style="margin-left: 10px; color: #C0C4CC;">
                            <span>用户从购买日开始计算多长时间自动失效</span>
                        </el-col>
                    </el-form-item>
                </el-row>
                <el-row v-if="form.goodType!='家居产品'">
                    <el-form-item label="消耗有效期">
                        <el-col  :span="4">
                            <el-form-item label="" prop="isNum">
                                <el-input v-model.number="form.useDateNum"></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col  :span="2">
                            <el-select v-model="form.useDateUnit" placeholder="请选择">
                                <el-option
                                        v-for="item in dateList"
                                        :key="item.value"
                                        :label="item.label"
                                        :value="item.value">
                                </el-option>
                            </el-select>
                        </el-col>
                        <el-col :span="6" style="margin-left: 10px; color: #C0C4CC;">
                            <span>用户从第一次使用后开始计算多长时间自动生效</span>
                        </el-col>
                    </el-form-item>
                </el-row>
                <el-row v-if="form.goodType!='家居产品'">
                    <el-form-item label="统一到期时间">
                        <el-col :span="6">
                            <el-date-picker
                                    v-model="form.invalidTime"
                                    type="date"
                                    placeholder="选择日期">
                            </el-date-picker>
                        </el-col>
                        <el-col :span="10" style="margin-left: 10px; color: #C0C4CC;">
                            <span>在指定日期所有购买过本商品的统一失效,且在统一失效时间之后产品会自动下架</span>
                        </el-col>
                    </el-form-item>
                </el-row>
                <p class="el-big-title">支付方式</p>
                <el-row>
                    <el-col :offset="1">
                        <el-checkbox-group v-model="payMethodList">
                            <el-checkbox label="1">充值本金</el-checkbox>
                            <el-checkbox label="2">赠送金额</el-checkbox>
                            <el-checkbox label="3">积分</el-checkbox>
                        </el-checkbox-group>
                    </el-col>
                </el-row>
                <el-row v-if="shopInfo.shopType==1">
                    <el-col :span="10">
                        <p class="el-big-title">产品可用门店<code>不选默认为所有门店可用</code></p>
@@ -920,8 +1022,8 @@
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
<script src="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.umd.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.min.css">
<script  th:src="@{/plugin/vue-treeselect/vue-treeselect.umd.min.js}"></script>
<link rel="stylesheet"  th:href="@{/plugin/vue-treeselect/vue-treeselect.min.css}">
<script>
@@ -944,7 +1046,8 @@
    var app = new Vue({
        el: '#app',
        data: {
            payMethodList : ['1', '2', '3'],
            dateList : [{value : 'Y', label : '年'}, {value : 'M', label : '月'}, { value : 'D' , label : '日' }],
            selectTreeParam: {
                holder: '请选择商品类型',
                treeData: [],
@@ -1018,7 +1121,8 @@
            loading_zhk: false,
            /******综合卡表格数据END********/
            //提成规则
            achieveRulsList:[],
            //默认充值卡选中项
            defaultCates: [],
@@ -1052,6 +1156,7 @@
            //表单数据
            form: {
                isPresent: '否',
                isCooperate: '2',
                staus: '上架',
                //产品组合
                assembleGoods: [],
@@ -1061,7 +1166,13 @@
                cardAssembles: [],
                //充值卡绑定产品分类
                isCourse: 'N',
                isInfinite : 'N',
                carIsAll: '否',
                useDateNum : '',
                buyDateNum : '',
                payMethods : '',
                achieveRuleId:'',
            },
            submitUrl: '/admin/shoppinggoods/addShoppingGoods',
            modifySubmitUrl: '/admin/shoppinggoods/modifyShoppingGoods',
@@ -1070,13 +1181,7 @@
                name: [{required: true, message: '请输入商品名称', trigger: 'blur'}],
                code: [{required: true, message: '请输入商品编码', trigger: 'blur'}],
                cateId: [{required: true, message: '请选择商品分类', trigger: 'blur'}],
                goodsSortId: [{required: true, message: '请选择库存分类', trigger: 'blur'}],
                unit: [{required: true, message: '请填写规格', trigger: 'change'}],
                volume: [{required: true, message: '请填写容量', trigger: 'blur'}],
                measure: [{required: true, message: '请填写单位', trigger: 'change'}],
                isCourse: [{required: true, message: '请选择套餐类型', trigger: 'change'}],
                sealPice: [{required: true, message: '请填写售价', trigger: 'blur'}],
                timeLength: [{required: true, message: '请填写服务时长', trigger: 'blur'}],
            },
        },
@@ -1090,6 +1195,7 @@
            this.getGoodstype();
            this.getDictionary();
            this.getShopInfo();
            this.getAchieveRule();
            if(goodType=='家居产品'){
                this.getSupplierList();
            }
@@ -1108,6 +1214,21 @@
        },
        methods: {
            /**
             * 获取规则
             */
            getAchieveRule(){
                let _this = this;
                AjaxProxy.requst({
                    app: _this,
                    data: {pageNum:1,pageSize:1000},
                    url: basePath + "/admin/achieveRule/selectList",
                    callback: function (data) {
                        _this.achieveRulsList=data.rows;
                    }
                });
            },
            /**
             * 商品分类树形组件格式化
@@ -1471,18 +1592,29 @@
                    _this.form.useShop=_this.form.useShop.join(",");
                }
                if (_this.payMethodList.length != 0) {
                    _this.form.payMethods = this.payMethodList.join(",");
                } else {
                    _this.form.payMethods = '';
                }
                if (this.validFormData()) {
                    this.$refs[formName].validate((valid) => {
                        console.log(valid);
                        if (valid) {
                            if ( _this.form.goodType == '套餐' && _this.form.isCourse == 'Y' && !_this.form.carUseCount) {
                                this.$message.error('请输入套餐最大使用次数!');
                              _this.submiting = false;
                                return false;
                            if ( _this.form.goodType == '套餐' && _this.form.isCourse == 'Y' && _this.form.isInfinite == 'N') {
                                if (!_this.form.carUseCount) {
                                    this.$message.error('请输入套餐最大使用次数!');
                                    _this.submiting = false;
                                    return false;
                                }
                            }
                            if (_this.form.goodType == '套餐' && _this.form.isCourse == 'Y' && _this.form.isInfinite == 'Y') {
                                _this.form.carUseCount = 999;
                            }
@@ -1564,16 +1696,14 @@
                            ue.setContent(_this.form.description, true);
                        }
                        _this.form.useShop=MTools.strToArray(_this.form.useShop,",",true);
                        _this.payMethodList = MTools.strToArray(_this.form.payMethods,",",false);
                        _this.fileList[0].url = _this.form.img;
                        _this.defaultCates = data.mapInfo.cates;
                        _this.userAdbleEdit();
                        //如果是总产品加载总部分类信息
                        _this.getShoppinggoodscategory(1);
                        // _this.getShoppinggoodscategory(1);
                        _this.getGoodstype(1);
                    }
                });
            },