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.

Unit.cshtml 23 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  1. 
  2. @{
  3. ViewBag.Title = "Unit";
  4. Layout = "~/Views/Shared/_Index.cshtml";
  5. }
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  9. <meta name="renderer" content="webkit">
  10. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  11. <meta name="format-detection" content="telephone=no" />
  12. <link rel="shortcut icon" href="" />
  13. <title>数字化校园-宿舍</title>
  14. <meta name="keywords" content="数字化校园-宿舍" />
  15. <meta name="description" content="数字化校园-宿舍" />
  16. <link href="~/Content/font/css/font-awesome.css" rel="stylesheet" />
  17. <link href="~/Content/css/swiper.min.css" rel="stylesheet" />
  18. <link href="~/Content/css/common.css" rel="stylesheet" />
  19. <link href="~/Content/css/index.css" rel="stylesheet" />
  20. <!--自适应-->
  21. <script src="~/Content/jquery/plugin/layer/layer.js"></script>
  22. <script src="~/Content/echarts/echarts.js"></script>
  23. <script src="~/Content/news/js/easing.js"></script>
  24. <script src="~/Content/jquery/plugin/jquery-ui/jquery-ui.min.js"></script>
  25. <!--自适应-->
  26. <script src="~/Content/js/dormitory/main.js"></script>
  27. <!--[if lte IE 9]>
  28. <script src="js/respond.min.js"></script>
  29. <script src="js/html5shiv.js"></script>
  30. <![endif]-->
  31. <style>
  32. html, body {
  33. background-image: url('/Content/images/floor/bg2.jpg');
  34. filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='/Content/images/floor/bg2.jpg', sizingMethod='scale');
  35. overflow: auto;
  36. }
  37. .layerImg {
  38. top: 0px;
  39. left: 0px;
  40. width: 225px
  41. }
  42. </style>
  43. </head>
  44. <body>
  45. <!-- / warpper -->
  46. <div id="app" class="index_warpper unit_warpper">
  47. <!-- / index_sec1 -->
  48. <div class="index_sec index_sec1">
  49. <div class="index_box">
  50. <div class="indSec1T">
  51. @*山西省小店区高新校区*@ <a href="/LogisticsManagement/Accommodation/Floor">{{dormitoryName}}</a>
  52. <ul class="indSec1List">
  53. @*<li><a href="#"><img src="/Content/images/floor/inSec1-5.png" alt="" />多条件查找宿舍楼</a></li>
  54. <li><a href="#"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>*@
  55. <li><a href="#" @@click="addFloor()"><img src="/Content/images/floor/inSec1-7.png" alt="" />添加单元</a></li>
  56. @*<li><a href="#"><img src="/Content/images/floor/inSec1-8.png" alt="" />批量删除</a></li>
  57. <li><a href="#"><img src="/Content/images/floor/inSec1-9.png" alt="" />打印宿舍数据</a></li>*@
  58. </ul>
  59. </div>
  60. <div class="inSec1Row">
  61. <div v-for="floor in floors" class="inSec1Col3">
  62. <div class="inSec1Box">
  63. <div class="inSec1Top">
  64. <span>{{floor.dormitory.Name}}</span>
  65. <ul class="inSec1TopList">
  66. <li>
  67. <a href="javascript:;"><img src="/Content/images/floor/inSec1-2.png" alt="" /></a>
  68. <div class="inSec1Con inSec1Con1">
  69. <img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" />
  70. <div class="inSec1Con2">
  71. <div class="inSec1ConT">{{floor.dormitory.Name}}
  72. @*<div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div>*@
  73. </div>
  74. <div class="inSec1ConTxt">
  75. <span>{{floor.floorNum}}</span>层 <span>{{floor.RoomNum}}</span>间 <span>{{floor.BedNum}}</span>床
  76. </div>
  77. <div class="inSec1ConTxt">
  78. 入住 <span>{{floor.HasStudentNum}}</span>人 &nbsp;&nbsp;&nbsp;&nbsp; 空闲<span>{{floor.NoStudentNum}}</span>床位
  79. </div>
  80. <div @@click="checkDetail(floor)" class="inSec1Btn">查看更多信息 <i class="fa fa-angle-right"></i></div>
  81. </div>
  82. </div>
  83. </li>
  84. <li><a @@click="update(floor.dormitory.ID)" href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a></li>
  85. <li><a @@click="deleteFloor(floor)" href="javascript:;"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a></li>
  86. </ul>
  87. <div class="clear"></div>
  88. </div>
  89. <div class="inSec1Img">
  90. <a :href="floor.dormitory.ID | filter_url"><img src="/Content/images/floor/unit1-1.png" alt="" /></a>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <!-- / index_sec1 -->
  98. </div>
  99. <!-- / warpper -->
  100. <script>
  101. //var data = {
  102. // "rows": [
  103. // {
  104. // "ID": "289fb13a-8e91-4c5d-bd6b-7b7de344dc17",
  105. // "Name": "1单元",
  106. // "Functionary": '负责人',
  107. // "Leader": '舍长',
  108. // "BuildType": "宿舍楼-类型",
  109. // "CreateBy": '创建人',
  110. // "CreateTime": '创建时间',
  111. // "UpdateBy": '更新人',
  112. // "UpdateTime": '更新时间',
  113. // "Price": '价格',
  114. // "Remark": '备注说明',
  115. // "Phone": '负责人电话',
  116. // "Address": '地址',
  117. // "Campus": '校区',
  118. // "Dept": '系',
  119. // "Major": '专业',
  120. // "Class": '班级',
  121. // "Sex": "0",//性别
  122. // "StudentID": '学生id',
  123. // "ParentID": "父ID",
  124. // "StuName": 'null'
  125. // },
  126. // {
  127. // "ID": "289fb13a-8e91-4c5d-bd6b-7b7de344dc17",
  128. // "Name": "22单元",
  129. // "Functionary": '张丽梅',
  130. // "Leader": '舍长',
  131. // "BuildType": "宿舍楼-类型",
  132. // "CreateBy": '薛礼根',
  133. // "CreateTime": '2019-05-14',
  134. // "UpdateBy": '薛礼根',
  135. // "UpdateTime": '2019-05-14',
  136. // "Price": '800~1200',
  137. // "Remark": '备注说明',
  138. // "Phone": '15735806069',
  139. // "Address": '山西省小店区南中环街高新区23号',
  140. // "Campus": '山西省小店区高新校区',
  141. // "Dept": '数学系',
  142. // "Major": '数学与应用数学',
  143. // "Class": '班级',
  144. // "Sex": "0",//性别
  145. // "StudentID": '学生id',
  146. // "ParentID": "父ID",
  147. // "StuName": 'null'
  148. // }
  149. // ],
  150. // "total": 1,
  151. // "page": 1,
  152. // "records": 10
  153. //}
  154. //var html = '';
  155. //$.each(data.rows, function (i, n) {
  156. // var floor = floorName(n.Name, 2);
  157. // html += '<div class="inSec1Col3">' +
  158. // '<div class="inSec1Box">' +
  159. // '<div class="inSec1Top">' +
  160. // '<span><span>' + floor + '</span> 单元</span>' +
  161. // '<ul class="inSec1TopList">' +
  162. // '<li>' +
  163. // '<a href="javascript:;"><img src="/Content/images/floor/inSec1-2.png" alt="" /></a>' +
  164. // '<div class="inSec1Con inSec1Con1">' +
  165. // '<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" />' +
  166. // '<div class="inSec1Con2">' +
  167. // '<div class="inSec1ConT"><span>' + floor + '</span>单元 <div class="inSec1Sex"><img src="/Content/images/floor/inSec1-10.png" alt="" />女生宿舍</div></div>' +
  168. // '<div class="inSec1ConTxt">' +
  169. // '<span>6</span>层 <span>120</span>间 <span>480</span>床' +
  170. // '</div>' +
  171. // '<div class="inSec1ConTxt">' +
  172. // '入住 <span>1210</span>人 &nbsp;&nbsp;&nbsp;&nbsp; 空闲<span>1920</span>床位' +
  173. // '</div>' +
  174. // '<div class="inSec1Btn" index="' + i + '">查看更多信息 <i class="fa fa-angle-right"></i></div>' +
  175. // '</div>' +
  176. // '</div>' +
  177. // '</li>' +
  178. // '<li><a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a></li>' +
  179. // '<li><a href="javascript:;"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a></li>' +
  180. // '</ul>' +
  181. // '<div class="clear"></div>' +
  182. // '</div>' +
  183. // '<div class="inSec1Img">' +
  184. // '<a href="corridor"><img src="/Content/images/floor/unit1-1.png" alt="" /></a>' +
  185. // '</div></div></div>';
  186. //})
  187. //$('.inSec1Row').html(html).on('click', '.inSec1Btn', function () {
  188. // var ind = $(this).attr('index');
  189. // var datas = data.rows[ind];
  190. // var floor = floorName(datas.Name, 2);
  191. // layer.open({
  192. // type: 1,
  193. // closeBtn: 2,
  194. // area: ['888px', '80%'],
  195. // content: '<div class="layerBox unitLayer">' +
  196. // '<div class="layer_sec1 layer_sec">' +
  197. // '<div class="laySec1L">' +
  198. // '<div class="laySec1ConTitle"><span>1</span>号楼</div>' +
  199. // '<div class="laySec1ConT"><span>' + floor + '</span>单元' +
  200. // '<div class="laySec1Sex"><img src="/Content/images/floor/inSec1-10.png" alt="" />女生宿舍</div></div>' +
  201. // '</div>' +
  202. // '<div class="laySec1R">' +
  203. // '<div><div class="laySec1Txt"><span>负&nbsp;责&nbsp;人</span>' + datas.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + datas.Phone + '</div></div>' +
  204. // '<div class="laySec1Txt"><span>校&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</span>' + datas.Campus + '</div>' +
  205. // '<div class="laySec1Txt"><span>地&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;址</span>' + datas.Address + '</div>' +
  206. // '</div>' +
  207. // '</div>' +
  208. // '<div class="layer_sec layer_sec2">' +
  209. // '<ul class="laySec2List">' +
  210. // '<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>001</li>' +
  211. // '<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + datas.Price + ' <i>元</i></li>' +
  212. // '<li><span>楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;层</span>6 <i>个</i></li>' +
  213. // '<li><span>入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;住</span>1210 <i>人</i></li>' +
  214. // '<li><span>房&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;间</span>480 <i>间</i></li>' +
  215. // '<li><span>空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;床</span>710 <i>床</i></li>' +
  216. // '<li><span>床&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>1920 <i>个</i></li>' +
  217. // '<li><span>涉及院系</span>' + datas.Dept + '</li>' +
  218. // '<li><span>涉及专业</span>' + datas.Major + '</li>' +
  219. // '</ul>' +
  220. // '<div class="laySec2Btn">' +
  221. // '<a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a>' +
  222. // '<a href="#"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a>' +
  223. // '<a href="#"><img src="/Content/images/floor/inSec1-12.png" alt="" /></a>' +
  224. // '</div>' +
  225. // '</div>' +
  226. // '<div class="layer_sec layer_sec2 layer_sec4">' +
  227. // '<ul class="laySec2List">' +
  228. // '<li><span>创 建 人 </span>' + datas.CreateBy + '</li>' +
  229. // '<li><span>创建时间 </span>' + datas.CreateTime + '</li>' +
  230. // '<li><span>更 新 人</span>' + datas.UpdateBy + ' </li>' +
  231. // '<li><span>更新时间</span>' + datas.UpdateTime + ' </li>' +
  232. // '</ul>' +
  233. // '</div>' +
  234. // '<img class="layerImg" src="/Content/images/floor/unit1-2.png" alt="" />' +
  235. // '</div>'
  236. // })
  237. //})
  238. var parentID='@ViewBag.ParentID';
  239. var vm = new Vue({
  240. el: "#app",
  241. data: {
  242. floors: "",
  243. sexImgUrl: "/Content/images/floor/inSec1-10.png",
  244. dormitoryName: "",
  245. dormitoryID: ""
  246. },
  247. methods: {
  248. getData: function () {
  249. $.get('/LogisticsManagement/Accommodation/GetUnitList?ParentID=' + parentID, function (ref) {
  250. if (ref.data) {
  251. this.floors = ref.data.rows;
  252. this.dormitoryName = ref.data.DormitoryName;
  253. this.dormitoryID = ref.data.DormitoryID;
  254. }
  255. }.bind(this), "json");
  256. },
  257. laterGetData: function () {
  258. setTimeout(function () {
  259. this.getData();
  260. }.bind(this), 1000);
  261. },
  262. filter_Dept: function (value) {
  263. var result;
  264. top.learun.clientdata.getAsync('custmerData', {
  265. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
  266. key: value,
  267. keyId: 'deptno',
  268. callback: function (_data) {
  269. result = _data.deptname;
  270. }
  271. });
  272. return result;
  273. },
  274. filter_Major: function (value) {
  275. var result;
  276. top.learun.clientdata.getAsync('custmerData', {
  277. sync: true,
  278. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
  279. key: value,
  280. keyId: 'id',
  281. callback: function (_data) {
  282. result = _data.majorname;
  283. }
  284. });
  285. return result;
  286. },
  287. filter_company: function (value) {
  288. var result;
  289. top.learun.clientdata.getAsync('custmerData', {
  290. sync: true,
  291. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
  292. key: value,
  293. keyId: 'f_companyid',
  294. callback: function (_data) {
  295. result = _data.f_fullname;
  296. }
  297. });
  298. return result;
  299. },
  300. filter_sex: function (value) {
  301. if (value == "1") {
  302. return '<div class="laySec1Sex" style="background:#7070da"><img src="/Content/images/floor/inSec1-10_2.png" alt="" />男生宿舍</div></div>'
  303. } else {
  304. return '<div class="laySec1Sex"><img src="/Content/images/floor/inSec1-10.png" alt="" />女生宿舍</div></div>'
  305. }
  306. },
  307. allocation: function () {
  308. top.learun.layerForm({
  309. id: 'form',
  310. title: '自动分配宿舍',
  311. url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Allocation',
  312. width: 400,
  313. height: 250,
  314. callBack: function (id) {
  315. return top[id].acceptClick(refreshGirdData);
  316. }
  317. });
  318. },
  319. addFloor: function () {
  320. var url = "";
  321. url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?ParentID=' + this.dormitoryID;
  322. top.learun.layerForm({
  323. id: 'form',
  324. title: '新增',
  325. url: url,
  326. width: 600,
  327. height: 400,
  328. callBack: function (id) {
  329. return top[id].acceptClick(this.laterGetData());
  330. }.bind(this)
  331. });
  332. },
  333. update: function (id) {
  334. top.learun.layerForm({
  335. id: 'form',
  336. title: '编辑',
  337. url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + id,
  338. width: 600,
  339. height: 400,
  340. callBack: function (id) {
  341. return top[id].acceptClick(this.laterGetData());
  342. }.bind(this)
  343. });
  344. },
  345. deleteFloor: function (floor) {
  346. top.learun.layerConfirm('是否确认删除该项!', function (res) {
  347. if (res) {
  348. this.floors.splice($.inArray(floor, this.floors), 1);
  349. top.learun.deleteForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/DeleteForm', { keyValue: floor.dormitory.ID }, function () {
  350. });
  351. }
  352. }.bind(this));
  353. },
  354. checkDetail: function (floor) {
  355. var echarts1;
  356. //圆形图
  357. var i = 0;
  358. var g = (floor.HasStudentNum / floor.BedNum) * 100 + "%";
  359. layer.open({
  360. type: 1,
  361. closeBtn: 2,
  362. area: ['888px', '80%'],
  363. content: '<div class="layerBox unitLayer">' +
  364. '<div class="layer_sec1 layer_sec">' +
  365. '<div class="laySec1L">' +
  366. '<div class="laySec1ConT">' + floor.dormitory.Name+
  367. '<span style="display:none">' + this.filter_sex(floor.dormitory.Sex) + '</span>' +
  368. '</div>' +
  369. '<div class="laySec1R">' +
  370. '<div><div class="laySec1Txt"><span>负&nbsp;责&nbsp;人</span>' + floor.dormitory.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + floor.dormitory.Phone + '</div></div>' +
  371. '<div class="laySec1Txt"><span>校&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</span>' + this.filter_company(floor.dormitory.Campus) + '</div>' +
  372. '<div class="laySec1Txt"><span>地&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;址</span>' + floor.dormitory.Address + '</div>' +
  373. '</div>' +
  374. '</div>' +
  375. '<div class="layer_sec layer_sec2">' +
  376. '<ul class="laySec2List">' +
  377. '<li><span>编&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</span>' + floor.dormitory.DNo + '</li>' +
  378. '<li><span>价&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' +
  379. '<li><span>楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;层</span>' + floor.floorNum + ' <i>层</i></li>' +
  380. '<li><span>入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;住</span>' + floor.HasStudentNum + ' <i>人</i></li>' +
  381. '<li><span>房&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;间</span>' + floor.RoomNum + ' <i>间</i></li>' +
  382. '<li><span>空&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;床</span>' + floor.NoStudentNum + ' <i>床</i></li>' +
  383. '<li><span>床&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>' + floor.BedNum + ' <i>个</i></li>' +
  384. //'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' +
  385. //'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' +
  386. '</ul>' +
  387. '<div class="laySec2Btn">' +
  388. //'<a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a>' +
  389. //'<a href="#"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a>' +
  390. //'<a href="#"><img src="/Content/images/floor/inSec1-12.png" alt="" /></a>' +
  391. '</div>' +
  392. '</div>' +
  393. '<div class="layer_sec layer_sec2 layer_sec4">' +
  394. '<ul class="laySec2List">' +
  395. '<li><span>创 建 人 </span>' + floor.dormitory.CreateBy + '</li>' +
  396. '<li><span>创建时间 </span>' + floor.dormitory.CreateTime + '</li>' +
  397. '<li><span>更 新 人</span>' + floor.dormitory.UpdateBy + ' </li>' +
  398. '<li><span>更新时间</span>' + floor.dormitory.UpdateTime + ' </li>' +
  399. '</ul>' +
  400. '</div>' +
  401. '<img class="layerImg" src="/Content/images/floor/unit1-2.png" alt="" />' +
  402. '</div>',
  403. })
  404. }
  405. },
  406. created() {
  407. this.getData();
  408. },
  409. filters: {
  410. filter_sex: function (value) {
  411. return value == "1" ? "男生宿舍" : "女生宿舍";
  412. },
  413. filter_sexImg: function (value) {
  414. return value == "1" ? "/Content/images/floor/inSec1-10_2.png" : "/Content/images/floor/inSec1-10.png"
  415. },
  416. filter_style: function (value) {
  417. return value == "1" ? { background: '#7070da' } : {};
  418. },
  419. filter_url: function (value) {
  420. return "/LogisticsManagement/Accommodation/Corridor?ID=" + value;
  421. }
  422. }
  423. })
  424. </script>
  425. </body>