|
|
@@ -24,38 +24,43 @@ import langMap from "~/map/langMap";
|
|
|
import handle from "~/until/handle";
|
|
|
import axios from "axios";
|
|
|
import {isMediaView} from "@/until/mediaView";
|
|
|
+import LucencyHeader from "~/components/header/lucencyHeader.vue";
|
|
|
+import DefaultFooter from "~/components/footer/defaultFooter.vue";
|
|
|
+import {apiMap, baseUrl} from "~/map/apiMap";
|
|
|
|
|
|
const pageLimit = 5;
|
|
|
export default {
|
|
|
name: "solutionIndex",
|
|
|
- props:['uLang','pType','pKey','pSolution'],
|
|
|
+ props:['uLang','pType','pKey','pSolution','pPageData'],
|
|
|
components:{
|
|
|
+ DefaultFooter,
|
|
|
+ LucencyHeader,
|
|
|
productBanner,
|
|
|
itemBanner,
|
|
|
solutionTypes,
|
|
|
solutionList
|
|
|
},
|
|
|
async asyncData(ctx){
|
|
|
- // ctx.searchProduct();
|
|
|
- const queryData = {};
|
|
|
- // console.log(ctx)
|
|
|
- queryData['key']=ctx.key;
|
|
|
- queryData['type']=ctx.type;
|
|
|
- queryData['page']=1;
|
|
|
- queryData['limit']=pageLimit;
|
|
|
// 获取数据
|
|
|
- let url = 'http://szhfy.com.cn/api/searchSolution.php';
|
|
|
- let [err,res] = await handle(axios.post(
|
|
|
- url,
|
|
|
- qs.stringify(queryData)
|
|
|
- ));
|
|
|
+ let url = baseUrl + apiMap.searchSolution.path;
|
|
|
+ url += `?type=all&p=1&l=5`
|
|
|
+ let [err,res] = await handle(axios.get( url));
|
|
|
if(err){
|
|
|
console.log(err);
|
|
|
return {};
|
|
|
}
|
|
|
let result = res.data;
|
|
|
- if(result.rcode === 1){
|
|
|
- return {solutions:result.data}
|
|
|
+ if(result.code === 1){
|
|
|
+ let pageData = {
|
|
|
+ limit: result.limit,
|
|
|
+ page: result.page,
|
|
|
+ total: result.total,
|
|
|
+ count: result.count,
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ solutions: result.data,
|
|
|
+ basePageData: pageData,
|
|
|
+ }
|
|
|
}else{
|
|
|
console.error(result.msg);
|
|
|
console.log(result);
|
|
|
@@ -72,26 +77,25 @@ export default {
|
|
|
nowTotal: 2,
|
|
|
limit:pageLimit,
|
|
|
solutions:this.pSolution?this.pSolution:[],
|
|
|
- pageSave: {
|
|
|
-
|
|
|
- },
|
|
|
+ basePageData: {},
|
|
|
+ pageSave: {},
|
|
|
isPhone: false
|
|
|
}
|
|
|
},
|
|
|
+ beforeMount() {
|
|
|
+ let pageData;
|
|
|
+ if (this.pPageData){
|
|
|
+ this.basePageData = this.pPageData
|
|
|
+ }
|
|
|
+ pageData = this.basePageData;
|
|
|
+ this.updatePageData(pageData);
|
|
|
+ },
|
|
|
mounted() {
|
|
|
this.isPhone = isMediaView(0,1024);
|
|
|
this.$root.$on('changeLang',this.switchLang);
|
|
|
this.$root.$on('changeSolutionType',this.selectType);
|
|
|
this.$root.$on('changePage',this.changePageHandle);
|
|
|
// this.$root.$on('changeProductType',this.selectType);
|
|
|
- const queryData = {};
|
|
|
- // console.log(ctx)
|
|
|
- queryData['key']=this.key;
|
|
|
- queryData['type']=this.type;
|
|
|
- queryData['page']=this.page;
|
|
|
- queryData['limit']=this.limit;
|
|
|
- let data = qs.stringify(queryData);
|
|
|
- this.loadPageData(data);
|
|
|
},
|
|
|
methods:{
|
|
|
switchLang(nextLang){
|
|
|
@@ -116,74 +120,44 @@ export default {
|
|
|
this.searchSolution();
|
|
|
},
|
|
|
async searchSolution(){
|
|
|
- // const formData = new FormData();
|
|
|
- // formData.append('key',this.key);
|
|
|
- // formData.append('type',this.type);
|
|
|
- // formData.append('page',this.page);
|
|
|
- const queryData = {};
|
|
|
- // console.log(ctx)
|
|
|
- queryData['key']=this.key;
|
|
|
- queryData['type']=this.type;
|
|
|
- queryData['page']=this.page;
|
|
|
- queryData['limit']=this.limit;
|
|
|
// 获取数据
|
|
|
- let url = '/api/searchSolution.php';
|
|
|
- let data = qs.stringify(queryData);
|
|
|
- let [err,res] = await handle(this.$axios.post(
|
|
|
- url,
|
|
|
- data
|
|
|
- ));
|
|
|
- if(err){
|
|
|
- console.log(err);
|
|
|
- return null;
|
|
|
- }
|
|
|
+ let url = apiMap.searchSolution.path;
|
|
|
+ url += `?key=${this.key}&type=${this.type}&p=${this.page}&l=5`
|
|
|
+ let [err,res] = await handle(axios.get(url));
|
|
|
+ if(err){ console.log(err); return null; }
|
|
|
+
|
|
|
let result = res.data;
|
|
|
- console.log(result)
|
|
|
- if(result.rcode === 1){
|
|
|
- this.solutions = result.data?result.data:[];
|
|
|
- this.loadPageData(data);
|
|
|
+ if(result.code === 1){
|
|
|
+ this.solutions = result.data;
|
|
|
+ let pageData;
|
|
|
+ if(result.total){
|
|
|
+ // 更新页面信息
|
|
|
+ pageData = {
|
|
|
+ limit: result.limit,
|
|
|
+ page: result.page,
|
|
|
+ total: result.total,
|
|
|
+ count: result.count,
|
|
|
+ }
|
|
|
+ }else if(this.pageSave[this.type] && this.pageSave[this.type][this.key]){
|
|
|
+ pageData = this.pageSave[this.type][this.key]
|
|
|
+ }
|
|
|
+ this.updatePageData(pageData);
|
|
|
}else{
|
|
|
console.error(result.msg);
|
|
|
console.log(result);
|
|
|
}
|
|
|
},
|
|
|
- async loadPageData(queryData){
|
|
|
- let url = '/api/getSolutionPage.php';
|
|
|
- // let
|
|
|
- let err,res;
|
|
|
- let pageData = null;
|
|
|
- if(this.pageSave[this.type] && this.pageSave[this.type][this.key]){
|
|
|
- pageData = this.pageSave[this.type][this.key]
|
|
|
- }else{
|
|
|
- [err,res] = await handle(this.$axios.post(
|
|
|
- url,
|
|
|
- queryData
|
|
|
- ));
|
|
|
- if(err){
|
|
|
- console.error(err);
|
|
|
- }else{
|
|
|
- let result = res.data;
|
|
|
- if(result.rcode === 1){
|
|
|
- pageData = result.data?result.data:{};
|
|
|
- }else{
|
|
|
- console.error(result.msg);
|
|
|
- console.log(result);
|
|
|
- }
|
|
|
- }
|
|
|
+ updatePageData(pageData){
|
|
|
+ if(!this.pageSave[this.type]){
|
|
|
+ this.pageSave[this.type] = {}
|
|
|
}
|
|
|
- if (pageData){
|
|
|
- this.nowTotal = Math.ceil(pageData.count / pageData.limit);
|
|
|
- this.nowCount = pageData.count;
|
|
|
- if(!this.pageSave[this.type]){
|
|
|
- this.pageSave[this.type] = {}
|
|
|
- }
|
|
|
- if(!this.pageSave[this.type][this.key]){
|
|
|
- this.pageSave[this.type][this.key] = pageData;
|
|
|
- }
|
|
|
- }else{
|
|
|
- this.nowTotal = 1;
|
|
|
- this.nowCount = 1;
|
|
|
+ if(!this.pageSave[this.type][this.key]){
|
|
|
+ this.pageSave[this.type][this.key] = pageData;
|
|
|
}
|
|
|
+ let nowTotal = Math.ceil(pageData.total / pageData.limit);
|
|
|
+ let nowCount = pageData.total;
|
|
|
+ this.nowTotal = nowTotal;
|
|
|
+ this.nowCount = nowCount;
|
|
|
}
|
|
|
}
|
|
|
}
|