This commit is contained in:
2022-06-27 19:25:41 +08:00
parent d8f10d2761
commit 8bc7f54bbc
1841 changed files with 180676 additions and 0 deletions

View File

@@ -0,0 +1,102 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<div>
<el-form ref="form" :model="form" size="small" label-width="80px">
<!-- 搜索 -->
<el-form-item label="路由方案:">
<el-select
v-model="route_plan_code"
clearable
size="small"
placeholder="请选择"
class="filter-item"
style="width: 190px"
>
<el-option v-for="item in taskType" :key="item.plan_code" :label="item.plan_name" :value="item.plan_code" />
</el-select>
</el-form-item>
<el-form-item label="起点设备:">
<el-select
v-model="device_code"
filterable
clearable
size="small"
placeholder="请选择"
class="filter-item"
style="width: 190px"
>
<el-option v-for="item in deviceList" :key="item.device_code" :label="item.device_code" :value="item.device_code" />
</el-select>
</el-form-item>
<el-form-item label="终点设备:">
<el-select
v-model="next_device_code"
filterable
clearable
size="small"
placeholder="请选择"
class="filter-item"
style="width: 190px"
>
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_code"
:value="item.device_code"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
</el-form-item>
</el-form>
<div style="color: #67C23A;font-size: 40px">{{ path }}</div>
</div>
</div>
</div>
</template>
<script>
import deviceCrud from '@/api/acs/device/device'
import crudRoutePlan from '@/api/acs/route/routePlan'
export default {
name: 'RouteChart',
data() {
return {
taskType: [],
deviceList: [],
path: null,
route_plan_code: null,
device_code: null,
next_device_code: null
}
},
created() {
deviceCrud.selectDeviceList().then(data => {
this.deviceList = data
})
crudRoutePlan.selectList().then(res => {
this.taskType = res
})
},
methods: {
onSubmit() {
this.path = null
crudRoutePlan.getRoute(this.device_code, this.next_device_code, this.route_plan_code).then(res => {
if (res[0] === undefined) {
this.path = '该路由不通'
}
this.path = res[0].path
})
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,341 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-row :gutter="20">
<el-col :span="6">
<el-select
v-model="query.route_plan_id"
placeholder="请选择路由类型"
style="width: 250px;"
>
<el-option
v-for="item in routePlanList"
:key="item.plan_uuid"
:label="item.plan_name"
:value="item.plan_uuid"
/>
</el-select>
</el-col>
<el-col :span="6">
<el-input
v-model="query.device_code"
clearable
size="small"
placeholder="请输入设备编号"
style="width: 250px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
</el-col>
<el-col :span="6">
<el-input
v-model="query.next_device_code"
clearable
size="small"
placeholder="请输入后置设备编号"
style="width: 250px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
</el-col>
<rrOperation />
</el-row>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission">
<el-button
slot="right"
class="filter-item"
size="mini"
type="primary"
icon="el-icon-refresh"
@click="reload"
>
同步
</el-button>
</crudOperation>
<!--表单组件-->
<el-dialog
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="600px"
>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="120px">
<el-form-item v-if="false" label="路线标识" prop="line_uuid">
<el-input v-model="form.line_uuid" style="width: 370px;" />
</el-form-item>
<el-form-item label="路由方案" prop="route_plan_id">
<el-select
v-model="form.route_plan_id"
placeholder=""
style="width: 370px;"
>
<el-option
v-for="item in routePlanList"
:key="item.plan_uuid"
:label="item.plan_name"
:value="item.plan_uuid"
/>
</el-select>
</el-form-item>
<el-form-item label="当前设备名称" prop="device_code">
<el-select
v-model="form.device_code"
filterable
clearable
multiple
placeholder="请选择"
style="width: 370px;"
>
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_code"
:value="item.device_code"
/>
</el-select>
</el-form-item>
<el-form-item label="后置设备名称" prop="next_device_code">
<el-select
v-model="form.next_device_code"
filterable
clearable
multiple
placeholder="请选择"
style="width: 370px;"
>
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_code"
:value="item.device_code"
/>
</el-select>
</el-form-item>
<el-form-item label="路由类型" prop="device_type">
<el-select
v-model="form.type"
placeholder=""
style="width: 370px;"
>
<el-option
v-for="item in deviceType"
:key="item.typeValue"
:label="item.typeName"
:value="item.typeValue"
/>
</el-select>
</el-form-item>
<el-form-item label="权值" prop="weights">
<el-input-number v-model="form.weights" :min="1" :max="10" label="描述文字" />
</el-form-item>
<el-form-item label="描述信息" prop="description">
<el-input v-model="form.remark" style="width: 370px;" rows="5" type="textarea" />
</el-form-item>
</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>
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
fit="false"
size="medium"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="line_uuid" label="路线标识" />
<el-table-column prop="device_code" label="设备编码" />
<el-table-column v-if="false" prop="device_code" label="设备名称" />
<el-table-column prop="type" label="路由类型">
<template slot-scope="scope">
<span v-if="scope.row.type=='0' ">输送路由</span>
<span v-if="scope.row.type=='1' ">agv路由</span>
</template>
</el-table-column>
<el-table-column prop="next_device_code" min-width="120" label="后置设备号" />
<el-table-column v-if="false" prop="next_device_code" min-width="120" label="后置设备名称" />
<el-table-column v-if="false" prop="next_device_code" min-width="120" label="后置设备类型" />
<el-table-column prop="weights" label="权值" />
<el-table-column label="是否启用" align="center" prop="is_active">
<template slot-scope="scope">
<el-switch
v-model="scope.row.is_active"
active-color="#13ce66"
inactive-color="#ff4949"
active-value="1"
inactive-value="0"
@change="changeEnabled(scope.row)"
/>
</template>
</el-table-column>
<el-table-column prop="update_by" label="修改者" />
<el-table-column prop="update_time" min-width="160" label="修改时间" />
<el-table-column
v-permission="['admin','routeLine:edit','routeLine:del']"
label="操作"
width="150px"
align="center"
>
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
:is-visiable-edit="false"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudRouteLine from '@/api/acs/route/routeLine'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import { selectList } from '@/api/acs/route/routePlan'
import deviceCrud from '@/api/acs/device/device'
const defaultForm = {
line_uuid: null,
device_code: null,
next_device_code: null,
weights: 5,
points: null,
route_plan_id: '690e45b400d94185a7ad1eac24d43ef7',
type: '0',
remark: null,
is_active: null,
is_delete: null,
create_by: null,
create_time: null,
update_by: null,
update_time: null
}
export default {
name: 'RouteLine',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '路由路线',
url: 'api/routeLine',
idField: 'line_uuid',
sort: 'line_uuid,desc',
crudMethod: { ...crudRouteLine },
optShow: {
add: true,
edit: true,
del: true,
download: false
}
})
},
data() {
return {
routePlanList: [],
deviceList: [],
deviceType: [
{
typeName: '输送路由',
typeValue: '0'
},
{
typeName: 'agv路由',
typeValue: '1'
}],
permission: {
add: ['admin', 'routeLine:add'],
edit: ['admin', 'routeLine:edit'],
del: ['admin', 'routeLine:del']
},
rules: {
route_plan_id: [
{ required: true, message: '路由类型不能为空', trigger: 'blur' }
],
device_code: [
{ required: true, message: '设备编码不能为空', trigger: 'blur' }
],
next_device_code: [
{ required: true, message: '下一设备不能为空', trigger: 'blur' }
],
weights: [
{ required: true, message: '权值不能为空', trigger: 'blur' }
]
}
}
},
created() {
this.$nextTick(() => {
selectList().then(data => {
this.routePlanList = data
})
deviceCrud.selectDeviceList().then(data => {
this.deviceList = data
})
})
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
// 改变状态
changeEnabled(data) {
var msg = '停用'
if (data.is_active === 1) {
msg = '启用'
}
crudRouteLine.enabled(data).then(res => {
this.crud.notify(msg + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(() => {
data.enabled = !data.enabled
})
/* this.$confirm('此操作将 "' + msg + '" ' + ', 是否继续', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
}).catch(() => {
data.enabled = !data.enabled
})*/
},
reload() {
crudRouteLine.reload().then(res => {
this.crud.toQuery()
}).catch(err => {
console.log(err.response.data.message)
})
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,158 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission"/>
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
:title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="坐标标识" prop="ioc_uuid">
<el-input v-model="form.ioc_uuid" style="width: 370px;"/>
</el-form-item>
<el-form-item label="设备编码" prop="device_code">
<el-input v-model="form.device_code" style="width: 370px;"/>
</el-form-item>
<el-form-item label="坐标值" prop="ioc_value">
<el-input v-model="form.ioc_value" style="width: 370px;"/>
</el-form-item>
<el-form-item label="路由方案标识">
<el-input v-model="form.route_plan_id" style="width: 370px;"/>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" style="width: 370px;"/>
</el-form-item>
<el-form-item label="是否启用" prop="is_active">
<el-input v-model="form.is_active" style="width: 370px;"/>
</el-form-item>
<el-form-item label="是否删除" prop="is_delete">
<el-input v-model="form.is_delete" style="width: 370px;"/>
</el-form-item>
<el-form-item label="创建者" prop="create_by">
<el-input v-model="form.create_by" style="width: 370px;"/>
</el-form-item>
<el-form-item label="创建时间" prop="create_time">
<el-input v-model="form.create_time" style="width: 370px;"/>
</el-form-item>
<el-form-item label="修改者">
<el-input v-model="form.update_by" style="width: 370px;"/>
</el-form-item>
<el-form-item label="修改时间">
<el-input v-model="form.update_time" style="width: 370px;"/>
</el-form-item>
</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>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;"
@selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55"/>
<el-table-column prop="ioc_uuid" label="坐标标识"/>
<el-table-column prop="device_code" label="设备编码"/>
<el-table-column prop="ioc_value" label="坐标值"/>
<el-table-column prop="route_plan_id" label="路由方案标识"/>
<el-table-column prop="remark" label="备注"/>
<el-table-column prop="is_active" label="是否启用"/>
<el-table-column prop="is_delete" label="是否删除"/>
<el-table-column prop="create_by" label="创建者"/>
<el-table-column prop="create_time" label="创建时间"/>
<el-table-column prop="update_by" label="修改者"/>
<el-table-column prop="update_time" label="修改时间"/>
<el-table-column v-permission="['admin','routeLoc:edit','routeLoc:del']" label="操作" width="150px"
align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination/>
</div>
</div>
</template>
<script>
import crudRouteLoc from '@/api/acs/route/routeLoc'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
const defaultForm = {
ioc_uuid: null,
device_code: null,
ioc_value: null,
route_plan_id: null,
remark: null,
is_active: null,
is_delete: null,
create_by: null,
create_time: null,
update_by: null,
update_time: null
}
export default {
name: 'RouteLoc',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '路由坐标',
url: 'api/routeLoc',
idField: 'ioc_uuid',
sort: 'ioc_uuid,desc',
crudMethod: { ...crudRouteLoc }
})
},
data() {
return {
permission: {
add: ['admin', 'routeLoc:add'],
edit: ['admin', 'routeLoc:edit'],
del: ['admin', 'routeLoc:del']
},
rules: {
ioc_uuid: [
{ required: true, message: '坐标标识不能为空', trigger: 'blur' }
],
device_code: [
{ required: true, message: '设备编码不能为空', trigger: 'blur' }
],
ioc_value: [
{ required: true, message: '坐标值不能为空', trigger: 'blur' }
],
is_active: [
{ required: true, message: '是否启用不能为空', trigger: 'blur' }
],
is_delete: [
{ required: true, message: '是否删除不能为空', trigger: 'blur' }
],
create_by: [
{ required: true, message: '创建者不能为空', trigger: 'blur' }
],
create_time: [
{ required: true, message: '创建时间不能为空', trigger: 'blur' }
]
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,133 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission"/>
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
:title="crud.status.title" width="500px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item v-if="false" label="方案标识" prop="plan_uuid">
<el-input v-model="form.plan_uuid" style="width: 370px;"/>
</el-form-item>
<el-form-item label="编码" prop="plan_code">
<el-input v-model="form.plan_code" style="width: 370px;"/>
</el-form-item>
<el-form-item label="名称" prop="plan_name">
<el-input v-model="form.plan_name" style="width: 370px;"/>
</el-form-item>
<el-form-item label="描述信息" prop="description">
<el-input v-model="form.remark" style="width: 380px;" rows="5" type="textarea" />
</el-form-item>
</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>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;"
@selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55"/>
<el-table-column v-if="false" prop="plan_uuid" label="方案标识"/>
<el-table-column prop="plan_code" label="编码"/>
<el-table-column prop="plan_name" label="名称"/>
<el-table-column prop="remark" label="备注"/>
<el-table-column prop="create_by" label="创建者"/>
<el-table-column prop="create_time" label="创建时间"/>
<el-table-column prop="update_by" label="修改者"/>
<el-table-column prop="update_time" label="修改时间"/>
<el-table-column v-permission="['admin','routePlan:edit','routePlan:del']" label="操作" width="150px"
align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination/>
</div>
</div>
</template>
<script>
import crudRoutePlan from '@/api/acs/route/routePlan'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
const defaultForm = {
plan_uuid: null,
plan_code: null,
plan_name: null,
remark: null,
is_active: null,
is_delete: null,
create_by: null,
create_time: null,
update_by: null,
update_time: null
}
export default {
name: 'RoutePlan',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '路由方案',
url: 'api/routePlan',
idField: 'plan_uuid',
sort: 'plan_uuid,desc',
crudMethod: { ...crudRoutePlan }
})
},
data() {
return {
permission: {
add: ['admin', 'routePlan:add'],
edit: ['admin', 'routePlan:edit'],
del: ['admin', 'routePlan:del']
},
rules: {
plan_uuid: [
{ required: true, message: '方案标识不能为空', trigger: 'blur' }
],
plan_code: [
{ required: true, message: '方案编码不能为空', trigger: 'blur' }
],
plan_name: [
{ required: true, message: '方案名称不能为空', trigger: 'blur' }
],
is_active: [
{ required: true, message: '是否启用不能为空', trigger: 'blur' }
],
is_delete: [
{ required: true, message: '是否删除不能为空', trigger: 'blur' }
],
create_by: [
{ required: true, message: '创建者不能为空', trigger: 'blur' }
],
create_time: [
{ required: true, message: '创建时间不能为空', trigger: 'blur' }
]
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>