|
|
@ -560,15 +560,15 @@
|
|
|
|
</el-form>
|
|
|
|
</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 @click="submitForm" type="success" v-if="btnSave" size="large">保 存</el-button>
|
|
|
|
<el-button @click="saveFormData('SAVE',1)" type="success" v-if="btnSave" size="large">保 存</el-button>
|
|
|
|
<el-button
|
|
|
|
<el-button
|
|
|
|
@click="handleStatus(2)"
|
|
|
|
@click="saveFormData('SUBMIT',2)"
|
|
|
|
type="primary"
|
|
|
|
type="primary"
|
|
|
|
v-if="btnSave&&query.type !== 'create'"
|
|
|
|
v-if="btnSave&&query.type !== 'create'"
|
|
|
|
size="large"
|
|
|
|
size="large"
|
|
|
|
>提 交</el-button
|
|
|
|
>提 交</el-button
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-button @click="handleStatus(3)" type="danger" v-if="btnCancel" size="large"
|
|
|
|
<el-button @click="saveFormData('CANCEL',3)" type="danger" v-if="btnCancel" size="large"
|
|
|
|
>作 废</el-button
|
|
|
|
>作 废</el-button
|
|
|
|
>
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -718,6 +718,7 @@ const handleStatus = async (num) => {
|
|
|
|
formData.value.status = num
|
|
|
|
formData.value.status = num
|
|
|
|
const data = formData.value as unknown as StorageApi.StorageVO
|
|
|
|
const data = formData.value as unknown as StorageApi.StorageVO
|
|
|
|
if (num == 2) {
|
|
|
|
if (num == 2) {
|
|
|
|
|
|
|
|
formData.value.active = 'SUBMIT'
|
|
|
|
// 校验表单
|
|
|
|
// 校验表单
|
|
|
|
await formRef.value.validate()
|
|
|
|
await formRef.value.validate()
|
|
|
|
if (formData.value.matItemDOList.length === 0) {
|
|
|
|
if (formData.value.matItemDOList.length === 0) {
|
|
|
@ -779,6 +780,7 @@ const handleStatus = async (num) => {
|
|
|
|
await saveFormData()
|
|
|
|
await saveFormData()
|
|
|
|
data.outbound = useUserStore().getUser.id
|
|
|
|
data.outbound = useUserStore().getUser.id
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
|
|
|
|
formData.value.active = 'CANCEL'
|
|
|
|
await StorageApi.updateStorage(data)
|
|
|
|
await StorageApi.updateStorage(data)
|
|
|
|
data.cancel = useUserStore().getUser.id
|
|
|
|
data.cancel = useUserStore().getUser.id
|
|
|
|
commonResult = 'common.updateSuccess'
|
|
|
|
commonResult = 'common.updateSuccess'
|
|
|
@ -912,7 +914,9 @@ var commonResult = ''
|
|
|
|
/** 提交表单 */
|
|
|
|
/** 提交表单 */
|
|
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
|
|
|
|
|
|
|
|
|
|
const saveFormData = async () => {
|
|
|
|
const saveFormData = async (active, status) => {
|
|
|
|
|
|
|
|
formData.value.active = active
|
|
|
|
|
|
|
|
formData.value.status = status
|
|
|
|
// 提交请求
|
|
|
|
// 提交请求
|
|
|
|
formLoading.value = true
|
|
|
|
formLoading.value = true
|
|
|
|
try {
|
|
|
|
try {
|
|
|
@ -945,73 +949,6 @@ const saveFormData = async () => {
|
|
|
|
formLoading.value = false
|
|
|
|
formLoading.value = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const submitForm = async () => {
|
|
|
|
|
|
|
|
// 校验表单
|
|
|
|
|
|
|
|
await formRef.value.validate()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var repeatItem = []
|
|
|
|
|
|
|
|
formData.value.matItemDOList.forEach((item) => {
|
|
|
|
|
|
|
|
if (
|
|
|
|
|
|
|
|
formData.value.matItemDOList.filter((mat) => mat.matId == item.matId)
|
|
|
|
|
|
|
|
.length > 1
|
|
|
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
var tmpCode = '[' + item.matCode + ']'
|
|
|
|
|
|
|
|
if (repeatItem.indexOf(tmpCode) < 0) {
|
|
|
|
|
|
|
|
repeatItem.push(tmpCode)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (repeatItem.length > 0) {
|
|
|
|
|
|
|
|
message.alertWarning(
|
|
|
|
|
|
|
|
'物料编码' + repeatItem.join(',') + '出库库位存在多行数据,请修改,避免重复出库'
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// if (formData.value.matItemDOList.length === 0) {
|
|
|
|
|
|
|
|
// message.alertWarning('请添加物料信息!')
|
|
|
|
|
|
|
|
// return
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// 校验子表单
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
await matSubFormRef.value.validate()
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取最新库存信息
|
|
|
|
|
|
|
|
const matCurrentData = await StorageMatApi.getStorageMatList(0)
|
|
|
|
|
|
|
|
var hasRestNum = true
|
|
|
|
|
|
|
|
formData.value.matItemDOList.forEach((rest) => {
|
|
|
|
|
|
|
|
if (
|
|
|
|
|
|
|
|
matCurrentData.find(
|
|
|
|
|
|
|
|
(mat) =>
|
|
|
|
|
|
|
|
mat.matId == rest.matId &&
|
|
|
|
|
|
|
|
mat.matRest < Number(rest.storageOkQty)
|
|
|
|
|
|
|
|
) !== undefined ||
|
|
|
|
|
|
|
|
rest.storageOkQty.length == 0
|
|
|
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
hasRestNum = false
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
if (!hasRestNum) {
|
|
|
|
|
|
|
|
message.alertWarning('物料库存不足')
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // 提示用户是否保存出库信息
|
|
|
|
|
|
|
|
// await message.confirm('确认保存出库信息?')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//保存表单数据
|
|
|
|
|
|
|
|
await saveFormData()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 成功后刷新
|
|
|
|
|
|
|
|
query.id = formData.value.id
|
|
|
|
|
|
|
|
query.type = 'update'
|
|
|
|
|
|
|
|
if (sumbefore.value == 0) {
|
|
|
|
|
|
|
|
reload()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//删除新增物料信息
|
|
|
|
//删除新增物料信息
|
|
|
@ -1041,12 +978,6 @@ const getMatList = async (name) => {
|
|
|
|
|
|
|
|
|
|
|
|
const dataMat = await MaterialApi.getMaterialPage(matParams)
|
|
|
|
const dataMat = await MaterialApi.getMaterialPage(matParams)
|
|
|
|
matList.value = dataMat.list
|
|
|
|
matList.value = dataMat.list
|
|
|
|
// matList.value = dataMat.list.filter(
|
|
|
|
|
|
|
|
// (item) =>
|
|
|
|
|
|
|
|
// matLastRemoteData.find(
|
|
|
|
|
|
|
|
// (fish) => fish.matId === item.id && fish.whId == formData.value.whId
|
|
|
|
|
|
|
|
// ) !== undefined
|
|
|
|
|
|
|
|
// )
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|