|
|
@ -1,7 +1,14 @@ |
|
|
|
<template> |
|
|
|
<ContentWrap> |
|
|
|
<!-- 搜索工作栏 --> |
|
|
|
<Search :schema="[...UnplannedreceiptRequestMain.allSchemas.searchSchema,...UnplannedreceiptRequestDetail.allSchemas.searchSchema]" @search="setSearchParams" @reset="setSearchParams" /> |
|
|
|
<Search |
|
|
|
:schema="[ |
|
|
|
...UnplannedreceiptRequestMain.allSchemas.searchSchema, |
|
|
|
...UnplannedreceiptRequestDetail.allSchemas.searchSchema |
|
|
|
]" |
|
|
|
@search="setSearchParams" |
|
|
|
@reset="setSearchParams" |
|
|
|
/> |
|
|
|
</ContentWrap> |
|
|
|
|
|
|
|
<!-- 列表头部 --> |
|
|
@ -17,7 +24,8 @@ |
|
|
|
|
|
|
|
<!-- 列表 --> |
|
|
|
<ContentWrap> |
|
|
|
<Table v-clientTable |
|
|
|
<Table |
|
|
|
v-clientTable |
|
|
|
:columns="tableColumns" |
|
|
|
:data="tableObject.tableList" |
|
|
|
:loading="tableObject.loading" |
|
|
@ -34,7 +42,10 @@ |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
<template #action="{ row, $index }"> |
|
|
|
<ButtonBase :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event,row)" /> |
|
|
|
<ButtonBase |
|
|
|
:Butttondata="butttondata(row, $index)" |
|
|
|
@button-base-click="buttonTableClick($event, row)" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</Table> |
|
|
|
</ContentWrap> |
|
|
@ -62,11 +73,16 @@ |
|
|
|
@inputNumberChange="inputNumberChange" |
|
|
|
@tableFormSelectOnBlur="tableFormSelectOnBlur" |
|
|
|
><template v-slot="{ row }"> |
|
|
|
<el-date-picker v-bind:modelValue="row['validityDays']?addDay(row['produceDate'],row['validityDays']):''" format="YYYY-MM-DD" |
|
|
|
<el-date-picker |
|
|
|
v-bind:modelValue=" |
|
|
|
row['validityDays'] ? addDay(row['produceDate'], row['validityDays']) : '' |
|
|
|
" |
|
|
|
format="YYYY-MM-DD" |
|
|
|
:clearable="true" |
|
|
|
style="width: 100%" |
|
|
|
:disabled="true" |
|
|
|
:placeholder="t('ts.选择日期')"/> |
|
|
|
:placeholder="t('ts.选择日期')" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</BasicForm> |
|
|
|
|
|
|
@ -107,8 +123,15 @@ |
|
|
|
/> |
|
|
|
|
|
|
|
<!-- 导入 --> |
|
|
|
<ImportForm ref="importFormRef" url="/wms/unplannedreceipt-request-main/import" :importTemplateData="importTemplateData" |
|
|
|
@success="importSuccess" :updateIsDisable="true" :coverIsDisable="true" :mode="2" /> |
|
|
|
<ImportForm |
|
|
|
ref="importFormRef" |
|
|
|
url="/wms/unplannedreceipt-request-main/import" |
|
|
|
:importTemplateData="importTemplateData" |
|
|
|
@success="importSuccess" |
|
|
|
:updateIsDisable="true" |
|
|
|
:coverIsDisable="true" |
|
|
|
:mode="2" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup lang="ts"> |
|
|
@ -121,21 +144,25 @@ import { |
|
|
|
UnplannedreceiptRequestMainRules, |
|
|
|
UnplannedreceiptRequestDetail, |
|
|
|
UnplannedreceiptRequestDetailRules, |
|
|
|
UnplannedreceiptRequestDetailLabelRules, UnplannedreceiptRequestDetailLabel |
|
|
|
UnplannedreceiptRequestDetailLabelRules, |
|
|
|
UnplannedreceiptRequestDetailLabel |
|
|
|
} from './unplannedreceiptRequestMain.data' |
|
|
|
import * as UnplannedreceiptRequestMainApi from '@/api/wms/unplannedreceiptRequestMain' |
|
|
|
import * as UnplannedreceiptRequestDetailApi from '@/api/wms/unplannedreceiptRequestDetail' |
|
|
|
import * as defaultButtons from '@/utils/disposition/defaultButtons' |
|
|
|
import * as ItembasicApi from "@/api/wms/itembasic"; |
|
|
|
import * as PackageApi from "@/api/wms/package"; |
|
|
|
import * as ItembasicApi from '@/api/wms/itembasic' |
|
|
|
import * as PackageApi from '@/api/wms/package' |
|
|
|
import { formatTime } from '@/utils/index' |
|
|
|
import { getAccessToken } from '@/utils/auth' |
|
|
|
import { getJmreportBaseUrl } from '@/utils/systemParam' |
|
|
|
import { formatDate } from '@/utils/formatTime' |
|
|
|
import { usePageLoading } from '@/hooks/web/usePageLoading' |
|
|
|
import * as SubjectAccountApi from '@/api/wms/subjectAccount' |
|
|
|
import * as SupplieritemApi from '@/api/wms/supplieritem' |
|
|
|
import * as ProductionlineitemApi from '@/api/wms/productionlineitem' |
|
|
|
const { loadStart, loadDone } = usePageLoading() |
|
|
|
import * as ruleApi from '@/api/wms/rule/index' |
|
|
|
import { cloneDeep } from 'lodash-es' |
|
|
|
// 计划外入库申请 |
|
|
|
defineOptions({ name: 'UnplannedreceiptRequestMain' }) |
|
|
|
|
|
|
@ -145,10 +172,13 @@ const { t } = useI18n() // 国际化 |
|
|
|
const route = useRoute() // 路由信息 |
|
|
|
const routeName = ref() |
|
|
|
routeName.value = route.name |
|
|
|
const tableColumns = ref([...UnplannedreceiptRequestMain.allSchemas.tableColumns,...UnplannedreceiptRequestDetail.allSchemas.tableMainColumns]) |
|
|
|
const tableColumns = ref([ |
|
|
|
...UnplannedreceiptRequestMain.allSchemas.tableColumns, |
|
|
|
...UnplannedreceiptRequestDetail.allSchemas.tableMainColumns |
|
|
|
]) |
|
|
|
|
|
|
|
//创建标签 |
|
|
|
const detailListTableColumns = UnplannedreceiptRequestDetailLabel.allSchemas |
|
|
|
const detailListTableColumns = cloneDeep(UnplannedreceiptRequestDetailLabel.allSchemas) |
|
|
|
const isCreateLabel = ref(false) |
|
|
|
const formLabelRef = ref() |
|
|
|
const labelType = ref('') // 标签类别 采购还是制造等 |
|
|
@ -171,11 +201,11 @@ const isItemType = async (itemCode, labelTypeParams) => { |
|
|
|
pageNo: 1, |
|
|
|
code: itemCode, |
|
|
|
sort: '', |
|
|
|
by: 'ASC', |
|
|
|
}).then(res => { |
|
|
|
by: 'ASC' |
|
|
|
}).then((res) => { |
|
|
|
if (res.list.length > 0) { |
|
|
|
// 判断物料 可采购 可制造 |
|
|
|
if (res.list[0].enableMake == "FALSE") { |
|
|
|
if (res.list[0].enableMake == 'FALSE') { |
|
|
|
labelType.value = 'cg' |
|
|
|
if (labelTypeParams == 'cg') { |
|
|
|
isType = true |
|
|
@ -204,37 +234,44 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => |
|
|
|
if (formField == 'toLocationCode') { |
|
|
|
row['toLocationCode'] = val[0]['code'] |
|
|
|
|
|
|
|
await ruleApi.getManagementPrecision({ |
|
|
|
await ruleApi |
|
|
|
.getManagementPrecision({ |
|
|
|
itemCodes: [row['itemCode']], |
|
|
|
locationCode: val[0]['code'] |
|
|
|
}).then((res) => { |
|
|
|
}) |
|
|
|
.then((res) => { |
|
|
|
fromManagementPrecision.value = res[0].ManagementPrecision |
|
|
|
if (fromManagementPrecision.value == 'BY_QUANTITY') { |
|
|
|
// row['disabled_batch'] = false |
|
|
|
UnplannedreceiptRequestDetailRules.batch[0].required = false |
|
|
|
|
|
|
|
} else { |
|
|
|
// row['disabled_batch'] = true |
|
|
|
UnplannedreceiptRequestDetailRules.batch[0].required = true |
|
|
|
} |
|
|
|
}) |
|
|
|
} else if (formField == 'itemCode') { |
|
|
|
let itemCodes = val.filter(item=>tableData.value.find(item1=>item1['itemCode']==item['code'])) |
|
|
|
let itemCodes = val.filter((item) => |
|
|
|
tableData.value.find((item1) => item1['itemCode'] == item['code']) |
|
|
|
) |
|
|
|
if (itemCodes.length > 0) { |
|
|
|
itemCodes = itemCodes.map(item=>(item['code'])) |
|
|
|
itemCodes = itemCodes.map((item) => item['code']) |
|
|
|
message.warning(`物料${itemCodes.join(',')}已经存在`) |
|
|
|
} |
|
|
|
val = val.filter(item=>!tableData.value.find(item1=>item1['itemCode']==item['itemCode'])) |
|
|
|
val = val.filter( |
|
|
|
(item) => !tableData.value.find((item1) => item1['itemCode'] == item['itemCode']) |
|
|
|
) |
|
|
|
if (val.length == 0) { |
|
|
|
return |
|
|
|
} |
|
|
|
const enableBuy = val[0]['enableBuy'] |
|
|
|
let newVal = val.filter(item=>item.enableBuy==enableBuy) |
|
|
|
let newVal = val.filter((item) => item.enableBuy == enableBuy) |
|
|
|
if (newVal.length < val.length) { |
|
|
|
message.warning('不能同时选择可制造和可采购的物料') |
|
|
|
} |
|
|
|
newVal = newVal.filter(item=>!tableData.value.find(item1=>item1['itemCode']==item['code'])) |
|
|
|
newVal.forEach(item=>{ |
|
|
|
newVal = newVal.filter( |
|
|
|
(item) => !tableData.value.find((item1) => item1['itemCode'] == item['code']) |
|
|
|
) |
|
|
|
newVal.forEach((item) => { |
|
|
|
let tfk = JSON.parse(JSON.stringify(tableFormKeys)) |
|
|
|
tfk.batch = formatTime(new Date(), 'yyyyMMdd') |
|
|
|
//生产日期 到货日期 默认当天 |
|
|
@ -283,7 +320,8 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => |
|
|
|
// } |
|
|
|
// 项目是否必填 |
|
|
|
if (UnplannedreceiptRequestMainRules['projectCode']) { |
|
|
|
UnplannedreceiptRequestMainRules['projectCode'][0].required = val[0]['isProject']=='TRUE' |
|
|
|
UnplannedreceiptRequestMainRules['projectCode'][0].required = |
|
|
|
val[0]['isProject'] == 'TRUE' |
|
|
|
} |
|
|
|
} |
|
|
|
if (formField === 'projectCode') { |
|
|
@ -300,13 +338,11 @@ const handleDetailSubmitForm = async (formType, data) => { |
|
|
|
if (formType === 'create') { |
|
|
|
await UnplannedreceiptRequestDetailApi.createUnplannedreceiptRequestDetail(data) |
|
|
|
message.success(t('common.createSuccess')) |
|
|
|
|
|
|
|
} else { |
|
|
|
await UnplannedreceiptRequestDetailApi.updateUnplannedreceiptRequestDetail(data) |
|
|
|
message.success(t('common.updateSuccess')) |
|
|
|
} |
|
|
|
detailRef.value.submitUpdateList() |
|
|
|
|
|
|
|
} |
|
|
|
// 查询页面返回——详情 |
|
|
|
const searchTableSuccessDetail = (formField, searchField, val, formRef) => { |
|
|
@ -320,11 +356,12 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { |
|
|
|
setV['itemCode'] = val[0]['code'] |
|
|
|
setV['uom'] = val[0]['uom'] |
|
|
|
setV['validityDays'] = val[0]['validityDays'] |
|
|
|
setV['expireDate'] = val[0]['validityDays']?addDay(val[0]['produceDate'],val[0]['validityDays']).valueOf():'' |
|
|
|
setV['expireDate'] = val[0]['validityDays'] |
|
|
|
? addDay(val[0]['produceDate'], val[0]['validityDays']).valueOf() |
|
|
|
: '' |
|
|
|
setV['batch'] = formatTime(new Date(), 'yyyyMMdd') //生产日期 到货日期 默认当天 |
|
|
|
setV['produceDate'] = dayjs().valueOf() |
|
|
|
setV['arriveDate'] = dayjs().valueOf() |
|
|
|
|
|
|
|
} |
|
|
|
if (formField === 'costcentreCode') { |
|
|
|
setV['costcentreCode'] = val[0]['costcentreCode'] |
|
|
@ -336,7 +373,6 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 查询标签表格页面返回 |
|
|
|
const searchTableLabelSuccess = (formField, searchField, val, formRef, type, row) => { |
|
|
|
nextTick(async () => { |
|
|
@ -371,7 +407,7 @@ const HeadButttondata = [ |
|
|
|
defaultButtons.defaultExportBtn({ hasPermi: 'wms:unplannedreceipt-request-main:export' }), // 导出 |
|
|
|
defaultButtons.defaultFreshBtn(null), // 刷新 |
|
|
|
defaultButtons.defaultFilterBtn(null), // 筛选 |
|
|
|
defaultButtons.defaultSetBtn(null), // 设置 |
|
|
|
defaultButtons.defaultSetBtn(null) // 设置 |
|
|
|
// { |
|
|
|
// label: '自定义扩展按钮', |
|
|
|
// name: 'zdy', |
|
|
@ -384,13 +420,17 @@ const HeadButttondata = [ |
|
|
|
|
|
|
|
// 头部按钮事件 |
|
|
|
const buttonBaseClick = (val, item) => { |
|
|
|
if (val == 'add') { // 新增 |
|
|
|
if (val == 'add') { |
|
|
|
// 新增 |
|
|
|
openForm('create') |
|
|
|
} else if (val == 'import') { // 导入 |
|
|
|
} else if (val == 'import') { |
|
|
|
// 导入 |
|
|
|
handleImport() |
|
|
|
} else if (val == 'export') { // 导出 |
|
|
|
} else if (val == 'export') { |
|
|
|
// 导出 |
|
|
|
handleExport() |
|
|
|
} else if (val == 'refresh') { // 刷新 |
|
|
|
} else if (val == 'refresh') { |
|
|
|
// 刷新 |
|
|
|
if (tableObject.params.filters && tableObject.params.filters.length > 0) { |
|
|
|
searchFormClick({ |
|
|
|
filters: tableObject.params.filters |
|
|
@ -398,8 +438,10 @@ const buttonBaseClick = (val, item) => { |
|
|
|
} else { |
|
|
|
getList() |
|
|
|
} |
|
|
|
} else if (val == 'filtrate') { // 筛选 |
|
|
|
} else { // 其他按钮 |
|
|
|
} else if (val == 'filtrate') { |
|
|
|
// 筛选 |
|
|
|
} else { |
|
|
|
// 其他按钮 |
|
|
|
console.log('其他按钮', item) |
|
|
|
} |
|
|
|
} |
|
|
@ -415,18 +457,41 @@ const isShowMainButton = (row,val) => { |
|
|
|
|
|
|
|
// 列表-操作按钮 |
|
|
|
const butttondata = (row, $index) => { |
|
|
|
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1 |
|
|
|
const findIndex = row['masterId'] |
|
|
|
? tableObject.tableList.findIndex((item) => item['masterId'] == row['masterId']) |
|
|
|
: -1 |
|
|
|
if (findIndex > -1 && findIndex < $index) { |
|
|
|
return [] |
|
|
|
} |
|
|
|
return [ |
|
|
|
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6']),hasPermi:'wms:unplannedreceipt-request-main:close'}), // 关闭 |
|
|
|
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['5']),hasPermi:'wms:unplannedreceipt-request-main:reAdd'}), // 重新添加 |
|
|
|
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:unplannedreceipt-request-main:submit'}), // 提交审批 |
|
|
|
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:unplannedreceipt-request-main:refused'}), // 驳回 |
|
|
|
defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:unplannedreceipt-request-main:agree'}), // 审批通过 |
|
|
|
defaultButtons.mainListHandleBtn({hide:isShowMainButton(row,['3']),hasPermi:'wms:unplannedreceipt-request-main:handle'}), // 处理 |
|
|
|
defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:unplannedreceipt-request-main:update'}), // 编辑 |
|
|
|
defaultButtons.mainListCloseBtn({ |
|
|
|
hide: isShowMainButton(row, ['1', '2', '3', '4', '6']), |
|
|
|
hasPermi: 'wms:unplannedreceipt-request-main:close' |
|
|
|
}), // 关闭 |
|
|
|
defaultButtons.mainListReAddBtn({ |
|
|
|
hide: isShowMainButton(row, ['5']), |
|
|
|
hasPermi: 'wms:unplannedreceipt-request-main:reAdd' |
|
|
|
}), // 重新添加 |
|
|
|
defaultButtons.mainListSubmitBtn({ |
|
|
|
hide: isShowMainButton(row, ['1']), |
|
|
|
hasPermi: 'wms:unplannedreceipt-request-main:submit' |
|
|
|
}), // 提交审批 |
|
|
|
defaultButtons.mainListTurnDownBtn({ |
|
|
|
hide: isShowMainButton(row, ['2']), |
|
|
|
hasPermi: 'wms:unplannedreceipt-request-main:refused' |
|
|
|
}), // 驳回 |
|
|
|
defaultButtons.mainListApproveBtn({ |
|
|
|
hide: isShowMainButton(row, ['2']), |
|
|
|
hasPermi: 'wms:unplannedreceipt-request-main:agree' |
|
|
|
}), // 审批通过 |
|
|
|
defaultButtons.mainListHandleBtn({ |
|
|
|
hide: isShowMainButton(row, ['3']), |
|
|
|
hasPermi: 'wms:unplannedreceipt-request-main:handle' |
|
|
|
}), // 处理 |
|
|
|
defaultButtons.mainListEditBtn({ |
|
|
|
hide: isShowMainButton(row, ['1']), |
|
|
|
hasPermi: 'wms:unplannedreceipt-request-main:update' |
|
|
|
}), // 编辑 |
|
|
|
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:unplannedreceipt-request-main:delete'}), // 删除 |
|
|
|
{ |
|
|
|
label: '创建标签', |
|
|
@ -436,46 +501,59 @@ const butttondata = (row,$index) => { |
|
|
|
icon: '', |
|
|
|
color: '', |
|
|
|
hasPermi: '', |
|
|
|
link: true, // 文本展现按钮 |
|
|
|
link: true // 文本展现按钮 |
|
|
|
}, |
|
|
|
defaultButtons.mainListPointBtn({ hide: isShowMainButton(row, ['1','6','8']) }), // 标签打印 |
|
|
|
defaultButtons.mainListPointBtn({ hide: isShowMainButton(row, ['1', '6', '8']) }) // 标签打印 |
|
|
|
] |
|
|
|
} |
|
|
|
|
|
|
|
// 列表-操作按钮事件 |
|
|
|
|
|
|
|
const enableBuyOrenableMake = ref() //是可制造还是可采购 |
|
|
|
const enableMake = ref('') //可制造 |
|
|
|
const enableBuy = ref('') //可采购 |
|
|
|
const buttonTableClick = async (val, row) => { |
|
|
|
console.log("val",val) |
|
|
|
if (val == 'mainClose') { // 关闭 |
|
|
|
console.log('val', val) |
|
|
|
if (val == 'mainClose') { |
|
|
|
// 关闭 |
|
|
|
console.log('列表-操作按钮事件-关闭') |
|
|
|
handleClose(row.masterId) |
|
|
|
} else if (val == 'mainReAdd') { // 重新添加 |
|
|
|
} else if (val == 'mainReAdd') { |
|
|
|
// 重新添加 |
|
|
|
console.log('列表-操作按钮事件-重新添加') |
|
|
|
handleReAdd(row.masterId) |
|
|
|
} else if (val == 'mainSubmit') { // 提交审批 |
|
|
|
} else if (val == 'mainSubmit') { |
|
|
|
// 提交审批 |
|
|
|
console.log('列表-操作按钮事件-提交审批') |
|
|
|
handleSubmit(row) |
|
|
|
} else if (val == 'mainTurnDown') { // 驳回 |
|
|
|
} else if (val == 'mainTurnDown') { |
|
|
|
// 驳回 |
|
|
|
console.log('列表-操作按钮事件-驳回') |
|
|
|
handleRefused(row.masterId) |
|
|
|
} else if (val == 'mainApprove') { // 审批通过 |
|
|
|
} else if (val == 'mainApprove') { |
|
|
|
// 审批通过 |
|
|
|
console.log('列表-操作按钮事件-审批通过') |
|
|
|
handleAgree(row.masterId) |
|
|
|
} else if (val == 'mainHandle') { // 处理 |
|
|
|
} else if (val == 'mainHandle') { |
|
|
|
// 处理 |
|
|
|
console.log('列表-操作按钮事件-处理') |
|
|
|
handleHandle(row.masterId) |
|
|
|
} else if (val == 'edit') { // 编辑 |
|
|
|
} else if (val == 'edit') { |
|
|
|
// 编辑 |
|
|
|
openForm('update', row) |
|
|
|
} else if (val == 'delete') { // 删除 |
|
|
|
} else if (val == 'delete') { |
|
|
|
// 删除 |
|
|
|
handleDelete(row.masterId) |
|
|
|
} else if (val == 'point') { |
|
|
|
// 标签打印 |
|
|
|
labelPrint(row) |
|
|
|
} else if( val == 'cjbq'){// 创建标签 |
|
|
|
} else if (val == 'cjbq') { |
|
|
|
// 创建标签 |
|
|
|
// 判断 是否已创建标签 |
|
|
|
let isCreateLabel = false |
|
|
|
await PackageApi.getPackagePage({ |
|
|
|
requestNumber: row.number |
|
|
|
}).then(res => { |
|
|
|
}).then((res) => { |
|
|
|
if (res) { |
|
|
|
if (res.list.length > 0) isCreateLabel = true |
|
|
|
} |
|
|
@ -484,7 +562,7 @@ const buttonTableClick = async (val, row) => { |
|
|
|
message.warning('已创建过标签!!!') |
|
|
|
return |
|
|
|
} |
|
|
|
console.log("列表-操作按钮事件-创建标签") |
|
|
|
console.log('列表-操作按钮事件-创建标签') |
|
|
|
detatableData.params = { |
|
|
|
masterId: row.masterId |
|
|
|
} |
|
|
@ -497,55 +575,48 @@ const buttonTableClick = async (val, row) => { |
|
|
|
// 打开创建标签页面 |
|
|
|
// dialogVisible.value = true |
|
|
|
formLabelRef.value.open('create', row) |
|
|
|
|
|
|
|
console.log(detailListTableColumns.tableFormColumns) |
|
|
|
detatableData.tableList.map((item) => { |
|
|
|
// 查询物料类型 原料 只能选择 供应商代码 半成品成品其他 只能选择 生产线 |
|
|
|
ItembasicApi.getItembasicPage({ |
|
|
|
if (item.itemType == '可采购') { |
|
|
|
item.disabled_productionLineCode = true |
|
|
|
item.disabled_supplierCode = false |
|
|
|
// 修改 tableform 属性 |
|
|
|
SupplieritemApi.getSupplieritemPage({ |
|
|
|
pageSize: 10, |
|
|
|
pageNo: 1, |
|
|
|
code: item.itemCode, |
|
|
|
itemCode: item.itemCode, |
|
|
|
sort: '', |
|
|
|
by: 'ASC', |
|
|
|
}).then(res => { |
|
|
|
if (res.list.length > 0) { |
|
|
|
// 判断物料 可采购 可制造 |
|
|
|
if (res.list[0].enableMake == "FALSE") { |
|
|
|
// 修改 tableform 属性 |
|
|
|
detailListTableColumns.tableFormColumns.map(item => { |
|
|
|
if(item.field == 'productionLineCodePackage') { |
|
|
|
item.tableForm.isInpuFocusShow = false |
|
|
|
item.tableForm.disabled = true |
|
|
|
UnplannedreceiptRequestDetailLabelRules.productionLineCodePackage[0].required = false |
|
|
|
} |
|
|
|
if(item.field == 'supplierItemCode') { |
|
|
|
item.tableForm.isInpuFocusShow = true |
|
|
|
item.tableForm.disabled = false |
|
|
|
UnplannedreceiptRequestDetailLabelRules.supplierItemCode[0].required = true |
|
|
|
by: 'ASC' |
|
|
|
}).then((response) => { |
|
|
|
detailListTableColumns.tableFormColumns.map((itemColumns) => { |
|
|
|
if (itemColumns.field == 'supplierCode') { |
|
|
|
item.supplierCode = response?.list[0]?.supplierCode |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
// 修改 tableform 属性 |
|
|
|
detailListTableColumns.tableFormColumns.map(item => { |
|
|
|
if(item.field == 'supplierItemCode') { |
|
|
|
item.tableForm.isInpuFocusShow = false |
|
|
|
item.tableForm.disabled = true |
|
|
|
UnplannedreceiptRequestDetailLabelRules.supplierItemCode[0].required = false |
|
|
|
} |
|
|
|
if(item.field == 'productionLineCodePackage') { |
|
|
|
item.tableForm.isInpuFocusShow = true |
|
|
|
item.tableForm.disabled = false |
|
|
|
UnplannedreceiptRequestDetailLabelRules.productionLineCodePackage[0].required = true |
|
|
|
} |
|
|
|
}) |
|
|
|
} else if (item.itemType == '可制造') { |
|
|
|
item.disabled_supplierCode = true |
|
|
|
item.disabled_productionLineCode = false |
|
|
|
ProductionlineitemApi.getProductionlineitemPage({ |
|
|
|
pageNo: 1, |
|
|
|
itemCode: item.itemCode, |
|
|
|
sort: '', |
|
|
|
by: 'ASC' |
|
|
|
}).then((response) => { |
|
|
|
detailListTableColumns.tableFormColumns.map((itemColumns) => { |
|
|
|
if (itemColumns.field == 'productionLineCode') { |
|
|
|
item.productionLineCode = response?.list[0]?.productionLineCode |
|
|
|
} |
|
|
|
} else { |
|
|
|
message.warning('没有查询到物料代码:【' + item.itemCode + '】') |
|
|
|
return |
|
|
|
} |
|
|
|
}) |
|
|
|
ruleApi.getManagementPrecision({ |
|
|
|
}) |
|
|
|
} |
|
|
|
ruleApi |
|
|
|
.getManagementPrecision({ |
|
|
|
itemCodes: [item['itemCode']], |
|
|
|
locationCode: item['toLocationCode'] |
|
|
|
}).then((res) => { |
|
|
|
}) |
|
|
|
.then((res) => { |
|
|
|
fromManagementPrecision.value = res[0].ManagementPrecision |
|
|
|
if (fromManagementPrecision.value == 'BY_QUANTITY') { |
|
|
|
item.batch = formatDate(new Date(), 'YYYYMMDD') |
|
|
@ -555,7 +626,6 @@ const buttonTableClick = async (val, row) => { |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -593,7 +663,7 @@ const handleSubmit = async (row:any) => { |
|
|
|
let isCreateLabel = false |
|
|
|
await PackageApi.getPackagePage({ |
|
|
|
requestNumber: row.number |
|
|
|
}).then(res => { |
|
|
|
}).then((res) => { |
|
|
|
if (res) { |
|
|
|
if (res.list.length > 0) isCreateLabel = true |
|
|
|
} |
|
|
@ -659,7 +729,7 @@ const handleHandle = async (id: number) => { |
|
|
|
const formRef = ref() |
|
|
|
const openForm = async (type: string, row?: number) => { |
|
|
|
UnplannedreceiptRequestMain.allSchemas.formSchema.forEach((item) => { |
|
|
|
if(type == "update"){ |
|
|
|
if (type == 'update') { |
|
|
|
if (item.field == 'costCenterCode') { |
|
|
|
//成本中心代码 |
|
|
|
item.componentProps.isSearchList = false |
|
|
@ -675,8 +745,6 @@ const openForm =async (type: string, row?: number) => { |
|
|
|
item.componentProps.isSearchList = false |
|
|
|
item.componentProps.disabled = true |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
if (item.field == 'costCenterCode') { |
|
|
|
//成本中心代码 |
|
|
@ -705,7 +773,9 @@ const { wsCache } = useCache() |
|
|
|
/** 详情操作 */ |
|
|
|
const detailRef = ref() |
|
|
|
const openDetail = (row: any, titleName: any, titleValue: any) => { |
|
|
|
const departmentCode = wsCache.get(CACHE_KEY.DEPT).find((account) => account.id == row.departmentCode)?.name |
|
|
|
const departmentCode = wsCache |
|
|
|
.get(CACHE_KEY.DEPT) |
|
|
|
.find((account) => account.id == row.departmentCode)?.name |
|
|
|
if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode)) |
|
|
|
detailRef.value.openDetail(row, titleName, titleValue, 'requestUnplannedreceiptMain') |
|
|
|
} |
|
|
@ -734,7 +804,9 @@ const handleExport = async () => { |
|
|
|
loadStart() |
|
|
|
const excelTitle = ref(route.meta.title) |
|
|
|
tableObject.params.detailDataType = 1 |
|
|
|
const data = await UnplannedreceiptRequestMainApi.exportUnplannedreceiptRequestMain(tableObject.params) |
|
|
|
const data = await UnplannedreceiptRequestMainApi.exportUnplannedreceiptRequestMain( |
|
|
|
tableObject.params |
|
|
|
) |
|
|
|
download.excel(data, `【${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) |
|
|
|
} catch { |
|
|
|
} finally { |
|
|
@ -746,7 +818,7 @@ const handleExport = async () => { |
|
|
|
* tableForm方法 |
|
|
|
*/ |
|
|
|
const tableFormKeys = {} |
|
|
|
UnplannedreceiptRequestDetail.allSchemas.tableFormColumns.forEach(item => { |
|
|
|
UnplannedreceiptRequestDetail.allSchemas.tableFormColumns.forEach((item) => { |
|
|
|
tableFormKeys[item.field] = item.default ? item.default : '' |
|
|
|
}) |
|
|
|
const tableData = ref([]) |
|
|
@ -768,32 +840,33 @@ const handleDeleteTable = (item, index) => { |
|
|
|
} |
|
|
|
} |
|
|
|
const tableSelectionDelete = (selection) => { |
|
|
|
tableData.value = tableData.value.filter(item => !selection.includes(item)) |
|
|
|
tableData.value = tableData.value.filter((item) => !selection.includes(item)) |
|
|
|
} |
|
|
|
// 主子数据 提交 |
|
|
|
const submitForm = async (formType, submitData) => { |
|
|
|
|
|
|
|
let data = { ...submitData } |
|
|
|
if (data.masterId) { |
|
|
|
data.id = data.masterId |
|
|
|
} |
|
|
|
data.subList = tableData.value // 拼接子表数据参数 |
|
|
|
data.subList.forEach(row=>{ |
|
|
|
row['expireDate'] = row['validityDays']?addDay(row['produceDate'],row['validityDays']).valueOf():'' |
|
|
|
data.subList.forEach((row) => { |
|
|
|
row['expireDate'] = row['validityDays'] |
|
|
|
? addDay(row['produceDate'], row['validityDays']).valueOf() |
|
|
|
: '' |
|
|
|
}) |
|
|
|
try { |
|
|
|
if (formType === 'create') { |
|
|
|
console.log("【计划外入库子列表】",data.subList) |
|
|
|
console.log('【计划外入库子列表】', data.subList) |
|
|
|
if (data.subList.length == 0) { |
|
|
|
message.warning("请添加子列表数据") |
|
|
|
return; |
|
|
|
message.warning('请添加子列表数据') |
|
|
|
return |
|
|
|
} |
|
|
|
let flag = false; |
|
|
|
let flag = false |
|
|
|
data.subList.forEach((item) => { |
|
|
|
if (item.qty == 0) { |
|
|
|
message.warning("数量不能为0") |
|
|
|
flag = true; |
|
|
|
return; |
|
|
|
message.warning('数量不能为0') |
|
|
|
flag = true |
|
|
|
return |
|
|
|
} |
|
|
|
}) |
|
|
|
if (flag) { |
|
|
@ -823,14 +896,14 @@ const submitForm = async (formType, submitData) => { |
|
|
|
|
|
|
|
// 子表新增/编辑校验 |
|
|
|
const detailValidate = (data) => { |
|
|
|
let tag = false; |
|
|
|
let tag = false |
|
|
|
if (data.qty <= 0) { |
|
|
|
message.warning('数量必须大于0') |
|
|
|
tag = false; |
|
|
|
return tag; |
|
|
|
tag = false |
|
|
|
return tag |
|
|
|
} else { |
|
|
|
tag = true; |
|
|
|
return tag; |
|
|
|
tag = true |
|
|
|
return tag |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -865,10 +938,12 @@ const searchFormClick = (searchData) => { |
|
|
|
const submitFormLabel = async (formType, data) => { |
|
|
|
try { |
|
|
|
detatableData.tableList.forEach(async (item) => { |
|
|
|
await PackageApi.createPackageLabel(item).then(res => { |
|
|
|
await PackageApi.createPackageLabel(item) |
|
|
|
.then((res) => { |
|
|
|
isCreateLabel.value = true |
|
|
|
message.success('创建标签成功') |
|
|
|
}).catch(err => { |
|
|
|
}) |
|
|
|
.catch((err) => { |
|
|
|
isCreateLabel.value = false |
|
|
|
console.log(err) |
|
|
|
message.error('创建标签失败') |
|
|
@ -886,7 +961,6 @@ const inputNumberChange = (field, index, row, val) => { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
let validityDays = 0 |
|
|
|
const detailOpenForm = (type, row) => { |
|
|
|
console.log('detailOpenForm', row) |
|
|
@ -896,30 +970,40 @@ const detailOpenForm = (type, row)=>{ |
|
|
|
code: row.itemCode |
|
|
|
}).then((res) => { |
|
|
|
res.list.forEach((item, index) => { |
|
|
|
const findItem = tableData.value.find(item1=>item1['itemCode']==row['code']) |
|
|
|
const findItem = tableData.value.find((item1) => item1['itemCode'] == row['code']) |
|
|
|
if (findItem) { |
|
|
|
validityDays = findItem['expireTime'] |
|
|
|
} |
|
|
|
}) |
|
|
|
detailRef.value.formRef.formRef.formModel.expireDate = addDay(detailRef.value.formRef.formRef.formModel.produceDate,validityDays).valueOf() |
|
|
|
detailRef.value.formRef.formRef.formModel.expireDate = addDay( |
|
|
|
detailRef.value.formRef.formRef.formModel.produceDate, |
|
|
|
validityDays |
|
|
|
).valueOf() |
|
|
|
}) |
|
|
|
} else { |
|
|
|
validityDays = 0 |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
const qtyOnChange = (field, val) => { |
|
|
|
console.log('qtyOnChange', field, val) |
|
|
|
console.log(detailRef.value.formRef.formRef.formModel) |
|
|
|
if (field == 'produceDate') { |
|
|
|
if (detailRef.value.formRef.formRef.formModel.validityDays) { |
|
|
|
detailRef.value.formRef.formRef.formModel.expireDate = addDay(detailRef.value.formRef.formRef.formModel.produceDate,detailRef.value.formRef.formRef.formModel.validityDays).valueOf() |
|
|
|
detailRef.value.formRef.formRef.formModel.expireDate = addDay( |
|
|
|
detailRef.value.formRef.formRef.formModel.produceDate, |
|
|
|
detailRef.value.formRef.formRef.formModel.validityDays |
|
|
|
).valueOf() |
|
|
|
} else { |
|
|
|
detailRef.value.formRef.formRef.formModel.expireDate = addDay(detailRef.value.formRef.formRef.formModel.produceDate,validityDays).valueOf() |
|
|
|
detailRef.value.formRef.formRef.formModel.expireDate = addDay( |
|
|
|
detailRef.value.formRef.formRef.formModel.produceDate, |
|
|
|
validityDays |
|
|
|
).valueOf() |
|
|
|
} |
|
|
|
} |
|
|
|
if (field == 'qty' || field == 'singlePrice') { |
|
|
|
detailRef.value.formRef.formRef.formModel.amount = detailRef.value.formRef.formRef.formModel.qty * detailRef.value.formRef.formRef.formModel.singlePrice |
|
|
|
detailRef.value.formRef.formRef.formModel.amount = |
|
|
|
detailRef.value.formRef.formRef.formModel.qty * |
|
|
|
detailRef.value.formRef.formRef.formModel.singlePrice |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -937,20 +1021,61 @@ const tableFormSelectOnBlur = (field, val, row, index) => { |
|
|
|
|
|
|
|
// 标签打印 |
|
|
|
const BASE_URL = getJmreportBaseUrl() |
|
|
|
const src = ref(BASE_URL + '/jmreport/view/936912164754612224?token=' + getAccessToken()) |
|
|
|
const src = ref(BASE_URL + '/jmreport/view/922734157577715712?token=' + getAccessToken()) |
|
|
|
const labelPrint = async (row) => { |
|
|
|
// 查询是否已创建过标签 |
|
|
|
await PackageApi.getPackagePage({ |
|
|
|
requestNumber: row.number |
|
|
|
}) |
|
|
|
.then((res) => { |
|
|
|
if (res.list.length > 0) { |
|
|
|
isCreateLabel.value = true |
|
|
|
} else { |
|
|
|
isCreateLabel.value = false |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch((err) => { |
|
|
|
isCreateLabel.value = false |
|
|
|
console.log(err) |
|
|
|
}) |
|
|
|
// 判断是采购还是制造 |
|
|
|
if (isCreateLabel.value) { |
|
|
|
// labelPrint(row) |
|
|
|
await UnplannedreceiptRequestDetailApi.getDetailList(row.masterId).then((res) => { |
|
|
|
if (res.length > 0) { |
|
|
|
const itemType = res.some(item=>item.itemType == '可采购') |
|
|
|
const itemType1 = res.some(item => item.itemType == '可制造') |
|
|
|
const itemType = res.some((item) => item.itemType == '可采购') |
|
|
|
const itemType1 = res.some((item) => item.itemType == '可制造') |
|
|
|
if (itemType) { |
|
|
|
window.open(BASE_URL + '/jmreport/view/1016234988731322368?token=' + getAccessToken()+'&request_number=' + row.number) |
|
|
|
window.open( |
|
|
|
BASE_URL + |
|
|
|
'/jmreport/view/1016234988731322368?token=' + |
|
|
|
getAccessToken() + |
|
|
|
'&request_number=' + |
|
|
|
row.number |
|
|
|
) |
|
|
|
} |
|
|
|
if (itemType1) { |
|
|
|
window.open(src.value + '&request_number=' + row.number) |
|
|
|
// window.open(src.value + '&request_number=' + row.number) |
|
|
|
PackageApi.batchPrintingLableForYT(row.number) |
|
|
|
.then((res) => { |
|
|
|
console.log(res) |
|
|
|
const src = ref( |
|
|
|
BASE_URL + '/jmreport/view/922734157577715712?token=' + getAccessToken() |
|
|
|
) |
|
|
|
window.open(src.value + '&asn_number=' + res) |
|
|
|
}) |
|
|
|
.catch((err) => { |
|
|
|
console.log(err) |
|
|
|
message.error('创建标签失败') |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
message.warning('请先创建标签') |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// window.open(src.value + '&request_number=' + row.number) |
|
|
|
} |
|
|
|
|
|
|
|