新增应用中心

This commit is contained in:
gyq
2024-05-28 11:57:53 +08:00
parent f71e170a02
commit 80b713c3d5
12 changed files with 872 additions and 28 deletions

View File

@@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form ref="formRef" :model="form" :rules="rules" label-width="120px" label-position="left">
<el-form ref="formRef" :model="form" :rules="rules" label-width="140px" label-position="left">
<el-form-item label="商品类型" prop="typeEnum">
<div class="shop_type_box" :class="{ disabled: form.id }">
<div class="item" v-for="(item, index) in shopTypes" :key="index"
@@ -131,6 +131,43 @@
</el-table>
<div class="tips" v-if="form.isShowMall">小程序商城必须设置库存数量大于0</div>
</el-form-item>
<template v-if="form.typeEnum == 'group'">
<el-form-item label="使用日期说明" prop="notices.dateUsed">
<el-input type="textarea" v-model="form.notices.dateUsed" :autosize="{ minRows: 3, maxRows: 10}" style="width: 500px;"
placeholder="请输入使用日期说明"></el-input>
</el-form-item>
<el-form-item label="可用时间说明" prop="notices.availableTime">
<el-input type="textarea" v-model="form.notices.availableTime" :autosize="{ minRows: 3, maxRows: 10}" style="width: 500px;" placeholder="请输入可用时间说明
"></el-input>
</el-form-item>
<el-form-item label="预约方式" prop="notices.bookingType">
<el-input type="textarea" v-model="form.notices.bookingType" :autosize="{ minRows: 3, maxRows: 10}" style="width: 500px;" placeholder="请输入预约方式
"></el-input>
</el-form-item>
<el-form-item label="退款说明" prop="notices.refundPolicy">
<el-input type="textarea" v-model="form.notices.refundPolicy" :autosize="{ minRows: 3, maxRows: 10}" style="width: 500px;" placeholder="请输入退款说明
"></el-input>
</el-form-item>
<el-form-item label="团购价说明">
<el-input type="textarea" v-model="form.notices.groupPurInfo" :autosize="{ minRows: 3, maxRows: 10}" style="width: 500px;"
placeholder="请输入团购价说明"></el-input>
</el-form-item>
<el-form-item label="门市价/划线价说明">
<el-input type="textarea" v-model="form.notices.marketPriceInfo" :autosize="{ minRows: 3, maxRows: 10}" style="width: 500px;"
placeholder="请输入门市价/划线价说明"></el-input>
</el-form-item>
<el-form-item label="折扣说明">
<el-input type="textarea" v-model="form.notices.discountInfo" :autosize="{ minRows: 3, maxRows: 10}" style="width: 500px;"
placeholder="请输入折扣说明"></el-input>
</el-form-item>
<el-form-item label="发票说明">
<el-input type="textarea" v-model="form.notices.invoiceInfo" :autosize="{ minRows: 3, maxRows: 10}" style="width: 500px;"
placeholder="请输入发票说明"></el-input>
</el-form-item>
<el-form-item label="使用规则">
<Editor :minHeight="200" :value="form.notices.usageRules" v-model="form.notices.usageRules" />
</el-form-item>
</template>
<el-form-item label="选择规格" v-if="shopTypes[shopTypesActive].typeEnum == 'sku' && !form.id">
<el-select v-model="form.specId" placeholder="请选择规格" style="width: 500px;" @change="selectSpecHandle">
<el-option :label="item.name" :value="item.id" v-for="item in specList" :key="item.id"></el-option>
@@ -149,7 +186,6 @@
:key="index">
</el-table-column>
<el-table-column label="图片" prop="coverImg" width="80">
<template v-slot="scope">
<uploadImg type="text" :limit="1" @success="res => scope.row.coverImg = res[0]"
v-if="!scope.row.coverImg" />
@@ -287,6 +323,7 @@
</template>
<script>
import Editor from '@/components/Editor'
import { tbShopUnit, tbShopCategoryGet, tbProductPost, tbProductSpecGet, tbProductGetDetail, tbProductPut } from "@/api/shop";
import addUnit from './components/addUnit'
import addClassify from './components/addClassify'
@@ -303,9 +340,18 @@ export default {
addClassify,
uploadImg,
shopList,
groupTypeList
groupTypeList,
Editor
},
data() {
const validatordateUsed = (rule, value, callback) => {
if (!this.form.notices.dateUsed) {
console.log('this.form.notices.dateUsed', this.form.notices.dateUsed);
callback(new Error('请输入可用时间说明'))
} else {
callback()
}
}
return {
shopTypesActive: 0,
shopTypes: settings.typeEnum,
@@ -351,7 +397,19 @@ export default {
selectSpec: [],
specTableHeaders: [],
skuSnap: '',
groupCategoryId: []
groupCategoryId: [],
notices: {
availableTime: '',
bookingType: '',
dateUsed: '',
discountInfo: '',
groupPurInfo: '',
invoiceInfo: '',
marketPriceInfo: '',
platformTips: '',
refundPolicy: '',
usageRules: ''
}
},
rules: {
typeEnum: [
@@ -379,6 +437,34 @@ export default {
trigger: 'change',
message: '请选择团购券分类'
}
],
'notices.dateUsed': [
{
required: true,
trigger: 'blur',
message: '请输入使用日期说明'
}
],
'notices.availableTime': [
{
required: true,
trigger: 'blur',
message: '请输入可用时间说明'
}
],
'notices.bookingType': [
{
required: true,
trigger: 'blur',
message: '请输入预约方式'
}
],
'notices.refundPolicy': [
{
required: true,
trigger: 'blur',
message: '请输入退款说明'
}
]
},
units: [],
@@ -466,6 +552,7 @@ export default {
},
// 提交
submitHandle() {
console.log('form', this.form);
this.$refs.formRef.validate(async faild => {
try {
if (faild) {