123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- const _Http = getApp().globalData.http,
- MFT = require("../../../../../utils/matchingFeilType");
- Page({
- data: {
- isNew: false, //是否为新增
- ownerid: null,
- ownertable: null,
- sys_datafollowupid: 0, //数据ID
- files: {
- images: [],
- viewImages: [],
- videos: [],
- viewVideos: [],
- files: []
- },
- type: "",
- content: "",
- user: {}, //联系人
- actions: [{
- name: "上门拜访"
- }, {
- name: "电话拜访"
- }, {
- name: "微信联系"
- }, {
- name: "QQ联系"
- }],
- show: false
- },
- onLoad(options) {
- if (options.ownertable) {
- this.setData({
- ...options
- })
- };
- //编辑获取原信息,新建初始化模板
- if (options.sys_datafollowupid) {
- _Http.basic({
- "id": 20221026085601,
- "content": {
- "sys_datafollowupid": options.sys_datafollowupid
- }
- }).then(res => {
- console.log("跟进详情", res)
- if (res.msg != '成功') {
- wx.showToast({
- title: res.data,
- icon: "none"
- })
- setTimeout(() => {
- wx.navigateBack()
- }, 300)
- };
- this.handleFiles(MFT.fileList(res.data.attinfos));
- this.setData({
- type: res.data.type,
- content: res.data.content
- })
- })
- } else {
- this.initTemplate()
- }
- },
- /* 删除文件 */
- deleteFile({
- detail
- }) {
- let e = detail,
- item = e.detail.attachmentid ? e.detail : e.currentTarget.dataset.item;
- _Http.basic({
- "classname": "system.attachment.Attachment",
- "method": "deleteFileLink",
- "content": {
- "linksids": [item.linksid]
- }
- }).then(res => {
- if (res.msg != '成功') return wx.showToast({
- title: res.data,
- icon: "none"
- });
- let files = this.data.files;
- switch (item.fileType) {
- case "image":
- files.images = files.images.filter(v => v.url != item.url);
- files.viewImages = files.viewImages.filter(v => v.url != item.url);
- break;
- case "video":
- files.videos = files.videos.filter(v => v.url != item.url);
- files.viewVideos = files.viewVideos.filter(v => v.url != item.url);
- break;
- default:
- files.files = files.files.filter(v => v.attachmentid != item.attachmentid);
- break;
- };
- this.setData({
- files
- });
- })
- },
- /* 绑定媒体 */
- insertImgEdit({
- detail
- }) {
- _Http.basic({
- "classname": "system.attachment.Attachment",
- "method": "createFileLink",
- "content": {
- "ownertable": "sys_datafollowup",
- "ownerid": this.data.sys_datafollowupid,
- "usetype": "default",
- "attachmentids": detail
- }
- }).then(res => {
- console.log('跟进记录绑定附件', res)
- this.handleFiles(MFT.fileList(res.data));
- })
- },
- /* 处理附件 */
- handleFiles(list) {
- let files = this.data.files;
- list.forEach(v => {
- switch (v.fileType) {
- case "video":
- files.videos.push(v)
- files.viewVideos.push({
- url: v.url,
- type: "video",
- poster: v.subfiles[0].url
- })
- break;
- case "image":
- files.images.push(v)
- files.viewImages.push({
- url: v.url,
- type: "image"
- })
- break;
- default:
- files.files.push(v)
- break;
- }
- });
- this.setData({
- files
- })
- },
- /* 初始化模板 */
- initTemplate() {
- _Http.basic({
- "id": 20220930121601,
- content: {
- type: this.data.type,
- content: this.data.content,
- ownerid: this.data.ownerid,
- ownertable: this.data.ownertable,
- sys_datafollowupid: this.data.sys_datafollowupid
- }
- }).then(res => {
- this.setData({
- sys_datafollowupid: res.data.sys_datafollowupid,
- isNew: true
- })
- })
- },
- //开始选择跟进方式
- openSelect() {
- this.setData({
- show: true
- })
- },
- //取消选择
- onCancel() {
- this.setData({
- show: false
- })
- },
- //确定选择
- onSelect({
- detail
- }) {
- this.setData({
- type: detail.name
- })
- this.onCancel();
- },
- //文本域输入
- onInput(e) {
- this.setData({
- content: e.detail.value
- })
- },
- submit() {
- const content = {
- type: this.data.type,
- content: this.data.content,
- ownerid: this.data.ownerid,
- ownertable: this.data.ownertable,
- sys_datafollowupid: this.data.sys_datafollowupid
- };
- if (!content.content) return;
- _Http.basic({
- "id": 20220930121601,
- content
- }).then(res => {
- if (res.msg != '成功') return wx.showToast({
- title: res.data,
- icon: "none"
- });
- wx.showToast({
- title: '保存成功',
- icon: "none"
- });
- this.setData({
- isNew: false
- })
- setTimeout(() => {
- getCurrentPages().forEach(v => {
- //详情界面更新数据
- if (['packageA/setclient/modules/trace/detail/index'].includes(v.__route__)) v.getDetail();
- //列表页更新数据
- if (v.selectComponent("#Trace")) {
- let page = v.selectComponent("#Trace"),
- list = page.data.list,
- index = list.findIndex(value => value.sys_datafollowupid == res.data.sys_datafollowupid);
- if (index != -1) {
- //列表中存在说明是编辑,返回上一级页面并更新数据
- list[index] = res.data;
- page.setData({
- list
- });
- wx.navigateBack();
- } else {
- //列表中不存在说明是新增,返回上一级页面更新数据 并进入详情
- list.push(res.data);
- page.setData({
- list,
- "content.total": page.data.content.total + 1
- });
- wx.navigateBack();
- wx.navigateTo({
- url: `/packageA/setclient/modules/trace/detail/index?data=` + JSON.stringify({
- "sys_datafollowupid": res.data.sys_datafollowupid,
- "ownertable": this.data.ownertable,
- "ownerid": this.data.ownerid
- }),
- })
- }
- };
- });
- }, 300)
- })
- },
- onUnload() {
- if (this.data.isNew) _Http.basic({
- "id": 20220930121701,
- "content": {
- "sys_datafollowupid": this.data.sys_datafollowupid,
- "deletereason": "系统删除"
- }
- }).then(res => {
- console.log("初始化模板后未保存删除", res)
- })
- }
- })
|