insert.js 11 KB

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