封装设备型号远程搜索 及替换订单信息中设备型号搜索

pull/4/head
qiuhongwu 8 months ago
parent ebb112f8b3
commit f4cc689b5a

@ -25,7 +25,7 @@ const queryParams = {
description: undefined, description: undefined,
status: undefined, status: undefined,
original: undefined, original: undefined,
density: undefined, density: undefined
} }
const valueName: any = ref() // const valueName: any = ref() //
@ -49,6 +49,7 @@ const gitlist = async () => {
let foundInitialUserInList = false let foundInitialUserInList = false
for (const composition of compositionList.value) { for (const composition of compositionList.value) {
if (composition.id === initialUser.id) { if (composition.id === initialUser.id) {
valueName.value = initialUser.name
foundInitialUserInList = true foundInitialUserInList = true
break break
} }
@ -56,6 +57,7 @@ const gitlist = async () => {
// //
if (!foundInitialUserInList && !compositionSelectList.value.length) { if (!foundInitialUserInList && !compositionSelectList.value.length) {
compositionList.value.unshift(initialUser) compositionList.value.unshift(initialUser)
valueName.value = initialUser.name
} }
// loading.value = false // loading.value = false
} }

@ -0,0 +1,107 @@
<template>
<!-- 材质选择 -->
<el-select v-model="valueName" placeholder="请输入设备" :remote-method="remoteMethod" remote-show-suffix remote clearable reserve-keyword filterable :loading="Loading" @change="onSelectChange" @visible-change="onVisibleChange">
<el-option v-for="item in eqyipSelectList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</template>
<script lang="ts" setup>
import { ref, onMounted, toRefs } from 'vue'
import * as EquipApi from '@/api/heli/equip'
//
const props = defineProps({
modelValue: {
type: [Number, String],
required: true // true
}
})
const queryParams = {
pageNo: 1,
pageSize: 10,
id: undefined,
name: undefined,
mouldTypeId: undefined,
status: undefined,
}
const valueName: any = ref() //
const valueNameObject: any = ref() //
const emit = defineEmits(['update:newValue'])
const eqyipList = ref<EquipApi.EquipVO[]>([]) //
const eqyipSelectList = ref<EquipApi.EquipVO[]>([])
const loading = ref(false)
const SelectLoading = ref(false)
const propsmodelValue = toRefs(props).modelValue // props modelValue
const initialValue: any = ref(null) // ID
const gitlist = async () => {
const data = await EquipApi.getEquipPage(queryParams)
eqyipList.value = [...eqyipList.value, ...data.list]
//
if (propsmodelValue.value) {
valueName.value = propsmodelValue.value
const initialUser = await EquipApi.getEquip(valueName.value)
console.log(initialUser);
// eqyipList
let foundInitialUserInList = false
for (const eqyip of eqyipList.value) {
if (eqyip.id === initialUser.id) {
valueName.value =initialUser.name
foundInitialUserInList = true
break
}
}
//
if (!foundInitialUserInList && !eqyipSelectList.value.length) {
eqyipList.value.unshift(initialUser)
valueName.value = initialUser.name
}
// loading.value = false
}
eqyipSelectList.value = eqyipList.value
loading.value = false
}
const remoteMethod = async (query: any) => {
loading.value = true
eqyipSelectList.value = []
try {
if (query) {
queryParams.name = query
const data = await EquipApi.getEquipPage(queryParams)
eqyipList.value = data.list
eqyipSelectList.value = data.list
} else {
gitlist()
}
} catch (error) {
console.error(error)
} finally {
loading.value = false
}
}
//
onMounted(async () => {
try {
await gitlist()
} catch (error) {
console.error(error)
}
})
const onVisibleChange = (isVisible: boolean) => {
if (!isVisible) {
//
queryParams.name = undefined
eqyipList.value = []
eqyipSelectList.value = []
}
}
const onSelectChange = (newValue: any) => {
valueNameObject.value = eqyipList.value.find((eqyip) => eqyip.id === newValue) //
emit('update:newValue', valueNameObject.value)
}
</script>

@ -15,6 +15,7 @@
<el-col :span="1"> 供应商</el-col> <el-col :span="1"> 供应商</el-col>
<el-col :span="1"> 材质</el-col> <el-col :span="1"> 材质</el-col>
<el-col :span="1"> 物料</el-col> <el-col :span="1"> 物料</el-col>
<el-col :span="1"> 设备</el-col>
</el-row> </el-row>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="108px"> <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="108px">

@ -31,6 +31,9 @@
<el-form-item label="物料" prop="materialId"> <el-form-item label="物料" prop="materialId">
<MaterialSelect v-model="formData.materialId" @update:newValue="handleSelectedMaterial" /> <MaterialSelect v-model="formData.materialId" @update:newValue="handleSelectedMaterial" />
</el-form-item> </el-form-item>
<el-form-item label="设备" prop="eqyipId">
<EquipSelect v-model="formData.eqyipId" @update:newValue="handleSelectedEquip" />
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
@ -53,6 +56,7 @@ import CompositionSelect from '../hlvuestyle/compositionSelect.vue'
import WorkshopSelect from '../hlvuestyle/workshopSelect.vue' import WorkshopSelect from '../hlvuestyle/workshopSelect.vue'
import MaterialSelect from '../hlvuestyle/materialSelect.vue' import MaterialSelect from '../hlvuestyle/materialSelect.vue'
import ClassesSelect from '../hlvuestyle/classesSelect.vue' import ClassesSelect from '../hlvuestyle/classesSelect.vue'
import EquipSelect from '../hlvuestyle/equipSelect.vue'
import { defineComponent } from 'vue' import { defineComponent } from 'vue'
defineOptions({ name: 'SystemDeptForm' }) defineOptions({ name: 'SystemDeptForm' })
@ -73,6 +77,7 @@ const formData: any = ref({
workshopId: undefined, workshopId: undefined,
materialId: undefined, materialId: undefined,
classesId: undefined, classesId: undefined,
eqyipId:undefined,
status: CommonStatusEnum.ENABLE status: CommonStatusEnum.ENABLE
}) })
const formRules = reactive<FormRules>({ const formRules = reactive<FormRules>({
@ -182,4 +187,10 @@ const handleSelectedMaterial = (newValue: any) => {
console.log('接收物料对应的数据:', newValue) console.log('接收物料对应的数据:', newValue)
formData.value. materialId = newValue.id formData.value. materialId = newValue.id
} }
//
const handleSelectedEquip = (newValue: any) => {
console.log('接收设备对应的数据:', newValue)
formData.value.eqyipId = newValue.id
}
</script> </script>

@ -294,10 +294,15 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="设备型号" min-width="150" align="center"> <el-table-column label="设备型号" min-width="150" align="center">
<template #default="{ row, $index }"> <!-- <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.deviceModel`" :rules="subFormRules.deviceModel" class="mb-0px!"> <el-form-item :prop="`${$index}.deviceModel`" :rules="subFormRules.deviceModel" class="mb-0px!">
<el-input :disabled="detailDisabled || (alterDisabled && row.id)" v-model="row.deviceModel" placeholder="请输入设备型号" /> <el-input :disabled="detailDisabled || (alterDisabled && row.id)" v-model="row.deviceModel" placeholder="请输入设备型号" />
</el-form-item> </el-form-item>
</template> -->
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.deviceModel`" :rules="subFormRules.deviceModel" class="mb-0px!">
<EquipSelect v-model="row.deviceModel" @update:newValue="handleSelectedequip($index, $event)" :disabled="detailDisabled || (alterDisabled && row.id)" />
</el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="150" align="center"> <el-table-column min-width="150" align="center">
@ -322,7 +327,7 @@
<template #header> <span class="hl-table_header">*</span>材质 </template> <template #header> <span class="hl-table_header">*</span>材质 </template>
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.compositionId`" :rules="subFormRules.compositionId" class="mb-0px!"> <el-form-item :prop="`${$index}.compositionId`" :rules="subFormRules.compositionId" class="mb-0px!">
<CompositionSelect v-model="row.compositionId" @update:newValue="handleSelected($index, $event)" :disabled="detailDisabled" :class="{ 'alter-class': fieldHasAlterInRow('compositionId', row) }" /> <CompositionSelect v-model="row.compositionId" @update:newValue="handleSelectedcomposition($index, $event)" :disabled="detailDisabled" :class="{ 'alter-class': fieldHasAlterInRow('compositionId', row) }" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
@ -462,7 +467,8 @@ import { useUserStore } from '@/store/modules/user'
import { getUserProfile } from '@/api/system/user/profile' import { getUserProfile } from '@/api/system/user/profile'
import { getOperateLogPage } from '@/api/system/operatelog' import { getOperateLogPage } from '@/api/system/operatelog'
import UserSelect from '../hlvuestyle/userSelect.vue' import UserSelect from '../hlvuestyle/userSelect.vue'
import CompositionSelect from "@/views/heli/hlvuestyle/compositionSelect.vue"; import CompositionSelect from '@/views/heli/hlvuestyle/compositionSelect.vue'
import EquipSelect from '@/views/heli/hlvuestyle/equipSelect.vue'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
@ -947,12 +953,19 @@ onMounted(() => {
}) })
// //
const handleSelected = (currentIndex: number,newValue: any) => { const handleSelectedcomposition = (currentIndex: number, newValue: any) => {
formData.value.projectOrderSubs[currentIndex].compositionId = newValue?.id formData.value.projectOrderSubs[currentIndex].compositionId = newValue?.id
} }
//
const handleSelectedUser = (newValue: any) => { const handleSelectedUser = (newValue: any) => {
formData.value.businessMan = newValue?.id formData.value.businessMan = newValue?.id
} }
//
const handleSelectedequip = (currentIndex: number, newValue: any) => {
console.log(currentIndex, newValue);
formData.value.projectOrderSubs[currentIndex].deviceModel = newValue?.id
}
</script> </script>
<style> <style>
a { a {

Loading…
Cancel
Save