insert.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. fromShowAll: false,
  5. form: [{
  6. label: "姓名",
  7. error: false,
  8. errMsg: "",
  9. type: "text",
  10. value: "",
  11. placeholder: "联系人名称",
  12. valueName: "name",
  13. required: true,
  14. checking: "base"
  15. }, {
  16. label: "联系方式",
  17. error: false,
  18. errMsg: "",
  19. hint: "",
  20. type: "radio",
  21. value: "0",
  22. radioList: [{
  23. id: '0',
  24. name: '手机号'
  25. }, {
  26. id: '1',
  27. name: '座机电话'
  28. }],
  29. valueName: "isTelephone", //绑定的字段名称
  30. required: true, //必填
  31. interrupt: true,
  32. checking: `true`,
  33. phonenumber: "",
  34. telephone: ["", ""]
  35. }, {
  36. label: "手机号",
  37. error: false,
  38. errMsg: "",
  39. type: "number",
  40. value: "",
  41. placeholder: "联系人手机号码",
  42. valueName: "phonenumber",
  43. required: true,
  44. checking: "phone"
  45. }, {
  46. disabled: false,
  47. errMsg: "",
  48. error: false,
  49. interrupt: false,
  50. label: "关联客户",
  51. params: {
  52. "content": {
  53. "pageNumber": 1,
  54. "pageSize": 20,
  55. "where": {
  56. "condition": ""
  57. }
  58. },
  59. "id": 2025041710422802,
  60. },
  61. placeholder: "选择医院管理",
  62. query: "&showName=enterprisename&idname=sys_enterpriseid",
  63. required: false,
  64. type: "route",
  65. url: "/packageA/select/setclient/select",
  66. value: [],
  67. valueName: "sys_enterpriseids"
  68. }, {
  69. label: "微信",
  70. error: false,
  71. errMsg: "",
  72. type: "text",
  73. value: "",
  74. placeholder: "联系人微信",
  75. valueName: "wechatnum",
  76. required: false
  77. }, {
  78. label: "邮箱",
  79. error: false,
  80. errMsg: "",
  81. type: "textarea",
  82. value: "",
  83. placeholder: "请填写",
  84. valueName: "email",
  85. required: false,
  86. checking: "mail"
  87. }, {
  88. label: "传真",
  89. error: false,
  90. errMsg: "",
  91. type: "textarea",
  92. value: "",
  93. placeholder: "请填写",
  94. valueName: "fax",
  95. required: false,
  96. }, {
  97. label: "部门",
  98. error: false,
  99. errMsg: "",
  100. type: "text",
  101. value: "",
  102. placeholder: "联系人所属部门",
  103. valueName: "depname",
  104. required: true,
  105. checking: "base"
  106. }, {
  107. label: "职位",
  108. error: false,
  109. errMsg: "",
  110. type: "text",
  111. value: "",
  112. placeholder: "联系人职位",
  113. valueName: "position",
  114. required: true,
  115. checking: "base"
  116. }, {
  117. label: "性别",
  118. error: false,
  119. errMsg: "",
  120. type: "sex",
  121. value: "男",
  122. placeholder: "联系人性别",
  123. valueName: "sex",
  124. required: false,
  125. checking: "base"
  126. }, {
  127. label: "生日",
  128. error: false,
  129. errMsg: "",
  130. type: "date",
  131. value: "",
  132. placeholder: "联系人生日",
  133. valueName: "birthday",
  134. required: false
  135. }, {
  136. label: "家庭地址",
  137. error: false,
  138. errMsg: "",
  139. type: "textarea",
  140. value: "",
  141. placeholder: "家庭地址",
  142. valueName: "homeaddress",
  143. required: false,
  144. checking: "base"
  145. }, {
  146. label: "群组",
  147. error: false,
  148. errMsg: "",
  149. type: "route",
  150. url: "/packageA/select/group/select",
  151. value: "",
  152. query: "&radio=true",
  153. placeholder: "选择群组",
  154. valueName: "group",
  155. required: false,
  156. checking: "base",
  157. interrupt: false
  158. }, {
  159. label: "偏好",
  160. error: false,
  161. errMsg: "",
  162. type: "text",
  163. value: "",
  164. valueName: "preference",
  165. required: false,
  166. checking: "base"
  167. }, {
  168. label: "爱好",
  169. error: false,
  170. errMsg: "",
  171. type: "text",
  172. value: "",
  173. valueName: "hobby",
  174. required: false,
  175. checking: "base"
  176. }, {
  177. label: "备注",
  178. error: false,
  179. errMsg: "",
  180. type: "textarea",
  181. value: "",
  182. placeholder: "请填写",
  183. valueName: "remarks",
  184. required: false,
  185. checking: "base"
  186. }],
  187. disabled: true,
  188. "content": {
  189. sys_phonebookid: 0,
  190. },
  191. loading: false
  192. },
  193. onLoad(options) {
  194. getApp().globalData.Language.getLanguagePackage(this, '联系人')
  195. let form = this.data.form;
  196. if (options.data) {
  197. let item = JSON.parse(options.data),
  198. arr = item.phonenumber.split("-");
  199. item.isTelephone = arr.length == 2 ? "1" : "0";
  200. item.group = [item.groupname, [item.sys_phonebookgroupid]]
  201. this.data.content.sys_phonebookid = item.sys_phonebookid;
  202. this.setData({
  203. form: form.map(v => {
  204. if (v.valueName == 'phonenumber') {
  205. v = arr.length == 2 ? {
  206. label: "电话",
  207. error: false,
  208. errMsg: "",
  209. type: "telephone",
  210. value: arr,
  211. placeholder: "联系人手机号码",
  212. valueName: "telephone",
  213. required: true,
  214. checking: "telephone"
  215. } : {
  216. label: "手机号",
  217. error: false,
  218. errMsg: "",
  219. type: "number",
  220. value: arr[0],
  221. placeholder: "联系人手机号码",
  222. valueName: "phonenumber",
  223. required: true,
  224. checking: "phone"
  225. }
  226. } else {
  227. v.value = item[v.valueName] || v.value || '';
  228. try {
  229. if (v.valueName == 'sys_enterpriseids') {
  230. v.params.content.sys_phonebookid = item.sys_phonebookid
  231. }
  232. } catch (error) {
  233. }
  234. }
  235. if (v.valueName == 'group') v.disabled = item.leaderid != wx.getStorageSync('userMsg').userid
  236. return v
  237. }),
  238. "disabled": false
  239. });
  240. } else if (options.name) {
  241. let index = form.findIndex(v => v.label == '群组');
  242. form[index].value = [options.name, [options.id || 0]]
  243. this.setData({
  244. form
  245. })
  246. }
  247. },
  248. /* 提交数据 */
  249. submit() {
  250. this.setData({
  251. loading: true
  252. })
  253. try {
  254. const content = {
  255. ...this.data.content,
  256. ...this.selectComponent("#Form").submit()
  257. };
  258. if (content.telephone) {
  259. content.phonenumber = content.telephone.join("-");
  260. delete(content.telephone)
  261. }
  262. content.groupname = content.group[0] || '';
  263. content.sys_phonebookgroupid = content.group[1][0] || 0;
  264. content.sys_enterpriseids = content.sys_enterpriseids[1] || [];
  265. delete(content.group)
  266. _Http.basic({
  267. "id": "20220831164503",
  268. content
  269. }).then(res => {
  270. this.setData({
  271. loading: false
  272. })
  273. console.log("编辑联系人", res)
  274. wx.showToast({
  275. title: res.code != '1' ? res.msg : getApp().globalData.Language.getMapText('保存成功'),
  276. icon: "none",
  277. mask: true
  278. });
  279. if (res.code == '1') {
  280. if (content.sys_phonebookid == 0) {
  281. setTimeout(() => {
  282. const {
  283. sys_phonebookid,
  284. sa_project_contactsid,
  285. contactsid,
  286. } = res.data;
  287. wx.redirectTo({
  288. url: `/packageA/contacts/detail?id=${sys_phonebookid||0}&sa_project_contactsid=${sa_project_contactsid||0}&contactsid=${contactsid||0}`,
  289. })
  290. }, 500)
  291. } else {
  292. getCurrentPages().forEach(v => {
  293. if (v.__route__ == 'packageA/contacts/detail') {
  294. v.getDetail(true);
  295. } else if (v.__route__ == 'packageA/project/detail') {
  296. let model = v.selectComponent("#Contacts");
  297. if (model) model.getList(model.data.sa_projectid, true)
  298. } else if (v.__route__ == 'packageA/setclient/detail') {
  299. let model = v.selectComponent("#Contacts");
  300. if (model) model.getList(model.data.sys_enterpriseid, true)
  301. } else if (v.__route__ == 'packageA/saleClue/detail') {
  302. let model = v.selectComponent("#Contacts");
  303. if (model) model.getList(model.data.sat_orderclueid, true)
  304. }
  305. })
  306. setTimeout(() => {
  307. wx.navigateBack();
  308. }, 500)
  309. }
  310. }
  311. });
  312. } catch (error) {
  313. this.setData({
  314. loading: false
  315. })
  316. }
  317. },
  318. /* 打断 */
  319. interrupt({
  320. detail
  321. }) {
  322. let {
  323. data,
  324. form
  325. } = detail;
  326. if (data.label == '联系方式') {
  327. if (data.value == 0) {
  328. data.telephone = form[2].value;
  329. form[2] = {
  330. label: "手机号",
  331. error: false,
  332. errMsg: "",
  333. type: "number",
  334. value: data.phonenumber,
  335. placeholder: "联系人手机号码",
  336. valueName: "phonenumber",
  337. required: true,
  338. checking: "phone"
  339. }
  340. } else {
  341. data.phonenumber = form[2].value;
  342. form[2] = {
  343. label: "电话",
  344. error: false,
  345. errMsg: "",
  346. type: "telephone",
  347. value: data.telephone,
  348. placeholder: "联系人手机号码",
  349. valueName: "telephone",
  350. required: true,
  351. checking: "telephone"
  352. }
  353. };
  354. this.setData({
  355. form
  356. })
  357. } else if (data.label == '群组') {
  358. console.log(data, form)
  359. }
  360. },
  361. /* 表单是否填写完成 */
  362. onConfirm({
  363. detail
  364. }) {
  365. this.setData({
  366. disabled: detail
  367. })
  368. },
  369. /* 是否显示全部 */
  370. changefromShowAll({
  371. detail
  372. }) {
  373. this.setData({
  374. fromShowAll: detail
  375. })
  376. },
  377. })