rev 更新

This commit is contained in:
周俊杰
2024-10-31 15:21:01 +08:00
parent 97165bc085
commit 5d29bf7041
19 changed files with 739 additions and 364 deletions

View File

@@ -2,8 +2,8 @@ ENV = 'production'
# 如果使用 Nginx 代理后端接口,那么此处需要改为 '/',文件查看 Docker 部署篇Nginx 配置
# 接口地址,注意协议,如果你没有配置 ssl需要将 https 改为 http
VUE_APP_BASE_API = 'http://192.168.81.122:8010'
VUE_APP_BASE_API = 'http://127.0.0.1:8010'
#VUE_APP_BASE_API = 'http://127.0.0.1:8010'
# 如果接口是 http 形式, wss 需要改为 ws
VUE_APP_WS_API = 'ws://192.168.81.122:8010'
VUE_APP_WS_API = 'ws://127.0.0.1:8010'
#VUE_APP_WS_API = 'ws://127.0.0.1:8010'

View File

@@ -1,217 +1,253 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/device',
method: 'post',
data
})
return request({
url: 'api/device',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: 'api/device/',
method: 'delete',
data: ids
})
return request({
url: 'api/device/',
method: 'delete',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/device',
method: 'put',
data
})
return request({
url: 'api/device',
method: 'put',
data
})
}
export function selectDeviceList() {
return request({
url: 'api/device/selectList',
method: 'get'
})
return request({
url: 'api/device/selectList',
method: 'get'
})
}
export function selectConDeviceList() {
return request({
url: 'api/device/selectConveyorList',
method: 'get'
})
return request({
url: 'api/device/selectConveyorList',
method: 'get'
})
}
export function selectDeviceListByRegion(region) {
return request({
url: 'api/device/region/' + region,
method: 'get'
})
return request({
url: 'api/device/region/' + region,
method: 'get'
})
}
export function selectDeviceListOne() {
return request({
url: 'api/device/selectListOne',
method: 'get'
})
return request({
url: 'api/device/selectListOne',
method: 'get'
})
}
export function selectDeviceListTwo() {
return request({
url: 'api/device/selectListTwo',
method: 'get'
})
return request({
url: 'api/device/selectListTwo',
method: 'get'
})
}
export function selectDeviceListThree() {
return request({
url: 'api/device/selectListThree',
method: 'get'
})
return request({
url: 'api/device/selectListThree',
method: 'get'
})
}
export function selectDeviceDevicerInfo(status) {
return request({
url: 'api/device/selectDeviceDevicerInfo/' + status,
method: 'get'
})
return request({
url: 'api/device/selectDeviceDevicerInfo/' + status,
method: 'get'
})
}
export function changeDeviceStatus(data) {
return request({
url: 'api/device/changeDeviceStatus',
method: 'post',
data
})
return request({
url: 'api/device/changeDeviceStatus',
method: 'post',
data
})
}
export function changeFenceStatus(data) {
return request({
url: 'api/device/changeFenceStatus',
method: 'post',
data
})
return request({
url: 'api/device/changeFenceStatus',
method: 'post',
data
})
}
export function saveBarcode(data) {
return request({
url: 'api/device/updateBarcode',
method: 'post',
data
})
return request({
url: 'api/device/updateBarcode',
method: 'post',
data
})
}
export function callAgv(data) {
return request({
url: 'api/device/callAgv',
method: 'post',
data
})
return request({
url: 'api/device/callAgv',
method: 'post',
data
})
}
export function addMaterial(data) {
return request({
url: 'api/device/addMaterial',
method: 'post',
data
})
return request({
url: 'api/device/addMaterial',
method: 'post',
data
})
}
export function responseAgv(data) {
return request({
url: 'api/device/responseAgv',
method: 'post',
data
})
return request({
url: 'api/device/responseAgv',
method: 'post',
data
})
}
export function autoCreateTask(data) {
return request({
url: 'api/device/autoCreateTask',
method: 'post',
data
})
return request({
url: 'api/device/autoCreateTask',
method: 'post',
data
})
}
export function cleanTask(data) {
return request({
url: 'api/device/cleanTask',
method: 'post',
data
})
return request({
url: 'api/device/cleanTask',
method: 'post',
data
})
}
export function cleanMaterial(data) {
return request({
url: 'api/device/cleanMaterial',
method: 'post',
data
})
return request({
url: 'api/device/cleanMaterial',
method: 'post',
data
})
}
export function queryStorageExtra(storage_code) {
return request({
url: 'api/device/queryStorageExtra/' + storage_code,
method: 'get'
})
return request({
url: 'api/device/queryStorageExtra/' + storage_code,
method: 'get'
})
}
export function reload() {
return request({
url: 'api/device/reload',
method: 'get'
})
return request({
url: 'api/device/reload',
method: 'get'
})
}
export function cleans1(data) {
return request({
url: 'api/device/cleans1',
method: 'post',
data
})
return request({
url: 'api/device/cleans1',
method: 'post',
data
})
}
export function cleans2(data) {
return request({
url: 'api/device/cleans2',
method: 'post',
data
})
return request({
url: 'api/device/cleans2',
method: 'post',
data
})
}
export function enterSite1(data) {
return request({
url: 'api/device/enterSite1',
method: 'post',
data
})
return request({
url: 'api/device/enterSite1',
method: 'post',
data
})
}
export function enterSite2(data) {
return request({
url: 'api/device/enterSite2',
method: 'post',
data
})
return request({
url: 'api/device/enterSite2',
method: 'post',
data
})
}
export function cleans3(data) {
return request({
url: 'api/device/cleans3',
method: 'post',
data
})
return request({
url: 'api/device/cleans3',
method: 'post',
data
})
}
export function selectAGVList() {
return request({
url: 'api/device/selectAGVList',
method: 'get'
})
return request({
url: 'api/device/selectAGVList',
method: 'get'
})
}
export function agvTaskType(data) {
return request({
url: 'api/device/agvTaskType',
method: 'post',
data
})
return request({
url: 'api/device/agvTaskType',
method: 'post',
data
})
}
export default { add, edit, del, selectDeviceList, selectDeviceListByRegion, callAgv, responseAgv, selectDeviceDevicerInfo, autoCreateTask,
changeDeviceStatus, cleanTask, queryStorageExtra, selectConDeviceList, saveBarcode, selectDeviceListOne, selectDeviceListTwo, selectDeviceListThree,
addMaterial, cleanMaterial, changeFenceStatus,reload, cleans1, cleans2, enterSite1, enterSite2, cleans3, selectAGVList, agvTaskType}
export function excelImport(data) {
return request({
url: 'api/device/excelImport',
method: 'post',
data
})
}
export default {
add,
edit,
del,
selectDeviceList,
selectDeviceListByRegion,
callAgv,
responseAgv,
selectDeviceDevicerInfo,
autoCreateTask,
changeDeviceStatus,
cleanTask,
queryStorageExtra,
selectConDeviceList,
saveBarcode,
selectDeviceListOne,
selectDeviceListTwo,
selectDeviceListThree,
addMaterial,
cleanMaterial,
changeFenceStatus,
reload,
cleans1,
cleans2,
enterSite1,
enterSite2,
cleans3,
selectAGVList,
agvTaskType,
excelImport
}

View File

@@ -26,9 +26,51 @@
>
<el-option v-for="item in device_types" :key="item.id" :label="item.label" :value="item.value" />
</el-select>
<el-select
v-model="query.region"
clearable
filterable
size="small"
placeholder="区域名称"
class="filter-item"
style="width: 190px"
@change="crud.toQuery"
>
<el-option v-for="item in regions" :key="item.id" :label="item.label" :value="item.value" />
</el-select>
<el-select
v-model="query.is_config"
clearable
filterable
size="small"
placeholder="是否配置"
class="filter-item"
style="width: 190px"
@change="crud.toQuery"
>
<el-option v-for="item in is_configs" :key="item.id" :label="item.label" :value="item.value" />
</el-select>
<rrOperation />
</div>
<crudOperation :permission="permission">
<el-button
slot="right"
class="filter-item"
size="mini"
type="warning"
icon="el-icon-download"
@click="crud.doExport"
>导出模型</el-button>
<el-button
slot="right"
class="filter-item"
type="warning"
icon="el-icon-upload2"
size="mini"
@click="uploadShow = true"
>
导入
</el-button>
<el-button
slot="right"
class="filter-item"
@@ -40,7 +82,6 @@
同步
</el-button>
</crudOperation>
<!--表单组件-->
<el-dialog
:close-on-click-modal="false"
@@ -70,7 +111,7 @@
</el-select>
</el-form-item>
<el-form-item label="所属区域" prop="region">
<el-select v-model="form.region" style="width: 370px" clearable placeholder="请选择">
<el-select v-model="form.region" style="width: 370px" placeholder="请选择">
<el-option
v-for="item in regions"
:key="item.id"
@@ -79,6 +120,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="是否配置" prop="is_config">
<el-select v-model="form.is_config" style="width: 370px" placeholder="请选择">
<el-option
v-for="item in is_configs"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="顺序号" prop="seq_num">
<el-input-number v-model="form.seq_num" value="1" :min="1" label="描述文字" />
</el-form-item>
@@ -109,21 +160,21 @@
<el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="device_id" label="设备标识" />
<el-table-column sortable prop="device_code" label="设备编码" />
<af-table-column sortable label="设备名字">
<el-table-column sortable label="设备名字">
<template slot-scope="scope">
<div>{{ scope.row.device_name }}</div>
</template>
</af-table-column>
<af-table-column label="设备类型">
</el-table-column>
<el-table-column label="设备类型">
<template slot-scope="scope">
<div>{{ scope.row.device_type_name }}</div>
</template>
</af-table-column>
<af-table-column label="所属区域">
</el-table-column>
<el-table-column label="所属区域">
<template slot-scope="scope">
<div>{{ scope.row.region_name }}</div>
</template>
</af-table-column>
</el-table-column>
<el-table-column sortable prop="seq_num" label="顺序号" />
<el-table-column prop="is_config" label="是否配置" width="75px">
<template slot-scope="scope">
@@ -134,27 +185,25 @@
<!-- <el-table-column prop="manufacturer" label="生产厂家" />-->
<!-- <el-table-column prop="manufacturer_phone" label="厂家电话" />-->
<el-table-column prop="remark" label="备注" />
<el-table-column label="操作" width="150px" align="center">
<el-table-column v-permission="['admin','device:edit','device:del']" label="操作" width="200px" align="center">
<template slot-scope="scope">
<el-button size="mini" style="margin-left: -1px;margin-right: 2px" type="text">
<udOperation
style="display: inline"
:data="scope.row"
:permission="permission"
/>
<el-button slot="right" size="mini" style="margin-left: -1px;margin-right: 2px" type="text">
<router-link :to="'/devices/device/config/' + scope.row.device_code ">
驱动配置
</router-link>
</el-button>
</template>
</el-table-column>
<el-table-column v-permission="['admin','device:edit','device:del']" label="操作" width="150px" align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="tableChanged3" />
</div>
</template>
@@ -166,7 +215,9 @@ import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import { get } from '@/api/system/dictDetail'
import crudRouteLine from '@/api/acs/route/routeLine'
import UploadDialog from '@/views/acs/device/UploadDialog'
import { download } from '@/api/data'
import { downloadFile } from '@/utils'
const defaultForm = {
manufacturer: null,
@@ -185,11 +236,12 @@ const defaultForm = {
device_type: null,
region: null,
is_config: null,
remark: null
remark: null,
region: null
}
export default {
name: 'Device',
components: { pagination, crudOperation, rrOperation, udOperation },
components: { pagination, crudOperation, rrOperation, udOperation, UploadDialog },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
@@ -209,6 +261,10 @@ export default {
},
device_types: [],
regions: [],
is_configs: [],
uploadShow: false,
device_code: '',
regions: [],
rules: {
device_code: [
{ required: true, message: '设备编码不能为空', trigger: 'blur' }
@@ -218,8 +274,10 @@ export default {
],
device_type: [
{ required: true, message: '设备类型不能为空', trigger: 'blur' }
],
region: [
{ required: true, message: '所属区域不能为空', trigger: 'blur' }
]
}
}
},
@@ -230,9 +288,13 @@ export default {
this.device_types = data.content
})
// 获取区域类型
get('region_type').then(data => {
get('region').then(data => {
this.regions = data.content
})
//获取是否配置
get('is_config').then(data => {
this.is_configs = data.content
})
})
},
methods: {
@@ -240,12 +302,25 @@ export default {
[CRUD.HOOK.beforeRefresh]() {
return true
},
tableChanged3() {
this.crud.toQuery()
},
reload() {
crudDevice.reload().then(res => {
this.crud.toQuery()
}).catch(err => {
console.log(err.response.data.message)
})
},
downloadMethod() {
this.beforeInit()
this.downloadLoading = true
download(this.url + 'api/device/download', this.params).then(result => {
downloadFile(result, this.title + '数据', 'xlsx')
this.downloadLoading = false
}).catch(() => {
this.downloadLoading = false
})
}
}
}