Browse Source

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

hella_online_20240829
陈薪名 4 months ago
parent
commit
05a1750a61
  1. 11
      src/api/wms/balance/index.ts
  2. 6
      src/api/wms/countJobMain/index.ts
  3. 11
      src/api/wms/productionitemcodeSpareitemcode/index.ts
  4. 13
      src/api/wms/remark/index.ts
  5. 77
      src/views/qms/inspectionJob/inspectionJobMain.data.ts
  6. 6
      src/views/qms/inspectionScheme/addForm.vue
  7. 60
      src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts
  8. 26
      src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue
  9. 28
      src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts
  10. 4
      src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts
  11. 28
      src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue
  12. 12
      src/views/wms/basicDataManage/subject/mstr/mstr.data.ts
  13. 2
      src/views/wms/countManage/count/countJobMain/countJobMain.data.ts
  14. 24
      src/views/wms/countManage/count/countJobMain/index.vue
  15. 2
      src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/index.vue
  16. 5
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue
  17. 13
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMainNo.data.ts
  18. 9
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptReport/index.vue
  19. 13
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue
  20. 15
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts
  21. 4
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/index.vue
  22. 10
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/supplierinvoiceRequestMainDifference.data.ts

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

@ -190,6 +190,17 @@ export const getBalanceByBusinessTypeByItemType = async (params) => {
return await request.get({ url: `/wms/balance/pageBusinessTypeToBalance`, params }) return await request.get({ url: `/wms/balance/pageBusinessTypeToBalance`, params })
} }
} }
// 查询库存余额列表根据业务类型 根据库存状态及库区类型再根据物料的种类筛选
export const getBalanceByBusinessCategoryByItemType = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/balance/pageBusinessCategoryToBalanceSenior', data })
} else {
return await request.get({ url: `/wms/balance/pageBusinessCategoryToBalance`, params })
}
}
// 根据code获取数据列表 // 根据code获取数据列表
export const getBalanceItemListByCodes = async (data) => { export const getBalanceItemListByCodes = async (data) => {
  return await request.get({ url: `/wms/balance/listByCodes`,data })   return await request.get({ url: `/wms/balance/listByCodes`,data })

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

@ -91,6 +91,12 @@ export const importTemplate = () => {
export const closeCountJobMain = (id: number) => { export const closeCountJobMain = (id: number) => {
return request.put({ url: '/wms/count-job-main/close?id=' + id }) return request.put({ url: '/wms/count-job-main/close?id=' + id })
} }
// 完成盘点任务主
export const doneCountJobMain = (id: number) => {
//更换一下完成接口
return request.put({ url: '/wms/count-job-main/close?id=' + id })
}
// 承接盘点任务主 // 承接盘点任务主
export const acceptCountJobMain = (id: number) => { export const acceptCountJobMain = (id: number) => {
return request.put({ url: '/wms/count-job-main/accept?id=' + id }) return request.put({ url: '/wms/count-job-main/accept?id=' + id })

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

@ -19,6 +19,17 @@ export const getProductionitemcodeSpareitemcodePage = async (params) => {
} }
} }
// 查询量产件备件关系列表
export const getProductionitemcodeSpareitemcodeRelation = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/productionitemcode-spareitemcode/getRelationSeniorS', data })
} else {
return await request.get({ url: `/wms/productionitemcode-spareitemcode/getRelation`, params })
}
}
// 查询量产件备件关系详情 // 查询量产件备件关系详情
export const getProductionitemcodeSpareitemcode = async (id: number) => { export const getProductionitemcodeSpareitemcode = async (id: number) => {
return await request.get({ url: `/wms/productionitemcode-spareitemcode/get?id=` + id }) return await request.get({ url: `/wms/productionitemcode-spareitemcode/get?id=` + id })

13
src/api/wms/remark/index.ts

@ -10,5 +10,18 @@ export const createRemark= async (data) => {
} }
// 查询变更记录列表 // 查询变更记录列表
export const getChangeRecordPage = async (params) => { export const getChangeRecordPage = async (params) => {
params = handleParams(params);
return await request.get({ url: `/infra/trends/list`, params }) return await request.get({ url: `/infra/trends/list`, params })
} }
const handleParams = (params) => {
if (params.tableName && params.tableName.trim() !== "") {
// 检查是否包含大写字母
if (/[A-Z]/.test(params.tableName)) {
params.tableName = toSnakeCase(params.tableName);
}
}
return params;
}
const toSnakeCase = (str) => {
return str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);
}

77
src/views/qms/inspectionJob/inspectionJobMain.data.ts

@ -270,6 +270,18 @@ export const InspectionJobMain = useCrudSchemas(
width: 150 width: 150
} }
}, },
{
label: '完成人',
field: 'completeUser',
sort: 'custom',
dictType: DICT_TYPE.TRUE_FALSE,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isTable: false,
isDetail: false,
isSearch: true,
isTableForm: false,
isForm: false,
},
// { // {
// label: '检验批来源', // label: '检验批来源',
// field: 'inspectionBatchSource', // field: 'inspectionBatchSource',
@ -439,6 +451,71 @@ export const InspectionJobMain = useCrudSchemas(
// } // }
// } // }
// }, // },
{
label: '承接人',
field: 'acceptUserName',
table: {
width: 130
},
isForm: false,
isTable: false,
isDetail: true
},
{
label: '承接时间',
field: 'acceptTime',
isForm: false,
table: {
width: 180
},
isTable: false,
isDetail: true,
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
form: {
component: 'DatePicker',
componentProps: {
style: { width: '100%' },
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x'
}
}
},
{
label: '完成人',
field: 'completeUserName',
table: {
width: 130
},
isForm: false,
isTable: true,
isDetail:true
},
{
label: '完成时间',
field: 'completeTime',
isForm: false,
table: {
width: 180
},
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
form: {
component: 'DatePicker',
componentProps: {
style: { width: '100%' },
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x'
}
}
},
{ {
label: '创建时间', label: '创建时间',
field: 'createTime', field: 'createTime',

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

@ -833,7 +833,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
} }
let arr = [] let arr = []
list.forEach((item, index) => { list.forEach((item, index) => {
editableTabsValue.value = index + 1 // editableTabsValue.value = index + 1
item.name = index + 1 item.name = index + 1
console.log(item.inspectionCharacteristicsBaseVO) console.log(item.inspectionCharacteristicsBaseVO)
@ -886,6 +886,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
} }
arr.push(obj) arr.push(obj)
}) })
editableTabsValue.value = 1
data.value.process = arr data.value.process = arr
console.log(111, data.value) console.log(111, data.value)
}else{ }else{
@ -899,7 +900,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false
rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false
list.forEach((item, index) => { list.forEach((item, index) => {
editableTabsValue.value = index + 1 // editableTabsValue.value = index + 1
item.name = index + 1 item.name = index + 1
// rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true // rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true
// //
@ -919,6 +920,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
isShowField.value += 1 //isShowField > 0aql isShowField.value += 1 //isShowField > 0aql
} }
}) })
editableTabsValue.value = 1
// aql // aql
if (isShowField.value > 0) { if (isShowField.value > 0) {
rules.value.aql[0].required = true rules.value.aql[0].required = true

60
src/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data.ts

@ -1,5 +1,7 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import * as ItembasicApi from '@/api/wms/itembasic'
import { Itembasic } from '../itembasic/itembasic.data'
// 表单校验 // 表单校验
export const ProductionitemcodeSpareitemcodeRules = reactive({ export const ProductionitemcodeSpareitemcodeRules = reactive({
@ -13,12 +15,70 @@ export const ProductionitemcodeSpareitemcode = useCrudSchemas(reactive<CrudSchem
field: 'productionItemCode', field: 'productionItemCode',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true, //可输入回车
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '物料基础信息', // 查询弹窗标题
searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'category',
value: 'LCJ',
isMainValue: false
}],
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: 'true',
isFormModel: true
}], // 失去焦点校验参数
}
}
}, },
{ {
label: '备件', label: '备件',
field: 'spareItemCode', field: 'spareItemCode',
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true, //可输入回车
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '物料基础信息', // 查询弹窗标题
searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'category',
value: 'BJ',
isMainValue: false
}],
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: 'true',
isFormModel: true
}], // 失去焦点校验参数
}
}
}, },
{ {
label: '是否可用', label: '是否可用',

26
src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue

@ -72,6 +72,7 @@ import download from '@/utils/download'
import { RelegateRequestMain, RelegateRequestMainRules, RelegateRequestDetail, RelegateRequestDetailRules } from './relegateRequestMain.data' import { RelegateRequestMain, RelegateRequestMainRules, RelegateRequestDetail, RelegateRequestDetailRules } from './relegateRequestMain.data'
import * as RelegateRequestMainApi from '@/api/wms/relegateRequestMain' import * as RelegateRequestMainApi from '@/api/wms/relegateRequestMain'
import * as RelegateRequestDetailApi from '@/api/wms/relegateRequestDetail' import * as RelegateRequestDetailApi from '@/api/wms/relegateRequestDetail'
import * as ItembasicApi from '@/api/wms/itembasic'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
@ -109,7 +110,20 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
}) })
} else if (formField == 'downItemCode') { } else if (formField == 'downItemCode') {
row['downItemCode'] = val[0]['code'] if(row['itemCode'] == val[0]['spareItemCode']){
row['downItemCode'] = val[0]['productionItemCode'] //
}else{
row['downItemCode'] = val[0]['spareItemCode'] //
}
console.log(row['itemCode']);
// ItembasicApi.getItemListByCodes(row['itemCode'])
// if(){
// row['downItemCode'] = val[0]['productionItemCode']
// }else if(){
// row['downItemCode'] = val[0]['spareItemCode']
// }
} else if (formField == 'toLocationCode') { } else if (formField == 'toLocationCode') {
row['toLocationCode'] = val[0]['code'] row['toLocationCode'] = val[0]['code']
} else { } else {
@ -140,16 +154,6 @@ RelegateRequestDetail.allSchemas.tableFormColumns.map(item => {
if (item.field == 'itemCode') { if (item.field == 'itemCode') {
item.tableForm.searchCondition = [ item.tableForm.searchCondition = [
{ {
key: 'businessType',
value: businessType,
isMainValue: false
}
// ,{
// key: 'available',
// value: 'TRUE',
// isMainValue: false
// }
,{
message: '请选择从仓库代码!', message: '请选择从仓库代码!',
key: 'warehouseCode', key: 'warehouseCode',
value: 'fromWarehouseCode', value: 'fromWarehouseCode',

28
src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts

@ -17,6 +17,8 @@ import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/l
import * as ItempackageApi from '@/api/wms/itempackage' import * as ItempackageApi from '@/api/wms/itempackage'
import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data' import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data'
import * as ProductionitemcodeSpareitemcodeApi from '@/api/wms/productionitemcodeSpareitemcode'
import { ProductionitemcodeSpareitemcode } from '@/views/wms/basicDataManage/itemManage/productionitemcodeSpareitemcode/productionitemcodeSpareitemcode.data'
import * as confgiApi from '@/api/infra/config' import * as confgiApi from '@/api/infra/config'
// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 // 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
const queryParams = { const queryParams = {
@ -322,7 +324,7 @@ export const RelegateRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
searchField: 'itemCode', searchField: 'itemCode',
searchTitle: '库存余额信息', searchTitle: '库存余额信息',
searchAllSchemas: Balance.allSchemas, searchAllSchemas: Balance.allSchemas,
searchPage: BalanceApi.getBalanceByBusinessTypeByItemType, searchPage: BalanceApi.getBalanceByBusinessCategoryByItemType,
searchCondition: [] searchCondition: []
} }
}, },
@ -334,7 +336,7 @@ export const RelegateRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'itemCode', // 查询弹窗赋值字段
searchTitle: '库存余额信息', // 查询弹窗标题 searchTitle: '库存余额信息', // 查询弹窗标题
searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类 searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
searchPage: BalanceApi.getBalanceByBusinessTypeByItemType, // 查询弹窗所需分页方法 searchPage: BalanceApi.getBalanceByBusinessCategoryByItemType, // 查询弹窗所需分页方法
searchCondition:[ searchCondition:[
// { // {
// key: 'available', // key: 'available',
@ -361,17 +363,18 @@ export const RelegateRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
enterSearch: true, enterSearch: true,
isSearchList: true, isSearchList: true,
searchListPlaceholder: '请选择降级物料代码', searchListPlaceholder: '请选择降级物料代码',
searchField: 'code', searchField: 'productionItemCode',
searchTitle: '物料基础信息', searchTitle: '物料基础信息',
searchAllSchemas: Itembasic.allSchemas, searchAllSchemas: ProductionitemcodeSpareitemcode.allSchemas,
searchPage: ItembasicApi.getItembasicPage, searchPage: ProductionitemcodeSpareitemcodeApi.getProductionitemcodeSpareitemcodeRelation,
searchCondition: [{ searchCondition: [{
key: 'available', key: 'available',
value: 'TRUE', value: 'TRUE',
isMainValue: false isMainValue: false
},{ },{
key: 'type', key: 'itemCode',
value: confgiData.itemType, value: 'itemCode',
isTableRowValue: true,
isMainValue:false isMainValue:false
}], }],
verificationParams: [{ verificationParams: [{
@ -387,18 +390,19 @@ export const RelegateRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
tableForm:{ tableForm:{
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择降级物料代码', // 输入框占位文本 searchListPlaceholder: '请选择降级物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'productionItemCode', // 查询弹窗赋值字段
searchTitle: '物料基础信息', // 查询弹窗标题 searchTitle: '物料基础信息', // 查询弹窗标题
searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 searchAllSchemas: ProductionitemcodeSpareitemcode.allSchemas, // 查询弹窗所需类
searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 searchPage: ProductionitemcodeSpareitemcodeApi.getProductionitemcodeSpareitemcodeRelation, // 查询弹窗所需分页方法
searchCondition:[ searchCondition:[
{ {
key: 'available', key: 'available',
value: 'TRUE', value: 'TRUE',
isMainValue: false isMainValue: false
},{ },{
key: 'type', key: 'itemCode',
value: confgiData.itemType, value: 'itemCode',
isTableRowValue: true,
isMainValue:false isMainValue:false
}] }]
}, },

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

@ -38,7 +38,7 @@ export const CallmaterialsRules = reactive({
workStationCode: [required], workStationCode: [required],
uom: [required], uom: [required],
callmaterialQty: [required], callmaterialQty: [required],
project: [{ max: 50, message: '最多50字符', trigger: 'blur'}] project: [{ max: 64, message: '最多50字符', trigger: 'blur'}]
}) })
export const Callmaterials = useCrudSchemas(reactive<CrudSchema[]>([ export const Callmaterials = useCrudSchemas(reactive<CrudSchema[]>([
@ -361,7 +361,7 @@ export const Callmaterials = useCrudSchemas(reactive<CrudSchema[]>([
} , } ,
form: { form: {
componentProps:{ componentProps:{
maxlength: 50, maxlength: 64,
type:'textarea', type:'textarea',
showWordLimit:true showWordLimit:true
} }

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

@ -305,6 +305,7 @@
<!-- 仓库 库区 库位组 库位 --> <!-- 仓库 库区 库位组 库位 -->
<el-col key="仓库col" :span="24"> <el-col key="仓库col" :span="24">
<el-form-item key="仓库formItem" label="" label-width="0" prop="warehouse" class="err-120"> <el-form-item key="仓库formItem" label="" label-width="0" prop="warehouse" class="err-120">
<span class="peizhi">*</span>
<el-select key="仓库" <el-select key="仓库"
v-model="warehouseType" v-model="warehouseType"
placeholder="" placeholder=""
@ -594,7 +595,9 @@ const rules = ref({
strategyCode: [{ required: true, message: '请输入代码', trigger: 'blur' },{ max: 50, message: '不得超过50个字符', trigger: 'blur' }], strategyCode: [{ required: true, message: '请输入代码', trigger: 'blur' },{ max: 50, message: '不得超过50个字符', trigger: 'blur' }],
name: [{ required: true, message: '请输入名字', trigger: 'blur' },{ max: 50, message: '不得超过50个字符', trigger: 'blur' }], name: [{ required: true, message: '请输入名字', trigger: 'blur' },{ max: 50, message: '不得超过50个字符', trigger: 'blur' }],
description: [{ required: true, message: '请输入描述', trigger: 'blur' },{ max: 50, message: '不得超过50个字符', trigger: 'blur' }], description: [{ required: true, message: '请输入描述', trigger: 'blur' },{ max: 50, message: '不得超过50个字符', trigger: 'blur' }],
priority: [{ required: true, message: '请输入优先级', trigger: 'blur' }] priority: [{ required: true, message: '请输入优先级', trigger: 'blur' }],
// warehouse: [{ required: true, message: '', trigger: 'blur' }],
}) })
// //
@ -863,6 +866,24 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const submitForm = async () => { const submitForm = async () => {
if(warehouseType.value == 'WarehouseCode' && !formData.value.configuration.WarehouseCode){
//
message.error('请选择仓库')
return
// formData.configuration.WarehouseCode
}else if(warehouseType.value == 'AreaCode'&& !formData.value.configuration.AreaCode){
//
message.error('请选择库区')
return
}else if(warehouseType.value == 'LocationGroupCode'&&!formData.value.configuration.LocationGroupCode){
//
message.error('请选择库位组')
return
}else if(warehouseType.value == 'LocationCode'&&!formData.value.configuration.LocationCode){
//
message.error('请选择库位')
return
}
// //
if (!formRef) return if (!formRef) return
const valid = await formRef.value.validate() const valid = await formRef.value.validate()
@ -1010,4 +1031,9 @@ const resetForm = () => {
::v-deep .err-120 .el-form-item__error { ::v-deep .err-120 .el-form-item__error {
padding-left: 120px !important; padding-left: 120px !important;
} }
.peizhi {
color: var(--el-color-danger);
margin-right:4px;
}
</style> </style>

12
src/views/wms/basicDataManage/subject/mstr/mstr.data.ts

@ -40,6 +40,18 @@ export const Mstr = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom', sort: 'custom',
isSearch: true, isSearch: true,
}, },
{
label: '废品账户',
field: 'plScrpAcct',
sort: 'custom',
isSearch: true,
},
{
label: '盘点差异账户',
field: 'plDscrAcct',
sort: 'custom',
isSearch: true,
},
{ {
label: '创建时间', label: '创建时间',
field: 'createTime', field: 'createTime',

2
src/views/wms/countManage/count/countJobMain/countJobMain.data.ts

@ -512,7 +512,7 @@ export const CountJobMain = useCrudSchemas(reactive<CrudSchema[]>([
isDetail: false, isDetail: false,
isForm: false, isForm: false,
table: { table: {
width: 220, width: 250,
fixed: 'right' fixed: 'right'
}, },
} }

24
src/views/wms/countManage/count/countJobMain/index.vue

@ -215,6 +215,15 @@ const butttondata = (row,$index) => {
hasPermi: '' // wms:count-job-main:importCountJob hasPermi: '' // wms:count-job-main:importCountJob
}, },
defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2'])}), // defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2'])}), //
{
label: '完成',
name: 'done',
hide: isShowMainButton(row,[]),
type: 'success',
color: '',
link: true, //
hasPermi: '' // wms:count-job-main:importCountJob
},
// defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['2'])}), // // defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['2'])}), //
] ]
} }
@ -237,7 +246,10 @@ const buttonTableClick = async (val, row) => {
handleExportCountJob(row.id,row.number) handleExportCountJob(row.id,row.number)
} else if( val == 'importCountJob'){ // } else if( val == 'importCountJob'){ //
handleImport(row.id) handleImport(row.id)
} else if( val == 'done'){ //
handleDone(row.id)
} }
} }
/** 关闭按钮操作 */ /** 关闭按钮操作 */
@ -249,6 +261,18 @@ const handleClose = async (id: number) => {
await getList() await getList()
} catch {} } catch {}
} }
//
const handleDone = async (id: number) => {
try {
await message.confirm('确认完成吗?')
await CountJobMainApi.doneCountJobMain(id)
await getList()
} catch {
}
}
// //
const { wsCache } = useCache() const { wsCache } = useCache()
/** 详情操作 */ /** 详情操作 */

2
src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/index.vue

@ -114,8 +114,8 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
if (type == 'tableForm') { if (type == 'tableForm') {
// //
if(formField === 'itemCode'){ if(formField === 'itemCode'){
let newRow = JSON.parse(JSON.stringify(tableFormKeys))
val.forEach(item=>{ val.forEach(item=>{
let newRow = JSON.parse(JSON.stringify(tableFormKeys))
newRow[formField] =item[searchField] newRow[formField] =item[searchField]
newRow['packingNumber'] = item['packingNumber'] newRow['packingNumber'] = item['packingNumber']
newRow['containerNumber'] = item['containerNumber'] newRow['containerNumber'] = item['containerNumber']

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

@ -44,6 +44,8 @@
ref="formRef" ref="formRef"
:isOpenSearchTable="true" :isOpenSearchTable="true"
fieldTableColumn="workStationCode" fieldTableColumn="workStationCode"
:isShowReduceButtonSelection="true"
@tableSelectionDelete="tableSelectionDelete"
@success="getList" @success="getList"
:rules="ProductionreturnRequestMainRules" :rules="ProductionreturnRequestMainRules"
:formAllSchemas="ProductionreturnRequestMain.allSchemas" :formAllSchemas="ProductionreturnRequestMain.allSchemas"
@ -567,6 +569,9 @@ const handleAddTable = () => {
const handleDeleteTable = (item, index) => { const handleDeleteTable = (item, index) => {
tableData.value.splice(index, 1) tableData.value.splice(index, 1)
} }
const tableSelectionDelete = (selection) => {
tableData.value = tableData.value.filter(item => !selection.includes(item))
}
// //
const submitForm = async (formType, submitData) => { const submitForm = async (formType, submitData) => {

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

@ -127,7 +127,18 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
value: 'productionLineCode', value: 'productionLineCode',
message: '请选择生产线信息!', message: '请选择生产线信息!',
isMainValue: true isMainValue: true
}] }],
verificationPage: WorkstationApi.getWorkstationByCodes, // 校验数去焦点输入是否正确的方法
isShowTableFormSearch: true,
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}], // 失去焦点校验参数
}, },
}, },

9
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptReport/index.vue

@ -27,6 +27,9 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { DictTag } from '@/components/DictTag'
import { TableColumn } from '@/types/table'
// //
import { dateFormatter,dateFormatter2 } from '@/utils/formatTime' import { dateFormatter,dateFormatter2 } from '@/utils/formatTime'
import {queryQualityInspection} from '@/api/wms/supplierdeliverInspectionDetail' import {queryQualityInspection} from '@/api/wms/supplierdeliverInspectionDetail'
@ -101,6 +104,12 @@ const getAnnexList = async () => {
"field": "uom", "field": "uom",
"dictType": "uom", "dictType": "uom",
"dictClass": "string", "dictClass": "string",
formatter : (_: Recordable, __: TableColumn, cellValue: any) => {
return h(DictTag, {
type: "uom", // !
value: cellValue
})
},
"isTable": true, "isTable": true,
"isForm": false, "isForm": false,
"sort": "custom", "sort": "custom",

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

@ -32,7 +32,7 @@
</el-button> </el-button>
</template> </template>
<template #differencePrice="{row}"> <template #differencePrice="{row}">
<span :class="{'red-text':row.differencePrice!=0}">{{ Number(row.differencePrice).toFixed(2) }}</span> <span :class="{'red-text':row.differencePrice!=0}">{{ Number(row.differencePrice).toFixed(4) }}</span>
</template> </template>
<template #action="{ row,$index }"> <template #action="{ row,$index }">
<ButtonBase :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event,row)" /> <ButtonBase :Butttondata="butttondata(row,$index)" @button-base-click="buttonTableClick($event,row)" />
@ -115,7 +115,7 @@
<template #selectionsActionspoLine="{selections}"> <template #selectionsActionspoLine="{selections}">
<div style="text-align: left;margin-right:10px"> <div style="text-align: left;margin-right:10px">
系统未税金额:{{Number(selections.reduce((prev, item) => prev + Number(Number(Number(Number(item['purchasePrice']).toFixed(2))*item['invoicableQuantity']).toFixed(2)),0)).toFixed(2)}} 系统未税金额:{{Number(selections.reduce((prev, item) => prev + Number(Number(Number(Number(item['purchasePrice']).toFixed(4))*item['invoicableQuantity']).toFixed(2)),0)).toFixed(2)}}
</div> </div>
</template> </template>
<!-- <template #foorter> <!-- <template #foorter>
@ -124,7 +124,7 @@
</div> </div>
</template> --> </template> -->
<template v-slot="{row}"> <template v-slot="{row}">
<el-input :disabled="true" :class="{'is-red': row['singlePrice'] - row['purchasePrice'] > 0}" :modelValue="((row['singlePrice']) - (row['purchasePrice'])).toFixed(2)"/> <el-input :disabled="true" :class="{'is-red': row['singlePrice'] - row['purchasePrice'] > 0}" :modelValue="((row['singlePrice']) - (row['purchasePrice'])).toFixed(4)"/>
</template> </template>
</BasicForm> </BasicForm>
@ -200,7 +200,7 @@
:sumFormDataByForm ="(formRef,formModel)=>{ :sumFormDataByForm ="(formRef,formModel)=>{
const {singlePrice=0,purchasePrice=0} = formModel const {singlePrice=0,purchasePrice=0} = formModel
formRef.value.setValues({ formRef.value.setValues({
differencePrice:Number((Number(singlePrice)-Number(purchasePrice)).toFixed(2)) differencePrice:Number((Number(singlePrice)-Number(purchasePrice)).toFixed(4))
}) })
}" }"
:isBasic="false" :isBasic="false"
@ -343,7 +343,8 @@ const searchTableSuccessDetail = async (formField, searchField, val, formRef,sea
if (type == 'tableForm') { if (type == 'tableForm') {
// //
val.forEach(item=>{ val.forEach(item=>{
if(tableData.value.find(item1=>item1['poNumber'] == item['poNumber']&&item1['poLine'] == item['poLine'])) return if(tableData.value.find(item1=>item1['recvBillNum'] == item['recvBillNum'])) return
const newRow = {...row} const newRow = {...row}
newRow[formField] = item[searchField] newRow[formField] = item[searchField]
if (formField == 'poLine') { if (formField == 'poLine') {
@ -1032,7 +1033,7 @@ const handleImport = () => {
const submitForm = async (formType, submitData) => { const submitForm = async (formType, submitData) => {
let data = {...submitData} let data = {...submitData}
tableData.value.forEach((item) => { tableData.value.forEach((item) => {
item.differencePrice = Number((Number(item?.singlePrice)-Number(item?.purchasePrice)).toFixed(2)) item.differencePrice = Number((Number(item?.singlePrice)-Number(item?.purchasePrice)).toFixed(4))
}) })
data.subList = tableData.value // data.subList = tableData.value //
console.log('data',data) console.log('data',data)

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

@ -1473,8 +1473,9 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
}, },
])) ]))
const singlePriceFormart = (row, column, cellValue) => { const singlePriceFormart = (row, column, cellValue) => {
cellValue= Number(cellValue).toFixed(2) cellValue= Number(cellValue).toFixed(4)
cellValue = cellValue + '' || '' cellValue = cellValue + '' || ''
let x = cellValue.split('.') let x = cellValue.split('.')
@ -1695,13 +1696,13 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
component: 'InputNumber', component: 'InputNumber',
componentProps: { componentProps: {
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
tableForm: { tableForm: {
type: 'InputNumber', type: 'InputNumber',
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
{ {
@ -1716,14 +1717,14 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
componentProps: { componentProps: {
disabled: true, disabled: true,
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
tableForm:{ tableForm:{
type: 'InputNumber', type: 'InputNumber',
disabled: true, disabled: true,
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
{ {
@ -1737,14 +1738,14 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
componentProps: { componentProps: {
disabled: true, disabled: true,
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
tableForm:{ tableForm:{
type: 'slot', type: 'slot',
disabled: true, disabled: true,
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
{ {

4
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMainDifference/index.vue

@ -38,7 +38,7 @@
</el-button> </el-button>
</template> </template>
<template #differencePrice="{row}"> <template #differencePrice="{row}">
<span :class="{'red-text':row.differencePrice!=0}">{{ Number(row.differencePrice).toFixed(2) }}</span> <span :class="{'red-text':row.differencePrice!=0}">{{ Number(row.differencePrice).toFixed(4) }}</span>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
@ -98,7 +98,7 @@
:sumFormDataByForm ="(formRef,formModel)=>{ :sumFormDataByForm ="(formRef,formModel)=>{
const {singlePrice=0,purchasePrice=0} = formModel const {singlePrice=0,purchasePrice=0} = formModel
formRef.value.setValues({ formRef.value.setValues({
differencePrice:Number((Number(singlePrice)-Number(purchasePrice)).toFixed(2)) differencePrice:Number((Number(singlePrice)-Number(purchasePrice)).toFixed(4))
}) })
}" }"
:isBasic="false" :isBasic="false"

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

@ -1497,7 +1497,7 @@ export const SupplierinvoiceRequestDetailMain = useCrudSchemas(reactive<CrudSche
])) ]))
const singlePriceFormart = (row, column, cellValue) => { const singlePriceFormart = (row, column, cellValue) => {
cellValue= Number(cellValue).toFixed(2) cellValue= Number(cellValue).toFixed(4)
cellValue = cellValue + '' || '' cellValue = cellValue + '' || ''
let x = cellValue.split('.') let x = cellValue.split('.')
@ -1739,14 +1739,14 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
componentProps: { componentProps: {
disabled: true, disabled: true,
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
tableForm:{ tableForm:{
type: 'InputNumber', type: 'InputNumber',
disabled: true, disabled: true,
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
{ {
@ -1760,14 +1760,14 @@ export const SupplierinvoiceRequestDetail = useCrudSchemas(reactive<CrudSchema[]
componentProps: { componentProps: {
disabled: true, disabled: true,
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
tableForm:{ tableForm:{
type: 'slot', type: 'slot',
disabled: true, disabled: true,
min: 0, min: 0,
precision: 2, precision: 4,
} }
}, },
{ {

Loading…
Cancel
Save