edit-shop-goods-detail-purchase-service.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <template>
  2. <div>
  3. <!-- 内容 -->
  4. <div class="content-wrap" v-show="diyStore.editTab == 'content'">
  5. <div class="edit-attr-item-wrap">
  6. <el-form label-width="80px" class="px-[10px]">
  7. <el-form-item label="是否显示">
  8. <el-checkbox-group v-model="serviceConfig" @change="serviceConfigChange" :min="2">
  9. <el-checkbox label="商品服务" value="goods_service" />
  10. <el-checkbox label="规格选择" value="spec_select" />
  11. <el-checkbox label="配送信息" value="delivery_info" />
  12. <el-checkbox label="领券(领取优惠券)" value="coupons" />
  13. <el-checkbox label="优惠活动展示" value="activity" />
  14. </el-checkbox-group>
  15. <div class="text-sm text-gray-400">商品服务最少选择2个</div>
  16. </el-form-item>
  17. </el-form>
  18. </div>
  19. </div>
  20. <!-- 样式 -->
  21. <div class="style-wrap" v-show="diyStore.editTab == 'style'">
  22. <!-- 组件样式 -->
  23. <slot name="style"></slot>
  24. </div>
  25. </div>
  26. </template>
  27. <script lang="ts" setup>
  28. import useDiyStore from '@/store/modules/diy';
  29. import { ref, reactive } from 'vue';
  30. const diyStore: any = useDiyStore();
  31. diyStore.editComponent.ignore = []; // 忽略公共属性
  32. const serviceConfig = ref([]);
  33. if (diyStore.editComponent.serviceConfig) {
  34. serviceConfig.value =
  35. typeof diyStore.editComponent.serviceConfig == 'object' ? diyStore.editComponent.serviceConfig : diyStore.editComponent.serviceConfig.split(',');
  36. }
  37. const serviceConfigChange = (val: any) => {
  38. diyStore.editComponent.serviceConfig = val;
  39. };
  40. // 组件验证
  41. diyStore.editComponent.verify = (index: number) => {
  42. const res = { code: true, message: '' };
  43. return res;
  44. };
  45. defineExpose({});
  46. </script>
  47. <style lang="scss" scoped></style>