parent
76c62c0b28
commit
d30b95d4fb
@ -0,0 +1,22 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 实物ID列表获取
|
||||||
|
export const getPagingBaseEntityIDList = async (data: any) => {
|
||||||
|
return await request.post({ url: `/DistributionBoxTesting/GetPagingBaseEntityIDList`, data })
|
||||||
|
}
|
||||||
|
// 实物ID详情
|
||||||
|
export const getBaseEntityID = async (data: any) => {
|
||||||
|
return await request.post({ url: `/DistributionBoxTesting/GetBaseEntityID`, data })
|
||||||
|
}
|
||||||
|
// 实物ID保存
|
||||||
|
export const saveBaseEntityID = async (data: any) => {
|
||||||
|
return await request.post({ url: `/DistributionBoxTesting/SaveBaseEntityID`, data })
|
||||||
|
}
|
||||||
|
// 实物ID编辑
|
||||||
|
export const editBaseEntityID = async (data: any) => {
|
||||||
|
return await request.post({ url: `/DistributionBoxTesting/EditBaseEntityID`, data })
|
||||||
|
}
|
||||||
|
// 实物ID删除
|
||||||
|
export const removeBaseEntityID = async (data: any) => {
|
||||||
|
return await request.post({ url: `/DistributionBoxTesting/RemoveBaseEntityID`, data })
|
||||||
|
}
|
@ -0,0 +1,185 @@
|
|||||||
|
<template>
|
||||||
|
<vxe-modal class-name="csty-bi-lei-qi-form" v-model="refShow" width="800" height="560" show-zoom show-footer
|
||||||
|
:mask-closable=true>
|
||||||
|
<template #title>
|
||||||
|
<span style="color:#ffffff">{{ modalTitle }}</span>
|
||||||
|
</template>
|
||||||
|
<template #default>
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<vxe-form title-colon ref="refFormA" title-align="right" title-width="150" :data="formDataA"
|
||||||
|
:rules="formRulesA">
|
||||||
|
<vxe-form-gather span="24">
|
||||||
|
<vxe-form-item span="24">
|
||||||
|
<template #default="params">
|
||||||
|
<div
|
||||||
|
style="font-size: larger;border-bottom: solid 1px #606266;padding: 0px 0px 5px 0px;">
|
||||||
|
基本数据
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</vxe-form-item>
|
||||||
|
</vxe-form-gather>
|
||||||
|
<vxe-form-gather span="24">
|
||||||
|
<vxe-form-item title="采购订单编码" field="PoNo" span="24">
|
||||||
|
<template #default="params">
|
||||||
|
<vxe-select v-model="params.data.PoNo" clearable filterable @change="fnChgPoNo">
|
||||||
|
<template v-for="(item) in dictPoNoPoItemId">
|
||||||
|
<vxe-option :value="item.pono" :label="item.pono"></vxe-option>
|
||||||
|
</template>
|
||||||
|
</vxe-select>
|
||||||
|
</template>
|
||||||
|
</vxe-form-item>
|
||||||
|
<vxe-form-item title="采购订单行项目id" field="PoItemId" span="24">
|
||||||
|
<template #default="params">
|
||||||
|
<vxe-select v-model="params.data.PoItemId" clearable filterable @change="fnChgPoItemId">
|
||||||
|
<template v-for="(item) in dictPoNoPoItemId">
|
||||||
|
<vxe-option :value="item.poitemid" :label="item.poitemid"></vxe-option>
|
||||||
|
</template>
|
||||||
|
</vxe-select>
|
||||||
|
</template>
|
||||||
|
</vxe-form-item>
|
||||||
|
</vxe-form-gather>
|
||||||
|
<vxe-form-gather span="24">
|
||||||
|
<vxe-form-item span="24">
|
||||||
|
<template #default="params">
|
||||||
|
<div
|
||||||
|
style="font-size: larger;border-bottom: solid 1px #606266;padding: 0px 0px 5px 0px;">
|
||||||
|
附件上传
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</vxe-form-item>
|
||||||
|
</vxe-form-gather>
|
||||||
|
<vxe-form-gather span="24">
|
||||||
|
<vxe-form-item span="24">
|
||||||
|
<template #default="params">
|
||||||
|
<a-upload v-model:file-list="fileListA" name="file" :action="fileUpUrl" :headers="{}"
|
||||||
|
@change="fnChgFileA" :maxCount="1" accept=".xls"
|
||||||
|
:data="{ pono: params.data.PoNo, poitemid: params.data.PoItemId }">
|
||||||
|
<a-button>
|
||||||
|
<upload-outlined></upload-outlined>
|
||||||
|
<span>实物ID文件上传</span>
|
||||||
|
<span style="color: red;padding:0px 10px"> *
|
||||||
|
请先选择(采购订单编|采购订单行项目id)</span>
|
||||||
|
</a-button>
|
||||||
|
</a-upload>
|
||||||
|
</template>
|
||||||
|
</vxe-form-item>
|
||||||
|
</vxe-form-gather>
|
||||||
|
</vxe-form>
|
||||||
|
</a-card>
|
||||||
|
</template>
|
||||||
|
<template #footer>
|
||||||
|
<vxe-button type="reset" content="取消" @click="fnEventCancel"></vxe-button>
|
||||||
|
</template>
|
||||||
|
</vxe-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup name="BiLeiQiForm">
|
||||||
|
import { ref, onMounted, computed } from 'vue'
|
||||||
|
import { map as _map } from 'lodash'
|
||||||
|
import type { UploadProps, UploadChangeParam } from 'ant-design-vue'
|
||||||
|
import { config } from '@/config/axios/config'
|
||||||
|
import * as comApi from '@/api/gw/com'
|
||||||
|
// 字典
|
||||||
|
const dictPoNoPoItemId: any = ref([])
|
||||||
|
// 定义事件[success]
|
||||||
|
const emit = defineEmits(['success'])
|
||||||
|
// 是否显示
|
||||||
|
const refShow = ref(false)
|
||||||
|
// 弹窗标题
|
||||||
|
const modalTitle = ref('未知表单')
|
||||||
|
// 表单
|
||||||
|
const refFormA = ref()
|
||||||
|
// 表单类型[add - 新增|update - 修改|del - 删除]
|
||||||
|
const formTypeA: any = ref('')
|
||||||
|
// 表单A - 初始数据
|
||||||
|
const formDataAInit: any = {
|
||||||
|
Id: 0,
|
||||||
|
EntityId: "",
|
||||||
|
PoNo: "",
|
||||||
|
PoItemId: "",
|
||||||
|
PostInfo: ''
|
||||||
|
}
|
||||||
|
// 表单数据
|
||||||
|
const formDataA: any = ref(formDataAInit)
|
||||||
|
// 表单规则
|
||||||
|
const formRulesA: any = ref({
|
||||||
|
PoNo: [
|
||||||
|
{ required: true, message: '请选择' }
|
||||||
|
],
|
||||||
|
PoItemId: [
|
||||||
|
{ required: true, message: '请选择' }
|
||||||
|
]
|
||||||
|
})
|
||||||
|
// 附件文件
|
||||||
|
const fileListA = ref<UploadProps['fileList']>([]);
|
||||||
|
// 附件上传路径
|
||||||
|
const fileUpUrl: any = computed(() => {
|
||||||
|
let url = config.base_url + '/DistributionBoxTesting/UploadEntityIDFile'
|
||||||
|
return url
|
||||||
|
})
|
||||||
|
// // 是否禁用上传
|
||||||
|
// const disabledUp: any = computed(() => {
|
||||||
|
// return true
|
||||||
|
// })
|
||||||
|
// 挂载
|
||||||
|
onMounted(() => {
|
||||||
|
})
|
||||||
|
// 打开弹窗
|
||||||
|
const open = async (type: string, row?: any) => {
|
||||||
|
formTypeA.value = type
|
||||||
|
dictPoNoPoItemId.value = await comApi.getPoNoAndPoItemID()
|
||||||
|
await fnResetA()
|
||||||
|
switch (type) {
|
||||||
|
case 'add':
|
||||||
|
refShow.value = true
|
||||||
|
modalTitle.value = '上传实物ID'
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 表单A - 采购订单编码
|
||||||
|
const fnChgPoNo = async (params: any) => {
|
||||||
|
if (params.value) {
|
||||||
|
let itemOne = dictPoNoPoItemId.value.filter((item: any) => {
|
||||||
|
return item.pono == params.value
|
||||||
|
})[0]
|
||||||
|
formDataA.value.PoItemId = itemOne.poitemid
|
||||||
|
} else {
|
||||||
|
formDataA.value.PoItemId = ''
|
||||||
|
}
|
||||||
|
console.log(params.value)
|
||||||
|
|
||||||
|
}
|
||||||
|
// 表单A - 采购订单行项目id
|
||||||
|
const fnChgPoItemId = async (params: any) => {
|
||||||
|
if (params.value) {
|
||||||
|
let itemOne = dictPoNoPoItemId.value.filter((item: any) => {
|
||||||
|
return item.poitemid == params.value
|
||||||
|
})[0]
|
||||||
|
formDataA.value.PoNo = itemOne.pono
|
||||||
|
} else {
|
||||||
|
formDataA.value.PoNo = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 表单A - 文件A
|
||||||
|
const fnChgFileA = async (info: UploadChangeParam) => {
|
||||||
|
console.log(info)
|
||||||
|
// if (info.file.response) {
|
||||||
|
// let FileItems: any = XEUtils.clone(formDataB.value.FileItems, true)
|
||||||
|
// FileItems = JSON.parse(FileItems)
|
||||||
|
// FileItems[0]['fileName'] = info.file.name
|
||||||
|
// FileItems[0]['fileUrl'] = info.file.response
|
||||||
|
// formDataB.value.FileItems = JSON.stringify(FileItems)
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
// 提供open方法打开弹窗
|
||||||
|
defineExpose({ open })
|
||||||
|
// 重置
|
||||||
|
const fnResetA = () => {
|
||||||
|
formDataA.value = formDataAInit
|
||||||
|
}
|
||||||
|
// 关闭窗体
|
||||||
|
const fnEventCancel = () => {
|
||||||
|
refShow.value = false
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped></style>
|
Loading…
Reference in new issue