仓储 编辑联系人

pull/2/head
qiuhongwu 9 months ago
parent 54a89c9c11
commit 5ff73face2

@ -1,6 +1,12 @@
<template> <template>
<Dialog :title="dialogTitle" v-model="dialogVisible" width="700px"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="700px">
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="108px" v-loading="formLoading"> <el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="108px"
v-loading="formLoading"
>
<el-form-item label="仓库编号" prop="whNo"> <el-form-item label="仓库编号" prop="whNo">
<el-input v-model="formData.whNo" disabled class="!w-500px" /> <el-input v-model="formData.whNo" disabled class="!w-500px" />
</el-form-item> </el-form-item>
@ -9,10 +15,25 @@
</el-form-item> </el-form-item>
<el-form-item label="联系人" prop="contact"> <el-form-item label="联系人" prop="contact">
<!-- <el-input v-model="formData.contact" placeholder="请输入联系人" class="!w-500px" /> --> <!-- <el-input v-model="formData.contact" placeholder="请输入联系人" class="!w-500px" /> -->
<el-select v-model="formData.contact" placeholder="请输入联系人" :remote-method="remoteUserSearch" remote-show-suffix <el-select
remote clearable reserve-keyword filterable :loading="userSelectLoading" class="!w-500px" @change="handleContact"> v-model="formData.contact"
<el-option v-for="item in userSelectList" :key="item.id" :label="item.username + ' ' + item.nickname" placeholder="请输入联系人"
:value="item.id" /> :remote-method="remoteUserSearch"
remote-show-suffix
remote
clearable
reserve-keyword
filterable
:loading="userSelectLoading"
class="!w-500px"
@change="handleContact"
>
<el-option
v-for="item in userSelectList"
:key="item.id"
:label="item.username + ' ' + item.nickname"
:value="item.id"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="telephone"> <el-form-item label="联系电话" prop="telephone">
@ -20,7 +41,11 @@
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="whStatus"> <el-form-item label="状态" prop="whStatus">
<el-radio-group v-model="formData.whStatus"> <el-radio-group v-model="formData.whStatus">
<el-radio v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_STATUS)" :key="dict.value" :label="dict.value"> <el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_STATUS)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }} {{ dict.label }}
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
@ -35,8 +60,8 @@
<script setup lang="ts"> <script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import * as WarehouseApi from '@/api/heli/warehouse' import * as WarehouseApi from '@/api/heli/warehouse'
import * as UserApi from "@/api/system/user"; import * as UserApi from '@/api/system/user'
import { fromPairs } from 'lodash-es'; import { fromPairs } from 'lodash-es'
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
@ -45,32 +70,34 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const formData = ref({ const formData: any = ref({
id: undefined, id: undefined,
whNo: undefined, whNo: undefined,
whName: undefined, whName: undefined,
contact: undefined, contact: undefined,
telephone: undefined, telephone: undefined,
whStatus: 1, whStatus: 1
}) })
const formRules = reactive({ const formRules = reactive({
whName: [{ required: true, message: '仓库名称,唯一不能为空', trigger: 'blur' }], whName: [{ required: true, message: '仓库名称,唯一不能为空', trigger: 'blur' }]
// whStatus: [{ required: true, message: ',1 2 ', trigger: 'blur' }], // whStatus: [{ required: true, message: ',1 2 ', trigger: 'blur' }],
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
const userList = ref<UserApi.UserVO[]>([]) // const userList = ref<UserApi.UserVO[]>([]) //
const userSelectList = ref<UserApi.UserVO[]>([]) const userSelectList = ref<UserApi.UserVO[]>([])
const userSelectLoading = ref(false); const userSelectLoading = ref(false)
const remoteUserSearch = (query: string) => { const remoteUserSearch = (query: string) => {
if (query) { if (query) {
userSelectLoading.value = true userSelectLoading.value = true
setTimeout(() => { setTimeout(() => {
userSelectLoading.value = false userSelectLoading.value = false
userSelectList.value = userList.value.filter((item) => { userSelectList.value = userList.value.filter((item) => {
return item.nickname.toLowerCase().includes(query.toLowerCase()) || item.username.toLowerCase().includes(query.toLowerCase()) return (
item.nickname.toLowerCase().includes(query.toLowerCase()) ||
item.username.toLowerCase().includes(query.toLowerCase())
)
}) })
}, 200) }, 200)
} else { } else {
userSelectList.value = userList.value userSelectList.value = userList.value
@ -78,13 +105,11 @@ const remoteUserSearch = (query: string) => {
} }
/** 搜索按钮操作 */ /** 搜索按钮操作 */
const handleContact = (uid) => { const handleContact = (uid) => {
var mobileUser = userList.value.find((item) => { var mobileUser = userList.value.find((item) => {
return item.id === uid return item.id === uid
}) })
formData.value.telephone = mobileUser?.mobile formData.value.telephone = mobileUser?.mobile
} }
/** 打开弹窗 */ /** 打开弹窗 */
@ -98,22 +123,23 @@ const open = async (type: string, id?: number) => {
formLoading.value = true formLoading.value = true
try { try {
formData.value = await WarehouseApi.getWarehouse(id) formData.value = await WarehouseApi.getWarehouse(id)
formData.value.contact = Number(formData.value.contact) formData.value.contact = Number(formData.value.contact)
if (formData.value.contact == 0) {
formData.value.contact = undefined
}
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
} }
// //
let userParams = { let userParams = {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
status: "0" status: '0'
} }
const data = await UserApi.getUserPage(userParams) const data = await UserApi.getUserPage(userParams)
userList.value = data.list; userList.value = data.list
userSelectList.value = data.list; userSelectList.value = data.list
} }
defineExpose({ open }) // open defineExpose({ open }) // open
@ -149,7 +175,7 @@ const resetForm = () => {
whName: undefined, whName: undefined,
contact: undefined, contact: undefined,
telephone: undefined, telephone: undefined,
whStatus: 1, whStatus: 1
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }

Loading…
Cancel
Save