xuzhiheng 5 tahun lalu
induk
melakukan
ce5d6e37c0

+ 10 - 4
src/web/staticres/vipsubscribe/js/updateArea.js

@@ -362,7 +362,7 @@ $(function () {
     }
 
     // 求需要M的数量
-	// window.getResultWithMCount = getResultWithMCount
+	window.getResultWithMCount = getResultWithMCount
     function getResultWithMCount() {
         let added = {
             country: 0,
@@ -372,6 +372,7 @@ $(function () {
                 // '吉林': 1
             }
         }
+		let allDisabledButHasCityCount = {}
         // 购买过的省份数量
         let buySetProvinceCount = $('.area-list').attr('data-buy-province-count') - 0  // 隐式转换成Number
         
@@ -401,7 +402,10 @@ $(function () {
 					
                     if (aCityCount > 0) {
 						// 说明有购买的城市
-						if (activeButtonLength - alreadySelectedCount === 0 || activeButtonLength === allCitylength) {
+						if (activeButtonLength - alreadySelectedCount === 0) {
+							added.province ++
+							allDisabledButHasCityCount[pName] = buyCityCount
+						} else if (activeButtonLength === allCitylength) {
 							added.province ++
 						} else {
 							added.city[pName] = aCityCount
@@ -436,7 +440,7 @@ $(function () {
         } else {
             added.province = 0
         }
-        return added
+        return { added, allDisabledButHasCityCount }
     }
 
     // 点亮的城市数量详情(需要省和城市名称)
@@ -905,7 +909,8 @@ $(function () {
     $('.save-btn').on('click', function(){
         // 获取added城市详情
         var activeCityDetail = getActiveCityDetail()
-        let areaCount = getResultWithMCount()
+        let areaCount = getResultWithMCount().added
+		let lastSet = getResultWithMCount().allDisabledButHasCityCount
 //      console.log("111",areaCount)
 //      console.log(JSON.stringify(activeCityDetail))
 //      console.log(activeCityDetail)
@@ -915,6 +920,7 @@ $(function () {
         sessionStorage.vipSubSelectCity = newlyAdded.city;
         sessionStorage.vipSubSelectAreaUpgrade = JSON.stringify(activeCityDetail);
         sessionStorage.vipSubSelectAreaAdd = JSON.stringify(areaCount);
+		sessionStorage.vipallDisabledButHasCityCount = JSON.stringify(lastSet);
         history.go(-1);
     })
 	//

+ 19 - 7
src/web/templates/weixin/vipsubscribe/vip_upgrade.html

@@ -855,6 +855,7 @@
 				sessionStorage.removeItem("vipAddCount");
 				sessionStorage.removeItem("vipSubSelectAreaAdd");
 				sessionStorage.removeItem("vipSubSelectCity");
+				sessionStorage.removeItem("vipallDisabledButHasCityCount");
 			}
 			//
 			
@@ -968,10 +969,10 @@
 			
 			//
 			if(nowUpgradeYear >= 1){
-				let newPriceY = getsubVipOrderPriceBybuyset(newBuysetObj(buySetObj(areaObj())),[nowUpgradeYear,1]);
-				let newPriceM = getsubVipOrderPriceBybuyset(newBuysetObj(buySetObj(areaObj())),[nowUpgrade,2]);
-				let yearprice = getsubVipOrderPriceBybuyset(newBuysetObj(buySetObj(areaObj())),[nowUpgradeYear,1]);
-				let monthprice = getsubVipOrderPriceBybuyset(newBuysetObj(buySetObj(areaObj())),[nowUpgrade,2]);
+				let newPriceY = getsubVipOrderPriceBybuyset(lastSet(newBuysetObj(buySetObj(areaObj()))),[nowUpgradeYear,1]);
+				let newPriceM = getsubVipOrderPriceBybuyset(lastSet(newBuysetObj(buySetObj(areaObj()))),[nowUpgrade,2]);
+				let yearprice = getsubVipOrderPriceBybuyset(lastSet(newBuysetObj(buySetObj(areaObj()))),[nowUpgradeYear,1]);
+				let monthprice = getsubVipOrderPriceBybuyset(lastSet(newBuysetObj(buySetObj(areaObj()))),[nowUpgrade,2]);
 				price = newPriceY + newPriceM - oldPrice;
 				// ------- 升级延长周期价格计算 ---------
 				if(monthprice === 0){
@@ -986,12 +987,12 @@
 				console.log("monthprice",monthprice);
 				console.log(">=1",price);
 			}else{
-				let monthprice = getsubVipOrderPriceBybuyset(newBuysetObj(buySetObj(areaObj())),[nowUpgrade,2]);
+				let monthprice = getsubVipOrderPriceBybuyset(lastSet(newBuysetObj(buySetObj(areaObj()))),[nowUpgrade,2]);
 				
 				// ------- 升级价格差价计算 ---------
 				
 				// let newPrice = getsubVipOrderPrice(allBuyArea,allIndustry,[nowUpgrade,2]);
-				let newPrice = getsubVipOrderPriceBybuyset(newBuysetObj(buySetObj(areaObj())),[nowUpgrade,2]);
+				let newPrice = getsubVipOrderPriceBybuyset(lastSet(newBuysetObj(buySetObj(areaObj()))),[nowUpgrade,2]);
 				price = newPrice - oldPrice;
 				// ------- 升级价格差价计算 ---------
 				// ------- 升级延长周期价格计算 ---------
@@ -1103,7 +1104,7 @@
 	    		"time": times,
 	    		"addCount":vipCount,
 	    		"addIndustryCount": vipIndustry,
-				"buyset":JSON.stringify(buySetObj(areaObj())),
+				"buyset":JSON.stringify(lastSet(buySetObj(areaObj()))),
 	    	}
 	    	console.log(param)
 	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder",param,function(r){
@@ -1237,6 +1238,17 @@
 			}
 			return nowset
 		}
+		
+		function lastSet(buyset){
+			let lastset = JSON.parse(JSON.stringify(buyset));
+			if(sessionStorage.vipallDisabledButHasCityCount!==undefined&&sessionStorage.vipallDisabledButHasCityCount!==""){
+				let hasCount = JSON.parse(sessionStorage.vipallDisabledButHasCityCount);
+				for(let province in hasCount){
+					lastset.citys[province] = hasCount[province];
+				}
+			}
+			return lastset
+		}
 	    
     </script>
 </body>