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.

178 lines
8.2 KiB

3 weeks ago
  1. @{
  2. ViewBag.Title = "Form";
  3. Layout = "~/Views/Shared/_Form.cshtml";
  4. }
  5. <script>
  6. var keyValue = $.request("keyValue");
  7. $(function () {
  8. initControl();
  9. if (!!keyValue) {
  10. $.ajax({
  11. url: "/SystemManage/Role/GetFormJson",
  12. data: { keyValue: keyValue },
  13. dataType: "json",
  14. async: false,
  15. success: function (data) {
  16. $("#form1").formSerialize(data);
  17. }
  18. });
  19. }
  20. $("#F_Type").val(['2']).trigger("change");
  21. })
  22. function initControl() {
  23. $("#F_OrganizeId").bindSelect({
  24. url: "/SystemManage/Organize/GetTreeSelectJson",
  25. });
  26. $("#F_Type").bindSelect({
  27. url: "/SystemManage/ItemsData/GetSelectJson",
  28. param: { enCode: "RoleType" }
  29. });
  30. $('#wizard').wizard().on('change', function (e, data) {
  31. var $finish = $("#btn_finish");
  32. var $next = $("#btn_next");
  33. if (data.direction == "next") {
  34. switch (data.step) {
  35. case 1:
  36. if (!$('#form1').formValid()) {
  37. return false;
  38. }
  39. $finish.hide();
  40. $next.show();
  41. break;
  42. case 2:
  43. if (!$('#form1').formValid()) {
  44. return false;
  45. }
  46. $finish.show();
  47. $next.hide();
  48. break;
  49. default:
  50. break;
  51. }
  52. } else {
  53. $finish.hide();
  54. $next.show();
  55. }
  56. });
  57. $("#permissionTree").treeview({
  58. height: 444,
  59. showcheck: true,
  60. url: "/SystemManage/RoleAuthorize/GetPermissionTree",
  61. param: { roleId: keyValue }
  62. });
  63. $("#DataActionTree").treeview({
  64. height: 444,
  65. showcheck: true,
  66. url: "/SystemManage/RoleAuthorize/GetDataActionTree",
  67. param: { roleId: keyValue }
  68. });
  69. }
  70. function submitForm() {
  71. var postData = $("#form1").formSerialize();
  72. postData["permissionIds"] = String($("#permissionTree").getCheckedNodes());
  73. postData["dataActionIds"] = String($("#DataActionTree").getCheckedNodes());
  74. $.submitForm({
  75. url: "/SystemManage/Role/SubmitForm?keyValue=" + keyValue,
  76. param: postData,
  77. success: function () {
  78. $.currentWindow().$("#gridList").trigger("reloadGrid");
  79. }
  80. });
  81. }
  82. </script>
  83. <form id="form1">
  84. <div class="widget-body">
  85. <div id="wizard" class="wizard" data-target="#wizard-steps" style="border-left: none; border-top: none; border-right: none;">
  86. <ul class="steps">
  87. <li data-target="#step-1" class="active"><span class="step">1</span>角色信息<span class="chevron"></span></li>
  88. <li data-target="#step-2"><span class="step">2</span>功能权限<span class="chevron"></span></li>
  89. <li data-target="#step-3"><span class="step">3</span>数据权限<span class="chevron"></span></li>
  90. </ul>
  91. </div>
  92. <div class="step-content" id="wizard-steps" style="border-left: none; border-bottom: none; border-right: none;">
  93. <div class="step-pane active" id="step-1" style="margin: 10px; margin-bottom: 0px;">
  94. <div class="alert alert-danger" style="text-align: left; margin-bottom: 10px;">
  95. <i class="fa fa-warning alert-dismissible" style="position: relative; top: 1px; font-size: 15px; padding-right: 5px;"></i>
  96. 请填写角色信息,用于创建或修改角色信息!
  97. </div>
  98. <div class="panel panel-default">
  99. <div class="panel-heading">
  100. <h3 class="panel-title">表单信息</h3>
  101. </div>
  102. <div class="panel-body" style="width: 98%;">
  103. <table class="form">
  104. <tr>
  105. <th class="formTitle">归属组织</th>
  106. <td class="formValue">
  107. <select id="F_OrganizeId" name="F_OrganizeId" class="form-control required">
  108. </select>
  109. </td>
  110. </tr>
  111. <tr>
  112. <th class="formTitle">角色名称</th>
  113. <td class="formValue">
  114. <input id="F_FullName" name="F_FullName" type="text" class="form-control required" placeholder="请输入角色名称" />
  115. </td>
  116. </tr>
  117. <tr>
  118. <th class="formTitle">角色编号</th>
  119. <td class="formValue">
  120. <input id="F_EnCode" name="F_EnCode" type="text" class="form-control required" placeholder="请输入角色编号" />
  121. </td>
  122. </tr>
  123. <tr>
  124. <th class="formTitle">角色类型</th>
  125. <td class="formValue">
  126. <select id="F_Type" name="F_Type" class="form-control required">
  127. </select>
  128. </td>
  129. </tr>
  130. <tr>
  131. <th class="formTitle">显示顺序</th>
  132. <td class="formValue">
  133. <input id="F_SortCode" name="F_SortCode" type="text" class="form-control required" placeholder="请输入显示顺序" />
  134. </td>
  135. </tr>
  136. <tr>
  137. <th class="formTitle" style="height: 35px;">选项</th>
  138. <td class="formValue" style="padding-top: 1px;">
  139. <div class="ckbox">
  140. <input id="F_AllowEdit" name="F_AllowEdit" type="checkbox"><label for="F_AllowEdit">允许编辑</label>
  141. </div>
  142. <div class="ckbox">
  143. <input id="F_AllowDelete" name="F_AllowDelete" type="checkbox"><label for="F_AllowDelete">允许删除</label>
  144. </div>
  145. <div class="ckbox">
  146. <input id="F_EnabledMark" name="F_EnabledMark" type="checkbox" checked="checked"><label for="F_EnabledMark">有效</label>
  147. </div>
  148. </td>
  149. </tr>
  150. <tr>
  151. <th class="formTitle" valign="top" style="padding-top: 5px;">
  152. 备注
  153. </th>
  154. <td class="formValue">
  155. <textarea id="F_Description" name="F_Description" class="form-control" style="height: 60px;"></textarea>
  156. </td>
  157. </tr>
  158. </table>
  159. </div>
  160. </div>
  161. </div>
  162. <div class="step-pane" id="step-2">
  163. <div id="permissionTree"></div>
  164. </div>
  165. <div class="step-pane" id="step-3">
  166. <div id="DataActionTree"></div>
  167. </div>
  168. </div>
  169. <div class="form-button" id="wizard-actions">
  170. <a id="btn_last" disabled class="btn btn-default btn-prev">上一步</a>
  171. <a id="btn_next" class="btn btn-default btn-next">下一步</a>
  172. <a id="btn_finish" class="btn btn-default" style="display: none;" onclick="submitForm()">完成</a>
  173. </div>
  174. </div>
  175. </form>