Browse Source

HL-5465预生产和装配报工申请中修改物料选择方法

hella_online_20240821
zhang_li 3 months ago
parent
commit
cae2a034c1
  1. 357
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue
  2. 19
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts
  3. 57
      src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/index.vue
  4. 24
      src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts

357
src/views/wms/productionManage/productreceipt/productreceiptRequestMain/index.vue

@ -1,7 +1,14 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="[...ProductreceiptRequestMain.allSchemas.searchSchema,...ProductreceiptRequestDetail.allSchemas.searchSchema]" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="[
...ProductreceiptRequestMain.allSchemas.searchSchema,
...ProductreceiptRequestDetail.allSchemas.searchSchema
]"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
@ -17,7 +24,8 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -34,7 +42,10 @@
</el-button> </el-button>
</template> </template>
<template #action="{ row, $index }"> <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> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -43,7 +54,7 @@
<BasicForm <BasicForm
ref="formRef" ref="formRef"
:isOpenSearchTable="true" :isOpenSearchTable="true"
fieldTableColumn="workStationCode" fieldTableColumn="itemCode"
@success="getList" @success="getList"
:rules="ProductreceiptRequestMainRules" :rules="ProductreceiptRequestMainRules"
:formAllSchemas="ProductreceiptRequestMain.allSchemas" :formAllSchemas="ProductreceiptRequestMain.allSchemas"
@ -61,11 +72,17 @@
@submitForm="submitForm" @submitForm="submitForm"
> >
<template v-slot="{ row }"> <template v-slot="{ row }">
<el-date-picker v-bind:modelValue="row['expireTime']?addDay(row['produceDate'],row['expireTime']):dayjs('2099-12-31').valueOf()" <el-date-picker
v-bind:modelValue="
row['expireTime']
? addDay(row['produceDate'], row['expireTime'])
: dayjs('2099-12-31').valueOf()
"
:clearable="true" :clearable="true"
style="width: 100%" style="width: 100%"
:disabled="true" :disabled="true"
:placeholder="t('ts.选择日期')"/> :placeholder="t('ts.选择日期')"
/>
</template> </template>
</BasicForm> </BasicForm>
@ -123,21 +140,37 @@
</Dialog> </Dialog>
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/wms/productreceipt-request-main/import" :importTemplateData="importTemplateData" <ImportForm
@success="importSuccess" :updateIsDisable="true" :coverIsDisable="true" :mode="2" :extend="'predict'"/> ref="importFormRef"
url="/wms/productreceipt-request-main/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
:updateIsDisable="true"
:coverIsDisable="true"
:mode="2"
:extend="'predict'"
/>
<!-- 标签打印 --> <!-- 标签打印 -->
<SearchTable style="width:905px" ref="searchTableRef" @searchTableSuccess="searchTableSuccessLabel" /> <SearchTable
style="width: 905px"
ref="searchTableRef"
@searchTableSuccess="searchTableSuccessLabel"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { CACHE_KEY, useCache } from '@/hooks/web/useCache' import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
import { ProductreceiptRequestMain,ProductreceiptRequestMainRules,ProductreceiptRequestDetail,
ProductreceiptRequestDetailRules, BackflushDetailRequest,
ProductreceiptRequestLabel,ProductreceiptRequestLabelRules } from './productreceiptRequestMain.data'
import { import {
SupplierdeliverRequestPackage ProductreceiptRequestMain,
} from '../../../purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts' ProductreceiptRequestMainRules,
ProductreceiptRequestDetail,
ProductreceiptRequestDetailRules,
BackflushDetailRequest,
ProductreceiptRequestLabel,
ProductreceiptRequestLabelRules
} from './productreceiptRequestMain.data'
import { SupplierdeliverRequestPackage } from '../../../purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts'
// } from '../../../supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data' // } from '../../../supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data'
import * as ProductreceiptRequestMainApi from '@/api/wms/productreceiptRequestMain' import * as ProductreceiptRequestMainApi from '@/api/wms/productreceiptRequestMain'
import * as ProductreceiptRequestDetailApi from '@/api/wms/productreceiptRequestDetail' import * as ProductreceiptRequestDetailApi from '@/api/wms/productreceiptRequestDetail'
@ -149,7 +182,7 @@ import { formatTime } from '@/utils/index'
import { getAccessToken } from '@/utils/auth' import { getAccessToken } from '@/utils/auth'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { getJmreportBaseUrl } from '@/utils/systemParam' import { getJmreportBaseUrl } from '@/utils/systemParam'
import * as BomApi from "@/api/wms/bom"; import * as BomApi from '@/api/wms/bom'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import * as WorkshopApi from '@/api/wms/workshop' import * as WorkshopApi from '@/api/wms/workshop'
@ -163,9 +196,13 @@ const { t } = useI18n() // 国际化
const route = useRoute() // const route = useRoute() //
const routeName = ref() const routeName = ref()
routeName.value = route.name routeName.value = route.name
const tableColumns = ref([...ProductreceiptRequestMain.allSchemas.tableColumns,...ProductreceiptRequestDetail.allSchemas.tableMainColumns]) const tableColumns = ref([
...ProductreceiptRequestMain.allSchemas.tableColumns,
...ProductreceiptRequestDetail.allSchemas.tableMainColumns
])
// table // table
const buttondataTable = ref([{ const buttondataTable = ref([
{
label: 'Bom', label: 'Bom',
name: 'bom', name: 'bom',
hide: false, hide: false,
@ -173,8 +210,9 @@ const buttondataTable = ref([{
icon: '', icon: '',
color: '', color: '',
hasPermi: '', hasPermi: '',
link: true, // link: true //
}]) }
])
// //
const detailListTableColumns = ProductreceiptRequestLabel.allSchemas const detailListTableColumns = ProductreceiptRequestLabel.allSchemas
@ -194,12 +232,10 @@ const { tableObject: detatableDataBom, tableMethods: detatableMethodsBom } =useT
}) })
const { getList: getDetailListBom } = detatableMethodsBom const { getList: getDetailListBom } = detatableMethodsBom
// //
const updataTableColumns = (val) => { const updataTableColumns = (val) => {
tableColumns.value = val tableColumns.value = val
} }
// //
const searchTableSuccess = (formField, searchField, val, formRef, type, row) => { const searchTableSuccess = (formField, searchField, val, formRef, type, row) => {
nextTick(() => { nextTick(() => {
@ -217,52 +253,53 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
message.warning(`物料${val[0]['itemCode']}已经存在`) message.warning(`物料${val[0]['itemCode']}已经存在`)
return return
} }
row['uom'] = val[0]['uom'] const index1 = 0
row['produceDate'] = dayjs().valueOf() setTableFormsValues(val, index1)
row[formField] = val[0][searchField]
// BOM
const param1 = {
productItemCode: val[0]['itemCode'],
available: 'TRUE',
pageSize: 20,
pageNo: 1,
sort: '',
by: 'ASC',
}
BomApi.getBomPage(param1).then(res => {
console.log(res)
if(res?.list?.length>0){
row['bomVersion'] = res.list[0].version
}
})
}else if (formField == 'workStationCode') {
//
val.forEach(item=>{
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow[formField] = item[searchField]
newRow.batch = formatTime(new Date(), 'yyyyMMdd')
tableData.value.push(newRow)
})
} else { } else {
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
} }
} else { } else {
const setV = {} const setV = {}
setV[formField] = val[0][searchField] setV[formField] = val[0][searchField]
if ('workshopCode' == formField) { if ('workshopCode' == formField) {
 // //
setV['productionLineCode'] = '' setV['productionLineCode'] = ''
tableData.value = [] tableData.value = []
} else if ('productionLineCode' == formField) { } else if ('productionLineCode' == formField) {
 //线 //线
tableData.value = [] tableData.value = []
} }
formRef.setValues(setV) formRef.setValues(setV)
} }
}) })
} }
const setTableFormsValues = async (val, index1) => {
if (index1 <= val.length - 1) {
const newRow = JSON.parse(JSON.stringify({ ...tableFormKeys, ...val[index1] }))
newRow['itemCode'] = val[index1]['itemCode']
newRow['uom'] = val[0]['uom']
newRow['produceDate'] = dayjs().valueOf()
const param1 = {
productItemCode: val[0]['itemCode'],
available: 'TRUE',
pageSize: 20,
pageNo: 1,
sort: '',
by: 'ASC'
}
await BomApi.getBomPage(param1).then((res) => {
console.log(res)
if (res?.list?.length > 0) {
newRow['bomVersion'] = res.list[0].version
}
})
tableData.value.push(newRow)
console.log(tableData.value)
index1++
setTableFormsValues(val, index1)
}
}
// //
const searchTableSuccessDetail = (formField, searchField, val, formRef) => { const searchTableSuccessDetail = (formField, searchField, val, formRef) => {
nextTick(() => { nextTick(() => {
@ -286,7 +323,7 @@ const HeadButttondata = [
defaultButtons.defaultExportBtn({ hasPermi: 'wms:productreceipt-request-main:export' }), // defaultButtons.defaultExportBtn({ hasPermi: 'wms:productreceipt-request-main:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
// { // {
// label: '', // label: '',
// name: 'zdy', // name: 'zdy',
@ -299,13 +336,17 @@ const HeadButttondata = [
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
//
if (tableObject.params.filters && tableObject.params.filters.length > 0) { if (tableObject.params.filters && tableObject.params.filters.length > 0) {
searchFormClick({ searchFormClick({
filters: tableObject.params.filters filters: tableObject.params.filters
@ -313,8 +354,10 @@ const buttonBaseClick = (val, item) => {
} else { } else {
getList() getList()
} }
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
@ -330,18 +373,41 @@ const isShowMainButton = (row,val) => {
// - // -
const butttondata = (row, $index) => { 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) { if (findIndex > -1 && findIndex < $index) {
return [] return []
} }
return [ return [
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6']), hasPermi:'wms:productreceipt-request-main:close'}), // defaultButtons.mainListCloseBtn({
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']), hasPermi:'wms:productreceipt-request-main:reAdd'}), // hide: isShowMainButton(row, ['1', '2', '3', '4', '6']),
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']), hasPermi:'wms:productreceipt-request-main:submit'}), // hasPermi: 'wms:productreceipt-request-main:close'
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']), hasPermi:'wms:productreceipt-request-main:refused'}), // }), //
defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2']), hasPermi:'wms:productreceipt-request-main:agree'}), // defaultButtons.mainListReAddBtn({
defaultButtons.mainListHandleBtn({hide:isShowMainButton(row,['3']), hasPermi:'wms:productreceipt-request-main:handle'}), // hide: isShowMainButton(row, ['4', '5']),
defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']), hasPermi:'wms:productreceipt-request-main:update'}), // hasPermi: 'wms:productreceipt-request-main:reAdd'
}), //
defaultButtons.mainListSubmitBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:productreceipt-request-main:submit'
}), //
defaultButtons.mainListTurnDownBtn({
hide: isShowMainButton(row, ['2']),
hasPermi: 'wms:productreceipt-request-main:refused'
}), //
defaultButtons.mainListApproveBtn({
hide: isShowMainButton(row, ['2']),
hasPermi: 'wms:productreceipt-request-main:agree'
}), //
defaultButtons.mainListHandleBtn({
hide: isShowMainButton(row, ['3']),
hasPermi: 'wms:productreceipt-request-main:handle'
}), //
defaultButtons.mainListEditBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:productreceipt-request-main:update'
}), //
{ {
label: '创建标签', label: '创建标签',
name: 'cjbq', name: 'cjbq',
@ -350,79 +416,93 @@ const butttondata = (row,$index) => {
icon: '', icon: '',
color: '', color: '',
hasPermi: '', hasPermi: '',
link: true, // link: true //
}, },
defaultButtons.mainListPointBtn({hide:isShowMainButton(row,['3','6','8'])}), // defaultButtons.mainListPointBtn({ hide: isShowMainButton(row, ['3', '6', '8']) }) //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:productreceipt-request-main:delete'}), // // defaultButtons.mainListDeleteBtn({hasPermi:'wms:productreceipt-request-main:delete'}), //
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'mainClose') { // if (val == 'mainClose') {
//
await message.confirm('确认要关闭吗?') await message.confirm('确认要关闭吗?')
tableObject.loading = true tableObject.loading = true
ProductreceiptRequestMainApi.close(row.masterId).then(() => { ProductreceiptRequestMainApi.close(row.masterId)
.then(() => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh', null) buttonBaseClick('refresh', null)
}).catch(err => { })
.catch((err) => {
tableObject.loading = false tableObject.loading = false
console.log(err) console.log(err)
}) })
} else if (val == 'mainReAdd') { // } else if (val == 'mainReAdd') {
//
await message.confirm('确认要重新添加吗?') await message.confirm('确认要重新添加吗?')
tableObject.loading = true tableObject.loading = true
ProductreceiptRequestMainApi.reAdd(row.masterId).then(() => { ProductreceiptRequestMainApi.reAdd(row.masterId)
.then(() => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh', null) buttonBaseClick('refresh', null)
}).catch(err => { })
.catch((err) => {
tableObject.loading = false tableObject.loading = false
console.log(err) console.log(err)
}) })
} else if (val == 'mainSubmit') { // } else if (val == 'mainSubmit') {
//
await message.confirm('确认要提交审批吗?') await message.confirm('确认要提交审批吗?')
tableObject.loading = true tableObject.loading = true
ProductreceiptRequestMainApi.submit(row.masterId).then(() => { ProductreceiptRequestMainApi.submit(row.masterId)
.then(() => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh', null) buttonBaseClick('refresh', null)
}).catch(err => { })
.catch((err) => {
tableObject.loading = false tableObject.loading = false
console.log(err) console.log(err)
}) })
} else if (val == 'mainTurnDown') { // } else if (val == 'mainTurnDown') {
//
await message.confirm('确认要驳回吗?') await message.confirm('确认要驳回吗?')
tableObject.loading = true tableObject.loading = true
ProductreceiptRequestMainApi.refused(row.masterId).then(() => { ProductreceiptRequestMainApi.refused(row.masterId)
.then(() => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh', null) buttonBaseClick('refresh', null)
}).catch(err => { })
.catch((err) => {
tableObject.loading = false tableObject.loading = false
console.log(err) console.log(err)
}) })
} else if (val == 'mainApprove') { // } else if (val == 'mainApprove') {
//
await message.confirm('确认要审批通过吗?') await message.confirm('确认要审批通过吗?')
tableObject.loading = true tableObject.loading = true
ProductreceiptRequestMainApi.agree(row.masterId).then(() => { ProductreceiptRequestMainApi.agree(row.masterId)
.then(() => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh', null) buttonBaseClick('refresh', null)
}).catch(err => { })
.catch((err) => {
tableObject.loading = false tableObject.loading = false
console.log(err) console.log(err)
}) })
} else if (val == 'cjbq') { // } else if (val == 'cjbq') {
//
// //
let isCreateLabel = false let isCreateLabel = false
await PackageApi.getPackagePage({ await PackageApi.getPackagePage({
requestNumber: row.number requestNumber: row.number
}).then(res => { }).then((res) => {
if (res) { if (res) {
if (res.list.length > 0) isCreateLabel = true if (res.list.length > 0) isCreateLabel = true
} }
@ -445,13 +525,13 @@ const buttonTableClick = async (val, row) => {
pageNo: 1, pageNo: 1,
code: item.itemCode, code: item.itemCode,
sort: '', sort: '',
by: 'ASC', by: 'ASC'
}).then(res => { }).then((res) => {
if (res.list.length > 0) { if (res.list.length > 0) {
// //
if (res.list[0].enableMake == "FALSE") { if (res.list[0].enableMake == 'FALSE') {
// tableform // tableform
detailListTableColumns.tableFormColumns.map(itemColumns => { detailListTableColumns.tableFormColumns.map((itemColumns) => {
if (itemColumns.field == 'productionLineCodePackage') { if (itemColumns.field == 'productionLineCodePackage') {
// itemColumns.tableForm.isInpuFocusShow = false // itemColumns.tableForm.isInpuFocusShow = false
// itemColumns.tableForm.disabled = true // itemColumns.tableForm.disabled = true
@ -465,7 +545,7 @@ const buttonTableClick = async (val, row) => {
}) })
} else { } else {
// tableform // tableform
detailListTableColumns.tableFormColumns.map(itemColumns => { detailListTableColumns.tableFormColumns.map((itemColumns) => {
if (itemColumns.field == 'supplierItemCode') { if (itemColumns.field == 'supplierItemCode') {
itemColumns.tableForm.isInpuFocusShow = false itemColumns.tableForm.isInpuFocusShow = false
itemColumns.tableForm.disabled = true itemColumns.tableForm.disabled = true
@ -485,13 +565,13 @@ const buttonTableClick = async (val, row) => {
} }
}) })
}) })
} else if (val == 'mainHandle') {
} else if (val == 'mainHandle') { // //
// //
let isCreateLabel = false let isCreateLabel = false
await PackageApi.getPackagePage({ await PackageApi.getPackagePage({
requestNumber: row.number requestNumber: row.number
}).then(res => { }).then((res) => {
if (res) { if (res) {
if (res.list.length > 0) isCreateLabel = true if (res.list.length > 0) isCreateLabel = true
} }
@ -501,18 +581,23 @@ const buttonTableClick = async (val, row) => {
return return
} }
tableObject.loading = true tableObject.loading = true
ProductreceiptRequestMainApi.handle(row.masterId).then(() => { ProductreceiptRequestMainApi.handle(row.masterId)
.then(() => {
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh', null) buttonBaseClick('refresh', null)
}).catch(err => { })
.catch((err) => {
console.log(err) console.log(err)
}) })
} else if (val == 'edit') { // } else if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.masterId) handleDelete(row.masterId)
} else if (val == 'point') { // } else if (val == 'point') {
//
handlePoint(row) handlePoint(row)
} }
} }
@ -524,7 +609,7 @@ const openForm =async (type: string, row?: number) => {
// //
if (type == 'update') { if (type == 'update') {
// tableform // tableform
ProductreceiptRequestMain.allSchemas.formSchema.map(itemColumns => { ProductreceiptRequestMain.allSchemas.formSchema.map((itemColumns) => {
if (itemColumns.field == 'workshopCode') { if (itemColumns.field == 'workshopCode') {
itemColumns.componentProps.isSearchList = false itemColumns.componentProps.isSearchList = false
itemColumns.componentProps.disabled = true itemColumns.componentProps.disabled = true
@ -532,7 +617,7 @@ const openForm =async (type: string, row?: number) => {
}) })
} else { } else {
// tableform // tableform
ProductreceiptRequestMain.allSchemas.formSchema.map(itemColumns => { ProductreceiptRequestMain.allSchemas.formSchema.map((itemColumns) => {
if (itemColumns.field == 'workshopCode') { if (itemColumns.field == 'workshopCode') {
itemColumns.componentProps.isSearchList = true itemColumns.componentProps.isSearchList = true
itemColumns.componentProps.disabled = false itemColumns.componentProps.disabled = false
@ -547,7 +632,9 @@ const { wsCache } = useCache()
/** 详情操作 */ /** 详情操作 */
const detailRef = ref() const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => { 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)) if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode))
detailRef.value.openDetail(row, titleName, titleValue, 'requestProductreceiptMain') detailRef.value.openDetail(row, titleName, titleValue, 'requestProductreceiptMain')
} }
@ -564,7 +651,8 @@ const handleDelete = async (id: number) => {
tableObject.loading = false tableObject.loading = false
// //
buttonBaseClick('refresh', null) buttonBaseClick('refresh', null)
} catch {}finally{ } catch {
} finally {
tableObject.loading = false tableObject.loading = false
} }
} }
@ -578,7 +666,9 @@ const handleExport = async () => {
// //
exportLoading.value = true exportLoading.value = true
const excelTitle = ref(route.meta.title) const excelTitle = ref(route.meta.title)
const data = await ProductreceiptRequestMainApi.exportProductreceiptRequestMain(tableObject.params) const data = await ProductreceiptRequestMainApi.exportProductreceiptRequestMain(
tableObject.params
)
download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch { } catch {
} finally { } finally {
@ -590,7 +680,7 @@ const handleExport = async () => {
* tableForm方法 * tableForm方法
*/ */
const tableFormKeys = {} const tableFormKeys = {}
ProductreceiptRequestDetail.allSchemas.tableFormColumns.forEach(item => { ProductreceiptRequestDetail.allSchemas.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : '' tableFormKeys[item.field] = item.default ? item.default : ''
}) })
const tableData = ref([]) const tableData = ref([])
@ -609,7 +699,7 @@ const handleDeleteTable = (item, index) => {
} }
} }
const tableSelectionDelete = (selection) => { 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) => { const submitForm = async (formType, submitData) => {
@ -618,11 +708,13 @@ const submitForm = async (formType, submitData) => {
data.id = data.masterId data.id = data.masterId
} }
tableData.value.forEach((row, index) => { tableData.value.forEach((row, index) => {
row['expireDate'] = row['expireTime']?addDay(row['produceDate'],row['expireTime']).valueOf():dayjs('2099-12-31').valueOf() row['expireDate'] = row['expireTime']
? addDay(row['produceDate'], row['expireTime']).valueOf()
: dayjs('2099-12-31').valueOf()
}) })
data.type = 'predict' data.type = 'predict'
data.subList = tableData.value // data.subList = tableData.value //
if(data.subList.find(item => (item.qty <= 0))) { if (data.subList.find((item) => item.qty <= 0)) {
message.warning('数量必须大于0') message.warning('数量必须大于0')
formRef.value.formLoading = false formRef.value.formLoading = false
return return
@ -681,14 +773,16 @@ const submitFormLabel = async (formType, submitData) => {
data.id = data.masterId data.id = data.masterId
} }
try { try {
console.log("aaaaa",data); console.log('aaaaa', data)
data.subList = detatableData.tableList data.subList = detatableData.tableList
console.log("bbbbb",data); console.log('bbbbb', data)
// //
await ProductreceiptRequestMainApi.productCreateLabel(data).then(res => { await ProductreceiptRequestMainApi.productCreateLabel(data)
.then((res) => {
isCreateLabel.value = true isCreateLabel.value = true
message.success('创建标签成功') message.success('创建标签成功')
}).catch(err => { })
.catch((err) => {
isCreateLabel.value = false isCreateLabel.value = false
console.log(err) console.log(err)
message.error('创建标签失败') message.error('创建标签失败')
@ -701,7 +795,8 @@ const submitFormLabel = async (formType, submitData) => {
// Bom // Bom
const tableFormButton = async (val, row) => { const tableFormButton = async (val, row) => {
if (val == 'bom') { // bom if (val == 'bom') {
// bom
bomModelVisible.value = true bomModelVisible.value = true
DialogTitle.value = '物料代码【' + row.itemCode + '】——Bom信息' DialogTitle.value = '物料代码【' + row.itemCode + '】——Bom信息'
detatableDataBom.params = { detatableDataBom.params = {
@ -713,14 +808,14 @@ const tableFormButton = async (val , row) => {
// / // /
const detailValidate = (data) => { const detailValidate = (data) => {
let tag = false; let tag = false
if (data.qty <= 0) { if (data.qty <= 0) {
message.warning('数量必须大于0') message.warning('数量必须大于0')
tag = false; tag = false
return tag; return tag
} else { } else {
tag = true; tag = true
return tag; return tag
} }
} }
@ -730,7 +825,8 @@ const handlePoint = async (row) => {
// //
await PackageApi.getPackagePage({ await PackageApi.getPackagePage({
requestNumber: row.number requestNumber: row.number
}).then((res) => { })
.then((res) => {
if (res.list.length > 0) { if (res.list.length > 0) {
isCreateLabel.value = true isCreateLabel.value = true
if (res.list[0].productionLineCode != null) { if (res.list[0].productionLineCode != null) {
@ -741,7 +837,8 @@ const handlePoint = async (row) => {
} else { } else {
isCreateLabel.value = false isCreateLabel.value = false
} }
}).catch(err => { })
.catch((err) => {
isCreateLabel.value = false isCreateLabel.value = false
console.log(err) console.log(err)
}) })
@ -765,7 +862,7 @@ const searchTableRef = ref()
// //
const labelPrint = async (row) => { const labelPrint = async (row) => {
tableObject.loading = true tableObject.loading = true
const defaultParams = {'moduleName':'productreceipt_predict','recordNumber':row.number} const defaultParams = { moduleName: 'productreceipt_predict', recordNumber: row.number }
const { tableObject: tableObjectPrint, tableMethods } = useTable({ const { tableObject: tableObjectPrint, tableMethods } = useTable({
defaultParams, defaultParams,
getListApi: PackageApi.getLabelDetailPage // getListApi: PackageApi.getLabelDetailPage //
@ -779,7 +876,7 @@ const labelPrint = async (row) => {
tableColumns.forEach((item) => { tableColumns.forEach((item) => {
item.width = item.table?.width || 150 item.width = item.table?.width || 150
}) })
searchTableRef.value.openData("标签信息",tableObjectPrint,{tableColumns},true) searchTableRef.value.openData('标签信息', tableObjectPrint, { tableColumns }, true)
} }
// -- // --
@ -790,12 +887,13 @@ const searchTableSuccessLabel = async (formField, searchField, val, formRef, typ
// rows = [...rows,...item.selectionRows.map(item1=>item1.number)] // rows = [...rows,...item.selectionRows.map(item1=>item1.number)]
// }) // })
if (val.length == 0) { if (val.length == 0) {
message.warning("请先选择要打印的数据!") message.warning('请先选择要打印的数据!')
return return
} }
// window.open(src.value + '&asn_number=' + val.map(item1=>item1.number).join(',')) // window.open(src.value + '&asn_number=' + val.map(item1=>item1.number).join(','))
await PackageApi.batchPrintingLable(val.map(item1=>item1.number).join(',')).then(res => { await PackageApi.batchPrintingLable(val.map((item1) => item1.number).join(','))
.then((res) => {
console.log(res) console.log(res)
if (labelType.value == 'cg') { if (labelType.value == 'cg') {
const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAccessToken()) const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAccessToken())
@ -804,18 +902,19 @@ const searchTableSuccessLabel = async (formField, searchField, val, formRef, typ
const src = ref(BASE_URL + '/jmreport/view/922734157577715712?token=' + getAccessToken()) const src = ref(BASE_URL + '/jmreport/view/922734157577715712?token=' + getAccessToken())
window.open(src.value + '&asn_number=' + res) window.open(src.value + '&asn_number=' + res)
} }
}).catch(err => { })
.catch((err) => {
console.log(err) console.log(err)
message.error('创建标签失败') message.error('创建标签失败')
}) })
} }
const getDefaultWorkshopCode = async () => { const getDefaultWorkshopCode = async () => {
let res = await WorkshopApi.getWorkshopPage({ let res = await WorkshopApi.getWorkshopPage({
available: "TRUE" available: 'TRUE'
}) })
if (res && res.list.length > 0) { if (res && res.list.length > 0) {
if(res.list.find(item=>item.code=='PRC')){ if (res.list.find((item) => item.code == 'PRC')) {
ProductreceiptRequestMain.allSchemas.formSchema.map(itemColumns => { ProductreceiptRequestMain.allSchemas.formSchema.map((itemColumns) => {
if (itemColumns.field == 'workshopCode') { if (itemColumns.field == 'workshopCode') {
itemColumns.value = 'PRC' itemColumns.value = 'PRC'
} }

19
src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts

@ -661,14 +661,14 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
width: 150 width: 150
}, },
tableForm: { tableForm: {
multiple: true, enterSearch: true,
disabled:true, isInpuFocusShow: true,
// isInpuFocusShow: true,
searchListPlaceholder: '请选择工位代码', searchListPlaceholder: '请选择工位代码',
searchField: 'code', searchField: 'code',
searchTitle: '工位信息', searchTitle: '工位信息',
searchAllSchemas: Workstation.allSchemas, searchAllSchemas: Workstation.allSchemas,
searchPage: WorkstationApi.getWorkstationPage, searchPage: WorkstationApi.getWorkstationPage,
searchCondition: [{ searchCondition: [{
key: 'available', key: 'available',
value: 'TRUE', value: 'TRUE',
@ -679,8 +679,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
message: '请填写生产线代码!', message: '请填写生产线代码!',
isMainValue: true isMainValue: true
}], }],
verificationPage: WorkstationApi.getWorkstationByCodes, // 校验数去焦点输入是否正确的方法 isRepeat: true,//tableForm下方输入框是否可以重复添加该条数据
isShowTableFormSearch: true,
verificationParams: [{ verificationParams: [{
key: 'code', key: 'code',
action: '==', action: '==',
@ -694,7 +693,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch: true, enterSearch: true,
isSearchList: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择工位代码', searchListPlaceholder: '请选择工位代码',
searchField: 'code', searchField: 'code',
searchTitle: '工位信息', searchTitle: '工位信息',
@ -741,6 +740,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
value: 'TRUE', value: 'TRUE',
isMainValue: false isMainValue: false
}], }],
isRepeat: true,//tableForm下方输入框是否可以重复添加该条数据
verificationParams: [{ verificationParams: [{
key: 'code', key: 'code',
action: '==', action: '==',
@ -909,7 +909,9 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}, },
tableForm: { tableForm: {
// enterSearch:true, // enterSearch:true,
isInpuFocusShow: true, disabled: true,
multiple: true,
isInpuFocusShow: false,
searchListPlaceholder: '请选择物料代码', searchListPlaceholder: '请选择物料代码',
searchField: 'itemCode', searchField: 'itemCode',
searchTitle: '生产线物料关系信息', searchTitle: '生产线物料关系信息',
@ -925,6 +927,9 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
message: '请填写生产线代码!', message: '请填写生产线代码!',
isMainValue: true isMainValue: true
}], }],
verificationPage: ProductionlineitemApi.getProductionLineCodelistByCodes, // 校验数去焦点输入是否正确的方法
isShowTableFormSearch: true,
verificationParams: [{ verificationParams: [{
key: 'itemCode', key: 'itemCode',
action: '==', action: '==',

57
src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/index.vue

@ -43,7 +43,7 @@
<BasicForm <BasicForm
ref="formRef" ref="formRef"
:isOpenSearchTable="true" :isOpenSearchTable="true"
fieldTableColumn="workStationCode" fieldTableColumn="itemCode"
@success="getList" @success="getList"
:rules="ProductreceiptRequestMainRules" :rules="ProductreceiptRequestMainRules"
:formAllSchemas="ProductreceiptRequestMain.allSchemas" :formAllSchemas="ProductreceiptRequestMain.allSchemas"
@ -217,32 +217,8 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
message.warning(`物料${val[0]['itemCode']}已经存在`) message.warning(`物料${val[0]['itemCode']}已经存在`)
return return
} }
row['uom'] = val[0]['uom'] const index1 = 0
row['produceDate'] = dayjs().valueOf() setTableFormsValues(val, index1)
row[formField] = val[0][searchField]
// BOM
const param1 = {
productItemCode: val[0]['itemCode'],
available: 'TRUE',
pageSize: 20,
pageNo: 1,
sort: '',
by: 'ASC',
}
BomApi.getBomPage(param1).then(res => {
console.log(res)
if(res?.list?.length>0){
row['bomVersion'] = res.list[0].version
}
})
}else if (formField == 'workStationCode') {
//
val.forEach(item=>{
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow[formField] = item[searchField]
newRow.batch = formatTime(new Date(), 'yyyyMMdd')
tableData.value.push(newRow)
})
} else{ } else{
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
} }
@ -261,6 +237,33 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
} }
}) })
} }
const setTableFormsValues = async (val, index1) => {
if (index1 <= val.length - 1) {
const newRow = JSON.parse(JSON.stringify({ ...tableFormKeys, ...val[index1] }))
newRow['itemCode'] = val[index1]['itemCode']
newRow['uom'] = val[0]['uom']
newRow['produceDate'] = dayjs().valueOf()
const param1 = {
productItemCode: val[0]['itemCode'],
available: 'TRUE',
pageSize: 20,
pageNo: 1,
sort: '',
by: 'ASC'
}
await BomApi.getBomPage(param1).then((res) => {
console.log(res)
if (res?.list?.length > 0) {
newRow['bomVersion'] = res.list[0].version
}
})
tableData.value.push(newRow)
console.log(tableData.value)
index1++
setTableFormsValues(val, index1)
}
}
// //
const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { const searchTableSuccessDetail = (formField, searchField, val, formRef ) => {
nextTick(() => { nextTick(() => {

24
src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts

@ -671,14 +671,14 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
width: 150 width: 150
}, },
tableForm: { tableForm: {
multiple: true, enterSearch: true,
disabled:true, isInpuFocusShow: true,
// isInpuFocusShow: true,
searchListPlaceholder: '请选择工位代码', searchListPlaceholder: '请选择工位代码',
searchField: 'code', searchField: 'code',
searchTitle: '工位信息', searchTitle: '工位信息',
searchAllSchemas: Workstation.allSchemas, searchAllSchemas: Workstation.allSchemas,
searchPage: WorkstationApi.getWorkstationPage, searchPage: WorkstationApi.getWorkstationPage,
searchCondition: [{ searchCondition: [{
key: 'available', key: 'available',
value: 'TRUE', value: 'TRUE',
@ -689,8 +689,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
message: '请填写生产线代码!', message: '请填写生产线代码!',
isMainValue: true isMainValue: true
}], }],
verificationPage: WorkstationApi.getWorkstationByCodes, // 校验数去焦点输入是否正确的方法 isRepeat: true,//tableForm下方输入框是否可以重复添加该条数据
isShowTableFormSearch: true,
verificationParams: [{ verificationParams: [{
key: 'code', key: 'code',
action: '==', action: '==',
@ -703,7 +702,8 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
isSearchList: true, enterSearch: true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择工位代码', searchListPlaceholder: '请选择工位代码',
searchField: 'code', searchField: 'code',
searchTitle: '工位信息', searchTitle: '工位信息',
@ -750,6 +750,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
value: 'TRUE', value: 'TRUE',
isMainValue: false isMainValue: false
}], }],
isRepeat: true,//tableForm下方输入框是否可以重复添加该条数据
verificationParams: [{ verificationParams: [{
key: 'code', key: 'code',
action: '==', action: '==',
@ -760,9 +761,9 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}], // 失去焦点校验参数 }], // 失去焦点校验参数
}, },
form: { form: {
enterSearch: true,
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch: true,
isSearchList: true, isSearchList: true,
searchListPlaceholder: '请选择工序代码', searchListPlaceholder: '请选择工序代码',
searchField: 'code', searchField: 'code',
@ -912,13 +913,15 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
label: '物料代码', label: '物料代码',
field: 'itemCode', field: 'itemCode',
sort: 'custom', sort: 'custom',
sortTableDefault: 1003,
table: { table: {
width: 150 width: 150
}, },
sortTableDefault:1003,
tableForm: { tableForm: {
// enterSearch:true, // enterSearch:true,
isInpuFocusShow: true, disabled: true,
multiple: true,
isInpuFocusShow: false,
searchListPlaceholder: '请选择物料代码', searchListPlaceholder: '请选择物料代码',
searchField: 'itemCode', searchField: 'itemCode',
searchTitle: '生产线物料关系信息', searchTitle: '生产线物料关系信息',
@ -934,6 +937,9 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
message: '请填写生产线代码!', message: '请填写生产线代码!',
isMainValue: true isMainValue: true
}], }],
verificationPage: ProductionlineitemApi.getProductionLineCodelistByCodes, // 校验数去焦点输入是否正确的方法
isShowTableFormSearch: true,
verificationParams: [{ verificationParams: [{
key: 'itemCode', key: 'itemCode',
action: '==', action: '==',

Loading…
Cancel
Save