pull/1/head
siontion 9 months ago
commit bd8830782c

@ -23,26 +23,19 @@
<el-input v-model="formData.name" class="!w-250px" placeholder="请输入部门名称" />
</el-form-item>
<el-form-item label="显示排序" prop="sort">
<el-input-number v-model="formData.sort" :min="0" controls-position="right" class="!w-250px" />
<el-input-number
v-model="formData.sort"
:min="0"
controls-position="right"
class="!w-250px"
/>
</el-form-item>
<el-form-item label="负责人" prop="leaderUserId">
<el-select v-model="formData.leaderUserId"
placeholder="请输入负责人"
:remote-method="remoteUserSearch"
remote-show-suffix
remote
clearable
reserve-keyword
filterable
:loading="userSelectLoading"
>
<el-option
v-for="item in userSelectList"
:key="item.id"
:label="item.username + ' ' + item.nickname"
:value="item.id"
<UserSelect
v-model="formData.leaderUserId"
:initialUserList="parentUserList"
@update:valueName="onValueNameChange"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="联系电话" prop="phone">
<el-input v-model="formData.phone" maxlength="11" placeholder="请输入联系电话" />
@ -75,6 +68,7 @@ import * as DeptApi from '@/api/system/dept'
import * as UserApi from '@/api/system/user'
import { CommonStatusEnum } from '@/utils/constants'
import { FormRules } from 'element-plus'
import UserSelect from '../hlvuestyle/userSelect.vue'
defineOptions({ name: 'SystemDeptForm' })
@ -85,7 +79,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
const formData: any = ref({
id: undefined,
title: '',
parentId: undefined,
@ -110,7 +104,7 @@ const formRef = ref() // 表单 Ref
const deptTree = ref() //
const userList = ref<UserApi.UserVO[]>([]) //
const userSelectList = ref<UserApi.UserVO[]>([])
const userSelectLoading = ref(false);
const userSelectLoading = ref(false)
const remoteUserSearch = (query: string) => {
if (query) {
@ -118,7 +112,10 @@ const remoteUserSearch = (query: string) => {
setTimeout(() => {
userSelectLoading.value = false
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)
} else {
@ -145,11 +142,11 @@ const open = async (type: string, id?: number) => {
let userParams = {
pageNo: 1,
pageSize: 10,
status: "0"
status: '0'
}
const data = await UserApi.getUserPage(userParams)
userList.value = data.list;
userSelectList.value = data.list;
userList.value = data.list
userSelectList.value = data.list
//
await getTree()
}
@ -205,4 +202,9 @@ const getTree = async () => {
dept.children = handleTree(data)
deptTree.value.push(dept)
}
const onValueNameChange = (newValue: number | null) => {
formData.value.leaderUserId = newValue
console.log(formData.value.leaderUserId)
}
</script>

@ -8,13 +8,11 @@
<tr>
<td colspan="10">
<div style="display: flex; align-items: center; justify-content: space-between">
<img
src="/src/assets/imgs/exlogo.png"
style="width: 100px;"
alt=""
/>
<span style="font-size: 20px; font-weight: 700;">发货单</span>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<img src="/src/assets/imgs/exlogo.png" style="width: 100px" alt="" />
<span style="font-size: 20px; font-weight: 700">发货单</span>
<span
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span
>
</div>
</td>
</tr>
@ -120,13 +118,11 @@
<tr>
<td colspan="10">
<div style="display: flex; align-items: center; justify-content: space-between">
<img
src="/src/assets/imgs/exlogo.png"
style="width: 100px;"
alt=""
/>
<span style="font-size: 20px; font-weight: 700;">发货单</span>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<img src="/src/assets/imgs/exlogo.png" style="width: 100px" alt="" />
<span style="font-size: 20px; font-weight: 700">发货单</span>
<span
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span
>
</div>
</td>
</tr>
@ -216,11 +212,111 @@
</td>
</tr>
</table>
<div style="width: 100%; display: flex; justify-content: space-between; align-items: center">
<div
style="
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
"
>
<span>制单人{{ `` }}</span>
<span>-回单联-</span>
</div>
<div class="divide_line1" style="margin-top: 40px"></div>
<!-- 附件 -->
<!-- 附件需要判断 -->
<div>
<table border="2" cellspacing="0" id="table1" style="position: relative !important">
<tbody>
<tr>
<td colspan="10">
<div style="display: flex; align-items: center; justify-content: space-between">
<img src="/src/assets/imgs/exlogo.png" style="width: 100px" alt="" />
<span style="font-size: 20px; font-weight: 700">清单附件</span>
<span style="font-size: 12px">发货编号{{ `H1202306024` }}</span>
</div>
</td>
</tr>
</tbody>
<tbody>
<tr>
<td> 序号 </td>
<td colspan="3">
<span>摸具名称</span>
</td>
<td colspan="3">摸具图号</td>
<td> 数量() </td>
<td colspan="2">备注 </td>
</tr>
<tr>
<td colspan="10" style="background-color: rgb(255, 255, 0)">
<div style="text-align: left">模具清单</div>
</td>
</tr>
<tr v-for="item in 7" :key="item">
<td> {{ item }} </td>
<td colspan="3">
<span>{{ '摸具名称' }}</span>
</td>
<td colspan="3">{{ `摸具图号` }}</td>
<td> {{ item }} </td>
<td colspan="2">{{ `备注` }} </td>
</tr>
<tr>
<td colspan="10" style="background-color: rgb(255, 255, 0)">
<div style="text-align: left">备件清单</div>
</td>
</tr>
<tr v-for="item in 5" :key="item">
<td> {{ item }} </td>
<td colspan="3">
<span>{{ '摸具名称' }}</span>
</td>
<td colspan="3">{{ `摸具图号` }}</td>
<td> {{ item }} </td>
<td colspan="2">{{ `备注` }} </td>
</tr>
<tr>
<td colspan="10" style="background-color: rgb(255, 255, 0)">
<div style="text-align: left">刀具清单</div>
</td>
</tr>
<tr v-for="item in 5" :key="item">
<td> {{ item }} </td>
<td colspan="3">
<span>{{ '摸具名称' }}</span>
</td>
<td colspan="3">{{ `摸具图号` }}</td>
<td> {{ item }} </td>
<td colspan="2">{{ `备注` }} </td>
</tr>
</tbody>
<tr>
<td colspan="10">
<div style="text-align: left">内部货物门点人签名:</div>
</td>
</tr>
</table>
<div
style="
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
"
>
<span>制单人{{ `` }}</span>
<span>-回单联-</span>
</div>
</div>
</div>
<template #footer>
<!-- 打印 -->
<el-button @click="onPrint" type="primary">打印</el-button>
@ -295,6 +391,10 @@ const onPrint = () => {
.divide_line {
justify-content: center;
border-bottom: 1px dashed rgba(51, 51, 51, 1);
}
.divide_line1 {
justify-content: center;
border-bottom: 1px dashed rgb(255, 255, 255);
}
</style>
@ -371,6 +471,10 @@ table {
justify-content: center;
border-bottom: 1px dashed rgba(51, 51, 51, 1);
}
.divide_line1 {
justify-content: center;
border-bottom: 1px dashed rgb(255, 255, 255);
}
#table {
position: relative;
}

@ -0,0 +1,83 @@
<template>
<el-select
v-model="valueName"
placeholder="请输入负责人"
:remote-method="remoteMethod"
remote-show-suffix
remote
clearable
reserve-keyword
filterable
:loading="userSelectLoading"
@change="onSelectChange"
>
<el-option
v-for="item in userSelectList"
:key="item.id"
:label="item.username + ' ' + item.nickname"
:value="item.id"
/>
</el-select>
</template>
<script lang="ts" setup>
import { ref, onMounted, toRefs } from 'vue'
import * as UserApi from '@/api/system/user'
interface UserVO {
id: number
username: string
nickname: string
}
const props = defineProps({
initialUserList: {
type: Array as PropType<UserVO[]>,
default: () => []
}
})
const valueName: any = ref() //
const emit = defineEmits(['update:valueName'])
const userList = ref<UserApi.UserVO[]>([]) //
const userSelectList = ref<UserApi.UserVO[]>([])
const userSelectLoading = ref(false)
//
onMounted(async () => {
const userParams = {
pageNo: 1,
pageSize: 10,
status: '0' //
}
try {
const data = await UserApi.getUserPage(userParams)
userList.value = data.list
//
remoteMethod('')
} catch (error) {
console.error(error)
}
})
const remoteMethod = (query: any) => {
if (query) {
userSelectLoading.value = true
setTimeout(() => {
userSelectLoading.value = false
userSelectList.value = userList.value.filter((item) => {
return (
item.nickname.toLowerCase().includes(query.toLowerCase()) ||
item.username.toLowerCase().includes(query.toLowerCase())
)
})
}, 200)
} else {
userSelectList.value = userList.value
}
}
const onSelectChange = (newValue: number | null) => {
// console.log(newValue)
emit('update:valueName', newValue)
valueName.value = newValue;
}
</script>
Loading…
Cancel
Save