物料 材质 远程搜索

pull/1/head
qiuhongwu 9 months ago
parent af11cca079
commit 8256e6af10

@ -12,7 +12,12 @@
:loading="Loading" :loading="Loading"
@change="onSelectChange" @change="onSelectChange"
> >
<el-option v-for="item in compositionSelectList" :key="item.id" :label="item.name" :value="item.id" /> <el-option
v-for="item in compositionSelectList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select> </el-select>
</template> </template>
@ -20,6 +25,8 @@
import { ref, onMounted, toRefs } from 'vue' import { ref, onMounted, toRefs } from 'vue'
import * as CompositionApi from '@/api/heli/composition' import * as CompositionApi from '@/api/heli/composition'
const valueName: any = ref() // const valueName: any = ref() //
const valueNameObject: any = ref() //
const emit = defineEmits(['update:newValue'])
const compositionList = ref<CompositionApi.CompositionVO[]>([]) // const compositionList = ref<CompositionApi.CompositionVO[]>([]) //
const compositionSelectList = ref<CompositionApi.CompositionVO[]>([]) const compositionSelectList = ref<CompositionApi.CompositionVO[]>([])
const Loading = ref(false) const Loading = ref(false)
@ -35,7 +42,6 @@ onMounted(async () => {
} }
try { try {
const data = await CompositionApi.getCompositionPage(queryParams) const data = await CompositionApi.getCompositionPage(queryParams)
console.log(data.list)
compositionList.value = data.list compositionList.value = data.list
// //
remoteMethod('') remoteMethod('')
@ -57,5 +63,8 @@ const remoteMethod = (query: any) => {
compositionSelectList.value = compositionList.value.slice(0, 10) compositionSelectList.value = compositionList.value.slice(0, 10)
} }
} }
const onSelectChange = (newValue: any) => {
valueNameObject.value = compositionList.value.find( composition => composition.id === newValue); //
emit('update:newValue', valueNameObject.value)
}
</script> </script>

@ -26,10 +26,10 @@
<SupplierSelect v-model="formData.supplierId" @update:newValue="handleSelectedSupplier" /> <SupplierSelect v-model="formData.supplierId" @update:newValue="handleSelectedSupplier" />
</el-form-item> </el-form-item>
<el-form-item label="材质" prop="compositionId"> <el-form-item label="材质" prop="compositionId">
<CompositionSelect v-model="formData.compositionId" /> <CompositionSelect v-model="formData.compositionId" @update:newValue="handleSelectedComposition" />
</el-form-item> </el-form-item>
<el-form-item label="物料" prop="materialId"> <el-form-item label="物料" prop="materialId">
<MaterialSelect v-model="formData.materialId" /> <MaterialSelect v-model="formData.materialId" @update:newValue="handleSelectedMaterial" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -116,8 +116,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const submitForm = async () => { const submitForm = async () => {
alert(formData.value.parentId) alert('提交表单 看打印台')
alert(formData.value.leaderUserId)
} }
/** 重置表单 */ /** 重置表单 */
@ -168,7 +167,19 @@ const handleSelectedClient = (newValue: any) => {
} }
// //
const handleSelectedSupplier = (newValue: any) => { const handleSelectedSupplier = (newValue: any) => {
console.log('接收客户对应的数据:', newValue) console.log('接收供应商对应的数据:', newValue)
formData.value.supplierId = newValue.id formData.value.supplierId = newValue.id
} }
//
const handleSelectedComposition = (newValue: any) => {
console.log('接收材质对应的数据:', newValue)
formData.value.compositionId = newValue.id
}
//
const handleSelectedMaterial = (newValue: any) => {
console.log('接收物料对应的数据:', newValue)
formData.value. materialId = newValue.id
}
</script> </script>

@ -12,7 +12,7 @@
:loading="Loading" :loading="Loading"
@change="onSelectChange" @change="onSelectChange"
> >
<el-option v-for="item in materialSelectList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in materialSelectList" :key="item.id" :label="item.code+' '+item.name" :value="item.id" />
</el-select> </el-select>
</template> </template>
@ -20,6 +20,8 @@
import { ref, onMounted, toRefs } from 'vue' import { ref, onMounted, toRefs } from 'vue'
import * as MaterialApi from '@/api/heli/material' import * as MaterialApi from '@/api/heli/material'
const valueName: any = ref() // const valueName: any = ref() //
const valueNameObject: any = ref() //
const emit = defineEmits(['update:newValue'])
const materialList = ref<MaterialApi.MaterialVO[]>([]) // const materialList = ref<MaterialApi.MaterialVO[]>([]) //
const materialSelectList = ref<MaterialApi.MaterialVO[]>([]) const materialSelectList = ref<MaterialApi.MaterialVO[]>([])
const Loading = ref(false) const Loading = ref(false)
@ -35,7 +37,6 @@ onMounted(async () => {
} }
try { try {
const data = await MaterialApi.getMaterialPage(queryParams) const data = await MaterialApi.getMaterialPage(queryParams)
console.log(data.list)
materialList.value = data.list materialList.value = data.list
// //
remoteMethod('') remoteMethod('')
@ -50,7 +51,11 @@ const remoteMethod = (query: any) => {
setTimeout(() => { setTimeout(() => {
Loading.value = false Loading.value = false
materialSelectList.value = materialList.value materialSelectList.value = materialList.value
.filter((item) => item.name.toLowerCase().includes(query.toLowerCase())) .filter(
(item) =>
item.code.toLowerCase().includes(query.toLowerCase()) ||
item.name.toLowerCase().includes(query.toLowerCase())
)
.slice(0, 10) //10 .slice(0, 10) //10
}, 200) }, 200)
} else { } else {
@ -58,4 +63,8 @@ const remoteMethod = (query: any) => {
} }
} }
const onSelectChange = (newValue: any) => {
valueNameObject.value = materialList.value.find( material => material.id === newValue); //
emit('update:newValue', valueNameObject.value)
}
</script> </script>

Loading…
Cancel
Save