opt:优化

This commit is contained in:
2026-01-26 18:15:29 +08:00
parent 3e5f1f57c5
commit aa0f9d4147
22 changed files with 300 additions and 60 deletions

View File

@@ -37,7 +37,7 @@
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation/>
<rrOperation />
</el-form>
</div>
@@ -78,6 +78,20 @@
/>
</el-select>
</el-form-item>
<el-form-item label="所属库区">
<el-select
v-model="form.sect_code"
placeholder=""
style="width: 200px"
>
<el-option
v-for="item in this.sects"
:label="item.sect_name"
:value="item.sect_code"
:disabled="(form.storagevehicle_type === '4' && item.sect_code === 'ZZC01') || (form.storagevehicle_type !== '4' && item.sect_code !== 'ZZC01')"
/>
</el-select>
</el-form-item>
<el-form-item label="载具编码" prop="storagevehicle_code">
<el-input v-model="form.storagevehicle_code" style="width: 200px;" :disabled="crud.status.edit > 0" />
</el-form-item>
@@ -112,6 +126,13 @@
<el-table-column prop="storagevehicle_code" label="载具编码" />
<el-table-column prop="storagevehicle_name" label="载具名称" />
<el-table-column prop="pcsn" label="绑定物料" />
<el-table-column prop="sect_code" label="所属库区" :min-width="flexWidth('sect_code',crud.data,'载具类型', 30)">
<template slot-scope="scope">
<span :class="{ 'text-danger': isSectMissing(scope.row.sect_code), 'blink': isSectMissing(scope.row.sect_code) }">
{{ getSectName(scope.row.sect_code) }}
</span>
</template>
</el-table-column>
<el-table-column prop="weigth" label="托盘重量" />
<el-table-column label="是否启用" align="center" prop="is_used">
<template slot-scope="scope">
@@ -125,8 +146,8 @@
/>
</template>
</el-table-column>
<el-table-column prop="create_name" label="创建人"/>
<el-table-column prop="create_time" label="创建时间" width="150px"/>
<el-table-column prop="create_name" label="创建人" />
<el-table-column prop="create_time" label="创建时间" width="150px" />
<el-table-column
v-permission="['admin','storagevehicleinfo:edit','storagevehicleinfo:del']"
label="操作"
@@ -156,6 +177,7 @@ import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import { getLodop } from '@/assets/js/lodop/LodopFuncs'
import crudSectattr from '@/views/wms/basedata/sectattr/sectattr'
const defaultForm = {
storagevehicle_id: null,
@@ -163,6 +185,7 @@ const defaultForm = {
storagevehicle_name: null,
one_code: null,
two_code: null,
sect_code: null,
rfid_code: null,
create_id: null,
create_name: null,
@@ -241,9 +264,15 @@ export default {
{ required: true, message: '不能为空', trigger: 'blur' },
{ validator: numberOne }
]
}
},
sects: []
}
},
created() {
crudSectattr.getOneSect({ 'stor_id': '' }).then(res => {
this.sects = res
})
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
@@ -280,6 +309,15 @@ export default {
}
})
},
getSectName(code) {
const sect = this.sects.find(item => item.sect_code === code)
return sect ? sect.sect_name : '请设置库区'
},
isSectMissing(code) {
// 列表还未加载时不显示红色,避免闪烁
if (!this.sects || this.sects.length === 0) return false
return !this.sects.some(item => item.sect_code === code)
},
formattType(row) {
return this.dict.label.storagevehicle_type[row.storagevehicle_type]
},
@@ -308,5 +346,14 @@ export default {
</script>
<style scoped>
.text-danger {
color: #F56C6C;
}
.blink {
animation: blink 1s step-end infinite;
}
@keyframes blink {
0%, 50% { opacity: 1; }
51%, 100% { opacity: 0.25; }
}
</style>