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.
iot/projects/Platform/Views/Organ/Index.cshtml

60 lines
1.9 KiB

@{
HideBread = true;
}
<br />
<div class="row">
<div class="col-md-2 col-sm-4 col-xs-6" v-for="item in GetOrgans()">
<div class="card">
<div class="card-header">
<h3 class="card-title">{{item.name}}</h3>
</div>
<a class="card-body" :href="'@Url.Content("~")/Organ/Nodes/?number='+item.number" style="display:block;text-align:center;">
<img :alt="item.name" :src="'@Url.Content2("~")'+item.image==null?'/images/empty.svg':item.image" style="margin:0 auto;width:64px;" />
</a>
</div>
</div>
</div>
@section scripts{
<script>
var baseUrl = '@Url.Content("~")';
var hubUrl = "@Url.Content("~")/hub?group=page";
var onMessage = null;
</script>
<script src="~/js/util.js"></script>
<script src="~/js/iot.js"></script>
<script src="~/js/message.js"></script>
<script>
var app = new Vue({
el: '#app',
data() {
return {
title: "机构",
url: '/api/v1/organ/getOrgans',
model: []
};
},
mounted: function () {
connect();
this.load();
},
methods: {
load: function () {
var vm = this;
axios.post(baseUrl + this.url).then(function (response) {
vm.model = response.data;
});
},
GetOrgans() {
return Enumerable.from(this.model).orderBy('o=>o.Order').toArray();
},
}
});
onMessage = function (method, json, to, from) {
if (method === 'OrganEntityInserted' ||
method === 'OrganEntityUpdated' ||
method === 'OrganEntityDeleted') {
app.load();
}
}
</script>
}