add.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. {extend name="../../base/view/common/base" /}
  2. {block name="style"}
  3. <style>
  4. .layui-table-1 .tr-2,.layui-table-1 .tr-3{display:none;}
  5. .layui-table-2 .tr-1,.layui-table-2 .tr-3{display:none;}
  6. .layui-table-3 .tr-1,.layui-table-3 .tr-2{display:none;}
  7. .layui-table-4 .tr-1,.layui-table-4 .tr-2,.layui-table-4 .tr-3,.layui-table-4 .tr-4{display:none;}
  8. </style>
  9. {/block}
  10. <!-- 主体 -->
  11. {block name="body"}
  12. <form class="layui-form p-4">
  13. {if condition="$id eq 0"}
  14. <h3 class="pb-3">新建消息</h3>
  15. <table id="messageTable" class="layui-table layui-table-form layui-table-1">
  16. <tr>
  17. <td class="layui-td-gray-2">接收人类型</td>
  18. <td>
  19. <input type="radio" name="types" lay-filter="types" value="1" title="同事" checked>
  20. <input type="radio" name="types" lay-filter="types" value="2" title="部门">
  21. <input type="radio" name="types" lay-filter="types" value="3" title="岗位">
  22. <input type="radio" name="types" lay-filter="types" value="4" title="全部">
  23. </td>
  24. </tr>
  25. <tr class="tr-1">
  26. <td class="layui-td-gray">收件人<font>*</font></td>
  27. <td>
  28. <input type="text" name="unames" value="" placeholder="请选择收件人" readonly class="layui-input picker-admin" data-type="2">
  29. <input type="hidden" name="uids" value="">
  30. </td>
  31. </tr>
  32. <tr class="tr-2">
  33. <td class="layui-td-gray">收件部门<font>*</font></td>
  34. <td>
  35. <input type="text" name="dnames" value="" placeholder="请选择收件部门" readonly class="layui-input picker-oa" data-types="department" data-type="2">
  36. <input type="hidden" name="dids" value="">
  37. </td>
  38. </tr>
  39. <tr class="tr-3">
  40. <td class="layui-td-gray">收件岗位<font>*</font></td>
  41. <td>
  42. <input type="text" name="pnames" value="" placeholder="请选择收件岗位" readonly class="layui-input picker-oa" data-types="position" data-type="2"">
  43. <input type="hidden" name="pids" value="">
  44. </td>
  45. </tr>
  46. <tr class="tr-4">
  47. <td class="layui-td-gray">抄送人</td>
  48. <td>
  49. <input type="text" name="copy_names" value="" placeholder="请选择抄送人" readonly class="layui-input picker-admin" data-type="2">
  50. <input type="hidden" name="copy_uids" value="">
  51. </td>
  52. </tr>
  53. <tr>
  54. <td class="layui-td-gray">消息主题<font>*</font></td>
  55. <td><input type="text" name="title" value="" lay-verify="required" lay-reqText="请输入消息主题" placeholder="请输入消息主题" class="layui-input" lay-verify="required"></td>
  56. </tr>
  57. <tr>
  58. <td class="layui-td-gray">消息内容<font>*</font></td>
  59. <td><textarea name="content" placeholder="请输入消息内容" class="layui-textarea" style="height: 200px;" lay-verify="required" lay-reqText="请输入消息内容"></textarea></td>
  60. </tr>
  61. <tr>
  62. <td class="layui-td-gray"><div class="layui-input-inline">附件</div> <div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></div></td>
  63. <td>
  64. <div class="layui-row" id="uploadBox">
  65. <input type="hidden" data-type="file" name="file_ids" value="">
  66. </div>
  67. </td>
  68. </tr>
  69. </table>
  70. {else/}
  71. <h3 class="pb-3">编辑消息</h3>
  72. <table id="messageTable" class="layui-table layui-table-form layui-table-{$detail.types}">
  73. <tr>
  74. <td class="layui-td-gray-2">接收人类型</td>
  75. <td>
  76. <input type="radio" name="types" lay-filter="types" value="1" title="同事" {eq name="$detail.types" value="1"}checked{/eq}>
  77. <input type="radio" name="types" lay-filter="types" value="2" title="部门" {eq name="$detail.types" value="2"}checked{/eq}>
  78. <input type="radio" name="types" lay-filter="types" value="3" title="岗位" {eq name="$detail.types" value="3"}checked{/eq}>
  79. <input type="radio" name="types" lay-filter="types" value="4" title="全部" {eq name="$detail.types" value="4"}checked{/eq}>
  80. </td>
  81. </tr>
  82. <tr class="tr-1">
  83. <td class="layui-td-gray">收件人<font>*</font></td>
  84. <td>
  85. <input type="text" name="unames" value="{$detail.unames|default=''}" placeholder="请选择收件人" readonly class="layui-input picker-admin" data-type="2">
  86. <input type="hidden" name="uids" value="{$detail.uids|default=''}">
  87. </td>
  88. </tr>
  89. <tr class="tr-2">
  90. <td class="layui-td-gray">收件部门<font>*</font></td>
  91. <td>
  92. <input type="text" name="dnames" value="{$detail.dnames|default=''}" placeholder="请选择收件部门" readonly class="layui-input picker-oa" data-types="department" data-type="2">
  93. <input type="hidden" name="dids" value="{$detail.dids|default=''}">
  94. </td>
  95. </tr>
  96. <tr class="tr-3">
  97. <td class="layui-td-gray">收件岗位<font>*</font></td>
  98. <td>
  99. <input type="text" name="pnames" value="{$detail.pnames|default=''}" placeholder="请选择收件岗位" readonly class="layui-input picker-oa" data-types="position" data-type="2"">
  100. <input type="hidden" name="pids" value="{$detail.pids|default=''}">
  101. </td>
  102. </tr>
  103. <tr class="tr-4">
  104. <td class="layui-td-gray">抄送人</td>
  105. <td>
  106. <input type="text" name="copy_names" value="{$detail.copy_names|default=''}" placeholder="请选择抄送人" readonly class="layui-input picker-admin" data-type="2">
  107. <input type="hidden" name="copy_uids" value="{$detail.copy_uids|default=''}">
  108. </td>
  109. </tr>
  110. <tr>
  111. <td class="layui-td-gray">消息主题<font>*</font></td>
  112. <td><input type="text" name="title" value="{$detail.title|default=''}" lay-verify="required" lay-reqText="请输入消息主题" placeholder="请输入消息主题" class="layui-input" lay-verify="required"></td>
  113. </tr>
  114. <tr>
  115. <td class="layui-td-gray">消息内容<font>*</font></td>
  116. <td>
  117. <textarea name="content" placeholder="请输入消息内容" class="layui-textarea" style="height: 200px;" lay-verify="required" lay-reqText="请输入消息内容">{$detail.content|default=''}</textarea>
  118. {if condition="($detail.msg_id > 0)"}
  119. <table class="layui-table" style="margin-top:10px">
  120. <tr>
  121. <td class="layui-td-gray-2">引用消息内容</td>
  122. <td>{$detail.from_content}</td>
  123. </tr>
  124. {notempty name="$detail.from_file_array"}
  125. <tr>
  126. <td class="layui-td-gray" style="vertical-align:top">引用消息附件</td>
  127. <td>
  128. <div class="layui-row">
  129. {volist name="$detail.from_file_array" id="vo"}
  130. <div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
  131. {/volist}
  132. </div>
  133. </td>
  134. </tr>
  135. {/notempty}
  136. </table>
  137. {/if}
  138. </td>
  139. </tr>
  140. <tr>
  141. <td class="layui-td-gray"><div class="layui-input-inline">附件</div> <div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></div></td>
  142. <td colspan="5">
  143. <div class="layui-row" id="uploadBox">
  144. <input type="hidden" name="file_ids" data-type="file" value="{$detail.file_ids}">
  145. {notempty name="$detail.file_ids"}
  146. {volist name="$detail.file_array" id="vo"}
  147. <div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo)}</div>
  148. {/volist}
  149. {/notempty}
  150. </div>
  151. </td>
  152. </tr>
  153. </table>
  154. {/if}
  155. <div class="pt-4">
  156. <input type="hidden" value="{$id}" name="id">
  157. <input type="hidden" value="{$msg_id}" name="msg_id">
  158. <button class="layui-btn" lay-submit="" lay-filter="draftform">存为草稿</button>
  159. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即发送</button>
  160. </div>
  161. </form>
  162. {/block}
  163. <!-- /主体 -->
  164. <!-- 脚本 -->
  165. {block name="script"}
  166. <script>
  167. const moduleInit = ['tool','oaPicker','uploadPlus'];
  168. function gouguInit() {
  169. var form = layui.form,tool=layui.tool,uploadPlus=layui.uploadPlus;
  170. let uploada = new uploadPlus();
  171. //监听保存到草稿并发送
  172. form.on('submit(webform)', function(data){
  173. data.field.is_draft=1;
  174. let callback = function (e) {
  175. layer.msg(e.msg);
  176. if (e.code == 0) {
  177. tool.sideClose(1000);
  178. }
  179. }
  180. let clickbtn = $(this);
  181. tool.post("/home/message/save", data.field, callback,clickbtn);
  182. return false;
  183. });
  184. //监听保存到草稿
  185. form.on('submit(draftform)', function(data){
  186. data.field.is_draft=2;
  187. let callback = function (e) {
  188. layer.msg(e.msg);
  189. if (e.code == 0) {
  190. tool.sideClose(1000);
  191. }
  192. }
  193. let clickbtn = $(this);
  194. tool.post("/home/message/save", data.field, callback),clickbtn;
  195. return false;
  196. });
  197. //选择收件人类型
  198. form.on('radio(types)', function (data) {
  199. $('#messageTable').attr('class','layui-table layui-table-form layui-table-'+data.value);
  200. });
  201. }
  202. </script>
  203. {/block}
  204. <!-- /脚本 -->