优惠卷
This commit is contained in:
		
							parent
							
								
									ef09010f2b
								
							
						
					
					
						commit
						2649266466
					
				| 
						 | 
					@ -113,6 +113,30 @@ export function deepClone(obj) {
 | 
				
			||||||
  return result;
 | 
					  return result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * 获取时间
 | 
				
			||||||
 | 
					 * @param {*} min
 | 
				
			||||||
 | 
					 * @param {*} max
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					export function getDay(day) {
 | 
				
			||||||
 | 
					  let today = new Date();
 | 
				
			||||||
 | 
					  let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
 | 
				
			||||||
 | 
					  today.setTime(targetday_milliseconds); //注意,这行是关键代码
 | 
				
			||||||
 | 
					  let tYear = today.getFullYear();
 | 
				
			||||||
 | 
					  let tMonth = today.getMonth();
 | 
				
			||||||
 | 
					  let tDate = today.getDate();
 | 
				
			||||||
 | 
					  tMonth = doHandleMonth(tMonth + 1);
 | 
				
			||||||
 | 
					  tDate = doHandleMonth(tDate);
 | 
				
			||||||
 | 
					  return tYear + "-" + tMonth + "-" + tDate;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function doHandleMonth(month) {
 | 
				
			||||||
 | 
					  let m = month;
 | 
				
			||||||
 | 
					  if (month.toString().length === 1) {
 | 
				
			||||||
 | 
					    m = "0" + month;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return m;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function isNumberStr(str) {
 | 
					export function isNumberStr(str) {
 | 
				
			||||||
  return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str);
 | 
					  return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -181,11 +181,15 @@ export default {
 | 
				
			||||||
          render: ({ row }) => {
 | 
					          render: ({ row }) => {
 | 
				
			||||||
            let defaultBank = () => {
 | 
					            let defaultBank = () => {
 | 
				
			||||||
              if (row.default) {
 | 
					              if (row.default) {
 | 
				
			||||||
                this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
 | 
					                this.$confirm(
 | 
				
			||||||
                  confirmButtonText: "确定",
 | 
					                  "此操作将设置该银行卡为默认银行卡, 是否继续?",
 | 
				
			||||||
                  cancelButtonText: "取消",
 | 
					                  "提示",
 | 
				
			||||||
                  type: "warning",
 | 
					                  {
 | 
				
			||||||
                })
 | 
					                    confirmButtonText: "确定",
 | 
				
			||||||
 | 
					                    cancelButtonText: "取消",
 | 
				
			||||||
 | 
					                    type: "warning",
 | 
				
			||||||
 | 
					                  }
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
                  .then(() => {
 | 
					                  .then(() => {
 | 
				
			||||||
                    this.$api.mer_admin
 | 
					                    this.$api.mer_admin
 | 
				
			||||||
                      .defaultBank({
 | 
					                      .defaultBank({
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -123,7 +123,7 @@ export default {
 | 
				
			||||||
      formInline: {
 | 
					      formInline: {
 | 
				
			||||||
        marketId: "",
 | 
					        marketId: "",
 | 
				
			||||||
        shopId: "",
 | 
					        shopId: "",
 | 
				
			||||||
        queryStatus: "",
 | 
					        queryStatus: "q",
 | 
				
			||||||
        name: "",
 | 
					        name: "",
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      tableProp: {
 | 
					      tableProp: {
 | 
				
			||||||
| 
						 | 
					@ -140,7 +140,7 @@ export default {
 | 
				
			||||||
  created() {
 | 
					  created() {
 | 
				
			||||||
    this.formInline = {
 | 
					    this.formInline = {
 | 
				
			||||||
      name: "",
 | 
					      name: "",
 | 
				
			||||||
      queryStatus: "",
 | 
					      queryStatus: "1",
 | 
				
			||||||
      marketId: this.marketId,
 | 
					      marketId: this.marketId,
 | 
				
			||||||
      shopId: this.shopId,
 | 
					      shopId: this.shopId,
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
| 
						 | 
					@ -185,7 +185,7 @@ export default {
 | 
				
			||||||
    Reset() {
 | 
					    Reset() {
 | 
				
			||||||
      this.formInline = {
 | 
					      this.formInline = {
 | 
				
			||||||
        name: "",
 | 
					        name: "",
 | 
				
			||||||
        queryStatus: "",
 | 
					        queryStatus: "1",
 | 
				
			||||||
        marketId: this.marketId,
 | 
					        marketId: this.marketId,
 | 
				
			||||||
        shopId: this.shopId,
 | 
					        shopId: this.shopId,
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
| 
						 | 
					@ -294,11 +294,11 @@ export default {
 | 
				
			||||||
          align: "center",
 | 
					          align: "center",
 | 
				
			||||||
          field: "money",
 | 
					          field: "money",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        // {
 | 
				
			||||||
          title: "折扣",
 | 
					        //   title: "折扣",
 | 
				
			||||||
          align: "center",
 | 
					        //   align: "center",
 | 
				
			||||||
          field: "discount",
 | 
					        //   field: "discount",
 | 
				
			||||||
        },
 | 
					        // },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          title: "最低消费",
 | 
					          title: "最低消费",
 | 
				
			||||||
          align: "center",
 | 
					          align: "center",
 | 
				
			||||||
| 
						 | 
					@ -386,16 +386,18 @@ export default {
 | 
				
			||||||
                  });
 | 
					                  });
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            return (
 | 
					            if (row.status == 1) {
 | 
				
			||||||
              <el-switch
 | 
					              return (
 | 
				
			||||||
                onchange={changeState}
 | 
					                <el-switch
 | 
				
			||||||
                v-model={row.status}
 | 
					                  onchange={changeState}
 | 
				
			||||||
                active-text="开"
 | 
					                  v-model={row.status}
 | 
				
			||||||
                inactive-text="关"
 | 
					                  active-text="开"
 | 
				
			||||||
                active-value={1}
 | 
					                  inactive-text="关"
 | 
				
			||||||
                inactive-value={0}
 | 
					                  active-value={1}
 | 
				
			||||||
              ></el-switch>
 | 
					                  inactive-value={0}
 | 
				
			||||||
            );
 | 
					                ></el-switch>
 | 
				
			||||||
 | 
					              );
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,7 @@
 | 
				
			||||||
      :modalHandles="modalHandles"
 | 
					      :modalHandles="modalHandles"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <template slot="dialog__content">
 | 
					      <template slot="dialog__content">
 | 
				
			||||||
        <el-form :model="modalData" ref="modalForm">
 | 
					        <el-form :model="modalData" :rules="rules" ref="modalForm">
 | 
				
			||||||
          <el-form-item label-width="150px" label="优惠券名称" prop="name">
 | 
					          <el-form-item label-width="150px" label="优惠券名称" prop="name">
 | 
				
			||||||
            <el-input
 | 
					            <el-input
 | 
				
			||||||
              style="width: 350px"
 | 
					              style="width: 350px"
 | 
				
			||||||
| 
						 | 
					@ -17,7 +17,11 @@
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
            </el-input>
 | 
					            </el-input>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="使用日期" prop="name">
 | 
					          <el-form-item
 | 
				
			||||||
 | 
					            label-width="150px"
 | 
				
			||||||
 | 
					            label="使用日期"
 | 
				
			||||||
 | 
					            prop="useStartTime"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <el-date-picker
 | 
					            <el-date-picker
 | 
				
			||||||
              @change="usageDateChange"
 | 
					              @change="usageDateChange"
 | 
				
			||||||
              v-model="usageDate"
 | 
					              v-model="usageDate"
 | 
				
			||||||
| 
						 | 
					@ -26,10 +30,15 @@
 | 
				
			||||||
              range-separator="至"
 | 
					              range-separator="至"
 | 
				
			||||||
              start-placeholder="开始日期"
 | 
					              start-placeholder="开始日期"
 | 
				
			||||||
              end-placeholder="结束日期"
 | 
					              end-placeholder="结束日期"
 | 
				
			||||||
 | 
					              :picker-options="pickerOptions"
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
            </el-date-picker>
 | 
					            </el-date-picker>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="开放领取日期" prop="name">
 | 
					          <el-form-item
 | 
				
			||||||
 | 
					            label-width="150px"
 | 
				
			||||||
 | 
					            label="开放领取日期"
 | 
				
			||||||
 | 
					            prop="receiveStartTime"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <el-date-picker
 | 
					            <el-date-picker
 | 
				
			||||||
              @change="collectionDateChange"
 | 
					              @change="collectionDateChange"
 | 
				
			||||||
              v-model="collectionDate"
 | 
					              v-model="collectionDate"
 | 
				
			||||||
| 
						 | 
					@ -38,10 +47,11 @@
 | 
				
			||||||
              range-separator="至"
 | 
					              range-separator="至"
 | 
				
			||||||
              start-placeholder="开始日期"
 | 
					              start-placeholder="开始日期"
 | 
				
			||||||
              end-placeholder="结束日期"
 | 
					              end-placeholder="结束日期"
 | 
				
			||||||
 | 
					              :picker-options="pickerOptions"
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
            </el-date-picker>
 | 
					            </el-date-picker>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="选择商品" prop="targetIds">
 | 
					          <!-- <el-form-item label-width="150px" label="选择商品" prop="targetIds">
 | 
				
			||||||
            <el-input
 | 
					            <el-input
 | 
				
			||||||
              style="width: 350px"
 | 
					              style="width: 350px"
 | 
				
			||||||
              placeholder="请选择选择商品"
 | 
					              placeholder="请选择选择商品"
 | 
				
			||||||
| 
						 | 
					@ -71,23 +81,30 @@
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item> -->
 | 
				
			||||||
          <el-form-item label-width="150px" label="优惠金额" prop="targetIds">
 | 
					          <el-form-item label-width="150px" label="优惠金额" prop="money">
 | 
				
			||||||
            <el-input-number
 | 
					            <el-input-number
 | 
				
			||||||
 | 
					              placeholder="请输入"
 | 
				
			||||||
 | 
					              controls-position="right"
 | 
				
			||||||
 | 
					              :precision="2"
 | 
				
			||||||
              v-model="modalData.money"
 | 
					              v-model="modalData.money"
 | 
				
			||||||
              :min="0"
 | 
					              :min="0"
 | 
				
			||||||
 | 
					              :max="99999"
 | 
				
			||||||
              label="请输入"
 | 
					              label="请输入"
 | 
				
			||||||
            ></el-input-number>
 | 
					            ></el-input-number>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="发放数量" prop="targetIds">
 | 
					          <el-form-item label-width="150px" label="发放数量" prop="total">
 | 
				
			||||||
            <el-input-number
 | 
					            <el-input-number
 | 
				
			||||||
 | 
					              placeholder="请输入"
 | 
				
			||||||
 | 
					              controls-position="right"
 | 
				
			||||||
 | 
					              :precision="0"
 | 
				
			||||||
              v-model="modalData.total"
 | 
					              v-model="modalData.total"
 | 
				
			||||||
              :min="0"
 | 
					              :min="0"
 | 
				
			||||||
              :max="99999"
 | 
					              :max="99999"
 | 
				
			||||||
              label="请输入"
 | 
					              label="请输入"
 | 
				
			||||||
            ></el-input-number>
 | 
					            ></el-input-number>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="每人限领" prop="targetIds">
 | 
					          <el-form-item label-width="150px" label="每人限领" prop="limitedNum">
 | 
				
			||||||
            <el-select v-model="modalData.limitedNum" placeholder="请选择">
 | 
					            <el-select v-model="modalData.limitedNum" placeholder="请选择">
 | 
				
			||||||
              <el-option
 | 
					              <el-option
 | 
				
			||||||
                v-for="item in [
 | 
					                v-for="item in [
 | 
				
			||||||
| 
						 | 
					@ -131,10 +148,9 @@
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
 | 
					import { getDay } from "@/utils/index";
 | 
				
			||||||
import commodity from "./commodity.vue";
 | 
					import commodity from "./commodity.vue";
 | 
				
			||||||
import { debounce, cloneDeep } from "lodash";
 | 
					import { debounce, cloneDeep } from "lodash";
 | 
				
			||||||
import { Divider } from "element-ui";
 | 
					 | 
				
			||||||
import loginVue from "../../../common/login.vue";
 | 
					 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: { commodity },
 | 
					  components: { commodity },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
| 
						 | 
					@ -154,8 +170,66 @@ export default {
 | 
				
			||||||
      usageDate: [], //使用时间
 | 
					      usageDate: [], //使用时间
 | 
				
			||||||
      collectionDate: [], //领取日期
 | 
					      collectionDate: [], //领取日期
 | 
				
			||||||
      product: {}, //商品
 | 
					      product: {}, //商品
 | 
				
			||||||
 | 
					      pickerOptions: {
 | 
				
			||||||
 | 
					        disabledDate: (time) => {
 | 
				
			||||||
 | 
					          return time.getTime() < Date.now() - 8.64e7;
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      rules: {
 | 
				
			||||||
 | 
					        name: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入优惠券名称",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        useStartTime: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请选择使用日期",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        receiveStartTime: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请选择领取日期",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        money: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入优惠金额",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        total: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入发放数量",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        limitedNum: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请选择每人限领",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  watch: {
 | 
				
			||||||
 | 
					    "modalConfig.show"(newVal) {
 | 
				
			||||||
 | 
					      if (!newVal) {
 | 
				
			||||||
 | 
					        //关闭弹窗清空校验
 | 
				
			||||||
 | 
					        this.$refs.modalForm.resetFields();
 | 
				
			||||||
 | 
					        this.collectionDate = [];
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    queryTableData(pageNo, pageSize) {},
 | 
					    queryTableData(pageNo, pageSize) {},
 | 
				
			||||||
    toggle(e) {
 | 
					    toggle(e) {
 | 
				
			||||||
| 
						 | 
					@ -169,6 +243,11 @@ export default {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      return {
 | 
					      return {
 | 
				
			||||||
        add: (row) => {
 | 
					        add: (row) => {
 | 
				
			||||||
 | 
					          this.usageDate = [getDay(0), getDay(14)];
 | 
				
			||||||
 | 
					          let month = getDay(0).slice(5, 7);
 | 
				
			||||||
 | 
					          let day = getDay(0).slice(8, 10);
 | 
				
			||||||
 | 
					          console.log(month, day);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          this.formInline = {
 | 
					          this.formInline = {
 | 
				
			||||||
            marketId: row.marketId,
 | 
					            marketId: row.marketId,
 | 
				
			||||||
            shopId: row.shopId,
 | 
					            shopId: row.shopId,
 | 
				
			||||||
| 
						 | 
					@ -180,16 +259,18 @@ export default {
 | 
				
			||||||
              receiveType: "MANUAL",
 | 
					              receiveType: "MANUAL",
 | 
				
			||||||
              couponType: "MONEY",
 | 
					              couponType: "MONEY",
 | 
				
			||||||
              isTimeReceive: 1, //0-不限时,1-限时
 | 
					              isTimeReceive: 1, //0-不限时,1-限时
 | 
				
			||||||
              name: "",
 | 
					              name: `无门槛优惠卷${month}${day}`,
 | 
				
			||||||
              useStartTime: "",
 | 
					              useStartTime: getDay(0),
 | 
				
			||||||
              useEndTime: "",
 | 
					              useEndTime: getDay(14),
 | 
				
			||||||
              receiveStartTime: "",
 | 
					              receiveStartTime: "",
 | 
				
			||||||
              receiveEndTime: "",
 | 
					              receiveEndTime: "",
 | 
				
			||||||
              money: "",
 | 
					              money: "",
 | 
				
			||||||
              total: 10000,
 | 
					              total: 10000,
 | 
				
			||||||
              limitedNum: 0,
 | 
					              limitedNum: 1,
 | 
				
			||||||
              minPrice: 0,
 | 
					              minPrice: 0,
 | 
				
			||||||
              usableRange: "PARTIAL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
 | 
					              usableRange: "ALL", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
 | 
				
			||||||
 | 
					              targetIds: [],
 | 
				
			||||||
 | 
					              status: 1,
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            // this.$refs.modal.resetFields();
 | 
					            // this.$refs.modal.resetFields();
 | 
				
			||||||
          });
 | 
					          });
 | 
				
			||||||
| 
						 | 
					@ -202,6 +283,7 @@ export default {
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    init(row) {},
 | 
					    init(row) {},
 | 
				
			||||||
    usageDateChange(e) {
 | 
					    usageDateChange(e) {
 | 
				
			||||||
 | 
					      console.log(e);
 | 
				
			||||||
      if (e) {
 | 
					      if (e) {
 | 
				
			||||||
        this.modalData.useStartTime = e[0];
 | 
					        this.modalData.useStartTime = e[0];
 | 
				
			||||||
        this.modalData.useEndTime = e[1];
 | 
					        this.modalData.useEndTime = e[1];
 | 
				
			||||||
| 
						 | 
					@ -245,16 +327,18 @@ export default {
 | 
				
			||||||
          type: "primary",
 | 
					          type: "primary",
 | 
				
			||||||
          handle: () => {
 | 
					          handle: () => {
 | 
				
			||||||
            console.log(this.modalData);
 | 
					            console.log(this.modalData);
 | 
				
			||||||
            let data = { ...this.modalData };
 | 
					            this.$refs.modalForm.validate((valid) => {
 | 
				
			||||||
            data.targetIds = [data.targetIds];
 | 
					              console.log(valid);
 | 
				
			||||||
            console.log(this.modalData, data);
 | 
					              if (valid) {
 | 
				
			||||||
            this.$api.coupon
 | 
					                this.$api.coupon
 | 
				
			||||||
              .addCoupon({ ...data, ...this.formInline })
 | 
					                  .addCoupon({ ...this.modalData, ...this.formInline })
 | 
				
			||||||
              .then((res) => {
 | 
					                  .then((res) => {
 | 
				
			||||||
                console.log(res);
 | 
					                    console.log(res);
 | 
				
			||||||
                this.$emit("queryList");
 | 
					                    this.$emit("queryList");
 | 
				
			||||||
                this.toggle();
 | 
					                    this.toggle();
 | 
				
			||||||
              });
 | 
					                  });
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,8 +8,8 @@
 | 
				
			||||||
      :modalHandles="modalHandles"
 | 
					      :modalHandles="modalHandles"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      <template slot="dialog__content">
 | 
					      <template slot="dialog__content">
 | 
				
			||||||
        <el-form :model="modalData" ref="modalForm">
 | 
					        <el-form :model="modalData" :rules="rules" ref="modalForm">
 | 
				
			||||||
          <el-form-item label-width="150px" label="可用范围" prop="name">
 | 
					          <!-- <el-form-item label-width="150px" label="可用范围" prop="name">
 | 
				
			||||||
            <div>
 | 
					            <div>
 | 
				
			||||||
              <el-radio
 | 
					              <el-radio
 | 
				
			||||||
                v-model="modalData.usableRange"
 | 
					                v-model="modalData.usableRange"
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,7 @@
 | 
				
			||||||
                >部分摊位</el-radio
 | 
					                >部分摊位</el-radio
 | 
				
			||||||
              >
 | 
					              >
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item> -->
 | 
				
			||||||
          <el-form-item label-width="150px" label="优惠卷名称" prop="name">
 | 
					          <el-form-item label-width="150px" label="优惠卷名称" prop="name">
 | 
				
			||||||
            <el-input
 | 
					            <el-input
 | 
				
			||||||
              style="width: 350px"
 | 
					              style="width: 350px"
 | 
				
			||||||
| 
						 | 
					@ -42,7 +42,11 @@
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
            </el-input>
 | 
					            </el-input>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="使用日期" prop="name">
 | 
					          <el-form-item
 | 
				
			||||||
 | 
					            label-width="150px"
 | 
				
			||||||
 | 
					            label="使用日期"
 | 
				
			||||||
 | 
					            prop="useStartTime"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <el-date-picker
 | 
					            <el-date-picker
 | 
				
			||||||
              @change="usageDateChange"
 | 
					              @change="usageDateChange"
 | 
				
			||||||
              v-model="usageDate"
 | 
					              v-model="usageDate"
 | 
				
			||||||
| 
						 | 
					@ -51,10 +55,15 @@
 | 
				
			||||||
              range-separator="至"
 | 
					              range-separator="至"
 | 
				
			||||||
              start-placeholder="开始日期"
 | 
					              start-placeholder="开始日期"
 | 
				
			||||||
              end-placeholder="结束日期"
 | 
					              end-placeholder="结束日期"
 | 
				
			||||||
 | 
					              :picker-options="pickerOptions"
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
            </el-date-picker>
 | 
					            </el-date-picker>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="开放领取日期" prop="name">
 | 
					          <el-form-item
 | 
				
			||||||
 | 
					            label-width="150px"
 | 
				
			||||||
 | 
					            label="开放领取日期"
 | 
				
			||||||
 | 
					            prop="receiveStartTime"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
            <el-date-picker
 | 
					            <el-date-picker
 | 
				
			||||||
              @change="collectionDateChange"
 | 
					              @change="collectionDateChange"
 | 
				
			||||||
              v-model="collectionDate"
 | 
					              v-model="collectionDate"
 | 
				
			||||||
| 
						 | 
					@ -63,25 +72,42 @@
 | 
				
			||||||
              range-separator="至"
 | 
					              range-separator="至"
 | 
				
			||||||
              start-placeholder="开始日期"
 | 
					              start-placeholder="开始日期"
 | 
				
			||||||
              end-placeholder="结束日期"
 | 
					              end-placeholder="结束日期"
 | 
				
			||||||
 | 
					              :picker-options="pickerOptions"
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
            </el-date-picker>
 | 
					            </el-date-picker>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="优惠设置" prop="name">
 | 
					          <el-form-item label-width="150px" label="优惠设置(单位:元)" required>
 | 
				
			||||||
            <el-col class="line" :span="1">满</el-col>
 | 
					            <el-col class="line" :span="1">满</el-col>
 | 
				
			||||||
            <el-col :span="7">
 | 
					            <el-col :span="7">
 | 
				
			||||||
              <el-input placeholder="请输入" v-model="modalData.minPrice">
 | 
					              <el-form-item prop="minPrice">
 | 
				
			||||||
                <template slot="append">元</template>
 | 
					                <el-input-number
 | 
				
			||||||
              </el-input>
 | 
					                  placeholder="请输入"
 | 
				
			||||||
 | 
					                  controls-position="right"
 | 
				
			||||||
 | 
					                  :precision="0"
 | 
				
			||||||
 | 
					                  v-model="modalData.minPrice"
 | 
				
			||||||
 | 
					                  :min="0"
 | 
				
			||||||
 | 
					                  :max="99999"
 | 
				
			||||||
 | 
					                  label="请输入"
 | 
				
			||||||
 | 
					                ></el-input-number>
 | 
				
			||||||
 | 
					              </el-form-item>
 | 
				
			||||||
            </el-col>
 | 
					            </el-col>
 | 
				
			||||||
            <el-col class="line" :span="1"></el-col>
 | 
					            <el-col class="line" :span="1"></el-col>
 | 
				
			||||||
            <el-col class="line" :span="1">减</el-col>
 | 
					            <el-col class="line" :span="1">减</el-col>
 | 
				
			||||||
            <el-col :span="7">
 | 
					            <el-col :span="7">
 | 
				
			||||||
              <el-input placeholder="请输入" v-model="modalData.money">
 | 
					              <el-form-item prop="money">
 | 
				
			||||||
                <template slot="append">元</template>
 | 
					                <el-input-number
 | 
				
			||||||
              </el-input>
 | 
					                  placeholder="请输入"
 | 
				
			||||||
 | 
					                  controls-position="right"
 | 
				
			||||||
 | 
					                  :precision="0"
 | 
				
			||||||
 | 
					                  v-model="modalData.money"
 | 
				
			||||||
 | 
					                  :min="0"
 | 
				
			||||||
 | 
					                  :max="99999"
 | 
				
			||||||
 | 
					                  label="请输入"
 | 
				
			||||||
 | 
					                ></el-input-number>
 | 
				
			||||||
 | 
					              </el-form-item>
 | 
				
			||||||
            </el-col>
 | 
					            </el-col>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item
 | 
					          <!-- <el-form-item
 | 
				
			||||||
            v-if="modalData.usableRange === 'ALL_GOODS'"
 | 
					            v-if="modalData.usableRange === 'ALL_GOODS'"
 | 
				
			||||||
            label-width="150px"
 | 
					            label-width="150px"
 | 
				
			||||||
            label="选择商品"
 | 
					            label="选择商品"
 | 
				
			||||||
| 
						 | 
					@ -95,8 +121,8 @@
 | 
				
			||||||
              <template slot="append">
 | 
					              <template slot="append">
 | 
				
			||||||
                <el-button @click="selectProduct">请选择</el-button>
 | 
					                <el-button @click="selectProduct">请选择</el-button>
 | 
				
			||||||
              </template>
 | 
					              </template>
 | 
				
			||||||
            </el-input>
 | 
					            </el-input> -->
 | 
				
			||||||
            <div v-if="product.name" class="product">
 | 
					          <!-- <div v-if="product.name" class="product">
 | 
				
			||||||
              <div>
 | 
					              <div>
 | 
				
			||||||
                <el-image
 | 
					                <el-image
 | 
				
			||||||
                  style="width: 80px; height: 80px; margin-right: 10px"
 | 
					                  style="width: 80px; height: 80px; margin-right: 10px"
 | 
				
			||||||
| 
						 | 
					@ -115,17 +141,20 @@
 | 
				
			||||||
                  ¥{{ product.minSalePrice }}
 | 
					                  ¥{{ product.minSalePrice }}
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </div>
 | 
					            </div> -->
 | 
				
			||||||
          </el-form-item>
 | 
					          <!-- </el-form-item> -->
 | 
				
			||||||
          <el-form-item label-width="150px" label="发放数量" prop="targetIds">
 | 
					          <el-form-item label-width="150px" label="发放数量" prop="total">
 | 
				
			||||||
            <el-input-number
 | 
					            <el-input-number
 | 
				
			||||||
 | 
					              placeholder="请输入"
 | 
				
			||||||
 | 
					              controls-position="right"
 | 
				
			||||||
 | 
					              :precision="0"
 | 
				
			||||||
              v-model="modalData.total"
 | 
					              v-model="modalData.total"
 | 
				
			||||||
              :min="0"
 | 
					              :min="0"
 | 
				
			||||||
              :max="99999"
 | 
					              :max="99999"
 | 
				
			||||||
              label="请输入"
 | 
					              label="请输入"
 | 
				
			||||||
            ></el-input-number>
 | 
					            ></el-input-number>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="每人限领" prop="targetIds">
 | 
					          <el-form-item label-width="150px" label="每人限领" prop="limitedNum">
 | 
				
			||||||
            <el-select v-model="modalData.limitedNum" placeholder="请选择">
 | 
					            <el-select v-model="modalData.limitedNum" placeholder="请选择">
 | 
				
			||||||
              <el-option
 | 
					              <el-option
 | 
				
			||||||
                v-for="item in [
 | 
					                v-for="item in [
 | 
				
			||||||
| 
						 | 
					@ -169,10 +198,9 @@
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
 | 
					import { getDay } from "@/utils/index";
 | 
				
			||||||
import commodity from "./commodity.vue";
 | 
					import commodity from "./commodity.vue";
 | 
				
			||||||
import { debounce, cloneDeep } from "lodash";
 | 
					import { debounce, cloneDeep } from "lodash";
 | 
				
			||||||
import { Divider } from "element-ui";
 | 
					 | 
				
			||||||
import loginVue from "../../../common/login.vue";
 | 
					 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: { commodity },
 | 
					  components: { commodity },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
| 
						 | 
					@ -192,8 +220,73 @@ export default {
 | 
				
			||||||
      usageDate: [], //使用时间
 | 
					      usageDate: [], //使用时间
 | 
				
			||||||
      collectionDate: [], //领取日期
 | 
					      collectionDate: [], //领取日期
 | 
				
			||||||
      product: {}, //商品
 | 
					      product: {}, //商品
 | 
				
			||||||
 | 
					      pickerOptions: {
 | 
				
			||||||
 | 
					        disabledDate: (time) => {
 | 
				
			||||||
 | 
					          return time.getTime() < Date.now() - 8.64e7;
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      rules: {
 | 
				
			||||||
 | 
					        name: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入优惠券名称",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        useStartTime: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请选择使用日期",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        receiveStartTime: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请选择领取日期",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        minPrice: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入满减条件",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        money: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入优惠金额",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        total: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入发放数量",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        limitedNum: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请选择每人限领",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  watch: {
 | 
				
			||||||
 | 
					    "modalConfig.show"(newVal) {
 | 
				
			||||||
 | 
					      if (!newVal) {
 | 
				
			||||||
 | 
					        //关闭弹窗清空校验
 | 
				
			||||||
 | 
					        this.$refs.modalForm.resetFields();
 | 
				
			||||||
 | 
					        this.collectionDate = [];
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    queryTableData(pageNo, pageSize) {},
 | 
					    queryTableData(pageNo, pageSize) {},
 | 
				
			||||||
    toggle(e) {
 | 
					    toggle(e) {
 | 
				
			||||||
| 
						 | 
					@ -207,6 +300,9 @@ export default {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      return {
 | 
					      return {
 | 
				
			||||||
        add: (row) => {
 | 
					        add: (row) => {
 | 
				
			||||||
 | 
					          this.usageDate = [getDay(0), getDay(14)];
 | 
				
			||||||
 | 
					          let month = getDay(0).slice(5, 7);
 | 
				
			||||||
 | 
					          let day = getDay(0).slice(8, 10);
 | 
				
			||||||
          this.formInline = {
 | 
					          this.formInline = {
 | 
				
			||||||
            marketId: row.marketId,
 | 
					            marketId: row.marketId,
 | 
				
			||||||
            shopId: row.shopId,
 | 
					            shopId: row.shopId,
 | 
				
			||||||
| 
						 | 
					@ -214,20 +310,22 @@ export default {
 | 
				
			||||||
          this.modalConfig.title = `添加${row.label}`;
 | 
					          this.modalConfig.title = `添加${row.label}`;
 | 
				
			||||||
          this.$nextTick(() => {
 | 
					          this.$nextTick(() => {
 | 
				
			||||||
            this.modalData = {
 | 
					            this.modalData = {
 | 
				
			||||||
              category: "NO_THRESHOLD",
 | 
					              category: "MAX_OUT",
 | 
				
			||||||
              receiveType: "MANUAL",
 | 
					              receiveType: "MANUAL",
 | 
				
			||||||
              couponType: "MONEY",
 | 
					              couponType: "MONEY",
 | 
				
			||||||
              isTimeReceive: 1, //0-不限时,1-限时
 | 
					              isTimeReceive: 1, //0-不限时,1-限时
 | 
				
			||||||
              name: "",
 | 
					              name: `满减卷${month}${day}`,
 | 
				
			||||||
              useStartTime: "",
 | 
					              useStartTime: getDay(0),
 | 
				
			||||||
              useEndTime: "",
 | 
					              useEndTime: getDay(14),
 | 
				
			||||||
              receiveStartTime: "",
 | 
					              receiveStartTime: "",
 | 
				
			||||||
              receiveEndTime: "",
 | 
					              receiveEndTime: "",
 | 
				
			||||||
              money: "",
 | 
					              money: "",
 | 
				
			||||||
              total: 10000,
 | 
					              total: 10000,
 | 
				
			||||||
              limitedNum: 0,
 | 
					              limitedNum: 0,
 | 
				
			||||||
              minPrice: 0,
 | 
					              minPrice: 0,
 | 
				
			||||||
              usableRange: "PARTIAL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
 | 
					              usableRange: "ALL", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
 | 
				
			||||||
 | 
					              status: 1,
 | 
				
			||||||
 | 
					              targetIds: [],
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            // this.$refs.modal.resetFields();
 | 
					            // this.$refs.modal.resetFields();
 | 
				
			||||||
          });
 | 
					          });
 | 
				
			||||||
| 
						 | 
					@ -283,16 +381,18 @@ export default {
 | 
				
			||||||
          type: "primary",
 | 
					          type: "primary",
 | 
				
			||||||
          handle: () => {
 | 
					          handle: () => {
 | 
				
			||||||
            console.log(this.modalData);
 | 
					            console.log(this.modalData);
 | 
				
			||||||
            let data = { ...this.modalData };
 | 
					
 | 
				
			||||||
            data.targetIds = [data.targetIds];
 | 
					            this.$refs.modalForm.validate((valid) => {
 | 
				
			||||||
            console.log(this.modalData, data);
 | 
					              if (valid) {
 | 
				
			||||||
            this.$api.coupon
 | 
					                this.$api.coupon
 | 
				
			||||||
              .addCoupon({ ...data, ...this.formInline })
 | 
					                  .addCoupon({ ...this.modalData, ...this.formInline })
 | 
				
			||||||
              .then((res) => {
 | 
					                  .then((res) => {
 | 
				
			||||||
                console.log(res);
 | 
					                    console.log(res);
 | 
				
			||||||
                this.$emit("queryList");
 | 
					                    this.$emit("queryList");
 | 
				
			||||||
                this.toggle();
 | 
					                    this.toggle();
 | 
				
			||||||
              });
 | 
					                  });
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,7 +17,7 @@
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
            </el-input>
 | 
					            </el-input>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="使用时间:" prop="day">
 | 
					          <!-- <el-form-item label-width="150px" label="使用时间:" prop="day">
 | 
				
			||||||
            <el-col class="line" :span="2">领取后</el-col>
 | 
					            <el-col class="line" :span="2">领取后</el-col>
 | 
				
			||||||
            <el-col :span="7">
 | 
					            <el-col :span="7">
 | 
				
			||||||
              <el-input-number
 | 
					              <el-input-number
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,40 @@
 | 
				
			||||||
            <el-col style="margin-left: 8px" :span="5"
 | 
					            <el-col style="margin-left: 8px" :span="5"
 | 
				
			||||||
              >(单位:天) 内可使用</el-col
 | 
					              >(单位:天) 内可使用</el-col
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
 | 
					          </el-form-item> -->
 | 
				
			||||||
 | 
					          <el-form-item
 | 
				
			||||||
 | 
					            label-width="150px"
 | 
				
			||||||
 | 
					            label="使用日期:"
 | 
				
			||||||
 | 
					            prop="useStartTime"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					            <el-date-picker
 | 
				
			||||||
 | 
					              @change="usageDateChange"
 | 
				
			||||||
 | 
					              v-model="usageDate"
 | 
				
			||||||
 | 
					              value-format="yyyy-MM-dd"
 | 
				
			||||||
 | 
					              type="daterange"
 | 
				
			||||||
 | 
					              range-separator="至"
 | 
				
			||||||
 | 
					              start-placeholder="开始日期"
 | 
				
			||||||
 | 
					              end-placeholder="结束日期"
 | 
				
			||||||
 | 
					              :picker-options="pickerOptions"
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
 | 
					            </el-date-picker>
 | 
				
			||||||
 | 
					          </el-form-item>
 | 
				
			||||||
 | 
					          <el-form-item
 | 
				
			||||||
 | 
					            label-width="150px"
 | 
				
			||||||
 | 
					            label="开放领取日期:"
 | 
				
			||||||
 | 
					            prop="receiveStartTime"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					            <el-date-picker
 | 
				
			||||||
 | 
					              @change="collectionDateChange"
 | 
				
			||||||
 | 
					              v-model="collectionDate"
 | 
				
			||||||
 | 
					              value-format="yyyy-MM-dd"
 | 
				
			||||||
 | 
					              type="daterange"
 | 
				
			||||||
 | 
					              range-separator="至"
 | 
				
			||||||
 | 
					              start-placeholder="开始日期"
 | 
				
			||||||
 | 
					              end-placeholder="结束日期"
 | 
				
			||||||
 | 
					              :picker-options="pickerOptions"
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
 | 
					            </el-date-picker>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="可用范围:" prop="name">
 | 
					          <el-form-item label-width="150px" label="可用范围:" prop="name">
 | 
				
			||||||
            <div>
 | 
					            <div>
 | 
				
			||||||
| 
						 | 
					@ -55,7 +89,7 @@
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item
 | 
					          <el-form-item
 | 
				
			||||||
            v-if="!threshold"
 | 
					            v-show="!threshold"
 | 
				
			||||||
            label-width="150px"
 | 
					            label-width="150px"
 | 
				
			||||||
            label="优惠金额:"
 | 
					            label="优惠金额:"
 | 
				
			||||||
            prop="money"
 | 
					            prop="money"
 | 
				
			||||||
| 
						 | 
					@ -74,37 +108,40 @@
 | 
				
			||||||
            <span>(单位:元)</span>
 | 
					            <span>(单位:元)</span>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item
 | 
					          <el-form-item
 | 
				
			||||||
            v-if="threshold"
 | 
					            v-show="threshold"
 | 
				
			||||||
            label-width="150px"
 | 
					            label-width="150px"
 | 
				
			||||||
            label="优惠设置:"
 | 
					            label="优惠设置(单位:元)"
 | 
				
			||||||
            prop="money"
 | 
					            required
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            <el-col class="line" :span="1">满</el-col>
 | 
					            <el-col class="line" :span="1">满</el-col>
 | 
				
			||||||
            <el-col :span="7">
 | 
					            <el-col :span="7">
 | 
				
			||||||
              <el-input-number
 | 
					              <el-form-item prop="minPrice">
 | 
				
			||||||
                placeholder="请输入"
 | 
					                <el-input-number
 | 
				
			||||||
                controls-position="right"
 | 
					                  placeholder="请输入"
 | 
				
			||||||
                :precision="0"
 | 
					                  controls-position="right"
 | 
				
			||||||
                v-model="modalData.minPrice"
 | 
					                  :precision="0"
 | 
				
			||||||
                :min="0"
 | 
					                  v-model="modalData.minPrice"
 | 
				
			||||||
                :max="99999"
 | 
					                  :min="0"
 | 
				
			||||||
                label="请输入"
 | 
					                  :max="99999"
 | 
				
			||||||
              ></el-input-number>
 | 
					                  label="请输入"
 | 
				
			||||||
 | 
					                ></el-input-number>
 | 
				
			||||||
 | 
					              </el-form-item>
 | 
				
			||||||
            </el-col>
 | 
					            </el-col>
 | 
				
			||||||
            <el-col class="line" :span="1"></el-col>
 | 
					            <el-col class="line" :span="1"></el-col>
 | 
				
			||||||
            <el-col class="line" :span="1">减</el-col>
 | 
					            <el-col class="line" :span="1">减</el-col>
 | 
				
			||||||
            <el-col :span="7">
 | 
					            <el-col :span="7">
 | 
				
			||||||
              <el-input-number
 | 
					              <el-form-item prop="money">
 | 
				
			||||||
                placeholder="请输入"
 | 
					                <el-input-number
 | 
				
			||||||
                controls-position="right"
 | 
					                  placeholder="请输入"
 | 
				
			||||||
                :precision="0"
 | 
					                  controls-position="right"
 | 
				
			||||||
                v-model="modalData.money"
 | 
					                  :precision="0"
 | 
				
			||||||
                :min="0"
 | 
					                  v-model="modalData.money"
 | 
				
			||||||
                :max="modalData.minPrice"
 | 
					                  :min="0"
 | 
				
			||||||
                label="请输入"
 | 
					                  :max="99999"
 | 
				
			||||||
              ></el-input-number>
 | 
					                  label="请输入"
 | 
				
			||||||
 | 
					                ></el-input-number>
 | 
				
			||||||
 | 
					              </el-form-item>
 | 
				
			||||||
            </el-col>
 | 
					            </el-col>
 | 
				
			||||||
            <span>(单位:元)</span>
 | 
					 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
          <el-form-item label-width="150px" label="发放数量:" prop="total">
 | 
					          <el-form-item label-width="150px" label="发放数量:" prop="total">
 | 
				
			||||||
            <el-input-number
 | 
					            <el-input-number
 | 
				
			||||||
| 
						 | 
					@ -121,7 +158,11 @@
 | 
				
			||||||
            label="每人限领:"
 | 
					            label="每人限领:"
 | 
				
			||||||
            prop="limitedNum"
 | 
					            prop="limitedNum"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            <el-select v-model="modalData.limitedNum" placeholder="请选择">
 | 
					            <el-select
 | 
				
			||||||
 | 
					              disabled
 | 
				
			||||||
 | 
					              v-model="modalData.limitedNum"
 | 
				
			||||||
 | 
					              placeholder="请选择"
 | 
				
			||||||
 | 
					            >
 | 
				
			||||||
              <el-option
 | 
					              <el-option
 | 
				
			||||||
                v-for="item in [
 | 
					                v-for="item in [
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
| 
						 | 
					@ -162,6 +203,7 @@
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
 | 
					import { getDay } from "@/utils/index";
 | 
				
			||||||
import { debounce, cloneDeep } from "lodash";
 | 
					import { debounce, cloneDeep } from "lodash";
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: {},
 | 
					  components: {},
 | 
				
			||||||
| 
						 | 
					@ -182,6 +224,11 @@ export default {
 | 
				
			||||||
      modalData: {},
 | 
					      modalData: {},
 | 
				
			||||||
      usageDate: [], //使用时间
 | 
					      usageDate: [], //使用时间
 | 
				
			||||||
      collectionDate: [], //领取日期
 | 
					      collectionDate: [], //领取日期
 | 
				
			||||||
 | 
					      pickerOptions: {
 | 
				
			||||||
 | 
					        disabledDate: (time) => {
 | 
				
			||||||
 | 
					          return time.getTime() < Date.now() - 8.64e7;
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
      rules: {
 | 
					      rules: {
 | 
				
			||||||
        name: [
 | 
					        name: [
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
| 
						 | 
					@ -191,11 +238,32 @@ export default {
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          { min: 1, max: 10, message: "长度10字符以内", trigger: "blur" },
 | 
					          { min: 1, max: 10, message: "长度10字符以内", trigger: "blur" },
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        day: [
 | 
					        useStartTime: [
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            required: true,
 | 
					            required: true,
 | 
				
			||||||
            message: "请输入领取后有效天数",
 | 
					            message: "请选择使用日期",
 | 
				
			||||||
            trigger: "blur",
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        receiveStartTime: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请选择领取日期",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        // day: [
 | 
				
			||||||
 | 
					        //   {
 | 
				
			||||||
 | 
					        //     required: true,
 | 
				
			||||||
 | 
					        //     message: "请输入领取后有效天数",
 | 
				
			||||||
 | 
					        //     trigger: "blur",
 | 
				
			||||||
 | 
					        //   },
 | 
				
			||||||
 | 
					        // ],
 | 
				
			||||||
 | 
					        minPrice: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入满减条件",
 | 
				
			||||||
 | 
					            trigger: ["blur", "change"],
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        money: [
 | 
					        money: [
 | 
				
			||||||
| 
						 | 
					@ -222,6 +290,16 @@ export default {
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  watch: {
 | 
				
			||||||
 | 
					    "modalConfig.show"(newVal) {
 | 
				
			||||||
 | 
					      if (!newVal) {
 | 
				
			||||||
 | 
					        //关闭弹窗清空校验
 | 
				
			||||||
 | 
					        this.$refs.modalForm.resetFields();
 | 
				
			||||||
 | 
					        this.collectionDate = [];
 | 
				
			||||||
 | 
					        this.threshold = false;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    queryTableData(pageNo, pageSize) {},
 | 
					    queryTableData(pageNo, pageSize) {},
 | 
				
			||||||
    toggle(e) {
 | 
					    toggle(e) {
 | 
				
			||||||
| 
						 | 
					@ -235,6 +313,9 @@ export default {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      return {
 | 
					      return {
 | 
				
			||||||
        add: (row) => {
 | 
					        add: (row) => {
 | 
				
			||||||
 | 
					          this.usageDate = [getDay(0), getDay(14)];
 | 
				
			||||||
 | 
					          let month = getDay(0).slice(5, 7);
 | 
				
			||||||
 | 
					          let day = getDay(0).slice(8, 10);
 | 
				
			||||||
          this.formInline = {
 | 
					          this.formInline = {
 | 
				
			||||||
            marketId: row.marketId,
 | 
					            marketId: row.marketId,
 | 
				
			||||||
            shopId: row.shopId,
 | 
					            shopId: row.shopId,
 | 
				
			||||||
| 
						 | 
					@ -245,14 +326,20 @@ export default {
 | 
				
			||||||
              category: "FIRST_ATTENTION",
 | 
					              category: "FIRST_ATTENTION",
 | 
				
			||||||
              receiveType: "MANUAL",
 | 
					              receiveType: "MANUAL",
 | 
				
			||||||
              couponType: "MONEY",
 | 
					              couponType: "MONEY",
 | 
				
			||||||
              isTimeReceive: 0, //0-不限时,1-限时
 | 
					              isTimeReceive: 1, //0-不限时,1-限时
 | 
				
			||||||
              name: "",
 | 
					              name: `新粉优惠卷${month}${day}`,
 | 
				
			||||||
              day: "7",
 | 
					              // day: "7",
 | 
				
			||||||
 | 
					              useStartTime: getDay(0),
 | 
				
			||||||
 | 
					              useEndTime: getDay(14),
 | 
				
			||||||
 | 
					              receiveStartTime: "",
 | 
				
			||||||
 | 
					              receiveEndTime: "",
 | 
				
			||||||
              money: "",
 | 
					              money: "",
 | 
				
			||||||
              total: 10000,
 | 
					              total: 10000,
 | 
				
			||||||
              limitedNum: 0,
 | 
					              limitedNum: 1,
 | 
				
			||||||
              minPrice: 0,
 | 
					              minPrice: 0,
 | 
				
			||||||
              usableRange: "ALL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
 | 
					              usableRange: "ALL", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
 | 
				
			||||||
 | 
					              status: 1,
 | 
				
			||||||
 | 
					              targetIds: [],
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            // this.$refs.modal.resetFields();
 | 
					            // this.$refs.modal.resetFields();
 | 
				
			||||||
          });
 | 
					          });
 | 
				
			||||||
| 
						 | 
					@ -264,6 +351,24 @@ export default {
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    init(row) {},
 | 
					    init(row) {},
 | 
				
			||||||
 | 
					    usageDateChange(e) {
 | 
				
			||||||
 | 
					      if (e) {
 | 
				
			||||||
 | 
					        this.modalData.useStartTime = e[0];
 | 
				
			||||||
 | 
					        this.modalData.useEndTime = e[1];
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        this.modalData.useStartTime = "";
 | 
				
			||||||
 | 
					        this.modalData.useEndTime = "";
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    collectionDateChange(e) {
 | 
				
			||||||
 | 
					      if (e) {
 | 
				
			||||||
 | 
					        this.modalData.receiveStartTime = e[0];
 | 
				
			||||||
 | 
					        this.modalData.receiveEndTime = e[1];
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        this.modalData.receiveStartTime = "";
 | 
				
			||||||
 | 
					        this.modalData.receiveEndTime = "";
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    changeThreshold(e) {
 | 
					    changeThreshold(e) {
 | 
				
			||||||
      if (e) {
 | 
					      if (e) {
 | 
				
			||||||
        this.modalData.minPrice = 0;
 | 
					        this.modalData.minPrice = 0;
 | 
				
			||||||
| 
						 | 
					@ -288,13 +393,17 @@ export default {
 | 
				
			||||||
          type: "primary",
 | 
					          type: "primary",
 | 
				
			||||||
          handle: () => {
 | 
					          handle: () => {
 | 
				
			||||||
            console.log(this.modalData);
 | 
					            console.log(this.modalData);
 | 
				
			||||||
            this.$api.coupon
 | 
					            this.$refs.modalForm.validate((valid) => {
 | 
				
			||||||
              .addCoupon({ ...this.modalData, ...this.formInline })
 | 
					              if (valid) {
 | 
				
			||||||
              .then((res) => {
 | 
					                this.$api.coupon
 | 
				
			||||||
                console.log(res);
 | 
					                  .addCoupon({ ...this.modalData, ...this.formInline })
 | 
				
			||||||
                this.$emit("queryList");
 | 
					                  .then((res) => {
 | 
				
			||||||
                this.toggle();
 | 
					                    console.log(res);
 | 
				
			||||||
              });
 | 
					                    this.$emit("queryList");
 | 
				
			||||||
 | 
					                    this.toggle();
 | 
				
			||||||
 | 
					                  });
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue