You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
4.9 KiB
97 lines
4.9 KiB
<template>
|
|
<layout v-bind:title="title">
|
|
<h1>{{schema.title}}</h1>
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="dataTables_wrapper dt-bootstrap4">
|
|
<div class="row" style="padding-bottom:10px;" v-if="hasPermissions()">
|
|
<div class="col-sm-12 col-md-6">
|
|
<button class="btn btn-default" v-if="hasPermission('Add')">新建</button>
|
|
<button class="btn btn-danger" v-if="hasPermission('Delete')">删除</button>
|
|
</div>
|
|
<div class="col-sm-12 col-md-6">
|
|
<div style="text-align:right;">
|
|
<a href="javascript:;" class="btn btn-primary" v-if="hasPermission('Read')">查询</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<table class="table table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>
|
|
<input type="checkbox" class="select_all" />
|
|
</th>
|
|
<th v-for="(value,key,index) in schema.properties" v-if="key!=='id'">{{value.title}}</th>
|
|
<th v-if="hasPermission('Edit')">编辑</th>
|
|
<th v-if="hasPermission('Delete')">删除</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr v-for="item in data.list">
|
|
<td>
|
|
<input type="checkbox" name="list[]" :value="item.Id" />
|
|
</td>
|
|
<td v-for="(value,key,index) in schema.properties" v-if="key!=='id'">{{item[key]}}</td>
|
|
<td v-if="hasPermission('Edit')">
|
|
<a href="javascript:;" class="btn btn-sm btn-info">编辑</a>
|
|
</td>
|
|
<td v-if="hasPermission('Delete')">
|
|
<a href="javascript:;" class="btn btn-sm btn-danger">删除</a>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<pagination :nav="load" :index="data.pageIndex" :size="data.pageSize" :total="data.totalCount" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</layout>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
data: function () {
|
|
return {
|
|
title: '列表页',
|
|
url: '/IoTCenter/Admin/' + this.$route.query.entity + '/GetEditSchema',
|
|
entity: this.$route.query.entity,
|
|
schema: {},
|
|
data: {
|
|
list: []
|
|
}
|
|
}
|
|
},
|
|
mounted: function () {
|
|
this.load(1, 20);
|
|
},
|
|
methods: {
|
|
load: function (index, size) {
|
|
var url = config.baseUrl + this.url;
|
|
var vm = this;
|
|
axios.post(url).then(function (response) {
|
|
vm.schema = response.data;
|
|
var url = config.baseUrl + '/IoTCenter/Admin/' + vm.$route.query.entity + '/Index?pageIndex=' + index + '&pageSize=' + size;
|
|
axios.get(url).then(function (response) {
|
|
vm.data = response.data;
|
|
});
|
|
});
|
|
},
|
|
hasPermission: function (cmd) {
|
|
var permission = cmd + '-' + this.entity;
|
|
return Enumerable.from(store.state.permissions).any(o => o === permission);
|
|
},
|
|
hasPermissions: function () {
|
|
return this.hasPermission('Read') || this.hasPermission('Add') || this.hasPermission('Edit') || this.hasPermission('Delete');
|
|
}
|
|
}
|
|
}
|
|
</script> |