Browse Source

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

linshi20240813
陈薪名 6 months ago
parent
commit
4a71a3857c
  1. 34
      src/api/wms/business/inputBlur.ts
  2. 111
      src/locales/en-US.ts
  3. 110
      src/locales/zh-CN.ts
  4. 24
      src/views/qms/inspectionJob/addForm.vue
  5. 20
      src/views/qms/inspectionRecord/addForm.vue
  6. 24
      src/views/qms/inspectionRecordFirst/addForm.vue
  7. 5
      src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue
  8. 25
      src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts
  9. 78
      src/views/wms/basicDataManage/strategySetting/strategy/supplieDeliveryStrategy/AddForm.vue
  10. 24
      src/views/wms/basicDataManage/strategySetting/strategy/supplieDeliveryStrategy/index.vue
  11. 48
      src/views/wms/issueManage/productionscrap/productionscrapRequestMain/index.vue
  12. 66
      src/views/wms/issueManage/productionscrap/productionscrapRequestMain/productionscrapRequestMain.data.ts
  13. 5
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue
  14. 1
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/inventorymoveRequestMain.data.ts

34
src/api/wms/business/inputBlur.ts

@ -158,24 +158,26 @@ export const tableFormBlurVer = async (headerItem, val, row, index, routeName, f
}
}
}
// 判断改包装号是否已经添加
const seen = new Set()
const repeatCode = new Set()
const arr = tableData.map((item) => item[headerItem.field]?.trim())
arr.forEach((item) => {
if (item) {
if (seen.has(item)) {
repeatCode.add(item)
} else {
seen.add(item)
// 判断代码是否存在
if (!headerItem?.tableForm.isRepeat) {
const seen = new Set()
const repeatCode = new Set()
const arr = tableData.map((item) => item[headerItem.field]?.trim())
arr.forEach((item) => {
if (item) {
if (seen.has(item)) {
repeatCode.add(item)
} else {
seen.add(item)
}
}
})
const arr1 = Array.from(repeatCode)
if (arr1.length > 0) {
message.warning(`${arr1.join(',')}${t('ts.已经存在')}`)
row[headerItem.field] = ''
return
}
})
const arr1 = Array.from(repeatCode)
if (arr1.length > 0) {
message.warning(`${arr1.join(',')}${t('ts.已经存在')}`)
row[headerItem.field] = ''
return
}
if (filters.length > 0) {
params.value.isSearch = true

111
src/locales/en-US.ts

@ -1171,8 +1171,115 @@ export default {
:'Procurement Planning Strategy',
:'Demand forecasting cycle management',
:'Spread data view',
:'Invoicing data query'
:'Invoicing data query',
:'Document number to be invoiced',
:'unreviewed',
:'pass',
:'Invoiced out',
:'Under procurement approval',
:'Approval of procurement',
:'Send invoice',
:'Rejection of procurement approval',
:'Rejection of financial approval',
:'number of a cargo waybill',
:'Range of price difference',
:'Vendor creation time',
:'Amount not taxed',
:'Total amount of value and tax',
:'Is there a price difference',
:'tax difference',
:'Total difference between price and tax',
:'System tax amount',
:'Total system price and tax',
:'System untaxed amount',
:'invoice date',
:'Reasons for rejection of procurement',
:'Reasons for financial Rejection',
:'Name of package',
:'packaging type',
:'Default packaging specifications',
:'item',
:'time',
:'set',
:'year',
:'root',
:'batch',
:'default',
:'Management accuracy',
:'Is it a functional area',
:'exponential quantity',
:'By batch',
:'By package',
ID:'By unique ID',
:'Receiving goods for inspection area',
:'Raw material storage area',
:'Chemical area',
:'Super urban area',
线:'Line edge area',
:'Storage area for semi-finished products',
:'Finished product storage area',
:'Shipment preparation area',
:'The shipment is in transit',
:'Three party reservoir area',
:'Customer consignment area',
:'Isolation area inside the factory',
退:'Customer return quarantine area',
:'Scrap area',
:'storage area',
:'Difference adjustment',
:'Area in transit',
:'overflow area',
:'Appliance warehouse area',
:'Finished equipment warehouse area',
线:'Line edge appliance warehouse area',
:'Customer equipment warehouse area',
:'Scrap equipment storage area',
ERP库位类型:'ERP location type',
QAD库位代码:'QAD library bit code',
:'roadway',
:'goods shelf',
:'line',
:'column',
:'Inventory priority',
:'maximum load bearing',
:'maximum area',
:'maximum volume',
:'Default library bit code',
:'Port of receip',
:'port of dispatch',
:'Monday',
:'Tuesday',
:'Wednesday',
:'Thursday',
:'Friday',
:'Saturday',
:'Sunday',
:'Policy name',
:'Policy code',
:'Policy Description',
:'priority',
:'Please enter a policy name',
:'Please enter the priority',
:'rule',
:'Please enter a name',
:'Please enter description',
:'Rule condition',
:'supplier type',
:'Please select the supplier type',
:'what day',
:'Please enter the code',
:'Please select a start time',
:'Please select the end time',
:'warehouse',
:'please choose',
:'platform',
:'Please select the platform',
:'in transit',
:'Please select the location in transit',
:'Please enter the name of consignee',
:'Rule configuration',
:'Please enter a contact number',
:'Please enter a name',
},

110
src/locales/zh-CN.ts

@ -1167,8 +1167,114 @@ export default {
:'采购计划策略',
:'要货预测周期管理',
:'价差数据查看',
:'待开票数据查询'
:'待开票数据查询',
:'未审核',
:'通过',
:'已开票',
:'采购审批中',
:'采购审批通过',
:'发票寄出',
:'采购审批驳回',
:'财务审批驳回',
:'货运单号',
:'差价范围',
:'供应商创建时间',
:'未税金额',
:'价税合计金额',
:'是否有价差',
:'税额差异',
:'价税合计差额',
:'系统税额',
:'系统价税合计',
:'系统未税金额',
:'开票日期',
:'采购驳回原因',
:'财务驳回原因',
:'包装名称',
:'包装类型',
:'默认包装规格',
:'项',
:'次',
:'套',
:'年',
:'根',
:'批',
:'默认',
:'管理精度',
:'是否是功能区',
:'按数量',
:'按批次',
:'按包装',
ID:'按唯一ID',
:'收货待检区',
:'原料存储区',
:'化学品区',
:'超市区',
线:'线边区',
:'半成品存储区',
:'成品存储区',
:'发货准备区',
:'发货在途区',
:'三方库区',
:'客户寄售区',
:'厂内隔离区',
退:'客户退货隔离区',
:'报废区',
:'备货区',
:'差异调整',
:'在途区',
:'溢出区',
:'器具库区',
:'成品器具库区',
线:'线边器具库区',
:'客户器具库区',
:'报废器具库区',
ERP库位类型:'ERP库位类型',
QAD库位代码:'QAD库位代码',
:'巷道',
:'货架',
:'行',
:'列',
:'备货优先级',
:'最大承重',
:'最大面积',
:'最大体积',
:'默认库位代码',
:'收货口',
:'发货口',
:'星期一',
:'星期二',
:'星期三',
:'星期四',
:'星期五',
:'星期六',
:'星期日',
:'策略名称',
:'策略代码',
:'策略描述',
:'优先级',
:'请输入策略名称',
:'请输入优先级',
:'规则',
:'请输入名称',
:'请输入描述',
:'规则条件',
:'供应商类型',
:'请选择供应商类型',
:'星期几',
:'请输入代码',
:'请选择开始时间',
:'请选择结束时间',
:'仓库',
:'请选择',
:'月台',
:'请选择月台',
:'在途库位',
:'请选择在途库位',
:'请输入收货人名称',
:'规则配置',
:'请输入联系电话',
:'请选择范围',
},
}

24
src/views/qms/inspectionJob/addForm.vue

@ -478,10 +478,10 @@
"
>
<el-form-item label="检验值" required>
<el-input
<el-input-number
v-model="cur.inspectionValue"
placeholder="请输入检验值"
type="number"
:min="0"
@change="inspectionValueInput(item, cur)"
@blur="inspectionValueInput(item, cur)"
/>
</el-form-item>
@ -643,7 +643,7 @@ const formProcessRef = ref()
const formSchema = ref(props.formAllSchemas?.formSchema)
const tableAllSchemas = ref(props.tableAllSchemas)
const tableFormRules = ref(props.tableFormRules)
const collapseShow = ref(['1','2','3'])
const collapseShow = ref(['1', '2', '3'])
const data = ref({
code: '',
@ -773,7 +773,7 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
inspectionValue: '', //
qualitativeCode: '', //
defectLevel: '', //
qualifiedQuantity:parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty), //
qualifiedQuantity: parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.sampleQty), //
unqualifiedQuantity: '0' //
})
}
@ -1479,22 +1479,22 @@ const inspectionValueInput = (item, cur) => {
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
(parseFloat(cur.inspectionValue) >
(parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) >
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
parseFloat(cur.inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget))
) {
item.isPass = false
return
}
// ,
// ,
if (
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
(parseFloat(cur.inspectionValue) >
(parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) >
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget) ||
parseFloat(cur.inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
) {
item.isPass = false

20
src/views/qms/inspectionRecord/addForm.vue

@ -478,10 +478,10 @@
"
>
<el-form-item label="检验值" required>
<el-input
<el-input-number
v-model="cur.inspectionValue"
placeholder="请输入检验值"
type="number"
:min="0"
@change="inspectionValueInput(item, cur)"
@blur="inspectionValueInput(item, cur)"
/>
</el-form-item>
@ -1492,22 +1492,22 @@ const inspectionValueInput = (item, cur) => {
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
(parseFloat(cur.inspectionValue) >
(parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) >
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
parseFloat(cur.inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget))
) {
item.isPass = false
return
}
// ,
// ,
if (
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
(parseFloat(cur.inspectionValue) >
(parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) >
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget) ||
parseFloat(cur.inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
) {
item.isPass = false

24
src/views/qms/inspectionRecordFirst/addForm.vue

@ -535,10 +535,10 @@
v-if="item.inspectionJobCharacteristicsUpdateReqVO.featureType == '0'"
>
<el-form-item label="检验值" required>
<el-input
<el-input-number
v-model="cur.inspectionValue"
placeholder="请输入检验值"
type="number"
:min="0"
@change="inspectionValueInput(item, cur)"
@blur="inspectionValueInput(item, cur)"
/>
</el-form-item>
@ -693,7 +693,7 @@ const formMainRef = ref()
const formFeaturesRef = ref()
const formProcessRef = ref()
const formSchema = ref(props.formAllSchemas?.formSchema)
const collapseShow = ref(['1','2','3'])
const collapseShow = ref(['1', '2', '3'])
const data = ref({
code: '',
@ -842,7 +842,7 @@ const processList = async (InspectionSchemeObj, list) => {
inspectionValue: '', //
qualitativeCode: '', //
defectLevel: '', //
qualifiedQuantity:parseFloat(item.samplingProcessRespVO.sampleQty), //
qualifiedQuantity: parseFloat(item.samplingProcessRespVO.sampleQty), //
unqualifiedQuantity: '0' //
})
}
@ -1485,22 +1485,22 @@ const inspectionValueInput = (item, cur) => {
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i]
.inspectionValue &&
(parseFloat(cur.inspectionValue) >
(parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) >
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyCapping) ||
parseFloat(cur.inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget))
) {
item.isPass = false
return
}
// ,
// ,
if (
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
!item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsCapping &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsLowlimit &&
item.inspectionJobCharacteristicsUpdateReqVO.quantifyIsTarget &&
(parseFloat(cur.inspectionValue) >
(parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) >
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyTarget) ||
parseFloat(cur.inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList[i].inspectionValue) <
parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.quantifyLowlimit))
) {
item.isPass = false

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

@ -187,6 +187,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
newRow['fromPackingNumber'] = item['packingNumber']
newRow['toBatch'] = item['batch']
newRow['fromLocationCode'] = item['locationCode']
newRow['toLocationCode'] = item['locationCode']
newRow['inventoryStatus'] = item['inventoryStatus']
newRow['packUnit'] = item['packUnit']
newRow['packQty'] = item['packQty']
@ -227,9 +228,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) =>
// console.log(row['itemCode']);
// ItembasicApi.getItemListByCodes(row['itemCode'])
row['downItemCode'] = val[0]['code']
} else if (formField == 'toLocationCode') {
row['toLocationCode'] = val[0]['code']
} else {
} else {
row[formField] = val[0][searchField]
}
} else {

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

@ -491,28 +491,17 @@ export const RelegateRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
label: '库位代码',
field: 'toLocationCode',
sort: 'custom',
tableForm:{
isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择到库位代码',
searchField: 'code',
searchTitle: '库位信息',
searchAllSchemas: Location.allSchemas,
searchPage: LocationApi.selectBusinessTypeToLocation,
table: {
width: 100
},
tableForm: {
disabled: true
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择到库位代码',
searchField: 'code',
searchTitle: '库位信息',
searchAllSchemas: Location.allSchemas,
searchPage: LocationApi.selectBusinessTypeToLocation,
disabled: true
}
},
table: {
width: 120
},
}
},
{
label: '到包装号',

78
src/views/wms/basicDataManage/strategySetting/strategy/supplieDeliveryStrategy/AddForm.vue

@ -12,35 +12,35 @@
>
<!-- 规则 -->
<div class="item">
<div class="title">规则</div>
<div class="title">{{t('ts.规则').replace('ts.','')}}</div>
<el-row>
<el-col :span="24">
<el-form-item label="代码" prop="strategyCode">
<el-form-item :label="t('ts.代码').replace('ts.','')" prop="strategyCode">
<el-input key="strategyCode"
v-model="formData.strategyCode"
placeholder="请输入代码"
:placeholder="t('ts.请输入代码').replace('ts.','')"
clearable
disabled
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="名称" prop="name">
<el-input key="name" v-model="formData.name" placeholder="请输入名称" clearable />
<el-form-item :label="t('ts.名称').replace('ts.','')" prop="name">
<el-input key="name" v-model="formData.name" :placeholder="t('ts.请输入名称').replace('ts.','')" clearable />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="描述" prop="description">
<el-input key="description" v-model="formData.description" placeholder="请输入描述" clearable />
<el-form-item :label="t('ts.描述').replace('ts.','')" prop="description">
<el-input key="description" v-model="formData.description" :placeholder="t('ts.请输入描述').replace('ts.','')" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="优先级" prop="priority">
<el-form-item :label="t('ts.优先级').replace('ts.','')" prop="priority">
<el-input-number key="priority" v-model="formData.priority" :min="0" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="status">
<el-form-item :label="t('ts.状态').replace('ts.','')" prop="status">
<el-switch key="status" v-model="formData.status" />
</el-form-item>
</el-col>
@ -48,22 +48,22 @@
</div>
<!-- 规则条件 -->
<div key="规则条件" class="item mt-20px">
<div key="规则条件title" class="title">规则条件</div>
<div key="规则条件title" class="title">{{t('ts.规则条件').replace('ts.','')}}</div>
<el-row key="规则条件row">
<el-col :span="24" v-for="(item, index) in formData.condition" :key="'规则条件row'+index">
<!-- 供应商类型 -->
<el-form-item key="供应商类型formItem"
v-if="item.ParamCode == 'SupplierType'"
label="供应商类型"
:label="t('ts.供应商类型').replace('ts.','')"
class="flex-top err-120"
>
<el-select key="供应商类型Operator"
v-model="item.Operator"
placeholder="请选择范围"
:placeholder="t('ts.请选择范围').replace('ts.','')"
style="width: 110px; margin-right: 10px"
>
<el-option
:label="cur.label"
:label="t(`ts.${cur.label}`).replace('ts.','')"
:value="cur.value"
v-for="cur in options.supplierTypeRangeOptions"
:key="'供应商类型Operator'+cur.value"
@ -71,7 +71,7 @@
</el-select>
<el-select key="供应商类型Value"
v-model="item.Value"
placeholder="请选择供应商类型"
:placeholder="t('ts.请选择供应商类型').replace('ts.','')"
style="flex: 1"
clearable
@change="changeSupplierType"
@ -79,7 +79,7 @@
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_TYPE)"
:key="'供应商类型Value'+dict.value"
:label="dict.label"
:label="t(`ts.${dict.label}`).replace('ts.','')"
:value="dict.value"
/>
</el-select>
@ -87,16 +87,16 @@
<!-- 供应商 -->
<el-form-item key="供应商formItem"
v-else-if="item.ParamCode == 'SupplierCode'"
label="供应商"
:label="t('ts.供应商').replace('ts.','')"
class="err-120"
>
<el-select key="供应商Operator"
v-model="item.Operator"
placeholder="请选择范围"
:placeholder="t('ts.请选择范围').replace('ts.','')"
style="width: 110px; margin-right: 10px"
>
<el-option
:label="cur.label"
:label="t(`ts.${cur.label}`).replace('ts.','')"
:value="cur.value"
v-for="cur in options.supplierRangeOptions"
:key="'供应商Operator'+cur.value"
@ -104,7 +104,7 @@
</el-select>
<el-select key="供应商Value"
v-model="item.Value"
placeholder="请选择供应商"
:placeholder="t('ts.请选择供应商').replace('ts.','')"
style="flex: 1"
clearable
multiple
@ -113,7 +113,7 @@
<el-option
v-for="cur in options.supplierList"
:key="'供应商Value'+cur.code"
:label="cur.name"
:label="t(`ts.${cur.name}`).replace('ts.','')"
:value="cur.code"
/>
</el-select>
@ -121,7 +121,7 @@
<!-- 星期几 -->
<el-form-item key="星期几formItem"
v-else-if="item.ParamCode == 'Weekday'"
label="星期几"
:label="t('ts.星期几').replace('ts.','')"
class="flex-top err-120"
>
<el-select key="星期几Operator"
@ -130,8 +130,8 @@
style="width: 110px; margin-right: 10px"
>
<el-option
:label="cur.label"
:value="cur.value"
:label="t(`ts.${cur.label}`).replace('ts.','')"
:value="cur.value"
v-for="cur in options.weekRangeOptions"
:key="'星期几Operator'+cur.value"
/>
@ -139,7 +139,7 @@
<div class="checkbox">
<el-checkbox-group v-model="item.Value">
<el-checkbox
:label="cur.label"
:label="t(`ts.${cur.label}`).replace('ts.','')"
v-for="cur in options.weekOptions"
:key="'星期几Value'+cur.value"
/>
@ -151,37 +151,37 @@
</div>
<!-- 规则配置 -->
<div class="item mt-20px" key="规则配置">
<div class="title" key="规则配置title">规则配置</div>
<div class="title" key="规则配置title">{{t('ts.规则配置').replace('ts.','')}}</div>
<el-row key="规则配置Row">
<!-- 开始时间 -->
<el-col :span="24" key="规则配置Col">
<!-- 开始时间 -->
<el-form-item key="开始时间formItem" label="开始时间" prop="BeginTime">
<el-form-item key="开始时间formItem" :label="t('ts.开始时间').replace('ts.','')" prop="BeginTime">
<el-time-select key="开始时间time"
v-model="formData.configuration.BeginTime"
start="00:00"
end="23:59"
step="00:15"
placeholder="请选择开始时间"
:placeholder="t('ts.请选择开始时间').replace('ts.','')"
style="width: 100%"
/>
</el-form-item>
<!-- 结束时间 -->
<el-form-item key="结束时间formItem" label="结束时间" prop="EndTime">
<el-form-item key="结束时间formItem" :label="t('ts.结束时间').replace('ts.','')" prop="EndTime">
<el-time-select key="结束时间time"
v-model="formData.configuration.EndTime"
start="00:00"
end="23:59"
step="00:15"
placeholder="请选择结束时间"
:placeholder="t('ts.请选择结束时间').replace('ts.','')"
style="width: 100%"
/>
</el-form-item>
<!-- 仓库 -->
<el-form-item key="仓库formItem" label="仓库" prop="WarehouseCode">
<el-form-item key="仓库formItem" :label="t('ts.仓库').replace('ts.','')" prop="WarehouseCode">
<el-select key="仓库"
v-model="formData.configuration.WarehouseCode"
:placeholder="`请选择${
:placeholder="`${t('ts.请选择').replace('ts.','')}${
formData.configuration.WarehouseCode == 'WarehouseCode'
? '仓库'
: formData.configuration.WarehouseCode == 'AreaCode'
@ -203,10 +203,10 @@
</el-select>
</el-form-item>
<!-- 月台 -->
<el-form-item key="月台formItem" label="月台" prop="DockCode">
<el-form-item key="月台formItem" :label="t('ts.月台').replace('ts.','')" prop="DockCode">
<el-select key="月台"
v-model="formData.configuration.DockCode"
placeholder="请选择月台"
:placeholder="t('ts.请选择月台').replace('ts.','')"
clearable
>
<el-option
@ -218,10 +218,10 @@
</el-select>
</el-form-item>
<!-- 在途库位 -->
<el-form-item key="在途库位formItem" label="在途库位" prop="OnTheWayLocationCode">
<el-form-item key="在途库位formItem" :label="t('ts.在途库位').replace('ts.','')" prop="OnTheWayLocationCode">
<el-select key="在途库位"
v-model="formData.configuration.OnTheWayLocationCode"
placeholder="请选择在途库位"
:placeholder="t('ts.请选择在途库位').replace('ts.','')"
clearable
filterable
:filter-method="filterMethodFromLocation"
@ -235,12 +235,12 @@
</el-select>
</el-form-item>
<!-- 收货人 -->
<el-form-item key="收货人formItem" label="收货人" prop="Receiver">
<el-input key="收货人" v-model="formData.configuration.Receiver" placeholder="请输入收货人名称" clearable />
<el-form-item key="收货人formItem" :label="t('ts.收货人').replace('ts.','')" prop="Receiver">
<el-input key="收货人" v-model="formData.configuration.Receiver" :placeholder="t('ts.请输入收货人名称').replace('ts.','')" clearable />
</el-form-item>
<!-- 在途库位 -->
<el-form-item key="联系电话formItem" label="联系电话" prop="configuration.PhoneNumber">
<el-input key="联系电话" v-model="formData.configuration.PhoneNumber" placeholder="请输入联系电话" clearable />
<el-form-item key="联系电话formItem" :label="t('ts.联系电话').replace('ts.','')" prop="configuration.PhoneNumber">
<el-input key="联系电话" v-model="formData.configuration.PhoneNumber" :placeholder="t('ts.请输入联系电话').replace('ts.','')" clearable />
</el-form-item>
</el-col>
</el-row>

24
src/views/wms/basicDataManage/strategySetting/strategy/supplieDeliveryStrategy/index.vue

@ -4,19 +4,19 @@
<!-- 搜索工作栏 -->
<ContentWrap>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item label="策略名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入策略名称" clearable @keyup.enter="handleQuery"
<el-form-item :label="t('ts.策略名称')" prop="name">
<el-input v-model="queryParams.name" :placeholder="t('ts.请输入策略名称')" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
<el-form-item label="优先级" prop="priority">
<el-input v-model.number="queryParams.priority" type="number" oninput ="value=value.replace(/[^\d]/g,'')" placeholder="请输入优先级" clearable @keyup.enter="handleQuery" class="!w-240px" />
<el-form-item :label="t('ts.优先级')" prop="priority">
<el-input v-model.number="queryParams.priority" type="number" oninput ="value=value.replace(/[^\d]/g,'')" :placeholder="t('ts.请输入优先级')" clearable @keyup.enter="handleQuery" class="!w-240px" />
</el-form-item>
<el-form-item>
<el-button type="info" plain @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> 搜索
<Icon icon="ep:search" class="mr-5px" /> {{t('ts.搜索')}}
</el-button>
<el-button type="info" plain @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
<Icon icon="ep:refresh" class="mr-5px" /> {{t('ts.重置')}}
</el-button>
</el-form-item>
</el-form>
@ -26,16 +26,16 @@
<!-- 列表 -->
<ContentWrap>
<el-table v-clientTable v-loading="loading" :data="list" :default-sort="{ prop: 'priority', order: 'null' }">
<el-table-column align="center" label="策略代码" prop="strategyCode" />
<el-table-column align="center" label="策略名称" prop="name" show-overflow-tooltip />
<el-table-column align="center" label="策略描述" prop="description" />
<el-table-column align="center" label="优先级" prop="priority" sortable/>
<el-table-column align="center" label="状态" prop="status">
<el-table-column align="center" :label="t('ts.策略代码')" prop="strategyCode" />
<el-table-column align="center" :label="t('ts.策略名称')" prop="name" show-overflow-tooltip />
<el-table-column align="center" :label="t('ts.策略描述')" prop="description" />
<el-table-column align="center" :label="t('ts.优先级')" prop="priority" sortable/>
<el-table-column align="center" :label="t('ts.状态')" prop="status">
<template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column align="center" label="操作" fixed="right" width="240">
<el-table-column align="center" :label="t('ts.操作')" fixed="right" width="240">
<template #default="scope">
<ButtonBase :Butttondata="butttondata(scope.row)" @button-base-click="buttonTableClick($event, scope.row)" />
</template>

48
src/views/wms/issueManage/productionscrap/productionscrapRequestMain/index.vue

@ -341,17 +341,17 @@ const butttondata = (row,$index) => {
defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']), hasPermi:'wms:productionscrap-request-main:update'}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:productionreturn-request-main:delete'}), //
//
{
label: '创建标签',
name: 'cjbq',
hide: isShowMainButton(row,['3']),
type: 'primary',
icon: '',
color: '',
hasPermi: '',
link: true, //
},
defaultButtons.mainListPointBtn({hide:isShowMainButton(row,['3','6','8'])}), //
// {
// label: '',
// name: 'cjbq',
// hide: isShowMainButton(row,['3']),
// type: 'primary',
// icon: '',
// color: '',
// hasPermi: '',
// link: true, //
// },
// defaultButtons.mainListPointBtn({hide:isShowMainButton(row,['3','6','8'])}), //
]
}
@ -483,19 +483,19 @@ 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
ProductionscrapRequestMainApi.handle(row.masterId).then(() => {
message.success(t('common.updateSuccess'))

66
src/views/wms/issueManage/productionscrap/productionscrapRequestMain/productionscrapRequestMain.data.ts

@ -26,6 +26,9 @@ import { TableColumn } from '@/types/table'
import * as InspectionQ3Api from '@/api/qms/inspectionQ3'
import { Q3 } from '@/views/qms/inspectionQ3/inspectionQ3.data'
// import * as LocationApi from '@/api/wms/location'
// import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
const { t } = useI18n() // 国际化
// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
@ -697,6 +700,53 @@ export const ProductionscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]
}], // 失去焦点校验参数
},
},
// {
// label: '目标库位',
// field: 'toLocationCode',
// sort: 'custom',
// tableForm: {
// multiple: true,//多选
// isInpuFocusShow: true, // 开启查询弹窗
// searchListPlaceholder: '请选择库位代码', // 输入框占位文本
// searchField: 'code', // 查询弹窗赋值字段
// searchTitle: '库位基础信息', // 查询弹窗标题
// searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
// searchPage: LocationApi.selectBusinessTypeOutLocation, // 查询弹窗所需分页方法
// searchCondition: [{
// key: 'businessType',
// value: 'ProductionScrap', // 线边原料报废
// isMainValue: false
// },
// {
// key: 'isIn',
// value: 'in',
// isMainValue: false
// }
// ]
// },
// form: {
// // labelMessage: '信息提示说明!!!',
// componentProps: {
// isSearchList: true, // 开启查询弹窗
// multiple: true,//多选
// searchListPlaceholder: '请选择库位代码', // 输入框占位文本
// searchField: 'code', // 查询弹窗赋值字段
// searchTitle: '库位基础信息', // 查询弹窗标题
// searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
// searchPage: LocationApi.selectBusinessTypeOutLocation, // 查询弹窗所需分页方法
// searchCondition: [{
// key: 'businessType',
// value: 'ReturnToHold', // 隔离退料
// isMainValue: false
// },
// {
// key: 'isIn',
// value: 'in',
// isMainValue: false
// }]
// }
// }
// },
{
label: '原料库位',
field: 'fromLocationCode',
@ -953,12 +1003,12 @@ export const ProductionscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]
label: '包装规格',
field: 'packUnit',
sort: 'custom',
isSearch: true,
isSearch: false,
table: {
width: 120
},
isTable:true,
isTableForm: true,
isTable:false,
isTableForm: false,
tableForm: {
enterSearch:true,
isInpuFocusShow: true,
@ -1016,8 +1066,8 @@ export const ProductionscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]
table: {
width: 120
},
isTable:true,
isTableForm: true,
isTable:false,
isTableForm: false,
tableForm:{
disabled: true
},
@ -1152,9 +1202,9 @@ export const ProductionscrapRequestDetailRules = reactive({
remark: [
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
packUnit: [
{ required: true, message: '请选择包装规格', trigger: 'blur' }
]
// packUnit: [
// { required: true, message: '请选择包装规格', trigger: 'blur' }
// ]
})
/**

5
src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue

@ -701,8 +701,8 @@ const submitForm = async (formType, submitData) => {
data.subList = tableData.value //
let isExist = false
tableData.value.forEach(item => {
let rs = tableData.value.filter(filterItem => (filterItem.fromPackingNumber == item.fromPackingNumber) )
console.log(rs,5666);
let rs = tableData.value.filter(filterItem => (filterItem.fromPackingNumber&&filterItem.fromPackingNumber == item.fromPackingNumber) )
console.log(rs,5666);
if(rs.length > 1) isExist = true
})
if (isExist) {
@ -710,6 +710,7 @@ const submitForm = async (formType, submitData) => {
isExist = false
return message.warning('包装号重复')
}
flag.value = false
data.subList.forEach(item => {
console.log(556565,item);
if(fromInventoryStatus.value){

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

@ -709,6 +709,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
value: 'in',
isMainValue: false
}],
isRepeat:true,
verificationParams: [{
key: 'code',
action: '==',

Loading…
Cancel
Save