From 624e812b40ac87bf8d7a17b83b4a3bc3bbd901fb Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期四, 03 八月 2023 18:38:58 +0800
Subject: [PATCH] 增加客户服务单(删除工单管理、消费服务单)和客户管理模块详情页

---
 src/components/makepager/TableCommonView.vue |   79 +++++++++++++++++++++++++++++++++++----
 1 files changed, 70 insertions(+), 9 deletions(-)

diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index 5583db0..80b1e97 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="page-view">
+  <div class="table-view">
     <el-table
       ref="table"
       border
@@ -14,7 +14,6 @@
       :header-cell-style="{ background: '#ECF4FF', color: '#666' }"
     >
       <el-table-column v-if="selectBox" type="selection" width="40"> </el-table-column>
-
       <el-table-column
         v-for="(item, i) in tableList.tableColumn"
         :key="i"
@@ -23,12 +22,38 @@
         :width="item.width"
         :min-width="item.min"
         show-overflow-tooltip
-        sortable
+        :sortable="item.sortable"
       >
         <template slot-scope="scope">
           <span v-if="item.price">{{ "锟�" + number_format(scope.row[item.prop], 2, ".", ",") }}</span>
           <div v-else-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div>
-          <span v-else>{{ scope.row[item.prop] }}</span>
+          <span v-else-if="item.isTime">{{
+            dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop]) === "1900-01-01 08:00:00"
+              ? "--"
+              : dateFormat("YYYY-mm-dd HH:MM:SS", scope.row[item.prop])
+          }}</span>
+          <span v-else-if="item.isClick && scope.row[item.prop]" class="sel-name" @click="selNameClick(scope.row)">{{
+            scope.row[item.prop]
+          }}</span>
+          <span
+            v-else-if="item.isSalesLeadClick && scope.row[item.prop]"
+            class="sel-name"
+            @click="selSalesLeadClick(scope.row)"
+            >{{ scope.row[item.prop] }}</span
+          >
+          <span
+            v-else-if="item.isClientClick && scope.row[item.prop]"
+            class="sel-name"
+            @click="selClientClick(scope.row)"
+            >{{ scope.row[item.prop] ? scope.row[item.prop] : "--" }}</span
+          >
+          <span
+            v-else-if="item.isContactClick && scope.row[item.prop]"
+            class="sel-name"
+            @click="selContactsClick(scope.row)"
+            >{{ scope.row[item.prop] }}</span
+          >
+          <span v-else>{{ scope.row[item.prop] ? scope.row[item.prop] : "--" }}</span>
         </template>
       </el-table-column>
       <slot name="tableButton" />
@@ -47,7 +72,6 @@
       type: Boolean,
       default: true
     },
-
     tableList: {
       type: Object,
       default: () => {
@@ -123,7 +147,7 @@
             sums[index + 1]
           }
         })
-        console.log(sums)
+        // console.log(sums)
         return sums
       }
     },
@@ -154,6 +178,39 @@
         s[1] = s[1].substring(0, prec) //灏忔暟鐐逛綅鏁拌秴鍑洪暱搴︽椂鎴彇鍓嶉潰鐨勪綅鏁�
       }
       return s.join(dec)
+    },
+    // 鏃堕棿鏄剧ず
+    dateFormat(fmt, date) {
+      let ret = ""
+      date = new Date(date)
+      const opt = {
+        "Y+": date.getFullYear().toString(), // 骞�
+        "m+": (date.getMonth() + 1).toString(), // 鏈�
+        "d+": date.getDate().toString(), // 鏃�
+        "H+": date.getHours().toString(), // 鏃�
+        "M+": date.getMinutes().toString(), // 鍒�
+        "S+": date.getSeconds().toString() // 绉�
+        // 鏈夊叾浠栨牸寮忓寲瀛楃闇�姹傚彲浠ョ户缁坊鍔狅紝蹇呴』杞寲鎴愬瓧绗︿覆
+      }
+      for (let k in opt) {
+        ret = new RegExp("(" + k + ")").exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0"))
+        }
+      }
+      return fmt
+    },
+    selNameClick(row) {
+      this.$emit("selCommonClick", row)
+    },
+    selSalesLeadClick(row) {
+      this.$emit("selSalesLeadClick", row)
+    },
+    selClientClick(row) {
+      this.$emit("selClientClick", row)
+    },
+    selContactsClick(row) {
+      this.$emit("selContactsClick", row)
     }
   }
 }
@@ -161,10 +218,10 @@
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style lang="scss" scoped>
-.page-view {
-  margin-top: 20px;
+.table-view {
+  // margin-top: 20px;
   margin-right: 10px;
-  margin-bottom: 40px;
+  // margin-bottom: 40px;
   .blue {
     width: 70px;
     text-align: center;
@@ -172,6 +229,10 @@
     background-color: $color-primary;
     border-radius: 4px;
   }
+  .sel-name {
+    color: $color-primary;
+    cursor: pointer;
+  }
 }
 ::v-deep {
   .el-table__footer-wrapper tbody td.el-table__cell {

--
Gitblit v1.8.0