customer_create.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. {{include "com/inc.html"}}
  2. <!-- Main Header -->
  3. {{include "com/header.html"}}
  4. <!-- Left side column. 权限菜单 -->
  5. {{include "com/menu.html"}}
  6. <div class="content-wrapper">
  7. <section class="content-header">
  8. <h1>新建客户
  9. </h1>
  10. <ol class="breadcrumb">
  11. <li><a href="#"><i class="fa fa-dashboard"></i> 首页</a></li>
  12. <li><a href="/service/customer/list"> 客户列表</a></li>
  13. <li><a href="#"> 新建客户</a></li>
  14. </ol>
  15. </section>
  16. <!-- Main content -->
  17. <section class="content">
  18. <div class="tab-content">
  19. <div class="nav-tabs-custom">
  20. <ul class="nav nav-tabs edit-step">
  21. <li class="active" data-mode="guide"><a href="#tab_1" data-toggle="tab" aria-expanded="true">客户信息</a></li>
  22. <button class="btn btn-primary btn-sm" style="float: right;margin-top: 7px;margin-right: 10px" onclick="saveCuser()"><i class="fa fa-fw fa-file-text fa-lg"></i>保存客户</button>
  23. </ul>
  24. <div class="tab-content">
  25. <div class="tab-pane active" id="tab_1">
  26. <form class="form-horizontal">
  27. <div class="box box-primary">
  28. <div class="box-header with-border">
  29. <i class="fa fa-tag"></i>
  30. <h3 class="box-title">基本信息</h3>
  31. </div>
  32. <div class="box-body">
  33. <div class="form-group">
  34. <label class="col-sm-2 control-label"><span style="color:red;">* </span>客户名称</label>
  35. <div class="col-sm-3">
  36. <input type="text" class="form-control" id="customername" placeholder="公司名称" required>
  37. </div>
  38. </div>
  39. <div class="form-group">
  40. <label class="col-sm-2 control-label"><span style="color:red;">* </span>销售人员</label>
  41. <div class="col-sm-3">
  42. <input type="text" class="form-control" id="seller" placeholder="销售人员名称" required>
  43. </div>
  44. </div>
  45. <div class="form-group">
  46. <label class="col-sm-2 control-label">客户联系人</label>
  47. <div class="col-sm-3">
  48. <input type="text" class="form-control" id="contract" placeholder="客户联系人名称">
  49. </div>
  50. </div>
  51. <div class="box-header with-border">
  52. <i class="fa fa-tag"></i>
  53. <h3 class="box-title">部门信息</h3>
  54. </div>
  55. <table id="departTable" class="table table-bordered">
  56. <thead>
  57. <div style="margin: 10px 10px 0px;">
  58. <a class="btn btn-default" onclick="showDepart()">新增</a>
  59. <a class="btn btn-default" onclick="modify_Depart()">修改</a>
  60. <a class="btn btn-default" onclick="del_Depart()">删除</a>
  61. </div>
  62. <tr>
  63. <th></th>
  64. <th>编号</th>
  65. <th>部门名称</th>
  66. <th>部门联系人</th>
  67. <th>是否启用</th>
  68. </tr>
  69. </thead>
  70. </table>
  71. </div>
  72. </div>
  73. </form>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </section>
  79. </div>
  80. <!-- 新增部门 -->
  81. <div class="modal fade" id="modal-add-depart" tabindex="-1" role="dialog" aria-hidden="true">
  82. <div class="modal-dialog" style="width: 30%">
  83. <div class="modal-content">
  84. <div class="modal-header">
  85. <div class="modal-header">
  86. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  87. <div class="edit-form">
  88. <div class="edit-info">
  89. <span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span>
  90. <span>新增部门</span>
  91. </div>
  92. <form class="form-horizontal">
  93. <div class="form-group">
  94. <label class="col-sm-3 control-label"><span style="color:red;">* </span>部门名称</label>
  95. <div class="col-sm-6">
  96. <input class="form-control" placeholder="销售部、销售部-xx子部门" id="depart_name"/></div>
  97. </div>
  98. <div class="form-group">
  99. <label class="col-sm-3 control-label">联系人</label>
  100. <div class="col-sm-6">
  101. <input class="form-control" placeholder="输入联系人名称" id="depart_contract"/></div>
  102. </div>
  103. <div class="form-group">
  104. <label class="col-sm-3 control-label">是否启用</label>
  105. <div class="col-sm-6">
  106. <select class="form-control selectpicker" id="isuseSelect">
  107. <option value = 1 selected>是</option>
  108. <option value = 0>否</option>
  109. </select>
  110. </div>
  111. </div>
  112. </form>
  113. </div>
  114. </div>
  115. <div class="modal-footer">
  116. <input type="button" onclick="saveDepart()" class="btn btn-primary saveBtn" value="保存">
  117. <input type="button" onclick="cancelModel()" class="btn btn-default" style="margin-left: 24px"
  118. value="取消">
  119. </div>
  120. </div>
  121. </div>
  122. </div><!-- /.modal -->
  123. </div>
  124. {{include "com/footer.html"}}
  125. <script>
  126. menuActive("/customer/list");
  127. var keyTableChecked = false; //关键词表格数据是否有选中
  128. var keyTableAllChecked = true; //表单数据是否被全选中
  129. var selectIndex = []; //选中的编号
  130. //表单数据
  131. var dataMap = {
  132. "_id": "",
  133. "s_name": "",
  134. "s_customername": "",
  135. "s_salesperson": "",
  136. "i_state": 0,
  137. "s_appid": "",
  138. };
  139. var departArr = []
  140. $(document).ready(function () {
  141. $('#departTable').DataTable({
  142. "paging": false,
  143. "lengthChange": true,
  144. "searching": false,
  145. "ordering": false,
  146. "info": false,
  147. "autoWidth": true,
  148. "language": {
  149. "url": "/dist/js/dataTables.chinese.lang"
  150. },
  151. "fnDrawCallback": function () {
  152. this.api().column(1).nodes().each(function (cell, i) {
  153. cell.innerHTML = i + 1;
  154. });
  155. },
  156. "columns": [
  157. {"data": function() {
  158. return `<input type="checkbox" name="ckb-keyid" onclick="singleSelect(this)" style="text-align: center">`
  159. }, width: "3%"},
  160. {"data": null, width: "5%"},
  161. {"data": "s_name", width: "20%"},
  162. {"data": "s_contract", width: "40%"},
  163. {"data": "i_isuse", render: function (val, a, row) {
  164. tmp = ""
  165. if(val == 1){
  166. tmp="<a href='#' title='停用' onclick='setup(\""+row._id+"\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
  167. }else{
  168. tmp="<a href='#' title='启用' onclick='setup(\""+row._id+"\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
  169. }
  170. return tmp
  171. }, width: "20%" },
  172. ],
  173. });
  174. })
  175. function cancelModel() {
  176. $('#modal-add-depart').modal("hide");
  177. }
  178. function singleSelect(obj) {
  179. var tag = true;
  180. selectIndex.length = 0;
  181. $('input[name="ckb-keyid"]').each(function () {
  182. if (this.checked) {
  183. keyTableChecked = true;
  184. selectIndex.push($(this).parents("tr").index() + 1);
  185. }else {
  186. tag = false
  187. }
  188. });
  189. if (tag) {
  190. keyTableAllChecked = true;
  191. $('#allCheckbox').prop("checked", true);
  192. }else {
  193. keyTableAllChecked = false;
  194. $('#allCheckbox').prop("checked", false);
  195. }
  196. }
  197. function saveCuser() {
  198. var name = $('#customername').val();
  199. var contract = $('#contract').val();
  200. var saleperson = $('#seller').val();
  201. if (name == "" || saleperson == "") {
  202. showTip("请填写必填字段!", 1000)
  203. return
  204. }
  205. dataMap.s_name = name
  206. dataMap.s_customername = contract
  207. dataMap.s_salesperson = saleperson
  208. dataMap["depart"] = JSON.stringify(departArr);
  209. $.ajax({
  210. url: "/service/customer/save",
  211. type: 'POST',
  212. data: dataMap,
  213. success: function (r) {
  214. if (r.rep) {
  215. // showTip("保存成功", 500);
  216. window.location.href="/service/customer/list"
  217. } else {
  218. showTip("保存失败", 500);
  219. }
  220. }
  221. })
  222. }
  223. var depart_flag = -1; // 0:新增,1:修改
  224. function showDepart() {
  225. depart_flag = 0
  226. $('#depart_name').val("");
  227. $('#depart_contract').val("");
  228. $('#modal-add-depart').modal("show")
  229. }
  230. //修改部门
  231. function modify_Depart() {
  232. depart_flag = 1
  233. var index = selectIndex[0] - 1;
  234. $('#depart_name').val(departArr[index].s_name);
  235. $('#depart_contract').val(departArr[index].s_contract);
  236. $('#s_depart_name').val(departArr[index].s_subname)
  237. $("#isuseSelect").val(departArr[index].i_isuse)
  238. $('#modal-add-depart').modal("show");
  239. }
  240. function del_Depart() {
  241. if (keyTableChecked && selectIndex.length > 0) {
  242. showConfirm("确定删除?", function() {
  243. var tmp = []
  244. for (var i in selectIndex) {
  245. var j = selectIndex[i] - 1;
  246. tmp.push(j)
  247. }
  248. departArr = deleteArrayVal(departArr, tmp)
  249. keyTableChecked = false;
  250. if (departArr.length == 0) {
  251. $('#allCheckbox').prop("checked", false);
  252. $('#departTable').dataTable().fnClearTable();
  253. }else {
  254. $('#departTable').dataTable().fnClearTable();
  255. $('#departTable').dataTable().fnAddData(departArr);
  256. }
  257. })
  258. }else {
  259. showTip("请选中需要删除的关键词", 500)
  260. }
  261. }
  262. function saveDepart() {
  263. var name = $('#depart_name').val();
  264. var contract = $('#depart_contract').val();
  265. if (name != "") {
  266. var depart = {};
  267. depart["s_name"] = name;
  268. depart["s_contract"] = contract;
  269. depart["s_subname"] = $('#s_depart_name').val()
  270. depart["i_isuse"] = $('#isuseSelect').val()
  271. if (depart_flag == 1) {
  272. var index = selectIndex[0] - 1;
  273. departArr.splice(index, 1, depart)
  274. }else {
  275. departArr.push(depart)
  276. }
  277. $('#departTable').dataTable().fnClearTable();
  278. $('#departTable').dataTable().fnAddData(departArr);
  279. $('#modal-add-depart').modal('hide');
  280. }else {
  281. showTip("部门名称不能为空", 500)
  282. }
  283. }
  284. function setup(val, bol) {
  285. if (dataMap._id == "") {
  286. showTip("请先保存客户信息再操作", 1000)
  287. return
  288. }
  289. var msg = ""
  290. var i_isuse = 0
  291. if (bol) {
  292. msg = "确定启用?"
  293. i_isuse = 1
  294. }else {
  295. msg = "确定停用?"
  296. i_isuse = 0
  297. }
  298. showConfirm(msg, function() {
  299. $.ajax({
  300. url:"/service/customer/setup",
  301. type:"post",
  302. data:{"_id": val, "i_isuse": i_isuse},
  303. success:function(r){
  304. if(r.rep){
  305. window.location.reload()
  306. }else{
  307. showTip("启用失败", 1000);
  308. }
  309. }
  310. })
  311. });
  312. }
  313. </script>