班组远程搜索

pull/1/head
qiuhongwu 9 months ago
parent 32abd02b36
commit 753ca4f1bd

@ -0,0 +1,65 @@
<template>
<!-- 班组选择 -->
<el-select
v-model="valueName"
placeholder="请输入班组"
:remote-method="remoteMethod"
remote-show-suffix
remote
clearable
reserve-keyword
filterable
:loading="Loading"
@change="onSelectChange"
>
<el-option
v-for="item in classesSelectList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</template>
<script lang="ts" setup>
import { ref, onMounted, toRefs } from 'vue'
import * as ClassesApi from '@/api/heli/classes'
const valueName: any = ref() //
const classesList = ref<ClassesApi.ClassesVO[]>([]) //
const classesSelectList = ref<ClassesApi.ClassesVO[]>([])
const Loading = ref(false)
//
onMounted(async () => {
const queryParams = {
pageNo: 1,
pageSize: 10,
code: undefined,
brief: undefined,
status: undefined
}
try {
const data = await ClassesApi.getClassesPage(queryParams)
console.log(data.list)
classesList.value = data.list
//
remoteMethod('')
} catch (error) {
console.error(error)
}
})
const remoteMethod = (query: any) => {
if (query) {
Loading.value = true
setTimeout(() => {
Loading.value = false
classesSelectList.value = classesList.value
.filter((item) => item.name.toLowerCase().includes(query.toLowerCase()))
.slice(0, 10) //10
}, 200)
} else {
classesSelectList.value = classesList.value.slice(0, 10)
}
}
</script>

@ -9,6 +9,7 @@
<el-row style="font-size: 20px; font-weight: 700;margin-bottom: 30px">
<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>

@ -12,6 +12,9 @@
</el-form-item>
<el-form-item label="车间" prop="workshopId">
<WorkshopSelect v-model="formData.workshopId" />
</el-form-item>
<el-form-item label="班组" prop="classesId">
<ClassesSelect v-model="formData.workshopId" />
</el-form-item>
<el-form-item label="职工" prop="leaderUserId">
<UserSelect v-model="formData.leaderUserId" />
@ -49,6 +52,7 @@ import SupplierSelect from '../hlvuestyle/supplierSelect.vue'
import CompositionSelect from '../hlvuestyle/compositionSelect.vue'
import WorkshopSelect from '../hlvuestyle/workshopSelect.vue'
import MaterialSelect from '../hlvuestyle/materialSelect.vue'
import ClassesSelect from '../hlvuestyle/classesSelect.vue'
defineOptions({ name: 'SystemDeptForm' })
@ -68,6 +72,7 @@ const formData: any = ref({
compositionId: undefined,
workshopId: undefined,
materialId: undefined,
classesId:undefined,
status: CommonStatusEnum.ENABLE
})
const formRules = reactive<FormRules>({

Loading…
Cancel
Save