修复套餐对比的bug

wenjuan
刘佳宇 1 year ago
parent 7594ea63cb
commit b9b71b0e31

@ -1,6 +1,6 @@
{ {
"dependencies": { "dependencies": {
"echarts": "^5.5.1", "echarts": "^5.4.2",
"weixin-js-sdk": "^1.6.5" "weixin-js-sdk": "^1.6.5"
}, },
"devDependencies": { "devDependencies": {

@ -28,6 +28,8 @@
}); });
import * as echarts from 'echarts'; import * as echarts from 'echarts';
console.log(echarts)
onMounted(() => { onMounted(() => {
drawChart() drawChart()
}) })

@ -18,14 +18,14 @@ const mountedAction = () => {
const AnalysisTypeGetList = async () => { const AnalysisTypeGetList = async () => {
const response = await $api("AnalysisTypeGetList"); const response = await $api("AnalysisTypeGetList");
$response(response, () => { $response(response, () => {
console.log(response) console.log(response);
list.value = response.data.list; list.value = response.data.list;
}); });
}; };
const toRouter = (index, i) => { const toRouter = (id) => {
uni.navigateTo({ uni.navigateTo({
url: "/pages/main/bgcx/qsfx/qsfxxq?i=" + i + "&index=" + index, url: "/pages/main/bgcx/qsfx/qsfxxq?id=" + id,
}); });
}; };
@ -50,21 +50,32 @@ onShow(() => {
</view> </view>
<view> <view>
<view v-for="(item, index) in list" :key="index" class="flex flex-col mt-25rpx"> <view
v-for="(item, index) in list"
:key="index"
class="flex flex-col mt-25rpx"
>
<view <view
class="w-180rpx rounded-r-full text-#0E0E0E text-25rpx px-40rpx center justify-start h-60rpx box-border bg-gradient-to-r from-#edf6f5 to-#bbdfe2" class="w-180rpx rounded-r-full text-#0E0E0E text-25rpx px-40rpx center justify-start h-60rpx box-border bg-gradient-to-r from-#edf6f5 to-#bbdfe2"
> >
{{ item.title }} {{ item.title }}
</view> </view>
<view class="p-20rpx"> <view class="p-20rpx">
<view v-for="(val, i) in item.list" :key="i" class="mb-10rpx p-[25rpx_20rpx_0rpx_10rpx] box-border between bg-#F1F7F7 rounded-10rpx" @click="toRouter(index, i)"> <view
<view :style="{'background-color': val.color}" class="w-60rpx h-60rpx rounded-full mr-30rpx"></view> v-for="(val, i) in item.list"
<view class="flex flex-col mr-auto"> :key="i"
<text class="text-#222222 text-28rpx">{{ val.name }}</text> class="mb-10rpx p-[25rpx_20rpx_25rpx_10rpx] box-border between bg-#F1F7F7 rounded-10rpx"
<text class="text-#939898 text-22rpx">{{ val.desc }}</text> @click="toRouter(val.id)"
</view> >
<uni-icons type="right" size="15" color="#6A6A6A"></uni-icons> <view
:style="{ 'background-color': val.color }"
class="w-60rpx h-60rpx rounded-full mr-30rpx"
></view>
<view class="flex flex-col mr-auto">
<text class="text-#222222 text-28rpx">{{ val.name }}</text>
<text class="text-#939898 text-22rpx">{{ val.desc }}</text>
</view>
<uni-icons type="right" size="15" color="#6A6A6A"></uni-icons>
</view> </view>
</view> </view>
</view> </view>

@ -1,376 +1,412 @@
<script setup> <script setup>
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
* date2023年3月19日 14:25:22 * date2023年3月19日 14:25:22
*/ */
import AnalysisChart1 from '@/components/analysis/chart1.vue' import AnalysisChart1 from "@/pages/components/analysis/chart1.vue";
import AnalysisChart2 from '@/components/analysis/chart2.vue' import AnalysisChart2 from "@/pages/components/analysis/chart2.vue";
import { import { onMounted, ref } from "vue";
onMounted, import { $image, $response, $api } from "@/api";
ref import { onShow } from "@dcloudio/uni-app";
} from 'vue' import { useStore } from "@/store";
import { const $store = useStore();
ReportAnalysisAction,
$image,
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
const analysis_content = ref({ const $props = defineProps({
title: '', id: {
result: '', type: String,
name: '', default: "",
value: '', },
date: '', });
content: '',
table: {
name: '',
list: []
}
})
const chart1_option = ref({
show: false,
range: [],
min: 0,
max: 0
})
const chart2_option = ref({
show: false,
data: [],
min: 0,
max: 0,
unit: '',
})
onMounted(() => {
GetGreySet()
ReportAnalysis()
})
const date_active = ref(0)
const data_show = ref(false)
const ReportAnalysis = async () => {
uni.showLoading({
title: '加载中...'
});
const response = await ReportAnalysisAction({
id_number: $props.id_number,
id: $props.id,
date: $props.date,
})
$response(response, () => {
uni.hideLoading();
analysis_content.value = response.data.info
response.data.chart1_option.min = Number(response.data.chart1_option.min)
response.data.chart1_option.max = Number(response.data.chart1_option.max)
chart1_option.value = response.data.chart1_option
chart2_option.value = response.data.chart2_option
data_show.value = response.data.show
date_arr.value = response.data.date_list.map((item, key) => {
if (response.data.date === item) {
date_active.value = key
}
return {
label: item,
value: item
}
})
uni.setNavigationBarTitle({
title: analysis_content.value.title
})
})
}
const $props = defineProps({ let type = ref(1);
type: {
type: String,
default: '1'
},
id: {
type: String,
default: '1'
},
id_number: {
type: String,
default: ''
},
date: {
type: String,
default: ''
},
hospital: {
type: String,
default: ''
},
});
const chooseTypeClick = (type) => {
if (Number($props.type) === type) return
let date = $props.date || analysis_content.value.date
uni.redirectTo({
url: `/pages/main/analysis_content/analysis_content?hospital=${$props.hospital}&type=${type}&id=${$props.id}&id_number=${$props.id_number}&date=${date}`
})
}
const date_arr = ref([]) const analysis_content = ref({
const dateChange = (e) => { title: "",
let index = Number(e.detail.value) result: "",
let date = date_arr.value[index].value name: "",
uni.redirectTo({ value: "",
url: `/pages/main/analysis_content/analysis_content?hospital=${$props.hospital}&type=${$props.type}&id=${$props.id}&id_number=${$props.id_number}&date=${date}` date: "",
}) content: "",
} table: {
// name: "",
const SysGreyType=ref(0) list: [],
const GetGreySet=()=>{ },
uni.getStorage({ });
key: 'SysGreytype', const chart1_option = ref({
success: function (res) { show: false,
console.log(res.data); range: [],
if(res.data==1){ min: 0,
SysGreyType.value=1 max: 0,
} });
} const chart2_option = ref({
}); show: false,
} data: [],
min: 0,
max: 0,
unit: "",
});
onMounted(() => {
GetGreySet();
ReportAnalysis();
});
const date_active = ref(0);
const data_show = ref(false);
const ReportAnalysis = async () => {
uni.showLoading({
title: "加载中...",
});
const response = await $api("ReportAnalysis", {
id_number: $store.getUser().id_number,
id: $props.id,
});
$response(response, () => {
uni.hideLoading();
analysis_content.value = response.data.info;
console.log(analysis_content.value);
response.data.chart1_option.min = Number(response.data.chart1_option.min);
response.data.chart1_option.max = Number(response.data.chart1_option.max);
chart1_option.value = response.data.chart1_option;
chart2_option.value = response.data.chart2_option;
data_show.value = !response.data.show;
date_arr.value = response.data.date_list.map((item, key) => {
if (response.data.date === item) {
date_active.value = key;
}
return {
label: item,
value: item,
};
});
uni.setNavigationBarTitle({
title: analysis_content.value.title,
});
});
};
const chooseTypeClick = (status) => {
if (type.value == status) return;
type.value = status;
// let date = $props.date || analysis_content.value.date;
// uni.redirectTo({
// url: `/pages/main/analysis_content/analysis_content?hospital=${$props.hospital}&type=${type}&id=${$props.id}&id_number=${$props.id_number}&date=${date}`,
// });
};
const date_arr = ref([]);
// const dateChange = (e) => {
// let index = Number(e.detail.value);
// let date = date_arr.value[index].value;
// uni.redirectTo({
// url: `/pages/main/analysis_content/analysis_content?hospital=${$props.hospital}&type=${$props.type}&id=${$props.id}&id_number=${$props.id_number}&date=${date}`,
// });
// };
//
const SysGreyType = ref(0);
const GetGreySet = () => {
uni.getStorage({
key: "SysGreytype",
success: function (res) {
console.log(res.data);
if (res.data == 1) {
SysGreyType.value = 1;
}
},
});
};
</script> </script>
<template> <template>
<view> <view>
<view v-if="data_show" class="info_wrapper" :class="SysGreyType==1? 'grey' :''"> <view
<view v-if="chart1_option.show" class="info_chart_wrapper"> v-if="data_show"
<AnalysisChart1 :option="chart1_option"></AnalysisChart1> class="info_wrapper"
</view> :class="SysGreyType == 1 ? 'grey' : ''"
<view class="info_content_wrapper"> >
<view class="info_content_result_wrapper">本次体检{{ analysis_content.result }}</view> <view v-if="!chart1_option.show" class="info_chart_wrapper">
<view class="info_content_line_wrapper"></view> <AnalysisChart1 :option="chart1_option"></AnalysisChart1>
<view class="info_content_content_wrapper"> </view>
<view>{{ analysis_content.name }}{{ analysis_content.value }}</view> <view class="info_content_wrapper">
<view class="info_content_date_wrapper"> <view class="info_content_result_wrapper"
<view>日期</view> >本次体检{{ analysis_content.result }}</view
<picker v-if="date_arr.length" @change="dateChange" :value="date_active" :range="date_arr" >
range-key="label"> <view class="info_content_line_wrapper"></view>
<view>{{ analysis_content.date }}</view> <view class="info_content_content_wrapper">
</picker> <view>{{ analysis_content.name }}{{ analysis_content.value }}</view>
</view> <view class="info_content_date_wrapper">
</view> <view>日期</view>
</view> <!-- <picker
</view> v-if="date_arr.length"
<view v-if="data_show" class="table_wrapper"> @change="dateChange"
<view class="table_type_group_wrapper" :class="SysGreyType==1? 'grey' :''"> :value="date_active"
<view @click="chooseTypeClick(1)" class="table_type_group_item_wrapper" :range="date_arr"
:class="[Number($props.type) === 1 ? 'table_type_group_item_active_wrapper' : '']">趋势图表</view> range-key="label"
<view @click="chooseTypeClick(2)" class="table_type_group_item_wrapper" >
:class="[Number($props.type) === 2 ? 'table_type_group_item_active_wrapper' : '']">详细数据</view> </picker> -->
</view> <view>{{ analysis_content.date }}</view>
<view class="table_content_wrapper" :class="SysGreyType==1? 'grey' :''"> </view>
<AnalysisChart2 :option="chart2_option" v-if="chart2_option.show && Number($props.type) === 1"></AnalysisChart2> </view>
<view class="table_content_table_wrapper" v-if="Number($props.type) === 2"> </view>
<view class="table_content_table_line_wrapper"> </view>
<view class="table_content_table_line_item_wrapper table_content_table_title_wrapper">临床意义 <view v-if="data_show" class="table_wrapper">
</view> <view
<view class="table_type_group_wrapper"
class="table_content_table_line_item_wrapper table_content_table_line_center_wrapper table_content_table_title_wrapper"> :class="SysGreyType == 1 ? 'grey' : ''"
{{ analysis_content.table.name }} >
</view> <view
<view class="table_content_table_line_item_wrapper table_content_table_title_wrapper">评估</view> @click="chooseTypeClick(1)"
</view> class="table_type_group_item_wrapper"
<view class="table_content_table_line_wrapper" v-for="(i,k) in analysis_content.table.list" :key="k"> :class="type == 1 ? 'table_type_group_item_active_wrapper' : ''"
<view class="table_content_table_line_item_wrapper" :class="[ >趋势图表</view
!!(k%2) ? '' : 'table_content_table_line_item_active_wrapper' >
]">{{ i.date }} <view
</view> @click="chooseTypeClick(2)"
<view class="table_content_table_line_item_wrapper table_content_table_line_center_wrapper" :class="[ class="table_type_group_item_wrapper"
!!(k%2) ? '' : 'table_content_table_line_item_active_wrapper' :class="type == 2 ? 'table_type_group_item_active_wrapper' : ''"
]">{{ i.value }}</view> >详细数据</view
<view class="table_content_table_line_item_wrapper" :class="[ >
!!(k%2) ? '' : 'table_content_table_line_item_active_wrapper' </view>
]">{{ i.assess }}</view> <view
</view> class="table_content_wrapper"
</view> :class="SysGreyType == 1 ? 'grey' : ''"
</view> >
</view> <AnalysisChart2
<view v-if="data_show" class="content_wrapper" :class="SysGreyType==1? 'grey' :''"> :option="chart2_option"
<view class="analysis_title_wrapper"> v-if="chart2_option.show && type === 1"
<view class="analysis_title_icon_wrapper"> ></AnalysisChart2>
<image :src="$image('/storage/assets/report/report/竖线@2x.png')"></image> <view class="table_content_table_wrapper" v-if="type === 2">
</view> <view class="table_content_table_line_wrapper">
<view class="analysis_title_text_wrapper">临床意义</view> <view
</view> class="table_content_table_line_item_wrapper table_content_table_title_wrapper"
<view class="content_text_wrapper"> >临床意义
<text v-html="analysis_content.content"></text> </view>
</view> <view
</view> class="table_content_table_line_item_wrapper table_content_table_line_center_wrapper table_content_table_title_wrapper"
</view> >
{{ analysis_content.table?.name }}
</view>
<view
class="table_content_table_line_item_wrapper table_content_table_title_wrapper"
>评估</view
>
</view>
<view
class="table_content_table_line_wrapper"
v-for="(i, k) in analysis_content?.table?.list"
:key="k"
>
<view
class="table_content_table_line_item_wrapper"
:class="[
!!(k % 2) ? '' : 'table_content_table_line_item_active_wrapper',
]"
>{{ i.date }}
</view>
<view
class="table_content_table_line_item_wrapper table_content_table_line_center_wrapper"
:class="[
!!(k % 2) ? '' : 'table_content_table_line_item_active_wrapper',
]"
>{{ i.value }}</view
>
<view
class="table_content_table_line_item_wrapper"
:class="[
!!(k % 2) ? '' : 'table_content_table_line_item_active_wrapper',
]"
>{{ i.assess }}</view
>
</view>
</view>
</view>
</view>
<view
v-if="data_show"
class="content_wrapper"
:class="SysGreyType == 1 ? 'grey' : ''"
>
<view class="analysis_title_wrapper">
<view class="analysis_title_icon_wrapper">
<image
:src="$image('/storage/assets/report/report/竖线@2x.png')"
></image>
</view>
<view class="analysis_title_text_wrapper">临床意义</view>
</view>
<view class="content_text_wrapper">
<text v-html="analysis_content.content"></text>
</view>
</view>
</view>
</template> </template>
<style scoped> <style scoped>
.info_content_date_wrapper { .info_content_date_wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.table_content_table_line_item_wrapper { .table_content_table_line_item_wrapper {
width: 210rpx; width: 210rpx;
text-align: center; text-align: center;
height: 60rpx; height: 60rpx;
font-size: 26rpx; font-size: 26rpx;
font-weight: 500; font-weight: 500;
color: #333333; color: #333333;
line-height: 60rpx; line-height: 60rpx;
margin-top: 10rpx; margin-top: 10rpx;
} }
.table_content_table_line_item_active_wrapper { .table_content_table_line_item_active_wrapper {
background: #F1F5F8; background: #f1f5f8;
} }
.table_content_table_title_wrapper { .table_content_table_title_wrapper {
background: #EFEFEF; background: #efefef;
} }
.table_content_table_line_center_wrapper { .table_content_table_line_center_wrapper {
margin-left: 3rpx; margin-left: 3rpx;
margin-right: 3rpx; margin-right: 3rpx;
} }
.table_content_table_wrapper { .table_content_table_wrapper {
margin-top: 45rpx; margin-top: 45rpx;
} }
.table_content_table_line_wrapper { .table_content_table_line_wrapper {
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
.table_type_group_item_wrapper { .table_type_group_item_wrapper {
font-size: 28rpx; font-size: 28rpx;
font-weight: normal; font-weight: normal;
color: #757575; color: #757575;
line-height: 68rpx; line-height: 68rpx;
text-align: center; text-align: center;
width: 212rpx; width: 212rpx;
} }
.table_type_group_wrapper { .table_type_group_wrapper {
width: 430rpx; width: 430rpx;
height: 62rpx; height: 62rpx;
background: #d0f3ee; background: #d0f3ee;
border-radius: 8rpx; border-radius: 8rpx;
margin: 30rpx auto 0; margin: 30rpx auto 0;
border: #16C5A9 solid 3rpx; border: #16c5a9 solid 3rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
overflow: hidden; overflow: hidden;
} }
.table_type_group_item_active_wrapper { .table_type_group_item_active_wrapper {
background: #16C5A9; background: #16c5a9;
color: #FFFFFF; color: #ffffff;
} }
.content_text_wrapper { .content_text_wrapper {
font-size: 24rpx; font-size: 24rpx;
font-weight: 500; font-weight: 500;
color: #343434; color: #343434;
line-height: 48rpx; line-height: 48rpx;
padding: 15rpx 35rpx; padding: 15rpx 35rpx;
} }
.info_content_content_wrapper { .info_content_content_wrapper {
width: 318rpx; width: 318rpx;
padding-bottom: 10rpx; padding-bottom: 10rpx;
background: #FFF8ED; background: #fff8ed;
border-radius: 1rpx; border-radius: 1rpx;
margin-top: 9rpx; margin-top: 9rpx;
font-size: 26rpx; font-size: 26rpx;
font-weight: 500; font-weight: 500;
color: #444444; color: #444444;
line-height: 50rpx; line-height: 50rpx;
padding-top: 20rpx; padding-top: 20rpx;
padding-left: 12rpx; padding-left: 12rpx;
} }
.info_content_line_wrapper { .info_content_line_wrapper {
width: 330rpx; width: 330rpx;
height: 1rpx; height: 1rpx;
background: #BFBFBF; background: #bfbfbf;
border-radius: 1rpx; border-radius: 1rpx;
margin-top: 21rpx; margin-top: 21rpx;
} }
.info_content_result_wrapper { .info_content_result_wrapper {
font-size: 30rpx; font-size: 30rpx;
font-weight: 500; font-weight: 500;
color: #D38014; color: #d38014;
line-height: 1; line-height: 1;
margin-left: 12rpx; margin-left: 12rpx;
} }
.info_content_wrapper { .info_content_wrapper {
width: 330rpx; width: 330rpx;
margin-left: 39rpx; margin-left: 39rpx;
} }
.info_chart_wrapper { .info_chart_wrapper {
width: 294rpx; width: 294rpx;
height: 338rpx; height: 338rpx;
} }
.content_wrapper { .content_wrapper {
width: 750rpx; width: 750rpx;
padding-bottom: 100rpx; padding-bottom: 100rpx;
background: #FFFFFF; background: #ffffff;
box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05); box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05);
border-radius: 10rpx; border-radius: 10rpx;
margin-top: 15rpx; margin-top: 15rpx;
} }
.table_wrapper { .table_wrapper {
width: 750rpx; width: 750rpx;
background: #FFFFFF; background: #ffffff;
box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05); box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05);
border-radius: 10rpx; border-radius: 10rpx;
margin-top: 15rpx; margin-top: 15rpx;
overflow: hidden; overflow: hidden;
padding-bottom: 34rpx; padding-bottom: 34rpx;
} }
.info_wrapper { .info_wrapper {
width: 750rpx; width: 750rpx;
height: 375rpx; height: 375rpx;
background: #FFFFFF; background: #ffffff;
box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05); box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05);
border-radius: 10rpx; border-radius: 10rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.analysis_title_text_wrapper { .analysis_title_text_wrapper {
color: #57C1B0; color: #57c1b0;
font-size: 28rpx; font-size: 28rpx;
font-weight: bold; font-weight: bold;
line-height: 1; line-height: 1;
margin-left: 18rpx; margin-left: 18rpx;
} }
.analysis_title_icon_wrapper image { .analysis_title_icon_wrapper image {
width: 10rpx; width: 10rpx;
height: 32rpx; height: 32rpx;
display: block; display: block;
} }
.analysis_title_icon_wrapper { .analysis_title_icon_wrapper {
width: 10rpx; width: 10rpx;
height: 32rpx; height: 32rpx;
margin-left: 31rpx; margin-left: 31rpx;
} }
.analysis_title_wrapper { .analysis_title_wrapper {
height: 80rpx; height: 80rpx;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.grey{ .grey {
filter: grayscale(100%); filter: grayscale(100%);
} }
</style> </style>

@ -173,7 +173,14 @@ const contrastClick = async (item) => {
if (comboIds.value.includes(item.combo_id)) { if (comboIds.value.includes(item.combo_id)) {
comboIds.value.splice(comboIds.value.indexOf(item.combo_id), 1); comboIds.value.splice(comboIds.value.indexOf(item.combo_id), 1);
} else { } else {
comboIds.value.push(item.combo_id); if (comboIds.value.length < 3) {
comboIds.value.push(item.combo_id);
} else {
uni.showToast({
title: "最多对比3个套餐",
icon: "none",
});
}
} }
$store.setComboContrast(comboIds.value); $store.setComboContrast(comboIds.value);
}; };
@ -248,12 +255,12 @@ const buyClick = async (item) => {
}; };
const toRouter = () => { const toRouter = () => {
if(!comboIds.value.length){ if (!comboIds.value.length) {
uni.showToast({ uni.showToast({
title: "请先选择套餐", title: "请先选择套餐",
icon: "none", icon: "none",
}); });
return return;
} }
uni.navigateTo({ uni.navigateTo({
url: "/pages/main/combo/tcdb", url: "/pages/main/combo/tcdb",
@ -271,11 +278,7 @@ const toRouter = () => {
@click="toRouter" @click="toRouter"
class="center fixed pt-10rpx box-border left-40rpx bottom-5% rounded-full w-110rpx h-110rpx bg-#239EA3 flex-col" class="center fixed pt-10rpx box-border left-40rpx bottom-5% rounded-full w-110rpx h-110rpx bg-#239EA3 flex-col"
> >
<uni-badge <uni-badge :text="comboIds.length" absolute="rightTop" size="small">
:text="comboIds.length"
absolute="rightTop"
size="small"
>
<image <image
src="@/static/assets/slices/duibi.png" src="@/static/assets/slices/duibi.png"
mode="widthFix" mode="widthFix"

@ -32,6 +32,7 @@ const getdbAxios = async () => {
}); });
}; };
const clickdb = async () => { const clickdb = async () => {
$store.setComboContrast(comboIds.value);
uni.navigateTo({ uni.navigateTo({
url: "/pages/buy/contrast/contrast", url: "/pages/buy/contrast/contrast",
}); });

@ -25,7 +25,7 @@ export const useStore = defineStore('counter', {
actions: { actions: {
setComboContrast(comboContrast) { setComboContrast(comboContrast) {
this.combo_compare = comboContrast; this.combo_compare = comboContrast;
uni.setStorageSync('COMBO_CONTRAST', JSON.stringify(this.comboContrast)); uni.setStorageSync('COMBO_CONTRAST', JSON.stringify(this.combo_compare));
}, },
getComboContrast(){ getComboContrast(){
return JSON.parse(uni.getStorageSync('COMBO_CONTRAST') || '[]') || this.combo_compare; return JSON.parse(uni.getStorageSync('COMBO_CONTRAST') || '[]') || this.combo_compare;

Loading…
Cancel
Save