Browse Source

采购换货单修改样式以及属性

intes_online20250115
叶佳兴 4 months ago
parent
commit
ec0400cb56
  1. 5
      src/api/wms/purchaseBarterRequestDetail/index.ts
  2. 6
      src/views/wms/basicDataManage/itemManage/itembasic/index.vue
  3. 65
      src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts
  4. 338
      src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue
  5. 302
      src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts

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

@ -27,6 +27,11 @@ export const getPurchaseBarterRequestDetail = async (id: number) => {
return await request.get({ url: `/wms/purchase-barter-request-detail/get?id=` + id }) return await request.get({ url: `/wms/purchase-barter-request-detail/get?id=` + id })
} }
// 打印发货单前查询子表条数是否大于20条
export const getCount = async (id) => {
return await request.post({ url: `/wms/purchase-barter-request-detail/getCount?id=` + id })
}
// 新增采购换货申请明细 // 新增采购换货申请明细
export const createPurchaseBarterRequestDetail = async (data: PurchaseBarterRequestDetailVO) => { export const createPurchaseBarterRequestDetail = async (data: PurchaseBarterRequestDetailVO) => {
return await request.post({ url: `/wms/purchase-barter-request-detail/create`, data }) return await request.post({ url: `/wms/purchase-barter-request-detail/create`, data })

6
src/views/wms/basicDataManage/itemManage/itembasic/index.vue

@ -340,9 +340,9 @@ const searchFormClick = (searchData) => {
// tabs // tabs
const changeTabs = (item) => { const changeTabs = (item) => {
if(item.prop == 'SupplierItems'){ if(item.prop == 'SupplierItems'){
tabsExtend.value = true // tabsExtend.value = true
apiPage.value = SupplieritemApi.getSupplieritemPage // apiPage.value = SupplieritemApi.getSupplieritemPage
detailAllSchemas.value = Supplieritem.allSchemas // detailAllSchemas.value = Supplieritem.allSchemas
} else if(item.prop == 'CustomerItems'){ } else if(item.prop == 'CustomerItems'){
tabsExtend.value = true tabsExtend.value = true
apiPage.value = CustomeritemApi.getCustomeritemPage apiPage.value = CustomeritemApi.getCustomeritemPage

65
src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts

@ -1,5 +1,5 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter,dateFormatter2 } from '@/utils/formatTime'
export const PurchaseBarterRecordMain = useCrudSchemas(reactive<CrudSchema[]>([ export const PurchaseBarterRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
{ {
@ -44,6 +44,69 @@ export const PurchaseBarterRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,
}, },
{
label: '替代品入荷指定日',
field: 'substitutePurchaseDate',
sort: 'custom',
formatter: dateFormatter2,
table: {
width: 180
},
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
form: {
component: 'DatePicker',
componentProps: {
type: 'date',
valueFormat: 'x'
}
},
detail: {
dateFormat:'YYYY-MM-DD'
}
},
{
label: 'INTEX联络时间',
field: 'intexContactView',
sort: 'custom',
isSearch: false,
isTable: true,
isDetail: true,
isForm: false,
table: {
width: 180
},
},
{
label: '供应商联络时间',
field: 'supplierContactView',
sort: 'custom',
isSearch: false,
isTable: true,
isDetail: true,
isForm: false,
table: {
width: 180
},
},
{
label: '不良内容',
field: 'badContent',
sort: 'custom',
isTable: true,
isDetail: true,
table: {
width: 150
},
},
{ {
label: '创建时间', label: '创建时间',
field: 'createTime', field: 'createTime',

338
src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue

@ -1,7 +1,14 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<Search :schema="[...PurchaseBarterRequestMain.allSchemas.searchSchema,...PurchaseBarterRequestDetail.allSchemas.searchSchema]" @search="setSearchParams" @reset="setSearchParams" /> <Search
:schema="[
...PurchaseBarterRequestMain.allSchemas.searchSchema,
...PurchaseBarterRequestDetail.allSchemas.searchSchema
]"
@search="setSearchParams"
@reset="setSearchParams"
/>
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
@ -17,7 +24,8 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table v-clientTable <Table
v-clientTable
:columns="tableColumns" :columns="tableColumns"
:data="tableObject.tableList" :data="tableObject.tableList"
:loading="tableObject.loading" :loading="tableObject.loading"
@ -28,13 +36,16 @@
v-model:currentPage="tableObject.currentPage" v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort" v-model:sort="tableObject.sort"
> >
<template #number="{row}"> <template #number="{ row }">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)"> <el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span> <span>{{ row.number }}</span>
</el-button> </el-button>
</template> </template>
<template #action="{ row,$index }"> <template #action="{ row, $index }">
<ButtonBaseMore :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBaseMore
:Butttondata="butttondata(row, $index)"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -79,10 +90,16 @@
@onBlur="onBlur" @onBlur="onBlur"
/> />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/wms/purchase-barter-request-main/import" :importTemplateData="importTemplateData" <ImportForm
@success="importSuccess" :updateIsDisable="true" :coverIsDisable="true" :mode="2" /> ref="importFormRef"
url="/wms/purchase-barter-request-main/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
:updateIsDisable="true"
:coverIsDisable="true"
:mode="2"
/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -98,12 +115,13 @@ import {
import * as PurchaseBarterRequestMainApi from '@/api/wms/purchaseBarterRequestMain' import * as PurchaseBarterRequestMainApi from '@/api/wms/purchaseBarterRequestMain'
import * as PurchaseBarterRequestDetailApi from '@/api/wms/purchaseBarterRequestDetail' import * as PurchaseBarterRequestDetailApi from '@/api/wms/purchaseBarterRequestDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import * as ItembasicApi from "@/api/wms/itembasic"; import * as ItembasicApi from '@/api/wms/itembasic'
import { formatTime } from '@/utils' import { formatTime } from '@/utils'
import { formatDate } from '@/utils/formatTime' import { formatDate } from '@/utils/formatTime'
import { usePageLoading } from '@/hooks/web/usePageLoading' import { usePageLoading } from '@/hooks/web/usePageLoading'
import {getJmreportBaseUrl} from "@/utils/systemParam"; import { getJmreportBaseUrl } from '@/utils/systemParam'
import {getAccessToken} from "@/utils/auth"; import { getAccessToken } from '@/utils/auth'
import { log } from 'node:console'
const { loadStart, loadDone } = usePageLoading() const { loadStart, loadDone } = usePageLoading()
// //
@ -115,31 +133,38 @@ const { t } = useI18n() // 国际化
const route = useRoute() // const route = useRoute() //
const routeName = ref() const routeName = ref()
routeName.value = route.name routeName.value = route.name
const tableColumns = ref([...PurchaseBarterRequestMain.allSchemas.tableColumns,...PurchaseBarterRequestDetail.allSchemas.tableMainColumns]) const tableColumns = ref([
...PurchaseBarterRequestMain.allSchemas.tableColumns,
...PurchaseBarterRequestDetail.allSchemas.tableMainColumns
])
// //
const updataTableColumns = (val) => { const updataTableColumns = (val) => {
tableColumns.value = val tableColumns.value = val
} }
// //
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { const searchTableSuccess = (formField, searchField, val, formRef, type, row) => {
nextTick(async () => { nextTick(async () => {
if (type == 'tableForm') { if (type == 'tableForm') {
if(formField == 'itemCode'){ if (formField == 'itemCode') {
let itemCodes = val.filter(item=>tableData.value.find(item1=>item1['itemCode']==item['itemCode'])) let itemCodes = val.filter((item) =>
if(itemCodes.length>0){ tableData.value.find((item1) => item1['itemCode'] == item['itemCode'])
itemCodes = itemCodes.map(item=>(item['itemCode'])) )
if (itemCodes.length > 0) {
itemCodes = itemCodes.map((item) => item['itemCode'])
message.warning(`物料${itemCodes.join(',')}已经存在`) message.warning(`物料${itemCodes.join(',')}已经存在`)
} }
val = val.filter(item=>!tableData.value.find(item1=>item1['itemCode']==item['itemCode'])) val = val.filter(
if(val.length==0){ (item) => !tableData.value.find((item1) => item1['itemCode'] == item['itemCode'])
)
if (val.length == 0) {
return return
} }
let newVal = val.filter(item=>!tableData.value.find(item1=>item1['itemCode']==item['itemCode'])) let newVal = val.filter(
newVal.forEach(item=>{ (item) => !tableData.value.find((item1) => item1['itemCode'] == item['itemCode'])
)
newVal.forEach((item) => {
let tfk = JSON.parse(JSON.stringify(tableFormKeys)) let tfk = JSON.parse(JSON.stringify(tableFormKeys))
tfk['itemCode'] = item['itemCode'] tfk['itemCode'] = item['itemCode']
tfk['itemName'] = item['itemName'] tfk['itemName'] = item['itemName']
@ -153,7 +178,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
} }
} }
const setV = {} const setV = {}
if(formField === 'supplierCode'){ if (formField === 'supplierCode') {
setV['supplierCode'] = val[0]['code'] setV['supplierCode'] = val[0]['code']
setV['supplierName'] = val[0]['name'] setV['supplierName'] = val[0]['name']
tableData.value = [] tableData.value = []
@ -162,14 +187,13 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
}) })
} }
const handleDetailSubmitForm = async (formType, data) => { const handleDetailSubmitForm = async (formType, data) => {
if(data.qty > data.inventoryQty){ if (data.qty > data.inventoryQty) {
message.warning("换货数量不能大于库存数量") message.warning('换货数量不能大于库存数量')
return return
} }
if (formType === 'create') { if (formType === 'create') {
await PurchaseBarterRequestDetailApi.createPurchaseBarterRequestDetail(data) await PurchaseBarterRequestDetailApi.createPurchaseBarterRequestDetail(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else { } else {
await PurchaseBarterRequestDetailApi.updatePurchaseBarterRequestDetail(data) await PurchaseBarterRequestDetailApi.updatePurchaseBarterRequestDetail(data)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
@ -178,11 +202,11 @@ const handleDetailSubmitForm = async (formType, data) => {
getList() getList()
} }
// //
const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { const searchTableSuccessDetail = (formField, searchField, val, formRef) => {
nextTick(() => { nextTick(() => {
const setV = {} const setV = {}
setV[formField] = val[0][searchField] setV[formField] = val[0][searchField]
if(formField == 'itemCode'){ if (formField == 'itemCode') {
setV['itemCode'] = val[0]['itemCode'] setV['itemCode'] = val[0]['itemCode']
setV['itemName'] = val[0]['itemName'] setV['itemName'] = val[0]['itemName']
setV['uom'] = val[0]['uom'] setV['uom'] = val[0]['uom']
@ -207,38 +231,44 @@ const { getList, setSearchParams } = tableMethods
// //
const HeadButttondata = [ const HeadButttondata = [
defaultButtons.defaultAddBtn({hasPermi:'wms:purchase-barter-request-main:create'}), // defaultButtons.defaultAddBtn({ hasPermi: 'wms:purchase-barter-request-main:create' }), //
defaultButtons.defaultImportBtn({hasPermi:'wms:purchase-barter-request-main:import'}), // defaultButtons.defaultImportBtn({ hasPermi: 'wms:purchase-barter-request-main:import' }), //
defaultButtons.defaultExportBtn({hasPermi:'wms:purchase-barter-request-main:export'}), // defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchase-barter-request-main:export' }), //
defaultButtons.defaultFreshBtn(null), // defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), // defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), // defaultButtons.defaultSetBtn(null) //
] ]
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { // if (val == 'add') {
//
openForm('create') openForm('create')
} else if (val == 'import') { // } else if (val == 'import') {
//
handleImport() handleImport()
} else if (val == 'export') { // } else if (val == 'export') {
//
handleExport() handleExport()
} else if (val == 'refresh') { // } else if (val == 'refresh') {
if (tableObject.params.filters && tableObject.params.filters.length > 0 ) { //
if (tableObject.params.filters && tableObject.params.filters.length > 0) {
searchFormClick({ searchFormClick({
filters: tableObject.params.filters filters: tableObject.params.filters
}) })
} else { } else {
getList() getList()
} }
} else if (val == 'filtrate') { // } else if (val == 'filtrate') {
} else { // //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
// //
const isShowMainButton = (row,val) => { const isShowMainButton = (row, val) => {
if (val.indexOf(row.status) > -1) { if (val.indexOf(row.status) > -1) {
return false return false
} else { } else {
@ -247,55 +277,85 @@ const isShowMainButton = (row,val) => {
} }
// - // -
const butttondata = (row,$index) => { const butttondata = (row, $index) => {
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1 const findIndex = row['masterId']
if(findIndex>-1&&findIndex<$index){ ? tableObject.tableList.findIndex((item) => item['masterId'] == row['masterId'])
: -1
if (findIndex > -1 && findIndex < $index) {
return [] return []
} }
return [ return [
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','8']),hasPermi:'wms:purchase-barter-request-main:close'}), // defaultButtons.mainListCloseBtn({
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:purchase-barter-request-main:reAdd'}), // hide: isShowMainButton(row, ['1', '2', '3', '8']),
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:purchase-barter-request-main:submit'}), // hasPermi: 'wms:purchase-barter-request-main:close'
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:purchase-barter-request-main:refused'}), // }), //
defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:purchase-barter-request-main:agree'}), // defaultButtons.mainListReAddBtn({
hide: isShowMainButton(row, ['4', '5']),
hasPermi: 'wms:purchase-barter-request-main:reAdd'
}), //
defaultButtons.mainListSubmitBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:purchase-barter-request-main:submit'
}), //
defaultButtons.mainListTurnDownBtn({
hide: isShowMainButton(row, ['2']),
hasPermi: 'wms:purchase-barter-request-main:refused'
}), //
defaultButtons.mainListApproveBtn({
hide: isShowMainButton(row, ['2']),
hasPermi: 'wms:purchase-barter-request-main:agree'
}), //
// defaultButtons.outBtn({hide:isShowMainButton(row,['3']),hasPermi:'wms:purchase-barter-request-main:out'}), // // defaultButtons.outBtn({hide:isShowMainButton(row,['3']),hasPermi:'wms:purchase-barter-request-main:out'}), //
// defaultButtons.inBtn({hide:isShowMainButton(row,['11']),hasPermi:'wms:purchase-barter-request-main:in'}), // // defaultButtons.inBtn({hide:isShowMainButton(row,['11']),hasPermi:'wms:purchase-barter-request-main:in'}), //
// defaultButtons.mainListSuspend1Btn({hide:isShowMainButton(row,['11']),hasPermi:'wms:purchase-barter-request-main:suspend'}), // // defaultButtons.mainListSuspend1Btn({hide:isShowMainButton(row,['11']),hasPermi:'wms:purchase-barter-request-main:suspend'}), //
defaultButtons.mainListDeleteBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:purchase-barter-request-main:delete'}), // defaultButtons.mainListDeleteBtn({
defaultButtons.mainListDocumentPrintBtn({hide:isShowMainButton(row,['8'])}) hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:purchase-barter-request-main:delete'
}), //
defaultButtons.mainListDocumentPrintBtn({ hide: isShowMainButton(row, ['8']) })
] ]
} }
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
console.log("val",val) console.log('val', val)
if (val == 'mainClose') { // if (val == 'mainClose') {
//
console.log('列表-操作按钮事件-关闭') console.log('列表-操作按钮事件-关闭')
handleClose(row.masterId) handleClose(row.masterId)
} else if (val == 'mainReAdd') { // } else if (val == 'mainReAdd') {
//
console.log('列表-操作按钮事件-重新添加') console.log('列表-操作按钮事件-重新添加')
handleReAdd(row.masterId) handleReAdd(row.masterId)
} else if (val == 'mainSubmit') { // } else if (val == 'mainSubmit') {
//
console.log('列表-操作按钮事件-提交审批') console.log('列表-操作按钮事件-提交审批')
handleSubmit(row.masterId) handleSubmit(row.masterId)
} else if (val == 'mainTurnDown') { // } else if (val == 'mainTurnDown') {
//
console.log('列表-操作按钮事件-驳回') console.log('列表-操作按钮事件-驳回')
handleRefused(row.masterId) handleRefused(row.masterId)
} else if (val == 'mainApprove') { // } else if (val == 'mainApprove') {
//
console.log('列表-操作按钮事件-审批通过') console.log('列表-操作按钮事件-审批通过')
handleAgree(row.masterId) handleAgree(row.masterId)
} else if (val == 'out') { // } else if (val == 'out') {
//
console.log('列表-操作按钮事件-出库') console.log('列表-操作按钮事件-出库')
handleOut(row.masterId) handleOut(row.masterId)
} else if (val == 'in') { // } else if (val == 'in') {
//
console.log('列表-操作按钮事件-入库') console.log('列表-操作按钮事件-入库')
handleIn(row.masterId) handleIn(row.masterId)
}else if (val == 'suspend') { // } else if (val == 'suspend') {
//
console.log('列表-操作按钮事件-中止') console.log('列表-操作按钮事件-中止')
handleSuspend(row.masterId) handleSuspend(row.masterId)
}else if (val == 'edit') { // } else if (val == 'edit') {
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { // } else if (val == 'delete') {
//
handleDelete(row.masterId) handleDelete(row.masterId)
} else if (val == 'documentPrint') { } else if (val == 'documentPrint') {
handleDocumentPrint(row.masterId) handleDocumentPrint(row.masterId)
@ -304,21 +364,30 @@ const buttonTableClick = async (val, row) => {
// //
const BASE_URL = getJmreportBaseUrl() const BASE_URL = getJmreportBaseUrl()
const documentSrc = ref(BASE_URL + '/jmreport/view/1015825402241605632?token=' + getAccessToken()) const documentSrc = ref(BASE_URL + '/jmreport/view/1037144474399084544?token=' + getAccessToken())
const documentSrc2 = ref(BASE_URL + '/jmreport/view/1015825402241605632?token=' + getAccessToken())
const handleDocumentPrint = async (id) => { const handleDocumentPrint = async (id) => {
await PurchaseBarterRequestDetailApi.getCount(id).then(async (res) => {
if (res) {
//
window.open(documentSrc.value + '&id=' + id) window.open(documentSrc.value + '&id=' + id)
} else {
//
window.open(documentSrc2.value + '&id=' + id)
}
})
} }
/** 关闭按钮操作 */ /** 关闭按钮操作 */
const handleClose = async (id: number) => { const handleClose = async (id: number) => {
await message.confirm(t('common.confirmColse')) await message.confirm(t('common.confirmColse'))
tableObject.loading = true tableObject.loading = true
try{ try {
await PurchaseBarterRequestMainApi.closePurchaseBarterRequestMain(id) await PurchaseBarterRequestMainApi.closePurchaseBarterRequestMain(id)
message.success(t('common.closeSuccess')) message.success(t('common.closeSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
}catch{ } catch {
tableObject.loading = false tableObject.loading = false
} }
} }
@ -327,12 +396,12 @@ const handleClose = async (id: number) => {
const handleReAdd = async (id: number) => { const handleReAdd = async (id: number) => {
await message.confirm(t('common.confirmReAdd')) await message.confirm(t('common.confirmReAdd'))
tableObject.loading = true tableObject.loading = true
try{ try {
await PurchaseBarterRequestMainApi.reAddPurchaseBarterRequestMain(id) await PurchaseBarterRequestMainApi.reAddPurchaseBarterRequestMain(id)
message.success(t('common.reAddSuccess')) message.success(t('common.reAddSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
}catch{ } catch {
tableObject.loading = false tableObject.loading = false
} }
} }
@ -341,12 +410,12 @@ const handleReAdd = async (id: number) => {
const handleSubmit = async (id: number) => { const handleSubmit = async (id: number) => {
await message.confirm(t('common.confirmSubmit')) await message.confirm(t('common.confirmSubmit'))
tableObject.loading = true tableObject.loading = true
try{ try {
await PurchaseBarterRequestMainApi.submitPurchaseBarterRequestMain(id) await PurchaseBarterRequestMainApi.submitPurchaseBarterRequestMain(id)
message.success(t('common.submitSuccess')) message.success(t('common.submitSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
}catch{ } catch {
tableObject.loading = false tableObject.loading = false
} }
} }
@ -355,12 +424,12 @@ const handleSubmit = async (id: number) => {
const handleRefused = async (id: number) => { const handleRefused = async (id: number) => {
await message.confirm(t('common.confirmRefused')) await message.confirm(t('common.confirmRefused'))
tableObject.loading = true tableObject.loading = true
try{ try {
await PurchaseBarterRequestMainApi.refusedPurchaseBarterRequestMain(id) await PurchaseBarterRequestMainApi.refusedPurchaseBarterRequestMain(id)
message.success(t('common.refusedSuccess')) message.success(t('common.refusedSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
}catch{ } catch {
tableObject.loading = false tableObject.loading = false
} }
} }
@ -369,12 +438,12 @@ const handleRefused = async (id: number) => {
const handleAgree = async (id: number) => { const handleAgree = async (id: number) => {
await message.confirm(t('common.confirmAgree')) await message.confirm(t('common.confirmAgree'))
tableObject.loading = true tableObject.loading = true
try{ try {
await PurchaseBarterRequestMainApi.agreePurchaseBarterRequestMain(id) await PurchaseBarterRequestMainApi.agreePurchaseBarterRequestMain(id)
message.success(t('common.agreeSuccess')) message.success(t('common.agreeSuccess'))
tableObject.loading = false tableObject.loading = false
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
}catch{ } catch {
tableObject.loading = false tableObject.loading = false
} }
} }
@ -386,7 +455,7 @@ const handleOut = async (id: number) => {
try { try {
await PurchaseBarterRequestMainApi.outStoragePurchaseBarterRequestMain(id) await PurchaseBarterRequestMainApi.outStoragePurchaseBarterRequestMain(id)
message.success(t('common.handleSuccess')) message.success(t('common.handleSuccess'))
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
} finally { } finally {
tableObject.loading = false tableObject.loading = false
} }
@ -398,7 +467,7 @@ const handleIn = async (id: number) => {
try { try {
await PurchaseBarterRequestMainApi.inStoragePurchaseBarterRequestMain(id) await PurchaseBarterRequestMainApi.inStoragePurchaseBarterRequestMain(id)
message.success(t('common.handleSuccess')) message.success(t('common.handleSuccess'))
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
} finally { } finally {
tableObject.loading = false tableObject.loading = false
} }
@ -410,7 +479,7 @@ const handleSuspend = async (id: number) => {
try { try {
await PurchaseBarterRequestMainApi.suspendPurchaseBarterRequestMain(id) await PurchaseBarterRequestMainApi.suspendPurchaseBarterRequestMain(id)
message.success(t('common.handleSuccess')) message.success(t('common.handleSuccess'))
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
} finally { } finally {
tableObject.loading = false tableObject.loading = false
} }
@ -418,12 +487,10 @@ const handleSuspend = async (id: number) => {
/** 添加/修改操作 */ /** 添加/修改操作 */
const formRef = ref() const formRef = ref()
const openForm =async (type: string, row?: number) => { const openForm = async (type: string, row?: number) => {
PurchaseBarterRequestMain.allSchemas.formSchema.forEach((item) => { PurchaseBarterRequestMain.allSchemas.formSchema.forEach((item) => {
if(type == "update"){ if (type == 'update') {
} else {
}else{
} }
}) })
@ -436,9 +503,11 @@ const { wsCache } = useCache()
/** 详情操作 */ /** 详情操作 */
const detailRef = ref() const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => { const openDetail = (row: any, titleName: any, titleValue: any) => {
const departmentCode = wsCache.get(CACHE_KEY.DEPT).find((account) => account.id == row.departmentCode)?.name const departmentCode = wsCache
.get(CACHE_KEY.DEPT)
.find((account) => account.id == row.departmentCode)?.name
if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode)) if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode))
detailRef.value.openDetail(row, titleName, titleValue,'requestPurchaseBarterMain') detailRef.value.openDetail(row, titleName, titleValue, 'requestPurchaseBarterMain')
} }
/** 删除按钮操作 */ /** 删除按钮操作 */
@ -452,7 +521,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
tableObject.loading = false tableObject.loading = false
// //
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
} catch {} } catch {}
} }
@ -465,7 +534,9 @@ const handleExport = async () => {
loadStart() loadStart()
const excelTitle = ref(route.meta.title) const excelTitle = ref(route.meta.title)
tableObject.params.detailDataType = 1 tableObject.params.detailDataType = 1
const data = await PurchaseBarterRequestMainApi.exportPurchaseBarterRequestMain(tableObject.params) const data = await PurchaseBarterRequestMainApi.exportPurchaseBarterRequestMain(
tableObject.params
)
download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`) download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch { } catch {
} finally { } finally {
@ -475,9 +546,9 @@ const handleExport = async () => {
/** /**
* tableForm方法 * tableForm方法
*/ */
const tableFormKeys = {} const tableFormKeys = {}
PurchaseBarterRequestDetail.allSchemas.tableFormColumns.forEach(item => { PurchaseBarterRequestDetail.allSchemas.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : '' tableFormKeys[item.field] = item.default ? item.default : ''
}) })
const tableData = ref([]) const tableData = ref([])
@ -491,47 +562,50 @@ const handleAddTable = () => {
// //
const handleDeleteTable = (item, index) => { const handleDeleteTable = (item, index) => {
let itemIndex = tableData.value.indexOf(item) let itemIndex = tableData.value.indexOf(item)
if(itemIndex>-1){ if (itemIndex > -1) {
tableData.value.splice(itemIndex, 1) tableData.value.splice(itemIndex, 1)
} }
} }
const tableSelectionDelete = (selection) => { const tableSelectionDelete = (selection) => {
tableData.value = tableData.value.filter(item => !selection.includes(item)) tableData.value = tableData.value.filter((item) => !selection.includes(item))
} }
// //
const submitForm = async (formType, submitData) => { const submitForm = async (formType, submitData) => {
let data = { ...submitData }
let data = {...submitData} if (data.masterId) {
if(data.masterId){
data.id = data.masterId data.id = data.masterId
} }
data.subList = tableData.value // data.subList = tableData.value //
const cmdExists = data.subList.some(filter => const cmdExists = data.subList.some(
parseFloat(filter.inventoryQty) < parseFloat(filter.qty) (filter) => parseFloat(filter.inventoryQty) < parseFloat(filter.qty)
); )
try { try {
if (formType === 'create') { if (formType === 'create') {
if(data.subList.length == 0){ if (data.subList.length == 0) {
message.warning("请添加子列表数据") message.warning('请添加子列表数据')
return; return
} }
let flag = false; let flag = false
data.subList.forEach((item) => { data.subList.forEach((item) => {
if(item.qty == 0){ if (item.qty == 0) {
message.warning("数量不能为0") message.warning('数量不能为0')
flag = true; flag = true
return; return
} }
}) })
if(flag){ if (flag) {
return return
} }
if(cmdExists){ if (cmdExists) {
message.warning("换货数量不能大于库存数量") message.warning('换货数量不能大于库存数量')
return return
} }
formRef.value.formLoading = true formRef.value.formLoading = true
data.intexContactBegin = data.intexContact[0]
data.intexContactEnd = data.intexContact[0]
data.supplierContactBegin = data.supplierContact[0]
data.supplierContactEnd = data.supplierContact[0]
await PurchaseBarterRequestMainApi.createPurchaseBarterRequestMain(data) await PurchaseBarterRequestMainApi.createPurchaseBarterRequestMain(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else { } else {
@ -543,8 +617,8 @@ const submitForm = async (formType, submitData) => {
// //
if (formType === 'create') { if (formType === 'create') {
getList() getList()
}else{ } else {
buttonBaseClick('refresh',null) buttonBaseClick('refresh', null)
} }
} finally { } finally {
formRef.value.formLoading = false formRef.value.formLoading = false
@ -553,14 +627,14 @@ const submitForm = async (formType, submitData) => {
// / // /
const detailValidate = (data) => { const detailValidate = (data) => {
let tag = false; let tag = false
if(data.qty <= 0){ if (data.qty <= 0) {
message.warning('数量必须大于0') message.warning('数量必须大于0')
tag = false; tag = false
return tag; return tag
}else { } else {
tag = true; tag = true
return tag; return tag
} }
} }
@ -591,25 +665,27 @@ const searchFormClick = (searchData) => {
} }
let validityDays = 0 let validityDays = 0
const detailOpenForm = (type, row)=>{ const detailOpenForm = (type, row) => {
console.log('detailOpenForm',row) console.log('detailOpenForm', row)
if(type=='update'){ if (type == 'update') {
// //
ItembasicApi.getItembasicPage({ ItembasicApi.getItembasicPage({
code:row.itemCode code: row.itemCode
}).then((res)=>{ }).then((res) => {
res.list.forEach((item,index)=>{ res.list.forEach((item, index) => {
const findItem = tableData.value.find(item1=>item1['itemCode']==row['code']) const findItem = tableData.value.find((item1) => item1['itemCode'] == row['code'])
if(findItem){ if (findItem) {
validityDays = findItem['expireTime'] validityDays = findItem['expireTime']
} }
}) })
detailRef.value.formRef.formRef.formModel.expireDate = addDay(detailRef.value.formRef.formRef.formModel.produceDate,validityDays).valueOf() detailRef.value.formRef.formRef.formModel.expireDate = addDay(
detailRef.value.formRef.formRef.formModel.produceDate,
validityDays
).valueOf()
}) })
}else{ } else {
validityDays = 0 validityDays = 0
} }
} }
const onBlur = (field, e) => { const onBlur = (field, e) => {

302
src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts

@ -1,18 +1,17 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import {Supplier} from "@/views/wms/basicDataManage/supplierManage/supplier/supplier.data"; import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data'
import * as SupplierApi from "@/api/wms/supplier"; import * as SupplierApi from '@/api/wms/supplier'
import * as ItembasicApi from "@/api/wms/itembasic"; import * as ItembasicApi from '@/api/wms/itembasic'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter,dateFormatter2, dateFormatterYM } from '@/utils/formatTime'
import { import { Supplieritem } from '@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data'
Supplieritem import * as SupplieritemApi from '@/api/wms/supplieritem'
} from "@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data";
import * as SupplieritemApi from "@/api/wms/supplieritem";
import { BalancePopWindow } from '@/views/wms/inventoryManage/balance/balance.data' import { BalancePopWindow } from '@/views/wms/inventoryManage/balance/balance.data'
import * as PurchaseBarterRequestMainApi from "@/api/wms/purchaseBarterRequestMain"; import * as PurchaseBarterRequestMainApi from '@/api/wms/purchaseBarterRequestMain'
/** /**
* @returns {Array} * @returns {Array}
*/ */
export const PurchaseBarterRequestMain = useCrudSchemas(reactive<CrudSchema[]>([ export const PurchaseBarterRequestMain = useCrudSchemas(
reactive<CrudSchema[]>([
{ {
label: '申请单号', label: '申请单号',
field: 'number', field: 'number',
@ -31,7 +30,7 @@ export const PurchaseBarterRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: true, isSearch: true,
isForm: false, isForm: false,
dictType: DICT_TYPE.REQUEST_STATUS, dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string', dictClass: 'string'
}, },
{ {
label: '供应商代码', label: '供应商代码',
@ -48,31 +47,174 @@ export const PurchaseBarterRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
searchTitle: '供应商', // 查询弹窗标题 searchTitle: '供应商', // 查询弹窗标题
searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类
searchPage: SupplierApi.getSupplierPage, // 查询弹窗所需分页方法 searchPage: SupplierApi.getSupplierPage, // 查询弹窗所需分页方法
searchCondition: [{ searchCondition: [
{
key: 'available', key: 'available',
value: 'TRUE', value: 'TRUE',
isMainValue: false isMainValue: false
}], }
verificationParams: [{ ],
verificationParams: [
{
key: 'code', key: 'code',
action: '==', action: '==',
value: '', value: '',
isMainValue: false, isMainValue: false,
isSearch: true, isSearch: true,
isFormModel: true, isFormModel: true
}], // 失去焦点校验参数
} }
] // 失去焦点校验参数
} }
}, },
table: {
width: 100
},
},
{ {
label: '供应商名称', label: '供应商名称',
field: 'supplierName', field: 'supplierName',
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false,
table: {
width: 180
},
form: { form: {
componentProps: { componentProps: {
disabled: true disabled: true
} }
}
},
{
label: '替代品入荷指定日',
field: 'substitutePurchaseDate',
sort: 'custom',
isSearch: false,
formatter: dateFormatter2,
table: {
width: 180
},
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
form: {
component: 'DatePicker',
componentProps: {
type: 'date',
valueFormat: 'x'
}
},
detail: {
dateFormat:'YYYY-MM-DD'
}
},
{
label: 'INTEX联络时间',
field: 'intexContactView',
sort: 'custom',
isSearch: false,
isTable: true,
isDetail: true,
isForm: false,
table: {
width: 180
},
},
{
label: '供应商联络时间',
field: 'supplierContactView',
sort: 'custom',
isSearch: false,
isTable: true,
isDetail: true,
isForm: false,
table: {
width: 180
},
},
{
label: 'INTEX联络时间',
field: 'intexContact',
isForm: true,
isTable: false,
isDetail: false,
isSearch: false,
table: {
width: 200
},
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
form: {
component: 'DatePicker',
componentProps: {
// valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')],
valueFormat: 'x'
}
},
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
sortTableDefault: 1000
},
{
label: '供应商联络时间',
field: 'supplierContact',
isForm: true,
isTable: false,
isDetail: false,
isSearch: false,
table: {
width: 200
},
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
form: {
component: 'DatePicker',
componentProps: {
// valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')],
valueFormat: 'x'
}
},
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
sortTableDefault: 1000
},
{
label: '不良内容',
field: 'badContent',
sort: 'custom',
isTable: true,
isDetail: true,
isSearch: false,
table: {
width: 150
}, },
}, },
{ {
@ -105,7 +247,7 @@ export const PurchaseBarterRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
} }
}, },
sortTableDefault: 1000, sortTableDefault: 1000
}, },
{ {
label: '创建者', label: '创建者',
@ -114,7 +256,7 @@ export const PurchaseBarterRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 130 width: 130
}, },
isForm: false, isForm: false,
sortTableDefault: 1000, sortTableDefault: 1000
}, },
{ {
label: '最后更新时间', label: '最后更新时间',
@ -138,7 +280,7 @@ export const PurchaseBarterRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
valueFormat: 'x' valueFormat: 'x'
} }
}, },
sortTableDefault: 1000, sortTableDefault: 1000
}, },
{ {
label: '最后更新者', label: '最后更新者',
@ -148,7 +290,7 @@ export const PurchaseBarterRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
table: { table: {
width: 150 width: 150
}, },
sortTableDefault:1000, sortTableDefault: 1000
}, },
{ {
label: '操作', label: '操作',
@ -160,19 +302,26 @@ export const PurchaseBarterRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
fixed: 'right' fixed: 'right'
} }
} }
])) ])
)
//表单校验 //表单校验
export const PurchaseBarterRequestMainRules = reactive({ export const PurchaseBarterRequestMainRules = reactive({
supplierCode: [ supplierCode: [{ required: true, message: '请输入供应商代码', trigger: 'blur' }],
{ required: true, message: '请输入供应商代码', trigger: 'blur' } substitutePurchaseDate: [{ required: true, message: '请选择替代品入荷指定日', trigger: 'blur' }],
intexContact: [{ required: true, message: '请选择INTEX联络时间', trigger: 'blur' }],
supplierContact: [{ required: true, message: '请选择供应商联络时间', trigger: 'blur' }],
badContent: [
{ required: true, message: '请输入不良内容', trigger: 'blur' },
{ max: 200, message: '不得超过200个字符', trigger: 'blur' }
], ],
}) })
/** /**
* @returns {Array} * @returns {Array}
*/ */
export const PurchaseBarterRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([ export const PurchaseBarterRequestDetail = useCrudSchemas(
reactive<CrudSchema[]>([
{ {
label: '品番', label: '品番',
field: 'itemCode', field: 'itemCode',
@ -181,39 +330,43 @@ export const PurchaseBarterRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
table: { table: {
width: 150 width: 150
}, },
tableForm:{ tableForm: {
multiple:true,//多选 multiple: true, //多选
isInpuFocusShow: true, // 开启查询弹窗 isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择品番',// 输入框占位文本 searchListPlaceholder: '请选择品番', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'itemCode', // 查询弹窗赋值字段
searchTitle: '库存余额信息', // 查询弹窗标题 searchTitle: '库存余额信息', // 查询弹窗标题
searchAllSchemas: BalancePopWindow.allSchemas, searchAllSchemas: BalancePopWindow.allSchemas,
searchPage: PurchaseBarterRequestMainApi.getSupplieritemPage, // 查询弹窗所需分页方法 searchPage: PurchaseBarterRequestMainApi.getSupplieritemPage, // 查询弹窗所需分页方法
searchCondition: [{ searchCondition: [
{
key: 'supplierCode', key: 'supplierCode',
value: 'supplierCode', value: 'supplierCode',
action: '==', action: '==',
message: '供应商代码不能为空!', message: '供应商代码不能为空!',
isFormModel:true, // filters中添加筛选的数据--取于formModel isFormModel: true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有,和isFormModel结合使用 required: true, // 前置添加必有,和isFormModel结合使用
isSearch: true, isSearch: true,
isMainValue: false isMainValue: false
}], }
],
verificationPage: ItembasicApi.getItemListByCodes, // tableForm下方输入框校验失去焦点之后是否正确的方法 verificationPage: ItembasicApi.getItemListByCodes, // tableForm下方输入框校验失去焦点之后是否正确的方法
isShowTableFormSearch: false, //tableForm下方是否出现输入框 isShowTableFormSearch: false, //tableForm下方是否出现输入框
verificationParams: [{ verificationParams: [
{
key: 'itemCode', key: 'itemCode',
action: '==', action: '==',
value: '', value: '',
isMainValue: false, isMainValue: false,
isSearch: true, isSearch: true,
isFormModel: true, isFormModel: true
}], // 失去焦点校验参数 }
] // 失去焦点校验参数
}, },
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
disabled:true, disabled: true,
enterSearch: true, enterSearch: true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择品番', // 输入框占位文本 searchListPlaceholder: '请选择品番', // 输入框占位文本
@ -221,16 +374,18 @@ export const PurchaseBarterRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
searchTitle: '库存余额信息', // 查询弹窗标题 searchTitle: '库存余额信息', // 查询弹窗标题
searchAllSchemas: BalancePopWindow.allSchemas, searchAllSchemas: BalancePopWindow.allSchemas,
searchPage: PurchaseBarterRequestMainApi.getSupplieritemPage, // 查询弹窗所需分页方法 searchPage: PurchaseBarterRequestMainApi.getSupplieritemPage, // 查询弹窗所需分页方法
searchCondition: [{ searchCondition: [
{
key: 'supplierCode', key: 'supplierCode',
value: 'supplierCode', value: 'supplierCode',
action: '==', action: '==',
message: '供应商代码不能为空!', message: '供应商代码不能为空!',
isFormModel:true, // filters中添加筛选的数据--取于formModel isFormModel: true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有,和isFormModel结合使用 required: true, // 前置添加必有,和isFormModel结合使用
isSearch: true, isSearch: true,
isMainValue: true isMainValue: true
}], }
],
verificationParams: [ verificationParams: [
{ {
key: 'itemCode', key: 'itemCode',
@ -252,9 +407,9 @@ export const PurchaseBarterRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
tableForm: { tableForm: {
disabled: true disabled: true
}, },
form:{ form: {
componentProps:{ componentProps: {
disabled:true disabled: true
} }
} }
}, },
@ -263,14 +418,14 @@ export const PurchaseBarterRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
field: 'itemDesc1', field: 'itemDesc1',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true,
isForm:false, isForm: false,
hiddenSearchHigh:true, hiddenSearchHigh: true,
table: { table: {
width: 150 width: 150
}, },
form:{ form: {
componentProps:{ componentProps: {
disabled: true, disabled: true
} }
} }
}, },
@ -305,9 +460,9 @@ form:{
tableForm: { tableForm: {
disabled: true disabled: true
}, },
form:{ form: {
componentProps:{ componentProps: {
disabled:true disabled: true
} }
} }
}, },
@ -319,9 +474,9 @@ form:{
tableForm: { tableForm: {
disabled: true disabled: true
}, },
form:{ form: {
componentProps:{ componentProps: {
disabled:true disabled: true
} }
} }
}, },
@ -333,9 +488,9 @@ form:{
tableForm: { tableForm: {
disabled: true disabled: true
}, },
form:{ form: {
componentProps:{ componentProps: {
disabled:true disabled: true
} }
} }
}, },
@ -348,9 +503,9 @@ form:{
tableForm: { tableForm: {
disabled: true disabled: true
}, },
form:{ form: {
componentProps:{ componentProps: {
disabled:true disabled: true
} }
} }
}, },
@ -367,50 +522,47 @@ form:{
component: 'InputNumber', component: 'InputNumber',
componentProps: { componentProps: {
min: 0, min: 0,
precision: 6, precision: 6
} }
}, },
tableForm: { tableForm: {
type: 'InputNumber', type: 'InputNumber',
min: 0, min: 0,
precision: 6, precision: 6
} }
}, },
{ {
label: '换货原因 ', label: '换货原因 ',
field: 'reason', field: 'reason',
sort: 'custom', sort: 'custom',
isSearch: false, isSearch: false
}, },
{ {
label: '操作', label: '操作',
field: 'action', field: 'action',
isDetail: false, isDetail: false,
hiddenInMain:true, hiddenInMain: true,
isForm: false , isForm: false,
table: { table: {
width: 150, width: 150,
fixed: 'right' fixed: 'right'
}, },
isTableForm:false, isTableForm: false
} }
])) ])
)
function validateQty(rule, value, callback) { function validateQty(rule, value, callback) {
const numericValue = Number(value); const numericValue = Number(value)
if (numericValue > 0) { if (numericValue > 0) {
// if(numericValue < ) // if(numericValue < )
callback(); callback()
} else { } else {
callback(new Error('换货数量必须是一个正数')); callback(new Error('换货数量必须是一个正数'))
} }
} }
//表单校验 //表单校验
export const PurchaseBarterRequestDetailRules = reactive({ export const PurchaseBarterRequestDetailRules = reactive({
qty:[ qty: [{ validator: validateQty, message: '换货数量必须是一个正数', trigger: 'change' }],
{ validator:validateQty, message: '换货数量必须是一个正数', trigger: 'change'} itemCode: [{ required: true, message: '请输入品番', trigger: 'blur' }]
],
itemCode: [
{ required: true, message: '请输入品番', trigger: 'blur' }
],
}) })

Loading…
Cancel
Save