editQuestion.html 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>问题编辑</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <script src="../../js/min-loader-next.js"></script>
  10. <style type="text/css">
  11. .layui-anim-upbit {
  12. animation-name: layui-upbit;
  13. z-index: 1000 !important;
  14. }
  15. </style>
  16. </head>
  17. <body class="">
  18. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
  19. </fieldset>
  20. <form class="layui-form" action="javascript:void(0)" id = "form2">
  21. <div class="layui-form-item">
  22. <div class="layui-inline">
  23. <label class="layui-form-label">*问题标题:</label>
  24. <div class="layui-input-inline">
  25. <input type="text" name="name" id="name" lay-verify="name" maxlength="20" autocomplete="off" placeholder="请输入问题标题" class="layui-input">
  26. </div>
  27. </div>
  28. <div class="layui-inline">
  29. <label class="layui-form-label">*严重程度:</label>
  30. <div class="layui-input-inline">
  31. <select name="degree" id="degree">
  32. <option value="1" selected>1</option>
  33. <option value="2">2</option>
  34. <option value="3">3</option>
  35. <option value="4">4</option>
  36. </select>
  37. </div>
  38. </div>
  39. <div class="layui-form-item">
  40. <div class="layui-inline">
  41. <label class="layui-form-label">*系统/模块:</label>
  42. <div class="layui-input-inline" style = "width: 400px;">
  43. <select name="module" id = "module" lay-search>
  44. </select>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="layui-form-item">
  49. <div class="layui-inline">
  50. <label class="layui-form-label">*期望完成时间:</label>
  51. <div class="layui-input-inline">
  52. <input type="text" name="expectTime" id="expectTime" maxlength="10" autocomplete="off" placeholder="请选择日期" class="layui-input" readOnly>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. <div class="layui-form-item">
  58. <div class="layui-inline">
  59. <label class="layui-form-label">*重现步骤:</label>
  60. <div class="layui-input-inline">
  61. <textarea name="step" id="step" class="layui-textarea" style="width:1024px;height:500px;"></textarea>
  62. </div>
  63. </div>
  64. </div>
  65. <div class="layui-upload" style="margin-left: 40px; padding-bottom: 70px;">
  66. <button type="button" class="layui-btn" id="test2">图片上传</button>
  67. <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
  68. 预览图:
  69. <div class="layui-upload-list" id="demo2"></div>
  70. </blockquote>
  71. </div>
  72. <div class="layui-form-item box-button">
  73. <div class="layui-input-block">
  74. <button class="layui-btn" lay-submit="" lay-filter="demo1">提交</button>
  75. </div>
  76. </div>
  77. </form>
  78. <!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
  79. <script>
  80. //建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例
  81. $(function(){
  82. layui.use(['form', 'laydate', 'upload'], function() {
  83. var form = layui.form;
  84. var laydate = layui.laydate;
  85. var upload = layui.upload;
  86. var oqId = getQueryString("oqId");
  87. $.request({
  88. action : 'ObsQuestionManage/questionQuery',
  89. data : {'oqId': oqId},
  90. success : function(data) {
  91. var oqModule = data.data.oqModule;
  92. var oqExpectTime = data.data.oqExpectTime;
  93. $("#name").val(data.data.oqName);
  94. var options = $("#degree").children("option");
  95. for(let i = 0; i < options.length; i ++) {
  96. if($(options[i]).attr("value") != data.data.oqDegree) {
  97. $(options[i]).removeAttr("selected");
  98. } else {
  99. $(options[i]).attr("selected", true);
  100. }
  101. }
  102. if(isEmpty(data.data.oqStep)) {
  103. $("#step").val('[步骤]\n\n[结果]\n\n[期望]\n');
  104. } else {
  105. $("#step").val(decodeURIComponent(window.atob(data.data.oqStep)));
  106. }
  107. laydate.render({
  108. elem: '#expectTime' //指定元素
  109. ,trigger: 'click'
  110. ,value: oqExpectTime.substring(0,4) + "-" + oqExpectTime.substring(4,6) + "-" + oqExpectTime.substring(6,8)
  111. });
  112. var picture = data.data.picture;
  113. if(!isEmpty(picture)) {
  114. var pictureUrl = picture.split(",");
  115. for(var i = 0; i < pictureUrl.length; i++) {
  116. $('#demo2').append('<img onclick="isDelete(this)" width="100px" style="margin:10px;" height="100px" src="'+ pictureUrl[i] +'" class="layui-upload-img">')
  117. }
  118. }
  119. // 查询模块数据
  120. $.request({
  121. action : 'ObsQuestionManage/menuList',
  122. data : {},
  123. success : function(data) {
  124. let optionHtml = '<option value="" selected></option>';
  125. for(let menu of data.data) {
  126. if(oqModule == menu.id){
  127. optionHtml += '<option value="' + menu.id + '" selected>' + menu.menuName + '</option>';
  128. } else {
  129. optionHtml += '<option value="' + menu.id + '">' + menu.menuName + '</option>';
  130. }
  131. }
  132. $("#module").html(optionHtml);
  133. form.render();
  134. },
  135. error : function(data2) {
  136. layer.alert(data2.MINErrorMessage, {
  137. icon: 5,
  138. title: "提示"
  139. });
  140. }
  141. });
  142. },
  143. error : function(data2) {
  144. layer.alert(data2.MINErrorMessage, {
  145. icon: 5,
  146. title: "提示"
  147. });
  148. }
  149. });
  150. //监听提交
  151. form.on('submit(demo1)', function(data) {
  152. var param = {};
  153. param.id = getQueryString("oqId");
  154. param.name = data.field.name;
  155. param.degree = data.field.degree;
  156. param.module = data.field.module;
  157. param.expectTime = data.field.expectTime;
  158. param.step = window.btoa(encodeURI($("#step").val()));
  159. var categoryImg = new Array();
  160. var imgNode = $("#demo2").find("img");
  161. for(var index = 0; index < imgNode.length; index ++) {
  162. var url = $(imgNode[index]).attr("src");
  163. categoryImg.push(url);
  164. }
  165. param.pictureUrl = categoryImg.join(",");
  166. $.request({
  167. action : 'ObsQuestionManage/questionEdit',
  168. data : param,
  169. success : function(data) {
  170. layer.alert('保存成功!', function(){
  171. window.parent.location.reload();
  172. parent.layer.close(layer.index);
  173. });
  174. },
  175. error : function(data2) {
  176. layer.alert(data2.MINErrorMessage, {
  177. icon: 5,
  178. title: "提示"
  179. });
  180. }
  181. });
  182. })
  183. upload.render({
  184. elem: '#test2'
  185. ,url: '../../FileManageAction/uploadFile' //此处配置你自己的上传接口即可
  186. ,multiple: false
  187. ,data: {
  188. fileType : '00',
  189. MINView : 'JSON'
  190. }
  191. ,before: function(obj){
  192. load = layer.load();
  193. }
  194. ,done: function(res){
  195. layer.close(load);
  196. if (res.MINStatus != 0) {
  197. layer.alert(res.MINErrorMessage, {
  198. icon: 5,
  199. title: "提示"
  200. });
  201. return;
  202. }
  203. var url = res.data.src;
  204. url = window.location.origin + url.replace("http://127.0.0.1", "")
  205. $('#demo2').append('<img onclick="isDelete(this)" width="100px" style="margin:10px;" height="100px" src="'+ url +'" class="layui-upload-img">')
  206. }
  207. });
  208. })
  209. })
  210. function isDelete(t){
  211. layer.confirm('确认删除此图片?', function(index){
  212. $(t).remove();
  213. layer.close(index);//关闭弹窗
  214. });
  215. }
  216. </script>
  217. </body>
  218. </html>