Просмотр исходного кода

1、修改列表的电话唤起事件

zhoux 1 год назад
Родитель
Сommit
546721e8b6

+ 34 - 22
components/dkbase/dk-list/dk-list.js

@@ -23,13 +23,13 @@ Component({
     titleCorner: {
       type: String,
     },
-   
+
     // 标题图标
     titleImage: {
       type: String,
       value: 'Vector.png'
     },
-    statusImageFlag: { 
+    statusImageFlag: {
       //-作废 收款显示隐藏
       type: Boolean,
       value: false
@@ -52,7 +52,7 @@ Component({
       type: Boolean,
       value: true
     },
-    flgValidOnFlag:{ //默认显示启用
+    flgValidOnFlag: { //默认显示启用
       type: Boolean,
       value: true
     },
@@ -139,7 +139,7 @@ Component({
     subMainTitlelabel: { //主标题右侧文本 label
       type: String
     },
-    subTitle:{//主标题右侧文本
+    subTitle: {//主标题右侧文本
       type: String
     },
     defaultFlagKey: { //默认key
@@ -149,9 +149,9 @@ Component({
       type: Boolean,
       value: false
     },
-    detailReportFlag:{  // 明细报表标识
-      type:Boolean,
-      value:false
+    detailReportFlag: {  // 明细报表标识
+      type: Boolean,
+      value: false
     }
   },
 
@@ -159,7 +159,7 @@ Component({
    * 组件的初始数据
    */
   data: {
-    imageUrl:config.image_url + '/static/img/',
+    imageUrl: config.image_url + '/static/img/',
     // 是否显示pop
     show: false,
     $t: app.globalData.lang,
@@ -184,7 +184,7 @@ Component({
      * @author : 周兴
      * @date   : 2024/2/19 11:46
      */
-    _chooseData(index){
+    _chooseData(index) {
       let list = this.data.list;
       if (list && list[index]) {
         list[index].checked = !list[index].checked
@@ -193,8 +193,10 @@ Component({
         list: list
       })
       // 勾选数据
-      this.triggerEvent("choose", { item:list[index],
-         list: list.filter(it=>it.checked) ,checked:list[index].checked})
+      this.triggerEvent("choose", {
+        item: list[index],
+        list: list.filter(it => it.checked), checked: list[index].checked
+      })
     },
     /**
     * @desc   : 打电话
@@ -202,16 +204,26 @@ Component({
     * @date   : 2024/2/19 11:46
     */
     openTelPhone(e) {
-      if (!e.currentTarget.dataset.phone) {
-        return;
+      let phoneFlag = false;
+      let item = e.currentTarget.dataset.col;
+
+      if (e.currentTarget.dataset.phone
+        || (typeof item.name == 'string' && item.name.toLowerCase().indexOf('phone') >= 0)) {
+        phoneFlag = true;
       }
       let tel = e.currentTarget.dataset.value
-      if (!tel) {
-        return;
+      if (phoneFlag && !tel) {
+        phoneFlag = false;
+      } 
+      // 拨打电话
+      if (phoneFlag) {
+        wx.makePhoneCall({
+          phoneNumber: tel,
+        })
+      } else {
+        // 跳转明细
+        this.toDetail(e);
       }
-      wx.makePhoneCall({
-        phoneNumber: tel,
-      })
     },
     /**
      * @desc   : 跳转明细页面
@@ -220,9 +232,9 @@ Component({
      */
     toDetail(e) {
       // 相当于勾选
-      if(this.data.chooseFlag){
+      if (this.data.chooseFlag) {
         this.chooseData(e);
-      }else{
+      } else {
         this.triggerEvent("toDetail", { item: e.currentTarget.dataset.item })
       }
     },
@@ -260,7 +272,7 @@ Component({
      * @date   : 2024/1/26 11:46
      */
     clickButton(e) {
-      console.log('点击按钮', e, this.data.item,e.currentTarget.dataset.item)
+      console.log('点击按钮', e, this.data.item, e.currentTarget.dataset.item)
       let item = this.data.item;
       let button = e.currentTarget.dataset.item;
       let flag = true;
@@ -278,7 +290,7 @@ Component({
       //   flag = true;
       // }
       // 点击询问后再往下进行
-      if(flag){
+      if (flag) {
         item = Object.assign(item, { button: button })
         let obj = {
           item: item,

+ 2 - 3
components/dkbase/dk-list/dk-list.wxml

@@ -69,19 +69,18 @@
               <view class="table-content-row-font">
                 <dk-text fontSize="14px" color="#95A8CB" fontWeight="nomal" value="{{col.title}}" copyValue="{{wxmlUtil.setItemValue(item,col.name)}}"></dk-text>
               </view>
-              <view class="table-content-class">
+              <view class="table-content-class" catchtap="openTelPhone"  data-item="{{item}}" data-col="{{col}}" data-index="{{index}}" data-phone="{{col.phone}}" data-value="{{item[col.name]}}">
                 {{wxmlUtil.setItemValue(item,col.name)}}
               </view>
             </view>
           </view>
-
           <!-- 内容变动 -->
           <view wx:if="{{contentCol}}" class="table-content-row" wx:for="{{contentObj[item[contentCol]]}}" wx:for-item="col" data-item="{{col}}">
             <view style="display: flex;">
               <view class="table-content-row-font">
                 <dk-text fontSize="14px" color="#95A8CB" fontWeight="nomal" value="{{col.title}}" copyValue="{{wxmlUtil.setItemValue(item,col.name)}}"></dk-text>
               </view>
-              <view class="table-content-class" catchtap="openTelPhone" data-phone="{{col.phone}}" data-value="{{item[col.name]}}">
+              <view class="table-content-class" catchtap="openTelPhone"  data-item="{{item}}" data-col="{{col}}" data-index="{{index}}" data-phone="{{col.phone}}" data-value="{{item[col.name]}}">
                 {{wxmlUtil.setItemValue(item,col.name)}}
               </view>
             </view>

+ 1 - 1
package-sales/pages/order-billing/order-billing.js

@@ -40,7 +40,7 @@ Page({
     // 列表区(内容)
     contentList: [
       { name: 'orderNo', title: mixins.$t("saleOrderNo") },
-      { name: 'cusPhone', title: mixins.$t("cusPhone") },
+      { name: 'cusPhone', title: mixins.$t("cusPhone")},
       { name: 'addressFull', title: mixins.$t("adddressFull") },
       { name: [{ name: 'orgName', title: '' }, { name: 'staffName', title: mixins.$t("staffId") }], title: mixins.$t("storeInformation") }
     ],