<template>
|
<div class="product-box" v-myTitle="{ title: m_Title }">
|
<!-- 头部导航栏 -->
|
<van-nav-bar style="background-color: #528abe">
|
<template #left>
|
<div @click="pageBack" style="display: flex; align-items: center">
|
<van-icon name="arrow-left" size="18" />
|
<span>{{$t('selectPage.index.TR')}}</span>
|
</div>
|
</template>
|
<template #title>
|
<label>{{$t('indexPage.byType.TR')}}</label>
|
</template>
|
<template #right>
|
<!-- <van-icon name="search" size="18" /> -->
|
</template>
|
</van-nav-bar>
|
<!-- 下拉过滤菜单 -->
|
<van-dropdown-menu active-color="#528abe">
|
<van-dropdown-item ref="CatalogType" :title="m_selectCatalogName">
|
<van-cell
|
center
|
v-for="item in m_catalogSelectOption"
|
@click="getCatalogSelectValue(item)"
|
:key="item.value"
|
:title="item.text"
|
>
|
<template #title>
|
<span class="custom-title">{{ item.text }}</span>
|
<van-tag
|
style="margin-left: 5px"
|
color="#528abe"
|
round
|
type="primary"
|
>{{ item.nodeNum }}</van-tag
|
>
|
</template>
|
<template #right-icon>
|
<van-icon
|
name="success"
|
:color="item.value == m_catalogSelectValue ? '#528abe' : ''"
|
v-show="item.value == m_catalogSelectValue"
|
/>
|
</template>
|
</van-cell>
|
</van-dropdown-item>
|
<van-dropdown-item :title="$t('ebookPage.screen.TR')" ref="item">
|
<van-cell left :title="$t('ebookPage.motorFrequency.TR')">
|
<template #right-icon>
|
<span style="margin-right: 10px"
|
>{{ m_MotorFrequece ? "60" : "50" }}Hz</span
|
>
|
<van-switch
|
v-model="m_MotorFrequece"
|
size="24"
|
active-color="#528abe"
|
/>
|
</template>
|
</van-cell>
|
<van-cell left title="UL">
|
<template #right-icon>
|
<van-switch v-model="m_isUL" size="24" active-color="#528abe" />
|
</template>
|
</van-cell>
|
<van-cell left :title="$t('indexPage.firePump.TR')">
|
<template #right-icon>
|
<van-switch
|
v-model="m_isFirePump"
|
size="24"
|
active-color="#528abe"
|
/>
|
</template>
|
</van-cell>
|
<div style="padding: 5px 16px">
|
<van-button color="#528abe" block round @click="getFilterValue"
|
>{{$t('header.define.TR')}}</van-button
|
>
|
</div>
|
</van-dropdown-item>
|
</van-dropdown-menu>
|
<!-- 公司标题 -->
|
<div style="width: 100%">
|
<!-- <img
|
src="/static/img/Title.png"
|
style="max-width: 100%; max-height: 100%; width: auto; height: 65px"
|
/> -->
|
|
<!-- <img src style="max-width: 100%; max-height: 100%; width: auto; height: 10px" /> -->
|
</div>
|
<!-- 显示内容 -->
|
<div class="product-main">
|
<van-cell-group
|
:title="group_item.groupName"
|
v-for="group_item in m_showPumpList"
|
:key="group_item.groupName"
|
>
|
<van-cell
|
v-for="item in group_item.nodeList"
|
clickable
|
is-link
|
title-style="color:#000000 !important;margin-left:5px !important"
|
:key="item.ID"
|
:title="item.Name"
|
@click="goPumpDetail(item.ID)"
|
>
|
<template #icon>
|
<van-image :src="item.ThumbnailImage" width="80" height="45" />
|
</template>
|
</van-cell>
|
</van-cell-group>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import languageMixin from "@/mixin/language";
|
export default {
|
mixins: [languageMixin],
|
data() {
|
return {
|
m_Title: "",
|
m_activeNames: ["2"], //默认展开的项
|
m_CatalogList: [], //类型列表
|
m_pumpList: [], //泵列表
|
m_showPumpList: [], //用于展示的泵列表
|
|
m_MotorFrequece: false, //电机功率 默认50Hz 如果为true则表示60Hz
|
m_isUL: false, //是否是UL
|
m_isFirePump: false, //是否是消防泵
|
m_selectCatalogName: "全部",
|
m_catalogSelectValue: 0, //类型默认选择全部
|
m_catalogSelectOption: [
|
//类型选择列表
|
{ text: "全部", value: 0 },
|
],
|
};
|
},
|
created() {},
|
mounted() {
|
this.m_selectCatalogName = `${this.$t('ebookPage.all.TR')}`,
|
this.m_catalogSelectOption[0].text = `${this.$t('ebookPage.all.TR')}`
|
let _this = this;
|
_this.m_Title = _this.getSoftName();;
|
_this.getCatalogList(function () {
|
_this.getSeriesList();
|
});
|
},
|
methods: {
|
//获取产品列表
|
getSeriesList() {
|
let _this = this;
|
let Toast = this.$toast;
|
Toast.loading({
|
duration: 0, //为0时 不关闭toast框
|
message: "加载中...",
|
forbidClick: true,
|
});
|
_this
|
.$axios({
|
methods: "get",
|
url:
|
_this.$globalConfig.WebApiUrl.MainUrl +
|
"v1/Mobile/PumpSeries/GetAllBaseInfoList",
|
})
|
.then(function (res) {
|
// console.log(res);
|
|
let result = res.data;
|
if (result.Code != 0) {
|
return;
|
}
|
if (result.Data) {
|
Toast.clear();
|
let pumpList = [];
|
result.Data.forEach((item) => {
|
let productItem = {
|
CatalogID: item.CatalogID,
|
ID: item.ID,
|
CatalogName: item.CatalogName,
|
Name: item.Name,
|
KingName: item.KingName,
|
ChartType: item.ChartType,
|
ThumbnailImage:
|
_this.$globalConfig.WebApiUrl.FileUrl + item.ThumbnailImage,
|
Version: item.Version,
|
RealFileName: item.RealFileName,
|
WordDescription: item.WordDescription.replace(/<br\/>/g, "\n"),
|
ShortDescription: item.ShortDescription.replace(
|
/<br\/>/g,
|
"\n"
|
),
|
MotorFrequece: item.MotorFrequece,
|
DriveType: item.DriveType,
|
FirePumpType: item.FirePumpType,
|
};
|
pumpList.push(productItem);
|
});
|
_this.m_pumpList = pumpList;
|
// console.log( _this.m_pumpList,178)
|
let motorFrequece = _this.m_MotorFrequece ? "60" : "50";
|
// console.log(motorFrequece,_this.m_catalogSelectValue,"电机频率和类型")
|
_this.m_showPumpList = _this.filterSeriseList(
|
motorFrequece,
|
_this.m_catalogSelectValue
|
);
|
// console.log(_this.m_showPumpList,181)
|
_this.getCatalogNodeNum();
|
}
|
})
|
.catch(function (err) {
|
Toast.clear();
|
console.log(err);
|
});
|
},
|
//获取类型列表
|
getCatalogList(cbGetSeries) {
|
let _this = this;
|
_this
|
.$axios({
|
methods: "get",
|
url:
|
_this.$globalConfig.WebApiUrl.MainUrl +
|
"v1/Mobile/PumpCatalog/GetAllBaseInfoList",
|
params: {
|
lang: 0,
|
},
|
})
|
.then(function (res) {
|
// console.log(res,"类型列表");
|
let result = res.data;
|
if (result.Code != 0) {
|
return;
|
}
|
if (result.Data) {
|
_this.m_CatalogList = result.Data;
|
_this.m_activeNames.push(result.Data[0].ID);
|
result.Data.forEach((item) => {
|
let catalogOption = {
|
text: item.Name,
|
value: item.ID,
|
};
|
_this.m_catalogSelectOption.push(catalogOption);
|
});
|
|
// _this.getSeriesList();
|
cbGetSeries();
|
}
|
})
|
.catch(function (err) {
|
console.log(err);
|
});
|
},
|
//获取类型下拉菜单选择的值
|
getCatalogSelectValue(item) {
|
this.m_catalogSelectValue = item.value;
|
this.m_selectCatalogName = item.text;
|
let motorFrequece = this.m_MotorFrequece ? "60" : "50";
|
this.m_showPumpList = this.filterSeriseList(motorFrequece, item.value);
|
this.$refs.CatalogType.toggle();
|
},
|
//获取电机功率的值
|
getFilterValue() {
|
this.$refs.item.toggle();
|
//console.log(val,777)
|
let motorFrequece = this.m_MotorFrequece ? "60" : "50";
|
this.m_showPumpList = this.filterSeriseList(
|
motorFrequece,
|
this.m_catalogSelectValue
|
);
|
this.getCatalogNodeNum();
|
},
|
//跳转到详情
|
goPumpDetail(ID) {
|
this.$router.push({
|
path: `/${this.$getCurrentLanguageUrl()}/EBook/SeriesDetailPump`,
|
query: { ID: ID },
|
});
|
},
|
//筛选系列列表
|
filterSeriseList(MotorFrequece, CatalogID) {
|
// console.log(MotorFrequece,CatalogID,"筛选方法中的电机频率和类型")
|
let showSeriesArr = [];
|
let showCatalogArr = [];
|
|
if (CatalogID == 0) {
|
// console.log(this.m_CatalogList,this.m_pumpList,"类型列表和本列表")
|
this.m_CatalogList.forEach((item) => {
|
let groupItem = {};
|
groupItem.groupName = "";
|
groupItem.nodeList = [];
|
this.m_pumpList.forEach((seriesItem) => {
|
//判断类型是否是全部
|
if (
|
item.Name == seriesItem.CatalogName &&
|
seriesItem.MotorFrequece == MotorFrequece
|
) {
|
// console.log('111111')
|
groupItem.groupName = item.Name;
|
groupItem.nodeList.push(seriesItem);
|
}
|
});
|
// console.log(22222)
|
showSeriesArr.push(groupItem);
|
});
|
// console.log(showSeriesArr,279)
|
} else {
|
this.m_CatalogList.forEach((item) => {
|
if (item.ID == CatalogID) {
|
showCatalogArr.push(item);
|
}
|
});
|
showCatalogArr.forEach((item) => {
|
let groupItem = {};
|
groupItem.groupName = "";
|
groupItem.nodeList = [];
|
this.m_pumpList.forEach((seriesItem) => {
|
//判断类型是否是全部
|
if (
|
CatalogID == seriesItem.CatalogID &&
|
seriesItem.MotorFrequece == MotorFrequece
|
) {
|
// console.log(CatalogID, seriesItem.CatalogID);
|
groupItem.groupName = item.Name;
|
groupItem.nodeList.push(seriesItem);
|
}
|
});
|
showSeriesArr.push(groupItem);
|
});
|
}
|
return showSeriesArr;
|
},
|
getCatalogNodeNum() {
|
this.m_catalogSelectOption.forEach((catalog) => {
|
let growNum = 0;
|
if (catalog.value != 0) {
|
catalog.nodeNum = 0;
|
}
|
this.m_showPumpList.forEach((series) => {
|
series.nodeList.forEach((node) => {
|
if (catalog.value == node.CatalogID && catalog.value != 0) {
|
growNum++;
|
catalog.nodeNum = growNum;
|
}
|
});
|
});
|
});
|
},
|
//返回上一页
|
pageBack() {
|
this.$router.push({
|
path: `/${this.$getCurrentLanguageUrl()}/Index`,
|
});
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss">
|
@import url("../../assets/css/page.css");
|
.product-box {
|
background: #fafafa;
|
width: 100%;
|
height: 100vh;
|
|
.van-dropdown-item__content {
|
max-height: 34%;
|
}
|
.van-cell__title {
|
text-align: start;
|
}
|
.product-main {
|
width: 100%;
|
height: calc(100% - 95px);
|
overflow: auto;
|
.van-cell {
|
color: #528abe;
|
}
|
.van-cell__right-icon {
|
color: #528abe;
|
}
|
.van-collapse-item__content {
|
padding: 0px 0px;
|
}
|
.van-card__content {
|
text-align: start;
|
width: calc(100% - 88px);
|
}
|
.van-card__title {
|
font-size: 14px;
|
font-weight: 600;
|
}
|
.van-card {
|
padding: 0px 0px;
|
width: 100%;
|
background-color: #ffffff;
|
}
|
.van-cell {
|
padding: 0px 16px;
|
}
|
.van-card__desc {
|
color: #aaaaaa;
|
width: 235px;
|
height: 50px;
|
}
|
.van-cell {
|
color: #528abe;
|
}
|
.van-cell__right-icon {
|
color: #006782;
|
}
|
.van-cell {
|
padding: 10px 16px !important;
|
align-items: center;
|
}
|
.van-cell-group__title {
|
padding: 7px 16px 7px !important;
|
text-align: left;
|
background: #aaaaaa;
|
font-weight: 600;
|
color: #000000;
|
}
|
.van-cell__title,
|
.van-cell__value {
|
text-align: left;
|
font-size: 13px;
|
color: #36489e;
|
font-weight: 600;
|
}
|
}
|
}
|
</style>
|