Merge remote-tracking branch 'origin/0.8.X' into 0.8.X

This commit is contained in:
2025-11-04 16:43:50 +08:00
5 changed files with 25 additions and 67 deletions

View File

@@ -1,13 +1,13 @@
<template> <template>
<span> <span>
<el-select v-model="selected" :placeholder="placeholder" :disabled="disabled" filterable clearable size="mini" <el-select v-model="selected" :placeholder="placeholder" :disabled="disabled" filterable clearable size="mini"
@change="onChange" :value-key="'productId'" :multiple="multiple" collapse-tags> @change="onChange" :value-key="'productId'" :multiple="multiple" collapse-tags style="width: 100%;">
<template #empty> <template #empty>
<el-button v-if="canAdd" @click="add" icon="el-icon-plus">未搜索到产品点击添加</el-button> <el-button v-if="canAdd" @click="add" icon="el-icon-plus">未搜索到产品点击添加</el-button>
<div v-else style="padding: 10px;">未搜索到产品</div> <div v-else style="padding: 10px;">未搜索到产品</div>
</template> </template>
<el-option v-for="item in productOptions" :key="item.productId" <el-option v-for="item in productOptions" :key="item.productId"
:label="`${item.productName}${item.productCode}`" :value="item.productId"> :label="`${item.productName}${getSku(item)}`" :value="item.productId">
<div> <div>
<div class="option-label"> <div class="option-label">
<span class="product-name">{{ item.productName }}</span> <span class="product-name">{{ item.productName }}</span>
@@ -117,7 +117,7 @@ export default {
value(val) { value(val) {
console.log(val, 'value'); console.log(val, 'value');
if (!val) { if (!val) {
this.selected = []; this.selected = '';
return; return;
} }
if (this.multiple) { if (this.multiple) {

View File

@@ -7,7 +7,7 @@
<div v-else style="padding: 10px;">未搜索到原材料</div> <div v-else style="padding: 10px;">未搜索到原材料</div>
</template> </template>
<el-option v-for="item in rawMaterialList" :key="item.rawMaterialId" <el-option v-for="item in rawMaterialList" :key="item.rawMaterialId"
:label="`${item.rawMaterialName}${item.rawMaterialCode}`" :value="item.rawMaterialId"> :label="`${item.rawMaterialName}${getSku(item)}`" :value="item.rawMaterialId">
<div> <div>
<div class="option-label"> <div class="option-label">
<span class="material-name">{{ item.rawMaterialName }}</span> <span class="material-name">{{ item.rawMaterialName }}</span>
@@ -117,7 +117,7 @@ export default {
watch: { watch: {
value(val) { value(val) {
if (!val) { if (!val) {
this.selected = []; this.selected = '';
return; return;
} }
if (this.multiple) { if (this.multiple) {

View File

@@ -128,32 +128,9 @@
<el-form-item label="班组"> <el-form-item label="班组">
<el-input v-model="targetCoil.team" placeholder="请输入班组名称" :disabled="readonly"></el-input> <el-input v-model="targetCoil.team" placeholder="请输入班组名称" :disabled="readonly"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="物品类型">
<el-select v-model="targetCoil.itemType" placeholder="请选择" style="width: 100%" :disabled="readonly"> <MaterialSelect :hideType="hideType" :itemId.sync="targetCoil.itemId" :itemType.sync="targetCoil.itemType" />
<el-option label="原材料" value="raw_material" />
<el-option label="产品" value="product" />
</el-select>
</el-form-item>
<el-form-item label="物品">
<el-select
v-model="targetCoil.itemId"
placeholder="请选择物品"
filterable
remote
:remote-method="searchItems"
:loading="itemSearchLoading"
style="width: 100%"
clearable
:disabled="readonly"
>
<el-option
v-for="item in currentItemList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="毛重(t)"> <el-form-item label="毛重(t)">
<el-input <el-input
v-model.number="targetCoil.grossWeight" v-model.number="targetCoil.grossWeight"
@@ -229,11 +206,15 @@ import { listRawMaterial } from '@/api/wms/rawMaterial';
import { listProduct } from '@/api/wms/product'; import { listProduct } from '@/api/wms/product';
import { listPendingAction, completeAction } from '@/api/wms/pendingAction'; import { listPendingAction, completeAction } from '@/api/wms/pendingAction';
import CoilSelector from '@/components/CoilSelector'; import CoilSelector from '@/components/CoilSelector';
import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect";
import MaterialSelect from "@/components/KLPService/MaterialSelect";
export default { export default {
name: 'MergeCoil', name: 'MergeCoil',
components: { components: {
CoilSelector CoilSelector,
ActualWarehouseSelect,
MaterialSelect
}, },
data() { data() {
return { return {

View File

@@ -114,37 +114,9 @@
<el-form-item label="班组" required> <el-form-item label="班组" required>
<el-input v-model="item.team" placeholder="输入班组名称" :disabled="readonly"></el-input> <el-input v-model="item.team" placeholder="输入班组名称" :disabled="readonly"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="物品类型" required>
<el-select <MaterialSelect :hideType="hideType" :itemId.sync="item.itemId" :itemType.sync="item.itemType" />
v-model="item.itemType"
placeholder="请选择"
style="width: 100%"
@change="handleItemTypeChange(index)"
:disabled="readonly"
>
<el-option label="原材料" value="raw_material" />
<el-option label="产品" value="product" />
</el-select>
</el-form-item>
<el-form-item label="物品" required>
<el-select
v-model="item.itemId"
placeholder="请选择物品"
filterable
remote
:remote-method="(query) => searchItemsForSplit(query, index)"
:loading="itemSearchLoading"
style="width: 100%"
:disabled="readonly"
>
<el-option
v-for="option in getItemListForSplit(item.itemType)"
:key="option.id"
:label="option.name"
:value="option.id"
/>
</el-select>
</el-form-item>
<el-form-item label="毛重(t)" required> <el-form-item label="毛重(t)" required>
<el-input <el-input
v-model.number="item.grossWeight" v-model.number="item.grossWeight"
@@ -222,12 +194,14 @@ import { listRawMaterial } from '@/api/wms/rawMaterial';
import { listProduct } from '@/api/wms/product'; import { listProduct } from '@/api/wms/product';
import CoilSelector from '@/components/CoilSelector'; import CoilSelector from '@/components/CoilSelector';
import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect"; import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect";
import MaterialSelect from "@/components/KLPService/MaterialSelect";
export default { export default {
name: 'SplitCoil', name: 'SplitCoil',
components: { components: {
CoilSelector, CoilSelector,
ActualWarehouseSelect ActualWarehouseSelect,
MaterialSelect
}, },
data() { data() {
return { return {

View File

@@ -93,7 +93,7 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="物品类型" prop="itemType"> <!-- <el-form-item label="物品类型" prop="itemType">
<el-select v-model="updateForm.itemType" placeholder="请选择物品类型" style="width: 100%" :disabled="readonly"> <el-select v-model="updateForm.itemType" placeholder="请选择物品类型" style="width: 100%" :disabled="readonly">
<el-option label="原材料" value="raw_material" /> <el-option label="原材料" value="raw_material" />
<el-option label="产品" value="product" /> <el-option label="产品" value="product" />
@@ -105,7 +105,8 @@
:loading="itemSearchLoading" style="width: 100%" :disabled="readonly"> :loading="itemSearchLoading" style="width: 100%" :disabled="readonly">
<el-option v-for="item in currentItemList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in currentItemList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<MaterialSelect :hideType="hideType" :itemId.sync="updateForm.itemId" :itemType.sync="updateForm.itemType" />
<el-form-item label="毛重(t)" prop="grossWeight"> <el-form-item label="毛重(t)" prop="grossWeight">
<el-input v-model.number="updateForm.grossWeight" placeholder="请输入毛重" type="number" step="0.01" <el-input v-model.number="updateForm.grossWeight" placeholder="请输入毛重" type="number" step="0.01"
@@ -191,11 +192,13 @@ import { listWarehouse } from '@/api/wms/warehouse';
import { listRawMaterial } from '@/api/wms/rawMaterial'; import { listRawMaterial } from '@/api/wms/rawMaterial';
import { listProduct } from '@/api/wms/product'; import { listProduct } from '@/api/wms/product';
import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect"; import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect";
import MaterialSelect from "@/components/KLPService/MaterialSelect";
export default { export default {
name: 'TypingCoil', name: 'TypingCoil',
components: { components: {
ActualWarehouseSelect ActualWarehouseSelect,
MaterialSelect
}, },
data() { data() {
return { return {