Browse Source

修复产品组件重置问题

lihuilin/feature-20250923114949-现金
ZhangYong 1 month ago
parent
commit
870b7c28f1
  1. 16
      src/components/MoneyManage/ProductSelect.vue
  2. 14
      src/views/moneyManage/receiveDetail/receiveDetail.vue

16
src/components/MoneyManage/ProductSelect.vue

@ -244,17 +244,30 @@ const clickmenu = (index) => {
activeIndex.value = activeIndex.value === index ? -1 : index;
}
const resetSelect = () => {
selectedValue.value = ''; //
selectedItem.value = ''; //
isOpen.value = false; //
coinisOpen.value = false; //
productisOpen.value = false; //
activeIndex.value = -1; //
};
watch(() => props.modelValue, (newVal) => {
selectedItem.value = newVal;
selectedValue.value = newVal;
}, { immediate: true });
onMounted(async () => {
console.log('打开组件', props.modelValue);
selectedValue.value = props.modelValue;
selectedItem.value = selectedValue.value || '';
document.addEventListener('click', handleGlobalClick); //
});
onUnmounted(() => {
selectedValue.value = '';
document.removeEventListener('click', handleGlobalClick); //
});
defineExpose({ resetSelect });
</script>
<style scoped lang="scss">
.productContent {
@ -426,7 +439,8 @@ onUnmounted(() => {
}
}
}
.fistlevel.selected .label {
.fistlevel.selected .label {
color: #175BE5;
}
}

14
src/views/moneyManage/receiveDetail/receiveDetail.vue

@ -124,9 +124,9 @@
<el-table-column fixed="left" prop="jwcode" label="Homily ID" width="110px" />
<el-table-column fixed="left" prop="name" label="姓名" width="110px" />
<el-table-column prop="marketName" label="所属地区" width="80px" />
<el-table-column prop="activity" label="活动名称" width="120px" show-overflow-tooltip/>
<el-table-column prop="activity" label="活动名称" width="120px" show-overflow-tooltip />
<el-table-column prop="goodsName" label="产品名称" width="120px" />
<el-table-column prop="goodNum" label="产品数量" width="130px" >
<el-table-column prop="goodNum" label="产品数量" width="130px">
<template #default="scope">
<span v-if="scope.row.goodsName == '金币充值'">{{ scope.row.permanentGold }}</span>
<span v-else>{{ scope.row.goodNum }}</span>
@ -297,7 +297,7 @@
<el-input v-model="addFormData.activity" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="产品名称" required @change="ifGold">
<ProductSelect v-model="addFormData.goodsName"></ProductSelect>
<ProductSelect ref="productSelectRef" v-model="addFormData.goodsName"></ProductSelect>
</el-form-item>
<el-form-item v-show="!isGold" label="产品数量" required>
<div style="padding-right: 50px; display: flex;">
@ -819,6 +819,7 @@ const addFormData = ref({
market: '',
permanentGold: 0,
freeGold: 0,
goodsName: ''
})
const isGold = ref(false)
const ifGold = () => {
@ -878,7 +879,10 @@ const openRejectReason = (reason) => {
}
const uploadRef = ref()
const addOrEdit = ref(0) // 1 2
const productSelectRef = ref(null);
const openAddForm = (row) => {
productSelectRef.value?.resetSelect();
if (row.jwcode) {
console.log('编辑回显数据', row);
addOrEdit.value = 2
@ -889,7 +893,9 @@ const openAddForm = (row) => {
} else {
addOrEdit.value = 1
addFormData.value = {}
addFormData.value = {
goodsName: ''
}
addFormisible.value = true
}
}

Loading…
Cancel
Save