mirror of https://gitee.com/pnoker/dc3-web.git
pull/1/head
parent
8d32210694
commit
1537d2d96e
@ -1,23 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="container view">
|
|
||||||
<el-row class="operator">
|
|
||||||
<el-button icon="el-icon-search" circle></el-button>
|
|
||||||
<el-button type="success" icon="el-icon-plus" circle></el-button>
|
|
||||||
<el-button type="primary" icon="el-icon-edit" circle></el-button>
|
|
||||||
<el-button type="warning" icon="el-icon-star-off" circle></el-button>
|
|
||||||
<el-button type="danger" icon="el-icon-delete" circle></el-button>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<el-row class="page">
|
|
||||||
<el-pagination
|
|
||||||
background
|
|
||||||
layout="prev, pager, next"
|
|
||||||
:total="1000">
|
|
||||||
</el-pagination>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,23 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="container view">
|
|
||||||
<el-row class="operator">
|
|
||||||
<el-button icon="el-icon-search" circle></el-button>
|
|
||||||
<el-button type="success" icon="el-icon-plus" circle></el-button>
|
|
||||||
<el-button type="primary" icon="el-icon-edit" circle></el-button>
|
|
||||||
<el-button type="warning" icon="el-icon-star-off" circle></el-button>
|
|
||||||
<el-button type="danger" icon="el-icon-delete" circle></el-button>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<el-row class="page">
|
|
||||||
<el-pagination
|
|
||||||
background
|
|
||||||
layout="prev, pager, next"
|
|
||||||
:total="1000">
|
|
||||||
</el-pagination>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,23 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="container view">
|
|
||||||
<el-row class="operator">
|
|
||||||
<el-button icon="el-icon-search" circle></el-button>
|
|
||||||
<el-button type="success" icon="el-icon-plus" circle></el-button>
|
|
||||||
<el-button type="primary" icon="el-icon-edit" circle></el-button>
|
|
||||||
<el-button type="warning" icon="el-icon-star-off" circle></el-button>
|
|
||||||
<el-button type="danger" icon="el-icon-delete" circle></el-button>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<el-row class="page">
|
|
||||||
<el-pagination
|
|
||||||
background
|
|
||||||
layout="prev, pager, next"
|
|
||||||
:total="1000">
|
|
||||||
</el-pagination>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
@ -0,0 +1,191 @@
|
|||||||
|
<template>
|
||||||
|
<el-col :span="24">
|
||||||
|
<base-card>
|
||||||
|
<avue-crud :option="listOption"
|
||||||
|
:data="listData"
|
||||||
|
:page="page"
|
||||||
|
:table-loading="loading"
|
||||||
|
ref="crud"
|
||||||
|
v-model="listForm"
|
||||||
|
@on-load="list"
|
||||||
|
@row-del="listDelete"
|
||||||
|
@row-update="listUpdate"
|
||||||
|
@search-reset="searchReset"
|
||||||
|
@search-change="searchChange"
|
||||||
|
@refresh-change="refreshChange"
|
||||||
|
@size-change="sizeChange"
|
||||||
|
@current-change="currentChange"
|
||||||
|
>
|
||||||
|
</avue-crud>
|
||||||
|
</base-card>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {driverApi} from '@/api/manager'
|
||||||
|
import {successMessage} from "@/util/util";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
query: {},
|
||||||
|
listForm: {},
|
||||||
|
listData: [],
|
||||||
|
listOption: {
|
||||||
|
tip: false,
|
||||||
|
index: true,
|
||||||
|
stripe: true,
|
||||||
|
border: true,
|
||||||
|
addBtn: false,
|
||||||
|
viewBtn: true,
|
||||||
|
selection: true,
|
||||||
|
height: 664,
|
||||||
|
align: 'center',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '协议',
|
||||||
|
prop: 'name',
|
||||||
|
width: 220,
|
||||||
|
span: 12,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 12,
|
||||||
|
disabled: true
|
||||||
|
}, {
|
||||||
|
label: '服务',
|
||||||
|
prop: 'serviceName',
|
||||||
|
width: 220,
|
||||||
|
span: 12,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 12,
|
||||||
|
disabled: true
|
||||||
|
}, {
|
||||||
|
label: '连接属性',
|
||||||
|
prop: 'connectInfo',
|
||||||
|
width: 250,
|
||||||
|
span: 24,
|
||||||
|
type: 'textarea',
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入 连接属性',
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
label: '配置属性',
|
||||||
|
prop: 'profileInfo',
|
||||||
|
width: 250,
|
||||||
|
span: 24,
|
||||||
|
type: 'textarea',
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入 配置属性',
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
label: '描述',
|
||||||
|
prop: 'description',
|
||||||
|
width: 220,
|
||||||
|
span: 24,
|
||||||
|
type: 'textarea',
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
max: 380,
|
||||||
|
message: '最多输入380个字符',
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
label: '创建日期',
|
||||||
|
prop: 'createTime',
|
||||||
|
width: 180,
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
||||||
|
}, {
|
||||||
|
label: '修改日期',
|
||||||
|
prop: 'updateTime',
|
||||||
|
width: 180,
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
selectionList: [],
|
||||||
|
loading: true,
|
||||||
|
page: {
|
||||||
|
total: 0,
|
||||||
|
pageSize: 20,
|
||||||
|
currentPage: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:
|
||||||
|
{
|
||||||
|
list(page) {
|
||||||
|
this.loading = true;
|
||||||
|
driverApi.list(Object.assign({
|
||||||
|
page: {
|
||||||
|
current: page.currentPage,
|
||||||
|
size: page.pageSize
|
||||||
|
}
|
||||||
|
}, this.query)).then(res => {
|
||||||
|
const data = res.data;
|
||||||
|
this.page.total = data.total;
|
||||||
|
this.listData = data.records;
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listDelete(row) {
|
||||||
|
this.$confirm('是否删除该条驱动?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
return driverApi.delete(row.id);
|
||||||
|
}).then(() => {
|
||||||
|
this.list(this.page);
|
||||||
|
successMessage();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listUpdate(row, index, done, loading) {
|
||||||
|
driverApi.update(row).then(() => {
|
||||||
|
loading();
|
||||||
|
this.list(this.page);
|
||||||
|
successMessage();
|
||||||
|
}).finally(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
refreshChange() {
|
||||||
|
this.list(this.page);
|
||||||
|
},
|
||||||
|
currentChange(page) {
|
||||||
|
this.page.currentPage = page;
|
||||||
|
},
|
||||||
|
sizeChange(pageSize) {
|
||||||
|
this.page.pageSize = pageSize;
|
||||||
|
},
|
||||||
|
searchChange(params, done) {
|
||||||
|
this.query = params;
|
||||||
|
this.list(this.page);
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
searchReset() {
|
||||||
|
this.query = {};
|
||||||
|
this.list(this.page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
</style>
|
@ -0,0 +1,340 @@
|
|||||||
|
<template>
|
||||||
|
<el-col :span="24">
|
||||||
|
<base-card>
|
||||||
|
<avue-crud :option="listOption"
|
||||||
|
:data="listData"
|
||||||
|
:page="page"
|
||||||
|
:table-loading="loading"
|
||||||
|
ref="crud"
|
||||||
|
v-model="listForm"
|
||||||
|
@on-load="list"
|
||||||
|
@row-save="listAdd"
|
||||||
|
@row-del="listDelete"
|
||||||
|
@row-update="listUpdate"
|
||||||
|
@search-reset="searchReset"
|
||||||
|
@search-change="searchChange"
|
||||||
|
@refresh-change="refreshChange"
|
||||||
|
@size-change="sizeChange"
|
||||||
|
@current-change="currentChange"
|
||||||
|
>
|
||||||
|
</avue-crud>
|
||||||
|
</base-card>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {pointApi, profileApi} from '@/api/manager'
|
||||||
|
import {successMessage} from "@/util/util";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
query: {},
|
||||||
|
listForm: {},
|
||||||
|
listData: [],
|
||||||
|
listOption: {
|
||||||
|
tip: false,
|
||||||
|
index: true,
|
||||||
|
stripe: true,
|
||||||
|
border: true,
|
||||||
|
viewBtn: true,
|
||||||
|
selection: true,
|
||||||
|
height: 664,
|
||||||
|
align: 'center',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '位号',
|
||||||
|
prop: 'name',
|
||||||
|
width: 220,
|
||||||
|
span: 16,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 6,
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入 位号名称',
|
||||||
|
trigger: 'blur'
|
||||||
|
}, {
|
||||||
|
min: 2,
|
||||||
|
max: 32,
|
||||||
|
message: '请输入 2~32 位字长的位号名称',
|
||||||
|
trigger: 'blur'
|
||||||
|
}, {
|
||||||
|
pattern: /^[A-Za-z0-9\u4e00-\u9fa5]+$/,
|
||||||
|
message: '请输入 正确格式的位号名称,例:\'point01\' 或 \'位号01\''
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
label: '模板',
|
||||||
|
prop: 'profileId',
|
||||||
|
width: 220,
|
||||||
|
span: 8,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 6,
|
||||||
|
type: 'select',
|
||||||
|
filterable: true,
|
||||||
|
searchFilterable: true,
|
||||||
|
dicData: [],
|
||||||
|
props: {
|
||||||
|
label: 'name',
|
||||||
|
value: 'id'
|
||||||
|
},
|
||||||
|
rules: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择使用模板',
|
||||||
|
trigger: 'click'
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
label: '类型',
|
||||||
|
prop: 'type',
|
||||||
|
width: 100,
|
||||||
|
span: 8,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 4,
|
||||||
|
type: 'select',
|
||||||
|
searchFilterable: true,
|
||||||
|
value: 0,
|
||||||
|
dicData: [
|
||||||
|
{
|
||||||
|
label: '字符串',
|
||||||
|
value: 'string'
|
||||||
|
}, {
|
||||||
|
label: '整数',
|
||||||
|
value: 'int'
|
||||||
|
}, {
|
||||||
|
label: '双精度浮点数',
|
||||||
|
value: 'double'
|
||||||
|
}, {
|
||||||
|
label: '浮点数',
|
||||||
|
value: 'float'
|
||||||
|
}, {
|
||||||
|
label: '长整数',
|
||||||
|
value: 'long'
|
||||||
|
}, {
|
||||||
|
label: '开关量',
|
||||||
|
value: 'boolean'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rules: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择位号数据类型',
|
||||||
|
trigger: 'click'
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
label: '读/写',
|
||||||
|
prop: 'rw',
|
||||||
|
width: 100,
|
||||||
|
span: 8,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 4,
|
||||||
|
type: 'select',
|
||||||
|
searchFilterable: true,
|
||||||
|
value: 0,
|
||||||
|
dicData: [
|
||||||
|
{
|
||||||
|
label: '只读',
|
||||||
|
value: 0
|
||||||
|
}, {
|
||||||
|
label: '只写',
|
||||||
|
value: 1
|
||||||
|
}, {
|
||||||
|
label: '读写',
|
||||||
|
value: 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rules: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择位号读写类型',
|
||||||
|
trigger: 'click'
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
label: '累计标识',
|
||||||
|
prop: 'accrue',
|
||||||
|
width: 100,
|
||||||
|
span: 8,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 4,
|
||||||
|
type: 'select',
|
||||||
|
searchFilterable: true,
|
||||||
|
value: false,
|
||||||
|
dicData: [
|
||||||
|
{
|
||||||
|
label: '累计',
|
||||||
|
value: true
|
||||||
|
}, {
|
||||||
|
label: '不累计',
|
||||||
|
value: false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rules: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择模板共享类型',
|
||||||
|
trigger: 'click'
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
label: '值',
|
||||||
|
prop: 'value',
|
||||||
|
width: 100,
|
||||||
|
span: 6,
|
||||||
|
searchSpan: 12,
|
||||||
|
disabled: true
|
||||||
|
}, {
|
||||||
|
label: '最小值',
|
||||||
|
prop: 'minimum',
|
||||||
|
width: 100,
|
||||||
|
span: 6,
|
||||||
|
searchSpan: 12
|
||||||
|
}, {
|
||||||
|
label: '最大值',
|
||||||
|
prop: 'maximum',
|
||||||
|
width: 100,
|
||||||
|
span: 6,
|
||||||
|
searchSpan: 12
|
||||||
|
}, {
|
||||||
|
label: '倍数',
|
||||||
|
prop: 'multiple',
|
||||||
|
width: 100,
|
||||||
|
span: 6,
|
||||||
|
searchSpan: 12
|
||||||
|
}, {
|
||||||
|
label: '基值',
|
||||||
|
prop: 'base',
|
||||||
|
width: 100,
|
||||||
|
span: 8,
|
||||||
|
searchSpan: 12
|
||||||
|
}, {
|
||||||
|
label: '格式',
|
||||||
|
prop: 'format',
|
||||||
|
width: 100,
|
||||||
|
span: 8,
|
||||||
|
searchSpan: 12
|
||||||
|
}, {
|
||||||
|
label: '单位',
|
||||||
|
prop: 'unit',
|
||||||
|
width: 100,
|
||||||
|
span: 8,
|
||||||
|
searchSpan: 12
|
||||||
|
}, {
|
||||||
|
label: '描述',
|
||||||
|
prop: 'description',
|
||||||
|
width: 220,
|
||||||
|
span: 24,
|
||||||
|
type: 'textarea',
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
max: 380,
|
||||||
|
message: '最多输入380个字符',
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
label: '创建日期',
|
||||||
|
prop: 'createTime',
|
||||||
|
width: 180,
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
||||||
|
}, {
|
||||||
|
label: '修改日期',
|
||||||
|
prop: 'updateTime',
|
||||||
|
width: 180,
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
selectionList: [],
|
||||||
|
loading: true,
|
||||||
|
page: {
|
||||||
|
total: 0,
|
||||||
|
pageSize: 20,
|
||||||
|
currentPage: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.profile();
|
||||||
|
},
|
||||||
|
methods:
|
||||||
|
{
|
||||||
|
list(page) {
|
||||||
|
this.loading = true;
|
||||||
|
pointApi.list(Object.assign({
|
||||||
|
page: {
|
||||||
|
current: page.currentPage,
|
||||||
|
size: page.pageSize
|
||||||
|
}
|
||||||
|
}, this.query)).then(res => {
|
||||||
|
const data = res.data;
|
||||||
|
this.page.total = data.total;
|
||||||
|
this.listData = data.records;
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
profile() {
|
||||||
|
profileApi.dictionary().then(res => {
|
||||||
|
this.listOption.column[this.$refs.crud.findColumnIndex('profileId')].dicData = res.data;
|
||||||
|
}).catch((e) => {
|
||||||
|
console.log(e);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listAdd(row, done, loading) {
|
||||||
|
pointApi.add(row).then(() => {
|
||||||
|
loading();
|
||||||
|
this.list(this.page);
|
||||||
|
successMessage();
|
||||||
|
}).finally(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listDelete(row) {
|
||||||
|
this.$confirm('是否删除该条模板?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
return pointApi.delete(row.id);
|
||||||
|
}).then(() => {
|
||||||
|
this.list(this.page);
|
||||||
|
successMessage();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listUpdate(row, index, done, loading) {
|
||||||
|
pointApi.update(row).then(() => {
|
||||||
|
loading();
|
||||||
|
this.list(this.page);
|
||||||
|
successMessage();
|
||||||
|
}).finally(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
refreshChange() {
|
||||||
|
this.list(this.page);
|
||||||
|
},
|
||||||
|
currentChange(page) {
|
||||||
|
this.page.currentPage = page;
|
||||||
|
},
|
||||||
|
sizeChange(pageSize) {
|
||||||
|
this.page.pageSize = pageSize;
|
||||||
|
},
|
||||||
|
searchChange(params, done) {
|
||||||
|
this.query = params;
|
||||||
|
this.list(this.page);
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
searchReset() {
|
||||||
|
this.query = {};
|
||||||
|
this.list(this.page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
</style>
|
@ -0,0 +1,245 @@
|
|||||||
|
<template>
|
||||||
|
<el-col :span="24">
|
||||||
|
<base-card>
|
||||||
|
<avue-crud :option="listOption"
|
||||||
|
:data="listData"
|
||||||
|
:page="page"
|
||||||
|
:table-loading="loading"
|
||||||
|
ref="crud"
|
||||||
|
v-model="listForm"
|
||||||
|
@on-load="list"
|
||||||
|
@row-save="listAdd"
|
||||||
|
@row-del="listDelete"
|
||||||
|
@row-update="listUpdate"
|
||||||
|
@search-reset="searchReset"
|
||||||
|
@search-change="searchChange"
|
||||||
|
@refresh-change="refreshChange"
|
||||||
|
@size-change="sizeChange"
|
||||||
|
@current-change="currentChange"
|
||||||
|
>
|
||||||
|
</avue-crud>
|
||||||
|
</base-card>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {driverApi, profileApi} from '@/api/manager'
|
||||||
|
import {successMessage} from "@/util/util";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
query: {},
|
||||||
|
listForm: {},
|
||||||
|
listData: [],
|
||||||
|
listOption: {
|
||||||
|
tip: false,
|
||||||
|
index: true,
|
||||||
|
stripe: true,
|
||||||
|
border: true,
|
||||||
|
viewBtn: true,
|
||||||
|
selection: true,
|
||||||
|
height: 664,
|
||||||
|
align: 'center',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '模板',
|
||||||
|
prop: 'name',
|
||||||
|
width: 230,
|
||||||
|
span: 24,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 12,
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入 模板名称',
|
||||||
|
trigger: 'blur'
|
||||||
|
}, {
|
||||||
|
min: 2,
|
||||||
|
max: 32,
|
||||||
|
message: '请输入 2~32 位字长的模板名称',
|
||||||
|
trigger: 'blur'
|
||||||
|
}, {
|
||||||
|
pattern: /^[A-Za-z0-9\u4e00-\u9fa5]+$/,
|
||||||
|
message: '请输入 正确格式的模板名称,例:\'profile01\' 或 \'模板01\''
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
label: '公/私有',
|
||||||
|
prop: 'share',
|
||||||
|
width: 100,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 6,
|
||||||
|
type: 'select',
|
||||||
|
searchFilterable: true,
|
||||||
|
value: true,
|
||||||
|
dicData: [
|
||||||
|
{
|
||||||
|
label: '公有',
|
||||||
|
value: true
|
||||||
|
}, {
|
||||||
|
label: '私有',
|
||||||
|
value: false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rules: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择模板共享类型',
|
||||||
|
trigger: 'click'
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
label: '驱动',
|
||||||
|
prop: 'driverId',
|
||||||
|
width: 220,
|
||||||
|
search: true,
|
||||||
|
searchSpan: 6,
|
||||||
|
type: 'select',
|
||||||
|
filterable: true,
|
||||||
|
searchFilterable: true,
|
||||||
|
dicData: [],
|
||||||
|
props: {
|
||||||
|
label: 'name',
|
||||||
|
value: 'id'
|
||||||
|
},
|
||||||
|
rules: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择使用驱动',
|
||||||
|
trigger: 'click'
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
label: '配置属性',
|
||||||
|
prop: 'config',
|
||||||
|
width: 360,
|
||||||
|
span: 24,
|
||||||
|
type: 'textarea',
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入 配置属性',
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
label: '描述',
|
||||||
|
prop: 'description',
|
||||||
|
width: 220,
|
||||||
|
span: 24,
|
||||||
|
type: 'textarea',
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
max: 380,
|
||||||
|
message: '最多输入380个字符',
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
label: '创建日期',
|
||||||
|
prop: 'createTime',
|
||||||
|
width: 180,
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
||||||
|
}, {
|
||||||
|
label: '修改日期',
|
||||||
|
prop: 'updateTime',
|
||||||
|
width: 180,
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
selectionList: [],
|
||||||
|
loading: true,
|
||||||
|
page: {
|
||||||
|
total: 0,
|
||||||
|
pageSize: 20,
|
||||||
|
currentPage: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.driver();
|
||||||
|
},
|
||||||
|
methods:
|
||||||
|
{
|
||||||
|
list(page) {
|
||||||
|
this.loading = true;
|
||||||
|
profileApi.list(Object.assign({
|
||||||
|
page: {
|
||||||
|
current: page.currentPage,
|
||||||
|
size: page.pageSize
|
||||||
|
}
|
||||||
|
}, this.query)).then(res => {
|
||||||
|
const data = res.data;
|
||||||
|
this.page.total = data.total;
|
||||||
|
this.listData = data.records;
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
driver() {
|
||||||
|
driverApi.dictionary().then(res => {
|
||||||
|
this.listOption.column[this.$refs.crud.findColumnIndex('driverId')].dicData = res.data;
|
||||||
|
}).catch((e) => {
|
||||||
|
console.log(e);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listAdd(row, done, loading) {
|
||||||
|
profileApi.add(row).then(() => {
|
||||||
|
loading();
|
||||||
|
this.list(this.page);
|
||||||
|
successMessage();
|
||||||
|
}).finally(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listDelete(row) {
|
||||||
|
this.$confirm('是否删除该条模板?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
return profileApi.delete(row.id);
|
||||||
|
}).then(() => {
|
||||||
|
this.list(this.page);
|
||||||
|
successMessage();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listUpdate(row, index, done, loading) {
|
||||||
|
profileApi.update(row).then(() => {
|
||||||
|
loading();
|
||||||
|
this.list(this.page);
|
||||||
|
successMessage();
|
||||||
|
}).finally(() => {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
refreshChange() {
|
||||||
|
this.list(this.page);
|
||||||
|
},
|
||||||
|
currentChange(page) {
|
||||||
|
this.page.currentPage = page;
|
||||||
|
},
|
||||||
|
sizeChange(pageSize) {
|
||||||
|
this.page.pageSize = pageSize;
|
||||||
|
},
|
||||||
|
searchChange(params, done) {
|
||||||
|
this.query = params;
|
||||||
|
this.list(this.page);
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
searchReset() {
|
||||||
|
this.query = {};
|
||||||
|
this.list(this.page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
</style>
|
Loading…
Reference in new issue