|
|
|
@ -92,10 +92,10 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="native-radio-item" @click=" showPanel = !showPanel"> |
|
|
|
<span class="native-radio-input"> |
|
|
|
<span class="native-radio-input" :class="{ 'is-checked': ifHcInfo }"> |
|
|
|
<span class="native-radio-inner"></span> |
|
|
|
</span> |
|
|
|
<span class="native-radio-label">{{ t('cash.HC') |
|
|
|
<span class="native-radio-label" :class="{ 'is-checked': ifHcInfo }">{{ t('cash.HC') |
|
|
|
}}</span> |
|
|
|
<div v-if="showPanel" class="native-cascader-panel" @click.stop> |
|
|
|
<div class="cascader-menu"> |
|
|
|
@ -120,6 +120,7 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<hr class="line"> |
|
|
|
<div class="selected-value">{{ t('common.selectedValue') }}:{{ selectedValue ? `(${selectedValue})` : t('common.none') }}</div> |
|
|
|
<div class="confirm"> |
|
|
|
<el-button type="info" @click="cancelSelection">{{ t('common.cancel') }}</el-button> |
|
|
|
<el-button type="primary" @click="confirmSelection">{{ t('common.confirm') }}</el-button> |
|
|
|
@ -178,7 +179,9 @@ const cancelSelection = () => { |
|
|
|
emit('update:modelValue', ''); |
|
|
|
console.log('点击了取消', ''); |
|
|
|
selectedItem.value = ''; |
|
|
|
selectedValue.value = ''; |
|
|
|
isOpen.value = false |
|
|
|
showPanel.value = false |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -213,7 +216,13 @@ const handlePanelChange = (val) => { |
|
|
|
selectedValue.value = val[val.length - 1] |
|
|
|
showPanel.value = false // 选择后关闭面板 |
|
|
|
console.log('selectedValue.value', selectedValue.value); |
|
|
|
|
|
|
|
} |
|
|
|
const ifHcInfo = ref(false) |
|
|
|
const checkIfHcINFO = () => { |
|
|
|
ifHcInfo.value = cascaderOptions.some(group => |
|
|
|
group.children && group.children.some(child => child.value === selectedValue.value) |
|
|
|
) |
|
|
|
console.log('ifHcInfo.value', ifHcInfo.value); |
|
|
|
} |
|
|
|
// 级联选择器数据源 |
|
|
|
const cascaderOptions = [ |
|
|
|
@ -223,6 +232,7 @@ const cascaderOptions = [ |
|
|
|
children: [ |
|
|
|
{ value: t('cash.aiService.HCInfoFeeRealTimeUS'), label: t('cash.softwareMenu.usStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeRealTimeHK'), label: t('cash.softwareMenu.hkStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeRealTimeMalaysiaStock'), label: t('cash.softwareMenu.malaysiaStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeRealTimeAStock'), label: t('cash.softwareMenu.aStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeRealTimeSingaporeStock'), label: t('cash.softwareMenu.singaporeStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeRealTimeJapanStock'), label: t('cash.softwareMenu.japanStock') }, |
|
|
|
@ -239,6 +249,7 @@ const cascaderOptions = [ |
|
|
|
children: [ |
|
|
|
{ value: t('cash.aiService.HCInfoFeeDelayUS'), label: t('cash.softwareMenu.usStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeDelayHK'), label: t('cash.softwareMenu.hkStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeDelayMalaysiaStock'), label: t('cash.softwareMenu.malaysiaStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeDelayAStock'), label: t('cash.softwareMenu.aStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeDelaySingaporeStock'), label: t('cash.softwareMenu.singaporeStock') }, |
|
|
|
{ value: t('cash.aiService.HCInfoFeeDelayJapanStock'), label: t('cash.softwareMenu.japanStock') }, |
|
|
|
@ -251,6 +262,10 @@ const cascaderOptions = [ |
|
|
|
} |
|
|
|
] |
|
|
|
|
|
|
|
watch(selectedValue, () => { |
|
|
|
checkIfHcINFO(); |
|
|
|
}, { immediate: true }); |
|
|
|
|
|
|
|
// 使用多语言字段重新构建menuData |
|
|
|
const menuData = [ |
|
|
|
{ |
|
|
|
@ -414,6 +429,7 @@ const resetSelect = () => { |
|
|
|
watch(() => props.modelValue, (newVal) => { |
|
|
|
selectedItem.value = newVal; |
|
|
|
selectedValue.value = newVal; |
|
|
|
checkIfHcINFO(); |
|
|
|
}, { immediate: true }); |
|
|
|
onMounted(async () => { |
|
|
|
console.log('打开组件', props.modelValue); |
|
|
|
@ -557,12 +573,20 @@ defineExpose({ resetSelect }); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.selected-value { |
|
|
|
color: #5870ff; |
|
|
|
font-size: 12px; |
|
|
|
text-align: center; |
|
|
|
} |
|
|
|
|
|
|
|
.confirm { |
|
|
|
width: 100%; |
|
|
|
padding: 10px 0; |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
gap: 50px; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.marketprodut { |
|
|
|
|