| | |
| | | <template> |
| | | <div class="productSeries"> |
| | | <div id="productLines" style="height: 100%; position: relative; overflow: auto"> |
| | | <div class="sticky-container" style="height: 0.55rem"> |
| | | <div style=" width: 100%; max-width: 5.36rem; margin-top: 0rem; top: 0rem; bottom: auto; " |
| | | <div class="sticky-container" style="height: 55px"> |
| | | <div style=" width: 100%; max-width: 536px; margin-top: 0px; top: 0px; bottom: auto; " |
| | | class="sticky is-anchored is-at-top"> |
| | | <div id="productlinePicker"> |
| | | <div class="row"> |
| | | <div class="columns"> |
| | | <ul class="menu head-tool-style"> |
| | | <li style="margin-right: 0.05rem;height: unset;"> |
| | | <li style="margin-right: 5px;height: unset;"> |
| | | <el-checkbox class="select_all_style" v-model="state.m_isSelectAllSeries" |
| | | @change="clickSelAllSeries" v-if="state.m_selSeriesMethod.current == 0"><span> |
| | | {{ state.m_isSelectAllSeries ? t("selectPage.reselect.TR") : t("selectPage.selectAll.TR") }} |
| | |
| | | <!-- 按类型下拉 --> |
| | | <div class="row" id="prod_line_filters" v-show="state.m_selSeriesMethod.current == 0"> |
| | | <div class="shrink columns" style="display: flex; align-items: center"> |
| | | <label class="c-form-label" style="width: 0.65rem; margin-bottom: 0.16rem" for="comboxCatalog">{{ |
| | | <label class="c-form-label" style="width: 65px; margin-bottom: 16px" for="comboxCatalog">{{ |
| | | t("selectPage.type.TR") }}:</label> |
| | | <select name="comboxCatalog" class="small" v-model="state.m_selCatalogID" @change="changeCatalog"> |
| | | <option v-for="item in state.m_allCatalogList" :key="item.ID" :value="item.ID"> |
| | |
| | | </div> |
| | | </div> |
| | | <!-- 按类型分类 --> |
| | | <div style="height: calc(100% - 1.1rem); overflow: auto" v-if="state.m_selSeriesMethod.current == 0"> |
| | | <label v-if="state.m_ruleSelectStatus" style="position: absolute; top: 1rem; font-size: 0.1rem; color: red">*{{ |
| | | <div style="height: calc(100% - 110px); overflow: auto" v-if="state.m_selSeriesMethod.current == 0"> |
| | | <label v-if="state.m_ruleSelectStatus" style="position: absolute; top: 100px; font-size: 0.100px; color: red">*{{ |
| | | t("selectPage.seriesRule.TR") }}</label> |
| | | <div class="c-product-line-select" v-for="(series_item, series_index) in state.m_allDispSeriesList" |
| | | :key="series_index" :class="series_item.isSelected ? 'is-selected' : ''" style="position: relative"> |
| | | <div @click="clickSeriesItem(series_index)"> |
| | | <div class="c-product-line-select__overview" style="height: 1.5rem"> |
| | | <div class="c-product-line-select__overview" style="height: 150px"> |
| | | <button type="button" class="c-product-line-select__select-button" style="flex-grow: 1;"> |
| | | <span class="fa fa-fw c-product-line-select__select-icon"></span> |
| | | <span class="c-product-line-select__name" |
| | | style="max-width: 2.19rem;display: inline-block; word-wrap: break-word;"> |
| | | style="max-width: 219px;display: inline-block; word-wrap: break-word;"> |
| | | {{ series_item.Name }} |
| | | </span> |
| | | <img alt="Product Line" :onerror="useDefaultImage" :src="series_item.ThumbnailImage" |
| | |
| | | </div> |
| | | </div> |
| | | <!-- 按行业分类 --> |
| | | <div style="height: calc(100% - 0.55rem); overflow: auto" v-if="state.m_selSeriesMethod.current == 1"> |
| | | <label v-if="state.m_ruleSelectHY" style="position: absolute; top: 0.3rem; font-size: 0.1rem; color: red">*{{ |
| | | <div style="height: calc(100% - 55px); overflow: auto" v-if="state.m_selSeriesMethod.current == 1"> |
| | | <label v-if="state.m_ruleSelectHY" style="position: absolute; top: 30px; font-size: 0.100px; color: red">*{{ |
| | | $t("selectPage.hangyeRule.TR") }}</label> |
| | | <div v-for="(hy_item, hy_index) in state.m_allHangYeList" :key="hy_index" class="c-product-line-select" |
| | | :class="hy_item.isSelected ? 'is-selected' : ''" @click="clickHangYeItem(hy_index)"> |
| | | <div class="c-product-line-select__overview" style="height: 1.5rem"> |
| | | <div class="c-product-line-select__overview" style="height: 150px"> |
| | | <button type="button" class="c-product-line-select__select-button"> |
| | | <span class="fa fa-fw c-product-line-select__select-icon"></span> |
| | | <span class="c-product-line-select__name">{{ |
| | | hy_item.Name |
| | | }}</span> |
| | | <img alt="Product Line" :src="hy_item.ImageSrc" |
| | | style=" height: 1.2rem; width: 1.2rem; filter: drop-shadow(0.02rem 0.04rem 0.06rem black); " |
| | | style=" height: 120px; width: 120px; filter: drop-shadow(2px 4px 6px black); " |
| | | class="c-product-line-select__image" /> |
| | | </button> |
| | | <button @click.stop="hy_item.isShowDetail = !hy_item.isShowDetail" type="button" |
| | |
| | | </div> |
| | | </div> |
| | | <!-- 按介质分类 --> |
| | | <div style="height: calc(100% - 0.55rem); overflow: auto" v-if="state.m_selSeriesMethod.current == 2"> |
| | | <label v-if="state.m_ruleSelectJZ" style="position: absolute; top: 0.3rem; font-size: 0.1rem; color: red">*{{ |
| | | <div style="height: calc(100% - 55px); overflow: auto" v-if="state.m_selSeriesMethod.current == 2"> |
| | | <label v-if="state.m_ruleSelectJZ" style="position: absolute; top: 30px; font-size: 0.100px; color: red">*{{ |
| | | t("selectPage.jiezhiRule.TR") }}</label> |
| | | <div v-for="(jz_item, jz_index) in state.m_allJieZhiList" :key="jz_index" class="c-product-line-select" |
| | | :class="jz_item.isSelected ? 'is-selected' : ''" @click="clickJieZhiItem(jz_index)"> |
| | | <div class="c-product-line-select__overview" style="height: 1.5rem"> |
| | | <div class="c-product-line-select__overview" style="height: 150px"> |
| | | <button type="button" class="c-product-line-select__select-button"> |
| | | <span class="fa fa-fw c-product-line-select__select-icon"></span> |
| | | <span class="c-product-line-select__name">{{ |
| | |
| | | <script setup name="selPumpSeries"> |
| | | import { onMounted, reactive } from "vue"; |
| | | import { ElRadioGroup, ElRadioButton, ElCheckbox, ElCheckboxGroup } from 'element-plus' |
| | | import { useSelect } from '/@/store/select.js'; |
| | | import ConstParas from "/@/utils/constParas"; |
| | | import Utils from "/@/utils/utils"; |
| | | import SelectByCorpFlag from "/@/utils/selectByCorpFlag"; |
| | | import defaultImgUrl from '/@/views/assets/img_fail.png'; |
| | | import { useSelect } from '@/stores/select'; |
| | | import ConstParas from "@/utils/constParas"; |
| | | import Utils from "@/utils/utils"; |
| | | import SelectByCorpFlag from "@/utils/selectByCorpFlag.js"; |
| | | import defaultImgUrl from '@/assets/img_fail.png'; |
| | | import { useI18n } from 'vue-i18n'; |
| | | import noneImg from '/@/views/assets/none_img.png' |
| | | import noneImg from '@/assets/none_img.png' |
| | | const { t } = useI18n() |
| | | const selectStore = useSelect() |
| | | let state = reactive({ |
| | | m_currentCorpFlag: window.globalConfig.CorpInfo.CorpFlag, |
| | | m_currentCorpFlag: 'DESMI', |
| | | m_selSeriesMethod: { |
| | | current: 0, //0 类型 |
| | | byCatalog: { |
| | |
| | | |
| | | let ThumbnailImage = noneImg |
| | | if (element.ThumbnailImage && element.ThumbnailImage != "") { |
| | | ThumbnailImage = window.globalConfig.WebApiUrl.FileUrl + 'Data/' + element.ThumbnailImage |
| | | ThumbnailImage = window.globalConfig.WebApiUrl.FileUrl + 'Data/' + element.ThumbnailImage |
| | | } |
| | | series_info.ThumbnailImage = ThumbnailImage |
| | | allInfoList.push(series_info); |
| | |
| | | |
| | | <style lang="scss"> |
| | | .productSeries { |
| | | height: calc(100% - 0rem); |
| | | height: calc(100% - 0px); |
| | | |
| | | .c-card { |
| | | margin: 0 0 0.16rem 0; |
| | | padding: 0.16rem; |
| | | border-radius: 0.03rem; |
| | | margin: 0 0 16px 0; |
| | | padding: 16px; |
| | | border-radius: 3px; |
| | | position: relative; |
| | | color: #16181a; |
| | | background: #fefefe; |
| | | border: 0.01rem solid #dbe0e3; |
| | | box-shadow: 0 0.01rem 0.03rem rgba(145, 161, 170, 0.25); |
| | | border: 1px solid #dbe0e3; |
| | | box-shadow: 0 1px 3px rgba(145, 161, 170, 0.25); |
| | | } |
| | | |
| | | .c-card> :last-child { |
| | |
| | | } |
| | | |
| | | .columns { |
| | | padding: 0 0.15rem; |
| | | padding: 0 15px; |
| | | } |
| | | |
| | | .column, |
| | | .columns { |
| | | padding-left: 0.08rem; |
| | | padding-right: 0.08rem; |
| | | padding-left: 8px; |
| | | padding-right: 8px; |
| | | } |
| | | |
| | | .column, |
| | | .columns { |
| | | flex: 1 1 0rem; |
| | | flex: 1 1 0px; |
| | | min-width: initial; |
| | | } |
| | | |
| | |
| | | |
| | | .menu>li>a { |
| | | display: block; |
| | | padding: 0.08rem 0rem; |
| | | padding: 8px 0px; |
| | | line-height: 1; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .c-product-line-select { |
| | | border: 0.01rem solid #ddd; |
| | | border-radius: 0.03rem; |
| | | border: 1px solid #ddd; |
| | | border-radius: 3px; |
| | | color: #555; |
| | | margin-top: 0.08rem; |
| | | margin-top: 8px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | |
| | | border: 0; |
| | | border-radius: 0; |
| | | color: currentColor; |
| | | font-size: calc(0.5vw + 0.16rem); |
| | | font-size: calc(0.5vw + 16px); |
| | | } |
| | | |
| | | .c-product-line-select__select-button { |
| | |
| | | .c-product-line-select__select-icon { |
| | | display: block; |
| | | flex: none; |
| | | padding: 0.16rem; |
| | | padding: 16px; |
| | | } |
| | | |
| | | .c-product-line-select__name { |
| | | flex-grow: 1; |
| | | font-size: calc(0.5vw + 0.12rem); |
| | | padding: 0.16rem 0 0.16rem 0.32rem; |
| | | font-size: calc(0.5vw + 12px); |
| | | padding: 16px 0 16px 32px; |
| | | } |
| | | |
| | | .c-product-line-select__select-icon::before { |
| | |
| | | .c-product-line-select__image { |
| | | display: block; |
| | | flex: none; |
| | | max-width: -webkit-calc(4vw + 6.4rem); |
| | | max-width: calc(4vw + 6.4rem); |
| | | padding: 0.16rem; |
| | | max-width: -webkit-calc(4vw + 640px); |
| | | max-width: calc(4vw + 640px); |
| | | padding: 16px; |
| | | } |
| | | |
| | | .c-product-line-select__summary-button { |
| | | background-color: #ddd; |
| | | color: currentColor; |
| | | flex: none; |
| | | padding: 0 0.12rem; |
| | | padding: 0 12px; |
| | | } |
| | | |
| | | .c-product-line-select__summary { |
| | | background-color: #ddd; |
| | | color: black; |
| | | padding: 0.16rem; |
| | | padding: 16px; |
| | | text-align: left; |
| | | } |
| | | |
| | |
| | | |
| | | .error_tip { |
| | | color: red; |
| | | padding: 0.16rem; |
| | | padding: 16px; |
| | | text-align: left; |
| | | font-size: 18px; |
| | | font-weight: 600; |
| | |
| | | |
| | | .unclick-mask { |
| | | width: 100%; |
| | | height: 1.5rem; |
| | | height: 150px; |
| | | background-color: #fff; |
| | | position: absolute; |
| | | top: 0; |