rev:删除
This commit is contained in:
@@ -51,12 +51,14 @@ export function selectDeviceListOne() {
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function selectDeviceListTwo() {
|
||||
return request({
|
||||
url: 'api/device/selectListTwo',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function selectDeviceListThree() {
|
||||
return request({
|
||||
url: 'api/device/selectListThree',
|
||||
@@ -157,6 +159,14 @@ export function excelImport(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function uploadDriver(data) {
|
||||
return request({
|
||||
url: 'api/device/uploadDriver',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function selectListByType() {
|
||||
return request({
|
||||
url: 'api/device//type/stacker',
|
||||
@@ -164,6 +174,36 @@ export function selectListByType() {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, selectDeviceList, selectDeviceListByRegion, callAgv, responseAgv, selectDeviceDevicerInfo, autoCreateTask,
|
||||
changeDeviceStatus, cleanTask, queryStorageExtra, selectConDeviceList, saveBarcode, selectDeviceListOne, selectDeviceListTwo, selectDeviceListThree,
|
||||
addMaterial, cleanMaterial, reload, excelImport, selectListByType }
|
||||
export function getAllDriverCode() {
|
||||
return request({
|
||||
url: 'api/device/getAllDriverCode',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
add,
|
||||
edit,
|
||||
del,
|
||||
selectDeviceList,
|
||||
selectDeviceListByRegion,
|
||||
callAgv,
|
||||
responseAgv,
|
||||
selectDeviceDevicerInfo,
|
||||
autoCreateTask,
|
||||
changeDeviceStatus,
|
||||
cleanTask,
|
||||
queryStorageExtra,
|
||||
selectConDeviceList,
|
||||
saveBarcode,
|
||||
selectDeviceListOne,
|
||||
selectDeviceListTwo,
|
||||
selectDeviceListThree,
|
||||
addMaterial,
|
||||
cleanMaterial,
|
||||
reload,
|
||||
excelImport,
|
||||
selectListByType,
|
||||
getAllDriverCode,
|
||||
uploadDriver
|
||||
}
|
||||
|
||||
@@ -89,6 +89,7 @@ export default {
|
||||
'stop': 'Stop',
|
||||
'firing': 'Firing',
|
||||
'import': 'Import',
|
||||
'export': 'Export',
|
||||
'driver_configuration': 'Driver Configuration',
|
||||
'create_time': 'Create Time',
|
||||
'update_time': 'Update Time',
|
||||
|
||||
@@ -89,6 +89,7 @@ export default {
|
||||
'stop': 'Berhenti',
|
||||
'firing': 'Start Up',
|
||||
'import': 'Mengimpor',
|
||||
'export': 'eksport',
|
||||
'driver_configuration': 'Konfigurasi Driver',
|
||||
'create_time': 'Buat Waktu',
|
||||
'update_time': 'Untuk Memperbarui Waktu',
|
||||
|
||||
@@ -10,6 +10,7 @@ export default {
|
||||
'opc_code': 'OPC Code',
|
||||
'opc_name': 'OPC Name',
|
||||
'opc_address': 'OPC Address',
|
||||
'topic': 'topic',
|
||||
'program_id': 'Program ID',
|
||||
'registry_id': 'Registry ID',
|
||||
'remark': 'Remark',
|
||||
|
||||
@@ -10,6 +10,7 @@ export default {
|
||||
'opc_code': 'Opc Kode',
|
||||
'opc_name': 'Opc Nama',
|
||||
'opc_address': 'Opc Alamat',
|
||||
'topic': 'topik',
|
||||
'program_id': 'Program Id',
|
||||
'registry_id': 'Pendaftaran ID',
|
||||
'remark': 'Informasi',
|
||||
|
||||
@@ -10,6 +10,7 @@ export default {
|
||||
'opc_code': 'OPC编码',
|
||||
'opc_name': 'OPC名称',
|
||||
'opc_address': 'OPC地址',
|
||||
'topic': '订阅信息',
|
||||
'program_id': '程序ID',
|
||||
'registry_id': '注册表ID',
|
||||
'remark': '备注',
|
||||
|
||||
@@ -89,6 +89,7 @@ export default {
|
||||
'stop': '停止',
|
||||
'firing': '启动',
|
||||
'import': '导入',
|
||||
'export': '导出',
|
||||
'driver_configuration': '驱动配置',
|
||||
'create_time': '创建时间',
|
||||
'update_time': '更新时间',
|
||||
|
||||
116
nladmin-ui/src/views/acs/device/generation/UploadDialog.vue
Normal file
116
nladmin-ui/src/views/acs/device/generation/UploadDialog.vue
Normal file
@@ -0,0 +1,116 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="导入Excel文件"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
destroy-on-close
|
||||
width="400px"
|
||||
:show-close="true"
|
||||
@close="close"
|
||||
@open="open"
|
||||
>
|
||||
<el-upload
|
||||
ref="upload"
|
||||
class="upload-demo"
|
||||
action=""
|
||||
drag
|
||||
:on-exceed="is_one"
|
||||
:limit="1"
|
||||
:auto-upload="false"
|
||||
:multiple="false"
|
||||
:show-file-list="true"
|
||||
:on-change="uploadByJsqd"
|
||||
:file-list="fileList"
|
||||
accept=".xlsx,.xls"
|
||||
>
|
||||
<i class="el-icon-upload" />
|
||||
<div class="el-upload__text">
|
||||
将文件拖到此处,或
|
||||
<em>点击上传</em>
|
||||
</div>
|
||||
<div slot="tip" class="el-upload__tip">只能上传Excel文件,且不超过10MB</div>
|
||||
</el-upload>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudDevice from '@/api/acs/device/device'
|
||||
import CRUD, { crud } from '@crud/crud'
|
||||
|
||||
export default {
|
||||
name: 'UploadDialog',
|
||||
mixins: [crud()],
|
||||
components: {},
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
openParam: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
fileList: [],
|
||||
file1: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
dialogShow: {
|
||||
handler(newValue, oldValue) {
|
||||
this.dialogVisible = newValue
|
||||
}
|
||||
},
|
||||
openParam: {
|
||||
handler(newValue, oldValue) {
|
||||
this.opendtlParam = newValue
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
},
|
||||
close() {
|
||||
this.$emit('update:dialogShow', false)
|
||||
},
|
||||
is_one() {
|
||||
this.crud.notify('只能上传一个excel文件!', CRUD.NOTIFICATION_TYPE.WARNING)
|
||||
},
|
||||
// 文件校验方法
|
||||
beforeAvatarUpload(file) {
|
||||
// 不能导入大小超过2Mb的文件
|
||||
if (file.size > 10 * 1024 * 1024) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 文件发生改变就会触发的事件
|
||||
uploadByJsqd(file) {
|
||||
this.file1 = file
|
||||
},
|
||||
submit() {
|
||||
if (this.beforeAvatarUpload(this.file1)) {
|
||||
this.fileList.name = this.file1.name
|
||||
this.fileList.url = ''
|
||||
var formdata = new FormData()
|
||||
formdata.append('file', this.file1.raw)
|
||||
// excelImport:请求接口 formdata:传递参数
|
||||
crudDevice.uploadDriver(formdata).then((res) => {
|
||||
this.crud.notify('导入成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.$emit('tableChanged3', '')
|
||||
this.$emit('update:dialogShow', false)
|
||||
})
|
||||
} else {
|
||||
this.crud.notify('文件过大,请上传小于10MB的文件〜', CRUD.NOTIFICATION_TYPE.WARNING)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
130
nladmin-ui/src/views/acs/device/generation/index.vue
Normal file
130
nladmin-ui/src/views/acs/device/generation/index.vue
Normal file
@@ -0,0 +1,130 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<crudOperation>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
size="mini"
|
||||
type="warning"
|
||||
icon="el-icon-download"
|
||||
@click="crud.doExport"
|
||||
>{{ $t('auto.common.export') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="warning"
|
||||
icon="el-icon-upload2"
|
||||
size="mini"
|
||||
@click="uploadShow = true"
|
||||
>
|
||||
{{ $t('auto.common.import') }}
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<!--表格渲染-->
|
||||
<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="device_type" label="设备类型编码" />
|
||||
<el-table-column prop="device_type_name" label="设备类型名称" />
|
||||
<el-table-column prop="driver_code" label="设备驱动编码" />
|
||||
<el-table-column prop="driver_name" label="设备驱动名称" />
|
||||
<el-table-column prop="driver_description" label="设备驱动描述" />
|
||||
<el-table-column
|
||||
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>
|
||||
|
||||
<script>
|
||||
import CRUD, { crud, form, header, presenter } 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 UploadDialog from './UploadDialog'
|
||||
|
||||
const defaultForm = {
|
||||
device_id: null,
|
||||
device_code: null,
|
||||
device_name: null,
|
||||
device_type: null,
|
||||
driver_code: null,
|
||||
erp_code: null
|
||||
}
|
||||
|
||||
export default {
|
||||
name: 'GenerationDriver',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, UploadDialog },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: '驱动生成',
|
||||
url: 'api/device/getAllDriverCode',
|
||||
idField: 'device_type',
|
||||
sort: 'device_type,desc',
|
||||
optShow: {
|
||||
add: false,
|
||||
edit: false,
|
||||
delete: false,
|
||||
download: false
|
||||
}
|
||||
})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
uploadShow: false,
|
||||
queryTypeOptions: [
|
||||
{ key: 'device_code', display_name: '设备编码' },
|
||||
{ key: 'device_name', display_name: '设备名字' },
|
||||
{ key: 'driver_code', display_name: '设备驱动类型' }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
tableChanged3() {
|
||||
this.crud.toQuery()
|
||||
},
|
||||
downloadMethod() {
|
||||
this.beforeInit()
|
||||
this.downloadLoading = true
|
||||
download(this.url + 'api/device/getAllDriverCode/download/', this.params).then(result => {
|
||||
downloadFile(result, this.title + '模板', 'xlsx')
|
||||
this.downloadLoading = false
|
||||
}).catch(() => {
|
||||
this.downloadLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -47,12 +47,18 @@
|
||||
<el-form-item :label="$t('opc.table_title.opc_address')">
|
||||
<el-input v-model="form.opc_host" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('opc.table_title.topic')">
|
||||
<el-input v-model="form.topic" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('auto.common.username')">
|
||||
<el-input v-model="form.user" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('auto.common.password')" prop="password">
|
||||
<el-input v-model="form.password" style="width: 370px;" type="password" />
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="getDetail()">{{ $t('opc.dialog.detail') }}</el-button>
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="getDetail()">{{
|
||||
$t('opc.dialog.detail')
|
||||
}}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -74,7 +80,10 @@
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('auto.common.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{ $t('auto.common.Confirm') }}</el-button>
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{
|
||||
$t('auto.common.Confirm')
|
||||
}}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
@@ -116,21 +125,76 @@
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="opc_code" :label="$t('opc.table_title.opc_code')" width="130px" />
|
||||
<el-table-column prop="opc_name" :label="$t('opc.table_title.opc_name')" :min-width="flexWidth('opc_name',crud.data,$t('opc.table_title.opc_name'))" />
|
||||
<el-table-column prop="opc_host" :label="$t('opc.table_title.opc_address')" :min-width="flexWidth('opc_host',crud.data,$t('opc.table_title.opc_address'))" />
|
||||
<el-table-column prop="type" :label="$t('opc.table_title.type')" :min-width="flexWidth('type',crud.data,$t('opc.table_title.type'))" />
|
||||
<el-table-column prop="user" :label="$t('auto.common.username')" :min-width="flexWidth('user',crud.data,$t('opc.table_title.username'))" />
|
||||
<el-table-column prop="password" :label="$t('auto.common.password')" :min-width="flexWidth('password',crud.data,$t('opc.table_title.password'))" />
|
||||
<el-table-column prop="prog_id" :label="$t('opc.table_title.program_id')" :min-width="flexWidth('prog_id',crud.data,$t('opc.table_title.program_id'))" />
|
||||
<el-table-column prop="cls_id" :label="$t('opc.table_title.registry_id')" :min-width="flexWidth('cls_id',crud.data,$t('opc.table_title.registry_id'))" />
|
||||
<el-table-column prop="domain" :label="$t('opc.table_title.domain')" :min-width="flexWidth('domain',crud.data,$t('opc.table_title.domain'))" />
|
||||
<el-table-column prop="remark" :label="$t('opc.table_title.remark')" :min-width="flexWidth('remark',crud.data,$t('opc.table_title.remark'))" />
|
||||
<el-table-column prop="create_time" :label="$t('auto.common.create_time')" :min-width="flexWidth('create_time',crud.data,$t('opc.table_title.create_time'))" />
|
||||
<el-table-column
|
||||
prop="opc_name"
|
||||
:label="$t('opc.table_title.opc_name')"
|
||||
:min-width="flexWidth('opc_name',crud.data,$t('opc.table_title.opc_name'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="opc_host"
|
||||
:label="$t('opc.table_title.opc_address')"
|
||||
:min-width="flexWidth('opc_host',crud.data,$t('opc.table_title.opc_address'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="topic"
|
||||
:label="$t('opc.table_title.topic')"
|
||||
:min-width="flexWidth('topic',crud.data,$t('opc.table_title.topic'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="type"
|
||||
:label="$t('opc.table_title.type')"
|
||||
:min-width="flexWidth('type',crud.data,$t('opc.table_title.type'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="user"
|
||||
:label="$t('auto.common.username')"
|
||||
:min-width="flexWidth('user',crud.data,$t('opc.table_title.username'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="password"
|
||||
:label="$t('auto.common.password')"
|
||||
:min-width="flexWidth('password',crud.data,$t('opc.table_title.password'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="prog_id"
|
||||
:label="$t('opc.table_title.program_id')"
|
||||
:min-width="flexWidth('prog_id',crud.data,$t('opc.table_title.program_id'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="cls_id"
|
||||
:label="$t('opc.table_title.registry_id')"
|
||||
:min-width="flexWidth('cls_id',crud.data,$t('opc.table_title.registry_id'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="domain"
|
||||
:label="$t('opc.table_title.domain')"
|
||||
:min-width="flexWidth('domain',crud.data,$t('opc.table_title.domain'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="remark"
|
||||
:label="$t('opc.table_title.remark')"
|
||||
:min-width="flexWidth('remark',crud.data,$t('opc.table_title.remark'))"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="create_time"
|
||||
:label="$t('auto.common.create_time')"
|
||||
:min-width="flexWidth('create_time',crud.data,$t('opc.table_title.create_time'))"
|
||||
/>
|
||||
<el-table-column :label="$t('auto.common.Operate')" width="200px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" icon="el-icon-edit" size="small" @click="handleClick(scope.row,'1')">{{ $t('auto.common.Update') }}</el-button>
|
||||
<el-button type="text" icon="el-icon-circle-close" size="small" @click="handleClick(scope.row,'2')">{{ $t('auto.common.Delete') }}</el-button>
|
||||
<el-button v-if="scope.row.opc_flag === '1'" type="text" icon="el-icon-folder-add" size="small" @click="handleClick(scope.row,'0')">
|
||||
<el-button type="text" icon="el-icon-edit" size="small" @click="handleClick(scope.row,'1')">
|
||||
{{ $t('auto.common.Update') }}
|
||||
</el-button>
|
||||
<el-button type="text" icon="el-icon-circle-close" size="small" @click="handleClick(scope.row,'2')">
|
||||
{{ $t('auto.common.Delete') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.opc_flag === '1'"
|
||||
type="text"
|
||||
icon="el-icon-folder-add"
|
||||
size="small"
|
||||
@click="handleClick(scope.row,'0')"
|
||||
>
|
||||
{{ $t('opc.table_title.plc_add') }}
|
||||
</el-button>
|
||||
</template>
|
||||
@@ -156,6 +220,7 @@ const defaultForm = {
|
||||
opc_code: null,
|
||||
opc_name: null,
|
||||
opc_host: null,
|
||||
topic: null,
|
||||
user: null,
|
||||
password: null,
|
||||
prog_id: null,
|
||||
|
||||
Reference in New Issue
Block a user