add.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. const _Http = getApp().globalData.http,
  2. getTime = require("../../utils/getTime");
  3. Page({
  4. data: {
  5. showAll: false,
  6. form: [{
  7. label: "任务标题",
  8. error: false,
  9. errMsg: "",
  10. type: "textarea",
  11. value: "",
  12. placeholder: "",
  13. valueName: "title",
  14. checking: "base",
  15. required: true
  16. }, {
  17. label: "任务要求",
  18. error: false,
  19. errMsg: "",
  20. type: "textarea",
  21. value: "",
  22. placeholder: "",
  23. valueName: "remarks",
  24. checking: "base",
  25. required: false
  26. }, {
  27. label: "负责人",
  28. error: false,
  29. errMsg: "",
  30. type: "route",
  31. url: "/packageA/select/contacts/select",
  32. model: "#Form",
  33. value: "",
  34. radio: true,
  35. params: {
  36. "id": "20221018122201",
  37. idname: "userid",
  38. "content": {
  39. "ownertable": "sys_task",
  40. "ownerid": 0,
  41. "where": {
  42. "condition": "",
  43. "withoutselect": 1
  44. }
  45. }
  46. },
  47. placeholder: "选择任务负责人",
  48. valueName: "principal",
  49. checking: "base",
  50. required: true
  51. }, {
  52. label: "参与人",
  53. error: false,
  54. errMsg: "",
  55. type: "route",
  56. url: "/packageA/select/contacts/select",
  57. model: "#Form",
  58. value: "",
  59. params: {
  60. "id": "20221018122201",
  61. idname: "userid",
  62. "content": {
  63. "ownertable": "sys_task",
  64. "ownerid": 0,
  65. "where": {
  66. "condition": "",
  67. "withoutselect": 1
  68. }
  69. }
  70. },
  71. placeholder: "选择任务参与人",
  72. valueName: "member",
  73. checking: "base",
  74. required: false
  75. }, {
  76. label: "开始日期",
  77. error: false,
  78. errMsg: "",
  79. type: "date",
  80. start: getTime.formatTime(new Date(), '-').split(' ')[0],
  81. value: "",
  82. placeholder: "开始日期",
  83. interrupt: true,
  84. valueName: "starttime",
  85. checking: "base",
  86. required: true
  87. }, {
  88. label: "开始时间",
  89. error: false,
  90. errMsg: "",
  91. type: "time",
  92. value: "",
  93. interrupt: true,
  94. placeholder: "开始时间",
  95. valueName: "starttime1",
  96. checking: "base",
  97. required: false
  98. }],
  99. "content": {
  100. "sys_taskid": 0,
  101. },
  102. disabled: true
  103. },
  104. onLoad(options) {
  105. if (options.data) {
  106. let data = JSON.parse(options.data);
  107. console.log(data)
  108. if (options.group) {
  109. let group = JSON.parse(options.group)
  110. let leader = group.findIndex(v => v.userid == data.leader[0].userid);
  111. if (leader != -1) {
  112. data.principal = [group[leader].name, [group[leader].userid]]
  113. group.splice(leader, 1)
  114. data.member = [group.map(s => s.name), group.map(s => s.userid-0)]
  115. }
  116. }
  117. data.starttime1 = data.starttime.split(" ")[1]
  118. data.starttime = data.starttime.split(" ")[0]
  119. data.endtime1 = data.endtime ? data.endtime.split(" ")[1] : ""
  120. data.endtime = data.endtime ? data.endtime.split(" ")[0] : ""
  121. let form = this.data.form.concat([{
  122. label: "截止日期",
  123. error: false,
  124. errMsg: "",
  125. type: "date",
  126. start: data.value,
  127. value: "",
  128. interrupt: true,
  129. placeholder: "截止日期",
  130. valueName: "endtime",
  131. checking: "base",
  132. required: false
  133. }, {
  134. label: "截止时间",
  135. error: false,
  136. errMsg: "",
  137. type: "time",
  138. value: "",
  139. interrupt: true,
  140. placeholder: "截止时间",
  141. valueName: "endtime1",
  142. checking: "base",
  143. required: false
  144. }, {
  145. label: "提醒时间",
  146. error: false,
  147. errMsg: "",
  148. type: "namber",
  149. value: "",
  150. placeholder: "结束时间前几天提醒",
  151. valueName: "remindday",
  152. checking: "base",
  153. required: false
  154. }]);
  155. this.setData({
  156. "content.sys_taskid": data.sys_taskid,
  157. "content.ownertable": data.ownertable || "sys_task",
  158. "content.ownerid": data.ownerid || 0,
  159. disabled: false,
  160. form: form.map(v => {
  161. if (data[v.valueName]) v.value = data[v.valueName];
  162. return v
  163. })
  164. })
  165. }
  166. if (options.ownertable) this.setData({
  167. "content.ownertable": options.ownertable || "sys_task",
  168. "content.ownerid": options.ownerid || 0
  169. })
  170. },
  171. /* 打断处理form */
  172. interrupt(e) {
  173. let {
  174. data,
  175. form
  176. } = e.detail;
  177. if (data.label == '开始日期') {
  178. let obj = {
  179. label: "截止日期",
  180. error: false,
  181. errMsg: "",
  182. type: "date",
  183. start: data.value,
  184. value: "",
  185. interrupt: true,
  186. placeholder: "截止日期",
  187. valueName: "endtime",
  188. checking: "base",
  189. required: false
  190. };
  191. let index = form.findIndex(v => v.label == '截止时间');
  192. index == -1 ? form.push(obj) : form[index] = obj;
  193. } else if (data.label == '截止日期') {
  194. let i = form.findIndex(v => v.label == '截止时间');
  195. if (i == -1) form.push({
  196. label: "截止时间",
  197. error: false,
  198. errMsg: "",
  199. type: "time",
  200. value: "00:00",
  201. interrupt: true,
  202. placeholder: "截止时间",
  203. valueName: "endtime1",
  204. checking: "base",
  205. required: false
  206. });
  207. let obj = {
  208. label: "提醒时间",
  209. error: false,
  210. errMsg: "",
  211. type: "namber",
  212. value: "",
  213. placeholder: "结束时间前几天提醒",
  214. valueName: "remindday",
  215. checking: "base",
  216. required: false
  217. };
  218. let index = form.findIndex(v => v.label == '提醒时间');
  219. index == -1 ? form.push(obj) : form[index] = pbj;
  220. }
  221. this.setData({
  222. form
  223. })
  224. },
  225. submit() {
  226. let content = {
  227. ...this.data.content,
  228. ...this.selectComponent("#Form").submit()
  229. };
  230. content.starttime = content.starttime + ' ' + content.starttime1 || "";
  231. content.endtime = content.endtime + (content.endtime1 ? ' ' + content.endtime1 : "");
  232. delete(content.starttime1)
  233. delete(content.endtime1)
  234. content.leaderuserid = content.principal[1][0];
  235. let userids = content.member.length ? content.member[1] : "";
  236. delete(content.principal)
  237. delete(content.member)
  238. _Http.basic({
  239. "id": 20221211112101,
  240. content
  241. }).then(res => {
  242. console.log("创建任务成功", res)
  243. wx.showToast({
  244. title: res.msg == '成功' ? "保存成功" : res.msg,
  245. icon: "none"
  246. });
  247. _Http.basic({
  248. "id": 20220930103601,
  249. "content": {
  250. "ownertable": "sys_task",
  251. "ownerid": res.data.sys_taskid,
  252. "userids": userids,
  253. "justuserids": 1
  254. }
  255. }, false).then(e => {
  256. console.log("设置团队", e)
  257. })
  258. if (res.msg == '成功') setTimeout(() => {
  259. getCurrentPages().forEach(v => {
  260. if (v.__route__ == 'packageA/work/index') {
  261. let index = v.data.list.findIndex(v => v.sys_taskid == res.data.sys_taskid);
  262. if (index == -1) {
  263. v.data.list.unshift(res.data)
  264. v.setData({
  265. list: v.data.list,
  266. "content.total": v.data.content.total + 1
  267. })
  268. } else {
  269. v.setData({
  270. [`list[${index}]`]: res.data
  271. })
  272. }
  273. }
  274. });
  275. let pages = getCurrentPages(),
  276. page = pages[pages.length - 2];
  277. if (page.__route__ == 'packageA/work/index') {
  278. wx.redirectTo({
  279. url: '/packageA/work/detail?id=' + res.data.sys_taskid,
  280. fail(err) {
  281. console.log(err)
  282. }
  283. })
  284. } else if (page.__route__ == 'packageA/work/detail') {
  285. wx.navigateBack();
  286. page.getDetail();
  287. } else {
  288. let p = page.selectComponent("#Work");
  289. if (p) p.getList(0, true);
  290. wx.navigateBack();
  291. }
  292. }, 500);
  293. })
  294. },
  295. // 是否显示全部
  296. onChange({
  297. detail
  298. }) {
  299. this.setData({
  300. showAll: detail
  301. })
  302. },
  303. /* 表单必填项是否完成 */
  304. onConfirm({
  305. detail
  306. }) {
  307. this.setData({
  308. disabled: detail
  309. })
  310. }
  311. })