zory 3 tuần trước cách đây
mục cha
commit
ea94f7d30b

+ 122 - 24
src/views/merchant/goods/add.vue

@@ -3,7 +3,7 @@
         <el-main>
             <el-row :gutter="20">
                 <el-col :span="18">
-                    <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top">
+                    <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="140px" label-position="right">
                         <el-card shadow="never" header="商品类型">
                             <el-form-item label="商品品类" prop="category">
                                 <el-cascader v-model="formData.category" :options="categoryData" :props="deptsProps" @change="getTemplate" clearable style="width: 50%;" />
@@ -38,16 +38,16 @@
                             </el-form-item>
                             <el-row :gutter="15">
                                 <el-col :span="12">
-                                    <el-form-item label="团购/次卡/代金券等划线价" prop="line_price">
-                                        <el-input v-model="formData.line_price" type="number" clearable placeholder="请输入">
+                                    <el-form-item label="顾客实际需支付" prop="price">
+                                        <el-input v-model="formData.price" type="number" clearable placeholder="请输入">
                                             <template #append>元</template>
                                         </el-input>
                                         <div class="el-form-item-msg"></div>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
-                                    <el-form-item label="顾客实际需支付" prop="price">
-                                        <el-input v-model="formData.price" type="number" clearable placeholder="请输入">
+                                    <el-form-item label="划线价" prop="line_price">
+                                        <el-input v-model="formData.line_price" type="number" clearable placeholder="请输入">
                                             <template #append>元</template>
                                         </el-input>
                                         <div class="el-form-item-msg"></div>
@@ -267,22 +267,26 @@
                                     <el-radio :label="2">不限制</el-radio>
                                     <el-radio :label="1">限库存</el-radio>
                                 </el-radio-group>
-                            </el-form-item>
-                            <el-form-item label="团购库存数量" prop="use_num_per_consume" v-if="formData.limit_use_rule==1">
-                                <el-input v-model="formData.use_num_per_consume" style="width: 30%;">
-                                    <template #append>份</template>
-                                </el-input>
+                                <div class="el-form-item-msg"></div>
+                                <div class="date-list" v-if="formData.limit_use_rule==1">
+                                    <el-form-item label="" prop="use_num_per_consume">
+                                        <el-input v-model="formData.use_num_per_consume">
+                                            <template #append>份</template>
+                                            <template #prepend>团购库存数量</template>
+                                        </el-input>
+                                    </el-form-item>
+                                </div>
                             </el-form-item>
                             <el-form-item label="商品售卖日期" prop="sold_start_times">
                                 <div style="width: 30%;">
                                     <el-date-picker v-model="formData.sold_start_times" placeholder="请选择商品售卖日期" start-placeholder="开始时间" end-placeholder="结束时间" type="daterange" range-separator="至" />
                                 </div>
                                 <div class="el-form-item-msg">顾客可以在这个时间内购买商品,超过这个日期,活动自动下线</div>
+                                <div class="radio-flex">
+                                    自动延期<el-switch active-text="开" inactive-text="关" inline-prompt v-model="formData.auto_renew" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949" :active-value="1" :inactive-value="0"/>
+                                    <span class="fs12">团购到期后自动延长30天(有效期同时延长),可随时关闭。</span>
+                                </div>
                             </el-form-item>
-                            <div class="radio-flex">
-                                自动延期<el-switch active-text="开" inactive-text="关" inline-prompt v-model="formData.auto_renew" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949" :active-value="1" :inactive-value="0"/>
-                                <span class="fs12">团购到期后自动延长30天(有效期同时延长),可随时关闭。</span>
-                            </div>
                         </el-card>
                         <el-card shadow="never" header="交易规则">
                             <el-form-item label="顾客可消费日期" prop="use_date_type">
@@ -294,22 +298,66 @@
                                 <div class="el-form-item-msg" v-if="formData.use_date_type==2">
                                     可使用日期的结束时间必须晚于售卖日期的结束时间
                                 </div>
-                                <div v-if="formData.use_date_type==1">
+                                <div class="date-list" v-if="formData.use_date_type==1">
                                     <el-input v-model="formData.day_duration">
                                         <template #append>天,购买当日默认可用</template>
                                         <template #prepend>自购买次日起</template>
                                     </el-input>
                                 </div>
-                                <div v-if="formData.use_date_type==2" style="width: 30%;">
+                                <div class="date-list" v-if="formData.use_date_type==2">
                                     <el-date-picker v-model="formData.use_times" placeholder="请选择商品售卖日期" start-placeholder="开始时间" end-placeholder="结束时间" type="daterange" range-separator="至" />
                                 </div>
                             </el-form-item>
+                            <el-form-item label="顾客信息设置" prop="customer_reserved_info">
+                                <el-radio-group v-model="formData.customer_reserved_info">
+                                    <el-radio :label="1">不需要</el-radio>
+                                    <el-radio :label="2">需要顾客手机号码</el-radio>
+                                </el-radio-group>
+                                <div class="el-form-item-msg"></div>
+                            </el-form-item>
                             <el-form-item label="顾客不可消费日期" prop="can_no_use_date">
                                 <el-radio-group v-model="formData.can_no_use_date">
                                     <el-radio :label="1">所有日期均可使用</el-radio>
-                                    <!-- <el-radio :label="2">部分日期不可用</el-radio> -->
+                                    <el-radio :label="2">部分日期不可用</el-radio>
                                 </el-radio-group>
                                 <div class="el-form-item-msg"></div>
+                                <template v-if="formData.can_no_use_date==2">
+                                    <div class="date-list">
+                                        <div class="date-type-item">
+                                            <div class="item-header"><el-checkbox v-model="formData.can_no_use_week" :value="1" label="每周几不可用" /></div>
+                                            <div class="item-body" style="width: 500px;" v-if="formData.can_no_use_week">
+                                                <el-form-item label="" prop="no_use_weeks">
+                                                    <el-select v-model="formData.no_use_weeks" multiple placeholder="请选择" style="width:100%">
+                                                        <el-option v-for="(item,index) in weeksData" :key="index" :label="item.name" :value="item.key"></el-option>
+                                                    </el-select>
+                                                </el-form-item>
+                                            </div>
+                                        </div>
+                                        <!-- <div class="date-type-item">
+                                            <div class="item-header"><el-checkbox v-model="formData.can_no_use_holiday" :value="1" label="节假日不可用" /></div>
+                                            <div class="item-body" style="width: 500px;" v-if="formData.can_no_use_holiday">
+                                                <el-form-item label="" prop="no_use_holidays">
+                                                    <el-select v-model="formData.no_use_holidays" multiple placeholder="请选择" style="width:100%">
+                                                        <el-option v-for="(item,index) in holiday" :key="index" :label="item.name" :value="item.key"></el-option>
+                                                    </el-select>
+                                                </el-form-item>
+                                            </div>
+                                        </div> -->
+                                        <div class="date-type-item">
+                                            <div class="item-header"><el-checkbox v-model="formData.can_no_use_day" :value="1" label="指定某天不可用" /></div>
+                                            <div class="item-body" style="width: 500px;" v-if="formData.can_no_use_day">
+                                                <el-form-item label="" prop="no_use_days">
+                                                    <el-date-picker
+                                                        v-model="formData.no_use_days"
+                                                        type="dates"
+                                                        style="width:100%"
+                                                        placeholder="请选择日期"
+                                                    />
+                                                </el-form-item>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </template>
                             </el-form-item>
                             <el-form-item label="券码类型" prop="code_source_type">
                                 <el-radio-group v-model="formData.code_source_type" disabled>
@@ -321,13 +369,29 @@
                             
                         </el-card>
                         <el-card shadow="never" header="消费规则">
+                            <el-form-item label="使用规则">
+                                <div class="el-form-item-msg">
+                                    <el-button @click="addRule">添加规则</el-button>
+                                </div>
+                                <div class="date-list" style="margin-top: 10px;" v-if="notificationData.length > 0">
+                                    <div class="date-type-item flex" v-for="(item,index) in notificationData" :key="index">
+                                        <div class="left">
+                                            <el-input v-model="item.title" placeholder="请输入标题" />
+                                            <el-input v-model="item.content" placeholder="请输入规则内容" />
+                                        </div>
+                                        <div class="right">
+                                            <el-button type="danger" size="small" @click="removeRule(index)" circle icon="el-icon-delete"></el-button>
+                                        </div>
+                                    </div>
+                                </div>
+                            </el-form-item>
                             <el-form-item label="限购规则" prop="limit_rule_type">
                                 <el-radio-group v-model="formData.limit_rule_type">
                                     <el-radio :label="1">不限制购买</el-radio>
                                     <el-radio :label="2">限制购买</el-radio>
                                 </el-radio-group>
                                 <div class="el-form-item-msg"></div>
-                                <div v-if="formData.limit_rule_type==2">
+                                <div class="date-list" v-if="formData.limit_rule_type==2">
                                     <el-input v-model="formData.limit_rule">
                                         <template #append>份</template>
                                         <template #prepend>限制每人最多购买</template>
@@ -340,9 +404,9 @@
                                     <el-radio :label="2">到店前需要预约</el-radio>
                                 </el-radio-group>
                                 <div class="el-form-item-msg"></div>
-                                <div v-if="formData.booking_type==2">
+                                <div class="date-list" v-if="formData.booking_type==2">
                                     <el-input v-model="formData.booking_date">
-                                        <template #prepend>需提前电话预约</template>
+                                        <template #prepend>需提前</template>
                                         <template #append>
                                             <el-select v-model="formData.booking_unit" style="width: 80px;">
                                                 <el-option :value="1" label="天"></el-option>
@@ -358,7 +422,7 @@
                                     <el-radio :label="2">限制张数</el-radio>
                                 </el-radio-group>
                                 <div class="el-form-item-msg"></div>
-                                <div v-if="formData.rec_person_type==2">
+                                <div class="date-list" v-if="formData.rec_person_type==2">
                                     <el-input v-model="formData.rec_person_num_max">
                                         <template #prepend>单次消费最多使用张数</template>
                                         <template #append>张</template>
@@ -475,12 +539,13 @@ export default {
     data(){
         return {
             isSaveing:false,
-            showNext:false,
+            showNext:true,
             formData:{
                 settle_type:1,
                 show_channel:1,
-                limit_use_rule:1,
-                auto_renew:true,
+                limit_use_rule:2,
+                customer_reserved_info:2,
+                auto_renew:1,
                 use_date_type:1,
                 day_duration:30,
                 can_no_use_date:1,
@@ -495,10 +560,25 @@ export default {
                 image_list:[],
                 mult_sku:1
             },
+            holiday:[{'key':1,"name":"元旦"},{'key':2,"name":"春节"},{'key':3,"name":"清明"},{'key':4,"name":"劳动节"},{'key':5,"name":"端午节"},{'key':6,"name":"中秋节"},{'key':7,"name":"国庆节"},{'key':8,"name":"情人节"},{'key':9,"name":"圣诞节"},{'key':10,"name":"元宵节"},{'key':11,"name":"520"},{'key':12,"name":"儿童节"},{'key':13,"name":"七夕节"},{'key':14,"name":"二月二"},{'key':15,"name":"母亲节"},{'key':16,"name":"父亲节"},{'key':17,"name":"教师节"}],
+            weeksData:[{'key':1,"name":"星期一"},{'key':2,"name":"星期二"},{'key':3,"name":"星期三"},{'key':4,"name":"星期四"},{'key':5,"name":"星期五"},{'key':6,"name":"星期六"},{'key':7,"name":"星期天"},],
+            notificationData:[],
             specs:[{"name":"","num":0,"list":[ {"name":"","price":1,"weight":"1","weight_unit":'kg',"number":1} ]}],
             skuSpecs:[],
             channelLoad:false,
             rules:{
+                no_use_weeks: [
+                    {required: true, message: '请选择'}
+                ],
+                no_use_holidays: [
+                    {required: true, message: '请选择'}
+                ],
+                no_use_days: [
+                    {required: true, message: '请选择'}
+                ],
+                customer_reserved_info: [
+                    {required: true, message: '请选择'}
+                ],
                 line_price: [
                     {required: true, message: '请输入'}
                 ],
@@ -558,6 +638,15 @@ export default {
         this.formData.sold_start_times = this.formattedCurrentDate();
     },
     methods: {
+        addRule(){
+            this.notificationData.push({"title":"","content":""});
+        },
+        removeRule(index){
+            if (this.notificationData.length <= 1) {
+                return this.$message.error("至少保留一条规则")
+            }
+            this.notificationData.splice(index,1)
+        },
         skuResp(data){
             this.skuSpecs[data.index] = data.data;
         },
@@ -650,7 +739,11 @@ export default {
             var { formData, $message } = this;
             var validate = await this.$refs.dialogForm.validate().catch(()=>{});
             if(!validate){ return false }
+            if (this.notificationData.length == 0) {
+                return this.$message.error("使用规则至少需要一组以上");
+            }
             formData.specs = this.specs;
+            formData.notification = this.notificationData;
             formData.skuSpecs = this.skuSpecs;
             if (formData.sold_start_times) {
                 var sold_start_time = formData.sold_start_times;
@@ -688,6 +781,11 @@ export default {
 .mobile-group .body-item-li{display: flex;align-items: center;justify-content: space-between;line-height: 32px;font-size: 12px;color: #333;font-weight: bold;}
 .mobile-group .body-item-li .item-right{display: flex;align-items: center;gap: 10px;}
 
+.date-list{background-color: var(--el-fill-color-light);padding: 10px;border-radius: 2px;min-width: 500px;}
+.date-type-item{margin-bottom: 15px;}
+.date-type-item.flex{display: flex;align-items: center;gap: 10px;justify-content: space-between;}
+.date-type-item.flex .left{flex: 1;}
+
 .mobile-bannber{background-color: #f8f8f8;}
 .mobile-info{padding: 10px;background-color: #fff;}
 .mobile-info .info-title{font-size: 14px;font-weight: bold;line-height: 36px;}

+ 122 - 23
src/views/merchant/goods/edit.vue

@@ -3,7 +3,7 @@
         <el-main>
             <el-row :gutter="20">
                 <el-col :span="18">
-                    <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top">
+                    <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="140px" label-position="right">
                         <el-card shadow="never" header="商品类型">
                             <el-form-item label="商品品类" prop="category">
                                 <el-cascader v-model="formData.category" :options="categoryData" :props="deptsProps" @change="getTemplate" clearable style="width: 50%;" />
@@ -38,16 +38,16 @@
                             </el-form-item>
                             <el-row :gutter="15">
                                 <el-col :span="12">
-                                    <el-form-item label="团购/次卡/代金券等划线价" prop="line_price">
-                                        <el-input v-model="formData.line_price" type="number" clearable placeholder="请输入">
+                                    <el-form-item label="顾客实际需支付" prop="price">
+                                        <el-input v-model="formData.price" type="number" clearable placeholder="请输入">
                                             <template #append>元</template>
                                         </el-input>
                                         <div class="el-form-item-msg"></div>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
-                                    <el-form-item label="顾客实际需支付" prop="price">
-                                        <el-input v-model="formData.price" type="number" clearable placeholder="请输入">
+                                    <el-form-item label="划线价" prop="line_price">
+                                        <el-input v-model="formData.line_price" type="number" clearable placeholder="请输入">
                                             <template #append>元</template>
                                         </el-input>
                                         <div class="el-form-item-msg"></div>
@@ -264,25 +264,29 @@
                             </el-form-item>
                             <el-form-item label="库存数量" prop="limit_use_rule">
                                 <el-radio-group v-model="formData.limit_use_rule">
-                                    <el-radio :label="1">不限制</el-radio>
-                                    <el-radio :label="2">限库存</el-radio>
+                                    <el-radio :label="2">不限制</el-radio>
+                                    <el-radio :label="1">限库存</el-radio>
                                 </el-radio-group>
-                            </el-form-item>
-                            <el-form-item label="团购库存数量" prop="use_num_per_consume" v-if="formData.limit_use_rule==2">
-                                <el-input v-model="formData.use_num_per_consume" style="width: 30%;">
-                                    <template #append>份</template>
-                                </el-input>
+                                <div class="el-form-item-msg"></div>
+                                <div class="date-list" v-if="formData.limit_use_rule==1">
+                                    <el-form-item label="" prop="use_num_per_consume">
+                                        <el-input v-model="formData.use_num_per_consume">
+                                            <template #append>份</template>
+                                            <template #prepend>团购库存数量</template>
+                                        </el-input>
+                                    </el-form-item>
+                                </div>
                             </el-form-item>
                             <el-form-item label="商品售卖日期" prop="sold_start_times">
                                 <div style="width: 30%;">
                                     <el-date-picker v-model="formData.sold_start_times" placeholder="请选择商品售卖日期" start-placeholder="开始时间" end-placeholder="结束时间" type="daterange" range-separator="至" />
                                 </div>
                                 <div class="el-form-item-msg">顾客可以在这个时间内购买商品,超过这个日期,活动自动下线</div>
+                                <div class="radio-flex">
+                                    自动延期<el-switch active-text="开" inactive-text="关" inline-prompt v-model="formData.auto_renew" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949" :active-value="1" :inactive-value="0"/>
+                                    <span class="fs12">团购到期后自动延长30天(有效期同时延长),可随时关闭。</span>
+                                </div>
                             </el-form-item>
-                            <div class="radio-flex">
-                                自动延期<el-switch active-text="开" inactive-text="关" inline-prompt v-model="formData.auto_renew" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949" :active-value="1" :inactive-value="0"/>
-                                <span class="fs12">团购到期后自动延长30天(有效期同时延长),可随时关闭。</span>
-                            </div>
                         </el-card>
                         <el-card shadow="never" header="交易规则">
                             <el-form-item label="顾客可消费日期" prop="use_date_type">
@@ -294,22 +298,66 @@
                                 <div class="el-form-item-msg" v-if="formData.use_date_type==2">
                                     可使用日期的结束时间必须晚于售卖日期的结束时间
                                 </div>
-                                <div v-if="formData.use_date_type==1">
+                                <div class="date-list" v-if="formData.use_date_type==1">
                                     <el-input v-model="formData.day_duration">
                                         <template #append>天,购买当日默认可用</template>
                                         <template #prepend>自购买次日起</template>
                                     </el-input>
                                 </div>
-                                <div v-if="formData.use_date_type==2" style="width: 30%;">
+                                <div class="date-list" v-if="formData.use_date_type==2">
                                     <el-date-picker v-model="formData.use_times" placeholder="请选择商品售卖日期" start-placeholder="开始时间" end-placeholder="结束时间" type="daterange" range-separator="至" />
                                 </div>
                             </el-form-item>
+                            <el-form-item label="顾客信息设置" prop="customer_reserved_info">
+                                <el-radio-group v-model="formData.customer_reserved_info">
+                                    <el-radio :label="1">不需要</el-radio>
+                                    <el-radio :label="2">需要顾客手机号码</el-radio>
+                                </el-radio-group>
+                                <div class="el-form-item-msg"></div>
+                            </el-form-item>
                             <el-form-item label="顾客不可消费日期" prop="can_no_use_date">
                                 <el-radio-group v-model="formData.can_no_use_date">
                                     <el-radio :label="1">所有日期均可使用</el-radio>
-                                    <!-- <el-radio :label="2">部分日期不可用</el-radio> -->
+                                    <el-radio :label="2">部分日期不可用</el-radio>
                                 </el-radio-group>
                                 <div class="el-form-item-msg"></div>
+                                <template v-if="formData.can_no_use_date==2">
+                                    <div class="date-list">
+                                        <div class="date-type-item">
+                                            <div class="item-header"><el-checkbox v-model="formData.can_no_use_week" :value="1" label="每周几不可用" /></div>
+                                            <div class="item-body" style="width: 500px;" v-if="formData.can_no_use_week">
+                                                <el-form-item label="" prop="no_use_weeks">
+                                                    <el-select v-model="formData.no_use_weeks" multiple placeholder="请选择" style="width:100%">
+                                                        <el-option v-for="(item,index) in weeksData" :key="index" :label="item.name" :value="item.key"></el-option>
+                                                    </el-select>
+                                                </el-form-item>
+                                            </div>
+                                        </div>
+                                        <!-- <div class="date-type-item">
+                                            <div class="item-header"><el-checkbox v-model="formData.can_no_use_holiday" :value="1" label="节假日不可用" /></div>
+                                            <div class="item-body" style="width: 500px;" v-if="formData.can_no_use_holiday">
+                                                <el-form-item label="" prop="no_use_holidays">
+                                                    <el-select v-model="formData.no_use_holidays" multiple placeholder="请选择" style="width:100%">
+                                                        <el-option v-for="(item,index) in holiday" :key="index" :label="item.name" :value="item.key"></el-option>
+                                                    </el-select>
+                                                </el-form-item>
+                                            </div>
+                                        </div> -->
+                                        <div class="date-type-item">
+                                            <div class="item-header"><el-checkbox v-model="formData.can_no_use_day" :value="1" label="指定某天不可用" /></div>
+                                            <div class="item-body" style="width: 500px;" v-if="formData.can_no_use_day">
+                                                <el-form-item label="" prop="no_use_days">
+                                                    <el-date-picker
+                                                        v-model="formData.no_use_days"
+                                                        type="dates"
+                                                        style="width:100%"
+                                                        placeholder="请选择日期"
+                                                    />
+                                                </el-form-item>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </template>
                             </el-form-item>
                             <el-form-item label="券码类型" prop="code_source_type">
                                 <el-radio-group v-model="formData.code_source_type" disabled>
@@ -321,13 +369,29 @@
                             
                         </el-card>
                         <el-card shadow="never" header="消费规则">
+                            <el-form-item label="使用规则">
+                                <div class="el-form-item-msg">
+                                    <el-button @click="addRule">添加规则</el-button>
+                                </div>
+                                <div class="date-list" style="margin-top: 10px;" v-if="notificationData.length > 0">
+                                    <div class="date-type-item flex" v-for="(item,index) in notificationData" :key="index">
+                                        <div class="left">
+                                            <el-input v-model="item.title" placeholder="请输入标题" />
+                                            <el-input v-model="item.content" placeholder="请输入规则内容" />
+                                        </div>
+                                        <div class="right">
+                                            <el-button type="danger" size="small" @click="removeRule(index)" circle icon="el-icon-delete"></el-button>
+                                        </div>
+                                    </div>
+                                </div>
+                            </el-form-item>
                             <el-form-item label="限购规则" prop="limit_rule_type">
                                 <el-radio-group v-model="formData.limit_rule_type">
                                     <el-radio :label="1">不限制购买</el-radio>
                                     <el-radio :label="2">限制购买</el-radio>
                                 </el-radio-group>
                                 <div class="el-form-item-msg"></div>
-                                <div v-if="formData.limit_rule_type==2">
+                                <div class="date-list" v-if="formData.limit_rule_type==2">
                                     <el-input v-model="formData.limit_rule">
                                         <template #append>份</template>
                                         <template #prepend>限制每人最多购买</template>
@@ -340,9 +404,9 @@
                                     <el-radio :label="2">到店前需要预约</el-radio>
                                 </el-radio-group>
                                 <div class="el-form-item-msg"></div>
-                                <div v-if="formData.booking_type==2">
+                                <div class="date-list" v-if="formData.booking_type==2">
                                     <el-input v-model="formData.booking_date">
-                                        <template #prepend>需提前电话预约</template>
+                                        <template #prepend>需提前</template>
                                         <template #append>
                                             <el-select v-model="formData.booking_unit" style="width: 80px;">
                                                 <el-option :value="1" label="天"></el-option>
@@ -358,7 +422,7 @@
                                     <el-radio :label="2">限制张数</el-radio>
                                 </el-radio-group>
                                 <div class="el-form-item-msg"></div>
-                                <div v-if="formData.rec_person_type==2">
+                                <div class="date-list" v-if="formData.rec_person_type==2">
                                     <el-input v-model="formData.rec_person_num_max">
                                         <template #prepend>单次消费最多使用张数</template>
                                         <template #append>张</template>
@@ -497,10 +561,25 @@ export default {
                 environment_image_list:[],
                 mult_sku:1
             },
+            holiday:[{'key':1,"name":"元旦"},{'key':2,"name":"春节"},{'key':3,"name":"清明"},{'key':4,"name":"劳动节"},{'key':5,"name":"端午节"},{'key':6,"name":"中秋节"},{'key':7,"name":"国庆节"},{'key':8,"name":"情人节"},{'key':9,"name":"圣诞节"},{'key':10,"name":"元宵节"},{'key':11,"name":"520"},{'key':12,"name":"儿童节"},{'key':13,"name":"七夕节"},{'key':14,"name":"二月二"},{'key':15,"name":"母亲节"},{'key':16,"name":"父亲节"},{'key':17,"name":"教师节"}],
+            weeksData:[{'key':1,"name":"星期一"},{'key':2,"name":"星期二"},{'key':3,"name":"星期三"},{'key':4,"name":"星期四"},{'key':5,"name":"星期五"},{'key':6,"name":"星期六"},{'key':7,"name":"星期天"},],
+            notificationData:[],
             specs:[{"name":"","num":0,"list":[ {"name":"","price":1,"weight":"1","weight_unit":'kg',"number":1} ]}],
             skuSpecs:[],
             channelLoad:false,
             rules:{
+                no_use_weeks: [
+                    {required: true, message: '请选择'}
+                ],
+                no_use_holidays: [
+                    {required: true, message: '请选择'}
+                ],
+                no_use_days: [
+                    {required: true, message: '请选择'}
+                ],
+                customer_reserved_info: [
+                    {required: true, message: '请选择'}
+                ],
                 line_price: [
                     {required: true, message: '请输入'}
                 ],
@@ -563,6 +642,15 @@ export default {
         // this.formData.sold_start_time = this.formattedCurrentDate();
     },
     methods: {
+        addRule(){
+            this.notificationData.push({"title":"","content":""});
+        },
+        removeRule(index){
+            if (this.notificationData.length <= 1) {
+                return this.$message.error("至少保留一条规则")
+            }
+            this.notificationData.splice(index,1)
+        },
         async getDetail(id,product_id){
             var resp = await this.$API.merGoods.detail.get({"id":id,"product_id":product_id});
             if (resp.code == 0) {
@@ -574,6 +662,7 @@ export default {
             this.formData = resp.data;
             this.specs = resp.data.specs;
             this.skuSpecs = resp.data.skuSpecs;
+            this.notificationData = resp.data.notification
         },
         skuResp(data){
             this.skuSpecs[data.index] = data.data;
@@ -667,6 +756,10 @@ export default {
             var { formData, $message } = this;
             var validate = await this.$refs.dialogForm.validate().catch(()=>{});
             if(!validate){ return false }
+            if (this.notificationData.length == 0) {
+                return this.$message.error("使用规则至少需要一组以上");
+            }
+            formData.notification = this.notificationData;
             formData.specs = this.specs;
             formData.skuSpecs = this.skuSpecs;
             if (formData.sold_start_times) {
@@ -705,6 +798,12 @@ export default {
 .mobile-group .body-item-li{display: flex;align-items: center;justify-content: space-between;line-height: 32px;font-size: 12px;color: #333;font-weight: bold;}
 .mobile-group .body-item-li .item-right{display: flex;align-items: center;gap: 10px;}
 
+
+.date-list{background-color: var(--el-fill-color-light);padding: 10px;border-radius: 2px;min-width: 500px;}
+.date-type-item{margin-bottom: 15px;}
+.date-type-item.flex{display: flex;align-items: center;gap: 10px;justify-content: space-between;}
+.date-type-item.flex .left{flex: 1;}
+
 .mobile-bannber{background-color: #f8f8f8;}
 .mobile-info{padding: 10px;background-color: #fff;}
 .mobile-info .info-title{font-size: 14px;font-weight: bold;line-height: 36px;}

+ 4 - 3
src/views/merchant/goods/index/components/table.vue

@@ -1,7 +1,7 @@
 <template>
     <scTable ref="table" :apiObj="list.apiObj" :params="searchKey" @selectionChange="selectionChange" row-key="id">
         <el-table-column type="selection" width="50" fixed="left"></el-table-column>
-        <el-table-column label="商品ID" width="120" fixed="left" prop="product_id">
+        <el-table-column label="商品ID" width="180" fixed="left" prop="goods_id">
             <template #default="scope">
                 {{ scope.row.goods_id?scope.row.goods_id:'审核中' }}
             </template>
@@ -39,8 +39,9 @@
         <el-table-column label="商品计划" prop="category_id" width="200"></el-table-column>
         <el-table-column label="状态" prop="enable" width="120" align="center">
             <template #default="scope">
-                <div class="status-success" v-if="scope.row.enable==1"><sc-status-indicator type="success"></sc-status-indicator> 正常</div>
-                <div class="status-danger" v-if="scope.row.enable==2"><sc-status-indicator type="danger"></sc-status-indicator> 禁用</div>
+                <div class="status-success" v-if="scope.row.status==1"><sc-status-indicator type="success"></sc-status-indicator> 正常</div>
+                <div class="status-danger" v-if="scope.row.status==2"><sc-status-indicator type="danger"></sc-status-indicator> 禁用</div>
+                <div class="status-danger" v-if="scope.row.status==0"><sc-status-indicator type="danger"></sc-status-indicator> 审核中</div>
             </template>
         </el-table-column>
         <el-table-column label="创建时间" prop="create_at" width="180"></el-table-column>