瀏覽代碼

销售线索

zhaoxiaohai 2 年之前
父節點
當前提交
b2a60eada7

+ 72 - 5
pages/threadedTree/details/index.js

@@ -5,6 +5,7 @@ Page({
         addGlobalClass: true
     },
     data: {
+        sheetShow: false,
         sheetTitle: "",
         showWhere: "所有日期",
         timeRangeShow: false,
@@ -25,6 +26,66 @@ Page({
         },
         teamList: [],
         isEdit: false, //退出时是否重新获取列表
+        actions: [{
+            name: "跟进"
+        }, {
+            name: "成交"
+        }, {
+            name: "无效"
+        }]
+    },
+    handleSelect({
+        detail
+    }) {
+        const that = this;
+        if (detail.name == '跟进') {
+            this.selectComponent("#follow").updateTime();
+            this.setData({
+                sheetTitle: '跟进计划'
+            })
+        } else {
+            wx.showModal({
+                title: "提示",
+                content: `是否设置该线索为"${detail.name}"状态,确定后无法撤销!`,
+                success({
+                    confirm
+                }) {
+                    if (!confirm) return;
+                    _Http.basic({
+                        "classname": "saletool.orderclue.web.orderclue",
+                        "method": "addFollowUpLog",
+                        "content": {
+                            sat_orderclueid: that.data.detailsData.sat_orderclueid,
+                            "content": "",
+                            "followupmode": "",
+                            "logtype": detail.name,
+                            "competitor": ""
+                        },
+                    }).then(res => {
+                        if (res.msg != '成功') return wx.showToast({
+                            title: res.msg,
+                            icon: "none"
+                        });
+                        that.selectDetail();
+                        that.getFollowList();
+                    });
+                    const pages = getCurrentPages();
+                    pages[pages.length - 2].getList();
+                    setTimeout(() => {
+                        wx.showToast({
+                            title: '操作成功',
+                            icon: "none"
+                        })
+                    }, 100)
+                }
+            })
+        }
+        this.selectCancel();
+    },
+    selectCancel() {
+        this.setData({
+            sheetShow: false
+        })
     },
     /**
      * 生命周期函数--监听页面加载
@@ -111,11 +172,16 @@ Page({
         const {
             name
         } = e.currentTarget.dataset;
-        if (name == '线索编辑') this.selectComponent("#edit").initData();
-        if (name == '跟进计划') this.selectComponent("#follow").updateTime();
-        this.setData({
-            sheetTitle: name
-        })
+        if (name == '跟进计划') {
+            this.setData({
+                sheetShow: true
+            })
+        } else {
+            if (name == '线索编辑') this.selectComponent("#edit").initData()
+            this.setData({
+                sheetTitle: name
+            })
+        }
     },
     /* 结束编辑 */
     endEdit() {
@@ -203,4 +269,5 @@ Page({
             if (pages[pages.length - 2].route == 'pages/threadedTree/index') pages[pages.length - 2].getList(true);
         }
     },
+    onShareAppMessage(res) {}
 })

+ 19 - 15
pages/threadedTree/details/index.wxml

@@ -32,20 +32,22 @@
     </van-tab>
 </van-tabs>
 
-<view class="footer" wx:if="{{detailsData.status=='待跟进'||detailsData.status=='跟进中'}}">
-    <navigator wx:if="{{detailsData.isMemberFollow==0}}" url="#" data-name="跟进计划" catchtap="openPoput">
-        <view class="iconfont icon-genjin" />
-        <view class="text">跟进</view>
-    </navigator>
-    <navigator wx:if="{{per.query(auth,'修改')&&detailsData.isMemberFollow==0}}" url="#" data-name="线索编辑" catchtap="openPoput">
-        <view class="iconfont icon-bianji" />
-        <view class="text">编辑</view>
-    </navigator>
-    <navigator wx:if="{{per.query(auth,'转移')}}" url="#" data-name="线索转移" catchtap="openPoput">
-        <view class="iconfont icon-zhuanyi" />
-        <view class="text">转移</view>
-    </navigator>
-</view>
+<block wx:if="{{!per.query(auth,'只读')}}">
+    <view class="footer" wx:if="{{detailsData.status=='待跟进'||detailsData.status=='跟进中'}}">
+        <navigator url="#" data-name="跟进计划" catchtap="openPoput">
+            <view class="iconfont icon-genjin" />
+            <view class="text">执行</view>
+        </navigator>
+        <navigator wx:if="{{per.query(auth,'修改')}}" url="#" data-name="线索编辑" catchtap="openPoput">
+            <view class="iconfont icon-bianji" />
+            <view class="text">编辑</view>
+        </navigator>
+        <navigator wx:if="{{per.query(auth,'转移')}}" url="#" data-name="线索转移" catchtap="openPoput">
+            <view class="iconfont icon-zhuanyi" />
+            <view class="text">转移</view>
+        </navigator>
+    </view>
+</block>
 
 <Popup sheetTitle='{{sheetTitle}}'>
     <view hidden="{{sheetTitle!='跟进计划'}}">
@@ -77,4 +79,6 @@
     <My_datePicker bind:getDate='getDate' />
 </van-action-sheet>
 
-<wxs src='../../../utils/wxmlQueryPer.wxs' module="per" />
+<wxs src='../../../utils/wxmlQueryPer.wxs' module="per" />
+
+<van-action-sheet show="{{ sheetShow }}" actions="{{ actions }}" bind:select='handleSelect' bind:cancel='selectCancel' cancel-text="取消" />

+ 4 - 5
pages/threadedTree/details/modules/follow/index.js

@@ -19,8 +19,10 @@ Component({
         actions: [{
             name: '电话沟通',
         }, {
-            name: '当面拜访',
-        }, ],
+            name: '当面沟通',
+        }, {
+            name: '微信沟通',
+        }],
         "content": {
             "content": "",
             "followupmode": "",
@@ -37,7 +39,6 @@ Component({
         submit() {
             if (this.data.disabled || this.data.loading) return;
             let content = this.data.content;
-            if (content.logtype != "丢单") content.competitor = '';
             content.sat_orderclueid = this.data.sat_orderclueid;
             this.setData({
                 loading: true
@@ -100,8 +101,6 @@ Component({
         isDisabled() {
             let data = this.data.content,
                 disabled = (data.followupmode != '' && data.content != '') ? false : true;
-            if (data.logtype == '成交' && data.followupmode != '') disabled = false;
-            if (data.logtype == '丢单' && data.competitor == '') disabled = true;
             this.setData({
                 disabled
             })

+ 1 - 1
pages/threadedTree/details/modules/follow/index.scss

@@ -11,7 +11,7 @@
     margin-top: 20rpx;
 
     >view {
-        width: 160rpx;
+        width: 220rpx;
         height: 90rpx;
         text-align: center;
         line-height: 90rpx;

+ 6 - 11
pages/threadedTree/details/modules/follow/index.wxml

@@ -9,20 +9,15 @@
 
     <view class="label"><text>*</text>本次跟进结果:</view>
     <view class="results" bindtap="changeType">
-        <view class="{{content.logtype=='跟进'?'op':''}}" data-name="跟进">继续跟进</view>
-        <view class="{{content.logtype=='成交'?'op':''}}" data-name="成交">成交</view>
-        <view class="{{content.logtype=='丢单'?'op':''}}" data-name="丢单">丢单</view>
-        <view class="{{content.logtype=='无效'?'op':''}}" data-name="无效">无效</view>
+        <view class="{{content.logtype=='继续跟进'?'op':''}}" data-name="继续跟进">继续跟进</view>
+        <view class="{{content.logtype=='预约到店'?'op':''}}" data-name="预约到店">预约到店</view>
+        <view class="{{content.logtype=='互加微信'?'op':''}}" data-name="互加微信">互加微信</view>
     </view>
+    <view class="label"><text>*</text>本次跟进内容</view>
+    <textarea value='{{content.content}}' class="textarea selector" data-label="content" bind:input="inputChange" placeholder="请描述跟进情况及内容" />
+</view>
 
-    <view hidden="{{content.logtype!='丢单'}}">
-        <view class="label"><text>*</text>已购买品牌:</view>
-        <van-field value="{{ content.competitor }}" input-class='input-class' border="{{ false }}" data-label="competitor" bind:change="inputChange" />
-    </view>
 
-    <view class="label"><text hidden="{{content.logtype=='成交'}}">*</text>{{text.type(content.logtype)}}</view>
-    <textarea value='{{content.content}}' class="textarea selector" data-label="content" bind:input="inputChange" placeholder="{{text.typeNote(content.logtype)}}"></textarea>
-</view>
 <view style="height: 140rpx;" />
 <view class="footer-but">
     <van-button custom-class='button' disabled='{{disabled}}' bindtap="submit" loading='{{loading}}' loading-text="保存中...">确定</van-button>

+ 1 - 1
pages/threadedTree/details/modules/record/index.wxml

@@ -1,5 +1,5 @@
 <navigator url="#" class="box" wx:for="{{followList}}">
     <view class="time">{{item.createdate}}</view>
-    <view class="content">由经销商端<text style="color: var(--warning);"> {{item.createby}} </text>开始跟进,跟进方式:<text>{{item.followupmode}}</text><block wx:if="{{item.content}}">,跟进内容:</block></view>
+    <view class="content">由经销商端<text style="color: var(--warning);"> {{item.createby}} </text>开始跟进<block wx:if="{{item.followupmode}}">,跟进方式:<text>{{item.followupmode}}</text></block><block wx:if="{{item.logtype}}">,跟进结果:<text>{{item.logtype}}</text></block><block wx:if="{{item.content}}">,跟进内容:</block></view>
     <view class="explain" wx:if="{{item.content}}">{{item.content}}</view>
 </navigator>

+ 2 - 4
pages/threadedTree/index.js

@@ -31,11 +31,8 @@ Page({
     },
     /* 打开弹窗 */
     openSheet(e) {
-        const {
-            title
-        } = e.target.dataset;
         this.setData({
-            sheetTitle: title
+            sheetTitle: "添加线索"
         })
     },
     /* 结束新建 */
@@ -139,4 +136,5 @@ Page({
             })
         })
     },
+    onShareAppMessage(res) { }
 })

+ 0 - 1
pages/threadedTree/index.json

@@ -3,7 +3,6 @@
     "usingComponents": {
         "Search": "./modules/search/search",
         "List": "./modules/list/list",
-        "FloatingButton": "./modules/FloatingButton/index",
         "Insert": "./modules/insert/insert",
         "Popup": "./modules/popup/index"
     }

+ 4 - 6
pages/threadedTree/index.wxml

@@ -4,15 +4,13 @@
     <van-tab title="待跟进" />
     <van-tab title="跟进中" />
     <van-tab title="已成交" />
-    <van-tab title="已过期" />
-    <van-tab title="丢单" />
-    <van-tab title="无效" />
+    <!-- <van-tab title="已过期" /> -->
+    <!-- <van-tab title="丢单" /> -->
+    <van-tab title="无效" />
 </van-tabs>
 
 <!-- 浮动按钮 -->
-<FloatingButton wx:if="{{per.query(auth,'新增')}}" radius='32'>
-    <image style="width: 160rpx; height: 160rpx; transform: translate(-50%,-50%);" src='../../static/image/add.png' data-title="新建线索" bindtap="openSheet" />
-</FloatingButton>
+<Yl_FloatingButton wx:if="{{per.query(auth,'新增')}}" radius='32' bindtap="openSheet" />
 
 <My_listBox id='ListBox' bindgetlist="getList" height='{{scrollHeight}}'>
     <List list='{{list}}' tagColor='{{tagColor}}' auth="{{auth}}" />

+ 0 - 34
pages/threadedTree/modules/FloatingButton/index.js

@@ -1,34 +0,0 @@
-Component({
-    properties: {
-        radius: Number //半径 单位px
-    },
-    data: {
-        top: "550px",
-        left: "345px",
-        viewHeight: null
-    },
-    lifetimes: {
-        attached: function () {
-            let that = this;
-            wx.getSystemInfo({
-                success: (res => that.setData({
-                    viewHeight: res.windowHeight
-                }))
-            });
-        },
-    },
-    methods: {
-        viewTouchMove(e) {
-            let left = e.touches[0].pageX;
-            if (left > (375 - this.data.radius)) left = 375 - (this.data.radius / 2);
-            if (left < 0 + this.data.radius) left = 0 + this.data.radius;
-            let top = e.touches[0].pageY;
-            if (top < 0 + this.data.radius) top = 0 + this.data.radius;
-            if (top > this.data.viewHeight - this.data.radius) top = this.data.viewHeight - this.data.radius;
-            this.setData({
-                left: left + 'px',
-                top: top + 'px'
-            })
-        }
-    }
-})

+ 0 - 4
pages/threadedTree/modules/FloatingButton/index.json

@@ -1,4 +0,0 @@
-{
-    "component": true,
-    "usingComponents": {}
-}

+ 0 - 4
pages/threadedTree/modules/FloatingButton/index.scss

@@ -1,4 +0,0 @@
-.float-box{
-    position: absolute;
-    z-index: 99;
-}

+ 0 - 3
pages/threadedTree/modules/FloatingButton/index.wxml

@@ -1,3 +0,0 @@
-<view class="float-box" style="top: {{top}}; left: {{left}};" bindtouchmove="viewTouchMove">
-    <slot></slot>
-</view>

+ 1 - 1
pages/threadedTree/modules/insert/insert.js

@@ -48,7 +48,7 @@ Component({
             if (this.data.disabled || this.data.loading) return;
             if (!deleteMark.CheckPhoneNumber(this.data.content.phonenumber)) return;
             const that = this;
-            if (this.data.type == '新建线索') return this.handleEdit();
+            if (this.data.type == '添加线索') return this.handleEdit();
             wx.showModal({
                 title: "提示",
                 content: "是否确认本次修改",

+ 2 - 2
pages/threadedTree/modules/insert/insert.wxml

@@ -14,8 +14,8 @@
     <van-field value="{{ content.address }}" input-class='input-class' border="{{ false }}" data-label="address" bind:change="inputChange" />
     <view class="label"><text>*</text>来源:</view>
     <van-field value="{{ content.cluesource }}" input-class='input-class' border="{{ false }}" data-label="cluesource" bind:change="inputChange" />
-    <view class="label">备注:</view>
-    <textarea value='{{content.notes}}' class="textarea selector" data-label="notes" bind:input="inputChange" placeholder="请输入备注"></textarea>
+    <!-- <view class="label">备注:</view>
+    <textarea value='{{content.notes}}' class="textarea selector" data-label="notes" bind:input="inputChange" placeholder="请输入备注"></textarea> -->
 </view>
 
 <view style="height: 140rpx;" />

+ 15 - 2
pages/threadedTree/modules/list/list.scss

@@ -1,7 +1,6 @@
 .box {
     position: relative;
     width: 690rpx;
-    height: 242rpx;
     background: #FFFFFF;
     border-radius: 16rpx;
     margin: 20rpx auto 0;
@@ -17,13 +16,27 @@
     }
 
     .title {
-        width: 520rpx;
+        display: flex;
         height: 40rpx;
         font-size: 28rpx;
         font-family: PingFang SC-Bold, PingFang SC;
         font-weight: bold;
         color: #333333;
         margin-top: 0;
+
+        .line-1 {
+            width: 400rpx;
+        }
+
+        text {
+            line-height: 44rpx;
+            width: 130rpx;
+            display: block;
+            font-size: 20rpx;
+            text-align: center;
+            font-weight: 400;
+            color: #3131FA;
+        }
     }
 
     /* 右上 */

+ 8 - 3
pages/threadedTree/modules/list/list.wxml

@@ -1,10 +1,15 @@
 <navigator class="box" url="/pages/threadedTree/details/index?id={{item.sat_orderclueid}}&color={{tagColor!='#ffffff'?tagColor:''}}&auth={{auth}}" wx:for="{{list}}">
-    <view class="title line-1">{{item.name}}</view>
-    <view>最近跟进时间:{{item.followtime?item.followtime:'暂未跟进'}}</view>
+    <view class="title">
+        <view class="line-1">{{item.name}}</view>
+        <text wx:if="{{item.lognum}}">{{item.lognum}}次跟进</text>
+    </view>
+    <view wx:if="{{item.followBy}}">最近跟进人:{{item.followBy}}</view>
+    <view wx:if="{{item.followtime}}">最近跟进时间:{{item.followtime}}</view>
+    <view wx:else>跟进状态:暂未跟进</view>
     <view class="line-1">地址:{{item.province?item.province+item.city+item.county+item.address:"暂无"}}</view>
     <view catchtap="callOut" data-phonenumber="{{item.phonenumber}}">
         <text class="iconfont icon-bodadianhua" style="color: #52C41A; font-size: 24rpx;margin-right: 10rpx;" />手机号:{{item.phonenumber}}
     </view>
     <view class="r-t-state {{tagColor=='#ffffff'?'fff':''}}" style="background: {{tagColor}};">{{item.status}}</view>
-    <view class="r-b-state" wx:if="{{item.isMemberFollow==1}}">成员跟进</view>
+    <!-- <view class="r-b-state" wx:if="{{item.isMemberFollow==1}}">成员跟进</view> -->
 </navigator>