EditGrid.cshtml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. @{
  2. ViewBag.Title = "编辑表格";
  3. Layout = "~/Views/Shared/_LayoutIndex.cshtml";
  4. }
  5. <script>
  6. var dataBaseLinkId = request('dataBaseLinkId');
  7. var tableName = request('tableName');
  8. $(function () {
  9. var dataJson = top.Form.bindingTableJson;
  10. InitialPage();
  11. GetTreeField();
  12. if (dataJson != "") {
  13. colModelJson = dataJson.colModel;
  14. if (dataJson.pager == true) {
  15. $("#Ispager").attr("checked", 'true')
  16. }
  17. }
  18. });
  19. //初始化页面
  20. function InitialPage() {
  21. $('#TableField').layout({
  22. applyDemoStyles: true,
  23. west__size: 280,
  24. spacing_open: 0,
  25. onresize: function () {
  26. $(window).resize()
  27. }
  28. });
  29. $("#TableField").height($(window).height() - 43)
  30. $(".center-Panel").height($(window).height() - 44);
  31. $("#align").ComboBox({
  32. description: "请选择",
  33. });
  34. $("#hidden").ComboBox({
  35. description: "请选择",
  36. });
  37. $("#sortable").ComboBox({
  38. description: "请选择",
  39. });
  40. $("#formatter").ComboBox({
  41. description: "请选择",
  42. });
  43. $("#query").ComboBox({
  44. description: "请选择",
  45. });
  46. }
  47. //加载表格字段
  48. var colModelJson = [];
  49. function GetTreeField() {
  50. var nameArray = [];
  51. if (colModelJson) {
  52. $.each(colModelJson, function (i) {
  53. nameArray.push(colModelJson[i].name)
  54. });
  55. }
  56. $("#itemTree").treeview({
  57. height: $(window).height() - 44,
  58. showcheck: true,
  59. url: "../../SystemManage/DataBaseTable/GetTableFiledTreeJson",
  60. param: { dataBaseLinkId: dataBaseLinkId, tableName: tableName, nameId: String(nameArray) },
  61. onnodeclick: function (item) {
  62. $.each(colModelJson, function (i) {
  63. var row = colModelJson[i];
  64. if (row.name == item.id) {
  65. $("#field_form").SetWebControls(row);
  66. $("#btn_save_field").removeAttr('disabled');
  67. return false;
  68. } else {
  69. $("#btn_save_field").attr('disabled', 'disabled');
  70. $("#field_form").SetWebControls({ label: "", name: "", width: "", align: "", hidden: "", sortable: "", formatter: "", query: "" });
  71. }
  72. });
  73. },
  74. oncheckboxclick: function (item, status) {
  75. if (status == 1) {
  76. //添加字段
  77. var row = {
  78. label: item.value,
  79. name: item.id,
  80. width: 100,
  81. align: 'left',
  82. sortable: true,
  83. formatter: 'string',
  84. query: false,
  85. }
  86. colModelJson.push(row);
  87. $("#field_form").SetWebControls(row);
  88. } else if (status == 0) {
  89. //删除字段
  90. $.each(colModelJson, function (i) {
  91. if (colModelJson[i].name == item.id) {
  92. colModelJson.splice(i, 1);
  93. return false;
  94. }
  95. });
  96. }
  97. }
  98. });
  99. //保存字段
  100. $("#btn_save_field").click(function () {
  101. if (!$('#field_form').Validform()) {
  102. return false;
  103. }
  104. var postData = {
  105. label: $("#label").val(),
  106. name: $("#name").val(),
  107. width: $("#width").val(),
  108. align: $("#align").attr('data-value'),
  109. sortable: $("#sortable").attr('data-value'),
  110. formatter: $("#formatter").attr('data-value'),
  111. }
  112. if ($("#hidden").attr('data-value') == "true") {
  113. postData["hidden"] = true;
  114. }
  115. if ($("#query").attr('data-value') == "true") {
  116. postData["query"] = true;
  117. }
  118. else {
  119. postData["query"] = false;
  120. }
  121. $.each(colModelJson, function (i) {
  122. if (colModelJson[i].name == postData.name) {
  123. colModelJson[i] = postData;
  124. return false;
  125. }
  126. });
  127. })
  128. }
  129. //保存表单
  130. function AcceptClick(callBack) {
  131. var dataJson = {
  132. pager: $("#Ispager").is(":checked"),
  133. colModel: colModelJson
  134. }
  135. callBack(dataJson);
  136. dialogClose();
  137. }
  138. </script>
  139. <div style="position: absolute; right: 10px; top: 12px;">
  140. <div class="checkbox user-select">
  141. <label>
  142. <input id="Ispager" type="checkbox" />
  143. 是否分页
  144. </label>
  145. </div>
  146. </div>
  147. <div style="margin-left: 10px; margin-right: 10px;">
  148. <ul class="nav nav-tabs">
  149. <li id="tab_TableField" class="active"><a href="#" data-toggle="tab">表格字段</a></li>
  150. </ul>
  151. </div>
  152. <div id="TableField" class="ui-layout" style="height: 100%; width: 100%;">
  153. <div class="ui-layout-west">
  154. <div class="west-Panel" style="margin: 0px; border-top: none; border-left: none; border-bottom: none;">
  155. <div id="itemTree"></div>
  156. </div>
  157. </div>
  158. <div class="ui-layout-center">
  159. <div class="center-Panel" style="margin: 0px; border: none; background-color: #fff; overflow: auto;">
  160. <div class="alert alert-danger" style="text-align: left; margin: 10px;">
  161. <i class="fa fa-question-circle alert-dismissible" style="position: relative; top: 1px; font-size: 15px; padding-right: 5px;"></i>
  162. 注:请在左侧勾选需要在列表中显示的字段。
  163. </div>
  164. <div style="margin-left: 0px; margin-top: 20px; margin-right: 15px;">
  165. <table id="field_form" class="form">
  166. <tr>
  167. <th class="formTitle" style="width: 60px;">题头</th>
  168. <td class="formValue">
  169. <input id="name" type="hidden" />
  170. <input id="label" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
  171. </td>
  172. <th class="formTitle" style="width: 60px;">宽度</th>
  173. <td class="formValue">
  174. <input id="width" type="text" class="form-control" isvalid="yes" checkexpession="Num" />
  175. </td>
  176. </tr>
  177. <tr>
  178. <th class="formTitle" style="width: 60px;">隐藏</th>
  179. <td class="formValue">
  180. <div id="hidden" type="select" class="ui-select">
  181. <ul>
  182. <li data-value="">请选择</li>
  183. <li data-value="true">是</li>
  184. <li data-value="false">否</li>
  185. </ul>
  186. </div>
  187. </td>
  188. <th class="formTitle" style="width: 60px;">对齐</th>
  189. <td class="formValue">
  190. <div id="align" type="select" class="ui-select" isvalid="yes" checkexpession="NotNull">
  191. <ul>
  192. <li data-value="left">左边</li>
  193. <li data-value="center">居中</li>
  194. <li data-value="right">右边</li>
  195. </ul>
  196. </div>
  197. </td>
  198. </tr>
  199. <tr>
  200. <th class="formTitle" style="width: 60px;">排序</th>
  201. <td class="formValue">
  202. <div id="sortable" type="select" class="ui-select" isvalid="yes" checkexpession="NotNull">
  203. <ul>
  204. <li data-value="true">是</li>
  205. <li data-value="false">否</li>
  206. </ul>
  207. </div>
  208. </td>
  209. <th class="formTitle" style="width: 60px;">格式</th>
  210. <td class="formValue">
  211. <div id="formatter" type="select" class="ui-select">
  212. <ul>
  213. <li data-value="">请选择</li>
  214. <li data-value="string">字符</li>
  215. <li data-value="date">日期</li>
  216. <li data-value="int">数字</li>
  217. <li data-value="money">金额</li>
  218. </ul>
  219. </div>
  220. </td>
  221. </tr>
  222. <tr>
  223. <th class="formTitle" style="width: 60px;">查询</th>
  224. <td class="formValue">
  225. <div id="query" type="select" class="ui-select">
  226. <ul>
  227. <li data-value="">请选择</li>
  228. <li data-value="true">是</li>
  229. <li data-value="false">否</li>
  230. </ul>
  231. </div>
  232. </td>
  233. </tr>
  234. <tr>
  235. <td class="formTitle"></td>
  236. <td class="formValue">
  237. <a id="btn_save_field" disabled="" class="btn btn-primary"><i class="fa fa-save"></i>&nbsp;保&nbsp;存</a>
  238. </td>
  239. </tr>
  240. </table>
  241. </div>
  242. </div>
  243. </div>
  244. </div>