Browse Source

Merge branch 'intex' of http://dev.ccwin-in.com:3000/sfms3.0/sfms3.0-ui into intex

intex_online20241228
ljlong_2630 2 months ago
parent
commit
0e359b616b
  1. 4
      src/api/wms/package/index.ts
  2. 3
      src/components/TableForm/src/TableForm.vue
  3. 13
      src/utils/validator.ts
  4. 785
      src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue
  5. 51
      src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts
  6. 18
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue
  7. 95
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts
  8. 22
      src/views/wms/moveManage/inventorychange/inventorychangeRecordMain/inventorychangeRecordMain.data.ts
  9. 28
      src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts
  10. 1
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/inventorymoveRequestMain.data.ts
  11. 8
      src/views/wms/productionManage/productredress/productredressRequestMain/index.vue
  12. 2
      src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue
  13. 3
      src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts
  14. 1
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue

4
src/api/wms/package/index.ts

@ -100,6 +100,10 @@ export const createPackageLabel = async (data: PackageVO) => {
export const batchPrintingLable = async (data: any) => { export const batchPrintingLable = async (data: any) => {
return await request.post({ url: `/wms/package/batchPrintingLable`, data }) return await request.post({ url: `/wms/package/batchPrintingLable`, data })
} }
// 批量打印标签计划外入库申请用的
export const batchPrintingLableForYT = async (data: any) => {
return await request.post({ url: `/wms/package/batchPrintingLableForYT`, data })
}
// 获取标签信息 // 获取标签信息
export const getPrintingLableId = async (data: any) => { export const getPrintingLableId = async (data: any) => {
return await request.put({ url: `/wms/package/getLablesByPackingNumber`, data }) return await request.put({ url: `/wms/package/getLablesByPackingNumber`, data })

3
src/components/TableForm/src/TableForm.vue

@ -100,7 +100,7 @@
`ts.${headerItem?.tableForm?.placeholder || '请输入' + headerItem.label}` `ts.${headerItem?.tableForm?.placeholder || '请输入' + headerItem.label}`
).replace('ts.', '') ).replace('ts.', '')
" "
:disabled="disabledInput(headerItem, row)" :disabled="itemIsDisabled(headerItem, row)"
style="flex: 1" style="flex: 1"
@blur="inputStringBlur(headerItem, row[headerItem.field], row, index)" @blur="inputStringBlur(headerItem, row[headerItem.field], row, index)"
@clear="clearInput(headerItem.field, row, index)" @clear="clearInput(headerItem.field, row, index)"
@ -120,6 +120,7 @@
:key="headerItem.field + $index + 'button'" :key="headerItem.field + $index + 'button'"
v-if="headerItem?.tableForm?.isInpuFocusShow || showInputSearch(headerItem, row)" v-if="headerItem?.tableForm?.isInpuFocusShow || showInputSearch(headerItem, row)"
@click="inpuFocus(headerItem, row, index)" @click="inpuFocus(headerItem, row, index)"
:disabled="itemIsDisabled(headerItem, row)"
><Icon icon="ep:search" size="14" ><Icon icon="ep:search" size="14"
/></el-button> /></el-button>
</el-form-item> </el-form-item>

13
src/utils/validator.ts

@ -823,7 +823,15 @@ export function validatePositiveNumber(rule, value, callback){
callback(new Error('必须是一个正数')); callback(new Error('必须是一个正数'));
} }
} }
// 校验带0的正数
export function validatePositiveNumber0(rule, value, callback) {
const numericValue = Number(value);
if (numericValue >= 0) {
callback();
} else {
callback(new Error('必须是一个正数'));
}
}
export default { export default {
validateCode, validateCode,
validateEmail, validateEmail,
@ -858,5 +866,6 @@ export default {
validateMaxNumber5, validateMaxNumber5,
validatePercent, validatePercent,
validateNumSix, validateNumSix,
validateSixNum validateSixNum,
validatePositiveNumber0
} }

785
src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue

File diff suppressed because it is too large

51
src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts

@ -24,6 +24,12 @@ import { QadProject } from '@/views/wms/basicDataManage/subject/qadProject/qadPr
import * as QadProjectApi from '@/api/wms/qadProject' import * as QadProjectApi from '@/api/wms/qadProject'
import * as BusinesstypeApi from '@/api/wms/businesstype' import * as BusinesstypeApi from '@/api/wms/businesstype'
import * as SupplieritemApi from '@/api/wms/supplieritem'
import { Supplieritem } from '@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data'
import * as ProductionlineitemApi from '@/api/wms/productionlineitem'
import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data'
const businessType = 'UnplannedReceipt' const businessType = 'UnplannedReceipt'
const { t } = useI18n() // 国际化 const { t } = useI18n() // 国际化
@ -1762,6 +1768,51 @@ export const UnplannedreceiptRequestDetailLabel = useCrudSchemas(reactive<CrudSc
disabled: true, disabled: true,
} }
}, },
{
label: '标签生产线代码',
field: 'productionLineCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
enterSearch: true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择生产线代码', // 输入框占位文本
searchField: 'productionLineCode', // 查询弹窗赋值字段
searchTitle: '生产线物料关系信息', // 查询弹窗标题
searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类
searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'itemCode',
value: 'itemCode',
isMainValue: true
}]
}
},
{
label: '标签供应商代码',
field: 'supplierCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
enterSearch: true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
searchField: 'supplierCode', // 查询弹窗赋值字段
searchTitle: '供应商信息', // 查询弹窗标题
searchAllSchemas: Supplieritem.allSchemas, // 查询弹窗所需类
searchPage: SupplieritemApi.getSupplieritemPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'itemCode',
value: 'itemCode',
message: '请填写物料代码!',
isMainValue: true
}]
}
},
])) ]))
//表单校验 //表单校验

18
src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue

@ -573,11 +573,10 @@ const buttonTableClick = async (val, row) => {
// //
detailListTableColumnsRules.value = cloneDeep(ProductionreturnRequestDetailLabelRules) detailListTableColumnsRules.value = cloneDeep(ProductionreturnRequestDetailLabelRules)
if (res.list[0].enableBuy == "TRUE") { if (res.list[0].enableBuy == "TRUE") {
detailListTableColumns.tableFormColumns = ProductionreturnRequestDetailLabel.allSchemas.tableFormColumns.filter(item=>item.field != 'productionLineCodePackage') detailListTableColumns.tableFormColumns = ProductionreturnRequestDetailLabel.allSchemas.tableFormColumns.filter(item=>item.field != 'productionLineCode')
delete detailListTableColumnsRules.value.productionLineCodePackage
// tableform // tableform
detailListTableColumns.tableFormColumns.map(itemColumns => { detailListTableColumns.tableFormColumns.map(itemColumns => {
if(itemColumns.field == 'supplierItemCode') { if(itemColumns.field == 'supplierCode') {
SupplieritemApi.getSupplieritemPage({ SupplieritemApi.getSupplieritemPage({
pageSize: 10, pageSize: 10,
pageNo: 1, pageNo: 1,
@ -585,7 +584,7 @@ const buttonTableClick = async (val, row) => {
sort: '', sort: '',
by: 'ASC', by: 'ASC',
}).then(response => { }).then(response => {
item.supplierItemCode = response.list[0].supplierCode item.supplierCode = response.list[0].supplierCode
formLabelRef.value.formLoading = false formLabelRef.value.formLoading = false
}) })
} }
@ -594,17 +593,16 @@ const buttonTableClick = async (val, row) => {
// //
if (res.list[0].enableMake == "TRUE") { if (res.list[0].enableMake == "TRUE") {
// tableform // tableform
detailListTableColumns.tableFormColumns = ProductionreturnRequestDetailLabel.allSchemas.tableFormColumns.filter(item=>item.field != 'supplierItemCode') detailListTableColumns.tableFormColumns = ProductionreturnRequestDetailLabel.allSchemas.tableFormColumns.filter(item=>item.field != 'supplierCode')
delete detailListTableColumnsRules.value.supplierItemCode
detailListTableColumns.tableFormColumns.map(itemColumns => { detailListTableColumns.tableFormColumns.map(itemColumns => {
if(itemColumns.field == 'productionLineCodePackage') { if(itemColumns.field == 'productionLineCode') {
ProductionlineitemApi.getProductionlineitemPage({ ProductionlineitemApi.getProductionlineitemPage({
pageNo: 1, pageNo: 1,
itemCode: item.itemCode, itemCode: item.itemCode,
sort: '', sort: '',
by: 'ASC', by: 'ASC',
}).then(response => { }).then(response => {
item.supplierItemCode = response.list[0].supplierCode item.productionLineCode = response.list[0].productionLineCode
formLabelRef.value.formLoading = false formLabelRef.value.formLoading = false
}) })
} }
@ -729,7 +727,7 @@ const searchTableSuccess1 = async (formField, searchField, val, formRef, type, r
if (array1.length > 0) { if (array1.length > 0) {
await PackageApi.batchPrintingLable(array1.map(item1=>item1.number).join(',')).then(res => { await PackageApi.batchPrintingLable(array1.map(item1=>item1.number).join(',')).then(res => {
console.log(res) console.log(res)
const src = ref(BASE_URL + '/jmreport/view/922729953438072832?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)
@ -908,7 +906,7 @@ const handlePoint = async (row) => {
}).then((res) => { }).then((res) => {
if(res.list.length > 0) { if(res.list.length > 0) {
isCreateLabel.value = true isCreateLabel.value = true
if (res.list[0].supplierItemCode != null) { if (res.list[0].supplierCode != null) {
labelType.value = 'cg' labelType.value = 'cg'
} else if(res.list[0].productionLineCode != null){ } else if(res.list[0].productionLineCode != null){
labelType.value = 'zz' labelType.value = 'zz'

95
src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts

@ -1408,51 +1408,7 @@ export const ProductionreturnRequestDetailRules = reactive({
* @returns {Array} 退 * @returns {Array} 退
*/ */
export const ProductionreturnRequestDetailLabel = useCrudSchemas(reactive<CrudSchema[]>([ export const ProductionreturnRequestDetailLabel = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '标签生产线代码',
field: 'productionLineCodePackage',
sort: 'custom',
table: {
width: 150
},
tableForm:{
disabled: true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择生产线代码', // 输入框占位文本
searchField: 'productionLineCode', // 查询弹窗赋值字段
searchTitle: '生产线物料关系信息', // 查询弹窗标题
searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类
searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法
searchCondition:[{
key: 'itemCode',
value: 'itemCode',
isMainValue: true
}]
}
},
{
label: '标签供应商代码',
field: 'supplierItemCode',
sort: 'custom',
table: {
width: 150
},
tableForm:{
enterSearch:true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
searchField: 'supplierCode', // 查询弹窗赋值字段
searchTitle: '供应商信息', // 查询弹窗标题
searchAllSchemas: Supplieritem.allSchemas, // 查询弹窗所需类
searchPage: SupplieritemApi.getSupplieritemPage, // 查询弹窗所需分页方法
searchCondition:[{
key: 'itemCode',
value: 'itemCode',
message: '请填写物料代码!',
isMainValue: true
}]
}
},
{ {
label: '物料代码', label: '物料代码',
field: 'itemCode', field: 'itemCode',
@ -1663,14 +1619,59 @@ export const ProductionreturnRequestDetailLabel = useCrudSchemas(reactive<CrudSc
} }
} }
}, },
{
label: '标签生产线代码',
field: 'productionLineCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择生产线代码', // 输入框占位文本
searchField: 'productionLineCode', // 查询弹窗赋值字段
searchTitle: '生产线物料关系信息', // 查询弹窗标题
searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类
searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'itemCode',
value: 'itemCode',
isMainValue: true
}]
}
},
{
label: '标签供应商代码',
field: 'supplierCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
enterSearch: true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
searchField: 'supplierCode', // 查询弹窗赋值字段
searchTitle: '供应商信息', // 查询弹窗标题
searchAllSchemas: Supplieritem.allSchemas, // 查询弹窗所需类
searchPage: SupplieritemApi.getSupplieritemPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'itemCode',
value: 'itemCode',
message: '请填写物料代码!',
isMainValue: true
}]
}
},
])) ]))
//表单校验 //表单校验
export const ProductionreturnRequestDetailLabelRules = reactive({ export const ProductionreturnRequestDetailLabelRules = reactive({
// supplierItemCode: [ // supplierCode: [
// { required: true, message: '请选择供应商', trigger: 'change' } // { required: true, message: '请选择供应商', trigger: 'change' }
// ], // ],
// productionLineCodePackage: [ // productionLineCode: [
// { required: true, message: '请选择生产线', trigger: 'change' } // { required: true, message: '请选择生产线', trigger: 'change' }
// ], // ],
batch: [ batch: [

22
src/views/wms/moveManage/inventorychange/inventorychangeRecordMain/inventorychangeRecordMain.data.ts

@ -314,14 +314,14 @@ export const InventorychangeRecordMainRules = reactive({
* @returns {Array} * @returns {Array}
*/ */
export const InventorychangeRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([ export const InventorychangeRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
{ // {
label: '单据号', // label: '单据号',
field: 'number', // field: 'number',
sort: 'custom', // sort: 'custom',
table: { // table: {
width: 180 // width: 180
}, // },
}, // },
{ {
label: '物料代码', label: '物料代码',
field: 'itemCode', field: 'itemCode',
@ -760,9 +760,9 @@ export const InventorychangeRecordDetailRules = reactive({
areaCode: [ areaCode: [
{ required: true, message: '请选择库区代码', trigger: 'change' } { required: true, message: '请选择库区代码', trigger: 'change' }
], ],
number: [ // number: [
{ required: true, message: '请输入单据号', trigger: 'blur' } // { required: true, message: '请输入单据号', trigger: 'blur' }
], // ],
itemCode: [ itemCode: [
{ required: true, message: '请选择物料代码', trigger: 'change' } { required: true, message: '请选择物料代码', trigger: 'change' }
], ],

28
src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts

@ -370,20 +370,20 @@ export const InventorychangeRequestMainRules = reactive({
* @returns {Array} * @returns {Array}
*/ */
export const InventorychangeRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([ export const InventorychangeRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
{ // {
label: '单据号', // label: '单据号',
field: 'number', // field: 'number',
sort: 'custom', // sort: 'custom',
table: { // table: {
width: 180 // width: 180
}, // },
isTableForm: false, // isTableForm: false,
form: { // form: {
componentProps: { // componentProps: {
disabled: true // disabled: true
} // }
} // }
}, // },
{ {
label: '从包装号', label: '从包装号',
field: 'fromPackingNumber', field: 'fromPackingNumber',

1
src/views/wms/moveManage/inventorymove/inventorymoveRequestMainOKHOLD/inventorymoveRequestMain.data.ts

@ -1,5 +1,4 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import * as getRequestsettingApi from '@/api/wms/requestsetting/index' import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
import * as BalanceApi from '@/api/wms/balance' import * as BalanceApi from '@/api/wms/balance'

8
src/views/wms/productionManage/productredress/productredressRequestMain/index.vue

@ -367,6 +367,10 @@ const openForm =async (type: string, row?: number) => {
itemColumns.componentProps.isSearchList = false itemColumns.componentProps.isSearchList = false
itemColumns.componentProps.disabled = true itemColumns.componentProps.disabled = true
} }
if(itemColumns.field == 'productionLineCode') {
itemColumns.componentProps.isSearchList = false
itemColumns.componentProps.disabled = true
}
}) })
} else { } else {
@ -380,6 +384,10 @@ const openForm =async (type: string, row?: number) => {
itemColumns.componentProps.isSearchList = true itemColumns.componentProps.isSearchList = true
itemColumns.componentProps.disabled = false itemColumns.componentProps.disabled = false
} }
if(itemColumns.field == 'productionLineCode') {
itemColumns.componentProps.isSearchList = true
itemColumns.componentProps.disabled = false
}
}) })
} }
formRef.value.open(type, row) formRef.value.open(type, row)

2
src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue

@ -378,7 +378,7 @@ const getSearchTableData = async (number,formField,searchField)=>{
// defaultButtons.defaultImportBtn({ hasPermi: 'wms:purchase-plan-main:import' }), // // defaultButtons.defaultImportBtn({ hasPermi: 'wms:purchase-plan-main:import' }), //
// defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchase-plan-main:export' }), // // defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchase-plan-main:export' }), //
defaultButtons.defaultExportDetailsBtn({ hasPermi: 'wms:purchase-plan-main:export' }), // defaultButtons.defaultExportDetailsBtn({ hasPermi: 'wms:purchase-plan-main:export' }), //
defaultButtons.defaultExportTableBtn({ hasPermi: 'wms:purchase-plan-main:export' }), // //defaultButtons.defaultExportTableBtn({ hasPermi: 'wms:purchase-plan-main:export' }), //
// defaultButtons.mainListSelectionOrderPubBtn(null), // // defaultButtons.mainListSelectionOrderPubBtn(null), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //

3
src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts

@ -8,6 +8,7 @@ import { PurchaseDetail, PurchaseMain } from '../purchaseMain/purchaseMain.data'
import { getPurchaseDetailPagePoNumber } from '@/api/wms/purchaseDetail' import { getPurchaseDetailPagePoNumber } from '@/api/wms/purchaseDetail'
import * as ItembasicApi from '@/api/wms/itembasic' import * as ItembasicApi from '@/api/wms/itembasic'
import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
import { validatePositiveNumber0 } from "@/utils/validator";
const { t } = useI18n() // 国际化 const { t } = useI18n() // 国际化
/** /**
@ -994,7 +995,7 @@ export const PurchasePlanDetailRules = reactive({
uom: [{ required: true, message: '请选择计量单位', trigger: 'change' }], uom: [{ required: true, message: '请选择计量单位', trigger: 'change' }],
planQty: [ planQty: [
{ required: true, message: '请输入计划数量', trigger: 'blur' }, { required: true, message: '请输入计划数量', trigger: 'blur' },
{ validator: validatePlanQty, message: '计划数量不能小于0', trigger: 'blur' } { validator: validatePositiveNumber0, message: '计划数量不能小于0', trigger: ['blur','change'] }
], ],
remark: [{ max: 50, message: '不得超过50个字符', trigger: 'blur' }] remark: [{ max: 50, message: '不得超过50个字符', trigger: 'blur' }]
}) })

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

@ -1244,7 +1244,6 @@ const documentSrc = ref(BASE_URL + '/jmreport/view/1019060741381099520?token=' +
// //
const documentSrc2 = ref(BASE_URL + '/jmreport/view/1019406772438372352?token=' + getAccessToken()) const documentSrc2 = ref(BASE_URL + '/jmreport/view/1019406772438372352?token=' + getAccessToken())
const handleDocumentPrint = async (id, stausId) => { const handleDocumentPrint = async (id, stausId) => {
debugger
await SupplierdeliverRequestMainApi.getItemStatus(stausId).then(async (res) => { await SupplierdeliverRequestMainApi.getItemStatus(stausId).then(async (res) => {
if (res) { if (res) {
// //

Loading…
Cancel
Save