|
@@ -169,8 +169,11 @@
|
|
<li
|
|
<li
|
|
v-for="item in orderList"
|
|
v-for="item in orderList"
|
|
:key="item.value"
|
|
:key="item.value"
|
|
- :class="[orderTotalNumber === item.value ? 'active' : '']"
|
|
|
|
- @click="changeOrderNumber(item)"
|
|
|
|
|
|
+ :class="[
|
|
|
|
+ orderTotalNumber === item.value ? 'active' : '',
|
|
|
|
+ totalLength < item.value ? 'disabled' : '',
|
|
|
|
+ ]"
|
|
|
|
+ @click="changeOrderNumber(item, totalLength < item.value)"
|
|
>
|
|
>
|
|
{{ item.label }}
|
|
{{ item.label }}
|
|
</li>
|
|
</li>
|
|
@@ -318,13 +321,13 @@
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="info-item order-item" v-if="bookType === 'huakan'">
|
|
|
|
|
|
+ <!-- <div class="info-item order-item" v-if="bookType === 'huakan'">
|
|
<label>结算价格</label>
|
|
<label>结算价格</label>
|
|
<div class="order-content">
|
|
<div class="order-content">
|
|
<span class="OPPOSans">¥28.80</span>
|
|
<span class="OPPOSans">¥28.80</span>
|
|
<span class="old-price">¥30.20</span>
|
|
<span class="old-price">¥30.20</span>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
|
|
+ </div> -->
|
|
</div>
|
|
</div>
|
|
<div class="btn-box">
|
|
<div class="btn-box">
|
|
<el-button
|
|
<el-button
|
|
@@ -611,6 +614,7 @@ export default {
|
|
settlement: null, // 结算价格
|
|
settlement: null, // 结算价格
|
|
createOrderLoading: false,
|
|
createOrderLoading: false,
|
|
valid_period_id: null,
|
|
valid_period_id: null,
|
|
|
|
+ totalLength: 0,
|
|
};
|
|
};
|
|
},
|
|
},
|
|
//计算属性 类似于data概念
|
|
//计算属性 类似于data概念
|
|
@@ -646,12 +650,15 @@ export default {
|
|
this.paymentShow = false;
|
|
this.paymentShow = false;
|
|
},
|
|
},
|
|
// 详情
|
|
// 详情
|
|
- getInfo() {
|
|
|
|
|
|
+ getInfo(flag) {
|
|
this.loading = true;
|
|
this.loading = true;
|
|
|
|
+ if (flag) {
|
|
|
|
+ }
|
|
if (this.bookType === "baozhi") {
|
|
if (this.bookType === "baozhi") {
|
|
let MethodName =
|
|
let MethodName =
|
|
"/ShopServer/Client/ReservationQuery/GetReservationInfo_Issue";
|
|
"/ShopServer/Client/ReservationQuery/GetReservationInfo_Issue";
|
|
let data = {
|
|
let data = {
|
|
|
|
+ goods_type: 2,
|
|
study_phase: this.studyType,
|
|
study_phase: this.studyType,
|
|
period_count:
|
|
period_count:
|
|
this.orderTotalNumber !== -1
|
|
this.orderTotalNumber !== -1
|
|
@@ -688,78 +695,98 @@ export default {
|
|
.catch(() => {
|
|
.catch(() => {
|
|
this.loading = false;
|
|
this.loading = false;
|
|
});
|
|
});
|
|
- this.handleOrderPrice();
|
|
|
|
|
|
+ if (
|
|
|
|
+ this.totalLength >=
|
|
|
|
+ (this.orderTotalNumber !== -1
|
|
|
|
+ ? this.orderTotalNumber
|
|
|
|
+ : this.customOrderNumberList.length)
|
|
|
|
+ ) {
|
|
|
|
+ this.handleOrderPrice();
|
|
|
|
+ } else {
|
|
|
|
+ this.settlement = null;
|
|
|
|
+ }
|
|
} else if (this.bookType === "huakan") {
|
|
} else if (this.bookType === "huakan") {
|
|
this.loading = false;
|
|
this.loading = false;
|
|
- this.info = {
|
|
|
|
- issue_no_end: "928",
|
|
|
|
- issue_no_school_year_list: [],
|
|
|
|
- issue_info: {
|
|
|
|
- period_desc: "每月出版,2月、 8月休刊",
|
|
|
|
- age_desc: "5-8 岁",
|
|
|
|
- price: 10,
|
|
|
|
- organizer: "中国日报社《二十一世纪学生英文报》",
|
|
|
|
- page_count_desc: "24 页",
|
|
|
|
- },
|
|
|
|
- price_reservation: 10,
|
|
|
|
- issue_no_begin: "929",
|
|
|
|
- issue_no_list: [
|
|
|
|
- {
|
|
|
|
- shelve_date: "2024-07-31",
|
|
|
|
- issue_no: "929",
|
|
|
|
- price: 2.4,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- shelve_date: "2025-07-10",
|
|
|
|
- issue_no: "931",
|
|
|
|
- price: 2.4,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- shelve_date: "2025-08-07",
|
|
|
|
- issue_no: "928",
|
|
|
|
- price: 2.4,
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- };
|
|
|
|
- // let MethodName =
|
|
|
|
- // "/ShopServer/Client/ReservationQuery/GetReservationInfo_Issue";
|
|
|
|
- // let data = {
|
|
|
|
- // period_count:
|
|
|
|
- // this.orderTotalNumber !== -1
|
|
|
|
- // ? this.orderTotalNumber
|
|
|
|
- // : this.customOrderNumberList.length,
|
|
|
|
- // is_custom_select_issue_no:
|
|
|
|
- // this.orderTotalNumber !== -1 ? "false" : "true",
|
|
|
|
|
|
+ // this.info = {
|
|
|
|
+ // issue_no_end: "928",
|
|
|
|
+ // issue_no_school_year_list: [],
|
|
|
|
+ // issue_info: {
|
|
|
|
+ // period_desc: "每月出版,2月、 8月休刊",
|
|
|
|
+ // age_desc: "5-8 岁",
|
|
|
|
+ // price: 10,
|
|
|
|
+ // organizer: "中国日报社《二十一世纪学生英文报》",
|
|
|
|
+ // page_count_desc: "24 页",
|
|
|
|
+ // },
|
|
|
|
+ // price_reservation: 10,
|
|
|
|
+ // issue_no_begin: "929",
|
|
|
|
+ // issue_no_list: [
|
|
|
|
+ // {
|
|
|
|
+ // shelve_date: "2024-07-31",
|
|
|
|
+ // issue_no: "929",
|
|
|
|
+ // price: 2.4,
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // shelve_date: "2025-07-10",
|
|
|
|
+ // issue_no: "931",
|
|
|
|
+ // price: 2.4,
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // shelve_date: "2025-08-07",
|
|
|
|
+ // issue_no: "928",
|
|
|
|
+ // price: 2.4,
|
|
|
|
+ // },
|
|
|
|
+ // ],
|
|
// };
|
|
// };
|
|
- // getLogin(MethodName, data)
|
|
|
|
- // .then((res) => {
|
|
|
|
- // this.loading = false;
|
|
|
|
- // if (res.status === 1) {
|
|
|
|
- // this.info = res;
|
|
|
|
- // this.orderTable = res.issue_no_list;
|
|
|
|
- // res.issue_no_school_year_list.forEach((item) => {
|
|
|
|
- // item.issue_no_list.forEach((items, indexs) => {
|
|
|
|
- // const regex = /[\u4e00-\u9fa5]/g;
|
|
|
|
- // if (regex.test(items.issue_no)) {
|
|
|
|
- // items.width = Math.ceil(items.issue_no.length / 3);
|
|
|
|
- // items.number = item.issue_no_list[indexs - 1]
|
|
|
|
- // ? item.issue_no_list[indexs - 1].number +
|
|
|
|
- // Math.ceil(items.issue_no.length / 3)
|
|
|
|
- // : Math.ceil(items.issue_no.length / 3);
|
|
|
|
- // } else {
|
|
|
|
- // items.width = 1;
|
|
|
|
- // items.number = item.issue_no_list[indexs - 1]
|
|
|
|
- // ? item.issue_no_list[indexs - 1].number + 1
|
|
|
|
- // : 1;
|
|
|
|
- // }
|
|
|
|
- // });
|
|
|
|
- // });
|
|
|
|
- // }
|
|
|
|
- // })
|
|
|
|
- // .catch(() => {
|
|
|
|
- // this.loading = false;
|
|
|
|
- // });
|
|
|
|
- // this.handleOrderPrice();
|
|
|
|
|
|
+ let MethodName =
|
|
|
|
+ "/ShopServer/Client/ReservationQuery/GetReservationInfo_Issue";
|
|
|
|
+ let data = {
|
|
|
|
+ goods_type: 4,
|
|
|
|
+ study_phase: 1,
|
|
|
|
+ period_count:
|
|
|
|
+ this.orderTotalNumber !== -1
|
|
|
|
+ ? this.orderTotalNumber
|
|
|
|
+ : this.customOrderNumberList.length,
|
|
|
|
+ is_custom_select_issue_no:
|
|
|
|
+ this.orderTotalNumber !== -1 ? "false" : "true",
|
|
|
|
+ };
|
|
|
|
+ getLogin(MethodName, data)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ this.loading = false;
|
|
|
|
+ if (res.status === 1) {
|
|
|
|
+ this.info = res;
|
|
|
|
+ this.orderTable = res.issue_no_list;
|
|
|
|
+ res.issue_no_school_year_list.forEach((item) => {
|
|
|
|
+ item.issue_no_list.forEach((items, indexs) => {
|
|
|
|
+ const regex = /[\u4e00-\u9fa5]/g;
|
|
|
|
+ if (regex.test(items.issue_no)) {
|
|
|
|
+ items.width = Math.ceil(items.issue_no.length / 3);
|
|
|
|
+ items.number = item.issue_no_list[indexs - 1]
|
|
|
|
+ ? item.issue_no_list[indexs - 1].number +
|
|
|
|
+ Math.ceil(items.issue_no.length / 3)
|
|
|
|
+ : Math.ceil(items.issue_no.length / 3);
|
|
|
|
+ } else {
|
|
|
|
+ items.width = 1;
|
|
|
|
+ items.number = item.issue_no_list[indexs - 1]
|
|
|
|
+ ? item.issue_no_list[indexs - 1].number + 1
|
|
|
|
+ : 1;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ this.loading = false;
|
|
|
|
+ });
|
|
|
|
+ if (
|
|
|
|
+ this.totalLength >=
|
|
|
|
+ (this.orderTotalNumber !== -1
|
|
|
|
+ ? this.orderTotalNumber
|
|
|
|
+ : this.customOrderNumberList.length)
|
|
|
|
+ ) {
|
|
|
|
+ this.handleOrderPrice();
|
|
|
|
+ } else {
|
|
|
|
+ this.settlement = null;
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
let MethodName =
|
|
let MethodName =
|
|
"/ShopServer/Client/ReservationQuery/GetReservationValidPeriodList_Iread";
|
|
"/ShopServer/Client/ReservationQuery/GetReservationValidPeriodList_Iread";
|
|
@@ -793,11 +820,12 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 计算结算价格
|
|
// 计算结算价格
|
|
- handleOrderPrice() {
|
|
|
|
|
|
+ handleOrderPrice(flag) {
|
|
this.loading = true;
|
|
this.loading = true;
|
|
let MethodName =
|
|
let MethodName =
|
|
"/ShopServer/Client/ReservationQuery/ComputeReservationSettlementPrice_Issue";
|
|
"/ShopServer/Client/ReservationQuery/ComputeReservationSettlementPrice_Issue";
|
|
let data = {
|
|
let data = {
|
|
|
|
+ goods_type: this.bookType === "huakan" ? 4 : 2,
|
|
study_phase: this.studyType,
|
|
study_phase: this.studyType,
|
|
period_count:
|
|
period_count:
|
|
this.orderTotalNumber !== -1
|
|
this.orderTotalNumber !== -1
|
|
@@ -834,13 +862,14 @@ export default {
|
|
}
|
|
}
|
|
this.handleOrderPrice();
|
|
this.handleOrderPrice();
|
|
},
|
|
},
|
|
- changeStudy(item) {
|
|
|
|
|
|
+ async changeStudy(item) {
|
|
this.studyType = item.study_phase;
|
|
this.studyType = item.study_phase;
|
|
this.studyTypeName = item.study_phase_name;
|
|
this.studyTypeName = item.study_phase_name;
|
|
this.customOrderNumberList = [];
|
|
this.customOrderNumberList = [];
|
|
- this.getInfo();
|
|
|
|
|
|
+ await this.handleIssueLength();
|
|
},
|
|
},
|
|
- changeOrderNumber(item) {
|
|
|
|
|
|
+ changeOrderNumber(item, flag) {
|
|
|
|
+ if (flag) return false;
|
|
this.orderTotalNumber = item.value;
|
|
this.orderTotalNumber = item.value;
|
|
this.getInfo();
|
|
this.getInfo();
|
|
},
|
|
},
|
|
@@ -950,9 +979,34 @@ export default {
|
|
})
|
|
})
|
|
.catch(() => {});
|
|
.catch(() => {});
|
|
},
|
|
},
|
|
|
|
+ // 获取已发行期数
|
|
|
|
+ handleIssueLength() {
|
|
|
|
+ let MethodName =
|
|
|
|
+ "/ShopServer/Client/ReservationQuery/GetReservationInfo_Issue";
|
|
|
|
+ let data = {
|
|
|
|
+ goods_type: this.bookType === "baozhi" ? 2 : 4,
|
|
|
|
+ study_phase: this.bookType === "baozhi" ? this.studyType : 1,
|
|
|
|
+ period_count:
|
|
|
|
+ this.orderTotalNumber !== -1
|
|
|
|
+ ? this.orderTotalNumber
|
|
|
|
+ : this.customOrderNumberList.length,
|
|
|
|
+ is_custom_select_issue_no: "true",
|
|
|
|
+ };
|
|
|
|
+ getLogin(MethodName, data)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ if (res.status === 1) {
|
|
|
|
+ this.totalLength = 0;
|
|
|
|
+ res.issue_no_school_year_list.forEach((item) => {
|
|
|
|
+ this.totalLength += item.issue_no_list.length;
|
|
|
|
+ });
|
|
|
|
+ this.getInfo();
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {});
|
|
|
|
+ },
|
|
},
|
|
},
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
- created() {
|
|
|
|
|
|
+ async created() {
|
|
if (this.config) {
|
|
if (this.config) {
|
|
let arr = this.config.split("&&&");
|
|
let arr = this.config.split("&&&");
|
|
this.LoginNavIndex = arr[0] * 1;
|
|
this.LoginNavIndex = arr[0] * 1;
|
|
@@ -961,7 +1015,11 @@ export default {
|
|
this.headerBg = arr[3] ? arr[3] : "#00ADEF";
|
|
this.headerBg = arr[3] ? arr[3] : "#00ADEF";
|
|
this.previousPage = arr[4] ? arr[4] : "商城";
|
|
this.previousPage = arr[4] ? arr[4] : "商城";
|
|
}
|
|
}
|
|
- this.getInfo();
|
|
|
|
|
|
+ if (this.bookType === "baozhi" || this.bookType === "huakan") {
|
|
|
|
+ await this.handleIssueLength();
|
|
|
|
+ } else {
|
|
|
|
+ this.getInfo();
|
|
|
|
+ }
|
|
this.getDiscountRule();
|
|
this.getDiscountRule();
|
|
let date1 =
|
|
let date1 =
|
|
new Date().getFullYear() +
|
|
new Date().getFullYear() +
|
|
@@ -1182,6 +1240,12 @@ export default {
|
|
background: #ffffff;
|
|
background: #ffffff;
|
|
border-color: #ea5939;
|
|
border-color: #ea5939;
|
|
}
|
|
}
|
|
|
|
+ &.disabled {
|
|
|
|
+ cursor: not-allowed;
|
|
|
|
+ background: #f2f3f5;
|
|
|
|
+ color: #bababa;
|
|
|
|
+ border-color: #f2f3f5;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.el-table {
|
|
.el-table {
|