Browse Source

采购计划策略添加库区

intex_online20241111
张立 3 months ago
parent
commit
aec803570d
  1. 69
      src/views/wms/basicDataManage/strategySetting/strategy/supplieDeliveryStrategy/AddForm.vue

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

@ -52,8 +52,22 @@
<el-row key="规则条件row"> <el-row key="规则条件row">
<el-col :span="24" v-for="(item, index) in formData.condition" :key="'规则条件row'+index"> <el-col :span="24" v-for="(item, index) in formData.condition" :key="'规则条件row'+index">
<!-- 受入地 --> <!-- 受入地 -->
<el-form-item key="受入地formItem" label="受入地" class="err-120" v-if="index==0"> <el-form-item key="仓库和库区formItem" label="" label-width="0" v-if="index==0">
<el-select key="受入地Operator" <el-select key="仓库和库区"
v-model="item.ParamCode"
placeholder=""
style="width: 110px; margin-right: 10px"
@change="changeWarehouseArea"
:disabled="formData.name=='默认规则'&&formType=='update'"
>
<el-option
:label="cur.label"
:value="cur.value"
v-for="cur in options.warehouseAreaOptions"
:key="'仓库和库区'+cur.value"
/>
</el-select>
<el-select key="仓库和库区Operator"
v-model="item.Operator" v-model="item.Operator"
placeholder="请选择范围" placeholder="请选择范围"
style="width: 110px; margin-right: 10px" style="width: 110px; margin-right: 10px"
@ -64,10 +78,10 @@
:label="cur.label" :label="cur.label"
:value="cur.value" :value="cur.value"
v-for="cur in options.WarehouseCodeRangeOptions" v-for="cur in options.WarehouseCodeRangeOptions"
:key="'受入地Operator'+cur.value" :key="'仓库和库区Operator'+cur.value"
/> />
</el-select> </el-select>
<el-input key="受入地Value" style="flex:1" placeholder="请选择受入地" v-model="item.Value" @blur="blurWarehouseByCodes"> <el-input key="仓库和库区Value" style="flex:1" placeholder="请选择仓库或者库区" v-model="item.Value" @blur="blurWarehouseByCodes">
<template #suffix> <template #suffix>
<el-button :disabled="formData.name=='默认规则'&&formType=='update'" type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse"> <el-button :disabled="formData.name=='默认规则'&&formType=='update'" type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse">
<Icon icon="ep:search" class="mr-5px" /> <Icon icon="ep:search" class="mr-5px" />
@ -186,6 +200,10 @@ import { validateHanset } from '@/utils/validator'
import * as WarehouseApi from '@/api/wms/warehouse' import * as WarehouseApi from '@/api/wms/warehouse'
import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data' import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
import * as AreaApi from '@/api/wms/areabasic'
import { Area } from '@/views/wms/basicDataManage/factoryModeling/areabasic/areabasic.data'
import * as SupplierApi from '@/api/wms/supplier' import * as SupplierApi from '@/api/wms/supplier'
import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data' import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data'
import * as DockApi from '@/api/wms/dock' import * as DockApi from '@/api/wms/dock'
@ -261,6 +279,11 @@ const formatRangeOptions = (...rest) => {
} }
// //
const options = reactive({ const options = reactive({
//
warehouseAreaOptions: [
{value: 'WarehouseCode', label: '仓库' },
{value: 'Area', label: '库区' }
],
// //
WarehouseCodeRangeOptions: formatRangeOptions('IN', 'NOT IN'), WarehouseCodeRangeOptions: formatRangeOptions('IN', 'NOT IN'),
// //
@ -437,7 +460,9 @@ const resetForm = () => {
const searchTableRef = ref() const searchTableRef = ref()
// //
const searchWarehouse = ()=>{ const searchWarehouse = () => {
console.log(WarehouseCodeOrArea.value)
if (WarehouseCodeOrArea.value == 'WarehouseCode') {
searchTableRef.value.open( searchTableRef.value.open(
'请选择仓库', '请选择仓库',
Warehouse.allSchemas, Warehouse.allSchemas,
@ -449,6 +474,20 @@ const searchWarehouse = ()=>{
undefined, undefined,
undefined undefined
) )
} else if (WarehouseCodeOrArea.value == 'Area') {
searchTableRef.value.open(
'请选择库区',
Area.allSchemas,
AreaApi.getAreaPage,
'Area',
'code',
true,
undefined,
undefined,
undefined
)
}
} }
// //
const searchSupplier = () => { const searchSupplier = () => {
@ -501,6 +540,11 @@ const searchTableSuccess = (formField, searchField, val, type, row) => {
warehouseCodeObj.value.Value = val.map(item => (item['code'])).join(',') warehouseCodeObj.value.Value = val.map(item => (item['code'])).join(',')
formData.value.configuration['DockCode']='' formData.value.configuration['DockCode']=''
} }
}else if (formField=='Area') {
let Area = formData.value.condition.find(item => item['ParamCode'] == 'Area')
if(Area){
Area.Value = val.map(item=>(item['code'])).join(',')
}
} else if (formField=='SupplierCode') { } else if (formField=='SupplierCode') {
let SupplierCode = formData.value.condition.find(item => item['ParamCode'] == 'SupplierCode') let SupplierCode = formData.value.condition.find(item => item['ParamCode'] == 'SupplierCode')
if(SupplierCode){ if(SupplierCode){
@ -611,6 +655,21 @@ const blurDockCode = async () => {
const OperatorChange = (e, item) => { const OperatorChange = (e, item) => {
item.ScreenOperator = rangeOptions.find((item) =>item.value === e)?.screenValue item.ScreenOperator = rangeOptions.find((item) =>item.value === e)?.screenValue
} }
const WarehouseCodeOrArea = ref('WarehouseCode')
//
const changeWarehouseArea = (e) => {
formData.value.condition[0].Value = ''
WarehouseCodeOrArea.value = e
if (e == 'WarehouseCode') {
formData.value.configuration.DockCode=''
formData.value.configuration.Receiver=''
formData.value.configuration.PhoneNumber=''
} else if (e == 'Area') {
// getFormSupplierList()
}
}
// {value: 'WarehouseCode', label: '' },
// {value: 'Area', label: '' }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.item { .item {

Loading…
Cancel
Save