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.
 
 
 
 
 
 

388 lines
18 KiB

  1. @{
  2. ViewBag.Title = "收费标准设置";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. @model Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers.FinaChargesStandardController.modelTemp
  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/css/bootstrap.css" rel="stylesheet" />
  17. <link href="~/Content/css/font-awesome.css" rel="stylesheet" />
  18. <link href="~/Content/css/swiper.min.css" rel="stylesheet" />
  19. <link href="~/Content/css/common.css" rel="stylesheet" />
  20. <link href="~/Content/css/index.css" rel="stylesheet" />
  21. <link href="~/Content/css/receiveSendFeeManagement/charge.css" rel="stylesheet" />
  22. <!--自适应-->
  23. <script src="~/Content/jquery/jquery-1.10.2.min.js"></script>
  24. <script src="~/Content/jquery/plugin/layer/layer.js"></script>
  25. <script src="~/Content/js/echarts.js"></script>
  26. <script src="~/Content/news/js/easing.js"></script>
  27. <script src="~/Content/jquery-ui-1.12.1.custom/jquery-ui.min.js"></script>
  28. <script src="~/Content/js/bootstrap.min.js"></script>
  29. <!--自适应-->
  30. <script src="~/Content/js/index.js"></script>
  31. @*<script src="js/main.js"></script>*@
  32. <!--[if lte IE 9]><![endif]-->
  33. <script src="~/Content/bootstrap/respond.min.js"></script>
  34. <script src="~/Content/bootstrap/html5shiv.min.js"></script>
  35. <style>
  36. body {
  37. overflow: auto;
  38. }
  39. .radioInputBox .radioInput {
  40. display: inline-block;
  41. height: 18px;
  42. margin-left: 0;
  43. width: 50px;
  44. vertical-align: middle;
  45. margin-top: -5px;
  46. }
  47. .radioInputBox label {
  48. line-height: 44px;
  49. height: 20px;
  50. font-size: 15px;
  51. margin-left: 50px;
  52. }
  53. .chargeSec1Row3 .chargeSec1Txt {
  54. height: 79px;
  55. }
  56. .chargeSec1Row3 .chargeSec1Txt span {
  57. display: block;
  58. float: none;
  59. text-align: right;
  60. }
  61. </style>
  62. </head>
  63. <body>
  64. <!-- / warpper -->
  65. <div class="index_warpper">
  66. <!-- / index_sec1 -->
  67. <div class="index_sec charge_sec1">
  68. <div class="index_box">
  69. @*<div class="indSec1T">
  70. <ul class="indSec1List">
  71. <li id="addBtn"><a href="javascript:;"><img src="~/Content/images/receiveSendFeeManagement/charge1-1.png" alt="" />添加收费项目</a></li>
  72. </ul>
  73. </div>*@
  74. <div class="chargeSec1Select">
  75. <div class="chargeSelect">
  76. <div id="academicYearNo" title="@Model.AcademicYearNo">学年: <span>@Model.AcademicYearNo</span></div>
  77. <ul>
  78. @foreach (var item in Model.AcademicYearNoList)
  79. {
  80. <li title="@item.value">@item.text</li>
  81. }
  82. </ul>
  83. </div>
  84. <div class="chargeSelect">
  85. <div id="semester" title="@Model.Semester">学期: <span>@Model.Semester</span></div>
  86. <ul>
  87. @foreach (var item in Model.SemesterList)
  88. {
  89. <li title="@item.value">@item.text</li>
  90. }
  91. </ul>
  92. </div>
  93. <div class="chargeSelect">
  94. <div id="grade" title="@Model.Grade">年级: <span>@Model.Grade</span></div>
  95. <ul>
  96. @foreach (var item in Model.GradeList)
  97. {
  98. <li title="@item.value">@item.text</li>
  99. }
  100. </ul>
  101. </div>
  102. <div class="chargeSelectBtn">查 &nbsp; 询</div>
  103. </div>
  104. <div style="clear:both"></div>
  105. <div class="chargeSec1Row chargeSec1Row3">
  106. @foreach (var item in Model.FinaChargesStandardList)
  107. {
  108. <div class="chargeSec1Col5">
  109. <div class="chargeSec1Box">
  110. <div class="chargeSec1Btn">
  111. <span>专业编码 : <b style="font-weight:normal;">@item.MajorNo</b></span>
  112. <img src="~/Content/images/receiveSendFeeManagement/charge1-3.png" alt="" />
  113. @*<img src="~/Content/images/receiveSendFeeManagement/charge1-2.png" alt="" />*@
  114. </div>
  115. <div class="chargeSec1T">@item.MajorName</div>
  116. <div class="chargeSec1Con">
  117. <div class="chargeSec1Txt">
  118. 收费标准:<span>¥<b>@(item.Standard.HasValue ? item.Standard.Value : 0)</b></span>
  119. </div>
  120. </div>
  121. </div>
  122. </div>
  123. }
  124. </div>
  125. <div class="chargeSec1Text">共<span>@Model.TotalNum</span>条收费标准信息</div>
  126. </div>
  127. </div>
  128. <!-- / index_sec1 -->
  129. </div>
  130. <!-- / warpper -->
  131. <script>
  132. //查询
  133. function search() {
  134. var academicYearNo = $('#academicYearNo').attr('title');
  135. var semester = $('#semester').attr('title');
  136. var grade = $('#grade').attr('title');
  137. var queryObject = new Object();
  138. queryObject.AcademicYearNo = academicYearNo;
  139. queryObject.Semester = semester;
  140. queryObject.Grade = grade;
  141. top.learun.getForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/GetList?queryJson=' + JSON.stringify(queryObject), function (res) {
  142. if (res.code == 200) {
  143. var html = '';
  144. for (var i = 0; i < res.data.length; i++) {
  145. var item = res.data[i];
  146. var standard = item.Standard == null ? 0 : item.Standard;
  147. html +=
  148. '<div class="chargeSec1Col5">' +
  149. '<div class="chargeSec1Box">' +
  150. '<div class="chargeSec1Btn">' +
  151. '<span>专业编码 : <b style="font-weight:normal;">' + item.MajorNo + '</b></span>' +
  152. '<img src="/Content/images/receiveSendFeeManagement/charge1-3.png" alt="" />' +
  153. //'<img src="/Content/images/receiveSendFeeManagement/charge1-2.png" alt="" />' +
  154. '</div>' +
  155. '<div class="chargeSec1T">' + item.MajorName + '</div>' +
  156. '<div class="chargeSec1Con">' +
  157. '<div class="chargeSec1Txt">' +
  158. '收费标准:<span>¥<b>' + standard + '</b></span>' +
  159. '</div>' +
  160. '</div>' +
  161. '</div>' +
  162. '</div>'
  163. ;
  164. }
  165. $('.chargeSec1Row').html(html);
  166. $('.chargeSec1Text').find('span').html(res.data.length);
  167. } else {
  168. top.learun.alert.warning("查询失败!");
  169. }
  170. });
  171. }
  172. //点击查询按钮
  173. $('.chargeSelectBtn').on('click', function () {
  174. search();
  175. });
  176. </script>
  177. <script>
  178. var htmlL = '';
  179. var dataHave = [];
  180. var data = [];
  181. var datas = [];
  182. //第一次弹框
  183. $('.chargeSec1Row').on('click', '.chargeSec1Btn img', function () {
  184. var majorNo = $(this).siblings('span').find('b').html();
  185. var academicYearNo = $('#academicYearNo').attr('title');
  186. var semester = $('#semester').attr('title');
  187. var grade = $('#grade').attr('title');
  188. var ind = $(this).index();
  189. if (ind == 1) {
  190. //修改
  191. //获取收费项目标准
  192. $.lrSetFormWithParam(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/GetFinaChargesStandardListByMajorNo', { majorNo: majorNo, academicYearNo: academicYearNo, semester: semester, grade: grade }, function (res) {
  193. if (res) {
  194. dataHave = res.hasStandardResult;
  195. data = res.nohasStandardResult;
  196. var html = '<div class="layerChage layerChage3 layerChage3s" data-majorNo="' + majorNo + '">' +
  197. '<div class="layerChageT">收费标准</div>' +
  198. '<div class="layerChageBox">' +
  199. '<div class="layerChageR" style="width:100%">' +
  200. '<ul class="">' +
  201. '<li><span>收费项目名称</span><span>收费标准</span></li>' + dataHandle(dataHave, 2) +
  202. '</ul>' +
  203. '</div>' +
  204. '</div>' +
  205. '<div class="chargeBtn chargeBtn3">' +
  206. '<span href="javascript:;">修 改 标 准</span>' +
  207. '<span href="javascript:;">取 &nbsp; &nbsp; 消</span>' +
  208. '</div>' +
  209. '</div>';
  210. layer.open({
  211. type: 1,
  212. closeBtn: 2,
  213. area: '888px',
  214. content: html,
  215. });
  216. } else {
  217. top.learun.alert.warning("获取收费标准失败");
  218. }
  219. });
  220. } else if (ind == 2) {
  221. }
  222. });
  223. $(document).on('click', '.chargeBtn span', function () {
  224. var academicYearNo = $('#academicYearNo').attr('title');
  225. var semester = $('#semester').attr('title');
  226. var grade = $('#grade').attr('title');
  227. //弹框确定按钮点击
  228. var parents = $(this).parents('.layerChage');
  229. var majorNo = parents.attr("data-majorNo");
  230. var ind = $(this).index();
  231. //弹框确定按钮点击 第二个弹框
  232. if (parents.hasClass('layerChage5')) {
  233. if (ind == 0) {
  234. //是否存在正在编辑的收费标准
  235. var aa = $('.layerChage5 .layerChageR li .layerChageMoney.active ');
  236. console.log(aa);
  237. if (aa.length > 0) {
  238. layer.msg("存在正在编辑中的收费标准!", function () { });
  239. return;
  240. }
  241. $('.layerChage5 .layerChageR li').each(function (i, n) {
  242. i != 0 ? datas.push({ id: $(n).attr('id'), title: $(n).attr('title'), money: $(n).attr('money') }) : '';
  243. });
  244. //保存数据
  245. var strArr = [];
  246. $(datas).each(function (j, item) {
  247. var object = new Object();
  248. object.ChargeItemID = item.id;
  249. object.ChargeItemName = item.title;
  250. object.Standard = item.money;
  251. strArr.push(object);
  252. });
  253. top.learun.postForm(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/SaveForm', { majorNo: majorNo, academicYearNo: academicYearNo, semester: semester, grade: grade, strEntity: JSON.stringify(strArr) }, function (res) {
  254. if (res.code == 200) {
  255. $('.layerChage3s .layerChageR ul').html('<li><span>收费项目名称</span><span>收费标准</span></li>' + dataHandle(datas, 2))
  256. dataHave = datas;
  257. //查询
  258. search();
  259. } else {
  260. top.learun.alert.warning("保存失败!");
  261. }
  262. });
  263. }
  264. layer.close(layer.index);
  265. return;
  266. }
  267. //弹框确定按钮点击 第一个弹框
  268. if (parents.hasClass('layerChage3s')) {
  269. if (ind == 0) {
  270. //判断当前专业的收费标准是否已使用
  271. $.lrSetFormWithParam(top.$.rootUrl + '/ReceiveSendFeeManagement/FinaChargesStandard/IsChargeByMajorNo', { majorNo: majorNo, academicYearNo: academicYearNo, semester: semester, grade: grade }, function (res) {
  272. if (res) {//已使用
  273. layer.msg("该信息正在被系统使用,不能修改!", function () { });
  274. return;
  275. } else {//未使用
  276. datas = [];
  277. //第二次弹框
  278. var html = '<div class="layerChage layerChage3 layerChage5" data-majorNo="' + parents.attr("data-majorNo") + '">' +
  279. '<div class="layerChageT">添加收费标准</div>' +
  280. '<div class="layerChageBox">' +
  281. '<div class="layerChageL">' +
  282. '<ul>' + dataHandle(data) + '</ul>' +
  283. '</div>' +
  284. '<div class="layerChageIn"><img src="/Content/images/receiveSendFeeManagement/charge1-4.png" alt="" /></div>' +
  285. '<div class="layerChageR">' +
  286. '<ul>' +
  287. '<li id="" title="收费项目名称" money="收费标准"><span>收费项目名称</span><span>收费标准</span></li>' + dataHandle(dataHave, 1) +
  288. '</ul></div></div>' +
  289. '<div class="chargeBtn chargeBtn5">' +
  290. '<span href="javascript:;">确 &nbsp; &nbsp; 认</span>' +
  291. '<span href="javascript:;">取 &nbsp; &nbsp; 消</span>' +
  292. '</div>' +
  293. '</div>';
  294. layer.open({
  295. type: 1,
  296. closeBtn: 2,
  297. area: '888px',
  298. content: html,
  299. })
  300. }
  301. });
  302. } else {
  303. layer.closeAll();
  304. }
  305. }
  306. }).on('click', '.layerChageL li', function () {
  307. //左侧列表点击
  308. var title = $(this).attr('title'), money = $(this).attr('money'), id = $(this).attr('id');
  309. $(this).remove();
  310. var html = '<li id="' + id + '" title="' + title + '" money="' + money + '"><span>' + title + '</span><span class="layerChageMoney">¥' + money + '<input class="layerChageinput" value="' + money + '" type="text"></span><div><img src="/Content/images/receiveSendFeeManagement/close.png" alt="" /></div></li>';
  311. $('.layerChage5 .layerChageR ul').append(html)
  312. }).on('click', '.layerChageR li div', function () {
  313. //右侧列表点击
  314. var parents = $(this).parents('li');
  315. var title = parents.attr('title'), money = parents.attr('money'), id = parents.attr('id');
  316. parents.remove();
  317. var html = '<li id="' + id + '" title="' + title + '" money="0">' + title + '</li>';
  318. $('.layerChage5 .layerChageL ul').append(html)
  319. }).on('dblclick', '.layerChage5 .layerChageMoney', function () {
  320. //双击修改收费标准
  321. $('.layerChageMoney').removeClass('active');
  322. $(this).addClass('active').find('input').focus()
  323. }).on('blur', '.layerChageinput', function () {
  324. var parents = $(this).parent();
  325. var money = $(this).val();
  326. if (isNumber(money)) {
  327. parents.removeClass('active').html('¥' + money + '<input class="layerChageinput" value="' + money + '" type="text">').parent().attr('money', money);
  328. } else {
  329. layer.msg("请输入合法的数字!", function () { });
  330. }
  331. }).on('click', '.chargeSelect li', function () {
  332. var txt = $(this).text();
  333. var value = $(this).attr('title');
  334. $(this).parents('.chargeSelect').children('div').attr('title', value).find('span').text(txt);
  335. });
  336. // 弹框数据处理
  337. function dataHandle(data, num) {
  338. var html = '';
  339. var closes = num == 1 ? '<div><img src="/Content/images/receiveSendFeeManagement/close.png" alt="" /></div>' : '';
  340. $.each(data, function (i, n) {
  341. var money = num ? '<span class="layerChageMoney">¥' + n.money + '<input class="layerChageinput" value="' + n.money + '" type="text"></span>' : '';
  342. html += '<li id="' + n.id + '" title="' + n.title + '" money="' + n.money + '"><span>' + n.title + '</span>' + money + closes + '</li>';
  343. });
  344. return html;
  345. }
  346. //表单处理
  347. function isNumber(val) {
  348. var regPos = /^\d+(\.\d+)?$/; //非负浮点数
  349. var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
  350. if (regPos.test(val) || regNeg.test(val)) {
  351. return true;
  352. } else {
  353. return false;
  354. }
  355. }
  356. </script>
  357. </body>