Просмотр исходного кода

feat: 商品赠送会员-管理端配置区块

iwt 1 месяц назад
Родитель
Сommit
b4d4f3ef32
3 измененных файлов с 32 добавлено и 3 удалено
  1. 1 1
      cfc-web/.last_build_commit
  2. 2 2
      cfc-web/package-lock.json
  3. 29 0
      cfc-web/src/views/admin/ProductEdit.vue

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-17b99c66a5489710f8ed6fcce214ec53a0e630ca
+ee86981e83d8ac38e7f6170d3853d7658b56d984

+ 2 - 2
cfc-web/package-lock.json

@@ -1,12 +1,12 @@
 {
 {
   "name": "cfc-web",
   "name": "cfc-web",
-  "version": "1.0.761",
+  "version": "1.0.762",
   "lockfileVersion": 3,
   "lockfileVersion": 3,
   "requires": true,
   "requires": true,
   "packages": {
   "packages": {
     "": {
     "": {
       "name": "cfc-web",
       "name": "cfc-web",
-      "version": "1.0.761",
+      "version": "1.0.762",
       "dependencies": {
       "dependencies": {
         "@wangeditor/editor": "^5.1.23",
         "@wangeditor/editor": "^5.1.23",
         "@wangeditor/editor-for-vue": "^1.0.2",
         "@wangeditor/editor-for-vue": "^1.0.2",

+ 29 - 0
cfc-web/src/views/admin/ProductEdit.vue

@@ -402,6 +402,8 @@ export default {
           this.loadDimensionWeights(p.id)
           this.loadDimensionWeights(p.id)
           // Load purchase fields config
           // Load purchase fields config
           this.loadPurchaseFields(p.id)
           this.loadPurchaseFields(p.id)
+          // 赠送会员规则回显
+          this.loadGiftRule(p.id)
           // v-model 已绑定 form.description,editor 内容自动更新
           // v-model 已绑定 form.description,editor 内容自动更新
         }
         }
       } catch (e) {
       } catch (e) {
@@ -455,6 +457,24 @@ export default {
         console.warn('加载购买字段配置失败', e)
         console.warn('加载购买字段配置失败', e)
       }
       }
     },
     },
+    async loadGiftRule(productId) {
+      try {
+        const lvRes = await listMembershipLevels()
+        if (lvRes.code === 200 && Array.isArray(lvRes.data)) {
+          this.membershipLevels = lvRes.data.filter(l => l.levelCode !== 'FREE')
+        }
+        const ruleRes = await listProductGiftRules(productId)
+        if (ruleRes.code === 200 && Array.isArray(ruleRes.data) && ruleRes.data.length > 0) {
+          const active = ruleRes.data.find(r => r.status === 1)
+          if (active) {
+            this.giftRuleEnabled = true
+            this.giftRuleLevel = active.levelCode
+          }
+        }
+      } catch (e) {
+        console.warn('加载赠送会员规则失败', e)
+      }
+    },
     handlePurchaseFieldsToggle(val) {
     handlePurchaseFieldsToggle(val) {
       if (!val) {
       if (!val) {
         this.predefinedFields.forEach(pf => { pf.selected = false })
         this.predefinedFields.forEach(pf => { pf.selected = false })
@@ -570,6 +590,15 @@ export default {
                 console.warn('保存购买字段配置失败', e)
                 console.warn('保存购买字段配置失败', e)
               }
               }
             }
             }
+            // 保存赠送会员规则
+            if (productId) {
+              try {
+                await saveProductGiftRule(productId, this.giftRuleEnabled ? 1 : 0,
+                  this.giftRuleEnabled ? this.giftRuleLevel : '')
+              } catch (e) {
+                console.warn('保存赠送会员规则失败', e)
+              }
+            }
             this.$message.success(this.isEdit ? '保存成功' : '创建成功')
             this.$message.success(this.isEdit ? '保存成功' : '创建成功')
             this.$router.push('/product-manage')
             this.$router.push('/product-manage')
           } else {
           } else {