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

feat: 修改升级内容弹框,刷新价格

cuiyalong 2 месяцев назад
Родитель
Сommit
d3c5722c26

+ 4 - 1
src/views/create-order/components/schema-form/products/common.js

@@ -250,7 +250,10 @@ export function createMainSubAccountSchema() {
     key: 'subAccountNumbers',
     className: 'sub-account-numbers',
     component: AccountNumbers,
-    defaultValue: {},
+    defaultValue: {
+      payCount: '',
+      freeCount: '',
+    },
     changedSchema: true,
     props: {
       showFreeCount: true,

+ 34 - 12
src/views/create-order/components/schema-form/schema-form.vue

@@ -908,7 +908,9 @@ export default {
         if (re && re.empowerCount) {
           // 赋值
           // const payCount = re.empowerCount - 1 <= 0 ? 1 : re.empowerCount - 1
-          const payCount = re.payUserCount - 1 < 0 ? '' : re.payUserCount - 1
+          // payUserCount: 付费子账号数量
+          const payCount = re.payUserCount < 0 ? '' : re.payUserCount
+          // gifUserCount: 赠送子账号数量
           const freeCount = re.gifUserCount
           const subAccountNumbers = {
             payCount,
@@ -922,9 +924,20 @@ export default {
       } else if (payment === 3) {
         // 升级
         main.show = false
-        sub.required = true
-        sub.label = '账号数量'
-        this.$set(sub.props, 'disabled', false)
+        
+        const upgradeContent = value[schemaKeyMap.upgradeContent]
+        if (Array.isArray(upgradeContent)) {
+          // 包含增购子账号
+          if (upgradeContent.includes(2)) {
+            sub.required = true
+            sub.label = '账号数量'
+            this.$set(sub.props, 'disabled', false)
+          } else {
+            sub.required = false
+            this.$set(sub.props, 'disabled', true)
+            this.refreshValue({ subAccountNumbers: cloneDeep(this.defaultValue.subAccountNumbers) })
+          }
+        }
       } else {
         sub.required = false
         this.$set(sub.props, 'disabled', false)
@@ -1143,14 +1156,23 @@ export default {
         this.$set(ma.props, 'alreadyBuyIds', [])
       } else if (payment === 3) {
         // 2.如果是升级,则禁用已选的
-        let disabledService = []
-        const t = this.activityCard ? {} : this.selectedRelatedOrder
-        if (t && Array.isArray(t.serviceList)) {
-          disabledService = t.serviceList
+        const upgradeContent = value[schemaKeyMap.upgradeContent]
+        if (Array.isArray(upgradeContent)) {
+          let alreadyBuyIds = []
+          const t = this.activityCard ? {} : this.selectedRelatedOrder
+          if (t && Array.isArray(t.serviceList)) {
+            alreadyBuyIds = t.serviceList
+          }
+          // 包含补充服务
+          if (upgradeContent.includes(1)) {
+            this.$set(ma.props, 'disabled', false)
+            this.$set(ma.props, 'serviceEndTime', t.serviceEndTimeText || '')
+            this.$set(ma.props, 'alreadyBuyIds', alreadyBuyIds)
+          } else {
+            this.$set(ma.props, 'alreadyBuyIds', [])
+            this.refreshValue({ serviceList: alreadyBuyIds })
+          }
         }
-        this.$set(ma.props, 'disabled', false)
-        this.$set(ma.props, 'serviceEndTime', t.serviceEndTimeText || '')
-        this.$set(ma.props, 'alreadyBuyIds', disabledService)
       }
     },
     // 检查code是否是当前产品的规格
@@ -1342,7 +1364,7 @@ export default {
         const obj = {}
         // 付费类型变更,如果有主账号数量,则清空
         if (this.value.subAccountNumbers) {
-          const subAccountNumbers = { payCount: '', freeCount: '' }
+          const subAccountNumbers = cloneDeep(this.defaultValue.subAccountNumbers)
           obj.subAccountNumbers = subAccountNumbers
         }
         // 清空合同金额