This commit is contained in:
2023-01-06 14:32:48 +08:00
parent 6c8cffb8b7
commit 2cda82fa09
16 changed files with 341 additions and 162 deletions

View File

@@ -12,21 +12,13 @@
label-suffix=":"
>
<el-form-item label="载具类型">
<el-select
<treeselect
v-model="query.storagevehicle_type"
clearable
size="mini"
:load-options="loadChildNodes"
:options="classes1"
style="width: 220px"
placeholder="请选择"
class="filter-item"
style="width: 180px;"
@change="hand"
>
<el-option
v-for="item in dict.storagevehicle_type"
:label="item.label"
:value="item.value"
/>
</el-select>
/>
</el-form-item>
<el-form-item label="载具号">
@@ -35,7 +27,7 @@
clearable
size="mini"
placeholder="起始载具号"
style="width: 110px;"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
@@ -45,12 +37,12 @@
clearable
size="mini"
placeholder="结束载具号"
style="width: 110px;"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
<rrOperation/>
</el-form>
</div>
@@ -77,28 +69,17 @@
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
<el-form-item label="载具类型" prop="storagevehicle_type">
<el-select
<treeselect
v-model="form.storagevehicle_type"
clearable
size="mini"
:load-options="loadChildNodes"
:options="classes1"
style="width: 220px"
placeholder="请选择"
class="filter-item"
style="width: 250px;"
@change="getVehicle"
>
<el-option
v-for="item in dict.storagevehicle_type"
:label="item.label"
:value="item.value"
/>
</el-select>
/>
</el-form-item>
<br>
<el-form-item label="起始载具号" prop="storagevehicle_code">
<el-input v-model="form.storagevehicle_code" :disabled="true" style="width: 250px;" />
</el-form-item>
<el-form-item label="载具数量" prop="num">
<el-input-number v-model="form.num" :precision="0" style="width: 150px;" />
<el-input-number v-model="form.num" :precision="0" style="width: 150px;"/>
</el-form-item>
<el-form-item label="是否启用">
<el-radio v-model="form.is_used" label="0">否</el-radio>
@@ -120,17 +101,17 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="storagevehicle_id" label="载具标识" />
<el-table-column prop="storagevehicle_type_name" label="载具类型" />
<el-table-column prop="storagevehicle_code" label="载具编码" />
<el-table-column prop="storagevehicle_name" label="载具名称" />
<el-table-column prop="is_task" label="是否搬运中" :formatter="formatIsTask" />
<el-table-column prop="point_code" label="当前点位" width="120px" />
<el-table-column prop="start_point_code" label="起点" width="120px" />
<el-table-column prop="next_point_code" label="终点" width="120px" />
<el-table-column prop="material_code" label="物料编码" />
<el-table-column prop="material_name" label="物料名称" />
<el-table-column type="selection" width="55"/>
<el-table-column v-if="false" prop="storagevehicle_id" label="载具标识"/>
<el-table-column prop="storagevehicle_type_name" label="载具类型"/>
<el-table-column prop="storagevehicle_code" label="载具编码"/>
<el-table-column prop="storagevehicle_name" label="载具名称"/>
<!-- <el-table-column prop="is_task" label="是否搬运中" :formatter="formatIsTask"/>-->
<!--<el-table-column prop="point_code" label="当前点位" width="120px"/>
<el-table-column prop="start_point_code" label="起点" width="120px"/>
<el-table-column prop="next_point_code" label="终点" width="120px"/>-->
<el-table-column prop="material_code" label="物料编码"/>
<el-table-column prop="material_name" label="物料名称"/>
<el-table-column label="是否启用" align="center" prop="is_used">
<template slot-scope="scope">
<el-switch
@@ -141,8 +122,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="操作"
@@ -160,7 +141,7 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
<pagination/>
</div>
</div>
</template>
@@ -173,6 +154,9 @@ 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 Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudClassstandard from '@/views/wms/basedata/master/class/classstandard'
const defaultForm = {
storagevehicle_id: null,
@@ -201,7 +185,7 @@ const defaultForm = {
export default {
name: 'Storagevehicleinfo',
dicts: ['storagevehicle_type'],
components: { pagination, crudOperation, rrOperation, udOperation },
components: { pagination, crudOperation, rrOperation, udOperation, Treeselect },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
@@ -232,10 +216,8 @@ export default {
return {
resultCodeArr: [],
permission: {},
classes1: [],
rules: {
storagevehicle_code: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
create_id: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
@@ -264,6 +246,9 @@ export default {
}
}
},
created() {
this.initClass1()
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
@@ -294,6 +279,42 @@ export default {
format_is_used(is_used) {
return is_used === '1'
},
initClass1() {
const param = {
parent_class_code: 'vehicle_type'
}
crudClassstandard.getClassType(param).then(res => {
const data = res.content
this.buildTree(data)
this.classes1 = data
})
},
buildTree(classes) {
classes.forEach(data => {
if (data.children) {
this.buildTree(data.children)
}
if (data.hasChildren && !data.children) {
data.children = null // 重点代码
}
})
},
// 获取子节点数据
loadChildNodes({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
crudClassstandard.getClass({ pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
setTimeout(() => {
callback()
}, 100)
})
}
},
print() {
const _selectData = this.$refs.table.selection
if (!_selectData || _selectData.length < 1) {
@@ -340,16 +361,6 @@ export default {
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
},
getVehicle(code) {
if (!code) {
this.crud.notify('请选择载具类型', CRUD.NOTIFICATION_TYPE.INFO)
this.form.storagevehicle_code = ''
return false
}
crudStoragevehicleinfo.getVehicle(code).then(res => {
this.form.storagevehicle_code = res.value
})
},
formatIsTask(row) {
if (row.is_task === '1') {
return '是'