| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | var app = new Vue({ |
| | | el: '#app', |
| | | data: { |
| | | |
| | | payMethodList : ['1', '2', '3'], |
| | | dateList : [{value : 'Y', label : '年'}, {value : 'M', label : '月'}, { value : 'D' , label : '日' }], |
| | | selectTreeParam: { |
| | | holder: '请选择商品类型', |
| | | treeData: [], |
| | |
| | | loading_zhk: false, |
| | | /******综合卡表格数据END********/ |
| | | |
| | | |
| | | //提成规则 |
| | | achieveRulsList:[], |
| | | |
| | | //默认充值卡选中项 |
| | | defaultCates: [], |
| | |
| | | //表单数据 |
| | | form: { |
| | | isPresent: '否', |
| | | isCooperate: '2', |
| | | staus: '上架', |
| | | //产品组合 |
| | | assembleGoods: [], |
| | |
| | | cardAssembles: [], |
| | | //充值卡绑定产品分类 |
| | | isCourse: 'N', |
| | | isInfinite : 'N', |
| | | carIsAll: '否', |
| | | useDateNum : '', |
| | | buyDateNum : '', |
| | | payMethods : '', |
| | | achieveRuleId:'', |
| | | |
| | | }, |
| | | submitUrl: '/admin/shoppinggoods/addShoppingGoods', |
| | | modifySubmitUrl: '/admin/shoppinggoods/modifyShoppingGoods', |
| | |
| | | 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'}], |
| | | }, |
| | | |
| | | }, |
| | |
| | | this.getGoodstype(); |
| | | this.getDictionary(); |
| | | this.getShopInfo(); |
| | | this.getAchieveRule(); |
| | | if(goodType=='家居产品'){ |
| | | this.getSupplierList(); |
| | | } |
| | |
| | | }, |
| | | |
| | | 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; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 商品分类树形组件格式化 |
| | |
| | | _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; |
| | | } |
| | | |
| | | |
| | |
| | | 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); |
| | | |
| | | |
| | | } |
| | | }); |
| | | }, |