| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 |
- const _Http = getApp().globalData.http,
- getTime = require("../../utils/getTime");
- Page({
- data: {
- isReset: true,
- showAll: false,
- form: [{
- label: "任务标题",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "",
- valueName: "title",
- checking: "base",
- required: true
- }, {
- label: "任务要求",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "",
- valueName: "remarks",
- checking: "base",
- required: false
- }, {
- label: "执行人",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/select/contacts/select",
- value: "",
- params: {
- "id": "20221018122201",
- "content": {
- "ownertable": "sys_task",
- "ownerid": 0,
- "where": {
- "condition": "",
- "withoutselect": 1
- }
- }
- },
- query: "&radio=true&idname=userid",
- interrupt: true,
- placeholder: "选择任务执行人",
- valueName: "principal",
- checking: "base",
- required: true
- }, {
- label: "协助人",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/select/contacts/select",
- value: "",
- params: {
- "id": "20221018122201",
- "content": {
- "ownertable": "sys_task",
- "ownerid": 0,
- "where": {
- "condition": "",
- "withoutselect": 1
- }
- }
- },
- query: "&idname=userid",
- interrupt: true,
- placeholder: "选择任务协助人",
- valueName: "member",
- checking: "base",
- required: false
- }, {
- label: "开始日期",
- error: false,
- errMsg: "",
- type: "date",
- start: getTime.formatTime(new Date(), '-').split(' ')[0],
- value: "",
- placeholder: "开始日期",
- interrupt: true,
- valueName: "starttime",
- checking: "base",
- required: true
- }],
- "content": {
- "sys_taskid": 0
- },
- disabled: true
- },
- onLoad(options) {
- if (options.data) {
- let data = JSON.parse(options.data);
- console.log(data)
- if (options.group) {
- let group = JSON.parse(options.group)
- let leader = group.findIndex(v => v.userid == data.leader[0].userid);
- if (leader != -1) {
- data.principal = [group[leader].name, [group[leader].userid]]
- group.splice(leader, 1)
- data.member = [group.map(s => s.name), group.map(s => s.userid - 0)]
- }
- }
- data.starttime = data.starttime.split(" ")[0]
- data.endtime = data.endtime ? data.endtime.split(" ")[0] : ""
- let form = this.data.form.concat([{
- label: "结束日期",
- error: false,
- errMsg: "",
- type: "date",
- start: data.value,
- value: "",
- interrupt: true,
- placeholder: "结束日期",
- valueName: "endtime",
- checking: "base",
- required: false
- }, {
- label: "提醒时间",
- error: false,
- errMsg: "",
- type: "namber",
- value: "",
- placeholder: "结束时间前几天提醒",
- valueName: "remindday",
- checking: "base",
- required: false
- }]);
- this.setData({
- "content.sys_taskid": data.sys_taskid,
- "content.ownertable": data.ownertable || "sys_task",
- "content.ownerid": data.ownerid || 0,
- isReset: false,
- disabled: false,
- form: form.map(v => {
- if (data[v.valueName]) v.value = data[v.valueName];
- return v
- })
- })
- }
- if (options.ownertable) this.setData({
- "content.ownertable": options.ownertable || "sys_task",
- "content.ownerid": options.ownerid || 0
- })
- },
- /* 打断处理form */
- interrupt(e) {
- let {
- data,
- form,
- temporary
- } = e.detail;
- console.log(data, form, temporary)
- let obj = null,
- index = null;
- switch (temporary.item.label) {
- case '开始日期':
- obj = {
- label: "结束日期",
- error: false,
- errMsg: "",
- type: "date",
- start: data.value,
- value: "",
- interrupt: true,
- placeholder: "结束日期",
- valueName: "endtime",
- checking: "base",
- required: false
- };
- let index = form.findIndex(v => v.label == '结束日期');
- index == -1 ? form.push(obj) : form[index] = obj;
- this.setData({
- isReset: false
- })
- break;
- case '结束日期':
- index = form.findIndex(v => v.label == '提醒时间');
- if (index == -1) form.push({
- label: "提醒时间",
- error: false,
- errMsg: "",
- type: "namber",
- value: "",
- placeholder: "结束时间前几天提醒",
- valueName: "remindday",
- checking: "base",
- required: false
- });
- break;
- case '执行人':
- index = form.findIndex(v => v.label == '协助人');
- form[index].params.excludeid = data.value[1][0];
- if (index != -1 && form[index].value[1]) {
- let i = form[index].value[1].findIndex(v => v == data.value[1][0]);
- if (i != -1) {
- form[index].value[0].splice(i, 1);
- form[index].value[1].splice(i, 1);
- if (form[index].value[0].length == 0) form[index].value = '';
- }
- }
- temporary.item.value = data.value;
- form[temporary.index] = temporary.item;
- wx.navigateBack()
- this.selectComponent("#Form").confirm();
- break;
- case '协助人':
- index = form.findIndex(v => v.label == '执行人');
- if (index != -1 && form[index].value[1]) {
- if (data.value[1].findIndex(v => v == form[index].value[1][0]) != -1) form[index].value = ''
- }
- temporary.item.value = data.value;
- form[temporary.index] = temporary.item;
- wx.navigateBack()
- break;
- };
- this.setData({
- form
- })
- },
- submit() {
- let content = {
- ...this.data.content,
- ...this.selectComponent("#Form").submit()
- };
- content.leaderuserid = content.principal[1][0];
- let userids = content.member.length ? content.member[1] : "";
- delete(content.principal)
- delete(content.member)
- _Http.basic({
- "id": 20221211112101,
- content
- }).then(res => {
- console.log("创建任务成功", res)
- wx.showToast({
- title: res.msg == '成功' ? "保存成功" : res.msg,
- icon: "none"
- });
- _Http.basic({
- "id": 20220930103601,
- "content": {
- "ownertable": "sys_task",
- "ownerid": res.data.sys_taskid,
- "userids": userids,
- "justuserids": 1
- }
- }, false).then(e => {
- console.log("设置团队", e)
- })
- if (res.msg == '成功') setTimeout(() => {
- getCurrentPages().forEach(v => {
- if (v.__route__ == 'packageA/work/index') {
- let index = v.data.list.findIndex(v => v.sys_taskid == res.data.sys_taskid);
- if (index == -1) {
- v.data.list.unshift(res.data)
- v.setData({
- list: v.data.list,
- "content.total": v.data.content.total + 1
- })
- } else {
- v.setData({
- [`list[${index}]`]: res.data
- })
- }
- }
- });
- let pages = getCurrentPages(),
- page = pages[pages.length - 2];
- if (page.__route__ == 'packageA/work/index') {
- wx.redirectTo({
- url: '/packageA/work/detail?id=' + res.data.sys_taskid,
- fail(err) {
- console.log(err)
- }
- })
- } else if (page.__route__ == 'packageA/work/detail') {
- wx.navigateBack();
- page.getDetail();
- } else {
- let p = page.selectComponent("#Work");
- if (p) p.getList(0, true);
- wx.navigateBack();
- }
- }, 500);
- })
- },
- reset() {
- let form = this.data.form;
- form[4].value = "";
- form.splice(5, 2);
- this.setData({
- isReset: true,
- disabled: true,
- form
- });
- wx.showToast({
- title: '重置成功',
- icon: "none"
- })
- },
- // 是否显示全部
- onChange({
- detail
- }) {
- this.setData({
- showAll: detail
- })
- },
- /* 表单必填项是否完成 */
- onConfirm({
- detail
- }) {
- this.setData({
- disabled: detail
- })
- }
- })
|