瀏覽代碼

联系人

zhaoxiaohai 3 年之前
父節點
當前提交
40396353f9

+ 44 - 0
packageA/contacts/details.js

@@ -1,3 +1,4 @@
+const _Http = getApp().globalData.http;
 Page({
     data: {
         contacts: [],
@@ -78,5 +79,48 @@ Page({
             url: '../contacts/edit?data=' + data,
         })
     },
+    /* 删除 */
+    deleteData() {
+        const that = this;
+        wx.showModal({
+            title: "提示",
+            content: `是否确认删除${this.data.contacts.name}`,
+            success({
+                confirm
+            }) {
+                if (confirm) _Http.basic({
+                    "id": "20220831164703",
+                    "version": 1,
+                    "content": {
+                        "sys_phonebookid": that.data.contacts.sys_phonebookid
+                    }
+                }).then(res => {
+                    if (res.msg != '成功') return wx.showToast({
+                        title: res.data,
+                        icon: "none"
+                    })
+                    getCurrentPages().forEach(v => {
+                        if (v.route === 'packageA/contacts/index') {
+                            v.getGroup();
+                        } else if (v.route === 'packageA/contacts/list') {
+                            let arr = v.data.phonebook.filter(v => v.sys_phonebookid != that.data.contacts.sys_phonebookid);
+                            v.setData({
+                                phonebook: arr
+                            })
+                        }
+                    });
+                    wx.showToast({
+                        title: '删除成功',
+                        icon: 'none'
+                    })
+                    setTimeout(() => {
+                        wx.navigateBack({
+                            delta: 0,
+                        })
+                    }, 500);
+                })
+            }
+        })
+    },
     onShareAppMessage() {}
 })

+ 1 - 1
packageA/contacts/details.wxml

@@ -42,7 +42,7 @@
     </navigator>
 </view>
 <view class="footer">
-    <van-button custom-class='delete'>删除</van-button>
+    <van-button custom-class='delete' bindtap="deleteData">删除</van-button>
     <van-button custom-class='edit' bindtap="toEdit">编辑</van-button>
 </view>
 <view style="height: 140rpx;" />

+ 62 - 46
packageA/contacts/index.js

@@ -1,6 +1,7 @@
 // packageA/contacts/index.js
 let dowmCount = null,
-    _Http = getApp().globalData.http;
+    _Http = getApp().globalData.http,
+    dMark = require('../../utils/deleteMark')
 Page({
 
     /**
@@ -9,11 +10,10 @@ Page({
     data: {
         systemGroup: [], //系统分组
         myGroup: [], //自定义分组
+        groupName: '',
+        sys_phonebookgroupid: 0,
+        dialogShow: false
     },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
     onLoad(options) {
         this.getGroup();
     },
@@ -88,6 +88,9 @@ Page({
                     that.setData({
                         myGroup
                     })
+                    wx.showToast({
+                      title: '删除成功',
+                    })
                 })
             }
         })
@@ -126,51 +129,64 @@ Page({
         } = event.detail;
         instance.close();
     },
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面隐藏
-     */
-    onHide() {
-
+    openDialog(e) {
+        console.log(e)
+        if (e.currentTarget.dataset.item) {
+            this.setData({
+                dialogShow: true,
+                groupName: e.currentTarget.dataset.item.groupname,
+                sys_phonebookgroupid: e.currentTarget.dataset.item.sys_phonebookgroupid
+            })
+        } else {
+            this.setData({
+                dialogShow: true,
+                groupName: "",
+                sys_phonebookgroupid: 0
+            })
+        }
     },
-
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload() {
-
+    inputName({
+        detail
+    }) {
+        this.setData({
+            groupName: dMark.queryStr(detail.value)
+        })
     },
-
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
-     */
-    onPullDownRefresh() {
-
+    handleAddGroup() {
+        let name = this.data.groupName.trim()
+        if (name.length == 0) return wx.showToast({
+            title: '群组名称不可为空',
+            icon: "none"
+        })
+        _Http.basic({
+            "id": "20220831164203",
+            "version": 1,
+            "content": {
+                "sys_phonebookgroupid": this.data.sys_phonebookgroupid,
+                "groupname": name
+            }
+        }).then(res => {
+            if (res.msg != '成功') {
+                wx.showToast({
+                    title: res.data,
+                    icon: "none"
+                })
+            };
+            this.getGroup();
+            wx.showToast({
+                title: this.data.sys_phonebookgroupid == 0 ? '添加成功' : '修改成功',
+            })
+            this.setData({
+                groupName: "",
+                sys_phonebookgroupid: 0
+            })
+        })
     },
-
-    /**
-     * 页面上拉触底事件的处理函数
-     */
-    onReachBottom() {
-
+    onCancel() {
+        this.setData({
+            dialogShow: false
+        })
     },
-
-    /**
-     * 用户点击右上角分享
-     */
     onShareAppMessage() {
 
     }

+ 2 - 1
packageA/contacts/index.json

@@ -1,7 +1,8 @@
 {
     "usingComponents": {
         "add": "./modules/add/index",
-        "van-swipe-cell": "@vant/weapp/swipe-cell/index"
+        "van-swipe-cell": "@vant/weapp/swipe-cell/index",
+        "van-dialog": "@vant/weapp/dialog/index"
     },
     "navigationBarTitleText": "联系人"
 }

+ 29 - 1
packageA/contacts/index.scss

@@ -5,6 +5,17 @@
     margin-top: 20rpx;
     padding-bottom: 15rpx;
 
+    .icon {
+        display: flex;
+        align-items: center;
+        justify-content: center;
+
+        text {
+            color: #fff;
+            font-size: 48rpx;
+        }
+    }
+
     .title {
         height: 42rpx;
         font-size: 30rpx;
@@ -57,8 +68,25 @@
         height: 84rpx;
         width: 240rpx;
         margin-top: 15rpx;
-        .but{
+
+        .but {
             border-radius: 0 !important;
         }
     }
+}
+
+
+.group {
+    padding: 40rpx 0 50rpx;
+
+    .group-name {
+        width: 70%;
+        height: 50rpx !important;
+        margin: auto;
+        border: 1px solid rgb(116, 114, 114);
+        text-align: center;
+        font-family: PingFang SC-Regular, PingFang SC;
+        font-size: 26rpx;
+        border-radius: 12rpx;
+    }
 }

+ 15 - 6
packageA/contacts/index.wxml

@@ -1,14 +1,15 @@
 <van-search value="{{ condition }}" shape="round" background="var(--primary)" bind:search='startSearch' placeholder="搜索联系人" />
-<add isGroup bind:callBack='toAddContacts' />
+<add isGroup bind:callBack='toAddContacts' bind:openDialog='openDialog' />
 <!-- 系统分组 -->
 <view class="group-box">
     <view class="title">系统群组</view>
     <navigator url="#" class="group" wx:for="{{systemGroup}}" wx:key="item.groupname" bindtap="toCheckList" data-item="{{item}}">
         <view class="icon" style="background: #FA8C16;">
+            <text class="iconfont icon-xiaochengxu_qunzu" />
         </view>
         <view class="text">
             <view class="name">{{item.groupname}}</view>
-            <view class="count">已有 {{item.count}} 人</view>
+            <view class="count">已有 {{item.phonebook.length}} 人</view>
         </view>
         <van-icon size='14' color='#D2D2D2' name="arrow" />
     </navigator>
@@ -19,17 +20,25 @@
     <van-swipe-cell id="swipe-cell" async-close bind:close="onClose" right-width="{{ 120 }}" wx:for="{{myGroup}}" wx:key="item.groupname" bind:close="onClose">
         <van-cell-group>
             <navigator url="#" class="group" bindtap="toCheckList" data-item="{{item}}">
-                <view class="icon" style="background: #52C41A;"></view>
+                <view class="icon" style="background: #52C41A;">
+                    <text class="iconfont icon-xiaochengxu_qunzu" />
+                </view>
                 <view class="text">
                     <view class="name">{{item.groupname}}</view>
-                    <view class="count">已有 {{item.count}} 人</view>
+                    <view class="count">已有 {{item.phonebook.length}} 人</view>
                 </view>
                 <van-icon size='14' color='#D2D2D2' name="arrow" />
             </navigator>
         </van-cell-group>
         <view slot="right" class="slide">
-            <van-button custom-class='but' color="#FA8C16">编辑</van-button>
+            <van-button custom-class='but' color="#FA8C16" bindtap="openDialog" data-item="{{item}}">编辑</van-button>
             <van-button custom-class='but' color="#FF3B30" bindtap="deleteGroup" data-item="{{item}}">删除</van-button>
         </view>
     </van-swipe-cell>
-</view>
+</view>
+<!-- 添加群组 -->
+<van-dialog use-slot title="添加群组" show="{{ dialogShow }}" showCancelButton confirmButtonText='确定' confirm-button-color='var(--assist)' bind:confirm='handleAddGroup' bind:cancel='onCancel'>
+    <view class="group">
+        <input type="text" placeholder="请输入群组名称" bindinput="inputName" value="{{groupName}}" class="group-name" />
+    </view>
+</van-dialog>

+ 6 - 47
packageA/contacts/modules/add/index.js

@@ -1,11 +1,11 @@
-const _Http = getApp().globalData.http,
-    dMark = require('../../../../utils/deleteMark');
 Component({
     properties: {
         isGroup: true,
-        callBack: {
-            type: Function
-        }
+        callBack: Function,
+        openDialog: Function
+    },
+    options: {
+        addGlobalClass: true
     },
     data: {
         show: false,
@@ -13,48 +13,7 @@ Component({
     },
     methods: {
         addGroup() {
-            this.setData({
-                show: true
-            })
-        },
-        inputName({
-            detail
-        }) {
-            this.setData({
-                groupName: dMark.queryStr(detail.value)
-            })
-        },
-        handleAddGroup() {
-            let name = this.data.groupName.trim()
-            if (name.length == 0) return wx.showToast({
-                title: '群组名称不可为空',
-                icon: "none"
-            })
-            _Http.basic({
-                "id": "20220831164203",
-                "version": 1,
-                "content": {
-                    "sys_phonebookgroupid": 0,
-                    "groupname": name
-                }
-            }).then(res => {
-                if (res.msg != '成功') {
-                    wx.showToast({
-                        title: res.data,
-                        icon: "none"
-                    })
-                }
-                this.setData({
-                    groupName: ""
-                })
-                let pages = getCurrentPages();
-                pages[pages.length - 1].getGroup();
-            })
-        },
-        onClose() {
-            this.setData({
-                show: false
-            })
+            this.triggerEvent("openDialog")
         },
         handleCallBack() {
             this.triggerEvent('callBack')

+ 0 - 1
packageA/contacts/modules/add/index.json

@@ -1,6 +1,5 @@
 {
     "component": true,
     "usingComponents": {
-        "van-dialog": "@vant/weapp/dialog/index"
     }
 }

+ 0 - 15
packageA/contacts/modules/add/index.scss

@@ -29,18 +29,3 @@
         }
     }
 }
-
-.group-box {
-    padding: 40rpx 0 50rpx;
-
-    .group-name {
-        width: 70%;
-        height: 50rpx !important;
-        margin: auto;
-        border: 1px solid rgb(116, 114, 114);
-        text-align: center;
-        font-family: PingFang SC-Regular, PingFang SC;
-        font-size: 26rpx;
-        border-radius: 12rpx;
-    }
-}

+ 7 - 10
packageA/contacts/modules/add/index.wxml

@@ -1,23 +1,20 @@
 <view class="add">
     <navigator class="box" url="#" bindtap="handleCallBack">
         <view class="content">
-            <image style="height: 48rpx; width: 48rpx; background: aqua; margin-right: 30rpx;" />
+            <view style="height: 48rpx; width: 48rpx; margin-right: 20rpx;">
+                <text class="iconfont icon-tianjialianxiren" style="color:#FA8C16; font-size: 48rpx;"></text>
+            </view>
             <view class="text">添加联系人{{types}}</view>
             <van-icon size='14' color='#D2D2D2' style="margin-right: 30rpx;" name="arrow" />
         </view>
     </navigator>
     <navigator wx:if="{{isGroup}}" class="box" url="#" bindtap="addGroup">
         <view class="content">
-            <image style="height: 48rpx; width: 48rpx; background: aqua; margin-right: 30rpx;" />
+            <view style="height: 48rpx; width: 48rpx; margin-right: 20rpx;">
+                <text class="iconfont icon-tianjiaqunzu" style="color:#52C41A; font-size: 48rpx;"></text>
+            </view>
             <view class="text">添加群组</view>
             <van-icon size='14' color='#D2D2D2' style="margin-right: 30rpx;" name="arrow" />
         </view>
     </navigator>
-</view>
-
-<van-dialog use-slot title="添加群组" show="{{ show }}" showCancelButton confirmButtonText='确定' confirm-button-color='var(--assist)' bind:confirm='handleAddGroup' bind:cancel='onClose'>
-    <view class="group-box">
-        <input type="text" placeholder="请输入群组名称" bindinput="inputName" value="{{groupName}}" class="group-name" />
-    </view>
-</van-dialog>
-<wxs src='../../utils/wxmlQueryPer.wxs' module="per" />
+</view>