opt:试运行期间,产线,预装车间,线边库出入库逻辑随客户需求变动,代码优化;

This commit is contained in:
2025-07-24 11:06:51 +08:00
parent bc4def1473
commit 7f658d0f81
42 changed files with 1298 additions and 595 deletions

View File

@@ -16,7 +16,7 @@
/>
</el-col>
<el-col :span="8">
<rrOperation/>
<rrOperation />
</el-col>
</el-row>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
@@ -31,16 +31,16 @@
<!-- >-->
<!-- 物料同步-->
<!-- </el-button>-->
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-upload2"
size="mini"
@click="uploadShow = true"
>
导入
</el-button>
<!-- <el-button-->
<!-- slot="right"-->
<!-- class="filter-item"-->
<!-- type="success"-->
<!-- icon="el-icon-upload2"-->
<!-- size="mini"-->
<!-- @click="uploadShow = true"-->
<!-- >-->
<!-- 物料导入-->
<!-- </el-button>-->
</crudOperation>
<!--表单组件-->
<el-dialog
@@ -54,18 +54,18 @@
<el-row>
<el-col :span="8">
<el-form-item label="物料编码" prop="material_code">
<el-input v-model="form.material_code" style="width: 200px;" :disabled="crud.status.edit > 0"/>
<el-input v-model="form.material_code" style="width: 200px;" :disabled="crud.status.edit > 0" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料名称" prop="material_name">
<el-input v-model="form.material_name" style="width: 200px;"/>
<el-input v-model="form.material_name" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="规格" prop="material_spec">
<label slot="label">规&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</label>
<el-input v-model="form.material_spec" style="width: 200px;"/>
<el-input v-model="form.material_spec" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
@@ -73,37 +73,37 @@
<el-col :span="8">
<el-form-item label="型号" prop="material_model">
<label slot="label">型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
<el-input v-model="form.material_model" style="width: 200px;"/>
<el-input v-model="form.material_model" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="外部标识" prop="ext_id">
<el-input v-model="form.ext_id" style="width: 200px;"/>
<el-input v-model="form.ext_id" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="静置时间" prop="standing_time">-->
<!-- <el-input-number v-model="form.standing_time" :controls="false" :min="0" label="分钟"-->
<!-- style="width: 200px;"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="是否启用" prop="is_used">-->
<!-- <el-radio v-model="form.is_used" label="0">否</el-radio>-->
<!-- <el-radio v-model="form.is_used" label="1">是</el-radio>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="静置时间" prop="standing_time">-->
<!-- <el-input-number v-model="form.standing_time" :controls="false" :min="0" label="分钟"-->
<!-- style="width: 200px;"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="是否启用" prop="is_used">-->
<!-- <el-radio v-model="form.is_used" label="0">否</el-radio>-->
<!-- <el-radio v-model="form.is_used" label="1">是</el-radio>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()"/>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()" />
<!--表格渲染-->
<el-table
ref="table"
@@ -113,14 +113,14 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="material_code" label="物料编码" width="160"/>
<el-table-column prop="material_name" label="物料名称" width="180" show-overflow-tooltip/>
<el-table-column prop="material_spec" show-overflow-tooltip show-tooltip-when-overflow :min-width="flexWidth('material_spec',crud.data,'物料规格')" label="物料规格"/>
<el-table-column prop="material_model" label="物料型号"/>
<!-- <el-table-column prop="class_name" label="物料分类" width="140"/>-->
<el-table-column prop="unit_name" label="计量单位"/>
<!-- <el-table-column prop="standing_time" label="静置时间分钟" width="130px"/>-->
<!-- <el-table-column prop="product_series_name" label="系列"/>-->
<el-table-column prop="material_code" label="物料编码" width="160" />
<el-table-column prop="material_name" label="物料名称" width="180" show-overflow-tooltip />
<el-table-column prop="material_spec" show-overflow-tooltip show-tooltip-when-overflow :min-width="flexWidth('material_spec',crud.data,'物料规格')" label="物料规格" />
<el-table-column prop="material_model" label="物料型号" />
<!-- <el-table-column prop="class_name" label="物料分类" width="140"/>-->
<!-- <el-table-column prop="unit_name" label="计量单位"/>-->
<!-- <el-table-column prop="standing_time" label="静置时间分钟" width="130px"/>-->
<!-- <el-table-column prop="product_series_name" label="系列"/>-->
<el-table-column label="启用" align="center" prop="is_used">
<template slot-scope="scope">
<el-switch
@@ -133,8 +133,8 @@
/>
</template>
</el-table-column>
<el-table-column prop="update_optname" label="修改人"/>
<el-table-column prop="update_time" label="修改时间" width="135"/>
<el-table-column prop="update_optname" label="修改人" />
<el-table-column prop="update_time" label="修改时间" width="135" />
<el-table-column
v-permission="['admin','Materialbase:edit','Materialbase:del']"
fixed="right"
@@ -151,7 +151,7 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination/>
<pagination />
</div>
</div>
</template>
@@ -195,7 +195,7 @@ const defaultForm = {
is_used_time: null,
is_used: null,
is_delete: null,
ext_id: null,
ext_id: 'YZHJ',
material_height_type: null,
product_series: null
}
@@ -229,9 +229,9 @@ export default {
material_id: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
material_code: [
{ required: true, message: '物料编码不能为空', trigger: 'blur' }
],
// material_code: [
// { required: true, message: '物料编码不能为空', trigger: 'blur' }
// ],
material_name: [
{ required: true, message: '物料名称不能为空', trigger: 'blur' }
],

View File

@@ -225,6 +225,12 @@
/>
</el-select>
</el-form-item>
<el-form-item label="载具编码" prop="vehicle_code">
<el-input v-model="form.vehicle_code" clearable style="width: 370px;" />
</el-form-item>
<el-form-item label="执行任务标识" prop="ing_task_code">
<el-input v-model="form.ing_task_code" clearable style="width: 370px;" />
</el-form-item>
<!-- <el-form-item v-show="pointTypesDialogList.length > 0" label="点位类型" prop="device_point_type">-->
<!-- <el-select-->
<!-- v-model="form.point_type"-->
@@ -243,9 +249,6 @@
<el-form-item label="父类编码" prop="vehicle_code">
<el-input v-model="form.parent_point_code" clearable style="width: 370px;" @focus="getParentPoint" />
</el-form-item>
<el-form-item v-if="form.point_status !== '1'" label="载具编码" prop="vehicle_code">
<el-input v-model="form.vehicle_code" clearable style="width: 370px;" />
</el-form-item>
<el-form-item v-if="form.point_status !== '1'" label="载具类型" prop="vehicle_code">
<el-select v-model="form.vehicle_type" placeholder="请选择" clearable style="width: 370px;">
<el-option
@@ -325,77 +328,42 @@
label="区域名称"
:min-width="flexWidth('region_name',crud.data,'区域名称')"
/>
<el-table-column
prop="point_type_name"
label="点位类型"
:min-width="flexWidth('point_type_name',crud.data,'点位类型')"
/>
<!-- <el-table-column-->
<!-- prop="point_type_name"-->
<!-- label="点位类型"-->
<!-- :min-width="flexWidth('point_type_name',crud.data,'点位类型')"-->
<!-- />-->
<el-table-column
prop="point_status_name"
label="点位状态"
:min-width="flexWidth('point_status_name',crud.data,'点位类型')"
/>
<el-table-column
prop="vehicle_type"
label="载具类型"
:min-width="flexWidth('vehicle_type',crud.data,'载具类型', 30)"
>
<template slot-scope="scope">
{{ dict.label.vehicle_type[scope.row.vehicle_type] }}
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="vehicle_type"-->
<!-- label="载具类型"-->
<!-- :min-width="flexWidth('vehicle_type',crud.data,'载具类型', 30)"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- {{ dict.label.vehicle_type[scope.row.vehicle_type] }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
prop="vehicle_code"
label="载具编码"
:min-width="flexWidth('vehicle_code',crud.data,'载具编码')"
/>
<el-table-column
prop="vehicle_qty"
label="载具数量"
:min-width="flexWidth('vehicle_qty',crud.data,'载具数量')"
/>
<el-table-column label="是否锁定" :min-width="flexWidth('vehicle_qty',crud.data,'是否锁定')">
<template slot-scope="scope">
{{ scope.row.ing_task_code ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column
prop="material_code"
label="物料编码"
:min-width="flexWidth('material_code',crud.data,'载具数量')"
/>
<el-table-column
prop="material_name"
label="物料名称"
:min-width="flexWidth('material_name',crud.data,'载具数量')"
/>
<el-table-column
prop="material_spec"
label="物料规格"
:min-width="flexWidth('material_spec',crud.data,'载具数量')"
/>
<el-table-column
prop="material_model"
label="物料型号"
:min-width="flexWidth('material_model',crud.data,'载具数量')"
/>
<el-table-column
prop="material_qty"
label="物料数量"
:min-width="flexWidth('material_qty',crud.data,'载具数量')"
/>
<el-table-column
prop="parent_point_code"
label="父点位编码"
:min-width="flexWidth('parent_point_code',crud.data,'父点位编码')"
/>
<!-- <el-table-column-->
<!-- prop="vehicle_qty"-->
<!-- label="载具数量"-->
<!-- :min-width="flexWidth('vehicle_qty',crud.data,'载具数量')"-->
<!-- />-->
<el-table-column
prop="ing_task_code"
label="在执行的任务标识"
:min-width="flexWidth('ing_task_code',crud.data,'在执行的任务标识')"
/>
<el-table-column
prop="is_has_workder"
prop="is_has _workder"
label="是否有工单"
:min-width="flexWidth('is_has_workder',crud.data,'是否有工单')"
>
@@ -403,23 +371,58 @@
{{ scope.row.is_has_workder ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="is_auto" label="是否自动" :min-width="flexWidth('is_auto',crud.data,'是否自动')">
<template slot-scope="scope">
{{ scope.row.is_auto ? '是' : '否' }}
</template>
</el-table-column>
<!-- <el-table-column prop="is_auto" label="是否自动" :min-width="flexWidth('is_auto',crud.data,'是否自动')">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.is_auto ? '是' : '否' }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="material_code"-->
<!-- label="物料编码"-->
<!-- :min-width="flexWidth('material_code',crud.data,'物料编码')"-->
<!-- />-->
<el-table-column
prop="material_name"
label="物料名称"
:min-width="flexWidth('material_name',crud.data,'物料名称')"
/>
<!-- <el-table-column-->
<!-- prop="material_spec"-->
<!-- label="物料规格"-->
<!-- :min-width="flexWidth('material_spec',crud.data,'物料规格')"-->
<!-- />-->
<!-- <el-table-column-->
<!-- prop="material_model"-->
<!-- label="物料型号"-->
<!-- :min-width="flexWidth('material_model',crud.data,'物料型号')"-->
<!-- />-->
<el-table-column
prop="material_qty"
label="物料数量"
:min-width="flexWidth('material_qty',crud.data,'物料数量')"
/>
<el-table-column
prop="parent_point_code"
label="父点位编码"
:min-width="flexWidth('parent_point_code',crud.data,'父点位编码')"
/>
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
<el-table-column prop="is_used" label="是否启用" :min-width="flexWidth('is_used',crud.data,'是否启用')">
<template slot-scope="scope">
{{ scope.row.is_used ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')" />
<el-table-column
prop="create_time"
label="创建时间"
:min-width="flexWidth('create_time',crud.data,'创建时间')"
/>
<!-- <el-table-column label="是否锁定" :min-width="flexWidth('vehicle_qty',crud.data,'是否锁定')">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.ing_task_code ? '是' : '否' }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')" />-->
<!-- <el-table-column-->
<!-- prop="create_time"-->
<!-- label="创建时间"-->
<!-- :min-width="flexWidth('create_time',crud.data,'创建时间')"-->
<!-- />-->
<el-table-column prop="update_name" label="修改人" :min-width="flexWidth('update_name',crud.data,'修改人')" />
<el-table-column
prop="update_time"
@@ -515,6 +518,7 @@ export default {
reset: true
},
query: {
size: 40,
is_used: 'true',
lock_type: false
}
@@ -571,6 +575,11 @@ export default {
getRegionList() {
crudSchBaseRegion.getRegionList().then(res => {
this.regionList = res
// 如果 regionList 中包含 YZHJ01则设置默认值
if (this.regionList.some(r => r.region_code === 'YZHJ01')) {
this.query.region_code = 'YZHJ01'
this.getPointStatusAndTypeList('YZHJ01', 1) // 可选:如果你希望自动触发 change 逻辑
}
})
},
getPointStatusAndTypeList(id, flag) {

View File

@@ -57,19 +57,19 @@
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission">
<!-- <el-button
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-check"
icon="el-icon-upload2"
size="mini"
:loading="showDtlLoading"
@click="downdtl"
@click="uploadShow = true"
>
导出Excel
</el-button>-->
库存导入
</el-button>
</crudOperation>
<!--表格渲染-->
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()" />
<el-table
ref="table"
v-loading="crud.loading"
@@ -88,6 +88,11 @@
<el-table-column prop="storagevehicle_code" label="载具号" :min-width="flexWidth('storagevehicle_code',crud.data,'载具号')" />
<el-table-column prop="qty" label="可用数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="frozen_qty" label="冻结数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="lock_type" label="锁定类型" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.label.d_lock_type[scope.row.lock_type] }}
</template>
</el-table-column>
<el-table-column prop="qty_unit_name" label="计量单位" :min-width="flexWidth('qty_unit_name',crud.data,'计量单位')" />
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
<el-table-column prop="create_time" label="入库时间" :min-width="flexWidth('create_time',crud.data,'入库时间')" />
@@ -107,10 +112,12 @@ import pagination from '@crud/Pagination'
import crudSectattr from '@/views/wms/basedata/sectattr/sectattr'
import { download } from '@/api/data'
import { downloadFile } from '@/utils'
import UploadDialog from '@/views/wms/basedata/material/UploadDialog.vue'
export default {
name: 'Structivt',
components: { pagination, crudOperation, rrOperation },
dicts: ['d_lock_type'],
components: { UploadDialog, pagination, crudOperation, rrOperation },
mixins: [presenter(), header(), crud()],
cruds() {
return CRUD({
@@ -128,6 +135,7 @@ export default {
},
data() {
return {
uploadShow: false,
sects: [],
permission: {},
rules: {}