回退 编辑页

pull/2/head
qiuhongwu 9 months ago
parent 35f26f57ac
commit ec7b886642

@ -17,8 +17,7 @@
} }
.hl-card { .hl-card {
position: relative; margin: 0px;
padding-bottom: 100px;
border-radius: 10px !important; border-radius: 10px !important;
.el-card__header { .el-card__header {
background-color: #f7f8fa; background-color: #f7f8fa;
@ -35,23 +34,6 @@
font-size: 20px !important; font-size: 20px !important;
} }
} }
.hl-card-scrollable-content {
width: 100%;
box-sizing: border-box;
max-height: calc(100vh - 300px); overflow-y: auto;
}
.hl-footer {
width: 96%;
background-color: #fff;
position: absolute !important;
left: 50%;
height: 100px;
line-height: 100px;
transform: translateX(-51%);
bottom: 0px;
z-index: 1000;
}
} }
.borderxx { .borderxx {
border: none !important; border: none !important;
@ -66,7 +48,7 @@
.hl-table thead { .hl-table thead {
color: #1d2129; color: #1d2129;
} }
.hl-table_header { .hl-table_header{
color: red; color: red;
} }
.hl-table thead th.el-table__cell { .hl-table thead th.el-table__cell {
@ -106,7 +88,7 @@
border: none !important; border: none !important;
.el-card__header { .el-card__header {
padding-bottom: 16px ; padding: 16px 0px;
background-color: inherit; background-color: inherit;
.hl-card-info-icona { .hl-card-info-icona {
@ -124,13 +106,14 @@
.el-card__body { .el-card__body {
padding: 15px 0px; padding: 15px 0px;
.el-row { .el-row {
margin: 10px; margin: 10px;
} }
} }
} }
.hl-incard { .hl-incard {
margin-bottom: 10px; margin-bottom: 20px;
padding: 0 20px; padding: 0 20px;
} }
@ -138,6 +121,9 @@
margin: 10px 0px 10px 0px !important; margin: 10px 0px 10px 0px !important;
} }
.hl-footer {
margin: 30px 0;
}
.abstatus { .abstatus {
position: absolute; position: absolute;
right: 80px; right: 80px;
@ -159,6 +145,7 @@
} }
} }
/* ---el-table滚动条公共样式--- */ /* ---el-table滚动条公共样式--- */
.el-scrollbar { .el-scrollbar {
// //

@ -4,7 +4,6 @@
<template #header> <template #header>
<span v-text="dialogTitle"></span> <span v-text="dialogTitle"></span>
</template> </template>
<div class="hl-card-scrollable-content" >
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -134,7 +133,7 @@
v-loading="subFormLoading" v-loading="subFormLoading"
label-width="0" label-width="0"
> >
<el-table :data="formData.matItemDOList" class="hl-table"> <el-table :data="formData.matItemDOList" class="hl-table" >
<el-table-column prop="cid" label="序号" min-width="80" align="center" fixed /> <el-table-column prop="cid" label="序号" min-width="80" align="center" fixed />
<el-table-column prop="matId" min-width="140" align="center"> <el-table-column prop="matId" min-width="140" align="center">
<template #header> <span class="hl-table_header">*</span> 物料编码 </template> <template #header> <span class="hl-table_header">*</span> 物料编码 </template>
@ -276,7 +275,7 @@
<el-input v-model="scope.row.projectNo" /> <el-input v-model="scope.row.projectNo" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="description" label="备注" align="center" min-width="180"> <el-table-column prop="description" label="备注" align="center" min-width="180" >
<template #default="scope"> <template #default="scope">
<el-input v-model="scope.row.description" /> <el-input v-model="scope.row.description" />
</template> </template>
@ -421,7 +420,6 @@
</el-row> </el-row>
</el-card> </el-card>
</el-form> </el-form>
</div>
<div class="text-center hl-footer"> <div class="text-center hl-footer">
<el-button @click="() => router.go(-1)" size="large"> </el-button> <el-button @click="() => router.go(-1)" size="large"> </el-button>
<el-button <el-button
@ -519,9 +517,10 @@ const subFormRules = reactive({
storageOkQty: [{ required: true, message: '入库数量不能为空', trigger: 'blur' }] storageOkQty: [{ required: true, message: '入库数量不能为空', trigger: 'blur' }]
}) })
const handleStatus = async (num) => { const handleStatus = async (num) => {
// //
await formRef.value.validate() await formRef.value.validate()
if (formData.value.matItemDOList.length === 0) { if(formData.value.matItemDOList.length === 0){
message.alertWarning('请添加物料信息!') message.alertWarning('请添加物料信息!')
return return
} }
@ -577,9 +576,10 @@ const handleStatus = async (num) => {
isShowBtnOther.value = false isShowBtnOther.value = false
isShowBtnDelete.value = false isShowBtnDelete.value = false
} }
query.type = 'update' query.type= 'update'
query.id = formData.value.id query.id = formData.value.id
reload() reload()
} }
const userList = ref<UserApi.UserVO[]>([]) // const userList = ref<UserApi.UserVO[]>([]) //
@ -642,7 +642,7 @@ var commonResult = ''
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const saveFormData = async () => { const saveFormData = async () =>{
// //
formLoading.value = true formLoading.value = true
try { try {
@ -671,6 +671,7 @@ const saveFormData = async () => {
} }
formData.value = await StorageApi.getStorage(storageid.value) formData.value = await StorageApi.getStorage(storageid.value)
message.success(t(commonResult)) message.success(t(commonResult))
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
@ -678,7 +679,7 @@ const saveFormData = async () => {
const submitForm = async () => { const submitForm = async () => {
// //
await formRef.value.validate() await formRef.value.validate()
if (formData.value.matItemDOList.length === 0) { if(formData.value.matItemDOList.length === 0){
message.alertWarning('请添加物料信息!') message.alertWarning('请添加物料信息!')
return return
} }
@ -692,11 +693,11 @@ const submitForm = async () => {
await saveFormData() await saveFormData()
// //
query.type = 'update' query.type= 'update'
query.id = storageid.value query.id = storageid.value
formData.value.id = storageid.value formData.value.id = storageid.value
// //
reload() reload();
} }
var matCount = 1 var matCount = 1
@ -865,6 +866,7 @@ onMounted(async () => {
isShowBtnDelete.value = false isShowBtnDelete.value = false
} }
// //
const queryParamsRg = reactive({ const queryParamsRg = reactive({
pageNo: 1, pageNo: 1,
@ -928,14 +930,10 @@ onMounted(async () => {
// //
userList.value = await UserApi.getSimpleUserList() userList.value = await UserApi.getSimpleUserList()
}) })
</script> </script>
<style setup lang="scss"> <style>
a { a {
color: #409eff; color: #409eff;
text-decoration: none; text-decoration: none;
} }
</style> </style>

@ -4,272 +4,256 @@
<template #header> <template #header>
<span v-text="dialogTitle"></span> <span v-text="dialogTitle"></span>
</template> </template>
<div class="hl-card-scrollable-content"> <el-form
<el-form ref="formRef"
ref="formRef" :model="formData"
:model="formData" :rules="formRules"
:rules="formRules" label-width="100px"
label-width="100px" v-loading="formLoading"
v-loading="formLoading" v-bind:disabled="isShowBtnOther"
v-bind:disabled="isShowBtnOther" >
> <!-- 基础信息 -->
<!-- 基础信息 --> <el-card class="hl-card-info">
<el-card class="hl-card-info"> <template #header>
<template #header> <div class="hl-card-info-icona"></div><span class="hl-card-info-text">基础信息</span>
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">基础信息</span> </template>
</template> <el-row>
<el-row> <el-col :span="8">
<el-col :span="8"> <el-row>
<el-row> <el-col :span="24">
<el-col :span="24"> <el-form-item prop="name" label="出库单号">
<el-form-item prop="name" label="出库单号"> <el-input v-model="formData.stockNo" disabled placeholder="系统自动生成" />
<el-input v-model="formData.stockNo" disabled placeholder="系统自动生成" /> </el-form-item>
</el-form-item> </el-col>
</el-col> </el-row>
</el-row> <el-row>
<el-row> <el-col :span="24">
<el-col :span="24"> <el-form-item prop="stockInType" label="出库类型">
<el-form-item prop="stockInType" label="出库类型"> <el-select v-model="formData.stockInType" clearable style="width: 100%">
<el-select v-model="formData.stockInType" clearable style="width: 100%"> <el-option
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_OUT_TYPE)"
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_OUT_TYPE)" :key="dict.value"
:key="dict.value" :label="dict.label"
:label="dict.label" :value="dict.value"
:value="dict.value" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
</el-col> </el-row>
</el-row> </el-col>
</el-col> <el-col :span="8">
<el-col :span="8"> <el-row>
<el-row> <el-col :span="24">
<el-col :span="24"> <el-form-item prop="industry" label="单据状态">
<el-form-item prop="industry" label="单据状态"> <el-select
<el-select v-model="formData.status"
v-model="formData.status" placeholder="下拉选择"
placeholder="下拉选择" clearable
clearable class="!w-700px"
class="!w-700px" disabled
disabled
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="headerNo" label="上游单号">
<el-input v-model="formData.headerNo" />
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="8">
<el-row>
<el-col :span="24">
<el-form-item label="单据日期" prop="createTime">
{{ formatDate(formData.createTime, 'YYYY-MM-DD HH:mm') }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="whId" label="出库仓库" required>
<el-select
v-model="formData.whId"
placeholder="下拉选择"
clearable
class="!w-400px"
@change="handleWh"
v-bind:disabled="btnWhClickable"
>
<el-option
v-for="dict in warehouseList"
:key="dict.id"
:label="dict.whName"
:value="dict.id"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="description">
<el-input
type="textarea"
v-model="formData.description"
show-word-limit
maxlength="200"
/>
</el-form-item>
</el-col>
</el-row>
</el-card>
<!-- 物料信息 -->
<el-card class="hl-card-info">
<template #header>
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">物料信息</span>
</template>
<el-row>
<el-col>
<el-card class="hl-incard">
<el-col>
<el-button class="hl-addbutton" type="primary" size="large" @click="onAddItem"
>新增</el-button
> >
</el-col> <el-option
<el-form v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_STATUS)"
ref="matSubFormRef" :key="dict.value"
:model="formData.matItemDOList" :label="dict.label"
:rules="subFormRules" :value="dict.value"
v-loading="subFormLoading"
label-width="0"
>
<el-table :data="formData.matItemDOList" class="hl-table">
<el-table-column prop="cid" label="序号" :width="80" />
<el-table-column prop="matId" min-width="140" align="center">
<template #header> <span class="hl-table_header">*</span>物料名称 </template>
<template #default="scope">
<el-form-item
:prop="`${scope.$index}.matId`"
:rules="subFormRules.matId"
class="mb-0px!"
>
<el-select
v-model="scope.row.matId"
placeholder="物料名称"
:remote-method="remoteMatCodeSearch"
remote-show-suffix
remote
clearable
reserve-keyword
filterable
:loading="matSelectLoading"
@change="(val) => handleMatCode(scope, val)"
class="!w-180px"
>
<el-option
v-for="item in matList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="matCode"
label="物料编码"
min-width="120"
align="center"
/> />
<el-table-column prop="matType" label="物料类型" min-width="120" align="center"> </el-select>
<template #default="scope"> </el-form-item>
<dict-tag </el-col>
:type="DICT_TYPE.HELI_MATERIAL_TYPE" </el-row>
:value="scope.row.matType" <el-row>
v-if="scope.row.matType ? true : false" <el-col :span="24">
/> <el-form-item prop="headerNo" label="上游单号">
</template> <el-input v-model="formData.headerNo" />
</el-table-column> </el-form-item>
<el-table-column </el-col>
prop="matSpec" </el-row>
label="规格/型号" </el-col>
min-width="120" <el-col :span="8">
align="center" <el-row>
<el-col :span="24">
<el-form-item label="单据日期" prop="createTime">
{{ formatDate(formData.createTime, 'YYYY-MM-DD HH:mm') }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="whId" label="出库仓库" required>
<el-select
v-model="formData.whId"
placeholder="下拉选择"
clearable
class="!w-400px"
@change="handleWh"
v-bind:disabled="btnWhClickable"
>
<el-option
v-for="dict in warehouseList"
:key="dict.id"
:label="dict.whName"
:value="dict.id"
/> />
</el-select>
<el-table-column prop="matUnit" label="系统单位" min-width="120" align="center"> </el-form-item>
<template #default="scope"> </el-col>
<dict-tag </el-row>
:type="DICT_TYPE.HELI_MATERIAL_UNIT" </el-col>
:value="scope.row.matUnit" </el-row>
v-if="scope.row.matUnit ? true : false" <el-row>
/> <el-col :span="24">
</template> <el-form-item label="备注" prop="description">
</el-table-column> <el-input
<el-table-column prop="rgId" min-width="120" align="center"> type="textarea"
<template #header> <span class="hl-table_header">*</span>出库库区 </template> v-model="formData.description"
<template #default="scope"> show-word-limit
<el-form-item maxlength="200"
:prop="`${scope.$index}.rgId`" />
:rules="subFormRules.rgId" </el-form-item>
class="mb-0px!" </el-col>
> </el-row>
<el-select </el-card>
v-model="scope.row.rgId" <!-- 物料信息 -->
placeholder="" <el-card class="hl-card-info">
style="width: 100%" <template #header>
@change="handleRg(scope)" <div class="hl-card-info-icona"></div><span class="hl-card-info-text">物料信息</span>
disabled="" </template>
> <el-row>
<el-option <el-col>
v-for="dict in rgList" <el-card class="hl-incard">
:key="dict.id" <el-col>
:label="dict.rgName" <el-button class="hl-addbutton" type="primary" size="large" @click="onAddItem"
:value="dict.id" >新增</el-button
/> >
</el-select> </el-col>
</el-form-item> <el-form
</template> ref="matSubFormRef"
</el-table-column> :model="formData.matItemDOList"
<el-table-column prop="pnId" min-width="140" align="center"> :rules="subFormRules"
<template #header> <span class="hl-table_header">*</span>出库库位 </template> v-loading="subFormLoading"
<template #default="scope"> label-width="0"
<el-form-item >
:prop="`${scope.$index}.pnId`" <el-table :data="formData.matItemDOList" class="hl-table">
:rules="subFormRules.pnId" <el-table-column prop="cid" label="序号" :width="80" />
class="mb-0px!" <el-table-column prop="matId" min-width="140" align="center">
<template #header> <span class="hl-table_header">*</span>物料名称 </template>
<template #default="scope">
<el-form-item
:prop="`${scope.$index}.matId`"
:rules="subFormRules.matId"
class="mb-0px!"
>
<el-select
v-model="scope.row.matId"
placeholder="物料名称"
:remote-method="remoteMatCodeSearch"
remote-show-suffix
remote
clearable
reserve-keyword
filterable
:loading="matSelectLoading"
@change="(val) => handleMatCode(scope, val)"
class="!w-180px"
> >
<el-select v-model="scope.row.pnId" placeholder="" style="width: 100%"> <el-option
<el-option v-for="item in matList"
v-for="dict in scope.row.pnlist" :key="item.id"
:key="dict.id" :label="item.name"
:label="dict.pnName" :value="item.id"
:value="dict.id" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </template>
</template> </el-table-column>
</el-table-column> <el-table-column prop="matCode" label="物料编码" min-width="120" align="center" />
<el-table-column <el-table-column prop="matType" label="物料类型" min-width="120" align="center">
prop="matRest" <template #default="scope">
label="库存数量" <dict-tag
min-width="120" :type="DICT_TYPE.HELI_MATERIAL_TYPE"
align="center" :value="scope.row.matType"
/> v-if="scope.row.matType ? true : false"
<el-table-column prop="storageOkQty" min-width="120" align="center"> />
<template #header> <span class="hl-table_header">*</span>出库数量</template> </template>
<template #default="scope"> </el-table-column>
<el-form-item <el-table-column prop="matSpec" label="规格/型号" min-width="120" align="center" />
:prop="`${scope.$index}.storageOkQty`"
:rules="subFormRules.storageOkQty" <el-table-column prop="matUnit" label="系统单位" min-width="120" align="center">
class="mb-0px!" <template #default="scope">
<dict-tag
:type="DICT_TYPE.HELI_MATERIAL_UNIT"
:value="scope.row.matUnit"
v-if="scope.row.matUnit ? true : false"
/>
</template>
</el-table-column>
<el-table-column prop="rgId" min-width="120" align="center">
<template #header> <span class="hl-table_header">*</span>出库库区 </template>
<template #default="scope">
<el-form-item
:prop="`${scope.$index}.rgId`"
:rules="subFormRules.rgId"
class="mb-0px!"
>
<el-select
v-model="scope.row.rgId"
placeholder=""
style="width: 100%"
@change="handleRg(scope)"
disabled=""
> >
<el-input v-model="scope.row.storageOkQty" /> <el-option
</el-form-item> v-for="dict in rgList"
</template> :key="dict.id"
</el-table-column> :label="dict.rgName"
<el-table-column prop="lotNo" min-width="120" label="批次号" align="center" /> :value="dict.id"
<el-table-column prop="description" min-width="180" label="备注" align="center"> />
<template #default="scope"> </el-select>
<el-input v-model="scope.row.description" /> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="240"> <el-table-column prop="pnId" min-width="140" align="center">
<template #default="scope"> <template #header> <span class="hl-table_header">*</span>出库库位 </template>
<!-- <el-button v-if="!scope.row.editable" type="primary" size="small" link <template #default="scope">
<el-form-item
:prop="`${scope.$index}.pnId`"
:rules="subFormRules.pnId"
class="mb-0px!"
>
<el-select v-model="scope.row.pnId" placeholder="" style="width: 100%">
<el-option
v-for="dict in scope.row.pnlist"
:key="dict.id"
:label="dict.pnName"
:value="dict.id"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="matRest" label="库存数量" min-width="120" align="center" />
<el-table-column prop="storageOkQty" min-width="120" align="center">
<template #header> <span class="hl-table_header">*</span>出库数量</template>
<template #default="scope">
<el-form-item
:prop="`${scope.$index}.storageOkQty`"
:rules="subFormRules.storageOkQty"
class="mb-0px!"
>
<el-input v-model="scope.row.storageOkQty" />
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="lotNo" min-width="120" label="批次号" align="center" />
<el-table-column prop="description" min-width="180" label="备注" align="center">
<template #default="scope">
<el-input v-model="scope.row.description" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="240">
<template #default="scope">
<!-- <el-button v-if="!scope.row.editable" type="primary" size="small" link
@click="handleEdit(scope.$index)"> @click="handleEdit(scope.$index)">
编辑 编辑
</el-button> </el-button>
@ -278,137 +262,136 @@
</el-button> </el-button>
<el-button link type="primary" @click="handlefuke(scope.$index, scope.row)">复制</el-button> --> <el-button link type="primary" @click="handlefuke(scope.$index, scope.row)">复制</el-button> -->
<el-button
link
type="danger"
size="small"
@click.prevent="handleDelete2(scope.$index)"
v-if="isShowBtnDelete"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
</el-form>
</el-card>
</el-col>
</el-row>
</el-card>
<!-- 附件信息 -->
<el-card class="hl-card-info">
<template #header>
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">附件信息</span>
</template>
<el-row>
<el-col>
<el-card class="hl-incard">
<el-col>
<el-upload
ref="matUploadRef"
:file-list="matUploadFiles"
multiple
:limit="10"
:action="uploadUrl"
:headers="{
Authorization: 'Bearer ' + getAccessToken(),
'tenant-id': getTenantId()
}"
name="files"
:show-file-list="false"
:auto-upload="false"
:data="matUploadData"
:on-change="matUploadChange"
class="upload-file-uploader"
>
<el-button type="primary"> <Icon icon="ep:upload-filled" />上传 </el-button>
</el-upload>
</el-col>
<el-table :data="formData.attachments" class="hl-table">
<el-table-column prop="name" label="文件名称" align="center">
<!-- <template #default="scope">
<a :href="scope.row.url" target="_blank" style="color: #409eff">{{ scope.row.name }} </a>
</template> -->
</el-table-column>
<el-table-column
prop="createTime"
align="center"
label="上传日期"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center">
<template #default="scope">
<el-button <el-button
link link
type="danger" type="danger"
size="small" size="small"
@click.prevent="handleDelete2(scope.$index)"
v-if="isShowBtnDelete" v-if="isShowBtnDelete"
@click="handleDeleteAttachment(scope.$index, scope.row.businessFileType)"
> >
删除 删除
</el-button> </el-button>
<el-button
link
type="primary"
size="small"
@click="downloadAttachment(scope.row.name, scope.row.url)"
>
下载
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-card> </el-form>
</el-col> </el-card>
</el-row> </el-col>
</el-card> </el-row>
<!-- 系统信息 --> </el-card>
<el-card class="hl-card-info"> <!-- 附件信息 -->
<template #header> <el-card class="hl-card-info">
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">系统信息</span> <template #header>
</template> <div class="hl-card-info-icona"></div><span class="hl-card-info-text">附件信息</span>
</template>
<el-row justify="center"> <el-row>
<el-col :span="8"> <el-col>
<el-form-item prop="creator" label="创建人"> <el-card class="hl-incard">
{{ userList.find((user) => user.id == formData.creator)?.nickname }} <el-col>
</el-form-item> <el-upload
</el-col> ref="matUploadRef"
<el-col :span="8"> :file-list="matUploadFiles"
<el-form-item prop="createTime" label="创建时间"> multiple
{{ formatDate(formData.createTime, 'YYYY-MM-DD HH:mm') }} :limit="10"
</el-form-item> :action="uploadUrl"
</el-col> :headers="{
</el-row> Authorization: 'Bearer ' + getAccessToken(),
<el-row justify="center"> 'tenant-id': getTenantId()
<el-col :span="8"> }"
<el-form-item prop="outbound" label="出库人"> name="files"
{{ userList.find((user) => user.id == formData.outbound)?.nickname }} :show-file-list="false"
</el-form-item> :auto-upload="false"
</el-col> :data="matUploadData"
<el-col :span="8"> :on-change="matUploadChange"
<el-form-item prop="outboundTime" label="出库时间"> class="upload-file-uploader"
{{ formatDate(formData.outboundTime, 'YYYY-MM-DD HH:mm') }} >
</el-form-item> <el-button type="primary"> <Icon icon="ep:upload-filled" />上传 </el-button>
</el-col> </el-upload>
</el-row> </el-col>
<el-row justify="center"> <el-table :data="formData.attachments" class="hl-table">
<el-col :span="8"> <el-table-column prop="name" label="文件名称" align="center">
<el-form-item prop="cancel" label="作废人"> <!-- <template #default="scope">
{{ userList.find((user) => user.id == formData.cancel)?.nickname }} <a :href="scope.row.url" target="_blank" style="color: #409eff">{{ scope.row.name }} </a>
</el-form-item> </template> -->
</el-col> </el-table-column>
<el-col :span="8">
<el-form-item prop="cancelTime" label="作废时间"> <el-table-column
{{ formatDate(formData.cancelTime, 'YYYY-MM-DD HH:mm') }} prop="createTime"
</el-form-item> align="center"
</el-col> label="上传日期"
</el-row> :formatter="dateFormatter"
</el-card> />
</el-form>
</div> <el-table-column label="操作" align="center">
<template #default="scope">
<el-button
link
type="danger"
size="small"
v-if="isShowBtnDelete"
@click="handleDeleteAttachment(scope.$index, scope.row.businessFileType)"
>
删除
</el-button>
<el-button
link
type="primary"
size="small"
@click="downloadAttachment(scope.row.name, scope.row.url)"
>
下载
</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
</el-card>
<!-- 系统信息 -->
<el-card class="hl-card-info">
<template #header>
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">系统信息</span>
</template>
<el-row justify="center">
<el-col :span="8">
<el-form-item prop="creator" label="创建人">
{{ userList.find((user) => user.id == formData.creator)?.nickname }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="createTime" label="创建时间">
{{ formatDate(formData.createTime, 'YYYY-MM-DD HH:mm') }}
</el-form-item>
</el-col>
</el-row>
<el-row justify="center">
<el-col :span="8">
<el-form-item prop="outbound" label="出库人">
{{ userList.find((user) => user.id == formData.outbound)?.nickname }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="outboundTime" label="出库时间">
{{ formatDate(formData.outboundTime, 'YYYY-MM-DD HH:mm') }}
</el-form-item>
</el-col>
</el-row>
<el-row justify="center">
<el-col :span="8">
<el-form-item prop="cancel" label="作废人">
{{ userList.find((user) => user.id == formData.cancel)?.nickname }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="cancelTime" label="作废时间">
{{ formatDate(formData.cancelTime, 'YYYY-MM-DD HH:mm') }}
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-form>
<div class="text-center hl-footer"> <div class="text-center hl-footer">
<el-button @click="() => router.go(-1)" size="large"> </el-button> <el-button @click="() => router.go(-1)" size="large"> </el-button>
<el-button <el-button
@ -506,9 +489,10 @@ const subFormRules = reactive({
storageOkQty: [{ required: true, message: '出库数量不能为空', trigger: 'blur' }] storageOkQty: [{ required: true, message: '出库数量不能为空', trigger: 'blur' }]
}) })
const handleStatus = async (num) => { const handleStatus = async (num) => {
// //
await formRef.value.validate() await formRef.value.validate()
if (formData.value.matItemDOList.length === 0) { if(formData.value.matItemDOList.length === 0){
message.alertWarning('请添加物料信息!') message.alertWarning('请添加物料信息!')
return return
} }
@ -563,7 +547,7 @@ const handleStatus = async (num) => {
isShowBtnDelete.value = false isShowBtnDelete.value = false
} }
query.id = storageid.value query.id = storageid.value
query.type = 'update' query.type= 'update'
reload() reload()
} }
const userList = ref<UserApi.UserVO[]>([]) // const userList = ref<UserApi.UserVO[]>([]) //
@ -627,7 +611,7 @@ var commonResult = ''
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const saveFormData = async () => { const saveFormData = async () =>{
// //
const matCurrentData = await StorageMatApi.getStorageMatList() const matCurrentData = await StorageMatApi.getStorageMatList()
var hasRestNum = true var hasRestNum = true
@ -676,6 +660,9 @@ const saveFormData = async () => {
} }
formData.value = await StorageApi.getStorage(storageid.value) formData.value = await StorageApi.getStorage(storageid.value)
message.success(t(commonResult)) message.success(t(commonResult))
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
@ -683,7 +670,7 @@ const saveFormData = async () => {
const submitForm = async () => { const submitForm = async () => {
// //
await formRef.value.validate() await formRef.value.validate()
if (formData.value.matItemDOList.length === 0) { if(formData.value.matItemDOList.length === 0){
message.alertWarning('请添加物料信息!') message.alertWarning('请添加物料信息!')
return return
} }
@ -697,7 +684,7 @@ const submitForm = async () => {
await saveFormData() await saveFormData()
// //
query.id = storageid.value query.id = storageid.value
query.type = 'update' query.type= 'update'
reload() reload()
} }
@ -725,6 +712,7 @@ const onAddItem = () => {
} }
matCount = matCount + 1 matCount = matCount + 1
formData.value.matItemDOList.push(newData) formData.value.matItemDOList.push(newData)
} else { } else {
message.alertWarning('请选择出库仓库') message.alertWarning('请选择出库仓库')
@ -760,14 +748,11 @@ const handleWh = async (wid) => {
let matParams = { let matParams = {
pageNo: 1, pageNo: 1,
pageSize: 99, pageSize: 99,
status: '1' status: "1"
} }
const dataMat = await MaterialApi.getMaterialPage(matParams) const dataMat = await MaterialApi.getMaterialPage(matParams)
matList.value = [] matList.value = []
matList.value = dataMat.list.filter( matList.value = dataMat.list.filter((item) => matLastRemoteData.find((fish) => fish.matId === item.id && fish.whId == wid) !== undefined)
(item) =>
matLastRemoteData.find((fish) => fish.matId === item.id && fish.whId == wid) !== undefined
)
formData.value.matItemDOList = [] formData.value.matItemDOList = []
// formData.value.matItemDOList.forEach(item => { // formData.value.matItemDOList.forEach(item => {
@ -807,12 +792,7 @@ const remoteMatCodeSearch = async (name) => {
const dataMat = await MaterialApi.getMaterialPage(matParams) const dataMat = await MaterialApi.getMaterialPage(matParams)
matList.value = [] matList.value = []
matList.value = dataMat.list.filter( matList.value = dataMat.list.filter((item) => matLastRemoteData.find((fish) => fish.matId === item.id && fish.whId == formData.value.whId) !== undefined)
(item) =>
matLastRemoteData.find(
(fish) => fish.matId === item.id && fish.whId == formData.value.whId
) !== undefined
)
matSelectLoading.value = false matSelectLoading.value = false
} }
@ -860,7 +840,7 @@ const handleMatCode = async (scope, matid) => {
const isShowBtnGroup = ref(true) const isShowBtnGroup = ref(true)
const isShowBtnCancel = ref(false) const isShowBtnCancel = ref(false)
const isShowBtnOther = ref(false) const isShowBtnOther = ref(false)
const isShowBtnDelete = ref(true) const isShowBtnDelete = ref(true)
const btnWhClickable = ref(false) const btnWhClickable = ref(false)
const matLastData = ref([]) const matLastData = ref([])
/** 初始化 **/ /** 初始化 **/
@ -882,6 +862,8 @@ onMounted(async () => {
dialogTitle.value = t('action.' + query.type) dialogTitle.value = t('action.' + query.type)
dialogTitle.value = query.type === 'review' ? '查看' : dialogTitle.value dialogTitle.value = query.type === 'review' ? '查看' : dialogTitle.value
//------------------- //-------------------
const data = await WarehouseApi.getWarehouseSimpList() const data = await WarehouseApi.getWarehouseSimpList()
warehouseList.value = data warehouseList.value = data

Loading…
Cancel
Save