Former-commit-id: f4723fc5d879805629c76ff7c1b1293a3d858885
Former-commit-id: 45000d5f382ad80477649ae0c0a42376b6989e1d
1.0
wanggang 5 years ago
parent 5876d6edf9
commit affe096ed7

@ -304,7 +304,7 @@ $(function () {
InitControls();
});
$('body').on('change', '#OrganNumber.submit', function () {
$('body').on('change', 'select.organ.submit', function () {
$(this).parents('form').submit();
});

@ -926,10 +926,10 @@ namespace Platform.Controllers
return Content($"var hasLogin={(User.Identity.IsAuthenticated ? "true" : "false")}");
}
public IActionResult ChangeOrgan(string organNumber, string returnUrl)
public IActionResult ChangeOrgan(string userCurrentOrganNumber, string returnUrl)
{
this.HttpContext.JwtSignOut();
this.HttpContext.JwtSignIn(User.Identity.Name, false, organNumber);
this.HttpContext.JwtSignIn(User.Identity.Name, false, userCurrentOrganNumber);
return Redirect(returnUrl);
}
@ -981,4 +981,4 @@ namespace Platform.Controllers
#endregion tools
}
}
}

@ -5,6 +5,7 @@ using IoT.Shared.Application.Domain.Entities;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Platform.ViewModels;
using System.Linq;
namespace Platform.Controllers
@ -62,18 +63,24 @@ namespace Platform.Controllers
return Helper.Instance.MacEncrypt(id);
}
public IActionResult Index2(string organNumber)
public IActionResult Index2(HomeModel model)
{
var currentOrganNumber = User.GetUserData();
var organ = this._organRepo.ReadOnlyTable().FirstOrDefault(o => o.Number == currentOrganNumber);
var organ = this._organRepo.ReadOnlyTable()
.FirstOrDefault(o => o.Number == currentOrganNumber);
var children = this._organRepo.Table()
.Where(o => o.Left >= organ.Left && o.Right <= organ.Right)
.Include(o => o.Buildings)
.ToList();
var root = children.FirstOrDefault(o => o.Number == currentOrganNumber);
ViewBag.Organ = new object[] { Convert(root) };
return View();
model.Organ = root;
if (string.IsNullOrEmpty(model.OrganNumber))
{
model.OrganNumber = root.Number;
}
return View(model);
}
public IActionResult Index3()

@ -1,15 +1,10 @@
using IoT.Shared.Application.Domain.Entities;
using System;
using System.Collections.Generic;
namespace Platform.ViewModels
{
public class HomeModel
{
public Guid? OrganId { get; set; }
public string OrganNumber { get; set; }
public Organ Organ { get; set; }
public Guid? BuildingId { get; set; }
public List<Organ> Organs { get; set; } = new List<Organ>();
public List<Building> Buildings { get; set; } = new List<Building>();
}
}

@ -1,39 +1,62 @@
@model Platform.ViewModels.HomeModel
@{
var organ = ViewBag.Organ as object;
HideBread = true;
var organTreeJson = new object[] { Convert(Model.Organ) }.ToJson();
}
<a-row>
<a-col :span="3">
<a-tree :tree-data="treeData" show-icon default-expand-all :default-selected-keys="['0-0-0']">
<a-icon slot="switcherIcon" type="down" />
<a-icon slot="smile" type="smile-o" />
<a-icon slot="meh" type="smile-o" />
<template slot="custom" slot-scope="{ selected }">
<a-icon :type="selected ? 'frown' : 'frown-o'" />
</template>
</a-tree>
</a-col>
<a-col :span="9">
col-12
</a-col>
<br />
<div class="row">
<div class="col-2">
<div class="card" style="min-height:100%;">
<div class="card-header">
机构及下属机构
</div>
<div class="card-body">
<a-tree :tree-data="nodes" show-line="true" default-expand-all="true" :default-selected-keys="selected" v-on:select="onSelect">
</a-tree>
</div>
</div>
</div>
<div class="col-10">
<div class="card" style="min-height:100%;">
<div class="card-header">
机构概况
</div>
<div class="card-body">
</div>
</div>
</div>
</div>
</a-row>
@section scripts{
<script>
const treeData = @Html.Raw(organ.ToJson());
var nodes = @Html.Raw(organTreeJson);
var app = new Vue({
el: '#app',
data: function () {
return {
treeData
nodes,
selected:['@Html.Raw(Model.OrganNumber)']
};
},
methods: {
load: function () {
var vm = this;
onSelect: function (selectedKeys, info) {
window.location = '@Url.Action()?organNumber='+selectedKeys[0];
console.log('selected', selectedKeys, info);
}
}
});
</script>
}
@functions{
object Convert(Organ root)
{
return new
{
title = root.Name,
key = root.Number,
children = root.Children.Select(o => Convert(o))
};
}
}

@ -51,7 +51,7 @@
<li class="nav-item">
<form method="get" action="@Url.Action("ChangeOrgan","Account",new{area=""})">
<input type="hidden" name="ReturnUrl" value="@ViewContext.HttpContext.Request.GetDisplayUrl()" />
@Html.DropDownList("OrganNumber", list,new { @class = "form-control submit" })
@Html.DropDownList("UserCurrentOrganNumber", list,new { @class = "form-control organ submit" })
</form>
</li>
}

Loading…
Cancel
Save