Browse Source

Merge branch 'hella_online_20240803' into master_hella

hella_online_20240829
陈薪名 2 months ago
parent
commit
dbf3f9885e
  1. 1
      README.md
  2. 15
      src/api/wms/location/index.ts
  3. 21
      src/api/wms/productionreturnJobDetail/index.ts
  4. 21
      src/api/wms/productionreturnJobMain/index.ts
  5. 18
      src/api/wms/productionreturnRecordMain/index.ts
  6. 4
      src/api/wms/productputawayRecordMain/index.ts
  7. 5
      src/api/wms/productscrapRecordMain/index.ts
  8. 12
      src/api/wms/purchasePlanDetail/index.ts
  9. 11
      src/api/wms/purchasereceiptRequestMain/index.ts
  10. 6
      src/api/wms/supplierinvoiceRecordMain/index.ts
  11. 5
      src/api/wms/unplannedissueRecordMain/index.ts
  12. 5
      src/api/wms/unplannedreceiptRecordMain/index.ts
  13. 9
      src/components/BasicForm/src/BasicForm.vue
  14. 5
      src/components/Descriptions/src/Descriptions.vue
  15. 27
      src/components/Detail/src/Detail.vue
  16. 4
      src/locales/en-US.ts
  17. 4
      src/locales/zh-CN.ts
  18. 17
      src/views/login/components/QRCodePDA.vue
  19. 3
      src/views/login/components/index.ts
  20. 7
      src/views/login/login.vue
  21. 91
      src/views/qms/inspectionQ2/index.vue
  22. 38
      src/views/qms/inspectionQ2/inspectionQ2.data.ts
  23. 1
      src/views/qms/inspectionQ3/inspectionQ3.data.ts
  24. 10
      src/views/qms/inspectionRecord/index.vue
  25. 2
      src/views/qms/inspectionRecord/useAddForm.vue
  26. 190
      src/views/qms/inspectionScheme/addForm.vue
  27. 208
      src/views/qms/inspectionTemplate/addForm.vue
  28. 3
      src/views/wms/basicDataManage/itemManage/bom/index.vue
  29. 4
      src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts
  30. 52
      src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue
  31. 1
      src/views/wms/basicDataManage/subject/qadCostcentre/qadCostcentre.data.ts
  32. 22
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue
  33. 9
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts
  34. 2
      src/views/wms/inventoryManage/balance/balance.data.ts
  35. 30
      src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts
  36. 34
      src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts
  37. 24
      src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/initialContainerMainRequest.data.ts
  38. 9
      src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRecordMain/packageoverRecordMain.data.ts
  39. 24
      src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts
  40. 6
      src/views/wms/inventoryjobManage/packageManage/packagesplitMain/packagesplitMain.data.ts
  41. 32
      src/views/wms/inventoryjobManage/scrap/scrapJobMain/scrapJobMain.data.ts
  42. 32
      src/views/wms/inventoryjobManage/scrap/scrapRecordMain/scrapRecordMain.data.ts
  43. 12
      src/views/wms/inventoryjobManage/scrap/scrapRequestMain/index.vue
  44. 9
      src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts
  45. 20
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRecordMain/index.vue
  46. 10
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRecordMain/unplannedissueRecordMain.data.ts
  47. 20
      src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRecordMain/index.vue
  48. 10
      src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRecordMain/unplannedreceiptRecordMain.data.ts
  49. 1
      src/views/wms/issueManage/issue/issueJobMain/issueJobMain.data.ts
  50. 11
      src/views/wms/issueManage/issue/issueRecordMain/issueRecordMain.data.ts
  51. 1
      src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
  52. 1
      src/views/wms/issueManage/productionreceipt/productionreceiptRecordMain/productionreceiptRecordMain.data.ts
  53. 15
      src/views/wms/issueManage/productionreturn/productionreturnJobMain/index.vue
  54. 10
      src/views/wms/issueManage/productionreturn/productionreturnRecordMain/index.vue
  55. 20
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue
  56. 190
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts
  57. 127
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue
  58. 162
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMainNo.data.ts
  59. 1
      src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts
  60. 24
      src/views/wms/moveManage/inventorymove/inventorymoveRecordMainNew/inventorymoveRecordRequestMain.data.ts
  61. 1
      src/views/wms/productionManage/productputaway/productputawayRecordMain/index.vue
  62. 1
      src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRecordMain/index.vue
  63. 5
      src/views/wms/productionManage/productreceipt/productreceiptRecordMain/index.vue
  64. 18
      src/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data.ts
  65. 53
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts
  66. 5
      src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/index.vue
  67. 19
      src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/productreceiptAssembleRecordMain.data.ts
  68. 58
      src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts
  69. 8
      src/views/wms/productionManage/productredress/productredressJobMain/productredressJobMain.data.ts
  70. 8
      src/views/wms/productionManage/productredress/productredressRecordMain/productredressRecordMain.data.ts
  71. 80
      src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts
  72. 20
      src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue
  73. 10
      src/views/wms/productionManage/productscrap/productscrapRecordMain/productscrapRecordMain.data.ts
  74. 4
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue
  75. 2
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue
  76. 6
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/index.vue
  77. 2
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts
  78. 16
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue
  79. 16
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/index.vue
  80. 2
      src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts
  81. 2
      src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMainWms/index.vue
  82. 3
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue
  83. 2
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
  84. 28
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverBasicForm.vue
  85. 4
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverRequestMain.data.ts
  86. 63
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/index.vue
  87. 408
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/supplierinvoiceRecordMain.data.ts
  88. 60
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue
  89. 110
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts
  90. 128
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

1
README.md

@ -1,5 +1,6 @@
## dev发布2024-06-01-002
**xxxx.data.ts 文件配置说明**
dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
dictAllOption:true,// true 字典中--下拉框中展示全选按钮

15
src/api/wms/location/index.ts

@ -128,6 +128,15 @@ export const selectBusinessTypeOutLocation = async (params) => {
return request.get({ url: `/wms/location/pageBusinessTypeOutLocation`, params })
}
}
export const selectBusinessTypeOutLocationAll = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/location/pageBusinessTypeOutLocationSeniorAll', data })
} else {
return request.get({ url: `/wms/location/pageBusinessTypeOutLocationAll`, params })
}
}
export const selectPageItemAreaToLocation = async (params) => {
@ -154,3 +163,9 @@ export const selectConfigToLocation = async (params) => {
export const getLocationByCodes = async (params) => {
return await request.get({ url: `/wms/location/listByCodes`, params })
}
// 查询库位组列表
export const getLocationByOverflowAreaTypeByConfig = async (params) => {
return await request.get({ url: `/wms/location/queryLocationByOverflowAreaTypeByConfig`, params })
}

21
src/api/wms/productionreturnJobDetail/index.ts

@ -34,6 +34,27 @@ export const getProductionreturnJobDetailPage = async (params) => {
return await request.get({ url: `/wms/productionreturn-job-detail/page`, params })
}
}
// 查询生产退料任务子列表
export const getProductionreturnJobDetailPageStore = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/productionreturn-job-detail-store/senior', data })
} else {
return await request.get({ url: `/wms/productionreturn-job-detail-store/page`, params })
}
}
// 查询隔离退料任务子列表
export const getProductionreturnJobDetailPageHold = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/productionreturn-job-detail-hold/senior', data })
} else {
return await request.get({ url: `/wms/productionreturn-job-detail-hold/page`, params })
}
}
// 查询生产退料任务子详情
export const getProductionreturnJobDetail = async (id: number) => {

21
src/api/wms/productionreturnJobMain/index.ts

@ -81,6 +81,27 @@ export const exportProductionreturnJobMain = async (params) => {
}
}
// 导出生产退料任务主 Excel -store
export const exportProductionreturnJobMainStore = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/productionreturn-job-detail-store/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/productionreturn-job-detail-store/export-excel`, params })
}
}
// 导出隔离退料任务主 Excel -hold
export const exportProductionreturnJobMainHold = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/productionreturn-job-detail-hold/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/productionreturn-job-detail-hold/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/productionreturn-job-main/get-import-template' })

18
src/api/wms/productionreturnRecordMain/index.ts

@ -67,6 +67,24 @@ export const exportProductionreturnRecordMain = async (params) => {
return await request.download({ url: `/wms/productionreturn-record-main/export-excel`, params })
}
}
// 导出生产退料记录主 Excel -store
export const exportProductionreturnRecordMainStore = async (params) => {
if (params.isSearch){
const data = {...params}
return await request.downloadPost({ url: `/wms/productionreturn-job-detail-store/export-excel-senior`, data })
}else {
return await request.download({ url: `/wms/productionreturn-job-detail-store/export-excel`, params })
}
}
// 导出隔离退料记录主 Excel -hold
export const exportProductionreturnRecordMainHold = async (params) => {
if (params.isSearch){
const data = {...params}
return await request.downloadPost({ url: `/wms/productionreturn-job-detail-hold/export-excel-senior`, data })
}else {
return await request.download({ url: `/wms/productionreturn-job-detail-hold/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {

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

@ -74,12 +74,12 @@ export const deleteProductputawayRecordMain = async (id: number) => {
// 导出制品上架记录主 Excel
export const exportProductputawayRecordMain = async (params) => {
params.type = 'assemble'
if (params.isSearch) {
const cmd = {
'column':'type',
'action':'==',
'value':'assemble'
'value':params.type
}
params.filters.push(cmd)
delete params.isSearch

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

@ -70,3 +70,8 @@ export const exportProductscrapRecordMain = async (params) => {
export const importTemplate = () => {
return request.download({ url: '/wms/productscrap-record-main/get-import-template' })
}
// 撤销
export const revoke = async (requestNumber: number, number: number) => {
return await request.get({ url: `/wms/productscrap-record-main/revoke?requestNumber=` + requestNumber + '&number=' + number})
}

12
src/api/wms/purchasePlanDetail/index.ts

@ -40,6 +40,18 @@ export const getPurchasePlanDetailPage = async (params) => {
}
}
// 查询要货计划子列表 -- 供应商发货申请添加明细
export const getPurchasePlanDetailPageClcik = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/purchase-plan-detail/clickDetailsSenior', data })
} else {
params = getPageParams(params)
return await request.get({ url: `/wms/purchase-plan-detail/clickDetailsPage`, params })
}
}
// 查询采购收货记录子列表
export const getPurchasePlanDetailList = async (params) => {
return await request.get({ url: `/wms/purchase-plan-detail/allList`, params })

11
src/api/wms/purchasereceiptRequestMain/index.ts

@ -88,6 +88,17 @@ export const exportPurchasereceiptRequestMain = async (params) => {
}
}
// 导出采购M型收货申请主 Excel
export const exportPurchasereceiptRequestMainOrderTypeM = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/purchasereceipt-request-main/export-excel-senior-orderTypeM`, data })
} else {
return await request.download({ url: `/wms/purchasereceipt-request-main/export-excel-orderTypeM`, params })
}
}
// 导出备件收货申请
export const exportSparereceiptRequestMain = async (params) => {
if (params.isSearch) {

6
src/api/wms/supplierinvoiceRecordMain/index.ts

@ -52,6 +52,12 @@ export const deleteSupplierinvoiceRecordMain = async (id: number) => {
return await request.delete({ url: `/wms/supplierinvoice-record-main/delete?id=` + id })
}
// 发票回转
export const reverseSupplierinvoiceRecordMain = async (data: SupplierinvoiceRecordMainVO) => {
return await request.post({ url: `/wms/supplierinvoice-record-main/reverse`, data })
}
// 导出供应商发票记录主 Excel
export const exportSupplierinvoiceRecordMain = async (params) => {
console.log(params)

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

@ -59,3 +59,8 @@ export const exportUnplannedissueRecordMain = async (params) => {
export const importTemplate = () => {
return request.download({ url: '/wms/unplannedissue-record-main/get-import-template' })
}
// 撤销
export const revoke = async (id: number) => {
return await request.get({ url: `/wms/unplannedissue-record-main/revoke?id=` + id })
}

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

@ -69,3 +69,8 @@ export const exportUnplannedreceiptRecordMain = async (params) => {
export const importTemplate = () => {
return request.download({ url: '/wms/unplannedreceipt-record-main/get-import-template' })
}
// 撤销
export const revoke = async (id: number) => {
return await request.get({ url: `/wms/unplannedreceipt-record-main/revoke?id=` + id })
}

9
src/components/BasicForm/src/BasicForm.vue

@ -150,6 +150,7 @@
<SearchTable
ref="searchTableRef"
:showSearchTableQueryFields="showSearchTableQueryFields"
:hiddenFilterBtnFields="hiddenFilterBtnFields"
:isCheckStrictly="isCheckStrictly"
@searchTableSuccess="searchTableSuccess"
>
@ -359,6 +360,11 @@ const props = defineProps({
required: false,
default: []
},
hiddenFilterBtnFields:{
type: Array,
required: false,
default: []
},
//
isJiaoyan: {
type: Boolean,
@ -537,11 +543,14 @@ const opensearchTable = (
return
}
}
if(formRef.value.formModel[searchCondition[i].value]){
filters.push({
action: searchCondition[i].action,
column: searchCondition[i].key,
value: formRef.value.formModel[searchCondition[i].value]
})
}
} else {
filters.push({
action: searchCondition[i].action,

5
src/components/Descriptions/src/Descriptions.vue

@ -146,9 +146,10 @@ const showAll = () =>{
}}
</slot>
<slot v-else-if="item.valueFilter">
{{
<el-tag v-if="item.dictType" :type="item.dictType">{{ item.valueFilter(data[item.field]) }}</el-tag>
<span v-else>{{
item.valueFilter(data[item.field])
}}
}}</span>
</slot>
<slot v-else-if="item.dictType">
<div v-if="data[item.field]&&Array.isArray(data[item.field])" >

27
src/components/Detail/src/Detail.vue

@ -209,6 +209,7 @@ import BasicForm from '@/components/BasicForm/src/BasicForm.vue'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import DetailTable from '@/components/DetailTable/src/DetailTable.vue'
import { SearchTable } from '@/components/SearchTable'
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
defineOptions({ name: 'Detail' })
@ -443,6 +444,23 @@ const props = defineProps({
default: 8
}
})
const filterPermissionAnnexTable = ()=>{
return props.annexTable.filter(item=>{
const { wsCache } = useCache()
const permissions = wsCache.get(CACHE_KEY.USER).permissions
const all_permission = '*:*:*'
if(item?.hasPermi&&item?.hasPermi.length > 0){
const hasPermissions = permissions.find((permission: string) => {
return all_permission === permission || item?.hasPermi === permission
})
if(!hasPermissions){
console.log('hasPermi',item)
return false
}
}
return true
})
}
const isShowDrawer = ref(false)
const detailLoading = ref(false)
const tabsList = ref(JSON.parse(JSON.stringify(props.tabs ? props.tabs : '')))
@ -471,7 +489,7 @@ if(props.slotDetailTabList){
}
let otherList = [...props.annexTable,{
let otherList = [...filterPermissionAnnexTable(),{
label:props.annexAlias.label,
prop:'Annex'
},{
@ -482,7 +500,7 @@ let otherList = [...props.annexTable,{
prop:'ChangeRecord'
}]
if(props.annexAlias.hidden){
otherList = [...props.annexTable,{
otherList = [...filterPermissionAnnexTable(),{
label:'备注',
prop:'Remarks'
},{
@ -548,9 +566,12 @@ const getFileList = async () => {
detailLoading.value = false
}
}
//
const getAnnexFileList = async (row) => {
props.annexTable?.forEach(async (item) => {
let annexTable = filterPermissionAnnexTable()
annexTable?.forEach(async (item) => {
let requstData = {...remarksData.data,tableName: item?.tableName}
if(item?.queryParams){
item?.queryParams?.forEach(queryItem => {

4
src/locales/en-US.ts

@ -1283,6 +1283,10 @@ export default {
'确认撤销报工吗?': 'Are you sure to cancel the job application?',
'收货数量不可以大于订单数量!': 'The received quantity cannot exceed the order quantity',
:'Revocation of work report successful',
:'The date of production cannot be less than',
:'The production date cannot be greater than the current system date',
:'Return of invoice',
:'The invoice has been successfully forwarded'
},

4
src/locales/zh-CN.ts

@ -1280,6 +1280,10 @@ export default {
'确认撤销报工吗?': "确认撤销报工吗?",
'收货数量不可以大于订单数量!':'收货数量不可以大于订单数量',
:'撤销报工成功',
:'生产日期不能小于',
:'生产日期不能大于当前系统日期',
:'发票回转',
:'发票回转成功'
},
}

17
src/views/login/components/QRCodePDA.vue

@ -0,0 +1,17 @@
<template>
<div style="position: absolute; bottom: 50px;right:0;display: flex; flex-direction: column;align-items: flex-end;">
<div style="position: relative;" v-show="showCode">
<Icon icon="ep:close" style="position: absolute;right: 5px;top: 5px" @click="handleClose"/>
<img alt="" style="margin-bottom: 10px;" width="120" height="120"/>
</div>
<el-button type="primary" link @click="handleClose">PDA按照程序下载链接</el-button>
</div>
</template>
<script setup lang="ts">
const showCode = ref(false)
const handleClose = ()=>{
showCode.value = !showCode.value
}
</script>
<style lang="scss" scoped></style>

3
src/views/login/components/index.ts

@ -4,5 +4,6 @@ import LoginFormTitle from './LoginFormTitle.vue'
import RegisterForm from './RegisterForm.vue'
import QrCodeForm from './QrCodeForm.vue'
import SSOLoginVue from './SSOLogin.vue'
import QRCodePDA from './QRCodePDA.vue'
export { LoginForm, MobileForm, LoginFormTitle, RegisterForm, QrCodeForm, SSOLoginVue }
export { LoginForm, MobileForm, LoginFormTitle, RegisterForm, QrCodeForm, SSOLoginVue,QRCodePDA }

7
src/views/login/login.vue

@ -43,7 +43,7 @@
</div>
<!-- 右边的登录界面 -->
<Transition appear enter-active-class="animate__animated animate__bounceInRight">
<div
<div style="position: relative"
class="m-auto h-full w-[100%] flex items-center at-2xl:max-w-500px at-lg:max-w-500px at-md:max-w-500px at-xl:max-w-500px"
>
<!-- 账号登录 -->
@ -56,7 +56,10 @@
<RegisterForm class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" />
<!-- 三方登录 -->
<SSOLoginVue class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" />
<!-- PDA端APK程序下载的二维码 -->
<!-- <QRCodePDA class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)"/> -->
</div>
</Transition>
</div>
</div>
@ -70,7 +73,7 @@ import { useAppStore } from '@/store/modules/app'
import { ThemeSwitch } from '@/layout/components/ThemeSwitch'
import { LocaleDropdown } from '@/layout/components/LocaleDropdown'
import { LoginForm, MobileForm, QrCodeForm, RegisterForm, SSOLoginVue } from './components'
import { LoginForm, MobileForm, QrCodeForm, RegisterForm, SSOLoginVue,QRCodePDA } from './components'
defineOptions({ name: 'Login' })

91
src/views/qms/inspectionQ2/index.vue

@ -49,6 +49,15 @@
<BasicForm
ref="basicFormRef"
@success="formsSuccess"
:sumFormDataByForm="
(formRef, formModel) => {
const { claimAddress } = formModel
formRef.value.setValues({
installPackageUrl: claimAddress
})
}
"
:hiddenFilterBtnFields="['purchaseReceiptNumber']"
:rules="Q2Rules"
:formAllSchemas="Q2.allSchemas"
:apiUpdate="Q2Api.updateQ2"
@ -150,6 +159,14 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
if (formField == 'lightItemCode') {
setV['lightItemCode'] = val[0].code
setV['lightItemName'] = val[0].name
setV['standardCostPrice'] = ''
setV['lightQty'] = 0
setV['claimAmount'] = ''
setV['otherClaimAmount'] = 0
setV['summaryAmount'] = 0
setV['disbursementAmount'] = 0
setV['remainingAmount'] = 0
 const params2 = {
        by: 'ASC',
        filters: [{ column: 'itemCode', action: '==', value: val[0].code }],
@ -186,14 +203,6 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
setV['SupplierCode'] = ''
setV['SupplierName'] = ''
setV['itemName'] = ''
setV['standardCostPrice'] = ''
setV['lightQty'] = 0
setV['claimAmount'] = ''
setV['otherclaimAmount'] = 0
setV['summaryAmount'] = 0
setV['disbursementAmount'] = 0
setV['remainingAmount'] = 0
setV['purchaseReceiptNumber'] = ''
setV['uom'] = val[0].supplierUom
Q2Api.getEmail().then((res) => {
@ -239,24 +248,6 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
})
}
})
// const params2 = {
// by: 'ASC',
// filters: [{ column: 'itemCode', action: '==', value: val[0].itemCode }],
// pageNo: 1,
// pageSize: 500,
// sort: ''
// }
// params2.isSearch = true
// StdcostpriceApi.getStdcostpricePage(params2).then((res) => {
// if (res.list?.length > 0) {
// priceObj.value = res.list[0]
// formRef.setValues({
// standardCostPrice: priceObj.value.price
// })
// }
// })
setV[formField] = val[0][searchField]
formRef.setValues(setV)
}
@ -264,6 +255,8 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
}
const onChange = (field, e) => {
console.log('onChange',field)
console.log(basicFormRef.value.formRef.formModel)
if (field == 'lightQty') {
basicFormRef.value.formRef.formModel.claimAmount = (
parseFloat(basicFormRef.value.formRef.formModel.lightQty) *
@ -272,7 +265,7 @@ const onChange = (field, e) => {
).toFixed(6)
basicFormRef.value.formRef.formModel.summaryAmount = (
parseFloat(basicFormRef.value.formRef.formModel.claimAmount) +
parseFloat(basicFormRef.value.formRef.formModel.otherclaimAmount)
parseFloat(basicFormRef.value.formRef.formModel.otherClaimAmount||0)
).toFixed(6)
basicFormRef.value.formRef.formModel.remainingAmount = (
parseFloat(basicFormRef.value.formRef.formModel.summaryAmount) -
@ -287,17 +280,17 @@ const onChange = (field, e) => {
).toFixed(6)
basicFormRef.value.formRef.formModel.summaryAmount = (
parseFloat(basicFormRef.value.formRef.formModel.claimAmount) +
parseFloat(basicFormRef.value.formRef.formModel.otherclaimAmount)
parseFloat(basicFormRef.value.formRef.formModel.otherClaimAmount)
).toFixed(6)
basicFormRef.value.formRef.formModel.remainingAmount = (
parseFloat(basicFormRef.value.formRef.formModel.summaryAmount) -
parseFloat(basicFormRef.value.formRef.formModel.disbursementAmount)
).toFixed(6)
}
if (field == 'otherclaimAmount') {
if (field == 'otherClaimAmount') {
basicFormRef.value.formRef.formModel.summaryAmount = (
parseFloat(basicFormRef.value.formRef.formModel.claimAmount) +
parseFloat(basicFormRef.value.formRef.formModel.otherclaimAmount)
parseFloat(basicFormRef.value.formRef.formModel.otherClaimAmount)
).toFixed(6)
basicFormRef.value.formRef.formModel.remainingAmount = (
parseFloat(basicFormRef.value.formRef.formModel.summaryAmount) -
@ -307,7 +300,7 @@ const onChange = (field, e) => {
if (field == 'claimAmount') {
basicFormRef.value.formRef.formModel.summaryAmount = (
parseFloat(basicFormRef.value.formRef.formModel.claimAmount) +
parseFloat(basicFormRef.value.formRef.formModel.otherclaimAmount)
parseFloat(basicFormRef.value.formRef.formModel.otherClaimAmount)
).toFixed(6)
basicFormRef.value.formRef.formModel.remainingAmount = (
parseFloat(basicFormRef.value.formRef.formModel.summaryAmount) -
@ -324,6 +317,7 @@ const onChange = (field, e) => {
if (field == 'supplierCode') {
basicFormRef.value.formRef.formModel.supplierName = ''
basicFormRef.value.formRef.formModel.purchaseReceiptNumber = ''
const paramsCustomer = {
by: 'ASC',
filters: [
@ -446,6 +440,19 @@ const handleFinish = async (id: number) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
if (row && row.claimAddress?.trim()) {
row.filePathList = row.claimAddress.split(',')
}
if (row && row.filePathList && row.filePathList.length > 0) {
row.filePathListView = row.filePathList.map((item) => {
return {
name: item,
url: item
}
})
}
basicFormRef.value.open(type, row)
if(!row || !row.claimAmount){
nextTick(() => {
@ -463,6 +470,24 @@ const openForm = (type: string, row?: any) => {
disbursementAmount: 0
})
})
const currentTime = new Date().getTime()
const fileId = Q2.allSchemas.formSchema.find((item) => item.field == 'fileId')
const uploadFile = Q2.allSchemas.formSchema.find(
(item) => item.field == 'claimAddress'
)
if (fileId) {
fileId['value'] = currentTime
}
if (uploadFile) {
uploadFile['componentProps']['upData']['tableId'] = currentTime
uploadFile['componentProps']['modelValue'] = []
}
}
else if (type == 'update') {
const uploadFile = Q2.allSchemas.formSchema.find(
(item) => item.field == 'claimAddress'
)
uploadFile['componentProps']['modelValue'] = row.filePathListView
}
}
@ -482,6 +507,10 @@ const formsSuccess = async (formType, data) => {
message.error('整灯数量不能为0')
return
}
if (!data.standardCostPrice) {
message.error('标准成本价格不能为0或空')
return
}
if (data.activeTime == 0) data.activeTime = null
if (data.expireTime == 0) data.expireTime = null

38
src/views/qms/inspectionQ2/inspectionQ2.data.ts

@ -25,7 +25,7 @@ export const Q2Rules = reactive({
supplierCode: [{ required: true, message: '请选择供应商代码', trigger: 'change' }],
purchaseReceiptNumber: [
{ required: true, message: '请选择采购收货单号', trigger: 'change' },
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
{ max: 255, message: '不得超过255个字符', trigger: 'blur' }
],
claimTime: [{ required: true, message: '请选择索赔日期', trigger: 'change' }],
lightItemCode: [{ required: true, message: '请选择整灯物料代码', trigger: 'change' }],
@ -390,7 +390,7 @@ export const Q2 = useCrudSchemas(
},
{
label: '其他索赔金额',
field: 'otherclaimAmount',
field: 'otherClaimAmount',
sort: 'custom',
isSearch: false,
isTable: true,
@ -470,7 +470,6 @@ export const Q2 = useCrudSchemas(
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true,
multiple: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择Q1通知单', // 输入框占位文本
searchField: 'number', // 查询弹窗赋值字段
@ -597,6 +596,39 @@ export const Q2 = useCrudSchemas(
}
},
{
label: '索赔单附件',
field: 'claimAddressName',
sort: 'custom',
isSearch: false,
isForm: false,
isTable: true,
isDetail: false,
table: {
width: 150
}
},
{
label: '索赔单附件',
field: 'claimAddress',
sort: 'custom',
isTable: false,
table: {
width: 150
},
form: {
component: 'UploadFile',
componentProps: {
upData: {
tableName: 'basicInspectionQ2',
tableId: ''
},
fileType: ['doc', 'xls', 'ppt', 'txt'],
modelValue: []
}
}
},
{
label: '状态',
field: 'status',

1
src/views/qms/inspectionQ3/inspectionQ3.data.ts

@ -126,7 +126,6 @@ export const InspectionQ3Main = useCrudSchemas(
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true,
multiple: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择Q1通知单', // 输入框占位文本
searchField: 'number', // 查询弹窗赋值字段

10
src/views/qms/inspectionRecord/index.vue

@ -247,7 +247,7 @@ const butttondata = (row) => {
// defaultButtons.mainListOrderCOMPLETEBtn({ hide: isShowMainButton(row, ['INCOMPLETE']) }), //
defaultButtons.mainApplyDecisionBtn({
hide: isShowMainButton(row, null),
// hide: isShowMainButton(row, null),
hasPermi: 'qms:inspection-recode-main:edit'
}), // 使
// defaultButtons.mainListDeleteBtn(null), //
@ -281,13 +281,13 @@ const buttonTableClick = async (val, row) => {
//
// 1使
if (row.estimateCode == 1) {
InspectionRecordMain.allSchemas.formSchema.forEach((itemColumn) => {
InspectionRecordUser.allSchemas.formSchema.forEach((itemColumn) => {
if (itemColumn.field == 'useDecision') {
itemColumn.componentProps.options = useDecisionList?.filter((item) => item.value == 1)
}
})
} else if (row.estimateCode == 2) {
InspectionRecordMain.allSchemas.formSchema.forEach((itemColumn) => {
InspectionRecordUser.allSchemas.formSchema.forEach((itemColumn) => {
if (itemColumn.field == 'useDecision') {
itemColumn.componentProps.options = useDecisionList?.filter((item) => item.value != 1)
}
@ -338,7 +338,7 @@ const basicFormRef = ref()
/** 使用决策操作操作 */
const formRef = ref()
const rowData = ref()
const openUseForm = async (type: string, row?: number) => {
const openUseForm = async (type: string, row?: any) => {
tableData.value = [] //
rowData.value = row
formRef.value.open(type, row)
@ -430,7 +430,9 @@ const submitForm = async (formType, data) => {
message.success(t('common.updateSuccess'))
}
formRef.value.dialogVisible = false
if (!data.isPublished) {
handleOrderPub(rowData.value)
}
//
getList()
} finally {

2
src/views/qms/inspectionRecord/useAddForm.vue

@ -140,7 +140,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
if(row.estimateCode == 1){
data.value.useDecision = '1'
}else{
data.value.useDecision =''
data.value.useDecision =row.useDecision||''
}
// ==
if(data.value.useDecision == 1){

190
src/views/qms/inspectionScheme/addForm.vue

@ -247,57 +247,43 @@
</el-col> -->
</el-row>
</el-form>
<el-tabs
v-model="editableTabsValue"
closable
class="demo-tabs"
@edit="handleTabsEdit"
type="border-card"
tab-position="left"
:stretch="false"
<div class="main-body">
<div class="left">
<!-- <div class="plus-icon" @click="handleTabsEdit('', 'add')">
<el-icon><Plus /></el-icon>
</div> -->
<draggable
:list="data.process"
:disabled="!data.enabled"
item-key="name"
ghost-class="ghost"
chosen-class="chosen"
animation="300"
@change="handleChange"
>
<el-tab-pane
v-for="item in data.process"
:key="item.name"
:label="item.description"
:name="item.name"
<template #item="{ element, index }">
<div
class="tabs-label"
:class="element.name == editableTabsValue ? 'active' : ''"
@click.stop="chooseTabs(element, index)"
>
<!-- <el-col :span="12">
<el-form-item label="动态修改规则" prop="dynamicUpdateCode">
<div style="display: flex; width: 100%">
<el-input
v-model="data.dynamicUpdateName"
disabled
placeholder="请选择动态修改规则"
/>
<el-button
type="info"
plain
style="width: 40px"
@click="
opensearchTable(
'dynamicUpdateCode',
null,
'动态修改规则',
DynamicRule.allSchemas,
DynamicRuleApi.getDynamicRulePage,
[
{
key: 'available',
value: 'TRUE',
isMainValue: false
}
],
false,
'main',
data
)
"
><Icon icon="ep:search"
/></el-button>
<span>{{ element.description }}</span>
<!-- <el-icon
color="#67C23A"
@click.stop="copy(element)"
style="margin-left: 10px; margin-right: 10px"
><CopyDocument
/></el-icon> -->
<el-icon color="#409efc" @click.stop="handleTabsEdit(element.name, 'remove')"
><Close
/></el-icon>
</div>
</el-form-item>
</el-col> -->
</template>
</draggable>
</div>
<div class="right">
<div v-for="(item, index) in data.process" :key="index">
<div v-show="item.name == editableTabsValue">
<div class="small-title">检验工序</div>
<el-form :model="item" label-width="auto" :rules="rules" ref="formProcessRef">
<el-row :gutter="20">
@ -322,7 +308,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="顺序号" prop="sequenceCode">
<el-input v-model="item.sequenceCode" />
<el-input v-model="item.sequenceCode" disabled/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -423,7 +409,11 @@
v-model="item.inspectionCharacteristicsBaseVO.samplingProcessCode"
placeholder="请选择采样过程"
@blur="
onBlur('samplingProcess', SamplingProcessApi.getSamplingProcessPage, item)
onBlur(
'samplingProcess',
SamplingProcessApi.getSamplingProcessPage,
item
)
"
@focus="onFocus"
/>
@ -501,7 +491,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="特征类型" prop="inspectionCharacteristicsBaseVO.featureType">
<el-form-item
label="特征类型"
prop="inspectionCharacteristicsBaseVO.featureType"
>
<!-- <el-input v-model="item.featureType" /> -->
<el-select
v-model="item.inspectionCharacteristicsBaseVO.featureType"
@ -521,7 +514,10 @@
</el-form-item>
</el-col>
<el-col :span="12" v-if="item.inspectionCharacteristicsBaseVO.featureType == 0">
<el-form-item label="计量单位" prop="inspectionCharacteristicsBaseVO.quantifyUom">
<el-form-item
label="计量单位"
prop="inspectionCharacteristicsBaseVO.quantifyUom"
>
<el-input
v-model="item.inspectionCharacteristicsBaseVO.quantifyUom"
:disabled="!item.inspectionCharacteristicsBaseVO.isCanUpdate"
@ -641,7 +637,9 @@
<el-input
v-model="item.inspectionCharacteristicsBaseVO.quantifyQuantifyCode"
placeholder="请选择选定集"
@blur="onBlur('quantifyQuantify', SelectedSetApi.getSelectedSetPage, item)"
@blur="
onBlur('quantifyQuantify', SelectedSetApi.getSelectedSetPage, item)
"
@focus="onFocus"
/>
<el-button
@ -689,8 +687,10 @@
</el-col>
</el-row>
</el-form>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</div>
<template #footer>
<ButtonBase :Butttondata="Butttondata" @button-base-click="buttonBaseClick" :key="count" />
@ -739,6 +739,8 @@ import { DynamicRule } from '@/views/qms/dynamicRule/dynamicRule.data' //动态
import * as SelectedSetApi from '@/api/qms/selectedSet' //
import { SelectedSet } from '@/views/qms/selectedSet/selectedSet.data' //
import { validateInteger, validateMaxNumber5, validateTwoNum } from '@/utils/validator'
import { Plus, Close, CopyDocument } from '@element-plus/icons-vue'
import draggable from 'vuedraggable'
const message = useMessage() //
@ -785,6 +787,8 @@ const formFeaturesRef = ref()
const formProcessRef = ref()
const data = ref({
enabled: true,
dragging: false,
code: '',
itemCode: '',
version: '',
@ -876,7 +880,7 @@ const rules = ref({
})
const isShowField = ref(0) //aql 0 0
/** 打开弹窗 */
let tabIndex = 1
const sequenceCode = ref(0)
const open = async (type: string, row?: any, masterParmas?: any, titleName?: any) => {
dialogVisible.value = true
if (titleName) {
@ -888,6 +892,8 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
isShowField.value = 0 //isShowField == 0aql
if (row) {
data.value = JSON.parse(JSON.stringify(row))
data.value.enabled = true
data.value.dragging = false
//
if (formType.value == 'create') {
data.value.id = ''
@ -996,6 +1002,8 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
}
} else {
data.value = {
enabled: true,
dragging: false,
code: '',
itemCode: '',
version: '',
@ -1014,8 +1022,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
process: []
}
}
tabIndex = data.value.process.length + 1
sequenceCode.value = data.value.process.length + 1
}
defineExpose({ open, dialogVisible, formLoading }) // open
import type { TabPaneName } from 'element-plus'
@ -1027,6 +1034,7 @@ const handleTabsEdit = (targetName: TabPaneName | undefined, action: 'remove' |
if (action === 'add') {
nameForm.value.name = ''
dialogVisibleName.value = true
sequenceCode.value = data.value.process.length + 1
} else if (action === 'remove') {
const tabs = data.value.process
let activeName = editableTabsValue.value
@ -1042,6 +1050,9 @@ const handleTabsEdit = (targetName: TabPaneName | undefined, action: 'remove' |
}
editableTabsValue.value = activeName
data.value.process = tabs.filter((tab) => tab.name !== targetName)
data.value.process.forEach((item, index) => {
item.sequenceCode = index + 1
})
}
}
/** 修改名称时间 */
@ -1051,8 +1062,11 @@ const buttonBaseClick1 = (val) => {
if (!nameRef.value) return
nameRef.value.validate((valid, fields) => {
if (valid) {
const newTabName = `${++tabIndex}`
data.value.process.push({
let newTabName = 1
if (data.value.process && data.value.process.length > 0) {
newTabName = data.value.process[data.value.process.length - 1].name + 1
}
let obj = {
description: nameForm.value.name,
name: newTabName,
inspectionCode: '',
@ -1078,9 +1092,8 @@ const buttonBaseClick1 = (val) => {
quantifyDecimal: '',
quantifyQuantifyCode: ''
}
})
console.log(data.value.process)
}
data.value.process.push(obj)
editableTabsValue.value = newTabName
dialogVisibleName.value = false
} else {
@ -1546,6 +1559,16 @@ const onFocus = () => {
]
count.value++
}
const chooseTabs = (element, index) => {
if (element.name == editableTabsValue.value) return
editableTabsValue.value = element.name
}
const handleChange = (e) => {
editableTabsValue.value = e.moved.element.name
data.value.process.forEach((item, index) => {
item.sequenceCode = index + 1
})
}
</script>
<style scoped>
.small-title {
@ -1554,6 +1577,47 @@ const onFocus = () => {
color: #1a8bfc;
font-size: 16px;
}
.main-body {
display: flex;
.left {
width: 200px;
background: rgb(245, 247, 250);
border: 1px solid rgb(220, 223, 230);
min-height: 60px;
position: relative;
padding: 6px 0px;
.plus-icon {
cursor: pointer;
position: absolute;
right: 0px;
top: 0px;
border: 1px solid rgb(220, 223, 230);
background: rgb(245, 247, 250);
display: flex;
align-items: center;
justify-items: center;
padding: 1px;
}
}
}
.tabs-label {
padding: 4px 20px 4px 20px;
min-height: 30px;
justify-content: flex-end;
display: flex;
align-items: center;
cursor: pointer;
word-break: break-all;
}
.active {
background: white;
}
.right {
border: 1px solid rgb(220, 223, 230);
flex: 1;
width: 0px;
padding: 20px;
}
</style>
<style>
.el-tabs--left .el-tabs__header.is-left {

208
src/views/qms/inspectionTemplate/addForm.vue

@ -75,32 +75,43 @@
</el-col>
</el-row>
</el-form>
<el-tabs
v-model="editableTabsValue"
editable
class="demo-tabs"
@edit="handleTabsEdit"
type="border-card"
tab-position="left"
:stretch="false"
<div class="main-body">
<div class="left">
<div class="plus-icon" @click="handleTabsEdit('', 'add')">
<el-icon><Plus /></el-icon>
</div>
<draggable
:list="data.process"
:disabled="!data.enabled"
item-key="name"
ghost-class="ghost"
chosen-class="chosen"
animation="300"
@change="handleChange"
>
<el-tab-pane
v-for="item in data.process"
:key="item.name"
:label="item.description"
:name="item.name"
<template #item="{ element, index }">
<div
class="tabs-label"
:class="element.name == editableTabsValue ? 'active' : ''"
@click.stop="chooseTabs(element, index)"
>
<template #label>
<span class="custom-tabs-label" style="display: flex; align-items: center">
<span>{{ item.description }}</span>
<Icon
icon="ep:document-copy"
<span>{{ element.description }}</span>
<el-icon
color="#67C23A"
style="margin-left: 10px"
@click.stop="copy(item)"
/>
</span>
@click.stop="copy(element)"
style="margin-left: 10px; margin-right: 10px"
><CopyDocument
/></el-icon>
<el-icon color="#409efc" @click.stop="handleTabsEdit(element.name, 'remove')"
><Close
/></el-icon>
</div>
</template>
</draggable>
</div>
<div class="right">
<div v-for="(item, index) in data.process" :key="index">
<div v-show="item.name == editableTabsValue">
<div class="small-title">检验工序</div>
<!-- <Form
:ref="`formRefProcess`+index"
@ -132,7 +143,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="顺序号" prop="sequenceCode">
<el-input v-model="item.sequenceCode" type="number" />
<el-input v-model="item.sequenceCode" type="number" disabled="true" />
</el-form-item>
</el-col>
<!-- <el-col :span="12">
@ -233,7 +244,11 @@
v-model="item.inspectionCharacteristicsBaseVO.samplingProcessCode"
placeholder="请选择采样过程"
@blur="
onBlur('samplingProcess', SamplingProcessApi.getSamplingProcessPage, item)
onBlur(
'samplingProcess',
SamplingProcessApi.getSamplingProcessPage,
item
)
"
@focus="onFocus"
/>
@ -308,7 +323,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="特征类型" prop="inspectionCharacteristicsBaseVO.featureType">
<el-form-item
label="特征类型"
prop="inspectionCharacteristicsBaseVO.featureType"
>
<!-- <el-input v-model="item.featureType" /> -->
<el-select
v-model="item.inspectionCharacteristicsBaseVO.featureType"
@ -326,11 +344,10 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if="item.inspectionCharacteristicsBaseVO.featureType == 0">
<el-form-item
label="计量单位"
prop="inspectionCharacteristicsBaseVO.quantifyUom"
v-if="item.inspectionCharacteristicsBaseVO.featureType == 0"
>
<el-select
v-model="item.inspectionCharacteristicsBaseVO.quantifyUom"
@ -345,11 +362,10 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if="item.inspectionCharacteristicsBaseVO.featureType == 0">
<el-form-item
label="小数位"
prop="inspectionCharacteristicsBaseVO.quantifyDecimal"
v-if="item.inspectionCharacteristicsBaseVO.featureType == 0"
>
<el-input
v-model="item.inspectionCharacteristicsBaseVO.quantifyDecimal"
@ -399,7 +415,10 @@
item.inspectionCharacteristicsBaseVO.quantifyIsCapping
"
>
<el-form-item label="上限值" prop="inspectionCharacteristicsBaseVO.quantifyCapping">
<el-form-item
label="上限值"
prop="inspectionCharacteristicsBaseVO.quantifyCapping"
>
<el-input
v-model="item.inspectionCharacteristicsBaseVO.quantifyCapping"
type="number"
@ -430,7 +449,10 @@
item.inspectionCharacteristicsBaseVO.quantifyIsTarget
"
>
<el-form-item label="目标值" prop="inspectionCharacteristicsBaseVO.quantifyTarget">
<el-form-item
label="目标值"
prop="inspectionCharacteristicsBaseVO.quantifyTarget"
>
<el-input
v-model="item.inspectionCharacteristicsBaseVO.quantifyTarget"
type="number"
@ -446,7 +468,9 @@
<el-input
v-model="item.inspectionCharacteristicsBaseVO.quantifyQuantifyCode"
placeholder="请选择选定集"
@blur="onBlur('quantifyQuantify', SelectedSetApi.getSelectedSetPage, item)"
@blur="
onBlur('quantifyQuantify', SelectedSetApi.getSelectedSetPage, item)
"
@focus="onFocus"
/>
<el-button
@ -493,15 +517,13 @@
</el-col>
</el-row>
</el-form>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</div>
<template #footer>
<ButtonBase
:Butttondata="Butttondata"
@button-base-click="buttonBaseClick"
:key="count"
/>
<ButtonBase :Butttondata="Butttondata" @button-base-click="buttonBaseClick" :key="count" />
</template>
</Dialog>
<Dialog title="修改名称" v-model="dialogVisibleName" width="500px" :close-on-click-modal="false">
@ -536,6 +558,8 @@ import * as DynamicRuleApi from '@/api/qms/dynamicRule' //动态修改规则
import { DynamicRule } from '@/views/qms/dynamicRule/dynamicRule.data' //
import * as SelectedSetApi from '@/api/qms/selectedSet' //
import { SelectedSet } from '@/views/qms/selectedSet/selectedSet.data' //
import { Plus, Close, CopyDocument } from '@element-plus/icons-vue'
import draggable from 'vuedraggable'
import {
validateInteger,
validateTwoNum,
@ -587,6 +611,8 @@ const formFeaturesRef = ref()
const formProcessRef = ref()
const data = ref({
enabled: true,
dragging: false,
code: '',
description: '',
version: '',
@ -645,7 +671,7 @@ const rules = ref({
{ required: true, message: '请输入下限值', trigger: 'blur' }
],
'inspectionCharacteristicsBaseVO.quantifyUom': [
{ required: true, message: '请选择计量单位', trigger: 'blur' }
{ required: true, message: '请选择计量单位', trigger: ['blur', 'change'] }
],
'inspectionCharacteristicsBaseVO.quantifyDecimal': [
{ required: true, message: '请输入小数位', trigger: 'blur' },
@ -658,7 +684,7 @@ const rules = ref({
})
/** 打开弹窗 */
let tabIndex = 1
const sequenceCode = ref(0)
const open = async (type: string, row?: any, masterParmas?: any, titleName?: any) => {
dialogVisible.value = true
if (titleName) {
@ -668,10 +694,11 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
}
formType.value = type
if (row) {
console.log(row)
//
if (formType.value == 'create') {
data.value = {
enabled: true,
dragging: false,
code: '',
description: row.description,
version: String(row.version),
@ -734,6 +761,8 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
} else {
data.value = JSON.parse(JSON.stringify(row))
data.value.version = String(data.value.version)
data.value.enabled = true
data.value.dragging = false
let list = await InspectionProcessPageApi.getListByTempleteCode(row.code)
editableTabsValue.value = '1'
list.forEach((item, index) => {
@ -759,6 +788,8 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
}
} else {
data.value = {
enabled: true,
dragging: false,
code: '',
description: '',
version: '',
@ -769,7 +800,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
}
tabIndex = data.value.process.length + 1
sequenceCode.value = data.value.process.length + 1
}
defineExpose({ open, dialogVisible, formLoading }) // open
import type { TabPaneName } from 'element-plus'
@ -781,6 +812,7 @@ const handleTabsEdit = (targetName: TabPaneName | undefined, action: 'remove' |
if (action === 'add') {
nameForm.value.name = ''
dialogVisibleName.value = true
sequenceCode.value = data.value.process.length + 1
} else if (action === 'remove') {
const tabs = data.value.process
let activeName = editableTabsValue.value
@ -796,6 +828,9 @@ const handleTabsEdit = (targetName: TabPaneName | undefined, action: 'remove' |
}
editableTabsValue.value = activeName
data.value.process = tabs.filter((tab) => tab.name !== targetName)
data.value.process.forEach((item, index) => {
item.sequenceCode = index + 1
})
}
}
/** 修改名称时间 */
@ -805,13 +840,16 @@ const buttonBaseClick1 = (val) => {
if (!nameRef.value) return
nameRef.value.validate((valid, fields) => {
if (valid) {
const newTabName = `${++tabIndex}`
data.value.process.push({
let newTabName = 1
if (data.value.process && data.value.process.length > 0) {
newTabName = data.value.process[data.value.process.length - 1].name + 1
}
let obj = {
description: nameForm.value.name,
name: newTabName,
inspectionCode: '',
dynamicUpdateCode: '',
sequenceCode: '',
sequenceCode: sequenceCode.value,
inspectionCharCode: '',
inspectionCharacteristicsBaseVO: {
inspectionMethodCode: '',
@ -830,7 +868,8 @@ const buttonBaseClick1 = (val) => {
quantifyDecimal: '',
quantifyQuantifyCode: ''
}
})
}
data.value.process.push(obj)
rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
@ -848,7 +887,6 @@ const buttonBaseClick1 = (val) => {
}
}
const buttonBaseClick = (val) => {
console.log(val)
//
if (val == 'save') {
submitForm()
@ -861,7 +899,7 @@ const buttonBaseClick = (val) => {
//
const emit = defineEmits(['submitForm', 'searchTableSuccess'])
const validateForm = (formRef) => {
// console.log(TableBaseForm_Ref.value)
console.log(formRef)
let _lists = formRef?.map((v) => v.validate())
return Promise.all(_lists)
.then(() => {
@ -887,6 +925,7 @@ const submitForm = async () => {
//
await validateForm(formProcessRef.value)
await formMainRef.value.validate()
//
if (!data.value.process || data.value.process.length == 0) {
message.error(`请添加工序`)
@ -918,7 +957,6 @@ const submitForm = async () => {
return
}
// ,,
console.log(data.value.process)
const arr1 = data.value.process.filter(
(item) =>
((item.inspectionCharacteristicsBaseVO.quantifyIsCapping &&
@ -970,7 +1008,6 @@ const submitForm = async () => {
parseFloat(item.inspectionCharacteristicsBaseVO.quantifyTarget)))
)
})
console.log(99, arr2)
if (arr2 && arr2.length > 0) {
const str = arr2.map((item) => item.description).join(',')
message.error(`${str}工序上限值应大于目标值大于下限值`)
@ -983,9 +1020,7 @@ const submitForm = async () => {
//
emit('submitForm', formType.value, data)
}
} catch {
console.log(111)
}
} catch {}
}
/** 弹窗按钮 */
let Butttondata: any = []
@ -1007,7 +1042,6 @@ const changeFeatureType = (e, item) => {
item.inspectionCharacteristicsBaseVO.quantifyTarget = ''
item.inspectionCharacteristicsBaseVO.quantifyQuantifyCode = ''
item.inspectionCharacteristicsBaseVO.quantifyQuantifyName = ''
console.log(e)
if (e) {
rules.value['inspectionCharacteristicsBaseVO.quantifyQuantifyCode'][0].required = true
} else {
@ -1026,7 +1060,6 @@ const opensearchTable = (
type,
row
) => {
console.log(988, row)
const _searchCondition = {}
//
if (searchCondition && searchCondition.length > 0) {
@ -1093,7 +1126,6 @@ const opensearchTable = (
//
// val row
const searchTableSuccess = (formField, searchField, val, type, row) => {
console.log(row)
if (type == 'features') {
row.inspectionCharacteristicsBaseVO[formField] = val[0].code
if (formField == 'inspectionMethodCode') {
@ -1205,22 +1237,64 @@ const onFocus = () => {
]
count.value++
}
const chooseTabs = (element, index) => {
if (element.name == editableTabsValue.value) return
editableTabsValue.value = element.name
}
const handleChange = (e) => {
editableTabsValue.value = e.moved.element.name
data.value.process.forEach((item, index) => {
item.sequenceCode = index + 1
})
}
</script>
<style scoped>
<style scoped lang="scss">
.small-title {
font-weight: bold;
padding: 0px 10px 10px;
color: #1a8bfc;
font-size: 16px;
}
</style>
<style>
.el-tabs--left .el-tabs__header.is-left {
padding-bottom: 5000px;
margin-bottom: -5000px;
min-width: 150px !important;
}
.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left {
min-width: 120px !important;
.main-body {
display: flex;
.left {
width: 200px;
background: rgb(245, 247, 250);
border: 1px solid rgb(220, 223, 230);
min-height: 60px;
position: relative;
padding: 6px 0px;
.plus-icon {
cursor: pointer;
position: absolute;
right: 0px;
top: 0px;
border: 1px solid rgb(220, 223, 230);
background: rgb(245, 247, 250);
display: flex;
align-items: center;
justify-items: center;
padding: 1px;
}
}
}
.tabs-label {
padding: 4px 20px 4px 20px;
min-height: 30px;
justify-content: flex-end;
display: flex;
align-items: center;
cursor: pointer;
word-break: break-all;
}
.active {
background: white;
}
.right {
border: 1px solid rgb(220, 223, 230);
flex: 1;
width: 0px;
padding: 20px;
}
</style>

3
src/views/wms/basicDataManage/itemManage/bom/index.vue

@ -199,6 +199,7 @@ const formsSuccess = async (formType,data) => {
return
}
basicFormRef.value.formLoading = true
try {
if (formType === 'create') {
await BomApi.createBom(data)
message.success(t('common.createSuccess'))
@ -206,7 +207,9 @@ const formsSuccess = async (formType,data) => {
await BomApi.updateBom(data)
message.success(t('common.updateSuccess'))
}
} finally {
basicFormRef.value.formLoading = false
}
basicFormRef.value.dialogVisible = false
if (formType === 'create') {
getList()

4
src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts

@ -383,7 +383,7 @@ export const Callmaterials = useCrudSchemas(reactive<CrudSchema[]>([
}
},
},
{
// {
// label: '库位',
// field: 'location',
// sort: 'custom',
@ -418,7 +418,7 @@ export const Callmaterials = useCrudSchemas(reactive<CrudSchema[]>([
// }
// },
// isSearch: true
},
// },
// {
// label: '是否确认接收',
// field: 'isRecive',

52
src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue

@ -445,6 +445,26 @@
</el-select> -->
</el-form-item>
</el-col>
<!-- 溢出库位 -->
<el-col key="溢出库位col" :span="24">
<el-form-item key="溢出库位formItem" label="溢出库位" prop="warehouse" >
<el-select key="溢出库位Value"
v-model="formData.configuration.overflowLocationCode"
placeholder="请选择溢出库位"
style="flex: 1;margin-left: 10px;"
clearable
multiple
collapse-tags
>
<el-option
v-for="cur in options.overflowLocationCodes"
:key="'溢出库位Value'+cur.code"
:label="cur.code"
:value="cur.code"
/>
</el-select>
</el-form-item>
</el-col>
<!-- 优先空位库 -->
<el-col key="优先空位库col" :span="24">
<el-form-item key="优先空位库formItem" label="优先空位库">
@ -577,7 +597,7 @@ import { getCustomerList } from '@/api/wms/customer'
import { getWarehouseList } from '@/api/wms/warehouse'
import { getAreaList } from '@/api/wms/areabasic'
import { getLocationgroupList } from '@/api/wms/locationgroup'
import { getLocationList } from '@/api/wms/location'
import { getLocationList,getLocationByOverflowAreaTypeByConfig } from '@/api/wms/location'
import * as RuleApi from '@/api/wms/rule'
import * as WarehouseApi from '@/api/wms/warehouse'
import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
@ -657,7 +677,9 @@ const formData = ref({
//
RowOrder: 'ASC',
//
ColumOrder: 'ASC'
ColumOrder: 'ASC',
//
overflowLocationCode:''
}
})
//
@ -726,7 +748,8 @@ const options = reactive({
],
//
warehouseList: [],
originWarehouseList: []
originWarehouseList: [],
overflowLocationCodes:[]
})
//
const Butttondata = ref([
@ -1074,6 +1097,9 @@ const open = async (type: string, strategyCode: string, id?: number) => {
}
if (data.configuration) {
formData.value.configuration = JSON.parse(data.configuration)
if(!Array.isArray(formData.value.configuration.overflowLocationCode)&&formData.value.configuration.overflowLocationCode.length>0){
formData.value.configuration.overflowLocationCode = formData.value.configuration.overflowLocationCode.split(',')
}
}
//
@ -1175,6 +1201,10 @@ const submitForm = async () => {
Value:str
}
})
let configuration = {...formData.value.configuration}
if(Array.isArray(configuration.overflowLocationCode)){
configuration.overflowLocationCode = configuration.overflowLocationCode.join(',')
}
let data = {
id: formData.value.id,
strategyCode: formData.value.strategyCode, //
@ -1184,7 +1214,7 @@ const submitForm = async () => {
status: formData.value.status ? 0 : 1, //
//
condition: JSON.stringify(arr),
configuration: JSON.stringify(formData.value.configuration)
configuration:JSON.stringify(configuration)
}
if (formType.value === 'create') {
await RuleApi.createRule(data)
@ -1252,11 +1282,23 @@ const resetForm = () => {
//
RowOrder: 'ASC',
//
ColumOrder: 'ASC'
ColumOrder: 'ASC',
//
overflowLocationCode:''
}
}
}
//
const getOverflowLocationCodes = async ()=>{
let overflowLocationCodes = await getLocationByOverflowAreaTypeByConfig({})
options.overflowLocationCodes = overflowLocationCodes || []
}
getOverflowLocationCodes()
</script>
<style scoped lang="scss">
.item {

1
src/views/wms/basicDataManage/subject/qadCostcentre/qadCostcentre.data.ts

@ -88,7 +88,6 @@ export const QadCostcentre = useCrudSchemas(reactive<CrudSchema[]>([
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: false,
isSearch: true,
search: {
component: 'DatePicker',

22
src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue

@ -61,6 +61,7 @@
@searchTableSuccess="searchTableSuccess"
@submitForm="submitForm"
:isShowButton = isShowButton
@inputNumberChange="inputNumberChange"
/>
<!-- 详情 -->
<Detail
@ -128,6 +129,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
newRow['itemCode'] = item['itemCode']
newRow['projectCode'] = item['projectCode']
newRow['uom'] = item['uom']
newRow['subSettleQty'] = item['subSettleQty']
tableData.value.push(newRow)
})
@ -355,13 +357,31 @@ const openForm = (type: string, row?: any) => {
basicFormRef.value.open(type, row)
}
const inputNumberChange = (field, val,row, index) => {
if(field=='qty'){
if(row['subSettleQty']!=null&&row['qty']>row['subSettleQty']){
message.error(`物料${row['itemCode']}最大数量为${row['subSettleQty']}`)
}
}
console.log('inputNumberChange',field, val,row, index)
}
//
const submitForm = async (formType, submitData) => {
let data = {...submitData}
if(data.masterId){
data.id = data.masterId
}
let flag = true
tableData.value.forEach(item=>{
if(item['subSettleQty']!=null&&item['qty']>item['subSettleQty']){
flag = false
message.error(`物料${item['itemCode']}最大数量为${item['subSettleQty']}`)
}
})
if(!flag){
return
}
data.subList = tableData.value //
let isExist = false
tableData.value.forEach(item => {

9
src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts

@ -335,6 +335,9 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
disabled: true
}
},
tableForm:{
disabled: true
}
},
{
label: '销售订单行',
@ -344,8 +347,9 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
tableForm:{
disabled:true,
multiple: true,
isInpuFocusShow: true, // 开启查询弹窗
// isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择销售订单行',
searchField: 'lineNumber',
searchTitle: '销售订单信息',
@ -527,6 +531,9 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
tableForm:{
type:'InputNumber'
}
},
{
label: '计量单位',

2
src/views/wms/inventoryManage/balance/balance.data.ts

@ -412,7 +412,7 @@ export const Balance = useCrudSchemas(
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD HH:mm:ss',
type: 'daterange',
type: 'datetimerange',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
}

30
src/views/wms/inventoryjobManage/containermanage/containerMainRequest/containerMainRequest.data.ts

@ -224,7 +224,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isTable: true,
isTable: false,
isForm: false,
},
{
@ -234,7 +234,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
width: 130
},
isForm: false,
isTable: true
isTable: false
},
{
label: '最后更新时间',
@ -511,6 +511,9 @@ export const ContainerDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
search: {
component: 'DatePicker',
componentProps: {
@ -519,10 +522,31 @@ export const ContainerDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
style: {width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
table: {
width: 150
},
isTable: true,
isForm: false,
isTableForm: false
},
{
label: '创建者',
field: 'creator',
table: {
width: 130
},
isForm: false,
isTable: true
},
{
label: '地点ID',
field: 'siteId',

34
src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts

@ -126,7 +126,7 @@ export const ContainerRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 180
},
isSearch: true,
isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@ -135,7 +135,7 @@ export const ContainerRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isTable: true,
isTable: false,
isForm: false,
},
{
@ -145,7 +145,7 @@ export const ContainerRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 130
},
isForm: false,
isTable: true
isTable: false
},
{
label: '最后更新时间',
@ -274,6 +274,20 @@ export const ContainerRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
detail: {
dateFormat : 'YYYY-MM-DD HH:mm:ss'
},
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
search: {
component: 'DatePicker',
componentProps: {
@ -282,9 +296,19 @@ export const ContainerRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isTable: false,
isTable: true,
isForm: false,
isTableForm: false,
isSearch: true,
},
{
label: '创建者',
field: 'creator',
table: {
width: 130
},
isForm: false,
isTableForm: false
isTable: true
},
{
label: '地点ID',

24
src/views/wms/inventoryjobManage/containermanage/initialContainerMainRequest/initialContainerMainRequest.data.ts

@ -228,7 +228,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isTable: true,
isTable: false,
table: {
width: 180
},
@ -241,7 +241,7 @@ export const ContainerMainRequest = useCrudSchemas(reactive<CrudSchema[]>([
width: 130
},
isForm: false,
isTable: true
isTable: false
},
{
label: '最后更新时间',
@ -489,13 +489,31 @@ export const ContainerDetailRequest = useCrudSchemas(reactive<CrudSchema[]>([
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
}
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
style: {width:'100%'},
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
isTable: true,
table: {
width: 180
},
isForm: false,
isTableForm: false
},
{
label: '创建者',
field: 'creator',
table: {
width: 130
},
isForm: false,
isTable: true
},
{
label: '地点ID',
field: 'siteId',

9
src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRecordMain/packageoverRecordMain.data.ts

@ -518,6 +518,15 @@ export const PackageoverDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
},
{
label: '创建者',
field: 'creator',
sort: 'custom',
isTable: true,
table: {
width: 150
},
},
// {
// label: '创建时间',
// field: 'createTime',

24
src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts

@ -470,12 +470,12 @@ export const PackageoverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法
searchCondition:[
// {
// key: 'locationCode',
// value: 'fromLocationCode',
// message: '请填写从库位代码!',
// isMainValue: true
// },
{
key: 'warehouseCode',
value: 'fromWarehouseCode',
message: '请填写从仓库代码!',
isMainValue: true
},
{
key: 'inventoryStatus',
value: 'OK',
@ -492,12 +492,12 @@ export const PackageoverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法
searchCondition:[
// {
// key: 'locationCode',
// value: 'fromLocationCode',
// message: '请填写从库位代码!',
// isMainValue: true
// },
{
key: 'warehouseCode',
value: 'fromWarehouseCode',
message: '请填写从仓库代码!',
isMainValue: true
},
{
key: 'inventoryStatus',
value: 'OK',

6
src/views/wms/inventoryjobManage/packageManage/packagesplitMain/packagesplitMain.data.ts

@ -44,9 +44,6 @@ export const PackagesplitMain = useCrudSchemas(reactive<CrudSchema[]>([
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {
@ -183,9 +180,6 @@ export const PackagesplitMain = useCrudSchemas(reactive<CrudSchema[]>([
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
table: {
width: 180
},
form: {
component: 'DatePicker',
componentProps: {

32
src/views/wms/inventoryjobManage/scrap/scrapJobMain/scrapJobMain.data.ts

@ -169,6 +169,14 @@ export const ScrapJobMain = useCrudSchemas(
width: 150
},
},
{
label: '订单号',
field: 'orderNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Q1通知单号',
field: 'q1Number',
@ -353,6 +361,14 @@ export const ScrapJobMain = useCrudSchemas(
width: 150
}
},
{
label: '通知单描述',
field: 'noticeRemark',
sort: 'custom',
table: {
width: 150
}
},
{
label: '备注',
field: 'remark',
@ -879,14 +895,14 @@ export const ScrapJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '项目代码',
// field: 'projectCode',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '备注',
field: 'remark',

32
src/views/wms/inventoryjobManage/scrap/scrapRecordMain/scrapRecordMain.data.ts

@ -178,6 +178,14 @@ export const ScrapRecordMain = useCrudSchemas(
width: 150
},
},
{
label: '订单号',
field: 'orderNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: 'Q1通知单号',
field: 'q1Number',
@ -356,6 +364,14 @@ export const ScrapRecordMain = useCrudSchemas(
width: 150
}
},
{
label: '通知单描述',
field: 'noticeRemark',
sort: 'custom',
table: {
width: 150
}
},
{
label: '备注',
field: 'remark',
@ -690,14 +706,14 @@ export const ScrapRecordDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '项目代码',
// field: 'projectCode',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '备注',
field: 'remark',

12
src/views/wms/inventoryjobManage/scrap/scrapRequestMain/index.vue

@ -190,6 +190,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
console.log("报废出库主表")
const setV = {}
if (formField == 'q1Number') {
setV['noticeRemark'] = val[0]['desc']
ScrapRequestMain.allSchemas.formSchema.forEach((item) => {
if (item.field == 'q2Number' || item.field == 'q3Number') {
item.componentProps.enterSearch = false
@ -199,6 +200,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
})
}
if (formField == 'q2Number') {
setV['noticeRemark'] = val[0]['desc']
ScrapRequestMain.allSchemas.formSchema.forEach((item) => {
if (item.field == 'q1Number' || item.field == 'q3Number') {
item.componentProps.enterSearch = false
@ -208,6 +210,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
})
}
if (formField == 'q3Number') {
setV['noticeRemark'] = val[0]['desc']
ScrapRequestMain.allSchemas.formSchema.forEach((item) => {
if (item.field == 'q1Number' || item.field == 'q2Number') {
item.componentProps.enterSearch = false
@ -245,6 +248,9 @@ const clearSearchInput = (field) => {
item.componentProps.disabled = false
}
})
formRef.value.formRef.setValues({
noticeRemark:''
})
}
if (field == 'q2Number') {
ScrapRequestMain.allSchemas.formSchema.forEach((item) => {
@ -254,6 +260,9 @@ const clearSearchInput = (field) => {
item.componentProps.disabled = false
}
})
formRef.value.formRef.setValues({
noticeRemark:''
})
}
if (field == 'q3Number') {
ScrapRequestMain.allSchemas.formSchema.forEach((item) => {
@ -263,6 +272,9 @@ const clearSearchInput = (field) => {
item.componentProps.disabled = false
}
})
formRef.value.formRef.setValues({
noticeRemark:''
})
}
}
//

9
src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts

@ -616,11 +616,18 @@ export const ScrapRequestMain = useCrudSchemas(
}
}
},
{
label: '通知单描述',
field: 'noticeRemark',
sort: 'custom',
table: {
width: 150
}
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isTable: false,
table: {
width: 150
}

20
src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRecordMain/index.vue

@ -128,17 +128,33 @@ const buttonBaseClick = (val, item) => {
}
}
const isShowRevokeButton = (row,val) => {
if (val.indexOf(row.revokeFlag) > -1) {
return false
} else {
return true
}
}
// -
const butttondata = (row,$index) => {
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1
if(findIndex>-1&&findIndex<$index){
return []
return [
defaultButtons.backoutBtn({hide:isShowRevokeButton(row,['FALSE'])}) //
]
}
return []
return [
defaultButtons.backoutBtn({hide:isShowRevokeButton(row,['FALSE'])}) //
]
}
// -
const buttonTableClick = async (val, row) => {
if (val == 'backout') { //
await UnplannedissueRecordMainApi.revoke(row.masterId)
buttonBaseClick('refresh',null)
}
}
//
const { wsCache } = useCache()

10
src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRecordMain/unplannedissueRecordMain.data.ts

@ -481,6 +481,16 @@ export const UnplannedissueRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 120,
fixed: 'right'
},
}
]))
//表单校验

20
src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRecordMain/index.vue

@ -128,17 +128,33 @@ const buttonBaseClick = (val, item) => {
}
}
const isShowRevokeButton = (row,val) => {
if (val.indexOf(row.revokeFlag) > -1) {
return false
} else {
return true
}
}
// -
const butttondata = (row,$index) => {
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1
if(findIndex>-1&&findIndex<$index){
return []
return [
defaultButtons.backoutBtn({hide:isShowRevokeButton(row,['FALSE'])}) //
]
}
return []
return [
defaultButtons.backoutBtn({hide:isShowRevokeButton(row,['FALSE'])}) //
]
}
// -
const buttonTableClick = async (val, row) => {
if (val == 'backout') { //
await UnplannedreceiptRecordMainApi.revoke(row.masterId)
buttonBaseClick('refresh',null)
}
}
//
const { wsCache } = useCache()

10
src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRecordMain/unplannedreceiptRecordMain.data.ts

@ -467,6 +467,16 @@ export const UnplannedreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>(
}
}
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 120,
fixed: 'right'
},
}
]))
//表单校验

1
src/views/wms/issueManage/issue/issueJobMain/issueJobMain.data.ts

@ -24,6 +24,7 @@ export const IssueJobMain = useCrudSchemas(
table: {
width: 180
},
isSearch: true,
sortTableDefault: 1
},
{

11
src/views/wms/issueManage/issue/issueRecordMain/issueRecordMain.data.ts

@ -24,6 +24,7 @@ export const IssueRecordMain = useCrudSchemas(
table: {
width: 180
},
isSearch:true,
sortTableDefault: 1
},
{
@ -33,6 +34,7 @@ export const IssueRecordMain = useCrudSchemas(
table: {
width: 180
},
isSearch:true,
sortTableDefault: 1
},
{
@ -356,6 +358,15 @@ export const IssueRecordMain = useCrudSchemas(
},
sortTableDefault: 6
},
{
label: '发料数量', // 子表数据 只是为了展示
field: 'qty',
sort: 'custom',
table: {
width: 150
},
sortTableDefault: 6
},
{
label: '批次', // 子表数据 只是为了展示
field: 'fromBatch',

1
src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts

@ -246,6 +246,7 @@ export const IssueRequestMain = useCrudSchemas(
dictClass: 'string',
isForm: false,
isTable: true,
isSearch: true,
sort: 'custom',
table: {
width: 150

1
src/views/wms/issueManage/productionreceipt/productionreceiptRecordMain/productionreceiptRecordMain.data.ts

@ -471,6 +471,7 @@ export const ProductionreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[
width: 150
},
isSearch: false,
isTable:false,
hiddenInMain: true
},
{

15
src/views/wms/issueManage/productionreturn/productionreturnJobMain/index.vue

@ -117,7 +117,10 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
}
const { tableObject, tableMethods } = useTable({
getListApi: ProductionreturnJobDetailApi.getProductionreturnJobDetailPage //
getListApi: 'ProductionreturnJobMain'==routeName.value?ProductionreturnJobDetailApi.getProductionreturnJobDetailPageStore:ProductionreturnJobDetailApi.getProductionreturnJobDetailPageHold //
//getListApi: ProductionreturnJobDetailApi.getProductionreturnJobDetailPage //
})
//
@ -274,8 +277,18 @@ const handleExport = async () => {
//
loadStart()
const excelTitle = ref(route.meta.title)
// if('ProductionreturnJobMain'==routeName.value){
// //退
// const data = await ProductionreturnJobMainApi.exportProductionreturnJobMainStore(tableObject.params)
// download.excel(data, `${excelTitle.value}${formatDate(new Date())}.xlsx`)
// }else{
// // 退
// const data = await ProductionreturnJobMainApi.exportProductionreturnJobMainHold(tableObject.params)
// download.excel(data, `${excelTitle.value}${formatDate(new Date())}.xlsx`)
// }
const data = await ProductionreturnJobMainApi.exportProductionreturnJobMain(tableObject.params)
download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch {
} finally {
loadDone()

10
src/views/wms/issueManage/productionreturn/productionreturnRecordMain/index.vue

@ -159,8 +159,16 @@ const handleExport = async () => {
//
loadStart()
const excelTitle = ref(route.meta.title)
const data = await ProductionreturnRecordMainApi.exportProductionreturnRecordMain(tableObject.params)
if('ProductionreturnRecordMain'==routeName.value){
//退
const data = await ProductionreturnRecordMainApi.exportProductionreturnRecordMainStore(tableObject.params)
download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
}else{
// 退
const data = await ProductionreturnRecordMainApi.exportProductionreturnRecordMainHold(tableObject.params)
download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
}
} catch {
} finally {
loadDone()

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

@ -209,6 +209,8 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
} else {
row['batch'] = '000000'
}
row['packUnit'] = val[0]['packUnit']
row['packQty'] = val[0]['packQty']
// HL-4885 @ @
// tableform
// TODO: tableFormColumns 10 20 20
@ -226,10 +228,12 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
newRow['fromLocationCode'] = item['rawLocationCode']
tableData.value.push(newRow)
})
} else if(formField == 'packUnit') {
row['packUnit'] = val[0]['packUnit']
row['packQty'] = val[0]['packQty']
} else {
}
// else if(formField == 'packUnit') {
// row['packUnit'] = val[0]['packUnit']
// row['packQty'] = val[0]['packQty']
// }
else {
row[formField] = val[0][searchField]
}
} else {
@ -453,8 +457,8 @@ const buttonTableClick = async (val, row) => {
// tableform
detailListTableColumns.tableFormColumns.map(itemColumns => {
if(itemColumns.field == 'productionLineCodePackage') {
// itemColumns.tableForm.isInpuFocusShow = false
// itemColumns.tableForm.disabled = true
itemColumns.tableForm.isInpuFocusShow = false
itemColumns.tableForm.disabled = true
ProductionreturnRequestDetailLabelRules.productionLineCodePackage[0].required = false
}
if(itemColumns.field == 'supplierItemCode') {
@ -473,8 +477,8 @@ const buttonTableClick = async (val, row) => {
}
if(itemColumns.field == 'productionLineCodePackage') {
item.productionLineCodePackage = item.productionLineCode
// itemColumns.tableForm.isInpuFocusShow = true
// itemColumns.tableForm.disabled = false
itemColumns.tableForm.isInpuFocusShow = true
itemColumns.tableForm.disabled = true
ProductionreturnRequestDetailLabelRules.productionLineCodePackage[0].required = true
}
})

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

@ -521,9 +521,9 @@ export const ProductionreturnRequestMainRules = reactive({
workshopCode: [
{ required: true, message: '请选择车间', trigger: 'change' }
],
productionLineCode: [
{ required: true, message: '请选择生产线代码', trigger: 'change' }
],
// productionLineCode: [
// { required: true, message: '请选择生产线代码', trigger: 'change' }
// ],
})
/**
@ -623,21 +623,34 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
searchTitle: '工位信息', // 查询弹窗标题
searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类
searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法
searchCondition:[{
searchCondition: [
{
key: 'available',
value: 'TRUE',
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false
},{
},
{
key: 'workshopCode',
value: 'workshopCode',
message: '请选择车间信息!',
isMainValue: true
},{
key: 'productionLineCode',
value: 'productionLineCode',
message: '请选择生产线信息!',
isMainValue: true
}],
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有,和isFormModel结合使用
},
{
key: 'productionLineCode', // 查询列表中字段
value: 'productionLineCode', // 指查询具体值
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:false, // 前置添加必有,和isFormModel结合使用
},
],
verificationPage: WorkstationApi.getWorkstationByCodes, // 校验数去焦点输入是否正确的方法
isShowTableFormSearch: true,
isRepeat: true,//是否可以重复添加该条数据
@ -651,10 +664,33 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}], // 失去焦点校验参数
},
},
{
label: '来源库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
},
isDetail:false,
isTable:true,
isTableForm: true,
isForm: false,
},
{
label: '目标库位',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
multiple: true,//多选
isInpuFocusShow: true, // 开启查询弹窗
@ -698,26 +734,6 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
}
},
{
label: '原料库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
},
isDetail:false,
isTable:false,
isTableForm: true,
isForm: false,
},
{
label: '物料代码',
field: 'itemCode',
@ -914,23 +930,6 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
}
},
{
label: '来源库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '从货主',
field: 'fromOwnerCode',
@ -1035,32 +1034,33 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
isTable:true,
isTableForm: true,
tableForm: {
enterSearch:true,
isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!',
isMainValue: true
}],
verificationParams: [{
key: 'packUnit',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}], // 失去焦点校验参数
disabled: true
// enterSearch:true,
// isInpuFocusShow: true,
// isSearchList: true, // 开启查询弹窗
// searchListPlaceholder: '请选择包装规格', // 输入框占位文本
// searchField: 'packUnit', // 查询弹窗赋值字段
// searchTitle: '物料包装信息', // 查询弹窗标题
// searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
// searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
// searchCondition: [{
// key: 'available',
// value: 'TRUE',
// isMainValue: false
// },{
// key: 'itemCode',
// value: 'itemCode',
// message: '请先选择物料代码!',
// isMainValue: true
// }],
// verificationParams: [{
// key: 'packUnit',
// action: '==',
// value: '',
// isMainValue: false,
// isSearch: true,
// isFormModel: true,
// }], // 失去焦点校验参数
},
form: {
// labelMessage: '信息提示说明!!!',
@ -1169,6 +1169,15 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}
]))
const validateQty = (rule: any, value: any, callback: any,a,b) => {
if (!value) {
callback(new Error('包装数量必须大于0'));
} else {
callback();
}
}
//表单校验
export const ProductionreturnRequestDetailRules = reactive({
workStationCode: [
@ -1183,9 +1192,12 @@ export const ProductionreturnRequestDetailRules = reactive({
// packingNumber: [
// { required: true, message: '请选择包装号', trigger: 'change' }
// ],
// batch: [
// { required: true, message: '请输入批次', trigger: 'blur' }
// ],
qty:[
{ validator:validateQty, message: '数量必须大于0', trigger: 'change'}
],
batch: [
{ required: true, message: '请输入批次', trigger: 'blur' }
],
inventoryStatus: [
{ required: true, message: '请选择库存状态', trigger: 'change' }
],
@ -1195,6 +1207,12 @@ export const ProductionreturnRequestDetailRules = reactive({
itemCode: [
{ required: true, message: '请输入物料代码', trigger: 'blur' }
],
packUnit: [
{ required: true, message: '请输入包装规格', trigger: 'blur' }
],
packQty: [
{ required: true, message: '请输入标包数量', trigger: 'blur' }
],
remark: [
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
@ -1355,22 +1373,6 @@ export const ProductionreturnRequestDetailLabel = useCrudSchemas(reactive<CrudSc
}
}
},
{
label: '来源生产线代码',
field: 'productionLineCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '来源工位代码',
field: 'workStationCode',

127
src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue

@ -57,7 +57,7 @@
:isBusiness="true"
@handleAddTable="handleAddTable"
@handleDeleteTable="handleDeleteTable"
@searchTableSuccess="searchTableSuccess"
@searchTableSuccess="searchTableSuccessAdd"
@submitForm="submitForm"
/>
@ -172,7 +172,87 @@ const isItemType = async (itemCode, labelTypeParams) => {
if (!isType) labelType.value = labelTypeOld
return isType
}
//
const searchTableSuccessAdd = (formField, searchField, val, formRef, type, row ) => {
nextTick(async () => {
if (type == 'tableForm') {
//
if(formField == 'itemCode') {
if(tableData.value.find(item1=>item1['itemCode'] == val[0]['itemCode'])){
message.warning(`物料${val[0]['itemCode']}已经存在`)
return
}
let itemRes = await ItembasicApi.getItembasicPage({
pageSize: 10,
pageNo: 1,
code: val[0]['itemCode'],
sort: '',
by: 'ASC',
})
let rowType = ''
if (itemRes.list.length > 0) {
//
if (itemRes.list[0].enableMake == "FALSE") {
rowType = 'cg'
} else {
rowType = 'zz'
}
}
console.log('rowType',rowType)
console.log('tableData',tableData.value)
let currentLabelType = row['labelType']
row['labelType'] = ''
if(tableData.value.find(item=>item['labelType']&&item['labelType']!=rowType)){
if(currentLabelType){
row['labelType'] = currentLabelType
}
message.warning('当前物料可制造与其他数据不一致,请重新选择!')
}else {
row['labelType'] = rowType
row['batch'] = val[0]['batch']==''?formatTime(new Date(), 'yyyyMMdd'):val[0]['batch']
row['itemCode'] = val[0]['itemCode']
row['uom'] = val[0]['uom']
row['inventoryStatus'] = val[0]['inventoryStatus']
row['qty'] = Number(val[0]['qty'])
row['packUnit'] = val[0]['packUnit']
row['packQty'] = val[0]['packQty']
// HL-4885 @ @
// tableform
// ProductionreturnRequestDetail.allSchemas.tableFormColumns.forEach(item => {
// if(item.field == 'qty' && Number(val[0]['qty'])>item.tableForm.min) {
// item.tableForm.max = Number(val[0]['qty'])
// }
// // if(item.field == 'batch') {
// // item.tableForm.disabled = false
// // }
// })
}
} else if(formField == 'workStationCode') {
val.forEach(item=>{
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow['workStationCode'] = item['code']
newRow['fromLocationCode'] = item['rawLocationCode']
newRow['checkId'] = item['id']
tableData.value.push(newRow)
})
}
// else if(formField == 'packUnit') {
// row['packUnit'] = val[0]['packUnit']
// row['packQty'] = val[0]['packQty']
// }
else {
row[formField] = val[0][searchField]
}
} else {
const setV = {}
setV[formField] = val[0][searchField]
tableData.value = [] //
formRef.setValues(setV)
}
})
}
//
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
nextTick(async () => {
@ -194,6 +274,8 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
row['uom'] = val[0]['uom']
row['inventoryStatus'] = val[0]['inventoryStatus']
row['qty'] = Number(val[0]['qty'])
row['packUnit'] = val[0]['packUnit']
row['packQty'] = val[0]['packQty']
// HL-4885 @ @
// tableform
// ProductionreturnRequestDetail.allSchemas.tableFormColumns.forEach(item => {
@ -212,10 +294,12 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
newRow['fromLocationCode'] = item['rawLocationCode']
tableData.value.push(newRow)
})
} else if(formField == 'packUnit') {
row['packUnit'] = val[0]['packUnit']
row['packQty'] = val[0]['packQty']
} else {
}
// else if(formField == 'packUnit') {
// row['packUnit'] = val[0]['packUnit']
// row['packQty'] = val[0]['packQty']
// }
else {
row[formField] = val[0][searchField]
}
} else {
@ -434,8 +518,8 @@ const buttonTableClick = async (val, row) => {
// tableform
detailListTableColumns.tableFormColumns.map(itemColumns => {
if(itemColumns.field == 'productionLineCodePackage') {
// itemColumns.tableForm.isInpuFocusShow = false
// itemColumns.tableForm.disabled = true
itemColumns.tableForm.isInpuFocusShow = false
itemColumns.tableForm.disabled = true
ProductionreturnRequestDetailNoLabelRules.productionLineCodePackage[0].required = false
}
if(itemColumns.field == 'supplierItemCode') {
@ -454,8 +538,8 @@ const buttonTableClick = async (val, row) => {
}
if(itemColumns.field == 'productionLineCodePackage') {
item.productionLineCodePackage = item.productionLineCode
// itemColumns.tableForm.isInpuFocusShow = true
// itemColumns.tableForm.disabled = false
itemColumns.tableForm.isInpuFocusShow = true
itemColumns.tableForm.disabled = true
ProductionreturnRequestDetailNoLabelRules.productionLineCodePackage[0].required = true
}
})
@ -469,18 +553,18 @@ const buttonTableClick = async (val, row) => {
} else if (val == 'mainHandle') { //
//
// let isCreateLabel = false
// await PackageApi.getPackagePage({
// requestNumber: row.number
// }).then(res => {
// if (res) {
// if (res.list.length > 0) isCreateLabel = true
// }
// })
// if (!isCreateLabel) {
// message.warning('')
// return
// }
let isCreateLabel = false
await PackageApi.getPackagePage({
requestNumber: row.number
}).then(res => {
if (res) {
if (res.list.length > 0) isCreateLabel = true
}
})
if (!isCreateLabel) {
message.warning('请先创建标签')
return
}
tableObject.loading = true
ProductionreturnRequestMainNoApi.handle(row.masterId).then(() => {
message.success(t('common.updateSuccess'))
@ -504,6 +588,7 @@ const buttonTableClick = async (val, row) => {
const formRef = ref()
const openForm =async (type: string, row?: number) => {
tableData.value = [] //
labelType.value = ''
//
if (type == 'update') {
// tableform

162
src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMainNo.data.ts

@ -17,6 +17,9 @@ import * as ItempackagingApi from '@/api/wms/itempackage'
import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data'
import * as LocationApi from '@/api/wms/location'
import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
import * as ProductionlineitemApi from '@/api/wms/productionlineitem'
import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data'
const { t } = useI18n() // 国际化
/**
@ -129,20 +132,29 @@ export const ProductionreturnRequestDetail = useCrudSchemas(
{
key: 'available',
value: 'TRUE',
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false
},
{
key: 'workshopCode',
value: 'workshopCode',
message: '请选择车间信息!',
isMainValue: true
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有,和isFormModel结合使用
},
{
key: 'productionLineCode',
value: 'productionLineCode',
message: '请选择生产线信息!',
isMainValue: true
}
key: 'productionLineCode', // 查询列表中字段
value: 'productionLineCode', // 指查询具体值
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:false, // 前置添加必有,和isFormModel结合使用
},
],
verificationPage: WorkstationApi.getWorkstationByCodes, // 校验数去焦点输入是否正确的方法
isShowTableFormSearch: true,
@ -159,10 +171,30 @@ export const ProductionreturnRequestDetail = useCrudSchemas(
] // 失去焦点校验参数
}
},
{
label: '来源库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
isTableForm: true,
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '目标库位',
field: 'toLocationCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
multiple: true,//多选
isInpuFocusShow: true, // 开启查询弹窗
@ -405,23 +437,6 @@ export const ProductionreturnRequestDetail = useCrudSchemas(
}
}
},
{
label: '来源库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
isTableForm: false,
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '从货主',
field: 'fromOwnerCode',
@ -533,29 +548,30 @@ export const ProductionreturnRequestDetail = useCrudSchemas(
table: {
width: 120
},
isTable:false,
isTable:true,
isTableForm:true,
tableForm: {
isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段
searchTitle: '物料包装信息', // 查询弹窗标题
searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
searchCondition: [
{
key: 'available',
value: 'TRUE',
isMainValue: false
},
{
key: 'itemCode',
value: 'itemCode',
message: '请先选择物料代码!',
isMainValue: true
}
]
disabled: true
// isInpuFocusShow: true,
// isSearchList: true, // 开启查询弹窗
// searchListPlaceholder: '请选择包装规格', // 输入框占位文本
// searchField: 'packUnit', // 查询弹窗赋值字段
// searchTitle: '物料包装信息', // 查询弹窗标题
// searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
// searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
// searchCondition: [
// {
// key: 'available',
// value: 'TRUE',
// isMainValue: false
// },
// {
// key: 'itemCode',
// value: 'itemCode',
// message: '请先选择物料代码!',
// isMainValue: true
// }
// ]
},
form: {
// labelMessage: '信息提示说明!!!',
@ -589,7 +605,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(
table: {
width: 120
},
isTable: false,
isTable: true,
isTableForm: true,
tableForm: {
disabled: true
@ -667,6 +683,14 @@ export const ProductionreturnRequestDetail = useCrudSchemas(
])
)
const validateQty = (rule: any, value: any, callback: any,a,b) => {
if (!value) {
callback(new Error('包装数量必须大于0'));
} else {
callback();
}
}
//表单校验
export const ProductionreturnRequestDetailRules = reactive({
workStationCode: [
@ -681,6 +705,9 @@ export const ProductionreturnRequestDetailRules = reactive({
// packingNumber: [
// { required: true, message: '请选择包装号', trigger: 'change' }
// ],
qty:[
{ validator:validateQty, message: '数量必须大于0', trigger: 'change'}
],
batch: [
{ required: true, message: '请输入批次', trigger: 'blur' }
],
@ -693,11 +720,19 @@ export const ProductionreturnRequestDetailRules = reactive({
itemCode: [
{ required: true, message: '请输入物料代码', trigger: 'blur' }
],
packUnit: [
{ required: true, message: '请输入包装规格', trigger: 'blur' }
],
packQty: [
{ required: true, message: '请输入标包数量', trigger: 'blur' }
],
remark: [
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
})
/**
* @returns {Array} 退
*/
@ -710,8 +745,25 @@ export const ProductionreturnRequestDetailNoLabel = useCrudSchemas(reactive<Crud
width: 150
},
tableForm:{
disabled: true
}
multiple:true,
disabled:true,
// isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段
searchTitle: '生产线物料关系信息', // 查询弹窗标题
searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类
searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法
searchCondition: [{
key:'itemCode',
value:'itemCode',
message: '请填写物料代码!',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}],
},
},
{
label: '供应商代码',
@ -843,22 +895,6 @@ export const ProductionreturnRequestDetailNoLabel = useCrudSchemas(reactive<Crud
}
}
},
{
label: '来源生产线代码',
field: 'productionLineCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
}
},
{
label: '来源工位代码',
field: 'workStationCode',

1
src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts

@ -56,6 +56,7 @@ export const RepleinshRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
dictClass: 'string',
isForm:false,
isTable: true,
isSearch: true,
sort: 'custom',
sortTableDefault:1,
table: {

24
src/views/wms/moveManage/inventorymove/inventorymoveRecordMainNew/inventorymoveRecordRequestMain.data.ts

@ -59,8 +59,13 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isMainValue: false
},{
key: 'isIn',
value: 'in',
value: 'out',
isMainValue: false
},
{
key:'available', // 查询列表中字段
value:'TRUE', // 指查询具体值
isMainValue: false // 表示查询条件不是主表的字段的值
}],
isRepeat:true,
verificationParams: [{
@ -89,8 +94,13 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
isMainValue: false
},{
key: 'isIn',
value: 'in',
value: 'out',
isMainValue: false
},
{
key:'available', // 查询列表中字段
value:'TRUE', // 指查询具体值
isMainValue: false // 表示查询条件不是主表的字段的值
}],
verificationParams: [{
key: 'code',
@ -127,6 +137,11 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
key: 'isIn',
value: 'in',
isMainValue: false
},
{
key:'available', // 查询列表中字段
value:'TRUE', // 指查询具体值
isMainValue: false // 表示查询条件不是主表的字段的值
}],
isRepeat:true,
verificationParams: [{
@ -157,6 +172,11 @@ export const InventorymoveRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
key: 'isIn',
value: 'in',
isMainValue: false
},
{
key:'available', // 查询列表中字段
value:'TRUE', // 指查询具体值
isMainValue: false // 表示查询条件不是主表的字段的值
}],
verificationParams: [{
key: 'code',

1
src/views/wms/productionManage/productputaway/productputawayRecordMain/index.vue

@ -158,6 +158,7 @@ const handleExport = async () => {
//
loadStart()
const excelTitle = ref(route.meta.title)
tableObject.params.type = 'predict'
const data = await ProductputawayRecordMainApi.exportProductputawayRecordMain(tableObject.params)
download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch {

1
src/views/wms/productionManage/productputawayAssemble/productputawayAssembleRecordMain/index.vue

@ -158,6 +158,7 @@ const handleExport = async () => {
//
loadStart()
const excelTitle = ref(route.meta.title)
tableObject.params.type = 'assemble'
const data = await ProductputawayRecordMainApi.exportProductputawayRecordMain(tableObject.params)
download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch {

5
src/views/wms/productionManage/productreceipt/productreceiptRecordMain/index.vue

@ -28,6 +28,9 @@
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #recoveryRequestFlag="{row}">
<el-tag>{{ row.recoveryRequestFlag=='TRUE'?'是':'否' }}</el-tag>
</template>
<template #number="{row}">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span>
@ -200,7 +203,7 @@ const butttondata = (row,$index) => {
// defaultButtons.mainInspectRequestBtn({hasPermi:'wms:productreceipt-record-main:createInspectRequest',hide:row.inspectRequestFlag == "FALSE" }),//
defaultButtons.mainInspectRequestBtn({hide:row.inspectRequestFlag == "FALSE" }),//
defaultButtons.mainListPointBtn(null), //
defaultButtons.mainListRecoveryBtn({hide:row.recoveryRequestFlag == "TRUE" }), // //recoveryRequestFlag==TRUE
// defaultButtons.mainListRecoveryBtn({hide:row.recoveryRequestFlag == "TRUE" }), // //recoveryRequestFlag==TRUE
]
}

18
src/views/wms/productionManage/productreceipt/productreceiptRecordMain/productreceiptRecordMain.data.ts

@ -569,6 +569,24 @@ export const ProductreceiptRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
width: 150
},
},
{
label: '是否已撤销',
field: 'recoveryRequestFlag',
sort: 'custom',
table: {
width: 150
},
detail:{
dictType:'primary',
valueFilter:(value)=>{
if(value=='TRUE'){
return ``
}else{
return '否'
}
}
}
},
{
label: '单据号',
field: 'number',

53
src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts

@ -42,7 +42,8 @@ const queryParams = {
}
const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
const requestsettingData = data?.list[0] || {}
const shiftList = await ShiftApi.getShiftPage({available:'TRUE',pageSize: 500,pageNo: 1,sort:'',by: 'ASC'})
console.log('shiftList',shiftList)
// 获取当前操作人的部门
import { useUserStore } from '@/store/modules/user'
import { TableColumn } from '@/types/table'
@ -232,20 +233,13 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
},
sortTableDefault: 1001,
form: {
// labelMessage: '信息提示说明!!!',
component:'Select',
componentProps:{
enterSearch: true,
isSearchList: true,
searchListPlaceholder: '请选择班次',
searchField: 'code',
searchTitle: '班次信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}],
options:shiftList.list,
optionsAlias: {
labelField: 'code',
valueField: 'code'
},
verificationParams: [{
key: 'code',
action: '==',
@ -256,6 +250,31 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}], // 失去焦点校验参数
}
}
// form: {
// // labelMessage: '信息提示说明!!!',
// componentProps: {
// enterSearch: true,
// isSearchList: true,
// searchListPlaceholder: '请选择班次',
// searchField: 'code',
// searchTitle: '班次信息',
// searchAllSchemas: Shift.allSchemas,
// searchPage: ShiftApi.getShiftPage,
// searchCondition: [{
// key: 'available',
// value: 'TRUE',
// isMainValue: false
// }],
// verificationParams: [{
// key: 'code',
// action: '==',
// value: '',
// isMainValue: false,
// isSearch: true,
// isFormModel: true,
// }], // 失去焦点校验参数
// }
// }
},
{
label: '收货类型',
@ -575,9 +594,9 @@ export const ProductreceiptRequestMainRules = reactive({
// team: [
// { required: true, message: '请选择班组代码', trigger: 'change' }
// ],
// shift: [
// { required: true, message: '请选择班次代码', trigger: 'change' }
// ],
shift: [
{ required: true, message: '请选择班次代码', trigger: 'change' }
],
// departmentCode: [
// { required: true, message: '请输入部门', trigger: 'blur' }
// ],

5
src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/index.vue

@ -28,6 +28,9 @@
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #recoveryRequestFlag="{row}">
<el-tag>{{ row.recoveryRequestFlag=='TRUE'?'是':'否' }}</el-tag>
</template>
<template #number="{row}">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span>
@ -237,7 +240,7 @@ const butttondata = (row,$index) => {
defaultButtons.mainInspectRequestBtn({hasPermi:'wms:purchasereceipt-record-main:createInspectRequest',hide:row.inspectRequestFlag == "FALSE" }),//
defaultButtons.mainPutawayRequestCpBtn({hasPermi:'wms:purchasereceipt-record-main:createPutawayRequest',hide:row.putawayRequestFlag == "FALSE" }),//
defaultButtons.mainListPointBtn(null), //
defaultButtons.mainListRecoveryBtn({hide:row.recoveryRequestFlag == "TRUE" }), // //recoveryRequestFlag==TRUE
// defaultButtons.mainListRecoveryBtn({hide:row.recoveryRequestFlag == "TRUE" }), // //recoveryRequestFlag==TRUE
]
}

19
src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRecordMain/productreceiptAssembleRecordMain.data.ts

@ -42,6 +42,25 @@ export const ProductreceiptRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: false
},
{
label: '是否已撤销',
field: 'recoveryRequestFlag',
sort: 'custom',
table: {
width: 150
},
detail:{
dictType:'primary',
valueFilter:(value)=>{
if(value=='TRUE'){
return ``
}else{
return '否'
}
}
}
},
{
label: '生产计划单号',
field: 'productionPlanNumber',

58
src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts

@ -43,6 +43,8 @@ const queryParams = {
const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
const requestsettingData =data?.list[0]||{}
const shiftList = await ShiftApi.getShiftPage({available:'TRUE',pageSize: 500,pageNo: 1,sort:'',by: 'ASC'})
console.log('shiftList',shiftList)
// 获取当前操作人的部门
import { useUserStore } from '@/store/modules/user'
import { TableColumn } from '@/types/table'
@ -240,20 +242,13 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
},
sortTableDefault: 1001,
form: {
// labelMessage: '信息提示说明!!!',
component:'Select',
componentProps:{
enterSearch: true,
isSearchList: true,
searchListPlaceholder: '请选择班次',
searchField: 'code',
searchTitle: '班次信息',
searchAllSchemas: Shift.allSchemas,
searchPage: ShiftApi.getShiftPage,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}],
options:shiftList.list,
optionsAlias: {
labelField: 'code',
valueField: 'code'
},
verificationParams: [{
key: 'code',
action: '==',
@ -264,6 +259,31 @@ export const ProductreceiptRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
}], // 失去焦点校验参数
}
}
// form: {
// // labelMessage: '信息提示说明!!!',
// componentProps: {
// enterSearch: true,
// isSearchList: true,
// searchListPlaceholder: '请选择班次',
// searchField: 'code',
// searchTitle: '班次信息',
// searchAllSchemas: Shift.allSchemas,
// searchPage: ShiftApi.getShiftPage,
// searchCondition: [{
// key: 'available',
// value: 'TRUE',
// isMainValue: false
// }],
// verificationParams: [{
// key: 'code',
// action: '==',
// value: '',
// isMainValue: false,
// isSearch: true,
// isFormModel: true,
// }], // 失去焦点校验参数
// }
// }
},
{
label: '收货类型',
@ -585,9 +605,9 @@ export const ProductreceiptRequestMainRules = reactive({
// team: [
// { required: true, message: '请选择班组代码', trigger: 'change' }
// ],
// shift: [
// { required: true, message: '请选择班次代码', trigger: 'change' }
// ],
shift: [
{ required: true, message: '请选择班次代码', trigger: 'change' }
],
// departmentCode: [
// { required: true, message: '请输入部门', trigger: 'blur' }
// ],
@ -1096,13 +1116,15 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
max:9999,
// precision: 6
},
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
max:9999,
// precision: 6
}
},
{

8
src/views/wms/productionManage/productredress/productredressJobMain/productredressJobMain.data.ts

@ -521,6 +521,14 @@ export const ProductredressJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '工位代码',
field: 'workStationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装号',
field: 'packingNumber',

8
src/views/wms/productionManage/productredress/productredressRecordMain/productredressRecordMain.data.ts

@ -406,6 +406,14 @@ export const ProductredressRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
width: 150
},
},
{
label: '工位代码',
field: 'workStationCode',
sort: 'custom',
table: {
width: 150
},
},
{
label: '包装号',
field: 'packingNumber',

80
src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts

@ -7,6 +7,10 @@ import * as WorkshopApi from '@/api/wms/workshop'
import * as BalanceApi from '@/api/wms/balance'
import { Balance } from '@/views/wms/inventoryManage/balance/balance.data'
import * as getBusinessTypeApi from '@/api/wms/businesstype/index'
import * as WorkstationApi from '@/api/wms/workstation'
import { Workstation } from '@/views/wms/basicDataManage/factoryModeling/workstation/workstation.data'
const businessTypeQueryParams = {
pageSize:10,
pageNo:1,
@ -418,6 +422,9 @@ export const ProductredressRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
// 表单校验
export const ProductredressRequestDetailRules = reactive({
workStationCode: [
{ required: true, message: '请选择工位代码', trigger: 'change' }
],
})
export const ProductredressRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
@ -495,7 +502,7 @@ export const ProductredressRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有,和isFormModel结合使用
message: '请选择客户代码!', // 前置添加没填的提示语
message: '请选择生产线代码!', // 前置添加没填的提示语
}
]
@ -566,6 +573,77 @@ export const ProductredressRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}
}
},
{
label: '工位代码',
field: 'workStationCode',
sort: 'custom',
table: {
width: 150
},
isTable: true,
tableForm: {
isInpuFocusShow: true,
searchListPlaceholder: '请选择工位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '工位信息', // 查询弹窗标题
searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类
searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法
searchCondition: [
{
key: 'productionLineCode',
value: 'productionLineCode',
message: '请填写生产线代码!',
isMainValue: true
},
{
key: 'available',
value: 'TRUE',
isMainValue: false
}
],
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}], // 失去焦点校验参数
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择工位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '工位信息', // 查询弹窗标题
searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类
searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法
searchCondition: [
{
key: 'productionLineCode',
value: 'productionLineCode',
message: '请填写生产线代码!',
isMainValue: true
},
{
key: 'available',
value: 'TRUE',
isMainValue: false
}
],
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}], // 失去焦点校验参数
}
}
},
{
label: '包装号',
field: 'packingNumber',

20
src/views/wms/productionManage/productscrap/productscrapRecordMain/index.vue

@ -238,17 +238,33 @@ const buttonBaseClick = (val, item) => {
}
}
const isShowRevokeButton = (row,val) => {
if (val.indexOf(row.revokeFlag) > -1) {
return false
} else {
return true
}
}
// -
const butttondata = (row,$index) => {
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1
if(findIndex>-1&&findIndex<$index){
return []
return [
defaultButtons.backoutBtn({hide:isShowRevokeButton(row,['FALSE'])}) //
]
}
return []
return [
defaultButtons.backoutBtn({hide:isShowRevokeButton(row,['FALSE'])}) //
]
}
// -
const buttonTableClick = async (val, row) => {
if (val == 'backout') { //
await ProductscrapRecordMainApi.revoke(row.requestNumber, row.number)
buttonBaseClick('refresh',null)
}
}
//
const { wsCache } = useCache()

10
src/views/wms/productionManage/productscrap/productscrapRecordMain/productscrapRecordMain.data.ts

@ -409,6 +409,16 @@ export const ProductscrapRecordMain = useCrudSchemas(
activeValue: 'TRUE'
}
}
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 120,
fixed: 'right'
},
}
])
)

4
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue

@ -183,14 +183,14 @@ const isShowSourceTypeButton = (row) => {
const butttondata = (row,$index) => {
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1
if(findIndex>-1&&findIndex<$index){
return [defaultButtons.mainListPrintInspectionBtn(null)]
return [defaultButtons.mainListPrintInspectionBtn({hide:routeName.value.includes('SCP')})]
}
return [
defaultButtons.mainInspectRequestBtn({hasPermi:'wms:purchasereceipt-record-main:createInspectRequest',hide:row.inspectRequestFlag == "FALSE" }),//
defaultButtons.mainPutawayRequestBtn({hasPermi:'wms:purchasereceipt-record-main:createPutawayRequest',hide:row.putawayRequestFlag == "FALSE" }),//
//defaultButtons.mainListPlanCheckQualityReportBtn({hide:row.orderTypeM == "2"}), //
defaultButtons.mainListPlanCheckQualityReportBtn({hide:isShowSourceTypeButton(row)}), //
defaultButtons.mainListPrintInspectionBtn(null),
defaultButtons.mainListPrintInspectionBtn({hide:routeName.value.includes('SCP')})
]
}

2
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRequestOrderMTypeMain/index.vue

@ -701,7 +701,7 @@ const handleExport = async () => {
//
loadStart()
const excelTitle = ref(route.meta.title)
const data = await PurchasereceiptRequestMainApi.exportPurchasereceiptRequestMain(tableObject.params)
const data = await PurchasereceiptRequestMainApi.exportPurchasereceiptRequestMainOrderTypeM(tableObject.params)
download.excel(data, `${excelTitle.value}】【${formatDate(new Date())}】.xlsx`)
} catch {
} finally {

6
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/index.vue

@ -143,15 +143,15 @@ const butttondata = (row,$index) => {
const buttonTableClick = async (val, row) => {
if (val == 'documentPrint') {
//
handleDocumentPrint(row.id)
handleDocumentPrint(row.requestNumber,row.itemCode)
}
}
//
const BASE_URL = getJmreportBaseUrl()
const documentSrc = ref(BASE_URL + '/jmreport/view/920874172025987072?token=' + getAccessToken())
const handleDocumentPrint = async (id) => {
window.open(documentSrc.value + '&id=' + id)
const handleDocumentPrint = async (requestNumber,itemCode) => {
window.open(documentSrc.value + '&requestNumber=' + requestNumber +'&itemCode=' + itemCode)
}
//
const { wsCache } = useCache()

2
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRecordMain/purchasereturnRecordMain.data.ts

@ -562,7 +562,7 @@ export const PurchasereturnRecordDetail = useCrudSchemas(reactive<CrudSchema[]>(
}
},
sortTableDefault: 1004,
hiddenInMain:true,
hiddenInMain:false,
isForm:false,
tableForm:{
type:'InputNumber',

16
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue

@ -562,7 +562,10 @@ const butttondata = (row, $index) => {
defaultButtons.mainListEditBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:purchasereturn-request-main:update'
}) //
}), //
defaultButtons.mainListDocumentPrintBtn({
hide: isShowMainButton(row, ['8'])
})//
// {
// label: '',
// name: 'ssbq',
@ -608,12 +611,23 @@ const buttonTableClick = async (val, row) => {
genLabelId.value = row.masterId
await getDetailList()
formLabelRef.value.open('create', row, null, 'createLabel') // createLabel
}
else if (val == 'documentPrint') {
//
handleDocumentPrint(row.number,row.itemCode)
}else if (val == 'point') {
//
labelPrint(row)
}
}
//
const BASE_URL2 = getJmreportBaseUrl()
const documentSrc = ref(BASE_URL2 + '/jmreport/view/920874172025987072?token=' + getAccessToken())
const handleDocumentPrint = async (number,itemCode) => {
window.open(documentSrc.value + '&requestNumber=' + number +'&itemCode=' + itemCode)
}
/** 添加/修改操作 */
const formRef = ref()
const openForm = async (type: string, row?: number) => {

16
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/index.vue

@ -465,7 +465,10 @@ const butttondata = (row, $index) => {
defaultButtons.mainListEditBtn({
hide: isShowMainButton(row, ['1']),
hasPermi: 'wms:purchasereturn-request-main:update'
}) //
}),//
defaultButtons.mainListDocumentPrintBtn({
hide: isShowMainButton(row, ['8'])
})//
// {
// label: '',
// name: 'ssbq',
@ -511,12 +514,23 @@ const buttonTableClick = async (val, row) => {
genLabelId.value = row.masterId
await getDetailList()
formLabelRef.value.open('create', row, null, 'createLabel') // createLabel
}
else if (val == 'documentPrint') {
//
handleDocumentPrint(row.number,row.itemCode)
}else if (val == 'point') {
//
labelPrint(row)
}
}
//
const BASE_URL2 = getJmreportBaseUrl()
const documentSrc = ref(BASE_URL2 + '/jmreport/view/920874172025987072?token=' + getAccessToken())
const handleDocumentPrint = async (number,itemCode) => {
window.open(documentSrc.value + '&requestNumber=' + number +'&itemCode=' + itemCode)
}
/** 添加/修改操作 */
const formRef = ref()
const openForm = async (type: string, row?: Object) => {

2
src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts

@ -22,7 +22,7 @@ import { Q2 } from '@/views/qms/inspectionQ2/inspectionQ2.data'
import * as ItembasicApi from '@/api/wms/itembasic'
import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
let locationList = await LocationApi.selectBusinessTypeOutLocation({
let locationList = await LocationApi.selectBusinessTypeOutLocationAll({
businessType:'PurchaseReturn',
isIn:'out'
})

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

@ -231,7 +231,7 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc
const HeadButttondata = [
// defaultButtons.defaultAddBtn({ hasPermi: 'wms:purchase-main:create' }), //
// defaultButtons.defaultImportBtn({ hasPermi: 'wms:purchase-main:import' }), //
defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchase-main-wms:export' }), //
defaultButtons.defaultExportBtn({ hasPermi: 'wms:purchase-main:export' }), //
// defaultButtons.mainListSelectionOrderPubBtn(null), //
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //

3
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRecordMain/index.vue

@ -56,6 +56,7 @@
:annexTable="[{
label: '质检明细',
prop: 'uploadFile',
hasPermi:'wms:supplierdeliver-request-main:uploadCheck',
tableName:'SupplierdeliverInspectionDetail',
hasSubDetail:true, //
showPreview:true, //
@ -240,7 +241,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any) => {
getListApi: SupplierdeliverRequestDetailApi.getSupplierdeliverRequestDetailPage //
})
const { getList:requestGetList } = requestTableMethods
requestTableObject.params.requestNumber = row.requestNumber
requestTableObject.params.number = row.requestNumber
await requestGetList()
if(requestTableObject.tableList.length>0){
row.annexMasterId = requestTableObject.tableList[0].masterId

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

@ -106,6 +106,8 @@
tableName: 'SupplierdeliverInspectionDetail',
hasSubDetail: true, //
showPreview: true, //
hiddenUpload:false,
hiddenDelete:false,
fileType: ['pdf', 'jpg', 'png', 'jpeg'],
align: 'left',
//

28
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/supplierdeliverBasicForm.vue

@ -208,6 +208,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
newRow['planQty'] = item['planQty']
newRow['shippedQty'] = item['shippedQty']
newRow['qty'] = item['planQty'] - item['shippedQty']
newRow['minProduceDate'] = item['minProduceDate'] //
newRow['produceDate'] = dayjs().valueOf() //
let produceDateStr = formatDate(newRow['produceDate'],'YYYYMMDD');
newRow['batch'] = produceDateStr
@ -289,6 +290,7 @@ const getSearchTableData = async (number,formField,searchField,isAll)=>{
newRow['planQty'] = row['planQty']
newRow['shippedQty'] = row['shippedQty']
newRow['qty'] = row['planQty'] - row['shippedQty']
newRow['minProduceDate'] = row['minProduceDate'] //
newRow['produceDate'] = dayjs().valueOf() //
let produceDateStr = formatDate(newRow['produceDate'],'YYYYMMDD');
newRow['batch'] = produceDateStr
@ -319,6 +321,21 @@ const submitForm = async (formType, submitData) => {
if(data.masterId){
data.id = data.masterId
}
let flag = true
let currentTime = dayjs().valueOf()
tableData.value.forEach(item=>{
if(item['minProduceDate']&&item['produceDate']<item['minProduceDate']){
flag = false
message.error(`${item['itemCode']}${t('ts.生产日期不能小于')}${formatDate(item['minProduceDate'],'YYYY-MM-DD')}`)
}
if(item['produceDate']>currentTime){
flag = false
message.error(`${item['itemCode']}${t('ts.生产日期不能大于当前系统日期')}`)
}
})
if(!flag){
return
}
data.subList = tableData.value //
let isHave = data.subList.some((item) => {
console.log("CCCCC",item.expireDate)
@ -415,6 +432,17 @@ const inputNumberChange = (field, val,row, index) => {
const formFormDateChange = (field, val,row, index) => {
console.log('formFormDateChange',field, val,row, index)
if(field == 'produceDate'){
if(row['minProduceDate']&&val<row['minProduceDate']){
message.error(`${row['itemCode']}${t('ts.生产日期不能小于')}${formatDate(row['minProduceDate'],'YYYY-MM-DD')}`)
// row['produceDate'] = row['minProduceDate']
}
let currentTime = dayjs().valueOf()
if(val>currentTime){
val = currentTime
message.error(`${row['itemCode']}${t('ts.生产日期不能大于当前系统日期')}`)
// row['produceDate'] = currentTime
}
let produceDateStr = formatDate(val,'YYYYMMDD');
row.batch = produceDateStr
row.supplierBatch = produceDateStr

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

@ -1036,7 +1036,7 @@ export const SupplierdeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]
searchField: 'number',
searchTitle: '要货计划信息',
searchAllSchemas: PurchasePlanDetail.allSchemas,
searchPage: PurchasePlanDetailApi.getPurchasePlanDetailPage,
searchPage: PurchasePlanDetailApi.getPurchasePlanDetailPageClcik,
searchCondition: [
{
key: 'number',
@ -1070,7 +1070,7 @@ export const SupplierdeliverRequestDetail = useCrudSchemas(reactive<CrudSchema[]
searchField: 'number',
searchTitle: '要货计划信息',
searchAllSchemas: PurchasePlanDetail.allSchemas,
searchPage: PurchasePlanDetailApi.getPurchasePlanDetailPage,
searchPage: PurchasePlanDetailApi.getPurchasePlanDetailPageClcik,
searchCondition: [
{
key: 'number',

63
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/index.vue

@ -44,17 +44,20 @@
</Table>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<!-- 表单弹窗发票回转 -->
<!--
:apiUpdate="BasicEamProductionlineApi.updateBasicEamProductionline"
:apiCreate="BasicEamProductionlineApi.createBasicEamProductionline"
@searchTableSuccess="searchTableSuccess" -->
<BasicForm
ref="formRef"
@success="getList"
:rules="SupplierinvoiceRecordMainRules"
:formAllSchemas="SupplierinvoiceRecordMain.allSchemas"
:tableAllSchemas="SupplierinvoiceRecordDetail.allSchemas"
:tableFormRules="SupplierinvoiceRecordDetailRules"
:isBusiness="true"
ref="basicFormRef"
@success="submitForm"
:rules="SupplierinvoiceRecordMainTransferRules"
:formAllSchemas="SupplierinvoiceRecordMainTransfer.allSchemas"
:isBusiness="false"
/>
<!-- 详情 -->
<Detail
ref="detailRef"
@ -143,7 +146,7 @@
<script setup lang="ts">
import download from '@/utils/download'
import { SupplierinvoiceRecordMain,SupplierinvoiceRecordMainRules,SupplierinvoiceRecordDetail,SupplierinvoiceRecordDetailRules,SupplierinvoiceRecordDetailMain } from './supplierinvoiceRecordMain.data'
import { SupplierinvoiceRecordMain,SupplierinvoiceRecordMainRules,SupplierinvoiceRecordDetail,SupplierinvoiceRecordDetailRules,SupplierinvoiceRecordDetailMain,SupplierinvoiceRecordMainTransfer,SupplierinvoiceRecordMainTransferRules } from './supplierinvoiceRecordMain.data'
import * as SupplierinvoiceRecordMainApi from '@/api/wms/supplierinvoiceRecordMain'
import * as SupplierinvoiceRecordDetailApi from '@/api/wms/supplierinvoiceRecordDeatil'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
@ -154,6 +157,8 @@ import {getAccessToken} from "@/utils/auth";
import {getJmreportBaseUrl} from "@/utils/systemParam";
import { formatDate } from '@/utils/formatTime'
import { usePageLoading } from '@/hooks/web/usePageLoading'
import dayjs from 'dayjs'
const { loadStart, loadDone } = usePageLoading()
//
defineOptions({ name: 'SupplierinvoiceRecordMain' })
@ -242,16 +247,54 @@ const butttondata = (row,$index) => {
color: '',
hasPermi: '',
link: true, //
},
{
label: t('ts.发票回转'),
name: 'transfer',
type: 'primary',
icon: '',
color: '',
hasPermi: 'wms:supplierinvoice-record-main:reverse',
hide:!(row['status']==5&&!!row['voucherNumber']),
link: true, //
}
]
}
/** 添加/修改操作 */
const basicFormRef = ref()
// -
const buttonTableClick = async (val, row) => {
if (val == 'open_detail') { //
openDetail(row, '单据号', row.number)
}else if(val == 'transfer'){
//
basicFormRef.value.open('create', row)
nextTick(()=>{
basicFormRef.value.formRef.setValues({
reversepostingdate:dayjs().valueOf(),
tcCInvoiceRemark:`回转${row['supplierName']}发票 ${row['goldenTaxInvoiceNumber']}`
})
})
}
}
//
const submitForm = async (formType, data) => {
data.reverseInvoiceJournal = 'APINVCOR'
data.adjustmentJournal = 'APADJ'
console.log('发票回转',formType, data)
loadStart()
try{
await SupplierinvoiceRecordMainApi.reverseSupplierinvoiceRecordMain(data)
message.success(t('ts.发票回转成功'))
basicFormRef.value.dialogVisible = false
buttonBaseClick('refresh', null)
} finally {
loadDone()
}
}
//
const { wsCache } = useCache()
/** 详情操作 */

408
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRecordMain/supplierinvoiceRecordMain.data.ts

@ -45,7 +45,8 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
width: 180,
},
sortTableDefault:2,
isForm: false
isForm: false,
isSearch:true
},
{
label: '税率',
@ -119,7 +120,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
isSearch: true
},
{
label: '未税差',
label: '未税差',
field: 'beforeTaxDiffAmount',
formatter: accountantFormart,
table: {
@ -130,7 +131,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
isTableForm:false
},
{
label: '税额差',
label: '税额差',
field: 'taxAmountDiff',
formatter: accountantFormart,
table: {
@ -141,7 +142,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
isTableForm:false
},
{
label: '价税合计差',
label: '价税合计差',
field: 'totalTaxDiffAmount',
formatter: accountantFormart,
table: {
@ -153,7 +154,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
},
{
label: '系统税额',
label: '供应商维护税额',
field: 'taxAmount',
formatter: accountantFormart,
sort: 'custom',
@ -166,7 +167,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '未税金额',
label: '发票未税金额',
field: 'beforeTaxAmount',
formatter: accountantFormart,
table: {
@ -177,7 +178,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
isTableForm:false
},
{
label: '税额',
label: '发票税额',
field: 'totalTaxAmount',
formatter: accountantFormart,
table: {
@ -188,7 +189,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
isTableForm:false
},
{
label: '价税合计金额',
label: '发票价税合计',
field: 'adTaxAmount',
formatter: accountantFormart,
table: {
@ -225,12 +226,12 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
sortTableDefault:5,
},
{
label: '系统价税合计',//税后金额
label: '供应商维护价税合计',//税后金额
field: 'afterTaxAmount',
formatter: accountantFormart,
sort: 'custom',
table: {
width: 150
width: 160
},
sortTableDefault:9,
form: {
@ -260,12 +261,12 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
},
{
label: '系统未税金额',
label: '供应商维护未税金额',
field: 'amount',
formatter: accountantFormart,
sort: 'custom',
table: {
width: 150
width: 160
},
sortTableDefault:8,
form: {
@ -467,6 +468,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
sortTableDefault:6,
isForm: false
},
{
label: '业务类型',
field:'businessType',
@ -672,6 +674,56 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
// isTable: false,
// isForm: false,
// },
{
label: '回转时间',
field: 'reversepostingdate',
formatter: dateFormatter2,
detail: {
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
table: {
width: 150
},
sortTableDefault:11,
},
{
label: '说明',//回转说明
field: 'tcCInvoiceRemark',
sortTableDefault:11,
table: {
width: 150
},
},
{
label: '回转凭证号',
field: 'transferNumber',
sort: 'custom',
table: {
width: 200,
},
sortTableDefault:11,
isTable:true,
isForm: false
},
// {
// label: '冲销日记帐',
// field: 'reverseInvoiceJournal',
// sortTableDefault:11,
// table: {
// width: 150
// },
// },
// {
// label: '调整账代码',
// field: 'adjustmentJournal',
// sortTableDefault:11,
// table: {
// width: 150
// },
// },
{
label: '采购审批时间',
field: 'procurementCreateTime',
@ -808,7 +860,7 @@ export const SupplierinvoiceRecordMain = useCrudSchemas(reactive<CrudSchema[]>([
isDetail: false,
isForm: false,
table: {
width: 150,
width: 200,
fixed: 'right'
},
}
@ -835,6 +887,14 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isTable: false,
isDetail: true,
},
{
label: '价差',
field: '',
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: 'SCP系统数据',
field: '',
@ -842,7 +902,7 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isForm: false,
isSearch: false,
isTable: false,
isDetail: true,
isDetail: false,
},
{
@ -868,10 +928,9 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '系统价税合计',
field: 'afterTaxAmount',
label: '系统未税金额',
field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -881,7 +940,6 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
{
label: '财务凭证号',
field: 'voucherNumber',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -900,10 +958,9 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '系统未税金额',
field: 'amount',
label: '价差合计',
field: 'differencePriceTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -936,9 +993,8 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '系统税额',
field: 'taxAmount',
formatter: accountantFormart,
label: '',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -966,16 +1022,25 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isSearch: false,
isDetail: true,
},
// {
// label: '尾差',
// field: 'totalDifference',
// sortTableDefault: 6,
// isForm: false,
// isTable: false,
// isSearch: false,
// isDetail: false,
// },
{
label: '系统采购价格',
field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
label: '尾差',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '采购价格审批人',
field: 'procurementCreatorName',
@ -999,9 +1064,10 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '总价差',
field: 'differencePriceTotalMain',
label: '供应商维护价税合计',
field: 'afterTaxAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1011,14 +1077,14 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
{
label: '采购价格审批时间',
field: 'procurementCreateTime',
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sortTableDefault: 1003,
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
},
{
label: '税率(%)',
@ -1033,8 +1099,10 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
},
},
{
label: '',
field: '',
label: '供应商维护未税金额',
field: 'amount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1053,7 +1121,7 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '价税合计',
label: '发票价税合计',
field: 'adTaxAmount',
formatter: accountantFormart,
@ -1064,15 +1132,15 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '',
field: '',
label: '供应商维护税额',
field: 'taxAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '财务审批人',
field: 'financialCreatorName',
@ -1085,7 +1153,7 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '未税金额',
label: '发票未税金额',
field: 'beforeTaxAmount',
formatter: accountantFormart,
@ -1096,29 +1164,29 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '尾差',
field: 'totalDifference',
label: '',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '财务审批时间',
field: 'financialCreateTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
},
{
label: '税额',
label: '发票税额',
field: 'totalTaxAmount',
formatter: accountantFormart,
@ -1129,15 +1197,14 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '价税合计差额(价税合计-系统价税合计)',
label: '价税合计差',
field: 'totalTaxDiffAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '财务过账日期',
@ -1162,7 +1229,7 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '未税差额(未税金额-系统未税金额)',
label: '未税差',
field: 'beforeTaxDiffAmount',
formatter: accountantFormart,
@ -1170,13 +1237,77 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '回转凭证号',
field: 'transferNumber',
sort: 'custom',
},
{
label: '',
field: '',
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '',
field: '',
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '回转时间',
field: 'reversepostingdate',
detail: {
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
},
{
label: '',
field: '',
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '',
field: '',
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '说明', //回转说明
field: 'tcCInvoiceRemark',
},
{
label: '',
field: '',
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '',
field: '',
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1197,7 +1328,7 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isDetail: true,
},
{
label: '税额差异(税额-系统税额)',
label: '税额差',
field: 'taxAmountDiff',
formatter: accountantFormart,
@ -1205,21 +1336,10 @@ export const SupplierinvoiceRecordDetailMain = useCrudSchemas(reactive<CrudSchem
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
// {
// label: '创建时间',
// field: 'createTime',
// formatter: dateFormatter,
// sortTableDefault:1000,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// isForm: false,
// isTable: false,
// isSearch: false,
// isDetail: true,
// }
]))
//表单校验
export const SupplierinvoiceRecordMainRules = reactive({
@ -1478,7 +1598,7 @@ export const SupplierinvoiceRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
}
},
{
label: '差额',
label: '单价差额',
field: 'differencePrice',
table: {
width: 150
@ -1493,46 +1613,46 @@ export const SupplierinvoiceRecordDetail = useCrudSchemas(reactive<CrudSchema[]>
disabled: true
}
},
{
label: '未税差额',
field: 'untaxedDifference',
formatter: accountantFormart,
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6,
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6,
}
},
{
label: '含税差额',
field: 'taxInclusiveDifference',
formatter: accountantFormart,
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6,
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6,
}
},
// {
// label: '未税差额',
// field: 'untaxedDifference',
// formatter: accountantFormart,
// table: {
// width: 150
// },
// form: {
// component: 'InputNumber',
// componentProps: {
// min: 0,
// precision: 6,
// }
// },
// tableForm: {
// type: 'InputNumber',
// min: 0,
// precision: 6,
// }
// },
// {
// label: '含税差额',
// field: 'taxInclusiveDifference',
// formatter: accountantFormart,
// table: {
// width: 150
// },
// form: {
// component: 'InputNumber',
// componentProps: {
// min: 0,
// precision: 6,
// }
// },
// tableForm: {
// type: 'InputNumber',
// min: 0,
// precision: 6,
// }
// },
{
label: '收货日期',
field: 'deliveryDate',
@ -1620,3 +1740,75 @@ export const SupplierinvoiceRecordDetailRules = reactive({
{ required: true, message: '请输入创建者', trigger: 'blur' }
],
})
// 发票回转
export const SupplierinvoiceRecordMainTransfer = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '冲销日记帐',
field: 'reverseInvoiceJournal',
form: {
componentProps: {
value:'APINVCOR',
disabled: true,
}
},
},
{
label: '调整账代码',
field: 'adjustmentJournal',
form: {
componentProps: {
value:'APADJ',
disabled: true,
}
},
},
{
label: '过账日期',
field: 'reversepostingdate',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD'
},
sort: 'custom',
table: {
width: 180
},
sortTableDefault:11,
form: {
component: 'DatePicker',
componentProps: {
style: {width:'100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
},
{
label: '说明',
field: 'tcCInvoiceRemark',
sort: 'custom',
isSearch: false,
isTable: false,
isForm: true,
isDetail:false,
form: {
componentProps: {
type:"textarea",
maxlength:50,
showWordLimit:true
}
}
}
]))
//表单校验
export const SupplierinvoiceRecordMainTransferRules = reactive({
reversepostingdate: [
{ required: true, message: '请选择过账日期', trigger: 'change' }
]
})

60
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue

@ -172,6 +172,7 @@
@searchTableSuccess="searchTableSuccess"
@submitForm="submitForm"
@sumFormDataHandle="sumFormDataHandle"
@onChange="onChange"
>
<template #selectionsActionspoLine="{ selections }">
<div style="text-align: left; margin-right: 10px">
@ -436,6 +437,13 @@ const searchTableSuccessDetail = async (
// })
const onChange = (field, cur) => {
console.log('onChange',field)
if(field=='orderType'){
tableData.value = []
}
}
//
const searchTableSuccess = (formField, searchField, val, searchFormRef, type, row) => {
nextTick(() => {
@ -673,6 +681,12 @@ const buttonTableClick = async (val, row) => {
} else if (val == 'purchase_mainPlanSub') {
//
// handleApp(row.id)
//
const res = await checkInvoicingCalendar()
if (res?.flag) {
message.alertWarning(res.msg)
return
}
if (row.balanceStatementStatus) {
formPurchasePassRef.value.open('update', row, null, '采购审批通过', '采购审批通过')
} else {
@ -813,21 +827,21 @@ const openForm = async (type: string, row?: any) => {
}
if (row && row.procurementCreator) row.procurementCreator = Number(row.procurementCreator)
//
SupplierinvoiceRequestMainApi.checkInvoicingCalendar({}).then((res) => {
if (res.flag) {
const res = await checkInvoicingCalendar()
if (res?.flag) {
message.alertWarning(res.msg)
return
}
tableData.value = [] //
formRef.value.open(type, row)
// if(type=='create'){
// nextTick(() => {
// formRef.value.formRef.setValues({
// procurementCreator:procurementCreators.value[0].id
// })
// })
// }
}
//
const checkInvoicingCalendar = async () => {
let resData = ''
await SupplierinvoiceRequestMainApi.checkInvoicingCalendar({}).then((res) => {
resData = res
})
return resData
}
const defaultSupplierCode = ref('')
const getDefaultSupplier = async () => {
@ -860,7 +874,8 @@ const detailAnnexTable = ref([
tableName: 'invoice',
hiddenDelete: false,
hiddenUpload: false,
fileSize: 20
fileSize: 20,
fileType:['pdf']
},
{
label: t('ts.货运单附件'),
@ -983,6 +998,12 @@ const handleOpe = async (id: number) => {
/** 提交审批按钮操作 */
const handleSub = async (id: number) => {
try {
//
const res = await checkInvoicingCalendar()
if (res?.flag) {
message.alertWarning(res.msg)
return
}
//
await message.confirm(t('ts.是否提交审批所选中数据?'))
tableObject.loading = true
@ -1081,6 +1102,12 @@ const handleTur = async (id: number, cause: string) => {
/** 发票寄出确认按钮操作 */
const handleInvoiceSentOut = async (id: number) => {
try {
//
const res = await checkInvoicingCalendar()
if (res?.flag) {
message.alertWarning(res.msg)
return
}
//
await message.confirm(t('ts.是否确认发票寄出选中数据?'))
tableObject.loading = true
@ -1181,7 +1208,7 @@ const handleExport = async () => {
} else {
paramsData = { ...paramsData, checkNums: rows }
}
if (!paramsData.createTime || paramsData.createTime && paramsData.createTime.length == 0) {
if (!paramsData.createTime || (paramsData.createTime && paramsData.createTime.length == 0)) {
delete paramsData.createTime
}
try {
@ -1410,11 +1437,16 @@ const getLoginUserRoleList = async () => {
/** 初始化 **/
onMounted(async () => {
SupplierinvoiceRequestMain.allSchemas.formSchema.forEach(async item=>{
SupplierinvoiceRequestMain.allSchemas.formSchema.forEach(async (item) => {
if (item.field == 'procurementCreator') {
//
const procurementCreators = await SupplierinvoiceRequestMainApi.queryUserInfoByRoleCode({ roleCode: 'purchase',pageSize: 1000,pageNo: 1,sort: '',by: 'ASC' })
const procurementCreators = await SupplierinvoiceRequestMainApi.queryUserInfoByRoleCode({
roleCode: 'purchase',
pageSize: 1000,
pageNo: 1,
sort: '',
by: 'ASC'
})
item.componentProps.options = procurementCreators.list
}
})

110
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts

@ -201,6 +201,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
label: '供应商名称',
field: 'supplierName',
sort: 'custom',
isSearch:true,
table: {
width: 180,
},
@ -250,11 +251,11 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isForm: false,
},
{
label: '系统未税金额',
label: '供应商维护未税金额',
field: 'amount',
formatter: accountantFormart,
table: {
width: 150
width: 160
},
sortTableDefault:8,
form: {
@ -305,7 +306,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
// isTableForm:false
// },
// {
// label: '价税合计金额',
// label: '发票价税合计',
// field: 'adTaxAmount',
// formatter: accountantFormart,
// table: {
@ -316,7 +317,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
// isTableForm:false
// },
{
label: '系统税额',
label: '供应商维护税额',
field: 'taxAmount',
formatter: accountantFormart,
table: {
@ -336,11 +337,11 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
}
},
{
label: '系统价税合计',
label: '供应商维护价税合计',
field: 'afterTaxAmount',
formatter: accountantFormart,
table: {
width: 150
width: 160
},
sortTableDefault:7,
form: {
@ -441,7 +442,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
}
},
{
label: '未税金额',
label: '发票未税金额',
field: 'beforeTaxAmount',
formatter: accountantFormart,
table: {
@ -458,7 +459,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm:false,
},
{
label: '税额',
label: '发票税额',
field: 'totalTaxAmount',
formatter: accountantFormart,
table: {
@ -475,7 +476,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm:false,
},
{
label: '价税合计金额',
label: '发票价税合计',
field: 'adTaxAmount',
formatter: accountantFormart,
table: {
@ -518,7 +519,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
sortTableDefault:5,
},
{
label: '未税差',
label: '未税差',
field: 'beforeTaxDiffAmount',
formatter: accountantFormart,
table: {
@ -535,7 +536,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm:false,
},
{
label: '税额差',
label: '税额差',
field: 'taxAmountDiff',
formatter: accountantFormart,
table: {
@ -552,7 +553,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm:false,
},
{
label: '价税合计差',
label: '价税合计差',
field: 'totalTaxDiffAmount',
formatter: accountantFormart,
table: {
@ -598,7 +599,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
sortTableDefault:10,
form:{
componentProps: {
maxlength:23,
maxlength:20,
showWordLimit:true
}
}
@ -1143,7 +1144,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: 'SCP系统数据',
label: '价差',
field: '',
sort: 'custom',
isForm: false,
@ -1151,6 +1152,15 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isTable: false,
isDetail: true,
},
{
label: 'SCP系统数据',
field: '',
sort: 'custom',
isForm: false,
isSearch: false,
isTable: false,
isDetail: false,
},
{
label: '单据号',
@ -1175,10 +1185,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '系统价税合计',
field: 'afterTaxAmount',
label: '系统未税金额',
field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1206,10 +1215,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '系统未税金额',
field: 'amount',
label: '价差合计',
field: 'differencePriceTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1242,9 +1250,8 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '系统税额',
field: 'taxAmount',
formatter: accountantFormart,
label: '',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1273,15 +1280,23 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '系统采购价格',
field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
label: '尾差',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
// {
// label: '尾差',
// field: 'totalDifference',
// sortTableDefault: 6,
// isForm: false,
// isTable: false,
// isSearch: false,
// isDetail: false,
// },
{
label: '采购价格审批人',
field: 'procurementCreatorName',
@ -1305,9 +1320,10 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '总价差',
field: 'differencePriceTotalMain',
label: '供应商维护价税合计',
field: 'afterTaxAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1339,8 +1355,10 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
},
},
{
label: '',
field: '',
label: '供应商维护未税金额',
field: 'amount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1359,7 +1377,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '价税合计',
label: '发票价税合计',
field: 'adTaxAmount',
formatter: accountantFormart,
@ -1370,15 +1388,15 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '',
field: '',
label: '供应商维护税额',
field: 'taxAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '财务审批人',
field: 'financialCreatorName',
@ -1391,7 +1409,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '未税金额',
label: '发票未税金额',
field: 'beforeTaxAmount',
formatter: accountantFormart,
@ -1402,13 +1420,13 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '尾差',
field: 'totalDifference',
label: '',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '财务审批时间',
@ -1424,7 +1442,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '税额',
label: '发票税额',
field: 'totalTaxAmount',
formatter: accountantFormart,
@ -1435,15 +1453,14 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '价税合计差额(价税合计-系统价税合计)',
label: '价税合计差',
field: 'totalTaxDiffAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '财务过账日期',
@ -1468,7 +1485,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '未税差额(未税金额-系统未税金额)',
label: '未税差',
field: 'beforeTaxDiffAmount',
formatter: accountantFormart,
@ -1476,8 +1493,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '备注',
field: 'remark',
@ -1502,7 +1520,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '税额差异(税额-系统税额)',
label: '税额差',
field: 'taxAmountDiff',
formatter: accountantFormart,
@ -1510,7 +1528,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},

128
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

@ -242,11 +242,11 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isForm: false,
},
{
label: '系统未税金额',
label: '供应商维护未税金额',
field: 'amount',
formatter: accountantFormart,
table: {
width: 150
width: 160
},
sortTableDefault:8,
form: {
@ -286,7 +286,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
// isTableForm:false
// },
// {
// label: '税额',
// label: '发票税额',
// field: 'totalTaxAmount',
// formatter: accountantFormart,
// table: {
@ -297,7 +297,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
// isTableForm:false
// },
// {
// label: '价税合计金额',
// label: '发票价税合计',
// field: 'adTaxAmount',
// formatter: accountantFormart,
// table: {
@ -308,7 +308,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
// isTableForm:false
// },
{
label: '系统税额',
label: '供应商维护税额',
field: 'taxAmount',
formatter: accountantFormart,
table: {
@ -328,11 +328,11 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
}
},
{
label: '系统价税合计',
label: '供应商维护价税合计',
field: 'afterTaxAmount',
formatter: accountantFormart,
table: {
width: 150
width: 160
},
sortTableDefault:7,
form: {
@ -433,7 +433,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
}
},
{
label: '未税金额',
label: '发票未税金额',
field: 'beforeTaxAmount',
formatter: accountantFormart,
table: {
@ -450,7 +450,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm:false,
},
{
label: '税额',
label: '发票税额',
field: 'totalTaxAmount',
formatter: accountantFormart,
table: {
@ -467,7 +467,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm:false,
},
{
label: '价税合计金额',
label: '发票价税合计',
field: 'adTaxAmount',
formatter: accountantFormart,
table: {
@ -510,7 +510,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
sortTableDefault:5,
},
{
label: '未税差',
label: '未税差',
field: 'beforeTaxDiffAmount',
formatter: accountantFormart,
table: {
@ -527,7 +527,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm:false,
},
{
label: '税额差',
label: '税额差',
field: 'taxAmountDiff',
formatter: accountantFormart,
table: {
@ -544,7 +544,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isTableForm:false,
},
{
label: '价税合计差',
label: '价税合计差',
field: 'totalTaxDiffAmount',
formatter: accountantFormart,
table: {
@ -590,7 +590,7 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
sortTableDefault:10,
form:{
componentProps: {
maxlength:23,
maxlength:20,
showWordLimit:true
}
}
@ -1158,7 +1158,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: 'SCP系统数据',
label: '价差',
field: '',
sort: 'custom',
isForm: false,
@ -1166,6 +1166,15 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isTable: false,
isDetail: true,
},
{
label: 'SCP系统数据',
field: '',
sort: 'custom',
isForm: false,
isSearch: false,
isTable: false,
isDetail: false,
},
{
label: '单据号',
@ -1190,10 +1199,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '系统价税合计',
field: 'afterTaxAmount',
label: '系统未税金额',
field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1203,7 +1211,6 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
{
label: '财务凭证号',
field: 'voucherNumber',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1214,6 +1221,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
label: '供应商名称',
field: 'supplierName',
sort: 'custom',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1221,10 +1229,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '系统未税金额',
field: 'amount',
label: '价差合计',
field: 'differencePriceTotalMain',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1257,9 +1264,8 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '系统税额',
field: 'taxAmount',
formatter: accountantFormart,
label: '',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1288,15 +1294,23 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '系统采购价格',
field: 'purchaseAmountTotalMain',
formatter: accountantFormart,
label: '尾差',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
// {
// label: '尾差',
// field: 'totalDifference',
// sortTableDefault: 6,
// isForm: false,
// isTable: false,
// isSearch: false,
// isDetail: false,
// },
{
label: '采购价格审批人',
field: 'procurementCreatorName',
@ -1320,9 +1334,10 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '总价差',
field: 'differencePriceTotalMain',
label: '供应商维护价税合计',
field: 'afterTaxAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1354,8 +1369,10 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
},
},
{
label: '',
field: '',
label: '供应商维护未税金额',
field: 'amount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1374,7 +1391,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '价税合计',
label: '发票价税合计',
field: 'adTaxAmount',
formatter: accountantFormart,
@ -1385,15 +1402,15 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '',
field: '',
label: '供应商维护税额',
field: 'taxAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: true,
},
{
label: '财务审批人',
field: 'financialCreatorName',
@ -1406,7 +1423,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '未税金额',
label: '发票未税金额',
field: 'beforeTaxAmount',
formatter: accountantFormart,
@ -1417,13 +1434,13 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '尾差',
field: 'totalDifference',
label: '',
field: '',
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '财务审批时间',
@ -1439,7 +1456,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '税额',
label: '发票税额',
field: 'totalTaxAmount',
formatter: accountantFormart,
@ -1450,15 +1467,14 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '价税合计差额(价税合计-系统价税合计)',
label: '价税合计差',
field: 'totalTaxDiffAmount',
formatter: accountantFormart,
sortTableDefault: 6,
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '财务过账日期',
@ -1483,7 +1499,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '未税差额(未税金额-系统未税金额)',
label: '未税差',
field: 'beforeTaxDiffAmount',
formatter: accountantFormart,
@ -1491,13 +1507,13 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
sortTableDefault: 6,
isForm: false,
isTable: false,
@ -1518,7 +1534,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isDetail: true,
},
{
label: '税额差异(税额-系统税额)',
label: '税额差',
field: 'taxAmountDiff',
formatter: accountantFormart,
@ -1526,21 +1542,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
isForm: false,
isTable: false,
isSearch: false,
isDetail: false,
isDetail: true,
},
// {
// label: '创建时间',
// field: 'createTime',
// formatter: dateFormatter,
// sortTableDefault:1000,
// detail: {
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
// },
// isForm: false,
// isTable: false,
// isSearch: false,
// isDetail: true,
// },
]))
const singlePriceFormart = (row, column, cellValue) => {

Loading…
Cancel
Save