import { releaseNotice, fetchNoticeTemplate, } from '../../../../services/notice/fetchNotice'; Page({ data: { notice: { //发布者id authorId: '', //发布者名字 authorName: '', //通知类型id typeId: 2, //通知子类型id subTypeId: 1, //通知标题 title: '', //通知内容 content: '', //通知图片 picUrl: null, //通知链接 bodyUrl: null, //是否需要签收 needSigned: false, //接受用户场景类型 receiverType: '-1', //接受用户区县 district: '0', //接受用户id receiverId: null, }, noticeText: '', noticeValue: [], mode: 0, switchValue: true, popupRefresh: false, popupVisible: false, receiver: [], receiverText: '点击选择用户', dialogKey: '', showConfirm: false, showCancel: false, }, onLoad(options) {}, switchMode(e) { let { mode } = this.data; mode = mode == 0 ? 1 : 0; this.setData({ mode, switchValue: mode == 0 }); }, // 修改通知标题 onTitleChange(e) { this.setData({ ['notice.title']: e.detail.value, }); }, // 修改通知内容 onContentChange(e) { this.setData({ ['notice.content']: e.detail.value, }); }, // 修改通知类型 onNoticePickerConfirm(e) { const { noticeText, noticeValue } = e.detail; this.setData({ noticeText, noticeValue, ['notice.subTypeId']: noticeValue[0], }); const { typeId, subTypeId } = this.data.notice; fetchNoticeTemplate({ typeId, subTypeId }).then(res => { if (res.data.length > 0) { this.setData({ ['notice.content']: res.data[0].ntNoticeTemplate, }); } }); }, // 修改场景类型 onScenePickerConfirm(e) { const { sceneText, sceneValue } = e.detail; this.setData({ sceneText, sceneValue, ['notice.receiverType']: sceneValue[0] + ';', }); }, // 修改区县 onDistrictPickerConfirm(e) { const { districtText, districtValue } = e.detail; this.setData({ districtText, districtValue, ['notice.district']: districtValue[0] + ';', }); }, // 修改街镇 onTownPickerConfirm(e) { const { townText, townValue } = e.detail; this.setData({ townText, townValue }); }, onConfirmCheck(e) { const { notice, mode, receiver } = this.data; if (notice.title == '' || notice.content == '') { wx.showToast({ title: '请填写完整通知内容', duration: 1000, icon: 'none', }); } else if (mode == 1 && receiver.length == 0) { wx.showToast({ title: '请选择发送对象', duration: 1000, icon: 'none', }); } else { this.showDialog(e); } }, onCancelCheck(e) { const { notice } = this.data; if (notice.title == '' && notice.content == '') { this.onCancel(); } else { this.showDialog(e); } }, showDialog(e) { const { key } = e.currentTarget.dataset; this.setData({ [key]: true, dialogKey: key }); }, closeDialog() { const { dialogKey } = this.data; this.setData({ [dialogKey]: false }); }, onConfirm() { if (this.data.mode == 0) { this.setData({ ['notice.receiverId']: null, }); } else { this.setData({ ['notice.receiverType']: '-1', ['notice.district']: '-1', }); } releaseNotice(this.data.notice).then(res => { this.closeDialog(); this.getOpenerEventChannel().emit('uploadOver'); wx.navigateBack({ delta: 1, }); }); }, onCancel() { this.closeDialog(); wx.navigateBack({ delta: 1, }); }, openUserList() { const { popupRefresh } = this.data; this.setData({ popupVisible: true, // popupRefresh: !popupRefresh, }); }, onVisibleChange(e) { const { visible } = e.detail; this.setData({ popupVisible: visible }); }, popupConfirm(e) { const receiver = e.detail; let receiverText = ''; let receiverIds = ''; for (let i = 0; i < receiver.length; i++) { const r = receiver[i]; receiverText += r.realname + '、'; receiverIds += r.guid + ';'; } this.setData({ ['notice.receiverId']: receiverIds, }); if (receiverText == '') { receiverText = '点击选择企业'; } else if (receiverText.length > 4) { receiverText = receiverText.substring(0, 5); receiverText += `...等${receiver.length}个企业`; // break; } this.setData({ popupVisible: false, receiver, receiverText, }); }, popupCancel() { this.setData({ popupVisible: false }); }, });