AddSmartForm.cshtml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  1. 
  2. @{
  3. ViewBag.Title = "AddSmartForm";
  4. Layout = "~/Views/Shared/_MainLayoutPage.cshtml";
  5. }
  6. <!-- 引入样式 -->
  7. @*<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">*@
  8. <link href="~/Content/Scripts/plugins/element/element-ui.css" rel="stylesheet" />
  9. <link href="~/Content/Scripts/plugins/form-making-advanced@1.4.4.00/dist/FormMaking.css" rel="stylesheet" />
  10. <style>
  11. fieldset {
  12. border: solid 1px #EEE;
  13. margin: 5px;
  14. }
  15. table td {
  16. padding: 10px;
  17. }
  18. </style>
  19. <div class="easyui-layout" data-options="fit:true">
  20. <div class="easyui-tabs" data-options="fit:true">
  21. <div title="基础信息" style="padding:5px">
  22. <form id="ff" method="post" class="layui-form" lay-filter="ff">
  23. <fieldset>
  24. @*<legend><input class="easyui-checkbox" type="checkbox" name="ZT" checked="" label="启用" labelPosition="after"></legend>*@
  25. <table>
  26. <tr>
  27. <td>状态:</td>
  28. <td> <input type="checkbox" name="ZT" id="IsActive" lay-skin="primary" title="启用" checked=""></td>
  29. <td>分类:</td>
  30. <td><input id="sjid" name="FLID" type="text" class="easyui-combotree" style="width:300px" /></td>
  31. </tr>
  32. <tr>
  33. <td>表单名:</td>
  34. <td><input type="text" class="easyui-textbox" id="bdm" name="MC" data-options="required:true" value="" style="width:300px" /></td>
  35. <td>标题:</td>
  36. <td><input type="text" class="easyui-textbox" id="bt" name="BT" value="" style="width:300px" /></td>
  37. </tr>
  38. <tr>
  39. <td>处理模式:</td>
  40. <td>
  41. <input type="radio" lay-filter="CLMS" name="CLMS" value="0" title="无需处理" checked>
  42. <input type="radio" lay-filter="CLMS" name="CLMS" value="1" title="需要处理">
  43. </td>
  44. <td>填写限制:</td>
  45. <td>
  46. <input type="radio" lay-filter="TXXZ" name="TXXZ" value="0" title="无限制" checked>
  47. <input type="radio" lay-filter="TXXZ" name="TXXZ" value="1" title="只填写">
  48. <input type="text" class="easyui-numberbox" id="TXCS" value="" style="width:80px" /> 次
  49. </td>
  50. </tr>
  51. <tr>
  52. </tr>
  53. <tr>
  54. <td>填报提醒:</td>
  55. <td>
  56. <input type="radio" name="SFTX" value="1" title="是">
  57. <input type="radio" name="SFTX" value="0" title="否" checked>
  58. </td>
  59. </tr>
  60. <tr>
  61. <td>提醒号码:</td>
  62. <td><input type="text" class="easyui-textbox" id="tel" name="TXHM" value="" style="width:300px" prompt="绑定微信的手机号,多人使用逗号分割" /></td>
  63. <td>邮件推送:</td>
  64. <td><input type="text" class="easyui-textbox" id="mail" name="YJTS" value="" style="width:300px" prompt="接收人的邮箱地址,多人使用逗号隔开" /></td>
  65. </tr>
  66. <tr>
  67. <td> <hr /></td>
  68. </tr>
  69. <tr>
  70. <td>审核提醒:</td>
  71. <td>
  72. <input type="radio" name="SHTX" value="1" title="是">
  73. <input type="radio" name="SHTX" value="0" title="否" checked>
  74. </td>
  75. <td>是否包含附件:</td>
  76. <td>
  77. <input type="radio" name="SHBHFJ" value="1" title="是">
  78. <input type="radio" name="SHBHFJ" value="0" title="否" checked>
  79. </td>
  80. </tr>
  81. <tr>
  82. <td>提醒号码:</td>
  83. <td><input type="text" class="easyui-textbox" id="shtel" name="SHTXHM" value="" style="width:300px" prompt="绑定微信的手机号,多人使用逗号分割" /></td>
  84. <td>邮件推送:</td>
  85. <td><input type="text" class="easyui-textbox" id="shmail" name="SHYJTS" value="" style="width:300px" prompt="接收人的邮箱地址,多人使用逗号隔开" /></td>
  86. </tr>
  87. <tr>
  88. <td>备注:</td>
  89. <td><input type="text" class="easyui-textbox" id="bz" name="BZ" value="" style="width:300px" /> </td>
  90. </tr>
  91. </table>
  92. </fieldset>
  93. </form>
  94. </div>
  95. <div title="填写项目" style="padding:5px">
  96. <div id="fill">
  97. <fm-making-form style="height: 610px;" preview generate-code generate-json ref="fillitem">
  98. </fm-making-form>
  99. </div>
  100. </div>
  101. <div title="回复项目" style="padding:5px">
  102. <div id="reply">
  103. <fm-making-form style="height: 610px;" preview generate-code generate-json ref="replyitem">
  104. </fm-making-form>
  105. </div>
  106. </div>
  107. </div>
  108. <div data-options="region:'south',border:false" style="height:50px;text-align:right; padding:5px">
  109. <button type="button" class="layui-btn layui-btn-normal" id="save">确定</button>
  110. <button type="button" class="layui-btn layui-btn-primary" id="cancel">取消</button>
  111. </div>
  112. <input type="hidden" id="ID" name="ID" value="" />
  113. </div>
  114. <!-- 引入组件库 -->
  115. @*<script src="https://unpkg.com/vue@2/dist/vue.js"></script>
  116. <script src="https://unpkg.com/element-ui/lib/index.js"></script>*@
  117. <script src="~/Content/Scripts/vue.js"></script>
  118. <script src="~/Content/Scripts/plugins/element/element-ui.js"></script>
  119. <script src="~/Content/Scripts/plugins/form-making-advanced@1.4.4.00/dist/FormMaking.umd.js"></script>
  120. <script src="~/ViewModels/SmartIndex.js?v=1.3"></script>
  121. <script>
  122. var id = decodeURI(getQueryString("id"));
  123. var type = decodeURI(getQueryString("type"));//1新增2修改
  124. $(function () {
  125. var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
  126. var fill = new Vue({
  127. el: "#fill",
  128. data: {
  129. fillJson: ''
  130. },
  131. methods: {
  132. getFillJson() {
  133. var json = this.$refs.fillitem.getJSON()
  134. this.fillJson = JSON.stringify(json)
  135. },
  136. setFillJson(setFillJson) {
  137. this.$refs.fillitem.setJSON(JSON.parse(setFillJson))
  138. },
  139. init() {
  140. if (type == 2) {//修改
  141. $('#ID').val(id);
  142. $.ajax({
  143. url: '/SmartForm/BdxxSelect/' + id,
  144. method: 'post',
  145. success: function (data) {
  146. if (data.TXXZ != 0) {
  147. $('#TXCS').numberbox('setValue', data.TXXZ);
  148. data.TXXZ = 1;
  149. }
  150. $('#ff').form('load', data);
  151. if (data.BDNR != "") {
  152. fill.setFillJson(data.BDNR);
  153. }
  154. if (data.BDCLNR != "") {
  155. reply.setReplyJson(data.BDCLNR);
  156. }
  157. if (data.ZT == 0) {
  158. $('#IsActive').prop("checked", false);
  159. }
  160. else {
  161. $('#IsActive').prop("checked", true);
  162. }
  163. if (data.TXXZ == 0) {
  164. $('#TXCS').numberbox('setValue', 0);
  165. $("#TXCS").numberbox({
  166. disabled: true
  167. })
  168. }
  169. if (data.CLMS == 0) {
  170. $('.easyui-tabs').tabs('disableTab', 2);
  171. } else {
  172. $('.easyui-tabs').tabs('enableTab', 2);
  173. }
  174. layui.form.val('ff', {
  175. });
  176. }
  177. })
  178. }
  179. else {
  180. $('.easyui-tabs').tabs('disableTab', 2);//默认禁用回复项目
  181. $('#TXCS').numberbox('setValue', 0);
  182. $("#TXCS").numberbox({
  183. disabled: true
  184. })
  185. }
  186. }
  187. },
  188. computed: {
  189. }, mounted() {
  190. this.init();
  191. }
  192. });
  193. var reply = new Vue({
  194. el: "#reply",
  195. data: {
  196. replyJson: ''
  197. },
  198. methods: {
  199. getReplyJson() {
  200. var json = this.$refs.replyitem.getJSON()
  201. this.replyJson = JSON.stringify(json)
  202. },
  203. setReplyJson(getReplyJson) {
  204. this.$refs.replyitem.setJSON(JSON.parse(getReplyJson))
  205. },
  206. },
  207. computed: {
  208. }
  209. });
  210. $("#sjid").combotree({
  211. lines: true,
  212. animate: true,
  213. method: "get",
  214. idField: 'id',
  215. treeField: 'text',
  216. url: '/SmartForm/GetCategory',
  217. loadFilter: function (data, parent) {
  218. //无数据则显示为叶子节点
  219. if (parent && data.length == 0) {
  220. var node = $(this).tree("getSelected");
  221. if (node) {
  222. $(this).tree("update", {
  223. target: node.target,
  224. state: "open",
  225. iconCls: "icon-file"
  226. });
  227. }
  228. }
  229. if (data) {
  230. return eval(data);
  231. }
  232. },
  233. onLoadSuccess: function (node, data) {
  234. var tree = $("#sjid").combotree("tree");
  235. var node = tree.tree('getRoot');
  236. if (node.text != "无") {
  237. $(this).tree("insert", {
  238. before: node.target,
  239. data: [{
  240. id: '0',
  241. text: '无',
  242. state: "open",
  243. iconCls: "icon-file"
  244. }]
  245. });
  246. }
  247. $(this).tree("select", node.id);
  248. },
  249. onSelect: function (node) {
  250. if (node) {
  251. var t = $("#sjid").combotree('tree').tree("getSelected");
  252. $("#sjid").combotree("setValue", t.id);
  253. }
  254. }
  255. });
  256. $('#save').click(function () {
  257. //获取填写项目JSON
  258. fill.getFillJson();
  259. //获取回复项目JSON
  260. reply.getReplyJson();
  261. var params = ZLPMS.FormToObject('ff');
  262. if (params.ZT == 'on') {
  263. params.ZT = 1;
  264. }
  265. else {
  266. params.ZT = '0'
  267. }
  268. if (params.TXXZ == 1) {
  269. params.TXXZ = $('#TXCS').val() == "" ? 0 : $('#TXCS').val();
  270. }
  271. params.BDNR = escape(fill.fillJson);//表单内容
  272. params.BDCLNR = escape(reply.replyJson);//表单处理内容
  273. if (params.FLID == "" || params.FLID == 0) {
  274. top.ZLPMS.Msg("请选择分类");
  275. return
  276. }
  277. //var params = {
  278. // FLID: roleId,//分类ID
  279. // MC: name,//名称
  280. // BT: sited,//标题
  281. // TXTS: describe,//填写提示
  282. // TXXZ: isEnable,//填写限制
  283. // CLMS: CLMS,//处理模式
  284. // BZ: editType,//备注
  285. // SFTX: SFTX,//是否提醒
  286. // TXHM: TXHM,//提醒号码
  287. // BDNR: fillJson,//表单内容
  288. // BDCLNR: replyJson,//表单处理内容
  289. //};
  290. if (type == 1) {//新增
  291. $.post('/SmartForm/AddSmartFormInfo', params, function (data) {
  292. if (data.code == 200) {
  293. top.ZLPMS.CloseWindow(index);
  294. top.ZLPMS.Msg(data.msg);
  295. } else {
  296. ZLPMS.Msg(data.msg, 2);
  297. }
  298. });
  299. }
  300. else {
  301. params.ID = $('#ID').val();
  302. $.post('/SmartForm/UpdateSmartForm', params, function (data) {
  303. if (data.code == 200) {
  304. top.ZLPMS.CloseWindow(index);
  305. top.ZLPMS.Msg(data.msg);
  306. } else {
  307. ZLPMS.Msg(data.msg, 2);
  308. }
  309. });
  310. }
  311. });
  312. $('#cancel').click(function () {
  313. top.ZLPMS.CloseWindow(index);
  314. });
  315. });
  316. $(document).ready(function () {
  317. ("input", $("#bdm").next("span")).mouseleave(function () {
  318. // 主动触发失去焦点
  319. ("input", $(this).find('input').first()).blur();
  320. if (type == 1) {
  321. $('#bt').textbox('setValue', $('#bdm').textbox('getValue'))
  322. }
  323. });
  324. //填写次数事件
  325. layui.use('form', function () {
  326. var form = layui.form;
  327. form.on('radio(TXXZ)', function (data) {
  328. if (data.value == '0') {
  329. $('#TXCS').numberbox('setValue', 0);
  330. $("#TXCS").numberbox({
  331. disabled: true
  332. })
  333. } else {
  334. $("#TXCS").numberbox({
  335. disabled: false
  336. })
  337. }
  338. });
  339. form.on('radio(CLMS)', function (data) {
  340. if (data.value == '0') {
  341. $('.easyui-tabs').tabs('disableTab', 2);
  342. } else {
  343. $('.easyui-tabs').tabs('enableTab', 2);
  344. }
  345. });
  346. })
  347. });
  348. </script>