wangyufei
5 months ago
7 changed files with 3340 additions and 75 deletions
@ -0,0 +1,795 @@ |
|||||
|
<template> |
||||
|
<ContentWrap> |
||||
|
<!-- 搜索工作栏 --> |
||||
|
<Search :schema="[...PurchasereceiptRequestMain.allSchemas.searchSchema,...PurchasereceiptRequestDetail.allSchemas.searchSchema]" @search="setSearchParams" @reset="setSearchParams" /> |
||||
|
</ContentWrap> |
||||
|
|
||||
|
<!-- 列表头部 --> |
||||
|
<TableHead |
||||
|
:HeadButttondata="HeadButttondata" |
||||
|
@button-base-click="buttonBaseClick" |
||||
|
:routeName="routeName" |
||||
|
@updataTableColumns="updataTableColumns" |
||||
|
@searchFormClick="searchFormClick" |
||||
|
:allSchemas="PurchasereceiptRequestMain.allSchemas" |
||||
|
:detailAllSchemas="PurchasereceiptRequestDetail.allSchemas" |
||||
|
/> |
||||
|
<!-- 列表 --> |
||||
|
<ContentWrap> |
||||
|
<Table v-clientTable |
||||
|
:columns="tableColumns" |
||||
|
:data="tableObject.tableList" |
||||
|
:loading="tableObject.loading" |
||||
|
:pagination="{ |
||||
|
total: tableObject.total |
||||
|
}" |
||||
|
v-model:pageSize="tableObject.pageSize" |
||||
|
v-model:currentPage="tableObject.currentPage" |
||||
|
v-model:sort="tableObject.sort" |
||||
|
> |
||||
|
<template #number="{row}"> |
||||
|
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)"> |
||||
|
<span>{{ row.number }}</span> |
||||
|
</el-button> |
||||
|
</template> |
||||
|
<template #action="{ row,$index }"> |
||||
|
<ButtonBase :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event,row)" /> |
||||
|
</template> |
||||
|
</Table> |
||||
|
</ContentWrap> |
||||
|
|
||||
|
<!-- 表单弹窗:添加/修改 --> |
||||
|
<BasicForm |
||||
|
ref="formRef" |
||||
|
@success="getList" |
||||
|
:isOpenSearchTable="true" |
||||
|
fieldTableColumn="poNumber" |
||||
|
:rules="PurchasereceiptRequestMainRules" |
||||
|
:formAllSchemas="PurchasereceiptRequestMain.allSchemas" |
||||
|
:tableAllSchemas="PurchasereceiptRequestDetail.allSchemas" |
||||
|
:tableFormRules="PurchasereceiptRequestDetailRules" |
||||
|
:tableData="tableData" |
||||
|
:apiUpdate="PurchasereceiptRequestMainApi.updatePurchasereceiptRequestMain" |
||||
|
:apiCreate="PurchasereceiptRequestMainApi.createPurchasereceiptRequestMain" |
||||
|
:isBusiness="true" |
||||
|
@handleAddTable="handleAddTable" |
||||
|
@handleDeleteTable="handleDeleteTable" |
||||
|
:isShowReduceButtonSelection="true" |
||||
|
@tableSelectionDelete="tableSelectionDelete" |
||||
|
@searchTableSuccess="searchTableSuccess" |
||||
|
@submitForm="submitForm" |
||||
|
@formFormDateChange="formFormDateChange" |
||||
|
@onEnter="onEnter" |
||||
|
> |
||||
|
<template v-slot="{row}"> |
||||
|
<el-date-picker v-bind:modelValue="row['expireTime']?addDay(row['produceDate'],row['expireTime']):dayjs('2099-12-31').valueOf()" |
||||
|
:clearable="true" |
||||
|
style="width: 100%" |
||||
|
:disabled="true" |
||||
|
:placeholder="t('ts.选择日期')"/> |
||||
|
</template> |
||||
|
</BasicForm> |
||||
|
<!-- 详情 --> |
||||
|
<Detail |
||||
|
ref="detailRef" |
||||
|
:isBasic="false" |
||||
|
:allSchemas="PurchasereceiptRequestMain.allSchemas" |
||||
|
:detailAllSchemas="detailAllSchemas" |
||||
|
:detailAllSchemasRules="PurchasereceiptRequestDetailRules" |
||||
|
:apiCreate="PurchasereceiptRequestDetailApi.createPurchasereceiptRequestDetail" |
||||
|
:apiUpdate="PurchasereceiptRequestDetailApi.updatePurchasereceiptRequestDetail" |
||||
|
:apiPage="apiPage" |
||||
|
:apiDelete="PurchasereceiptRequestDetailApi.deletePurchasereceiptRequestDetail" |
||||
|
fromeWhere="purchasereceipt" |
||||
|
@searchTableSuccessDetail="searchTableSuccessDetail" |
||||
|
:detailButtonIsShowAdd="false" |
||||
|
:detailButtonIsShowEdit="false" |
||||
|
:detailButtonIsShowDelete="false" |
||||
|
:buttondataTable="buttondataTable" |
||||
|
@tableFormButton="tableFormButton" |
||||
|
/> |
||||
|
|
||||
|
<!-- 导入 --> |
||||
|
<ImportForm |
||||
|
ref="importFormRef" |
||||
|
url="/wms/purchasereceipt-request-main/import" |
||||
|
:importTemplateData="importTemplateData" |
||||
|
@success="importSuccess" |
||||
|
:updateIsDisable="true" |
||||
|
:coverIsDisable="true" |
||||
|
:mode="2" |
||||
|
/> |
||||
|
|
||||
|
<!-- 创建标签 --> |
||||
|
<BasicForm |
||||
|
ref="formLabelRef" |
||||
|
@success="getList" |
||||
|
:tableAllSchemas="PurchasereceiptRequestDetailLabel.allSchemas" |
||||
|
:tableFormRules="PurchasereceiptRequestDetailRules" |
||||
|
:tableData="detatableData.tableList" |
||||
|
:isBusiness="true" |
||||
|
:isShowButton="false" |
||||
|
:isShowReduceButton="false" |
||||
|
@submitForm="submitFormLabel" |
||||
|
@searchTableSuccess="searchTableSuccessLabel" |
||||
|
/> |
||||
|
|
||||
|
<!-- 子包装弹窗 --> |
||||
|
<BasicForm |
||||
|
ref="detailParenPackingRef" |
||||
|
@success="getList" |
||||
|
:tableAllSchemas="PurchasereceiptRequestDetailPackingNumber.allSchemas" |
||||
|
:tableFormRules="PurchasereceiptRequestDetailRules" |
||||
|
:tableData="packingDetatableData.tableList" |
||||
|
:isBusiness="true" |
||||
|
:isShowButton="false" |
||||
|
:isShowReduceButton="false" |
||||
|
:isShowFooterButtton="false" |
||||
|
/> |
||||
|
<!-- 标签打印 --> |
||||
|
<SearchTable style="width:905px" ref="searchTableRef" @searchTableSuccess="searchTableSuccess1" /> |
||||
|
<el-dialog |
||||
|
v-model="showQualityReport" |
||||
|
:title="t('质检明细')" |
||||
|
width="90%" |
||||
|
append-to-body |
||||
|
destroy-on-close |
||||
|
> |
||||
|
<iframe height="600px" width="100%" :src="qualityReport" frameborder="0"></iframe> |
||||
|
</el-dialog> |
||||
|
|
||||
|
</template> |
||||
|
|
||||
|
<script setup lang="ts"> |
||||
|
import dayjs from 'dayjs' |
||||
|
import { addDay } from '@/utils/formatTime' |
||||
|
import download from '@/utils/download' |
||||
|
import { CACHE_KEY, useCache } from '@/hooks/web/useCache' |
||||
|
import { |
||||
|
PurchasereceiptRequestMain, |
||||
|
PurchasereceiptRequestMainRules, |
||||
|
PurchasereceiptRequestDetail, |
||||
|
PurchasereceiptRequestDetailRules, |
||||
|
PurchasereceiptRequestDetailLabel, |
||||
|
PurchasereceiptRequestDetailPackingNumber |
||||
|
} from './purchasereceiptRequestMain.data' |
||||
|
import { |
||||
|
SupplierdeliverRequestPackage |
||||
|
} from '../../supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data' |
||||
|
import { PurchaseDetail } from '../../supplierdeliver/purchaseMain/purchaseMain.data' |
||||
|
import * as PackageApi from '@/api/wms/package' |
||||
|
import * as PurchasereceiptRequestMainApi from '@/api/wms/purchasereceiptRequestMain' |
||||
|
import * as PurchasereceiptRequestDetailApi from '@/api/wms/purchasereceiptRequestDetail' |
||||
|
import * as defaultButtons from '@/utils/disposition/defaultButtons' |
||||
|
import { formatDate } from '@/utils/formatTime' |
||||
|
import * as SupplieritemApi from '@/api/wms/supplieritem' |
||||
|
import { getAccessToken } from '@/utils/auth' |
||||
|
import * as PurchaseDetailApi from '@/api/wms/purchaseDetail' |
||||
|
import * as ItembasicApi from '@/api/wms/itembasic' |
||||
|
import { getJmreportBaseUrl } from '@/utils/systemParam' |
||||
|
import { getReportUrl } from '@/utils/systemParam' |
||||
|
|
||||
|
// 采购收货申请-M类型收货 |
||||
|
defineOptions({ name: 'PurchasereceiptRequestOrderMTypeMain' }) |
||||
|
|
||||
|
const message = useMessage() // 消息弹窗 |
||||
|
const { t } = useI18n() // 国际化 |
||||
|
const genLabelId = ref(); //主表ID |
||||
|
const route = useRoute() // 路由信息 |
||||
|
const routeName = ref() |
||||
|
routeName.value = route.name |
||||
|
const tableColumns = ref([...PurchasereceiptRequestMain.allSchemas.tableColumns,...PurchasereceiptRequestDetail.allSchemas.tableMainColumns]) |
||||
|
|
||||
|
const apiPage = ref(PurchasereceiptRequestDetailApi.getPurchasereceiptRequestDetailPageOrderMType) |
||||
|
const detailAllSchemas = ref(PurchasereceiptRequestDetail.allSchemas) |
||||
|
|
||||
|
|
||||
|
// 字段设置 更新主列表字段 |
||||
|
const updataTableColumns = (val) => { |
||||
|
tableColumns.value = val |
||||
|
} |
||||
|
|
||||
|
// 查询页面返回 |
||||
|
const searchTableSuccessLabel = (formField, searchField, val, formRef, type, row) => { |
||||
|
nextTick(() => { |
||||
|
if (type == 'tableForm') { |
||||
|
// 明细查询页赋值 |
||||
|
row[formField] = val[0][searchField] |
||||
|
if (formField == 'packUnit' || formField == 'packQty') { |
||||
|
row['packUnit'] = val[0]['packUnit'] |
||||
|
row['packQty'] = val[0]['packQty'] |
||||
|
} |
||||
|
if (formField == 'secondPackUnit') { |
||||
|
row['secondPackUnit'] = val[0]['packUnit'] |
||||
|
row['secondPackQty'] = val[0]['packQty'] |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 查询页面返回 |
||||
|
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { |
||||
|
//console.log("formRef",formRef) |
||||
|
console.log("searchTableSuccess",formField, searchField, val, formRef, type, row) |
||||
|
nextTick(() => { |
||||
|
if (type == 'tableForm') { |
||||
|
// 明细查询页赋值 |
||||
|
//row[formField] = val[0][searchField] |
||||
|
if(formField == 'itemCode') { |
||||
|
row['itemCode'] = val[0]['code'] |
||||
|
} else if(formField == 'poNumber') { |
||||
|
updateTableData(val) |
||||
|
// row['poNumber'] = val[0]['number'] |
||||
|
|
||||
|
} else if(formField == 'poLine'){ |
||||
|
//添加费用明细--点击确定 |
||||
|
val.forEach(item=>{ |
||||
|
if(tableData.value.find(item1=>item1['id'] == item['id'])) return |
||||
|
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...row})) |
||||
|
newRow['poLine'] = item['lineNumber'] |
||||
|
newRow['itemCode'] = item['itemCode'] |
||||
|
newRow['uom'] = item['uom'] |
||||
|
newRow['poNumber'] = item['number'] |
||||
|
newRow['poLineType'] = item['poLineType'] |
||||
|
let supplierCode = formRef.formModel.supplierCode; |
||||
|
let queryData = { |
||||
|
supplierCode:supplierCode, |
||||
|
itemCode: item['itemCode'] |
||||
|
} |
||||
|
SupplieritemApi.getDefaultLocationCode(queryData as SupplieritemApi.SupplieritemVO).then(res =>{ |
||||
|
newRow['defaultToLocationCode'] = res |
||||
|
tableData.value.push(newRow) |
||||
|
}) |
||||
|
}) |
||||
|
}else if (formField == 'packQty'){ |
||||
|
row['packQty'] = val[0]['packQty'] |
||||
|
row['packUnit'] = val[0]['packUnit'] |
||||
|
}else if(formField == 'defaultToLocationCode'){ |
||||
|
row['defaultToLocationCode'] = val[0]['code'] |
||||
|
} |
||||
|
} else { |
||||
|
const setV = {} |
||||
|
if(formField == 'supplierCode'){ |
||||
|
setV['supplierCode'] = val[0]['code'] |
||||
|
}else if(formField == 'poNumber') { |
||||
|
//新增--采购订单-- |
||||
|
setV['supplierCode'] = val[0]['supplierCode'] |
||||
|
setV['poNumber'] = val[0]['number'] |
||||
|
const newRow = val[0] |
||||
|
newRow['poNumber'] = val[0]['number'] |
||||
|
// 请求明细数据 |
||||
|
getSearchTableData(val[0]['number']) |
||||
|
// tableData.value = [newRow] |
||||
|
// formRef.handleAddTable() |
||||
|
} |
||||
|
setV[formField] = val[0][searchField] |
||||
|
formRef.setValues(setV) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
// 查询页面返回——详情 |
||||
|
const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { |
||||
|
nextTick(() => { |
||||
|
const setV = {} |
||||
|
setV[formField] = val[0][searchField] |
||||
|
if(formField == 'itemCode') { |
||||
|
setV['itemCode'] = val[0]['code'] |
||||
|
} else { |
||||
|
setV['poNumber'] = val[0]['number'] |
||||
|
setV['poLine'] = val[0]['lineNumber'] |
||||
|
} |
||||
|
formRef.setValues(setV) |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
const { tableObject, tableMethods } = useTable({ |
||||
|
getListApi: PurchasereceiptRequestDetailApi.getPurchasereceiptRequestDetailPageOrderMType // 分页接口 |
||||
|
}) |
||||
|
|
||||
|
// 获得表格的各种操作 |
||||
|
const { getList, setSearchParams } = tableMethods |
||||
|
|
||||
|
// 列表头部按钮 |
||||
|
const HeadButttondata = [ |
||||
|
defaultButtons.defaultAddBtn(null), // 新增 |
||||
|
defaultButtons.defaultImportBtn(null), // 导入 |
||||
|
defaultButtons.defaultExportBtn({hasPermi:'wms:purchasereceipt-request-main:export'}), // 导出 |
||||
|
defaultButtons.defaultFreshBtn(null), // 刷新 |
||||
|
defaultButtons.defaultFilterBtn(null), // 筛选 |
||||
|
defaultButtons.defaultSetBtn(null), // 设置 |
||||
|
] |
||||
|
|
||||
|
// 头部按钮事件 |
||||
|
const buttonBaseClick = (val, item) => { |
||||
|
if (val == 'add') {// 新增 |
||||
|
openForm('create') |
||||
|
} else if (val == 'import') {// 导入 |
||||
|
handleImport() |
||||
|
}else if (val == 'export') { // 导出 |
||||
|
handleExport() |
||||
|
} else if (val == 'refresh') { // 刷新 |
||||
|
if (tableObject.params.filters && tableObject.params.filters.length > 0 ) { |
||||
|
searchFormClick({ |
||||
|
filters: tableObject.params.filters |
||||
|
}) |
||||
|
} else { |
||||
|
getList() |
||||
|
} |
||||
|
} else if (val == 'filtrate') { // 筛选 |
||||
|
} else { // 其他按钮 |
||||
|
console.log('其他按钮', item) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 根据状态返回该按钮是否显示 |
||||
|
const isShowMainButton = (row,val) => { |
||||
|
if (val.indexOf(row.status) > -1) { |
||||
|
return false |
||||
|
} else { |
||||
|
return true |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 根据状态返回该按钮是否显示 |
||||
|
const isASNShowMainButton = (row,val) => { |
||||
|
if (val.indexOf(row.status) > -1) { |
||||
|
if(row.sourceType == 'ASN_ExternalReceipt'){ |
||||
|
return false |
||||
|
} |
||||
|
} else { |
||||
|
return true |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 列表-操作按钮 |
||||
|
const butttondata = (row,$index) => { |
||||
|
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1 |
||||
|
if(findIndex>-1&&findIndex<$index){ |
||||
|
return [] |
||||
|
} |
||||
|
return [ |
||||
|
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['5']),hasPermi:'wms:purchasereceipt-request-main:reAdd'}), //重新添加 |
||||
|
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:purchasereceipt-request-main:submit'}), // 提交审批 |
||||
|
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:purchasereceipt-request-main:refused'}), // 驳回 |
||||
|
defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:purchasereceipt-request-main:agree'}), // 审批通过 |
||||
|
// defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:purchasereceipt-request-main:update'}), // 编辑 |
||||
|
{ |
||||
|
label: '生成标签', |
||||
|
name: 'ssbq', |
||||
|
hide: isASNShowMainButton(row, ['3']), |
||||
|
type: 'primary', |
||||
|
icon: '', |
||||
|
color: '', |
||||
|
hasPermi: '', |
||||
|
link: true // 文本展现按钮 |
||||
|
}, |
||||
|
defaultButtons.mainListPointBtn({ hide: isASNShowMainButton(row, ['3','8']) }), // 标签打印 |
||||
|
defaultButtons.mainListHandleBtn({hide:isShowMainButton(row,['3']),hasPermi:'wms:purchasereceipt-request-main:handle'}), // 处理 |
||||
|
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6']),hasPermi:'wms:purchasereceipt-request-main:close'}), // 关闭 |
||||
|
defaultButtons.mainListPlanCheckQualityReportBtn({}), // 查看质检报告 |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
// 列表-操作按钮事件 |
||||
|
const buttonTableClick = async (val, row) => { |
||||
|
if (val == 'mainClose') { // 关闭 |
||||
|
handleClose(row.masterId) |
||||
|
} else if (val == 'mainReAdd') { // 重新添加 |
||||
|
handleReAdd(row.masterId) |
||||
|
} else if (val == 'mainSubmit') { // 提交审批 |
||||
|
handleSubmit(row.masterId) |
||||
|
} else if (val == 'mainTurnDown') { // 驳回 |
||||
|
handleRefused(row.masterId) |
||||
|
} else if (val == 'mainApprove') { // 审批通过 |
||||
|
handleAgree(row.masterId) |
||||
|
} else if (val == 'mainHandle') { // 处理 |
||||
|
handleHandle(row.masterId) |
||||
|
} else if (val == 'edit') { // 编辑 |
||||
|
openForm('update', row) |
||||
|
} else if(val == 'ssbq'){ // 生成标签 |
||||
|
// 生成标签 |
||||
|
detatableData.params = { |
||||
|
masterId:row.masterId |
||||
|
} |
||||
|
genLabelId.value = row.masterId |
||||
|
await getDetailList() |
||||
|
formLabelRef.value.open('create', row, null,'createLabel')//创建标签页面 createLabel 标题 |
||||
|
}else if (val == 'point') { |
||||
|
// 标签打印 |
||||
|
labelPrint(row) |
||||
|
}else if(val == 'mainPlanCheckQualityReport'){ |
||||
|
// 查看质检报告 |
||||
|
checkQualityReport(row) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 查看质检报告 |
||||
|
const showQualityReport = ref(false) |
||||
|
const qualityReport = ref('') |
||||
|
const checkQualityReport = async (row)=>{ |
||||
|
showQualityReport.value = true |
||||
|
qualityReport.value = `${getReportUrl()}/purchasereceiptReport?asnNumber=${row.asnNumber}` |
||||
|
} |
||||
|
|
||||
|
// 生成标签 |
||||
|
const isCreateLabel = ref(false) |
||||
|
const formLabelRef = ref() |
||||
|
const { tableObject: detatableData, tableMethods: detatableMethods } =useTable({ |
||||
|
getListApi: PurchasereceiptRequestDetailApi.getPurchasereceiptRequestDetailPage |
||||
|
}) |
||||
|
const { getList:getDetailList } = detatableMethods |
||||
|
|
||||
|
// 生成标签按钮操作 |
||||
|
const submitFormLabel = async (formType, submitData) => { |
||||
|
let data = {...submitData} |
||||
|
if(data.masterId){ |
||||
|
data.id = data.masterId |
||||
|
} |
||||
|
try { |
||||
|
console.log("formType==",formType) |
||||
|
console.log("data==",data) |
||||
|
data.subList = detatableData.tableList |
||||
|
console.log("detatableData",detatableData) |
||||
|
await message.confirm(t('ts.是否为此数据生成标签?')) |
||||
|
await PurchasereceiptRequestMainApi.genLabel(data) //genLabelId.value |
||||
|
isCreateLabel.value = true |
||||
|
message.success('创建标签成功') |
||||
|
} finally { |
||||
|
formLabelRef.value.formLoading = false |
||||
|
formLabelRef.value.dialogVisible = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
const BASE_URL = getJmreportBaseUrl() |
||||
|
const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAccessToken()) |
||||
|
|
||||
|
// 标签打印 |
||||
|
const searchTableRef = ref() |
||||
|
const labelPrint = async (row) => { |
||||
|
tableObject.loading = true |
||||
|
const defaultParams = {'moduleName':'purchasereceipt_request','recordNumber':row.asnNumber} |
||||
|
const {tableObject:tableObjectPrint ,tableMethods} = useTable({ |
||||
|
defaultParams, |
||||
|
getListApi: PackageApi.getLabelDetailPage // 分页接口 |
||||
|
}) |
||||
|
|
||||
|
// 获得表格的各种操作 |
||||
|
const { getList:getListPrint } = tableMethods |
||||
|
getListPrint() |
||||
|
tableObject.loading = false |
||||
|
const tableColumns = SupplierdeliverRequestPackage.allSchemas.tableFormColumns |
||||
|
tableColumns.forEach((item) => { |
||||
|
item.width = item.table?.width || 150 |
||||
|
}) |
||||
|
searchTableRef.value.openData("标签信息",tableObjectPrint,{tableColumns},true) |
||||
|
} |
||||
|
|
||||
|
// 批量打印---采购收货申请 |
||||
|
const searchTableSuccess1 = async (formField, searchField, val, formRef, type, row) => { |
||||
|
console.log('批量打印',val) |
||||
|
// let rows:any = [] |
||||
|
// val.forEach(item=>{ |
||||
|
// rows = [...rows,...item.selectionRows.map(item1=>item1.number)] |
||||
|
// }) |
||||
|
if(val.length == 0){ |
||||
|
message.warning("请先选择要打印的数据!") |
||||
|
return |
||||
|
} |
||||
|
// window.open(src.value + '&asn_number=' + val.map(item1=>item1.number).join(',')) |
||||
|
|
||||
|
await PackageApi.batchPrintingLable(val.map(item1=>item1.number).join(',')).then(res => { |
||||
|
console.log(res) |
||||
|
window.open(src.value + '&asn_number=' + res) |
||||
|
}).catch(err => { |
||||
|
console.log(err) |
||||
|
message.error('创建标签失败') |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
const updateTableData = (tableList)=>{ |
||||
|
tableList.forEach(row=>{ |
||||
|
//poNumber poLine itemCode batch |
||||
|
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...row})) |
||||
|
newRow['poLine'] = row['lineNumber'] |
||||
|
newRow['itemCode'] = row['itemCode'] |
||||
|
newRow['uom'] = row['uom'] |
||||
|
newRow['poNumber'] =row['number'] |
||||
|
newRow['supplierCode'] =row['supplierCode'] |
||||
|
//生产日期 到货日期 默认当天 |
||||
|
newRow['produceDate'] = dayjs().valueOf() |
||||
|
newRow['arriveDate'] = dayjs().valueOf() |
||||
|
//批次 |
||||
|
newRow['batch'] = formatDate(newRow['produceDate'],'YYYYMMDD'); |
||||
|
newRow['defaultToLocationCode'] =row['defaultLocation'] |
||||
|
if(!tableData.value.find((item:object)=>item.poNumber == newRow.poNumber&&item.itemCode == newRow.itemCode&&item.poLine == newRow.poLine&&item.batch == newRow.batch)){ |
||||
|
tableData.value.push(newRow) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
const getSearchTableData = async (number,isEnter=false)=>{ |
||||
|
const {tableObject ,tableMethods} = useTable({ |
||||
|
defaultParams:{number}, |
||||
|
getListApi: PurchaseDetailApi.getPurchaseDetailPageWMS // 分页接口 |
||||
|
}) |
||||
|
// 获得表格的各种操作 |
||||
|
const { getList:getList1 } = tableMethods |
||||
|
await getList1() |
||||
|
const tableColumns = PurchaseDetail.allSchemas.tableFormColumns |
||||
|
tableColumns.forEach((item) => { |
||||
|
item.width = item.table?.width || 150 |
||||
|
}) |
||||
|
tableData.value = [] |
||||
|
updateTableData(tableObject.tableList) |
||||
|
const itemCodes = [] |
||||
|
tableObject.tableList.forEach(row=>{ |
||||
|
itemCodes.push(row['itemCode']) |
||||
|
if(isEnter){ |
||||
|
//回车--供应商代码 |
||||
|
const setV = {} |
||||
|
setV['poNumber'] = number |
||||
|
setV['supplierCode'] = row.supplierCode |
||||
|
formRef.value.formRef.setValues(setV) |
||||
|
} |
||||
|
}) |
||||
|
//有效期 |
||||
|
ItembasicApi.getItembasicPage({ |
||||
|
code:itemCodes.join(',') |
||||
|
}).then((res)=>{ |
||||
|
res.list.forEach((item,index)=>{ |
||||
|
const findItem = tableData.value.find(item1=>item1['itemCode']==item['code']) |
||||
|
findItem['expireTime'] = item['expireTime'] |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
/** 添加/修改操作 */ |
||||
|
const formRef = ref() |
||||
|
const openForm =async (type: string, row?: number) => { |
||||
|
tableData.value = [] // 重置明细数据 |
||||
|
formRef.value.open(type, row) |
||||
|
} |
||||
|
|
||||
|
|
||||
|
// 子包装数据 |
||||
|
const detailParenPackingRef = ref() |
||||
|
const { tableObject: packingDetatableData, tableMethods: packDetatableMethods } = useTable({ |
||||
|
getListApi: PurchasereceiptRequestDetailApi.queryPurchaseceiptChildPackingNumber |
||||
|
}) |
||||
|
const { getList:queryDetailList } = packDetatableMethods |
||||
|
|
||||
|
|
||||
|
// 获取部门 用于详情 部门回显 |
||||
|
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 |
||||
|
if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode)) |
||||
|
detailRef.value.openDetail(row, titleName, titleValue,'requestPurchasereceiptMain') |
||||
|
} |
||||
|
|
||||
|
// 详情 table 操作扩展 按钮 |
||||
|
const buttondataTable = ref([{ |
||||
|
label: '查看其他包装规格', |
||||
|
name: 'viewParentPickingNumber', |
||||
|
hide: false, |
||||
|
type: 'primary', |
||||
|
icon: '', |
||||
|
color: '', |
||||
|
hasPermi: '', |
||||
|
link: true, // 文本展现按钮 |
||||
|
}]) |
||||
|
|
||||
|
// 查看其他包装规格 |
||||
|
const tableFormButton = async (val , row) => { |
||||
|
if (val == 'viewParentPickingNumber') { //查看其他包装规格 |
||||
|
packingDetatableData.params = { |
||||
|
masterId:row.masterId, |
||||
|
parentPackingNumber:row.packingNumber |
||||
|
} |
||||
|
await queryDetailList() |
||||
|
detailParenPackingRef.value.open('create', row, null,'viewDetail')//查看明细数据 |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 关闭按钮操作 */ |
||||
|
const handleClose = async (id: number) => { |
||||
|
try{ |
||||
|
await message.confirm(t('common.confirmColse')) |
||||
|
tableObject.loading = true |
||||
|
await PurchasereceiptRequestMainApi.closePurchasereceiptRequestMain(id) |
||||
|
message.success(t('common.closeSuccess')) |
||||
|
await getList() |
||||
|
}catch{}finally{ |
||||
|
tableObject.loading = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 重新添加按钮操作 */ |
||||
|
const handleReAdd = async (id: number) => { |
||||
|
try{ |
||||
|
await message.confirm(t('common.confirmReAdd')) |
||||
|
tableObject.loading = true |
||||
|
await PurchasereceiptRequestMainApi.reAddPurchasereceiptRequestMain(id) |
||||
|
message.success(t('common.reAddSuccess')) |
||||
|
await getList() |
||||
|
}catch{}finally{ |
||||
|
tableObject.loading = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 审批通过按钮操作 */ |
||||
|
const handleAgree = async (id: number) => { |
||||
|
try{ |
||||
|
await message.confirm(t('common.confirmAgree')) |
||||
|
tableObject.loading = true |
||||
|
await PurchasereceiptRequestMainApi.agreePurchasereceiptRequestMain(id) |
||||
|
message.success(t('common.agreeSuccess')) |
||||
|
tableObject.loading = false |
||||
|
await getList() |
||||
|
}catch{}finally{ |
||||
|
tableObject.loading = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 审批驳回按钮操作 */ |
||||
|
const handleRefused = async (id: number) => { |
||||
|
try{ |
||||
|
await message.confirm(t('common.confirmRefused')) |
||||
|
tableObject.loading = true |
||||
|
await PurchasereceiptRequestMainApi.refusedPurchasereceiptRequestMain(id) |
||||
|
message.success(t('common.refusedSuccess')) |
||||
|
tableObject.loading = false |
||||
|
await getList() |
||||
|
}catch{}finally{ |
||||
|
tableObject.loading = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 处理按钮操作 */ |
||||
|
const handleHandle = async (id: number) => { |
||||
|
try{ |
||||
|
await message.confirm(t('common.confirmHandle')) |
||||
|
tableObject.loading = true |
||||
|
await PurchasereceiptRequestMainApi.handlePurchasereceiptRequestMain(id) |
||||
|
message.success(t('common.handleSuccess')) |
||||
|
tableObject.loading = false |
||||
|
await getList() |
||||
|
}catch{}finally{ |
||||
|
tableObject.loading = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 提交按钮操作 */ |
||||
|
const handleSubmit = async (id: number) => { |
||||
|
try{ |
||||
|
await message.confirm(t('common.confirmSubmit')) |
||||
|
tableObject.loading = true |
||||
|
await PurchasereceiptRequestMainApi.submitPurchasereceiptRequestMain(id) |
||||
|
message.success(t('common.submitSuccess')) |
||||
|
tableObject.loading = false |
||||
|
await getList() |
||||
|
}catch{}finally{ |
||||
|
tableObject.loading = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 导出按钮操作 */ |
||||
|
const exportLoading = ref(false) // 导出的加载中 |
||||
|
const handleExport = async () => { |
||||
|
try { |
||||
|
// 导出的二次确认 |
||||
|
await message.exportConfirm() |
||||
|
// 发起导出 |
||||
|
exportLoading.value = true |
||||
|
const data = await PurchasereceiptRequestMainApi.exportPurchasereceiptRequestMain(tableObject.params) |
||||
|
download.excel(data, '采购收货申请主.xlsx') |
||||
|
} catch { |
||||
|
} finally { |
||||
|
exportLoading.value = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* tableForm方法 |
||||
|
*/ |
||||
|
const tableFormKeys = {} |
||||
|
PurchasereceiptRequestDetail.allSchemas.tableFormColumns.forEach(item => { |
||||
|
tableFormKeys[item.field] = item.default ? item.default : '' |
||||
|
}) |
||||
|
const tableData = ref([]) |
||||
|
|
||||
|
// 添加明细 |
||||
|
const handleAddTable = () => { |
||||
|
tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys))) |
||||
|
} |
||||
|
// 删除明细 |
||||
|
const handleDeleteTable = (item, index) => { |
||||
|
let itemIndex = tableData.value.indexOf(item) |
||||
|
if(itemIndex>-1){ |
||||
|
tableData.value.splice(itemIndex, 1) |
||||
|
} |
||||
|
} |
||||
|
const tableSelectionDelete = (selection) => { |
||||
|
tableData.value = tableData.value.filter(item => !selection.includes(item)) |
||||
|
} |
||||
|
const onEnter = async (field,value)=>{ |
||||
|
console.log(field,value) |
||||
|
getSearchTableData(value,true) |
||||
|
} |
||||
|
// 主子数据 提交 |
||||
|
const submitForm = async (formType, submitData) => { |
||||
|
let data = {...submitData} |
||||
|
if(data.masterId){ |
||||
|
data.id = data.masterId |
||||
|
} |
||||
|
tableData.value.forEach((row, index) => { |
||||
|
row['expireDate'] = row['expireTime']?addDay(row['produceDate'],row['expireTime']).valueOf():dayjs('2099-12-31').valueOf() |
||||
|
}) |
||||
|
data.subList = tableData.value // 拼接子表数据参数 |
||||
|
try { |
||||
|
if (formType === 'create') { |
||||
|
await PurchasereceiptRequestMainApi.createPurchasereceiptRequestMain(data) |
||||
|
message.success(t('common.createSuccess')) |
||||
|
} else { |
||||
|
await PurchasereceiptRequestMainApi.updatePurchasereceiptRequestMain(data) |
||||
|
message.success(t('common.updateSuccess')) |
||||
|
} |
||||
|
formRef.value.dialogVisible = false |
||||
|
// 刷新当前列表 |
||||
|
getList() |
||||
|
} finally { |
||||
|
formRef.value.formLoading = false |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 导入 */ |
||||
|
const importFormRef = ref() |
||||
|
const handleImport = () => { |
||||
|
importFormRef.value.open() |
||||
|
} |
||||
|
|
||||
|
// 导入附件弹窗所需的参数 |
||||
|
const importTemplateData = reactive({ |
||||
|
templateUrl: '', |
||||
|
templateTitle: '采购收货申请主导入模版.xlsx' |
||||
|
}) |
||||
|
|
||||
|
// 导入成功之后 |
||||
|
const importSuccess = () => { |
||||
|
getList() |
||||
|
} |
||||
|
|
||||
|
// 筛选提交 |
||||
|
const searchFormClick = (searchData) => { |
||||
|
tableObject.params = { |
||||
|
isSearch: true, |
||||
|
filters: searchData.filters |
||||
|
} |
||||
|
getList() // 刷新当前列表 |
||||
|
} |
||||
|
|
||||
|
// tabs 切换事件 |
||||
|
// const changeTabs = (data) =>{ |
||||
|
// if(data.prop == 'receiptDetail'){ |
||||
|
// apiPage.value = PurchasereceiptRequestDetailApi.getPurchasereceiptRequestDetailPage |
||||
|
// detailAllSchemas.value = PurchasereceiptRequestDetail.allSchemas |
||||
|
// }else if(data.prop == 'scarceGoodsDetail'){ |
||||
|
// apiPage.value = PurchasereceiptRequestDetailApi.getScarceGoodsDetailPage |
||||
|
// detailAllSchemas.value = PurchasereceiptRequestDetail.allSchemas |
||||
|
// } |
||||
|
// } |
||||
|
|
||||
|
const formFormDateChange = (field, val,row, index) => { |
||||
|
if(field == 'produceDate'){ |
||||
|
let produceDateStr = formatDate(val,'YYYYMMDD'); |
||||
|
row.batch = produceDateStr |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** 初始化 **/ |
||||
|
onMounted(async () => { |
||||
|
getList() |
||||
|
importTemplateData.templateUrl = await PurchasereceiptRequestMainApi.importTemplate() |
||||
|
}) |
||||
|
</script> |
File diff suppressed because it is too large
Loading…
Reference in new issue