UNPKG

xlb-main-login

Version:

``` yarn install ```

321 lines (291 loc) 11.9 kB
import { wei_url } from '../config' import { axios } from '@/utils/request' import moment from 'moment' const baseUrl = '/demo-wechat-work/v1/wechat/work/' const Url = 'http://192.168.105.145:8082/v1/wechat/work' const keyMsg = { image: 'image', text: 'endText', form: 'redemptionFormId', redPacket: 'redPacketId', commodity: 'commodityId', radar: 'radarId' } //新增分组 export function addGrouping(data, type) { return axios({ headers: { 'Content-Type': 'application/json;charset=UTF-8' }, url: wei_url + baseUrl + `source/${type}/group`, method: 'post', data }) } //分组列表 export function groupingList(type) { return axios({ url: wei_url + baseUrl + `source/${type}/group`, method: 'get' }) } //修改分组名称 export function namendGroupName(data, type) { return axios({ headers: { 'Content-Type': 'application/json;charset=UTF-8' }, url: wei_url + baseUrl + `source/${type}/group`, method: 'put', data }) } //删除分组 export function deleteGroupName(type, id) { return axios({ url: wei_url + baseUrl + `source/${type}/group/${id}`, method: 'delete' }) } //分组移动 export function moveGrouping(type, data) { return axios({ headers: { 'Content-Type': 'application/json;charset=UTF-8' }, url: wei_url + baseUrl + `source/${type}/group/move`, method: 'put', data }) } //数据导出 export function groupingExcel(params, type) { return axios({ url: wei_url + `/demo-wechat-work/v1/wechat/work/source/${type}/data/export/source`, method: 'get', params }) } //数据分析 成员分析列表 export function memberList(id, type) { return axios({ url: wei_url + `/demo-wechat-work/v1/wechat/work/source/${type}/staff/${id}`, method: 'get' }) } //渠道码新增编辑 export function addChannel(formData, eventId = '', type) { var obj = {} console.log(formData) formData.quDaoHuoMaCreate.staffList.reduce((item, next) => { // 判断obj 对象里面有没有 userId 的值。 // 如果有 说明 其他的重复数据的dr 为 1 // 如果没有重复的数据 就将没有重复的数据 放到 item 里面 obj[next.userId] ? (next.dr = 1) : (obj[next.userId] = true && item.push(next)) // 这个返回的item 就是所有 不重复的数据 return item }, []) const formTemp = {} formTemp.msgList = formData.quDaoHuoMaCreate.msgList //附加话术 欢迎语 if (eventId) { formTemp.id = eventId || '' formData.quDaoHuoMaCreate.msgList[0].id = formData.quDaoHuoMaCreate.wenanId || '' } formTemp.name = formData.quDaoHuoMaCreate.name //渠道名称 formTemp.groupId = formData.quDaoHuoMaCreate.groupId //分组id formTemp.staffList = formData.quDaoHuoMaCreate.staffList //使用成员 formTemp.tagList = formData.quDaoHuoMaCreate.tagList //标签 if (formTemp.tagList && formTemp.tagList.length > 0) { formTemp.tagList.map((item) => { item.sort = 0 }) } formTemp.type = formData.quDaoHuoMaCreate.type formTemp.enable = formData.quDaoHuoMaCreate.enable formData.quDaoAdvanced.memberTable.forEach((item) => { if (item.maxCount == '不限制') { item.maxCount = 0 } }) formTemp.remarkEnable = formData.quDaoAdvanced.remarkEnable //客户备注 formTemp.ruleMessageEnable = formData.quDaoAdvanced.ruleMessageEnable //分时段欢迎语 formTemp.cusMaxEnable = formData.quDaoAdvanced.cusMaxEnable //成员添加上限 formTemp.remarkType = formData.quDaoAdvanced.remarkForm.remarkType //客户备注类型 formTemp.remark = formData.quDaoAdvanced.remarkForm.remark //客户备注内容 formTemp.staffMaxCount = formData.quDaoAdvanced.memberTable //成员限制表格 if (formTemp.cusMaxEnable) { var diff = [] formTemp.staffMaxCount.forEach((item) => { item.enable = item.countEnable diff.push(item.userId) }) formTemp.staffList.forEach((item) => { if (!diff.includes(item.userId)) { item.dr = 1 } if (item.maxCount == '不限制') { item.maxCount = 0 } }) } formTemp.cusMaxEnable = formData.quDaoAdvanced.cusMaxEnable //成员添加上限内容 formTemp.ruleMessage = [] if (formData.quDaoAdvanced.regionTabs.ruleMessage) { formData.quDaoAdvanced.regionTabs.ruleMessage.forEach((item, index) => { const itemTemp = { dayOfWeek: item.dayOfWeek.map(Number), startTime: moment(item.startTime).format('HH:mm'), endTime: moment(item.endTime).format('HH:mm'), msgDetailList: [] } item.msgDetailList.forEach((formData) => { if (formData.workMsgType == 'link') { itemTemp.msgDetailList.push({ workMsgType: formData.workMsgType, msg: JSON.stringify({ url: formData.url, title: formData.title, picurl: formData.picurl, desc: formData.desc }) }) } else if (formData.workMsgType == 'miniprogram') { itemTemp.msgDetailList.push({ workMsgType: formData.workMsgType, msg: JSON.stringify({ appTitle: formData.appTitle, appid: formData.appid, page: formData.page, appPicture: formData.appPicture }) }) } else { itemTemp.msgDetailList.push({ workMsgType: formData.workMsgType, msg: formData[keyMsg[formData.workMsgType]] }) } }) formTemp.ruleMessage.push(itemTemp) }) } console.log(formTemp) //新增 编辑渠道活码 return axios({ headers: { 'Content-Type': 'application/json;charset=UTF-8' }, url: wei_url + '/demo-wechat-work/v1/wechat/work/' + `/source/${type}`, method: eventId !== '' ? 'put' : 'post', data: formTemp }) } //渠道码详情 export function getChannel(type, id) { const formData = { quDaoHuoMaCreate: {}, quDaoAdvanced: {} } return new Promise((resolve, reject) => { axios({ url: wei_url + baseUrl + `/source/${type}/${id}`, method: 'get' }).then((res) => { const valueObject = res.value const huashuList = [] let msg = '' let wenanId = '' if (valueObject.msgList) { valueObject.msgList.forEach((msgData, index) => { if (index == 0) { msg = msgData.workMsgType == 'text' ? msgData.msg : '' wenanId = msgData.workMsgType == 'text' ? msgData.id : '' } if (index >= 1) { huashuList.push({ inputshow: true, //显示字符限制 workMsgType: msgData.workMsgType, //类型 id: msgData.id, dr: msgData.dr, image: msgData.workMsgType == 'image' ? msgData.msg : '', //图片 title: msgData.workMsgType == 'link' ? JSON.parse(msgData.msg).title : '', //图文标题 desc: msgData.workMsgType == 'link' ? JSON.parse(msgData.msg).desc : '', //图文描述 url: msgData.workMsgType == 'link' ? JSON.parse(msgData.msg).url : '', //图文链接 picurl: msgData.workMsgType == 'link' ? JSON.parse(msgData.msg).picurl : '', //图文图片 appTitle: msgData.workMsgType == 'miniprogram' ? JSON.parse(msgData.msg).title : '', //小程序标题 appid: msgData.workMsgType == 'miniprogram' ? JSON.parse(msgData.msg).appid : '', //小程序appid page: msgData.workMsgType == 'miniprogram' ? JSON.parse(msgData.msg).page : '', //小程序页面路径 appPicture: msgData.workMsgType == 'miniprogram' ? JSON.parse(msgData.msg).msg: '', //小程序添加图片 redemptionFormId: msgData.workMsgType == 'form' ? msgData.msg : '', //表单ID redPacketId: msgData.workMsgType == 'redPacket' ? msgData.msg : '', //红包ID commodityId: msgData.workMsgType == 'commodity' ? msgData.msg : '', //商品ID radarId: msgData.workMsgType == 'radar' ? msgData.msg : '' //雷达ID }) } }) valueObject.msgList = huashuList[0] || {} } formData.quDaoHuoMaCreate = { name: valueObject.name, //渠道名称 groupId: valueObject.groupId, //分组id staffList: valueObject.staffList, //使用成员 tagList: valueObject.tagList, //标签 enable: valueObject.enable, //附加话术开关 huashuList: huashuList, msgList: valueObject.msgList, msg: msg, wenanId: wenanId } const itemTempLst = [] if (valueObject.staffMaxCount && valueObject.staffMaxCount.length > 0) { valueObject.staffMaxCount.forEach((item) => { if (item.maxCount == '0') { item.maxCount = '不限制' } }) } formData.quDaoAdvanced = { remarkEnable: valueObject.remarkEnable, //客户备注开关 ruleMessageEnable: valueObject.ruleMessageEnable, //分时段欢迎语 remarkForm: { remarkType: valueObject.remarkType, remark: valueObject.remark }, cusMaxEnable: valueObject.cusMaxEnable, ruleMessage: itemTempLst, staffMaxCount: valueObject.staffMaxCount ? valueObject.staffMaxCount : [], staffList: valueObject.staffList } if ( formData.quDaoAdvanced && formData.quDaoAdvanced.remarkForm && formData.quDaoAdvanced.remarkForm.remarkType == undefined ) { formData.quDaoAdvanced.remarkForm.remarkType = 1 } if (valueObject.ruleMessage) { valueObject.ruleMessage.forEach((item) => { const msgTempObj = { dayOfWeek: item.dayOfWeek.map(String) || [], startTime: item.startTime, endTime: item.endTime, msgDetailList: [] } item.msgDetailList.forEach((msgData) => { msgTempObj.msgDetailList.push({ workMsgType: msgData.workMsgType, endText: msgData.workMsgType == 'text' ? msgData.msg : '', //欢迎语 image: msgData.workMsgType == 'image' ? msgData.msg : '', //图片 title: msgData.workMsgType == 'link' ? JSON.parse(msgData.msg).title : '', //图文标题 desc: msgData.workMsgType == 'link' ? JSON.parse(msgData.msg).desc : '', //图文描述 url: msgData.workMsgType == 'link' ? JSON.parse(msgData.msg).url : '', //图文链接 picurl: msgData.workMsgType == 'link' ? JSON.parse(msgData.msg).picurl : '', //图文图片 appTitle: msgData.workMsgType == 'miniprogram' ? JSON.parse(msgData.msg).appTitle : '', //小程序标题 appid: msgData.workMsgType == 'miniprogram' ? JSON.parse(msgData.msg).appid : '', //小程序appid page: msgData.workMsgType == 'miniprogram' ? JSON.parse(msgData.msg).page : '', //小程序页面路径 appPicture: msgData.workMsgType == 'miniprogram' ? JSON.parse(msgData.msg).appPicture : '', //小程序添加图片 redemptionFormId: msgData.workMsgType == 'form' ? msgData.msg : '', //表单ID redPacketId: msgData.workMsgType == 'redPacket' ? msgData.msg : '', //红包ID commodityId: msgData.workMsgType == 'commodity' ? msgData.msg : '', //商品ID radarId: msgData.workMsgType == 'radar' ? msgData.msg : '' //雷达ID }) }) itemTempLst.push(msgTempObj) }) } return resolve(formData) }) }) }