| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478 |
- const _Http = getApp().globalData.http,
- currency = require("../../utils/currency"),
- CNY = value => currency(value, {
- symbol: "¥",
- precision: 2
- }).format();
- Page({
- data: {
- isLeader: false, //是否为负责人
- tabsActive: 0, //tabs 选中项
- sat_orderclueid: "",
- deletereasonShow: false,
- deletereason: "",
- invalidreasonShow: false,
- invalidreason: "",
- detail: '',
- tabsList: [{
- label: "详细信息",
- icon: "icon-tabxiangxixinxi1"
- }, {
- label: "跟进记录",
- icon: "icon-tabgenjinjilu",
- model: "#follow"
- }, {
- label: "操作",
- icon: "icon-tabcaozuojilu1",
- model: "#Record"
- }, {
- label: "跟进动态",
- icon: "icon-tabgenjinjilu",
- model: "#Trace"
- }, {
- label: "任务",
- icon: "icon-tabrenwu",
- model: "#Work"
- }],
- tabbarList: [],
- },
- onLoad(options) {
- this.setData({
- sat_orderclueid: options.sat_orderclueid,
- isAdmin: wx.getStorageSync('auth').wCustomer.options.some(v => v == "admin"), //是否具有管理权限
- });
- this.getDetail();
- },
- getDetail() {
- _Http.basic({
- "classname": "saletool.orderclue.web.orderclue",
- "method": "selectDetail",
- "version": 1,
- "content": {
- "nocache": true,
- "sat_orderclueid": this.data.sat_orderclueid
- },
- }).then(res => {
- console.log("线索详情", res)
- if (res.msg != '成功') return wx.showToast({
- title: res.msg,
- icon: "none"
- });
- let isLeader = res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid),
- tabbarList = [{
- icon: "icon-genjin",
- label: "跟进"
- }];
- if (this.data.isAdmin || isLeader) tabbarList = tabbarList.concat([{
- icon: "icon-bianji",
- label: "编辑"
- }, {
- icon: "icon-dibu-zhuanhuan",
- label: "转化项目"
- }, {
- icon: "icon-dibu-zhuanhuan",
- label: "转化客户"
- }, {
- icon: "icon-zhuanyi",
- label: "更换负责人"
- }, {
- icon: "icon-dibu-jieshu",
- label: "作废"
- }]);
- if (isLeader) {
- let arr5 = [{
- icon: "icon-dibu-wuxiao",
- label: "无效"
- }];
- if (res.data.isprivate == 0) arr5.push({
- icon: "icon-dibu-tuihui",
- label: "退回"
- });
- tabbarList = tabbarList.concat(arr5)
- }
- this.setData({
- isLeader,
- tabbarList,
- detail: res.data,
- briefs: [{
- label: "联系人",
- value: res.data.name
- }, {
- label: "手机号",
- value: res.data.phonenumber
- }, {
- label: "市场活动",
- value: res.data.campaign_name
- }, {
- label: '负责人',
- value: res.data.leader && res.data.leader.length > 0 ? res.data.leader[0].name : ''
- },
- {
- label: '分配状态',
- value: res.data.allocationstatus
- },
- {
- label: '跟进状态',
- value: res.data.status
- },
- {
- label: '跟进次数',
- value: res.data.followcount || '0'
- },
- ],
- list1: [{
- label: "客户(企业)",
- value: res.data.enterprisename_customer
- }, {
- label: "联系人",
- value: res.data.name
- }, {
- label: "手机号码",
- value: res.data.phonenumber
- }, {
- label: "省市县",
- value: res.data.province ? res.data.province + res.data.city + res.data.county : ''
- }, {
- label: "地址",
- value: res.data.address
- }, {
- label: "项目名称",
- value: res.data.projectname
- }, {
- label: "项目规模",
- value: res.data.scale
- }, {
- label: "总投资额(万元)",
- value: CNY(res.data.totalinvestment)
- }, {
- label: "造价(万元)",
- value: CNY(res.data.costofconstruction)
- }, {
- label: "预计开工时间",
- value: res.data.begdate_due
- }, {
- label: "预计完工时间",
- value: res.data.enddate_due
- }, {
- label: "市场活动",
- value: res.data.campaign_name
- }, {
- label: "来源",
- value: res.data.cluesource
- }, {
- label: "线索概括",
- value: res.data.notes
- }, {
- label: '负责人',
- value: res.data.leader && res.data.leader.length > 0 ? res.data.leader[0].name : ''
- }, {
- label: '分配状态',
- value: res.data.allocationstatus
- }, {
- label: '跟进状态',
- value: res.data.status
- }],
- list2: [{
- label: "创建人",
- value: res.data.createBy
- }, {
- label: "创建时间",
- value: res.data.createDate
- }, {
- label: "分配人",
- value: res.data.assignedBy
- }, {
- label: "分配时间",
- value: res.data.assignedDate
- }, {
- label: "分配人",
- value: res.data.assignedBy
- }, {
- label: "分配时间",
- value: res.data.assignedDate
- }, {
- label: "最近跟进人",
- value: res.data.followBy
- }, {
- label: "最近跟进时间",
- value: res.data.followDate
- }, {
- label: "最近编辑人",
- value: res.data.editBy
- }, {
- label: "最近编辑时间",
- value: res.data.editDate
- }, {
- label: "无效原因",
- value: res.data.invalidreason
- }, {
- label: "作废原因",
- value: res.data.deletereason
- }, {
- label: "跟进次数",
- value: res.data.followcount
- }, {
- label: "转手次数",
- value: res.data.leader[0].leadernum
- }],
- tabsList: this.data.tabsList,
- });
- /* 更新列表中状态 */
- let page = getCurrentPages().find(v => v.__route__ == 'packageA/saleClue/index');
- if (page) {
- let index = page.data.list.findIndex(v => v.sat_orderclueid == res.data.sat_orderclueid);
- console.log("列表中位置", index)
- if (index != -1) page.setData({
- [`list[${index}].status`]: res.data.status
- })
- }
- if (res.data.status == '已转化') {
- tabbarList = tabbarList.filter(item => {
- return item.label == '编辑' || item.label == '跟进' || item.label == '转化客户' || item.label == '转化项目'
- })
- if (res.data.isproject == 1) {
- let i = tabbarList.findIndex(item => item.label == '转化项目')
- tabbarList.splice(i, 1)
- console.log('触发项目');
- }
- if (res.data.iscustomer == 1) {
- let i = tabbarList.findIndex(item => item.label == '转化客户')
- tabbarList.splice(i, 1)
- console.log('触发客户');
- }
- console.log(tabbarList);
- this.setData({
- tabbarList
- })
- }
- if (res.data.status != '待跟进' && res.data.status != '跟进中' && res.data.status != '已转化') this.setData({
- tabbarList: []
- })
- this.getTags();
- this.getGroup();
- this.partialRenewal();
- })
- },
- //tabs 切换
- tabsChange({
- detail
- }) {
- this.setData({
- tabsActive: detail
- });
- this.partialRenewal();
- },
- //更新标签
- getTags() {
- this.selectComponent("#Tags").getTags();
- },
- //更新团队成员
- getGroup() {
- this.selectComponent("#Group").getList();
- },
- //局部数据更新 tabs
- partialRenewal(init = false) {
- let model = this.data.tabsList[this.data.tabsActive].model;
- if (model) {
- let Component = this.selectComponent(model),
- {
- total,
- pageNumber,
- pageTotal
- } = Component.data.content,
- id = this.data.sat_orderclueid;
- if (total == null || init) {
- Component.getList(id, init);
- } else if (pageNumber < pageTotal) {
- Component.getList(id, false);
- }
- }
- },
- onReachBottom() {
- this.partialRenewal();
- },
- //详情按钮回调
- tabbarOnClick({
- detail
- }) {
- let data = this.data.detail,
- that = this;
- switch (detail.label) {
- case "编辑":
- wx.navigateTo({
- url: `/packageA/saleClue/addClue?rowData=${JSON.stringify(this.data.detail)}`,
- })
- break;
- case "作废":
- that.setData({
- deletereasonShow: true
- })
- break;
- case "无效":
- that.setData({
- invalidreasonShow: true
- })
- break;
- case "退回":
- wx.showModal({
- title: '提示',
- content: `是否退回该线索,确定后无法撤销!`,
- complete: ({
- confirm
- }) => {
- if (confirm) _Http.basic({
- "id": 20221207160802,
- "content": {
- sat_orderclueid: data.sat_orderclueid
- }
- }).then(res => {
- wx.showToast({
- title: res.msg == '成功' ? `退回成功` : res.msg,
- icon: "none"
- });
- setTimeout(() => {
- let page = getCurrentPages().find(v => v.__route__ == 'packageA/saleClue/index');
- if (page) page.getList(true)
- wx.navigateBack();
- }, 500)
- })
- }
- })
- break;
- case "转化项目":
- wx.navigateTo({
- url: `/packageA/saleClue/change?rowData=${JSON.stringify(this.data.detail)}`,
- })
- break;
- case "转化客户":
- wx.navigateTo({
- url: `/packageA/saleClue/translate?data=${JSON.stringify(this.data.detail)}`,
- })
- break;
- case "跟进":
- wx.navigateTo({
- url: `/packageA/saleClue/addFollow?sat_orderclueid=` + this.data.detail.sat_orderclueid
- })
- break;
- case "更换负责人":
- wx.navigateTo({
- url: `/pages/group/select?data=${JSON.stringify({
- ownertable:"sat_orderclue",
- ownerid:data.sat_orderclueid,
- })}&radio=true&principal=true`,
- })
- break;
- }
- },
- /* 更换负责人 */
- handelSubmit(arr) {
- const that = this;
- wx.showModal({
- title: '提示',
- content: '是否确认更换负责人',
- complete: ({
- confirm
- }) => {
- if (confirm) _Http.basic({
- "id": 20220930103701,
- "content": {
- ownertable: "sat_orderclue",
- ownerid: that.data.detail.sat_orderclueid,
- userid: arr[0]
- }
- }).then(res => {
- console.log("更换负责人", res)
- if (res.msg != '成功') return wx.showToast({
- title: res.data,
- icon: "none"
- });
- wx.showToast({
- title: '更换成功!',
- icon: "none"
- });
- setTimeout(() => {
- that.getDetail();
- wx.navigateBack();
- /* getCurrentPages().forEach(v => {
- if (['packageA/project/index'].includes(v.__route__)) v.getList(true)
- }) */
- }, 300)
- })
- }
- })
- },
- onShareAppMessage() {},
- /* 完成情况说明输入 */
- areaInput(e) {
- this.setData({
- [e.currentTarget.dataset.name]: e.detail.value
- })
- },
- /* 确认无效 */
- invalidItem() {
- let that = this;
- _Http.basic({
- id: "20221208100602",
- "content": {
- "sat_orderclueid": this.data.detail.sat_orderclueid,
- sat_ordercluefollowuplogid: 0,
- "content": this.data.invalidreason,
- "followupmode": "",
- "logtype": "无效",
- "competitor": ""
- }
- }).then(res => {
- console.log("无效", res)
- wx.showToast({
- title: res.msg == '成功' ? `操作成功` : res.msg,
- icon: "none",
- mask: true
- });
- if (res.msg == '成功') setTimeout(() => {
- this.getDetail();
- this.selectComponent("#follow").getList(that.data.detail.sat_orderclueid, true)
- this.onCancel()
- this.setData({
- invalidreason: ""
- })
- }, 300)
- })
- },
- deleteItem() {
- let that = this;
- _Http.basic({
- "id": 20221123193702,
- "content": {
- "sat_orderclueids": [this.data.detail.sat_orderclueid],
- deletereason: this.data.deletereason
- }
- }).then(res => {
- wx.showToast({
- title: res.msg == '成功' ? `操作成功` : res.msg,
- icon: "none"
- });
- this.onCancel();
- this.setData({
- deletereason: ""
- })
- that.getDetail();
- setTimeout(() => {
- let pages = getCurrentPages(),
- page = pages[pages.length - 2];
- if (page.getList) page.setData({
- list: page.data.list.filter(v => v.sat_orderclueid != that.data.detail.sat_orderclueid),
- "content.total": page.data.content.total - 1,
- })
- }, 300)
- })
- },
- onCancel() {
- this.setData({
- deletereasonShow: false,
- invalidreasonShow: false,
- })
- }
- })
|