|
|
@@ -1,485 +1,491 @@
|
|
|
const _Http = getApp().globalData.http,
|
|
|
- currency = require("../../utils/currency"),
|
|
|
- CNY = value => currency(value, {
|
|
|
- symbol: "¥",
|
|
|
- precision: 2
|
|
|
- }).format();
|
|
|
+ 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"
|
|
|
+ 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.data,
|
|
|
+ icon: "none"
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ detail: res.data,
|
|
|
+ briefs: [{
|
|
|
+ label: "联系人",
|
|
|
+ value: res.data.name
|
|
|
+ }, {
|
|
|
+ label: "手机号",
|
|
|
+ value: res.data.phonenumber
|
|
|
+ }, {
|
|
|
+ label: "市场活动",
|
|
|
+ value: res.data.campaign_name
|
|
|
+ }, {
|
|
|
+ label: "领域",
|
|
|
+ value: res.data.tradefield
|
|
|
+ }, {
|
|
|
+ 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: "跟进记录",
|
|
|
- icon: "icon-tabgenjinjilu",
|
|
|
- model: "#follow"
|
|
|
+ label: "联系人",
|
|
|
+ value: res.data.name
|
|
|
}, {
|
|
|
- label: "操作",
|
|
|
- icon: "icon-tabcaozuojilu1",
|
|
|
- model: "#Record"
|
|
|
+ label: "手机号码",
|
|
|
+ value: res.data.phonenumber
|
|
|
}, {
|
|
|
- label: "跟进动态",
|
|
|
- icon: "icon-tabgenjinjilu",
|
|
|
- model: "#Trace"
|
|
|
+ label: "省市县",
|
|
|
+ value: res.data.province ? res.data.province + res.data.city + res.data.county : ''
|
|
|
}, {
|
|
|
- label: "任务",
|
|
|
- icon: "icon-tabrenwu",
|
|
|
- model: "#Work"
|
|
|
+ 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.tradefield
|
|
|
+ }, {
|
|
|
+ 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
|
|
|
}],
|
|
|
- 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.data,
|
|
|
- icon: "none"
|
|
|
- });
|
|
|
- this.setData({
|
|
|
- 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
|
|
|
- }]
|
|
|
- });
|
|
|
- /* 更新列表中状态 */
|
|
|
- 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
|
|
|
- })
|
|
|
- }
|
|
|
- this.getTags();
|
|
|
- this.getGroup();
|
|
|
- this.partialRenewal();
|
|
|
- if (res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid)) {
|
|
|
- this.setTabbarList(true, res)
|
|
|
- } else {
|
|
|
- getApp().agentOrNot("sat_orderclue", this.data.sat_orderclueid).then(({
|
|
|
- data
|
|
|
- }) => this.setTabbarList(data == 1, res))
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- /**
|
|
|
- * 设置tabbar选项
|
|
|
- * @param {*} isLeader 是否为负责人或代理人
|
|
|
- * @param {object} res
|
|
|
- */
|
|
|
- setTabbarList(isLeader, res) {
|
|
|
- let tabbarList = [{
|
|
|
- icon: "icon-genjin",
|
|
|
- label: "跟进"
|
|
|
- }];
|
|
|
- if (this.data.isAdmin || isLeader) tabbarList = tabbarList.concat([{
|
|
|
- icon: "icon-bianji",
|
|
|
- label: "编辑"
|
|
|
+ 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
|
|
|
}, {
|
|
|
- icon: "icon-dibu-zhuanhuan",
|
|
|
- label: "转化项目"
|
|
|
+ label: "无效原因",
|
|
|
+ value: res.data.invalidreason
|
|
|
}, {
|
|
|
- icon: "icon-dibu-zhuanhuan",
|
|
|
- label: "转化客户"
|
|
|
+ label: "作废原因",
|
|
|
+ value: res.data.deletereason
|
|
|
}, {
|
|
|
- icon: "icon-zhuanyi",
|
|
|
- label: "更换负责人"
|
|
|
+ label: "跟进次数",
|
|
|
+ value: res.data.followcount
|
|
|
}, {
|
|
|
- icon: "icon-dibu-jieshu",
|
|
|
- label: "作废"
|
|
|
- }]);
|
|
|
+ label: "转手次数",
|
|
|
+ value: res.data.leader[0].leadernum
|
|
|
+ }]
|
|
|
+ });
|
|
|
+ /* 更新列表中状态 */
|
|
|
+ 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
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.getTags();
|
|
|
+ this.getGroup();
|
|
|
+ this.partialRenewal();
|
|
|
+ if (res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid)) {
|
|
|
+ this.setTabbarList(true, res)
|
|
|
+ } else {
|
|
|
+ getApp().agentOrNot("sat_orderclue", this.data.sat_orderclueid).then(({
|
|
|
+ data
|
|
|
+ }) => this.setTabbarList(data == 1, res))
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
- if (isLeader) {
|
|
|
- tabbarList.push({
|
|
|
- icon: "icon-dibu-wuxiao",
|
|
|
- label: "无效"
|
|
|
- })
|
|
|
- if (res.data.isprivate == 0) tabbarList.push({
|
|
|
- icon: "icon-dibu-tuihui",
|
|
|
- label: "退回"
|
|
|
- })
|
|
|
- }
|
|
|
- if (res.data.status == '已转化') {
|
|
|
- tabbarList = tabbarList.filter(item => {
|
|
|
- return item.label == '编辑' || item.label == '跟进' || item.label == '转化客户' || item.label == '转化项目'
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置tabbar选项
|
|
|
+ * @param {*} isLeader 是否为负责人或代理人
|
|
|
+ * @param {object} res
|
|
|
+ */
|
|
|
+ setTabbarList(isLeader, res) {
|
|
|
+ let 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) {
|
|
|
+ tabbarList.push({
|
|
|
+ icon: "icon-dibu-wuxiao",
|
|
|
+ label: "无效"
|
|
|
+ })
|
|
|
+ if (res.data.isprivate == 0) tabbarList.push({
|
|
|
+ icon: "icon-dibu-tuihui",
|
|
|
+ label: "退回"
|
|
|
+ })
|
|
|
+ }
|
|
|
+ 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('触发客户');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (res.data.status != '待跟进' && res.data.status != '跟进中' && res.data.status != '已转化') tabbarList = [];
|
|
|
+ this.setData({
|
|
|
+ tabbarList,
|
|
|
+ isLeader
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //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)
|
|
|
})
|
|
|
- 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('触发客户');
|
|
|
- }
|
|
|
- }
|
|
|
- if (res.data.status != '待跟进' && res.data.status != '跟进中' && res.data.status != '已转化') tabbarList = [];
|
|
|
- this.setData({
|
|
|
- tabbarList,
|
|
|
- isLeader
|
|
|
+ }
|
|
|
})
|
|
|
- },
|
|
|
- //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({
|
|
|
+ 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
|
|
|
- }
|
|
|
+ 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 => {
|
|
|
- wx.showToast({
|
|
|
- title: res.msg == '成功' ? `操作成功` : res.msg,
|
|
|
- icon: "none"
|
|
|
- });
|
|
|
- this.onCancel();
|
|
|
- this.setData({
|
|
|
- deletereason: ""
|
|
|
- })
|
|
|
+ console.log("更换负责人", res)
|
|
|
+ if (res.msg != '成功') return wx.showToast({
|
|
|
+ title: res.data,
|
|
|
+ icon: "none"
|
|
|
+ });
|
|
|
+ wx.showToast({
|
|
|
+ title: '更换成功!',
|
|
|
+ icon: "none"
|
|
|
+ });
|
|
|
+ setTimeout(() => {
|
|
|
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)
|
|
|
+ wx.navigateBack();
|
|
|
+ /* getCurrentPages().forEach(v => {
|
|
|
+ if (['packageA/project/index'].includes(v.__route__)) v.getList(true)
|
|
|
+ }) */
|
|
|
+ }, 300)
|
|
|
})
|
|
|
- },
|
|
|
- onCancel() {
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ 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({
|
|
|
- deletereasonShow: false,
|
|
|
- invalidreasonShow: false,
|
|
|
+ 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,
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|