Browse Source

作业看板客户模块

xiaohaizhao 2 years ago
parent
commit
c307068cc0

+ 109 - 0
packageA/achievement/modules/client.js

@@ -0,0 +1,109 @@
+const _Http = getApp().globalData.http;
+Component({
+    options: {
+        addGlobalClass: true
+    },
+    data: {
+        content: {
+            nocache: true,
+            type: 0,
+            dataid: 0,
+            pageNumber: 1,
+            pageSize: 20,
+            dataType: "4",
+            dateType: '周',
+            where: {
+                dateType: '周',
+                begindate: "",
+                enddate: ""
+            }
+        },
+        showFiltrete: false,
+        filtratelist: [{
+            label: "时间筛选",
+            index: 1,
+            showName: "name", //显示字段
+            valueKey: "dateType", //返回Key
+            value: "value", //选中值
+            selectKey: "value",
+            list: [{
+                name: "本日",
+                value: "日"
+            }, {
+                name: "本周",
+                value: "周"
+            }, {
+                name: "本月",
+                value: "月"
+            }, {
+                name: "本年",
+                value: "年"
+            }]
+        }]
+    },
+    methods: {
+        handleFilter({
+            detail
+        }) {
+            this.setData({
+                "content.dateType": detail.dateType,
+                "content.where.dateType": detail.dateType,
+                "content.where.begindate": detail.startdate,
+                "content.where.enddate": detail.enddate,
+            });
+            this.getList(true);
+        },
+        init(type, dataid) {
+            console.log(this.data.filtratelist)
+            if (this.data.content.dataid != dataid) {
+                this.setData({
+                    'content.dataid': dataid,
+                    'content.type': type,
+                    list: []
+                });
+                this.getList(true);
+            }
+        },
+        getList(init = false) {
+            if (init.detail != undefined) init = init.detail;
+            let content = this.data.content;
+            if (init) {
+                content.pageNumber = 1;
+                content.pageTotal = 1;
+            }
+            if (content.pageNumber > content.pageTotal) return;
+            _Http.basic({
+                "id": 20230617143104,
+                content
+            }).then(res => {
+                console.log(content.dataType + "客户", res)
+                this.selectComponent("#ListBox").setHeight(".head", this);
+                this.selectComponent('#ListBox').RefreshToComplete();
+                if (res.msg != '成功') return wx.showToast({
+                    title: res.msg,
+                    icon: "none"
+                });
+                content.pageNumber = res.pageNumber + 1;
+                content.pageTotal = res.pageTotal;
+                this.setData({
+                    list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
+                    content
+                })
+            })
+        },
+        changeDataType(e) {
+            const id = e.target.id;
+            if (!id || this.data.content.dataType == id) return;
+            this.setData({
+                "content.dataType": e.target.id,
+                list: []
+            });
+            this.getList(true)
+        },
+        openFiltrete() {
+            this.setData({
+                showFiltrete: true
+            })
+        }
+    }
+})

+ 4 - 0
packageA/achievement/modules/client.json

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

+ 2 - 0
packageA/achievement/modules/client.scss

@@ -0,0 +1,2 @@
+@import "./head.scss";
+@import "./content.scss";

+ 64 - 0
packageA/achievement/modules/client.wxml

@@ -0,0 +1,64 @@
+<view class="head" bindtap="changeDataType">
+    <view class="item {{content.dataType==4?'active':''}}" id='4'>
+        新增客户
+    </view>
+    <view class="item {{content.dataType==5?'active':''}}" id='5'>
+        更新客户
+    </view>
+    <view class="item {{content.dataType==6?'active':''}}" id='6'>
+        跟进客户
+    </view>
+    <navigator url="#" class="filter" catchtap="openFiltrete">
+        <text class="iconfont icon-shaixuan" />
+    </navigator>
+</view>
+<Yl_ListBox id='ListBox' bind:getlist='getList'>
+    <view class="content-box" wx:for="{{list}}" wx:key="changedate">
+        <view class="title">
+            <view class="line-1">
+                {{item.enterprisename}}
+            </view>
+        </view>
+        <view class="rep">
+            业务员:{{item.name}}
+            <block wx:if="{{item.name && item.depname}}">
+                -
+            </block>
+            {{item.depname}}
+        </view>
+        <block wx:if="{{content.dataType==4}}">
+            <view class="rep">
+                地址:{{item.address||'--'}}
+            </view>
+            <view class="rep">
+                联系方式:<text wx:if="{{item.phonenumber}}" style="color: #3874F6;" bindtap="callphonenumber" data-phonenumber="{{item.phonenumber}}">{{item.phonenumber}}</text>
+                <block wx:else>
+                    --
+                </block>
+            </view>
+            <view class="rep">
+                新增时间:{{item.changedate ||' --'}}
+            </view>
+        </block>
+        <block wx:if="{{content.dataType==5}}">
+            <view class="rep">
+                更新时间:{{item.changedate ||' --'}}
+            </view>
+            <view class="rep">
+                更新内容:{{item.newvalue ||' --'}}
+            </view>
+        </block>
+        <block wx:if="{{content.dataType==6}}">
+            <view class="rep">
+                跟进时间:{{item.createdate ||' --'}}
+            </view>
+            <view class="rep">
+                跟进内容:{{item.content ||' --'}}
+            </view>
+        </block>
+    </view>
+    <My_empty wx:if="{{!list.length}}" />
+    <view style="height: 80rpx;" />
+</Yl_ListBox>
+
+<Yl_Filtrate1 show='{{showFiltrete}}' list='{{filtratelist}}' dateRange bindhandle="handleFilter" />