|
|
|
|
@ -14,12 +14,14 @@
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column v-if="isProductMaterialStockOut && !isProductStockOut" :label="t('ErpStock.Item.area')" min-width="140">
|
|
|
|
|
<el-table-column v-if="isProductMaterialStockOut && !isProductStockOut" :label="t('ErpStock.Item.area')"
|
|
|
|
|
min-width="140">
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item :prop="`${$index}.areaId`" :rules="formRules.areaId" class="mb-0px!">
|
|
|
|
|
<el-input v-if="disabled" :model-value="getAreaName(row.areaId)" readonly />
|
|
|
|
|
<el-select v-else v-model="row.areaId" clearable filterable :placeholder="t('ErpStock.Item.placeholderArea')"
|
|
|
|
|
:disabled="!row.warehouseId" @change="handleAreaChange(row)">
|
|
|
|
|
<el-select v-else v-model="row.areaId" clearable filterable
|
|
|
|
|
:placeholder="t('ErpStock.Item.placeholderArea')" :disabled="!row.warehouseId"
|
|
|
|
|
@change="handleAreaChange(row)">
|
|
|
|
|
<el-option v-for="item in getAreaOptions(row.warehouseId)" :key="item.id" :label="getAreaLabel(item)"
|
|
|
|
|
:value="item.id" />
|
|
|
|
|
</el-select>
|
|
|
|
|
@ -50,8 +52,7 @@
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item v-else :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
|
|
|
|
|
<el-input v-if="disabled" :model-value="row.productName || '-'" readonly />
|
|
|
|
|
<el-cascader v-model="row.productId" :options="productCascaderOptions" :props="productCascaderProps"
|
|
|
|
|
v-else
|
|
|
|
|
<el-cascader v-model="row.productId" :options="productCascaderOptions" :props="productCascaderProps" v-else
|
|
|
|
|
:show-all-levels="false" clearable filterable @change="onChangeProduct($event, row)"
|
|
|
|
|
:placeholder="t('ErpStock.Item.placeholderProduct')" class="!w-100%" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
@ -112,8 +113,8 @@
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item :prop="`${$index}.outUsageType`" :rules="formRules.outUsageType" class="mb-0px!">
|
|
|
|
|
<el-input v-if="disabled" :model-value="getOutboundPurposeLabel(row.outUsageType)" readonly />
|
|
|
|
|
<el-select v-else v-model="row.outUsageType" clearable :placeholder="t('ErpStock.Item.placeholderOutboundPurpose')"
|
|
|
|
|
@change="handleOutboundPurposeChange(row)">
|
|
|
|
|
<el-select v-else v-model="row.outUsageType" clearable
|
|
|
|
|
:placeholder="t('ErpStock.Item.placeholderOutboundPurpose')" @change="handleOutboundPurposeChange(row)">
|
|
|
|
|
<el-option v-for="dict in outboundPurposeOptions" :key="dict.value" :label="dict.label"
|
|
|
|
|
:value="dict.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
@ -124,7 +125,8 @@
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item :prop="`${$index}.outMode`" :rules="formRules.outMode" class="mb-0px!">
|
|
|
|
|
<el-input v-if="disabled" :model-value="getOutModeLabel(row.outMode)" readonly />
|
|
|
|
|
<el-radio-group v-else v-model="row.outMode" class="out-mode-radio-group" @change="handleOutModeChange(row)">
|
|
|
|
|
<el-radio-group v-else v-model="row.outMode" class="out-mode-radio-group"
|
|
|
|
|
@change="handleOutModeChange(row)">
|
|
|
|
|
<el-radio-button :label="1">{{ t('ErpStock.Item.outModeWholePallet') }}</el-radio-button>
|
|
|
|
|
<el-radio-button :label="2">{{ t('ErpStock.Item.outModeSplitPallet') }}</el-radio-button>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
@ -173,7 +175,8 @@
|
|
|
|
|
min-width="140">
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item :prop="`${$index}.inputCount`" :rules="formRules.inputCount" class="mb-0px!">
|
|
|
|
|
<el-input v-if="disabled || isProductStockOut" :model-value="row.pieceCount ?? row.inputCount ?? '-'" readonly />
|
|
|
|
|
<el-input v-if="disabled || isProductStockOut" :model-value="row.pieceCount ?? row.inputCount ?? '-'"
|
|
|
|
|
readonly />
|
|
|
|
|
<el-input-number v-else v-model="row.inputCount" controls-position="right" :min="0.001" :precision="3"
|
|
|
|
|
class="!w-100%" @blur="handleInputCountBlur(row)" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
@ -267,7 +270,8 @@
|
|
|
|
|
</template>
|
|
|
|
|
</Dialog>
|
|
|
|
|
|
|
|
|
|
<Dialog :title="t('ErpStock.Item.selectPalletCode')" v-model="palletDialogVisible" :width="disabled ? '900px' : '1280px'">
|
|
|
|
|
<Dialog :title="t('ErpStock.Item.selectPalletCode')" v-model="palletDialogVisible"
|
|
|
|
|
:width="disabled ? '900px' : '1280px'">
|
|
|
|
|
<el-form v-if="!disabled" :model="palletQueryParams" :inline="true" class="-mb-15px">
|
|
|
|
|
<el-form-item :label="t('ErpStock.Pallet.code')">
|
|
|
|
|
<el-input v-model="palletQueryParams.code" clearable :placeholder="t('ErpStock.Pallet.placeholderCode')"
|
|
|
|
|
@ -308,8 +312,8 @@
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
<el-table v-else ref="palletTableRef" v-loading="palletDialogLoading" :data="palletDialogList" row-key="id" :stripe="true"
|
|
|
|
|
:show-overflow-tooltip="true" @row-click="handlePalletDialogRowClick"
|
|
|
|
|
<el-table v-else ref="palletTableRef" v-loading="palletDialogLoading" :data="palletDialogList" row-key="id"
|
|
|
|
|
:stripe="true" :show-overflow-tooltip="true" @row-click="handlePalletDialogRowClick"
|
|
|
|
|
@selection-change="handlePalletDialogSelectionChange">
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" :reserve-selection="true" />
|
|
|
|
|
<el-table-column :label="t('ErpStock.Pallet.code')" prop="code" min-width="150" />
|
|
|
|
|
@ -335,15 +339,16 @@
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column :label="t('ErpStock.Pallet.productId')" prop="productId" min-width="100" />
|
|
|
|
|
<el-table-column :label="t('ErpStock.Item.packageCount')" prop="productCount" min-width="100" />
|
|
|
|
|
<el-table-column :label="t('ErpStock.Item.outCount')" min-width="120">
|
|
|
|
|
<el-table-column v-if="currentSelectRow?.outMode === 2" :label="t('ErpStock.Item.outPackageCount')"
|
|
|
|
|
min-width="130">
|
|
|
|
|
<template #default="{ row }">
|
|
|
|
|
<el-input :model-value="getPalletOutCount(row)" disabled />
|
|
|
|
|
<el-input-number v-model="row.packageCount" controls-position="right" :min="0" :precision="0" class="!w-100%"
|
|
|
|
|
@change="handlePalletPackageCountChange($event, row)" @click.stop />
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column v-if="currentSelectRow?.outMode === 2" :label="t('ErpStock.Item.outPackageCount')" min-width="130">
|
|
|
|
|
<el-table-column :label="t('ErpStock.Item.outCount')" min-width="120">
|
|
|
|
|
<template #default="{ row }">
|
|
|
|
|
<el-input-number v-model="row.packageCount" controls-position="right" :min="0" :precision="0" class="!w-100%"
|
|
|
|
|
@change="handlePalletPackageCountChange($event, row)" @click.stop />
|
|
|
|
|
<el-input :model-value="getPalletOutCount(row)" disabled />
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
|