pull/1/head
siontion 9 months ago
commit 99a1bdf6ba

@ -18,7 +18,7 @@
class="!w-250px" class="!w-250px"
> >
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMPOSITION_ORIGINAL)" v-for="dict in getStrDictOptions(DICT_TYPE.HELI_COMPOSITION_ORIGINAL)"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
@ -50,7 +50,7 @@
</Dialog> </Dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import {getIntDictOptions, DICT_TYPE, getStrDictOptions} from '@/utils/dict'
import * as CompositionApi from '@/api/heli/composition' import * as CompositionApi from '@/api/heli/composition'
const { t } = useI18n() // const { t } = useI18n() //

@ -18,18 +18,6 @@ import * as DeptApi from '@/api/system/dept'
import { defaultProps, handleTree } from '@/utils/tree' import { defaultProps, handleTree } from '@/utils/tree'
interface UserVO {
id: number
username: string
nickname: string
}
const props = defineProps({
initialUserList: {
type: Array as PropType<UserVO[]>,
default: () => []
}
})
const valueBranch: any = ref() // const valueBranch: any = ref() //
const deptTree = ref() // const deptTree = ref() //

@ -12,32 +12,22 @@
:loading="Loading" :loading="Loading"
@change="onSelectChange" @change="onSelectChange"
> >
<el-option v-for="item in userSelectList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in clientSelectList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref, onMounted, toRefs } from 'vue' import { ref, onMounted, toRefs } from 'vue'
import * as CustomerApi from '@/api/heli/customer' import * as CustomerApi from '@/api/heli/customer'
interface UserVO {
id: number
username: string
nickname: string
}
const props = defineProps({
initialUserList: {
type: Array as PropType<UserVO[]>,
default: () => []
}
})
const valueName: any = ref() // const valueName: any = ref() //
const userList = ref<UserApi.UserVO[]>([]) // const clientList = ref<CustomerApi.CustomerVO[]>([]) //
const userSelectList = ref<UserApi.UserVO[]>([]) const clientSelectList = ref<CustomerApi.CustomerVO[]>([])
const Loading = ref(false) const Loading = ref(false)
// //
onMounted(async () => { onMounted(async () => {
const userParams = { const clientParams = {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
code: undefined, code: undefined,
@ -45,9 +35,9 @@ onMounted(async () => {
status: undefined status: undefined
} }
try { try {
const data = await CustomerApi.getCustomerPage(userParams) const data = await CustomerApi.getCustomerPage(clientParams)
console.log(data.list) console.log(data.list)
userList.value = data.list clientList.value = data.list
// //
remoteMethod('') remoteMethod('')
} catch (error) { } catch (error) {
@ -60,18 +50,13 @@ const remoteMethod = (query: any) => {
Loading.value = true Loading.value = true
setTimeout(() => { setTimeout(() => {
Loading.value = false Loading.value = false
userSelectList.value = userList.value clientSelectList.value = clientList.value
.filter((item) => item.name.toLowerCase().includes(query.toLowerCase())) .filter((item) => item.name.toLowerCase().includes(query.toLowerCase()))
.slice(0, 10) //10 .slice(0, 10) //10
}, 200) }, 200)
} else { } else {
userSelectList.value = userList.value.slice(0, 10) clientSelectList.value = clientList.value.slice(0, 10)
} }
} }
// const onSelectChange = (newValue: number | null) => {
// // console.log(newValue)
// emit('update:valueName', newValue)
// valueName.value = newValue
// }
</script> </script>

@ -10,6 +10,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 <el-form

@ -7,21 +7,18 @@
:rules="formRules" :rules="formRules"
label-width="108px" label-width="108px"
> >
<el-form-item label="上级部门" prop="parentId"> <el-form-item label="上级部门" prop="parentId">
<BranchSelect <BranchSelect v-model="formData.parentId" />
v-model="formData.parentId"
/>
</el-form-item> </el-form-item>
<el-form-item label="负责人" prop="leaderUserId"> <el-form-item label="负责人" prop="leaderUserId">
<UserSelect <UserSelect v-model="formData.leaderUserId" />
v-model="formData.leaderUserId"
/>
</el-form-item> </el-form-item>
<el-form-item label="客户" prop="leaderUserId"> <el-form-item label="客户" prop="clientId">
<ClientSelect <ClientSelect v-model="formData.clientId" />
v-model="formData.clientId" </el-form-item>
/> <el-form-item label="供应商" prop="supplierId">
<SupplierSelect v-model="formData.supplierId" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -40,6 +37,7 @@ import { FormRules } from 'element-plus'
import UserSelect from '../hlvuestyle/userSelect.vue' import UserSelect from '../hlvuestyle/userSelect.vue'
import BranchSelect from '../hlvuestyle/branchSelect.vue' import BranchSelect from '../hlvuestyle/branchSelect.vue'
import ClientSelect from '../hlvuestyle/clientSelect.vue' import ClientSelect from '../hlvuestyle/clientSelect.vue'
import SupplierSelect from '../hlvuestyle/supplierSelect.vue'
defineOptions({ name: 'SystemDeptForm' }) defineOptions({ name: 'SystemDeptForm' })
@ -54,11 +52,12 @@ const formData: any = ref({
id: undefined, id: undefined,
parentId: undefined, parentId: undefined,
leaderUserId: undefined, leaderUserId: undefined,
clientId:undefined, clientId: undefined,
supplierId: undefined,
status: CommonStatusEnum.ENABLE status: CommonStatusEnum.ENABLE
}) })
const formRules = reactive<FormRules>({ const formRules = reactive<FormRules>({
parentId: [{ required: true, message: '上级部门不能为空', trigger: 'blur' }], parentId: [{ required: true, message: '上级部门不能为空', trigger: 'blur' }]
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
const deptTree = ref() // const deptTree = ref() //
@ -66,7 +65,6 @@ const userList = ref<UserApi.UserVO[]>([]) // 用户列表
const userSelectList = ref<UserApi.UserVO[]>([]) const userSelectList = ref<UserApi.UserVO[]>([])
const userSelectLoading = ref(false) const userSelectLoading = ref(false)
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
dialogVisible.value = true dialogVisible.value = true
@ -109,6 +107,8 @@ const resetForm = () => {
id: undefined, id: undefined,
parentId: undefined, parentId: undefined,
leaderUserId: undefined, leaderUserId: undefined,
clientId: undefined,
supplierId: undefined,
status: CommonStatusEnum.ENABLE status: CommonStatusEnum.ENABLE
} }
formRef.value?.resetFields() formRef.value?.resetFields()
@ -122,5 +122,4 @@ const getTree = async () => {
dept.children = handleTree(data) dept.children = handleTree(data)
deptTree.value.push(dept) deptTree.value.push(dept)
} }
</script> </script>

@ -0,0 +1,67 @@
<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 userSelectList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</template>
<script lang="ts" setup>
import { ref, onMounted, toRefs } from 'vue'
import * as SupplierApi from '@/api/heli/supplier'
const valueName: any = ref() //
const userList = ref<SupplierApi.SupplierVO[]>([]) //
const userSelectList = ref<SupplierApi.SupplierVO[]>([])
const Loading = ref(false)
//
onMounted(async () => {
const queryParams = {
pageNo: 1,
pageSize: 10,
code: undefined,
brief: undefined,
status: undefined
}
try {
const data = await SupplierApi.getSupplierPage(queryParams)
console.log(data.list)
userList.value = data.list
//
remoteMethod('')
} catch (error) {
console.error(error)
}
})
const remoteMethod = (query: any) => {
if (query) {
Loading.value = true
setTimeout(() => {
Loading.value = false
userSelectList.value = userList.value
.filter((item) => item.name.toLowerCase().includes(query.toLowerCase()))
.slice(0, 10) //10
}, 200)
} else {
userSelectList.value = userList.value.slice(0, 10)
}
}
// const onSelectChange = (newValue: number | null) => {
// // console.log(newValue)
// emit('update:valueName', newValue)
// valueName.value = newValue
// }
</script>
Loading…
Cancel
Save