edit.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <form class="layui-form p-page">
  5. <h3 class="pb-2">编辑采购合同</h3>
  6. <table class="layui-table layui-table-form">
  7. <tr>
  8. <td class="layui-td-gray">合同名称<font>*</font></td>
  9. <td colspan="3"><input type="text" name="name" value="{$detail.name}" lay-verify="required" lay-reqText="请输入合同名称" autocomplete="off" placeholder="请输入合同名称" class="layui-input"></td>
  10. <td class="layui-td-gray">合同性质</td>
  11. <td>{$detail.types_name}</td>
  12. </tr>
  13. <tr>
  14. <td class="layui-td-gray-3">签约主体(甲方)<font>*</font></td>
  15. <td colspan="3">
  16. <select name="subject_id" lay-verify="required" lay-reqText="请选择签约主体公司">
  17. <option value="">请选择签约主体公司</option>
  18. {volist name=":get_base_data('Enterprise')" id="v"}
  19. <option value="{$v.id}" {eq name="$v.id" value="$detail.subject_id" } selected{/eq}>{$v.title}</option>
  20. {/volist}
  21. </select>
  22. </td>
  23. <td class="layui-td-gray-2">合同始止日期<font>*</font></td>
  24. <td id="barDate" style="width:320px;">
  25. <div class="layui-input-inline" style="width:150px;">
  26. <input type="text" class="layui-input" id="start_time" value="{$detail.start_time}" placeholder="选择时间区间" readonly name="start_time" lay-verify="required" lay-reqText="请选择合同开始时间">
  27. </div>
  28. ~
  29. <div class="layui-input-inline" style="width:150px;">
  30. <input type="text" class="layui-input" id="end_time" value="{$detail.end_time}" placeholder="选择时间区间" readonly name="end_time" lay-verify="required" lay-reqText="请选择合同结束时间">
  31. </div>
  32. </td>
  33. </tr>
  34. <tr>
  35. <td class="layui-td-gray-3">供应商名称(乙方)<font>*</font></td>
  36. <td colspan="3">
  37. {eq name="$is_supplier" value="1"}
  38. <input type="text" name="supplier" autocomplete="off" value="{$detail.supplier}" readonly lay-verify="required" lay-reqText="请输入供应商名称" placeholder="请输入供应商名称" class="layui-input supplier-picker">
  39. {else/}
  40. <input type="text" name="supplier" autocomplete="off" value="{$detail.supplier}" lay-verify="required" lay-reqText="请输入供应商名称" placeholder="请输入供应商名称" class="layui-input">
  41. {/eq}
  42. <input type="hidden" name="supplier_id" value="{$detail.supplier_id}">
  43. </td>
  44. <td class="layui-td-gray-3">签约供应商代表<font>*</font></td>
  45. <td><input type="text" name="contact_name" value="{$detail.contact_name}" autocomplete="off" lay-verify="required" lay-reqText="请输入供应商代表姓名" placeholder="请输入供应商代表姓名" class="layui-input"></td>
  46. </tr>
  47. <tr>
  48. <td class="layui-td-gray-3">供应商联系地址</td>
  49. <td colspan="3"><input type="text" name="contact_address" value="{$detail.contact_address}" autocomplete="off" placeholder="请输入供应商联系地址" class="layui-input"></td>
  50. <td class="layui-td-gray-3">供应商联系电话</td>
  51. <td><input type="text" name="contact_mobile" value="{$detail.contact_mobile}" autocomplete="off" placeholder="请输入供应商联系电话" class="layui-input"></td>
  52. </tr>
  53. <tr>
  54. <td class="layui-td-gray">合同金额<font>*</font></td>
  55. <td>
  56. {eq name="$detail.types" value="1"}
  57. <input type="text" name="cost" value="{$detail.cost}" lay-verify="required|number" lay-reqText="请输入合同金额,数字" placeholder="请输入合同金额,数字" autocomplete="off" class="layui-input">
  58. {/eq}
  59. {eq name="$detail.types" value="2"}
  60. <input type="text" name="cost" value="{$detail.cost}" lay-verify="required|number" lay-reqText="请完善产品信息" placeholder="完善产品信息,合同金额自动计算" readonly class="layui-input layui-input-readonly">
  61. {/eq}
  62. {eq name="$detail.types" value="3"}
  63. <input type="text" name="cost" value="{$detail.cost}" lay-verify="required|number" lay-reqText="请完善服务信息" placeholder="完善服务信息,合同金额自动计算" readonly class="layui-input layui-input-readonly">
  64. {/eq}
  65. </td>
  66. <td class="layui-td-gray">合同类别<font>*</font></td>
  67. <td>
  68. <select name="cate_id" lay-verify="required" lay-reqText="请选择合同类别">
  69. <option value="">请选择合同类别</option>
  70. {volist name=":get_base_data('ContractCate');" id="vo"}
  71. <option value="{$vo.id}" {eq name="$vo.id" value="$detail.cate_id"} selected{/eq}>{$vo.title}</option>
  72. {/volist}
  73. </select>
  74. </td>
  75. <td class="layui-td-gray">合同编号<font>*</font></td>
  76. <td><input type="text" name="code" value="{$detail.code}" autocomplete="off" {eq name="$is_codeno" value="1"}readonly{/eq} lay-verify="required" lay-reqText="请输入合同编号" placeholder="请输入合同编号" class="layui-input"></td>
  77. </tr>
  78. <tr>
  79. <td colspan="6"><strong>签订信息</strong></td>
  80. </tr>
  81. <tr>
  82. <td class="layui-td-gray-2">合同签订人<font>*</font></td>
  83. <td>
  84. <input type="text" name="sign_name" value="{$detail.sign_name}" autocomplete="off" readonly lay-verify="required" lay-reqText="请选择合同签订人" placeholder="请选择合同签订人" class="layui-input picker-diy">
  85. <input type="hidden" name="sign_uid" value="{$detail.sign_uid}">
  86. </td>
  87. <td class="layui-td-gray-2">合同所属部门<font>*</font></td>
  88. <td>
  89. <input type="text" name="sign_department" value="{$detail.sign_department}" autocomplete="off" readonly lay-verify="required" lay-reqText="请选择合同所属部门" placeholder="请选择合同所属部门" class="layui-input picker-oa" data-types="department">
  90. <input type="hidden" name="did" value="{$detail.did}">
  91. </td>
  92. <td class="layui-td-gray-2">合同签订日期<font>*</font></td>
  93. <td><input type="text" name="sign_time" value="{$detail.sign_time}" readonly lay-verify="required" lay-reqText="请选择合同签订日期" placeholder="请选择合同签订日期" class="layui-input tool-time"></td>
  94. </tr>
  95. <tr>
  96. <td class="layui-td-gray-2">合同制定人</td>
  97. <td>
  98. <input type="text" name="prepared_name" value="{$detail.prepared_name}" autocomplete="off" readonly placeholder="请选择合同制定人" class="layui-input picker-admin">
  99. <input type="hidden" name="prepared_uid" value="{$detail.prepared_uid}">
  100. </td>
  101. <td class="layui-td-gray-2">合同保管人</td>
  102. <td>
  103. <input type="text" name="keeper_name" value="{$detail.keeper_name}" autocomplete="off" readonly placeholder="请选择合同保管人" class="layui-input picker-admin">
  104. <input type="hidden" name="keeper_uid" value="{$detail.keeper_uid}">
  105. </td>
  106. <td class="layui-td-gray">合同共享人员</td>
  107. <td colspan="3">
  108. <input type="text" name="share_names" value="{$detail.share_names}" autocomplete="off" readonly placeholder="请选择共享人员" class="layui-input picker-admin" data-type="2">
  109. <input type="hidden" name="share_ids" value="{$detail.share_ids}">
  110. </td>
  111. </tr>
  112. {eq name="$detail.types" value="2"}{include file="/purchase/edit_purchased"}{/eq}
  113. {eq name="$detail.types" value="3"}{include file="/purchase/edit_service"}{/eq}
  114. <tr>
  115. <td colspan="6"><strong>相关附件</strong></td>
  116. </tr>
  117. <tr>
  118. <td class="layui-td-gray">
  119. <button type="button" class="layui-btn layui-btn-sm" id="uploadBtn"><i class="layui-icon"></i>附件上传</button>
  120. </td>
  121. <td colspan="5">
  122. <div class="layui-row" id="uploadBox">
  123. <input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
  124. {notempty name="$detail.file_ids"}
  125. {volist name="$detail.file_array" id="vo"}
  126. <div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo)}</div>
  127. {/volist}
  128. {/notempty}
  129. </div>
  130. </td>
  131. </tr>
  132. <tr>
  133. <td colspan="6"><strong>备注信息</strong></td>
  134. </tr>
  135. <tr>
  136. <td colspan="6"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea">{$detail.remark|default=''}</textarea></td>
  137. </tr>
  138. </table>
  139. <div class="pt-4">
  140. <input type="hidden" name="id" value="{$detail.id}">
  141. <input type="hidden" name="types" value="{$detail.types}">
  142. <input type="hidden" name="scene" value="edit">
  143. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交保存</button>
  144. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  145. </div>
  146. </form>
  147. {/block}
  148. <!-- /主体 -->
  149. <!-- 脚本 -->
  150. {block name="script"}
  151. <script>
  152. const moduleInit = ['tool','oaPicker','uploadPlus'];
  153. function gouguInit() {
  154. var form = layui.form,tool=layui.tool,laydate = layui.laydate, oaPicker = layui.oaPicker,uploadPlus = layui.uploadPlus;
  155. if(typeof purchased_fun==='function'){
  156. purchased_fun(layui);
  157. }
  158. if(typeof service_fun==='function'){
  159. service_fun(layui);
  160. }
  161. //日期范围
  162. laydate.render({
  163. elem: '#barDate',
  164. range: ['#start_time', '#end_time']
  165. });
  166. //附件上传
  167. var attachment = new uploadPlus({
  168. "target":'uploadBtn',
  169. "targetBox":'uploadBox'
  170. });
  171. //选择员工弹窗
  172. $('body').on('click','.picker-diy',function () {
  173. let that = $(this);
  174. let ids=that.next().val()+'',names = that.val()+'';
  175. oaPicker.employeeInit({
  176. ids:ids,
  177. names:names,
  178. type:1,//1是单选,2是多选
  179. callback:function(data){
  180. //这里是选择后的回调方法,可以根据具体需求自定义写哦
  181. let select_id=[],select_name=[];
  182. for(var a=0; a<data.length;a++){
  183. select_id.push(data[a].id);
  184. select_name.push(data[a].name);
  185. }
  186. that.val(select_name.join(','));
  187. that.next().val(select_id.join(','));
  188. }
  189. });
  190. });
  191. //选择供应商弹窗
  192. $('body').on('click','.supplier-picker',function () {
  193. let that = $(this),ids = [],titles=[],contact_name=[],contact_mobile=[],address=[],map = {},types = 'supplier',type = 1;
  194. let callback = function(data){
  195. for ( var i = 0; i <data.length; i++){
  196. ids.push(data[i].id);
  197. titles.push(data[i].title);
  198. contact_name.push(data[i].contact_name);
  199. contact_mobile.push(data[i].contact_mobile);
  200. address.push(data[i].address);
  201. }
  202. that.val(titles.join(','));
  203. that.next().val(ids.join(','));
  204. $('[name="contact_name"]').val(contact_name.join(','));
  205. $('[name="contact_mobile"]').val(contact_mobile.join(','));
  206. $('[name="contact_address"]').val(address.join(','));
  207. }
  208. oaPicker.picker(types,type,callback,map);
  209. });
  210. //监听提交
  211. form.on('submit(webform)', function (data) {
  212. let callback = function (e) {
  213. layer.msg(e.msg);
  214. if (e.code == 0) {
  215. tool.sideClose(1000);
  216. }
  217. }
  218. let clickbtn = $(this);
  219. tool.post("/contract/purchase/add", data.field, callback,clickbtn);
  220. return false;
  221. });
  222. }
  223. </script>
  224. {/block}
  225. <!-- /脚本 -->