|
@@ -1,6 +1,6 @@
|
|
import { Parameters } from './base'
|
|
import { Parameters } from './base'
|
|
import { getCommonParams, getCommonFilterParams } from "./common";
|
|
import { getCommonParams, getCommonFilterParams } from "./common";
|
|
-import { productTypeMap } from '@/views/create-order/data'
|
|
|
|
|
|
+import { schemaKeyMap, productTypeMap } from '@/views/create-order/data'
|
|
import { calcServiceArrNames } from '@/views/create-order/hooks/service'
|
|
import { calcServiceArrNames } from '@/views/create-order/hooks/service'
|
|
import { getIntersection } from '@/utils/utils'
|
|
import { getIntersection } from '@/utils/utils'
|
|
import store from '@/store'
|
|
import store from '@/store'
|
|
@@ -43,7 +43,7 @@ export class BigMemberParamsGroup extends Parameters {
|
|
|
|
|
|
// 由于套餐升级自定义过程中,serviceList组件可能会造成套餐特定id丢失(serviceList是自定义选择,隐藏了套餐id的选项,不会回显套餐id)
|
|
// 由于套餐升级自定义过程中,serviceList组件可能会造成套餐特定id丢失(serviceList是自定义选择,隐藏了套餐id的选项,不会回显套餐id)
|
|
// 所以,所有id需要结合关联订单中的id
|
|
// 所以,所有id需要结合关联订单中的id
|
|
- let serviceList = productForm.serviceList
|
|
|
|
|
|
+ let serviceList = this.calcCurrentSelectServiceList(productForm, relateOrdersServiceList)
|
|
let allServiceList = cloneDeep(serviceList)
|
|
let allServiceList = cloneDeep(serviceList)
|
|
let supServiceIds = []
|
|
let supServiceIds = []
|
|
if (Array.isArray(relateOrdersServiceList)) {
|
|
if (Array.isArray(relateOrdersServiceList)) {
|
|
@@ -101,6 +101,24 @@ export class BigMemberParamsGroup extends Parameters {
|
|
return nameArr.join(splitter)
|
|
return nameArr.join(splitter)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // serviceList计算
|
|
|
|
+ calcCurrentSelectServiceList(productForm, relateOrdersServiceList) {
|
|
|
|
+ const formServiceList = productForm.serviceList
|
|
|
|
+ const isRenew = productForm[schemaKeyMap.payment] === 3
|
|
|
|
+ // 0. 处理4和19不能共存提交的问题
|
|
|
|
+ // 1. 升级下才做处理
|
|
|
|
+ // 2. 从生效服务(relateOrder)判断是否有19。如果有当前生效服务有19,并且当前选中服务(formServiceList)有4、则移除当前选中服务的4
|
|
|
|
+ if (isRenew) {
|
|
|
|
+ if (relateOrdersServiceList.includes(19) && formServiceList.includes(4)) {
|
|
|
|
+ return formServiceList.filter(s => s !== 4)
|
|
|
|
+ } else {
|
|
|
|
+ return formServiceList
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ return formServiceList
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
// 筛选服务:从所有服务列表中提取服务(数据服务只能5选1(最高))返回结果
|
|
// 筛选服务:从所有服务列表中提取服务(数据服务只能5选1(最高))返回结果
|
|
sortAllServiceList(ids = []) {
|
|
sortAllServiceList(ids = []) {
|
|
const nIds = [...new Set(ids)]
|
|
const nIds = [...new Set(ids)]
|