Browse Source

箱托规格

master_hella_20240701
zhang_li 5 months ago
parent
commit
9085d23514
  1. 5
      src/api/wms/supplierdeliverRequestDetail/index.ts
  2. 16
      src/components/TableForm/src/TableForm.vue
  3. 556
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
  4. 57
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts

5
src/api/wms/supplierdeliverRequestDetail/index.ts

@ -45,9 +45,12 @@ export const getSupplierdeliverRequestDetailPage = async (params) => {
}
// 查询供应商发货申请子列表
export const getGenerateLabelList = async (params) => {
return await request.get({ url: `/wms/supplierdeliver-request-detail/generateLabelList`, params })
}
// 查询托规格列表
export const getGenerateLabelParentList = async (params) => {
return await request.get({ url: `/wms/supplierdeliver-request-detail/generateLabelParentList`, params })
}
// 查询供应商发货申请子详情
export const getSupplierdeliverRequestDetail = async (id: number) => {
return await request.get({ url: `/wms/supplierdeliver-request-detail/get?id=` + id })

16
src/components/TableForm/src/TableForm.vue

@ -166,7 +166,7 @@
@blur="tableFormSelectOnBlur(headerItem.field, $event, row, $index)"
>
<el-option
v-for="op in initSelectOptions(headerItem)"
v-for="op in initSelectOptions(headerItem,row)"
:label="t(`ts.${op.label}`).replace('ts.', '')"
:value="op.value"
:key="op.value"
@ -196,7 +196,7 @@
@blur="tableFormSelectOnBlur(headerItem.field, $event, row, $index)"
>
<el-option-group
v-for="group in initSelectOptions(headerItem)"
v-for="group in initSelectOptions(headerItem,row)"
:key="group.type"
:label="t(`ts.${group.name}`).replace('ts.', '')"
>
@ -302,7 +302,7 @@
:id="headerItem?.tableForm?.id"
>
<el-radio
v-for="(item, index) in initSelectOptions(headerItem)"
v-for="(item, index) in initSelectOptions(headerItem,row)"
:key="index"
:label="t(`ts.${item.value}`).replace('ts.', '')"
:size="headerItem?.tableForm?.size"
@ -326,7 +326,7 @@
:fill="headerItem?.tableForm?.fill"
>
<el-checkbox
v-for="(item, index) in initSelectOptions(headerItem)"
v-for="(item, index) in initSelectOptions(headerItem,row)"
:key="index"
:label="t(`ts.${item.value}`).replace('ts.', '')"
:disabled="itemIsDisabled(headerItem, row)"
@ -520,8 +520,12 @@ const emit = defineEmits([
'batchAdd'
])
// | type = radio | type = select
const initSelectOptions = (item) => {
return item.dictType ? getStrDictOptions(item.dictType) : item.tableForm.initOptions
const initSelectOptions = (headerItem,row) => {
if(row[headerItem.field+'InitOptions']){
return row[headerItem.field+'InitOptions']
}else{
return headerItem.dictType ? getStrDictOptions(headerItem.dictType) : headerItem.tableForm.initOptions
}
}
//
const formSelectChange = (field, val, row) => {

556
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue

@ -2,7 +2,10 @@
<ContentWrap>
<!-- 搜索工作栏 -->
<Search
:schema="[...SupplierdeliverRequestMain.allSchemas.searchSchema,...SupplierdeliverRequestDetail.allSchemas.searchSchema]"
:schema="[
...SupplierdeliverRequestMain.allSchemas.searchSchema,
...SupplierdeliverRequestDetail.allSchemas.searchSchema
]"
@search="setSearchParams"
@reset="setSearchParams"
/>
@ -20,8 +23,9 @@
/>
<!-- 列表 -->
<ContentWrap >
<Table v-clientTable
<ContentWrap>
<Table
v-clientTable
:columns="tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
@ -37,14 +41,20 @@
<span>{{ row.number }}</span>
</el-button>
</template>
<template #action="{ row,$index }">
<ButtonBase :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event, row)" />
<template #action="{ row, $index }">
<ButtonBase
:Butttondata="butttondata(row, $index)"
@button-base-click="buttonTableClick($event, row)"
/>
</template>
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<supplierdeliverBasicForm ref="supplierdeliverFormRef" @getList="getList" ></supplierdeliverBasicForm>
<supplierdeliverBasicForm
ref="supplierdeliverFormRef"
@getList="getList"
></supplierdeliverBasicForm>
<!-- <BasicForm
ref="formRef"
:isOpenSearchTable="true"
@ -76,28 +86,32 @@
<!-- 详情 -->
<Detail
ref="detailRef"
:annexTable="[{
label: '质检明细',
prop: 'uploadFile',
tableName:'SupplierdeliverInspectionDetail',
hasSubDetail:true, //
showPreview:true, //
fileType:['pdf','jpg','png','jpeg'],
align:'left',
//
subDetailTableData:{
queryParams:[{
queryField:'masterId',
rowField:'masterId'
}], //
getSubList:SupplierdeliverInspectionDetailApi.getSupplierdeliverInspectionDetailPage,//
tableColumns:SupplierdeliverInspectionDetail.allSchemas.tableColumns,
tableList:[],//
total:1,
pageSize:10,
currentPage:1,
:annexTable="[
{
label: '质检明细',
prop: 'uploadFile',
tableName: 'SupplierdeliverInspectionDetail',
hasSubDetail: true, //
showPreview: true, //
fileType: ['pdf', 'jpg', 'png', 'jpeg'],
align: 'left',
//
subDetailTableData: {
queryParams: [
{
queryField: 'masterId',
rowField: 'masterId'
}
], //
getSubList: SupplierdeliverInspectionDetailApi.getSupplierdeliverInspectionDetailPage, //
tableColumns: SupplierdeliverInspectionDetail.allSchemas.tableColumns,
tableList: [], //
total: 1,
pageSize: 10,
currentPage: 1
}
}
}]"
]"
:isBasic="false"
:allSchemas="SupplierdeliverRequestMain.allSchemas"
:detailAllSchemas="SupplierdeliverRequestDetail.allSchemas"
@ -120,21 +134,22 @@
:mode="2"
/>
<!-- 创建标签 -->
<BasicForm
<!-- 创建标签 -->
<BasicForm
ref="formLabelRef"
@success="getList"
:tableAllSchemas="SupplierdeliverRequestDetailLabel.allSchemas"
:tableFormRules="SupplierdeliverRequestDetailRules"
:tableData="detatableData.tableList"
:tableData="detatableData1"
:isBusiness="true"
:isShowButton="false"
@searchTableSuccess="searchTableSuccessLabel"
@submitForm="submitFormLabel"
:isShowReduceButton="false"
@clearInput='clearInput'
:footButttondata="footButttondata"
@footButtonClick='footButtonClick'
@clearInput="clearInput"
:footButttondata="footButttondata"
@footButtonClick="footButtonClick"
@formSelectChange='formSelectChangeLabel'
/>
<!-- 上传质量报告 -->
<BasicForm
@ -156,12 +171,12 @@
</BasicForm>
<!-- 标签打印 -->
<SearchTable width="905px" ref="searchTableRef" @searchTableSuccess="searchTableSuccess1" >
<SearchTable width="905px" ref="searchTableRef" @searchTableSuccess="searchTableSuccess1">
<!-- <template #actions>
<el-button type="primary" @click="printAllClick">打印全部</el-button>
</template> -->
</SearchTable>
<labelForm ref="labelFormRef" :tableAllSchemas="SupplierdeliverRequestDetailLabel.allSchemas"/>
<labelForm ref="labelFormRef" :tableAllSchemas="SupplierdeliverRequestDetailLabel.allSchemas" />
</template>
<script setup lang="ts">
@ -174,9 +189,12 @@ import {
SupplierdeliverRequestDetail,
SupplierdeliverRequestDetailRules,
SupplierdeliverRequestDetailLabel,
SupplierdeliverRequestPackage,
SupplierdeliverRequestPackage
} from './supplierdeliverRequestMain.data'
import {   SupplierdeliverInspectionDetail,SupplierdeliverInspectionDetailRules} from '../supplierdeliverInspectionDetail/supplierdeliverInspectionDetail.data'
import {
SupplierdeliverInspectionDetail,
SupplierdeliverInspectionDetailRules
} from '../supplierdeliverInspectionDetail/supplierdeliverInspectionDetail.data'
import * as SupplierdeliverRequestMainApi from '@/api/wms/supplierdeliverRequestMain'
import * as SupplierdeliverRequestDetailApi from '@/api/wms/supplierdeliverRequestDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
@ -190,17 +208,21 @@ import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/su
import supplierdeliverBasicForm from './supplierdeliverBasicForm.vue'
import labelForm from './labelForm.vue'
import { getJmreportBaseUrl } from '@/utils/systemParam'
import { log } from 'console'
//
defineOptions({ name: 'SupplierdeliverRequestMain' })
const message = useMessage() //
const { t } = useI18n() //
const genLabelId = ref();
const genLabelId = ref()
const route = useRoute() //
const routeName = ref()
routeName.value = route.name
const tableColumns = ref([...SupplierdeliverRequestMain.allSchemas.tableColumns,...SupplierdeliverRequestDetail.allSchemas.tableMainColumns])
const tableColumns = ref([
...SupplierdeliverRequestMain.allSchemas.tableColumns,
...SupplierdeliverRequestDetail.allSchemas.tableMainColumns
])
//
const updataTableColumns = (val) => {
@ -211,8 +233,8 @@ const planArriveTimeStr = ref()
//
const searchTableSuccess = (formField, searchField, val, formRef, type, row) => {
nextTick(() => {
console.log("type:",type)
console.log("formField:",formField)
console.log('type:', type)
console.log('formField:', formField)
console.log(formField, searchField, val, formRef, type, row)
if (type == 'tableForm') {
//
@ -224,11 +246,11 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
// row['orderQty'] = val[0]['orderQty']
// row['uom'] = val[0]['uom']
// }
//--
//--
const itemCodes = []
val.forEach(item=>{
if(tableData.value.find(item1=>item1['id'] == item['id'])) return
const newRow = {...row}
val.forEach((item) => {
if (tableData.value.find((item1) => item1['id'] == item['id'])) return
const newRow = { ...row }
newRow[formField] = item[searchField]
newRow['poNumber'] = item['poNumber']
newRow['itemCode'] = item['itemCode']
@ -240,29 +262,29 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
})
//
ItembasicApi.getItembasicPage({
code:itemCodes.join(',')
}).then((res)=>{
res.list.forEach((item,index)=>{
const findItem = tableData.value.find(item1=>item1['itemCode']==item['code'])
code: itemCodes.join(',')
}).then((res) => {
res.list.forEach((item, index) => {
const findItem = tableData.value.find((item1) => item1['itemCode'] == item['code'])
findItem['expireTime'] = findItem['expireTime']
})
})
} else {
const setV = {}
setV[formField] = val[0][searchField]
if(formField == 'ppNumber'){
if (formField == 'ppNumber') {
//--
getSearchTableData(val[0]['number'],formField,searchField)
getSearchTableData(val[0]['number'], formField, searchField)
//
let beginTime = val[0]['endTime']
let deliveryDate = formatDate(val[0]['deliveryDate'],'YYYY-MM-DD')
planArriveTimeStr.value = deliveryDate + ' '+ beginTime+":00"
setV['planArriveTime']= new Date(planArriveTimeStr.value).valueOf();
let beginTime = val[0]['endTime']
let deliveryDate = formatDate(val[0]['deliveryDate'], 'YYYY-MM-DD')
planArriveTimeStr.value = deliveryDate + ' ' + beginTime + ':00'
setV['planArriveTime'] = new Date(planArriveTimeStr.value).valueOf()
//
tableData.value = []
}
if(formField == 'supplierCode'){
if (formField == 'supplierCode') {
setV['contactName'] = val[0]['contacts']
setV['contactPhone'] = val[0]['phone']
setV['contactEmail'] = val[0]['email']
@ -272,21 +294,30 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
})
}
//
const onEnter = async (field,value)=>{
console.log(field,value)
formRef.value.opensearchTable('supplierCode', 'code', '供应商信息', Supplier.allSchemas, SupplierApi.getSupplierPage,[{
key:'code',
value:value
}])
const onEnter = async (field, value) => {
console.log(field, value)
formRef.value.opensearchTable(
'supplierCode',
'code',
'供应商信息',
Supplier.allSchemas,
SupplierApi.getSupplierPage,
[
{
key: 'code',
value: value
}
]
)
}
const getSearchTableData = async (number,formField,searchField)=>{
const {tableObject ,tableMethods} = useTable({
defaultParams:{number},
const getSearchTableData = async (number, formField, searchField) => {
const { tableObject, tableMethods } = useTable({
defaultParams: { number },
getListApi: PurchasePlanDetailApi.getPurchasePlanDetailPage //
})
//
const { getList:getList1 } = tableMethods
const { getList: getList1 } = tableMethods
await getList1()
const tableColumns = PurchasePlanDetail.allSchemas.tableFormColumns
tableColumns.forEach((item) => {
@ -294,8 +325,8 @@ const getSearchTableData = async (number,formField,searchField)=>{
})
tableData.value = []
const itemCodes = []
tableObject.tableList.forEach(row=>{
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...row}))
tableObject.tableList.forEach((row) => {
const newRow = JSON.parse(JSON.stringify({ ...tableFormKeys, ...row }))
newRow[formField] = row[searchField]
newRow['poNumber'] = row['poNumber']
newRow['itemCode'] = row['itemCode']
@ -308,12 +339,11 @@ const getSearchTableData = async (number,formField,searchField)=>{
//
ItembasicApi.getItembasicPage({
code:itemCodes.join(',')
}).then((res)=>{
res.list.forEach((item,index)=>{
const findItem = tableData.value.find(item1=>item1['itemCode']==item['code'])
code: itemCodes.join(',')
}).then((res) => {
res.list.forEach((item, index) => {
const findItem = tableData.value.find((item1) => item1['itemCode'] == item['code'])
findItem['expireTime'] = findItem['expireTime']
})
})
}
@ -336,8 +366,8 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef) => {
//
const searchTableSuccessLabel = (formField, searchField, val, formRef, type, row) => {
nextTick(() => {
console.log("formField:",formField)
console.log("val:",val)
console.log('formField:', formField)
console.log('val:', val)
if (type == 'tableForm') {
//
row[formField] = val[0][searchField]
@ -355,8 +385,6 @@ const searchTableSuccessLabel = (formField, searchField, val, formRef, type, row
})
}
const { tableObject, tableMethods } = useTable({
getListApi: SupplierdeliverRequestDetailApi.getSupplierdeliverRequestDetailPage //
})
@ -395,7 +423,7 @@ const buttonBaseClick = (val, item) => {
handleExport()
} else if (val == 'refresh') {
//
if (tableObject.params.filters && tableObject.params.filters.length > 0 ) {
if (tableObject.params.filters && tableObject.params.filters.length > 0) {
searchFormClick({
filters: tableObject.params.filters
})
@ -419,9 +447,9 @@ const isShowMainButton = (row, val) => {
//
const isShowMainButtonLabel = (row, val) => {
if (val.indexOf(row.status) > -1) {
if(row.labelStatus == '2'){
if (row.labelStatus == '2') {
return true
}else{
} else {
return false
}
} else {
@ -432,9 +460,9 @@ const isShowMainButtonLabel = (row, val) => {
//
const isReGenLabelShowMainButtonLabel = (row, val) => {
if (val.indexOf(row.status) > -1) {
if(row.labelStatus == '1'){
if (row.labelStatus == '1') {
return true
}else{
} else {
return false
}
} else {
@ -443,17 +471,34 @@ const isReGenLabelShowMainButtonLabel = (row, val) => {
}
// -
const butttondata = (row,$index) => {
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1
if(findIndex>-1&&findIndex<$index){
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.mainListPurchasePlanOpeBtn({ hide: isShowMainButton(row, ['5']),hasPermi: 'wms:supplierdeliver-request-main:open' }), //
defaultButtons.mainListPlanUploadQualityReportBtn({ hide: isShowMainButton(row, ['1','2','3']),hasPermi: 'wms:supplierdeliver-request-main:uploadCheck'}), //
defaultButtons.mainListPlanSubBtn({ hide: isShowMainButton(row, ['1']),hasPermi: 'wms:supplierdeliver-request-main:sub' }), //
defaultButtons.mainListPlanAppBtn({ hide: isShowMainButton(row, ['2']),hasPermi: 'wms:supplierdeliver-request-main:app' }), //
defaultButtons.mainListPlanTurBtn({ hide: isShowMainButton(row, ['2']),hasPermi: 'wms:supplierdeliver-request-main:rej' }), //
defaultButtons.mainListPurchasePlanOpeBtn({
hide: isShowMainButton(row, ['5']),
hasPermi: 'wms:supplierdeliver-request-main:open'
}), //
defaultButtons.mainListPlanUploadQualityReportBtn({
hide: isShowMainButton(row, ['1', '2', '3']),
hasPermi: 'wms:supplierdeliver-request-main:uploadCheck'
}), //
defaultButtons.mainListPlanSubBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:supplierdeliver-request-main:sub'
}), //
defaultButtons.mainListPlanAppBtn({
hide: isShowMainButton(row, ['2']),
hasPermi: 'wms:supplierdeliver-request-main:app'
}), //
defaultButtons.mainListPlanTurBtn({
hide: isShowMainButton(row, ['2']),
hasPermi: 'wms:supplierdeliver-request-main:rej'
}), //
defaultButtons.mainListEditBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:supplierdeliver-request-main:update'
@ -479,7 +524,10 @@ const butttondata = (row,$index) => {
hasPermi: 'wms:supplierdeliver-request-main:genLabels',
link: true //
},
defaultButtons.mainListPointBtn({ hide: isShowMainButton(row, ['3','8']),hasPermi: 'wms:supplierdeliver-request-main:printLabel' }), //
defaultButtons.mainListPointBtn({
hide: isShowMainButton(row, ['3', '8']),
hasPermi: 'wms:supplierdeliver-request-main:printLabel'
}), //
//defaultButtons.mainListDocumentPrintBtn({ hide: isShowMainButton(row, ['3','8']) }), //
//
{
@ -492,10 +540,14 @@ const butttondata = (row,$index) => {
hasPermi: 'wms:supplierdeliver-request-main:genRecords',
link: true //
},
defaultButtons.mainListPurchasePlanCloBtn({ hide: isShowMainButton(row, ['1', '2', '4','3']),hasPermi: 'wms:supplierdeliver-request-main:close' }), //
defaultButtons.mainListPurchasePlanCloBtn({
hide: isShowMainButton(row, ['1', '2', '4', '3']),
hasPermi: 'wms:supplierdeliver-request-main:close'
}) //
]
}
const detatableData1 = ref([])
// -
const buttonTableClick = async (val, row) => {
if (val == 'mainPurPlanOpe') {
@ -507,7 +559,7 @@ const buttonTableClick = async (val, row) => {
} else if (val == 'mainPlanUploadQualityReport') {
//
handleUploadQualityReport(row)
} else if (val == 'mainPlanSub') {
} else if (val == 'mainPlanSub') {
//
handleSub(row.masterId)
} else if (val == 'mainPlanApp') {
@ -528,31 +580,51 @@ const buttonTableClick = async (val, row) => {
} else if (val == 'ssbq') {
//
detatableData.params = {
masterId:row.masterId
masterId: row.masterId
}
genLabelId.value = row.masterId
await getDetailList()
formLabelRef.value.open('create', row, null,'createLabel')// createLabel
} else if( val == 'ressbq'){
console.log("重新生成标签")
// await getDetailList()
const params1 = {
masterId: row.masterId,
pageSize: '500',
pageNo: '1',
sort: '',
by: 'ASC'
}
await SupplierdeliverRequestDetailApi.getGenerateLabelList(params1).then((res) => {
detatableData1.value = res
detatableData1.value.forEach((item) => {
console.log(item.boxPackaging)
if (item.boxPackaging?.length > 0) {
item.packUnitInitOptions = item.boxPackaging.map((cur) => {
return { label: cur.packName, value: cur.packUnit }
})
}
})
})
formLabelRef.value.open('create', row, null, 'createLabel') // createLabel
} else if (val == 'ressbq') {
console.log('重新生成标签')
ElMessageBox.confirm(t('ts.重新生成标签会删除上次生成的标签,是否确认继续?'), '提示', {
confirmButtonText: t('ts.确 认'),
cancelButtonText: t('ts.取 消')
}).then(() => {
SupplierdeliverRequestMainApi.deleteOldLabels(row.masterId).then(async res =>{
if(res){
})
.then(() => {
SupplierdeliverRequestMainApi.deleteOldLabels(row.masterId).then(async (res) => {
if (res) {
//
detatableData.params = {
masterId:row.masterId
masterId: row.masterId
}
genLabelId.value = row.masterId
await getDetailList()
formLabelRef.value.open('create', row, null,'createLabel')// createLabel
formLabelRef.value.open('create', row, null, 'createLabel') // createLabel
}
})
})
}).catch(() => {
.catch(() => {
console.info('操作取消')
})
})
} else if (val == 'point') {
//
labelPrint(row)
@ -567,21 +639,38 @@ const footButttondata = ref([
])
//
const labelFormRef = ref()
const footButtonClick = (val)=>{
if(val == 'nextStep'){
labelFormRef.value.openLabel(detatableData.tableList)
}else if(val == 'close'){
const footButtonClick = async (val) => {
if (val == 'nextStep') {
labelFormRef.value.openLabel(detatableData1)
} else if (val == 'close') {
formLabelRef.value.dialogVisible = false
}
}
//
//
const formSelectChangeLabel =( field, val, row)=>{
if(field=='packUnit'){
let obj= row.boxPackaging.find(item=>item.packUnit ==val )
row.packQty = obj.packQty
//
const params1 = {
itemCode:row.itemCode,
packUnit:row.packUnit
}
SupplierdeliverRequestDetailApi.getGenerateLabelParentList(params1).then((res)=>{
})
}
}
//
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,'requestSupplierdeliverMain')
detailRef.value.openDetail(row, titleName, titleValue, 'requestSupplierdeliverMain')
}
///
const formRef = ref()
@ -637,7 +726,8 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess'))
//
await getList()
} catch {}finally{
} catch {
} finally {
tableObject.loading = false
}
}
@ -653,7 +743,8 @@ const handleClo = async (id: number) => {
message.success(t('ts.关闭成功!'))
//
await getList()
} catch {}finally{
} catch {
} finally {
tableObject.loading = false
}
}
@ -669,46 +760,56 @@ const handleOpe = async (id: number) => {
message.success(t('ts.打开成功!'))
//
await getList()
} catch {}finally{
} catch {
} finally {
tableObject.loading = false
}
}
const ploadQualityReportRef = ref()
const uploadQualityReportTableData = ref([])
const handleAddQualityReport = ()=>{
const tableFormKeys = {}
const handleAddQualityReport = () => {
const tableFormKeys = {}
SupplierdeliverInspectionDetail.allSchemas.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
uploadQualityReportTableData.value.push(tableFormKeys)
console.log('handleAddQualityReport')
}
const handleDeleteQualityReport = (row,index)=>{
uploadQualityReportTableData.value.splice(index,1)
console.log('handleDeleteQualityReport',row)
const handleDeleteQualityReport = (row, index) => {
uploadQualityReportTableData.value.splice(index, 1)
console.log('handleDeleteQualityReport', row)
}
/** 上传质量报告 */
const handleUploadQualityReport = async (row) => {
console.log('SupplierdeliverInspectionDetail',SupplierdeliverInspectionDetail.allSchemas)
const uploadFile = SupplierdeliverInspectionDetail.allSchemas.formSchema.find(item=>item.field=='uploadFile')
if(uploadFile){
const handleUploadQualityReport = async (row) => {
console.log('SupplierdeliverInspectionDetail', SupplierdeliverInspectionDetail.allSchemas)
const uploadFile = SupplierdeliverInspectionDetail.allSchemas.formSchema.find(
(item) => item.field == 'uploadFile'
)
if (uploadFile) {
uploadFile['componentProps']['upData']['tableId'] = row.masterId
}
ploadQualityReportRef.value.open('create', null, {masterId:row.masterId},t('ts.上传质检报告'),t('ts.上传质检报告'))// createLabel
const tableFormKeys = {}
ploadQualityReportRef.value.open(
'create',
null,
{ masterId: row.masterId },
t('ts.上传质检报告'),
t('ts.上传质检报告')
) // createLabel
const tableFormKeys = {}
SupplierdeliverInspectionDetail.allSchemas.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
await SupplierdeliverInspectionDetailApi.getSupplierdeliverDetailInfo(row.masterId).then(res => {
if(res){
// console.log(":",res)
uploadQualityReportTableData.value = res;
await SupplierdeliverInspectionDetailApi.getSupplierdeliverDetailInfo(row.masterId).then(
(res) => {
if (res) {
// console.log(":",res)
uploadQualityReportTableData.value = res
}
}
})
)
//uploadQualityReportTableData.value = [tableFormKeys]
}
@ -737,7 +838,8 @@ const handleSub = async (id: number) => {
message.success(t('ts.提交审批成功!'))
//
await getList()
} catch {}finally{
} catch {
} finally {
tableObject.loading = false
}
}
@ -753,7 +855,8 @@ const handleApp = async (id: number) => {
message.success(t('ts.审批通过成功!'))
//
await getList()
} catch {}finally{
} catch {
} finally {
tableObject.loading = false
}
}
@ -769,7 +872,8 @@ const handleTur = async (id: number) => {
message.success(t('ts.驳回成功!'))
//
await getList()
} catch {}finally{
} catch {
} finally {
tableObject.loading = false
}
}
@ -777,11 +881,12 @@ const handleTur = async (id: number) => {
/** 处理按钮操作 */
const genRecords = async (id: number) => {
let getLoading = null
await SupplierdeliverRequestMainApi.selfCheckReport(id).then(async res => {
if(!res){
message.warning(t('ts.请先上传自检报告!'))
return
}else{
await SupplierdeliverRequestMainApi.selfCheckReport(id)
.then(async (res) => {
if (!res) {
message.warning(t('ts.请先上传自检报告!'))
return
} else {
//
await message.confirm(t('ts.是否处理所选中数据?'))
getLoading = ElLoading.service({
@ -790,26 +895,27 @@ const genRecords = async (id: number) => {
background: 'rgba(0, 0, 0, 0.7)'
})
//
SupplierdeliverRequestMainApi.genRecordsSupplierdeliverRequestMain(id).then(res => {
message.success(t('ts.处理成功!'))
console.log('resresresresres',res)
//
getList()
console.log('刷新列表')
getLoading?.close()
//
handleDocumentPrint(res)
}).catch(err=>{
console.log("发起处理",err)
getLoading?.close()
})
SupplierdeliverRequestMainApi.genRecordsSupplierdeliverRequestMain(id)
.then((res) => {
message.success(t('ts.处理成功!'))
console.log('resresresresres', res)
//
getList()
console.log('刷新列表')
getLoading?.close()
//
handleDocumentPrint(res)
})
.catch((err) => {
console.log('发起处理', err)
getLoading?.close()
})
}
}).catch(err => {
console.log("自检报告校验异常",err)
})
.catch((err) => {
console.log('自检报告校验异常', err)
getLoading?.close()
})
}
@ -834,43 +940,45 @@ const handleExport = async () => {
//
const isCreateLabel = ref(false)
const formLabelRef = ref()
const { tableObject: detatableData, tableMethods: detatableMethods } =useTable({
getListApi: SupplierdeliverRequestDetailApi.getGenerateLabelList
const { tableObject: detatableData, tableMethods: detatableMethods } = useTable({
getListApi: SupplierdeliverRequestDetailApi.getSupplierdeliverRequestDetailPage
})
detatableData.pageSize = 500
const { getList:getDetailList } = detatableMethods
const { getList: getDetailList } = detatableMethods
//
const submitFormLabel = async (formType, submitData) => {
let data = {...submitData}
if(data.masterId){
let data = { ...submitData }
if (data.masterId) {
data.id = data.masterId
}
try {
console.log("formType==",formType)
console.log("data==",data)
console.log('formType==', formType)
console.log('data==', data)
data.subList = detatableData.tableList
if(detatableData.tableList.find(item=>item.secondPackUnit==item.packUnit)){
if (detatableData.tableList.find((item) => item.secondPackUnit == item.packUnit)) {
message.warning(t('ts.包装规格1和包装规格2不能相同'))
return
}
//
let flag = false;
await SupplierdeliverRequestMainApi.checkPackQty(data).then(async res => {
if(res){
await message.confirm(t('ts.是否修改物料包装标包数量')+'?').then(()=>{
flag = true; //
}).catch(() =>{
flag = false
})
}else{
flag = true; //
let flag = false
await SupplierdeliverRequestMainApi.checkPackQty(data).then(async (res) => {
if (res) {
await message
.confirm(t('ts.是否修改物料包装标包数量') + '?')
.then(() => {
flag = true //
})
.catch(() => {
flag = false
})
} else {
flag = true //
}
})
console.log("返回结果",flag);
if(flag){
console.log("detatableData",detatableData)
console.log('返回结果', flag)
if (flag) {
console.log('detatableData', detatableData)
await message.confirm(t('ts.是否为此数据生成标签?'))
await SupplierdeliverRequestMainApi.genLabel(data)
isCreateLabel.value = true
@ -882,14 +990,13 @@ const submitFormLabel = async (formType, submitData) => {
formLabelRef.value.dialogVisible = false
}
}
const clearInput = async (field,row,index) => {
row[field]=''
row['secondPackQty']=''
const clearInput = async (field, row, index) => {
row[field] = ''
row['secondPackQty'] = ''
SupplierdeliverRequestDetailRules.secondPackQty[0].required = false
}
const BASE_URL = getJmreportBaseUrl()
const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAccessToken())
getListApi: PurchasePlanDetailApi.getPurchasePlanDetailPage //
@ -898,48 +1005,48 @@ getListApi: PurchasePlanDetailApi.getPurchasePlanDetailPage // 分页接口
const searchTableRef = ref()
const labelPrint = async (row) => {
tableObject.loading = true
const defaultParams = {'moduleName':'supplier','recordNumber':row.number}
const {tableObject:tableObjectPrint ,tableMethods} = useTable({
const defaultParams = { moduleName: 'supplier', recordNumber: row.number }
const { tableObject: tableObjectPrint, tableMethods } = useTable({
defaultParams,
getListApi: PackageApi.getLabelDetailPage //
getListApi: PackageApi.getLabelDetailPage //
})
//
const { getList:getListPrint } = tableMethods
const { getList: getListPrint } = tableMethods
getListPrint()
tableObject.loading = false
const tableColumns = SupplierdeliverRequestPackage.allSchemas.tableFormColumns
tableColumns.forEach((item) => {
item.width = item.table?.width
})
searchTableRef.value.openData(t('ts.标签信息'),tableObjectPrint,{tableColumns},true)
searchTableRef.value.openData(t('ts.标签信息'), tableObjectPrint, { tableColumns }, true)
}
//
const printAllClick = ()=>{
}
const printAllClick = () => {}
// --
const searchTableSuccess1 = async (formField, searchField, val, formRef, type, row) => {
console.log('批量打印',val)
console.log('批量打印', val)
// let rows:any = []
// val.forEach(item=>{
// rows = [...rows,...item.selectionRows.map(item1=>item1.number)]
// })
if(val.length == 0){
if (val.length == 0) {
message.warning(t('ts.请先选择要打印的数据'))
return
}
// 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)
window.open(src.value + '&asn_number=' + res)
}).catch(err => {
console.log(err)
message.error(t('ts.创建标签失败'))
})
})
.catch((err) => {
console.log(err)
message.error(t('ts.创建标签失败'))
})
}
const print = async () => {
@ -974,14 +1081,14 @@ const handleDeleteTable = (item, index) => {
//
const submitForm = async (formType, submitData) => {
let data = {...submitData}
if(data.masterId){
let data = { ...submitData }
if (data.masterId) {
data.id = data.masterId
}
data.subList = tableData.value //
let isHave = data.subList.some((item) => {
console.log("CCCCC",item.expireDate)
if(item.expireDate != null){
console.log('CCCCC', item.expireDate)
if (item.expireDate != null) {
item.produceDate > item.expireDate
}
})
@ -992,27 +1099,30 @@ const submitForm = async (formType, submitData) => {
}
try {
if (formType === 'create') {
let planArriveStr = formatDate(data.planArriveTime);
if(planArriveStr > planArriveTimeStr.value){
let confirmFlag = false;
await message.confirm(`${t('ts.计划到货时间大于')}${planArriveTimeStr.value}${t('ts.是否继续?')}`).then(() => {
console.log("选择了OK")
//OK
}).catch(() => {
//
console.log("选择了cancel")
confirmFlag = true;
formRef.value.formLoading = false
return;
})
if(confirmFlag){
return;
let planArriveStr = formatDate(data.planArriveTime)
if (planArriveStr > planArriveTimeStr.value) {
let confirmFlag = false
await message
.confirm(`${t('ts.计划到货时间大于')}${planArriveTimeStr.value}${t('ts.是否继续?')}`)
.then(() => {
console.log('选择了OK')
//OK
})
.catch(() => {
//
console.log('选择了cancel')
confirmFlag = true
formRef.value.formLoading = false
return
})
if (confirmFlag) {
return
}
}
if(tableData.value.length <= 0){
if (tableData.value.length <= 0) {
message.warning(t('ts.子表明细不能为空!'))
formRef.value.formLoading = false
return;
return
}
await SupplierdeliverRequestMainApi.createSupplierdeliverRequestMain(data)
message.success(t('common.createSuccess'))
@ -1054,9 +1164,9 @@ const searchFormClick = (searchData) => {
getList() //
}
const formFormDateChange = (field, val,row, index) => {
if(field == 'produceDate'){
let produceDateStr = formatDate(val,'YYYYMMDD');
const formFormDateChange = (field, val, row, index) => {
if (field == 'produceDate') {
let produceDateStr = formatDate(val, 'YYYYMMDD')
row.batch = produceDateStr
row.supplierBatch = produceDateStr
}

57
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts

@ -1604,16 +1604,57 @@ export const SupplierdeliverRequestDetailLabel = useCrudSchemas(reactive<CrudSch
isTable: true,
sort: 'custom',
form: {
value: userDept.id,
component: 'Select',
api: () => userDeptArray,
},
tableForm: {
type: 'Select',
initOptions: [{
label: '',
value: ''
}]
}
},{
label: '箱规格数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
form: {
componentProps: {
disabled: true,
optionsAlias: {
labelField: 'name',
valueField: 'id'
}
}
},
tableForm: {
disabled:true
}
},
{
label: '托规格',
field: 'parentCode',
isTable: true,
sort: 'custom',
form: {
},
tableForm: {
type: 'Select',
initOptions: [{
label: '',
value: ''
}]
}
},
{
label: '托规格数量',
field: 'parentQty',
sort: 'custom',
table: {
width: 150
},
form: {
componentProps: {
}
},
tableForm: {
disabled:true
}
},

Loading…
Cancel
Save