Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 
 

378 rader
18 KiB

  1. @{
  2. ViewBag.Title = "Floor";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  8. <meta name="renderer" content="webkit">
  9. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  10. <meta name="format-detection" content="telephone=no" />
  11. <link rel="shortcut icon" href="" />
  12. <title>数字化校园-宿舍</title>
  13. <meta name="keywords" content="数字化校园-宿舍" />
  14. <meta name="description" content="数字化校园-宿舍" />
  15. <link href="~/Content/font/css/font-awesome.css" rel="stylesheet" />
  16. <link href="~/Content/css/swiper.min.css" rel="stylesheet" />
  17. <link href="~/Content/css/common.css" rel="stylesheet" />
  18. <link href="~/Content/css/index.css" rel="stylesheet" />
  19. <!--自适应-->
  20. <script src="~/Content/jquery/plugin/layer/layer.js"></script>
  21. <script src="~/Content/echarts/echarts.js"></script>
  22. <script src="~/Content/news/js/easing.js"></script>
  23. <script src="~/Content/jquery/plugin/jquery-ui/jquery-ui.min.js"></script>
  24. <!--自适应-->
  25. <script src="~/Content/js/dormitory/main.js"></script>
  26. <!--[if lte IE 9]>
  27. <script src="js/respond.min.js"></script>
  28. <script src="js/html5shiv.js"></script>
  29. <![endif]-->
  30. <style>
  31. html, body {
  32. background-image: url('/Content/images/floor/bg.jpg');
  33. filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='/Content/images/floor/bg.jpg', sizingMethod='scale');
  34. overflow: auto;
  35. }
  36. .layerImg {
  37. top: -10px;
  38. left: -210px;
  39. width: 400px
  40. }
  41. </style>
  42. </head>
  43. <body>
  44. <!-- / warpper -->
  45. <div id="app" class="index_warpper floor_warpper">
  46. <!-- / index_sec1 -->
  47. <div class="index_sec index_sec1">
  48. <div class="index_box">
  49. <div class="indSec1T">
  50. @*山西省小店区高新校区*@
  51. <ul class="indSec1List">
  52. @*<li><a href="#"><img src="/Content/images/floor/inSec1-5.png" alt="" />多条件查找宿舍楼</a></li>*@
  53. <li><a href="#" @@click="allocation()"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>
  54. <li><a href="#" @@click="addFloor()"><img src="/Content/images/floor/inSec1-7.png" alt="" />添加宿舍楼</a></li>
  55. @*<li><a href="#"><img src="/Content/images/floor/inSec1-8.png" alt="" />批量删除</a></li>*@
  56. @*<li><a href="#"><img src="/Content/images/floor/inSec1-9.png" alt="" />打印宿舍数据</a></li>*@
  57. </ul>
  58. </div>
  59. <div class="inSec1Row">
  60. <div v-for="floor in floors" class="inSec1Col3">
  61. <div class="inSec1Box">
  62. <div class="inSec1Top">
  63. <span>{{floor.dormitory.Name}}</span>
  64. <ul class="inSec1TopList">
  65. <li>
  66. <a href="javascript:;"><img src="/Content/images/floor/inSec1-2.png" alt="" /></a>
  67. <div class="inSec1Con inSec1Con1">
  68. <img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" />
  69. <div class="inSec1Con2">
  70. <div class="inSec1ConT">{{floor.dormitory.Name}} <div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div></div>
  71. <div class="inSec1ConTxt">
  72. <span>{{floor.UnitNum}}</span>单元 <span>{{floor.floorNum}}</span>层 <span>{{floor.RoomNum}}</span>间
  73. </div>
  74. <div class="inSec1ConTxt">
  75. <span>{{floor.BedNum}}</span>床位 &nbsp;&nbsp;&nbsp;&nbsp; 入住<span>{{floor.HasStudentNum}}</span>人
  76. </div>
  77. <div @@click="checkDetail(floor)" class="inSec1Btn">查看更多信息 <i class="fa fa-angle-right"></i></div>
  78. </div>
  79. </div>
  80. </li>
  81. <li @@click="update(floor.dormitory.ID)"><a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a></li>
  82. <li @@click="deleteFloor(floor)"><a href="javascript:;"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a></li>
  83. </ul>
  84. <div class="clear"></div>
  85. </div>
  86. <div class="inSec1Img">
  87. <a :href="floor.dormitory.ID | filter_url"><img src="/Content/images/floor/inSec1-4.png" alt="" /></a>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. <!-- / index_sec1 -->
  95. </div>
  96. <!-- / warpper -->
  97. <script>
  98. var color1 = ['#6471F3', '#A4C2FF'], color2 = ['#94DB95', '#ED94A5'];
  99. var vm = new Vue({
  100. el: "#app",
  101. data: {
  102. floors: "",
  103. sexImgUrl: "/Content/images/floor/inSec1-10.png",
  104. },
  105. methods: {
  106. getData: function () {
  107. $.get('/LogisticsManagement/Accommodation/GetDormitoryList', function (ref) {
  108. this.floors = ref.data;
  109. }.bind(this), "json");
  110. },
  111. laterGetData: function () {
  112. setTimeout(function () {
  113. this.getData();
  114. }.bind(this), 1000);
  115. },
  116. filter_Major: function (value) {
  117. var result;
  118. top.learun.clientdata.getAsync('custmerData', {
  119. sync: true,
  120. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
  121. key: value,
  122. keyId: 'id',
  123. callback: function (_data) {
  124. result = _data.majorname;
  125. }
  126. });
  127. return result;
  128. },
  129. filter_company: function (value) {
  130. var result;
  131. top.learun.clientdata.getAsync('custmerData', {
  132. sync: true,
  133. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
  134. key: value,
  135. keyId: 'f_companyid',
  136. callback: function (_data) {
  137. result = _data.f_fullname;
  138. }
  139. });
  140. return result;
  141. },
  142. filter_sex: function (value) {
  143. if (value == "1") {
  144. return '<div class="laySec1Sex" style="background:#7070da"><img src="/Content/images/floor/inSec1-10_2.png" alt="" />男生宿舍</div></div>'
  145. } else {
  146. return '<div class="laySec1Sex"><img src="/Content/images/floor/inSec1-10.png" alt="" />女生宿舍</div></div>'
  147. }
  148. },
  149. allocation: function () {
  150. top.learun.layerForm({
  151. id: 'form',
  152. title: '自动分配宿舍',
  153. url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Allocation',
  154. width: 400,
  155. height: 250,
  156. callBack: function (id) {
  157. return top[id].acceptClick();
  158. }
  159. });
  160. },
  161. addFloor: function () {
  162. var url = "";
  163. url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form';
  164. top.learun.layerForm({
  165. id: 'form',
  166. title: '新增',
  167. url: url,
  168. width: 600,
  169. height: 400,
  170. callBack: function (id) {
  171. return top[id].acceptClick(this.laterGetData());
  172. }.bind(this)
  173. });
  174. },
  175. update: function (id) {
  176. top.learun.layerForm({
  177. id: 'form',
  178. title: '编辑',
  179. url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id,
  180. width: 600,
  181. height: 400,
  182. callBack: function (id) {
  183. return top[id].acceptClick(this.laterGetData());
  184. }.bind(this)
  185. });
  186. },
  187. deleteFloor: function (floor) {
  188. top.learun.layerConfirm('是否确认删除该项!', function (res) {
  189. if (res) {
  190. this.floors.splice($.inArray(floor, this.floors), 1);
  191. top.learun.deleteForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/DeleteForm', { keyValue: floor.dormitory.ID }, function () {
  192. });
  193. }
  194. }.bind(this));
  195. },
  196. checkDetail: function (floor) {
  197. var echarts1;
  198. //圆形图
  199. var i = 0;
  200. var g = (floor.HasStudentNum / floor.BedNum) * 100 + "%";
  201. layer.open({
  202. type: 1,
  203. closeBtn: 2,
  204. area: ['888px', '80%'],
  205. content: '<div class="layerBox">' +
  206. '<img class="layerImg" src="/Content/images/floor/inSec1-4.png" alt="" />' +
  207. '<div class="layer_sec1 layer_sec">' +
  208. '<div class="laySec1L">' +
  209. '<div class="laySec1ConT">' + floor.dormitory.Name + this.filter_sex(floor.dormitory.Sex) +
  210. '</div>' +
  211. '<div class="laySec1R">' +
  212. '<div><div class="laySec1Txt"><span>负&nbsp;责&nbsp;人</span>' + floor.dormitory.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + floor.dormitory.Phone + '</div></div>' +
  213. '<div class="laySec1Txt"><span>校&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</span>' + this.filter_company(floor.dormitory.Campus) + '</div>' +
  214. '<div class="laySec1Txt"><span>地&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;址</span>' + floor.dormitory.Address + '</div>' +
  215. '</div>' +
  216. '</div>' +
  217. '<div class="layer_sec layer_sec2">' +
  218. '<ul class="laySec2List">' +
  219. '<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.Name + '</li>' +
  220. '<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + floor.dormitory.Price + ' <i>元</i></li>' +
  221. '<li><span>单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元</span>' + floor.UnitNum + ' <i>个</i></li>' +
  222. '<li><span>入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;住</span>' + floor.HasStudentNum + ' <i>人</i></li>' +
  223. '<li><span>楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;层</span>' + floor.floorNum + ' <i>层</i></li>' +
  224. '<li><span>空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;床</span>' + floor.NoStudentNum + ' <i>床</i></li>' +
  225. '<li><span>房&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;间</span>' + floor.RoomNum + ' <i>间</i></li>' +
  226. '<li><span>床&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>' + floor.UnitNum + ' <i>个</i></li>' +
  227. '<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' +
  228. '</ul>' +
  229. '<div class="laySec2Btn">' +
  230. //'<a href="#"><img @@click="update(floor.dormitory.ID)" src="/Content/images/floor/inSec1-1.png" alt="" /></a>' +
  231. //'<a href="#"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a>' +
  232. //'<a href="#"><img src="/Content/images/floor/inSec1-12.png" alt="" /></a>' +
  233. '</div>' +
  234. '</div>' +
  235. '<div class="layer_sec layer_sec3">' +
  236. '<div class="layerSec3Box">' +
  237. '<div id="echarts1" style="width: 100%;height:300px;"></div>' +
  238. '</div>' +
  239. '<div class="layerSec3Box">' +
  240. '<div id="echarts2" style="width: 100%;height:300px;"></div>' +
  241. '</div>' +
  242. '</div>' +
  243. '<div class="layer_sec layer_sec2 layer_sec4">' +
  244. '<ul class="laySec2List">' +
  245. '<li><span>创 建 人 </span>' + floor.dormitory.CreateBy + '</li>' +
  246. '<li><span>创建时间 </span>' + floor.dormitory.CreateTime + '</li>' +
  247. '<li><span>更 新 人</span>' + floor.dormitory.UpdateBy + ' </li>' +
  248. '<li><span>更新时间</span>' + floor.dormitory.UpdateTime + ' </li>' +
  249. '</ul>' +
  250. '</div>' +
  251. '</div>',
  252. cancel: function () {
  253. echarts1.dispose();
  254. }
  255. })
  256. echarts1 = echarts.init(document.getElementById('echarts1'));
  257. echarts1.setOption({
  258. title: {
  259. text: '{a|' + g + '}\n{b|入住率}',
  260. x: 'center',
  261. y: 'center',
  262. textStyle: {
  263. rich: {
  264. a: {
  265. fontSize: '26',
  266. color: '#8F8F8F',
  267. lineHeight: 40
  268. },
  269. b: {
  270. fontSize: '16',
  271. color: '#B1B1B1'
  272. }
  273. }
  274. }
  275. },
  276. legend: {
  277. data: ['空床', '入住']
  278. },
  279. grid: {
  280. top: '5%',
  281. left: '2%',
  282. bottom: '10%',
  283. containLabel: true
  284. },
  285. tooltip: {
  286. show: true
  287. },
  288. series: [
  289. {
  290. name: '',
  291. type: 'pie',
  292. radius: ['50%', '70%'],
  293. avoidLabelOverlap: true,
  294. // 高亮偏移值
  295. hoverOffset: 5,
  296. label: {
  297. normal: {
  298. show: false
  299. }
  300. },
  301. labelLine: {
  302. normal: {
  303. show: false
  304. }
  305. },
  306. // highlight 自定义属性 有此属性该数据集保持高亮
  307. data: [{ value: floor.HasStudentNum, name: "入住" }, { value: floor.NoStudentNum, name: "空床" }],
  308. itemStyle: {
  309. normal: {
  310. color: function () {
  311. return color1[i++];
  312. }
  313. },
  314. },
  315. }
  316. ]
  317. });
  318. }
  319. },
  320. created() {
  321. this.getData();
  322. },
  323. filters: {
  324. filter_sex: function (value) {
  325. return value == "1" ? "男生宿舍" : "女生宿舍";
  326. },
  327. filter_sexImg: function (value) {
  328. return value == "1" ? "/Content/images/floor/inSec1-10_2.png" : "/Content/images/floor/inSec1-10.png"
  329. },
  330. filter_style: function (value) {
  331. return value == "1" ? { background: '#7070da' } : {};
  332. },
  333. filter_url: function (value) {
  334. return "/LogisticsManagement/Accommodation/Unit?ID=" + value + "&bbc=aa%26";
  335. }
  336. }
  337. })
  338. </script>
  339. </body>
  340. )