formInfo.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>表单预览</title>
  8. <link rel="stylesheet" href="../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../assets/module/admin.css?v=312"/>
  10. <style>
  11. .flow-default li {
  12. display: inline-block;
  13. margin: 0 5px;
  14. font-size: 14px;
  15. width: 18%;
  16. margin-bottom: 10px;
  17. height: 100px;
  18. line-height: 100px;
  19. text-align: center;
  20. background-color: #eee;
  21. }
  22. ul.customerlist {
  23. min-height: 400px;
  24. padding-left: 0
  25. }
  26. ul.customerlist .tips {
  27. text-align: center;
  28. line-height: 400px;
  29. font-size: 16px;
  30. color: #aaa
  31. }
  32. ul.customerlist li {
  33. min-height: 50px;
  34. line-height: 40px;
  35. margin: 10px 0;
  36. box-shadow: 0 0 20px #ddd;
  37. list-style: none;
  38. margin-left: 0;
  39. padding: 10px
  40. }
  41. ul.customerlist li .delete {
  42. color: rgba(255, 0, 0, .6);
  43. background: #eee;
  44. padding: 5px 10px;
  45. right: 2px;
  46. top: 2px;
  47. border-radius: 5px;
  48. z-index: 2;
  49. line-height: 15px;
  50. cursor: pointer;
  51. font-size: 12px;
  52. float: right;
  53. transition: all ease .3s
  54. }
  55. ul.customerlist li .delete:hover {
  56. background: #ddd;
  57. color: rgba(255, 0, 0, 1)
  58. }
  59. ul.customerlist li.placeholder {
  60. position: relative;
  61. visibility: hidden;
  62. transition: all 1s ease
  63. }
  64. ul.customerlist li.placeholder:before {
  65. position: absolute
  66. }
  67. ul.customerlist li.dragged {
  68. box-shadow: 0 0 10px #999
  69. }
  70. ul.customerlist li .customeritem {
  71. cursor: pointer
  72. }
  73. ul.customerlist li .customeritem .value {
  74. border: 1px solid #ddd;
  75. border-radius: 3px;
  76. height: 40px;
  77. color: #969696;
  78. padding-left: 5px
  79. }
  80. ul.customerlist li .customeritem .value.textarea {
  81. height: 80px
  82. }
  83. ul.customerlist li .customeritem .value.file {
  84. height: 100px;
  85. width: 100px;
  86. line-height: 100px;
  87. text-align: center
  88. }
  89. </style>
  90. </head>
  91. <body>
  92. <!-- 页面加载loading -->
  93. <div class="page-loading">
  94. <div class="ball-loader">
  95. <span></span><span></span><span></span><span></span>
  96. </div>
  97. </div>
  98. <!-- 正文开始 -->
  99. <div class="layui-fluid">
  100. <div class="layui-row">
  101. <!-- <div class="layui-col-xs6">-->
  102. <!-- <div class="grid-demo grid-demo-bg1">-->
  103. <!-- <div class="layui-card">-->
  104. <!-- <div class="layui-card-header">-->
  105. <!-- 元素-->
  106. <!-- </div>-->
  107. <!-- <div class="layui-card-body">-->
  108. <!-- <div class="layui-row" style="height: 700px;">-->
  109. <!-- <ul class="flow-default">-->
  110. <!-- <li class="add" data-target="_oneline">单行输入框</li>-->
  111. <!-- <li class="add" data-target="_multiline">多行输入域</li>-->
  112. <!-- <li class="add" data-target="_password">密码框</li>-->
  113. <!-- <li class="add" data-target="_select">下拉选择</li>-->
  114. <!-- <li class="add" data-target="_label">纯文本</li>-->
  115. <!-- <li class="add" data-target="_checkbox">多选框</li>-->
  116. <!-- <li class="add" data-target="_radio">单选框</li>-->
  117. <!-- <li class="add" data-target="_data">日期</li>-->
  118. <!-- </ul>-->
  119. <!-- </div>-->
  120. <!-- <div style="display:none;">-->
  121. <!-- <ul class="originlist" style="display:none;">-->
  122. <!-- <li class="_oneline">-->
  123. <!-- <span class="delete fa fa-trash-o"> 删除</span>-->
  124. <!-- <div class="customeritem">-->
  125. <!-- <span class="key" data-title="标题">标题</span>-->
  126. <!-- <i class="layui-icon">&#xe642;</i>-->
  127. <!-- <div class="value input" data-type="text" data-placeholder="请填写标题">请填写标题</div>-->
  128. <!-- </div>-->
  129. <!-- </li>-->
  130. <!-- <li class="_multiline">-->
  131. <!-- <span class="delete fa fa-trash-o">删除</span>-->
  132. <!-- <div class="customeritem">-->
  133. <!-- <span class="key" data-title="说明">说明</span>-->
  134. <!-- <i class="layui-icon">&#xe642;</i>-->
  135. <!-- <div class="value textarea" data-type="textarea" data-placeholder="请填写说明">请填写说明</div>-->
  136. <!-- </div>-->
  137. <!-- </li>-->
  138. <!-- <li class="_password">-->
  139. <!-- <span class="delete fa fa-trash-o">删除</span>-->
  140. <!-- <div class="customeritem">-->
  141. <!-- <span class="key" data-title="说明">密码框</span>-->
  142. <!-- <i class="layui-icon">&#xe642;</i>-->
  143. <!-- <input type="password" name="password" data-type="password" value="" autocomplete="off" data-placeholder="请输入密码" class="layui-input">-->
  144. <!-- </div>-->
  145. <!-- </li>-->
  146. <!-- <li class="_select">-->
  147. <!-- <span class="delete fa fa-trash-o">删除</span>-->
  148. <!-- <div class="customeritem">-->
  149. <!-- <span class="key" data-title="搜索选择框">下拉选择框</span>-->
  150. <!-- <i class="layui-icon">&#xe642;</i>-->
  151. <!-- <select name="select" data-type="select-search" lay-search="" lay-ignore>-->
  152. <!-- <option>下拉选择框</option>-->
  153. <!-- </select>-->
  154. <!-- <input type="text" name="text" value="" data-type="label" placeholder="选择框下拉值(1,2,3)" class="layui-input">-->
  155. <!-- </div>-->
  156. <!-- </li>-->
  157. <!-- <li class="_label">-->
  158. <!-- <span class="delete fa fa-trash-o">删除</span>-->
  159. <!-- <div class="customeritem">-->
  160. <!-- <span class="key" data-title="纯文本">纯文本</span>-->
  161. <!-- <i class="layui-icon">&#xe642;</i>-->
  162. <!-- <input type="text" name="text" type="label" value="" data-type="label" placeholder="辅助文字" class="layui-input">-->
  163. <!-- </div>-->
  164. <!-- </li>-->
  165. <!-- <li class="_checkbox">-->
  166. <!-- <span class="delete fa fa-trash-o">删除</span>-->
  167. <!-- <div class="customeritem">-->
  168. <!-- <span class="key" data-title="复选框">复选框</span>-->
  169. <!-- <i class="layui-icon">&#xe642;</i>-->
  170. <!-- <input type="checkbox" data-type="checkbox" name="option1" lay-skin="primary" title="选项1">选项1-->
  171. <!-- <input type="checkbox" name="option2" lay-skin="primary" title="选项2">选项2-->
  172. <!-- <input type="text" name="text" value="" placeholder="复选框值(1,2,3)" class="layui-input">-->
  173. <!-- </div>-->
  174. <!-- </li>-->
  175. <!-- <li class="_radio">-->
  176. <!-- <span class="delete fa fa-trash-o">删除</span>-->
  177. <!-- <div class="customeritem">-->
  178. <!-- <span class="key" data-title="单选框">单选框</span>-->
  179. <!-- <i class="layui-icon">&#xe642;</i>-->
  180. <!-- <input type="radio" data-type="radio" name="optionsRadios" value="选项1" title="选项1" checked="">选项1-->
  181. <!-- <input type="radio" name="optionsRadios" value="选项2" title="选项2">选项2-->
  182. <!-- <input type="text" name="text" value="" placeholder="单选框值(1,2)" class="layui-input">-->
  183. <!-- </div>-->
  184. <!-- </li>-->
  185. <!-- <li class="_data">-->
  186. <!-- <span class="delete fa fa-trash-o">删除</span>-->
  187. <!-- <div class="customeritem">-->
  188. <!-- <span class="key" data-title="日期">日期</span>-->
  189. <!-- <i class="layui-icon">&#xe642;</i>-->
  190. <!-- <input type="text" name="date" data-type="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">-->
  191. <!-- </div>-->
  192. <!-- </li>-->
  193. <!-- </ul>-->
  194. <!-- <form class="layui-form" action="">-->
  195. <!-- <div class="layui-form-item">-->
  196. <!-- <label class="layui-form-label">开关-默认开</label>-->
  197. <!-- <div class="layui-input-block">-->
  198. <!-- <input type="checkbox" checked="" name="status" lay-skin="switch">-->
  199. <!-- </div>-->
  200. <!-- </div>-->
  201. <!-- <div class="layui-form-item">-->
  202. <!-- <label class="layui-form-label">验证日期</label>-->
  203. <!-- <div class="layui-input-block">-->
  204. <!-- <input type="text" name="date" id="date" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">-->
  205. <!-- </div>-->
  206. <!-- </div>-->
  207. <!-- <div class="layui-form-item">-->
  208. <!-- <div class="layui-input-block">-->
  209. <!-- <button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>-->
  210. <!-- <button type="reset" class="layui-btn layui-btn-primary">重置</button>-->
  211. <!-- </div>-->
  212. <!-- </div>-->
  213. <!-- </form>-->
  214. <!-- </div>-->
  215. <!-- </div>-->
  216. <!-- </div>-->
  217. <!-- </div>-->
  218. <!-- </div>-->
  219. <!-- <div class="layui-col-xs6" style="height: 700px">-->
  220. <div class="grid-demo">
  221. <div class="layui-card">
  222. <div class="layui-card-header">
  223. 表单数据
  224. </div>
  225. <div class="layui-card-body">
  226. <ul class="customerlist">
  227. </ul>
  228. </div>
  229. </div>
  230. </div>
  231. </div>
  232. </div>
  233. <!-- js部分 -->
  234. <script type="text/javascript" src="../../assets/libs/layui/layui.js"></script>
  235. <script type="text/javascript" src="../../assets/js/common.js?v=312"></script>
  236. <script>
  237. </script>
  238. <script>
  239. layui.use(['layer', 'form', 'table', 'laydate', 'util', 'upload', 'zTree', 'admin', 'uParas', 'element', 'baseCache'], function () {
  240. var $ = layui.jquery;
  241. var layer = layui.layer;
  242. var form = layui.form;
  243. var admin = layui.admin;
  244. var uParas = layui.uParas;
  245. var element = layui.element, laydate = layui.laydate;
  246. /**
  247. * @Author: NanKeYang
  248. * @Description: 用户操作必带参数
  249. * @Data: 2020/1/8 15:17
  250. */
  251. var aId = layui.baseCache.getAId();
  252. var cId = layui.baseCache.getCId();
  253. var id = uParas.getUrlParam("id");
  254. var url = uParas.baseUrl + "/3rd/flow/queryById";
  255. admin.req(url, {id: id, aId: aId, cId: cId}, function (res) {
  256. if (res.code === 1) {
  257. var data = res.data;
  258. var json = JSON.parse(data.formJson);
  259. for (var i = 0; i < json.length; i++) {
  260. $('.customerlist').append('<li>' + html(json[i]) + '</li>');
  261. }
  262. }
  263. });
  264. function html(htmlTagData) {
  265. var html = '';
  266. html += `<span class="key" data-title="${htmlTagData.title}">${htmlTagData.title}</span>`;
  267. html += `<div class="value input" data-type="text" data-placeholder="${htmlTagData.userVal}">${htmlTagData.userVal}</div>`;
  268. // if (htmlTagData.type == "select-search") {
  269. // html += ` <select name="select" data-type="select-search" lay-search="" lay-ignore>
  270. // <option>下拉选择框</option>
  271. // </select>`;
  272. //
  273. // } else {
  274. // html += `<div class="value input" data-type="text" data-placeholder="${htmlTagData.userVal}">${htmlTagData.userVal}</div>`;
  275. // }
  276. return html;
  277. }
  278. // $('.add').on('click', function () {
  279. // var that = $(this);
  280. // var target = that.data('target');
  281. // $('.customerlist').append('<li> ' + $('.originlist>.' + target).html() + '</li>');
  282. // $("ul.customerlist").sortable();
  283. // //off 先取消绑定,否则会调用多次
  284. // $('.customeritem>i').off('click').on('click', modifytitle);
  285. // $('.delete').off('click').on('click', deleteitem);
  286. // $('.tips').hide();
  287. // // form.render();
  288. // });
  289. //
  290. // $('.showjson').on('click', function () {
  291. // if ($('.customerlist .customeritem').length == 0) return;
  292. // var temp = [];
  293. // var t;
  294. // $('.customerlist .customeritem').each(function (index, element) {
  295. // t = $(this).children();
  296. // var valIndex = t.length - 1;
  297. // temp.push({"type": $(t[2]).data('type'), "title": $(t[0]).data('title'), "value": t[valIndex].value});
  298. // })
  299. // console.log(temp);
  300. // $('.console').html(JSON.stringify(temp))
  301. // })
  302. //
  303. // function modifytitle(e) {
  304. // var that = $(this).parent();
  305. // var key = that.find('.key').eq(0);
  306. // var value = that.find('.value').eq(0);
  307. // layer.prompt({title: '请填写标题,并确认', formType: 0}, function (text, index) {
  308. // layer.close(index);
  309. // if ($.trim(text).length > 8) {
  310. // layer.msg("标题长度不能超过8位");
  311. // } else if ($.trim(text).length > 0) {
  312. // key.data('title', text).html(text);
  313. // if (value.data('type') != 'file')
  314. // value.data('placeholder', text).html('请填写' + text);
  315. // }
  316. // });
  317. // }
  318. function deleteitem(e) {
  319. var that = $(this);
  320. var parent = that.parent();
  321. parent.remove();
  322. if ($('.customerlist .customeritem').length == 0) $('.tips').show();
  323. }
  324. laydate.render({
  325. elem: '#date'
  326. });
  327. });
  328. </script>
  329. </body>
  330. </html>