|
|
|
@ -147,7 +147,7 @@
|
|
|
|
|
show-word-limit
|
|
|
|
|
maxlength="200"
|
|
|
|
|
class="!w-2080px"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
@ -166,7 +166,7 @@
|
|
|
|
|
class="hl-addbutton"
|
|
|
|
|
type="primary"
|
|
|
|
|
size="large"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
@click="openMatForm"
|
|
|
|
|
>新增</el-button
|
|
|
|
|
>
|
|
|
|
@ -251,7 +251,7 @@
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="scope.row.storageOkQty"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
@ -271,7 +271,7 @@
|
|
|
|
|
class="mb-0px!"
|
|
|
|
|
>
|
|
|
|
|
<ProcedureSelect
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check' "
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
v-model="row.procedureId"
|
|
|
|
|
@update:newValue="
|
|
|
|
|
(val) => {
|
|
|
|
@ -286,7 +286,7 @@
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="scope.row.description"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
/>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
@ -297,8 +297,8 @@
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
size="small"
|
|
|
|
|
@click.prevent="handleDelete2(scope.$index,scope.row.id)"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
@click.prevent="handleDelete2(scope.$index, scope.row.id)"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
>
|
|
|
|
|
删除
|
|
|
|
|
</el-button>
|
|
|
|
@ -317,7 +317,7 @@
|
|
|
|
|
class="hl-addbutton"
|
|
|
|
|
type="primary"
|
|
|
|
|
size="large"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
@click="openMatForm2"
|
|
|
|
|
>新增</el-button
|
|
|
|
|
>
|
|
|
|
@ -402,7 +402,7 @@
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="scope.row.storageOkQty"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
@ -421,7 +421,7 @@
|
|
|
|
|
class="mb-0px!"
|
|
|
|
|
>
|
|
|
|
|
<ProcedureSelect
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
v-model="row.procedureId"
|
|
|
|
|
@update:newValue="
|
|
|
|
|
(val) => {
|
|
|
|
@ -436,7 +436,7 @@
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="scope.row.description"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
/>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
@ -447,8 +447,8 @@
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
size="small"
|
|
|
|
|
@click.prevent="handleDelete2(scope.$index,scope.row.id)"
|
|
|
|
|
v-bind:disabled="activetype == 'review'||activetype =='Check'"
|
|
|
|
|
@click.prevent="handleDelete2(scope.$index, scope.row.id)"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
>
|
|
|
|
|
删除
|
|
|
|
|
</el-button>
|
|
|
|
@ -488,7 +488,10 @@
|
|
|
|
|
:before-upload="before"
|
|
|
|
|
class="upload-file-uploader"
|
|
|
|
|
>
|
|
|
|
|
<el-button type="primary" v-bind:disabled="activetype == 'review'||activetype =='Check'">
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary"
|
|
|
|
|
v-bind:disabled="activetype == 'review' || activetype == 'Check'"
|
|
|
|
|
>
|
|
|
|
|
<Icon icon="ep:upload-filled" />上传
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-upload>
|
|
|
|
@ -519,7 +522,9 @@
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
size="small"
|
|
|
|
|
v-bind:disabled="ctrView || ctrDelete||activetype == 'review'||activetype =='Check'"
|
|
|
|
|
v-bind:disabled="
|
|
|
|
|
ctrView || ctrDelete || activetype == 'review' || activetype == 'Check'
|
|
|
|
|
"
|
|
|
|
|
@click="handleDeleteAttachment(scope.$index, scope.row.businessFileType)"
|
|
|
|
|
>
|
|
|
|
|
删除
|
|
|
|
@ -571,7 +576,7 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
<el-row justify="center" v-if="formData.status == 3">
|
|
|
|
|
<!-- <el-row justify="center" v-if="formData.status == 3">
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item prop="cancel" label="作废人">
|
|
|
|
|
{{ userList.find((user) => user.id == formData.cancel)?.nickname }}
|
|
|
|
@ -582,8 +587,8 @@
|
|
|
|
|
{{ formatDate(formData.cancelTime, 'YYYY-MM-DD HH:mm') }}
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row justify="center" v-else>
|
|
|
|
|
</el-row> -->
|
|
|
|
|
<el-row justify="center">
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item prop="cancel" label="审核人">
|
|
|
|
|
{{ userList.find((user) => user.id == formData.cancel)?.nickname }}
|
|
|
|
@ -602,7 +607,12 @@
|
|
|
|
|
<el-button
|
|
|
|
|
@click="saveFormData('SAVE', 1, 'suc')"
|
|
|
|
|
type="primary"
|
|
|
|
|
v-if="activetype !== 'audit' && formData.status !== 4&& formData.status !== 2&&activetype !== 'review'"
|
|
|
|
|
v-if="
|
|
|
|
|
activetype !== 'audit' &&
|
|
|
|
|
formData.status !== 4 &&
|
|
|
|
|
formData.status !== 2 &&
|
|
|
|
|
activetype !== 'review'
|
|
|
|
|
"
|
|
|
|
|
size="large"
|
|
|
|
|
>保 存</el-button
|
|
|
|
|
>
|
|
|
|
@ -610,28 +620,52 @@
|
|
|
|
|
<el-button
|
|
|
|
|
@click="saveFormData('SUBMIT', 2, 'suc')"
|
|
|
|
|
type="success"
|
|
|
|
|
v-if="formData.status !== 2 && activetype !== 'create' && formData.status !== 4 && activetype !== 'audit'&&activetype !== 'review'"
|
|
|
|
|
v-if="
|
|
|
|
|
formData.status !== 2 &&
|
|
|
|
|
activetype !== 'create' &&
|
|
|
|
|
formData.status !== 4 &&
|
|
|
|
|
activetype !== 'audit' &&
|
|
|
|
|
activetype !== 'review'
|
|
|
|
|
"
|
|
|
|
|
size="large"
|
|
|
|
|
>送 审</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
@click="deleteFormData()"
|
|
|
|
|
type="danger"
|
|
|
|
|
v-if="btnSave && activetype !== 'create' && formData.status !== 4 && activetype !== 'audit'&&activetype !== 'review'"
|
|
|
|
|
v-if="
|
|
|
|
|
btnSave &&
|
|
|
|
|
activetype !== 'create' &&
|
|
|
|
|
formData.status !== 4 &&
|
|
|
|
|
activetype !== 'audit' &&
|
|
|
|
|
activetype !== 'review'
|
|
|
|
|
"
|
|
|
|
|
size="large"
|
|
|
|
|
>删 除</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
@click="saveFormDataSUBMIT('AUDIT', 4)"
|
|
|
|
|
type="primary"
|
|
|
|
|
v-if="formData.status === 2 && activetype == 'audit'||activetype=='Check'&&formData.status !==3&&activetype !== 'review'&&formData.status !==1"
|
|
|
|
|
v-if="
|
|
|
|
|
(formData.status === 2 && activetype == 'audit') ||
|
|
|
|
|
(activetype == 'Check' &&
|
|
|
|
|
formData.status !== 3 &&
|
|
|
|
|
activetype !== 'review' &&
|
|
|
|
|
formData.status !== 1)
|
|
|
|
|
"
|
|
|
|
|
size="large"
|
|
|
|
|
>审 核</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
@click="saveFormData('INVALID', 3, 'suc')"
|
|
|
|
|
type="danger"
|
|
|
|
|
v-if="formData.status === 2 && activetype == 'audit'||activetype=='Check'&&formData.status !==3&&activetype !== 'review'&&formData.status !==1"
|
|
|
|
|
v-if="
|
|
|
|
|
(formData.status === 2 && activetype == 'audit') ||
|
|
|
|
|
(activetype == 'Check' &&
|
|
|
|
|
formData.status !== 3 &&
|
|
|
|
|
activetype !== 'review' &&
|
|
|
|
|
formData.status !== 1)
|
|
|
|
|
"
|
|
|
|
|
size="large"
|
|
|
|
|
>打 回</el-button
|
|
|
|
|
>
|
|
|
|
@ -903,12 +937,12 @@ const deleteFormData = async () => {
|
|
|
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
|
|
|
|
|
|
|
|
const saveFormData = async (active, status, type) => {
|
|
|
|
|
if(active === 'SUBMIT'){
|
|
|
|
|
if (active === 'SUBMIT') {
|
|
|
|
|
//提示
|
|
|
|
|
if (formData.value.matItemDOList.length === 0) {
|
|
|
|
|
message.alertWarning('请添加物料信息!')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (formData.value.matItemDOList.length === 0) {
|
|
|
|
|
message.alertWarning('请添加物料信息!')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
await formRef.value.validate()
|
|
|
|
|
formData.value.active = active
|
|
|
|
@ -925,13 +959,34 @@ const saveFormData = async (active, status, type) => {
|
|
|
|
|
commonStore.setStore('id', formData.value.id)
|
|
|
|
|
reload()
|
|
|
|
|
} else if (formData.value.active === 'SUBMIT' && formData.value.status == 2) {
|
|
|
|
|
data.outbound = useUserStore().getUser.id
|
|
|
|
|
// //先执行一下保存物料和保存附件
|
|
|
|
|
|
|
|
|
|
// formData.value.active = 'SAVE'
|
|
|
|
|
// formData.value.matItemDOList.forEach((item) => {
|
|
|
|
|
// item.stockId = formData.value.id
|
|
|
|
|
// item.whId = formData.value.whId
|
|
|
|
|
// })
|
|
|
|
|
// const dataMats = formData.value.matItemDOList as unknown as StorageMatApi.StorageMatVO[]
|
|
|
|
|
// await StorageMatApi.createStorageMatBatch(dataMats, formData.value.id)
|
|
|
|
|
// if (formData.value.attachments != undefined && formData.value.attachments.length > 0) {
|
|
|
|
|
// //附件信息保存
|
|
|
|
|
// matUploadData.value.businessId = formData.value.id
|
|
|
|
|
// await matUploadRef.value!.submit()
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
//通过异步执行送审
|
|
|
|
|
// setTimeout(async () => {
|
|
|
|
|
console.log('------');
|
|
|
|
|
|
|
|
|
|
formData.value.active === 'SUBMIT'
|
|
|
|
|
data.outbound = useUserStore().getUser.id
|
|
|
|
|
const nowStr = formatDate(new Date(), 'YYYY-MM-DD HH:mm')
|
|
|
|
|
const now = new Date(nowStr).getTime()
|
|
|
|
|
data.outboundTime = now
|
|
|
|
|
await StorageApi.updateStorage(data)
|
|
|
|
|
commonStore.setStore('active', 'review')
|
|
|
|
|
reload()
|
|
|
|
|
data.outboundTime = now
|
|
|
|
|
await StorageApi.updateStorage(data)
|
|
|
|
|
commonStore.setStore('active', 'review')
|
|
|
|
|
// reload()
|
|
|
|
|
// }, 500)
|
|
|
|
|
|
|
|
|
|
// commonStore.setStore('id', formData.value.id)
|
|
|
|
|
} else if (formData.value.active === 'INVALID') {
|
|
|
|
@ -957,16 +1012,18 @@ const saveFormData = async (active, status, type) => {
|
|
|
|
|
)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (active !== 'INVALID') {
|
|
|
|
|
console.log('保存物料-------');
|
|
|
|
|
|
|
|
|
|
formData.value.matItemDOList.forEach((item) => {
|
|
|
|
|
item.stockId = formData.value.id
|
|
|
|
|
item.whId = formData.value.whId
|
|
|
|
|
})
|
|
|
|
|
const dataMats = formData.value.matItemDOList as unknown as StorageMatApi.StorageMatVO[]
|
|
|
|
|
await StorageMatApi.createStorageMatBatch(dataMats, formData.value.id)
|
|
|
|
|
}
|
|
|
|
|
//物料信息保存
|
|
|
|
|
formData.value.matItemDOList.forEach((item) => {
|
|
|
|
|
item.stockId = formData.value.id
|
|
|
|
|
item.whId = formData.value.whId
|
|
|
|
|
})
|
|
|
|
|
const dataMats = formData.value.matItemDOList as unknown as StorageMatApi.StorageMatVO[]
|
|
|
|
|
|
|
|
|
|
const error =await StorageMatApi.createStorageMatBatch(dataMats, formData.value.id)
|
|
|
|
|
console.log(error);
|
|
|
|
|
|
|
|
|
|
if (formData.value.attachments != undefined && formData.value.attachments.length > 0) {
|
|
|
|
|
//附件信息保存
|
|
|
|
|
matUploadData.value.businessId = formData.value.id
|
|
|
|
@ -977,6 +1034,11 @@ const saveFormData = async (active, status, type) => {
|
|
|
|
|
commonResult = 'common.updateSuccess'
|
|
|
|
|
message.success(t(commonResult))
|
|
|
|
|
}
|
|
|
|
|
} catch (error) {
|
|
|
|
|
// 捕获并处理异常
|
|
|
|
|
console.error('创建物料存储时发生错误:', error)
|
|
|
|
|
// 可以在这里展示错误消息给用户,或者执行重试逻辑等
|
|
|
|
|
reload()
|
|
|
|
|
} finally {
|
|
|
|
|
formLoading.value = false
|
|
|
|
|
}
|
|
|
|
@ -1000,10 +1062,10 @@ const saveFormDataSUBMIT = (active, status) => {
|
|
|
|
|
}, 1000)
|
|
|
|
|
}
|
|
|
|
|
//删除新增物料信息
|
|
|
|
|
const handleDelete2 = async(index: number,id:number,) => {
|
|
|
|
|
console.log(id,index);
|
|
|
|
|
const handleDelete2 = async (index: number, id: number) => {
|
|
|
|
|
console.log(id, index)
|
|
|
|
|
await StorageMatApi.deleteStorageMat(id)
|
|
|
|
|
// deleteStorageMat
|
|
|
|
|
// deleteStorageMat
|
|
|
|
|
formData.value.matItemDOList.splice(index, 1)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1088,7 +1150,12 @@ const matSimpVirtualList = ref([]) // 物料基本信息列表
|
|
|
|
|
/** 初始化 **/
|
|
|
|
|
onMounted(async () => {
|
|
|
|
|
// 页面标题展示
|
|
|
|
|
dialogTitle.value = activetype.value === 'review' ? '查看' : (activetype.value ==='Check'?'审核':t('action.' + activetype.value))
|
|
|
|
|
dialogTitle.value =
|
|
|
|
|
activetype.value === 'review'
|
|
|
|
|
? '查看'
|
|
|
|
|
: activetype.value === 'Check'
|
|
|
|
|
? '审核'
|
|
|
|
|
: t('action.' + activetype.value)
|
|
|
|
|
|
|
|
|
|
//- 获取仓库全数据
|
|
|
|
|
whList.value = await WarehouseApi.getWarehouseSimpList()
|
|
|
|
|