From 3fd2adc06bd63c5ed1a49e24f81cbdafc4fd2263 Mon Sep 17 00:00:00 2001
From: zhaoxuebing <1291173720@qq.com>
Date: Mon, 13 May 2024 10:30:08 +0800
Subject: [PATCH] =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=A2=9E=E5=8A=A0=E6=89=93?=
=?UTF-8?q?=E5=8D=B0=E6=A0=87=E7=AD=BE=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wms/purchasereturnRequestMain/index.ts | 5 +
.../purchasereceiptRequestMain/index.vue | 1 -
.../purchasereturnRequestMain/index.vue | 136 ++++++++-
.../purchasereturnRequestMain.data.ts | 267 +++++++++++++++++-
4 files changed, 395 insertions(+), 14 deletions(-)
diff --git a/src/api/wms/purchasereturnRequestMain/index.ts b/src/api/wms/purchasereturnRequestMain/index.ts
index d6b4a3b7c..10be8d9e6 100644
--- a/src/api/wms/purchasereturnRequestMain/index.ts
+++ b/src/api/wms/purchasereturnRequestMain/index.ts
@@ -107,3 +107,8 @@ export const refusedPurchasereturnRequestMain = async (id) => {
export const handlePurchasereturnRequestMain = async (id) => {
return await request.put({ url: `/wms/purchasereturn-request-main/handle?id=` + id })
}
+
+// 生成标签
+export const genLabel = async (data) => {
+ return await request.post({ url: `/wms/purchasereturn-request-main/genLabel`, data })
+}
diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue
index ded71312d..16b361438 100644
--- a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue
+++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestMain/index.vue
@@ -110,7 +110,6 @@
:isShowReduceButton="false"
@submitForm="submitFormLabel"
@searchTableSuccess="searchTableSuccessLabel"
-
/>
diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue
index 84486e1c7..eb2bff794 100644
--- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue
+++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue
@@ -85,6 +85,21 @@
:detailValidate="detailValidate"
/>
+
+
+
+
{
}
}
+// 生成标签
+const isCreateLabel = ref(false)
+const formLabelRef = ref()
+const { tableObject: detatableData, tableMethods: detatableMethods } =useTable({
+ getListApi: PurchasereturnRequestDetailApi.getPurchasereturnRequestDetailPage
+})
+const { getList:getDetailList } = detatableMethods
+
+// 生成标签按钮操作
+const submitFormLabel = async (formType, data) => {
+ try {
+ console.log("formType==",formType)
+ console.log("data==",data)
+ data.subList = detatableData.tableList
+ console.log("detatableData",detatableData)
+ await message.confirm(t('ts.是否为此数据生成标签?'))
+ await PurchasereturnRequestMainApi.genLabel(data) //genLabelId.value
+ isCreateLabel.value = true
+ message.success('创建标签成功')
+ } finally {
+ formLabelRef.value.formLoading = false
+ formLabelRef.value.dialogVisible = false
+ }
+}
+
+// 查询页面返回
+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']
+ }
+ }
+ })
+}
+
// 查询页面返回
const searchTableSuccess = (formField, searchField, val, formRef, type, row) => {
nextTick(() => {
@@ -195,8 +254,6 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
if(formField == 'purchaseReceiptRecordNumber'){
// isShowButton.value = false
setV[formField] = val[0][searchField]
- console.log(333333,val[0]);
-
setV['purchaseReceiptRecordNumber'] = val[0]['number']
setV['supplierCode'] = val[0]['supplierCode']
setV['asnNumber'] = val[0]['asnNumber']
@@ -209,7 +266,6 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
if (res) tableData.value = res
tableData.value.forEach((item) => {
item.batch = item.toBatch
-
item.packingNumber = item.toPackingNumber
item.containerNumber = item.toContainerNumber
item.receiptQty = item.qty
@@ -413,7 +469,18 @@ const butttondata = (row,$index) => {
defaultButtons.mainListEditBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:purchasereceipt-request-main:update'
- }) // 编辑
+ }), // 编辑
+ {
+ label: '生成标签',
+ name: 'ssbq',
+ hide: isShowMainButton(row, ['3']),
+ type: 'primary',
+ icon: '',
+ color: '',
+ hasPermi: '',
+ link: true // 文本展现按钮
+ },
+ defaultButtons.mainListPointBtn({ hide: isShowMainButton(row, ['3','8']) }), // 标签打印
]
}
@@ -440,7 +507,18 @@ const buttonTableClick = async (val, row) => {
} 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)
+ }
}
/** 添加/修改操作 */
@@ -814,6 +892,48 @@ const detailOpenForm = (type, row) =>{
})
}
+
+const BASE_URL = import.meta.env.VITE_JMREPORT_BASE_URL
+const src = ref(BASE_URL + '/jmreport/view/922729953438072832?token=' + getAccessToken())
+
+// 标签打印
+const showLabelRef = ref()
+const labelPrint = async (row) => {
+ tableObject.loading = true
+ const defaultParams = {'moduleName':'supplier','recordNumber':row.number}
+ 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
+ })
+ showLabelRef.value.openData("标签信息",tableObjectPrint,{tableColumns},true)
+}
+
+// 批量打印---采购收货申请
+const showLabelSuccess = async (formField, searchField, val, formRef, type, row) => {
+ console.log('批量打印',val)
+
+ if(val.length == 0){
+ message.warning("请先选择要打印的数据!")
+ return
+ }
+ 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('创建标签失败')
+ })
+}
+
/** 初始化 **/
onMounted(async () => {
getList()
diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts
index 805c58a68..fedad8d98 100644
--- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts
+++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts
@@ -2,14 +2,12 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter,dateFormatter2 } from '@/utils/formatTime'
const { t } = useI18n() // 国际化
import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
-import * as PurchasereceiptRecordMainApi from '@/api/wms/purchasereceiptRecordMain'
-import {
- PurchasereceiptRecordDetail,
- PurchasereceiptRecordMain
-} from '../../purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data'
+import { PurchasereceiptRecordDetail,PurchasereceiptRecordMain } from '../../purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data'
import * as PurchasereceiptRecordDetailApi from '@/api/wms/purchasereceiptRecordDetail'
import { Supplier } from "@/views/wms/basicDataManage/supplierManage/supplier/supplier.data";
import * as SupplierApi from "@/api/wms/supplier";
+import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data'
+import * as ItemPackageApi from '@/api/wms/itempackage/index'
// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
@@ -1202,3 +1200,262 @@ export const PurchasereturnRequestDetailRules = reactive({
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
})
+
+export const PurchasereReturnRequestDetailLabel = useCrudSchemas(reactive([
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '物料名称',
+ field: 'itemName',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled:true
+ },
+ isTableForm: true,
+ },
+ {
+ label: '物料描述1',
+ field: 'itemDesc1',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled:true
+ },
+ isTableForm: true,
+ },
+ {
+ label: '物料描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '包装号',
+ field: 'packingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '器具号',
+ field: 'containerNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ componentProps: {
+ disabled:true,
+ min: 1,
+ precision: 6
+ },
+ },
+ tableForm: {
+ disabled:true,
+ type: 'InputNumber',
+ min: 1,
+ precision: 6
+ }
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ type: 'Select',
+ disabled: true
+ }
+ },
+ {
+ label: '从库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '生产日期',
+ field: 'produceDate',
+ formatter: dateFormatter2,
+ detail: {
+ dateFormat: 'YYYY-MM-DD'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ disabled:true,
+ style: {width: '100%'},
+ type: 'date',
+ dateFormat: 'YYYY-MM-DD',
+ valueFormat: 'x',
+ }
+ },
+ tableForm:{
+ disabled:true,
+ type:'FormDate',
+ placeholder: '请选择生产日期',
+ valueFormat: 'x',
+ },
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled: true
+ }
+ },
+ {
+ label: '替代批次',
+ field: 'altBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false,
+ tableForm: {
+ type: 'Select'
+ }
+ },
+ {
+ label: '包装数量',
+ field: 'packQty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ componentProps: {
+ disabled: true,
+ isSearchList: true,
+ searchListPlaceholder: '请选择包装',
+ searchField: 'packQty',
+ searchTitle: '物品包装信息',
+ searchAllSchemas: Itempackaging.allSchemas,
+ searchPage: ItemPackageApi.getItempackagingPageBySupplierdeliver,
+ searchCondition: [
+ {
+ key: 'itemCode',
+ value: 'itemCode',
+ message: '请选择订单行',
+ isMainValue: true
+ },
+ {
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }
+
+ ]
+ }
+ },
+ tableForm: {
+ disabled: true,
+ isInpuFocusShow: true,
+ searchListPlaceholder: '请选择包装',
+ searchField: 'packQty',
+ searchTitle: '物品包装信息',
+ searchAllSchemas: Itempackaging.allSchemas,
+ searchPage: ItemPackageApi.getItempackagingPageBySupplierdeliver,
+ searchCondition: [
+ {
+ key: 'itemCode',
+ value: 'itemCode',
+ message: '请选择订单行',
+ isMainValue: true
+ },
+ {
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ },
+ isTableForm: true,
+ isForm: true
+ },
+ {
+ label: '包装规格',
+ field: 'packUnit',
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150,
+ componentProps: {
+ disabled: true
+ }
+ },
+ tableForm:{
+ disabled:true
+ },
+ isTableForm: true,
+ isForm: true
+ },
+]))
\ No newline at end of file