Browse Source

Merge branch 'ecp' of http://git.echepei.com/gubersail/gubersail-platform-ui into ecp

Qukatie 1 week ago
parent
commit
ab0aa5b8d5

+ 31 - 7
src/views/claim/claimMixin.js

@@ -191,7 +191,7 @@ export default {
         addBtn: false,
         column: [
           {
-            label: '理赔号',
+            label: '理赔号',
             prop: 'claimNo',
             search: true
           },
@@ -204,7 +204,7 @@ export default {
             slot: true
           },
           {
-            label: '来源名称',
+            label: '来源名称',
             prop: 'sourceName',
             search: true
           },
@@ -214,26 +214,50 @@ export default {
             search: true
           },
           {
-            label: '消费者姓名',
+            label: '联系人',
             prop: 'consumerName',
             search: true
           },
           {
-            label: '消费者电话',
+            label: '电话',
             prop: 'consumerPhone',
             search: true
           },
           {
-            label: '号',
+            label: '胎号',
             prop: 'tyreNo',
             search: true
           },
           {
-            label: '轮胎规格',
+            label: '规格型号',
             prop: 'tyreSpecs'
           },
           {
-            label: '理赔金额',
+            label: '购买日期',
+            prop: 'purchaseDate',
+            formatter: function(row, value) {
+              if (!value || typeof value !== 'string') return value || ''
+              return value.substring(0, 10)
+            }
+          },
+          {
+            label: '装车日期',
+            prop: 'mountDate',
+            formatter: function(row, value) {
+              if (!value || typeof value !== 'string') return value || ''
+              return value.substring(0, 10)
+            }
+          },
+          {
+            label: '行驶里程(km)',
+            prop: 'runMileage'
+          },
+          {
+            label: '理赔原因',
+            prop: 'claimReason'
+          },
+          {
+            label: '索赔金额',
             prop: 'claimAmount',
             type: 'number'
           },

+ 17 - 12
src/views/claim/index.vue

@@ -65,7 +65,7 @@
           <el-row :gutter="20">
             <el-col :span="8">
               <div class="detail-item">
-                <label>理赔号:</label>
+                <label>理赔号:</label>
                 <span>{{ claimDetail.claimNo }}</span>
               </div>
             </el-col>
@@ -87,7 +87,7 @@
             </el-col>
             <el-col :span="8">
               <div class="detail-item">
-                <label>来源名称:</label>
+                <label>来源名称:</label>
                 <span>{{ claimDetail.sourceName }}</span>
               </div>
             </el-col>
@@ -114,13 +114,13 @@
           <el-row :gutter="20">
             <el-col :span="12">
               <div class="detail-item">
-                <label>消费者姓名:</label>
+                <label>联系人:</label>
                 <span>{{ claimDetail.consumerName }}</span>
               </div>
             </el-col>
             <el-col :span="12">
               <div class="detail-item">
-                <label>消费者电话:</label>
+                <label>电话:</label>
                 <span>{{ claimDetail.consumerPhone }}</span>
               </div>
             </el-col>
@@ -135,32 +135,32 @@
           <el-row :gutter="20">
             <el-col :span="8">
               <div class="detail-item">
-                <label>号:</label>
+                <label>胎号:</label>
                 <span>{{ claimDetail.tyreNo }}</span>
               </div>
             </el-col>
             <el-col :span="8">
               <div class="detail-item">
-                <label>轮胎规格:</label>
+                <label>规格型号:</label>
                 <span>{{ claimDetail.tyreSpecs }}</span>
               </div>
             </el-col>
             <el-col :span="8">
               <div class="detail-item">
-                <label>行驶里程:</label>
-                <span>{{ claimDetail.runMileage }} 公里</span>
+                <label>行驶里程(km):</label>
+                <span>{{ claimDetail.runMileage }}</span>
               </div>
             </el-col>
             <el-col :span="8">
               <div class="detail-item">
                 <label>购买日期:</label>
-                <span>{{ claimDetail.purchaseDate }}</span>
+                <span>{{ formatYmd(claimDetail.purchaseDate) }}</span>
               </div>
             </el-col>
             <el-col :span="8">
               <div class="detail-item">
-                <label>装日期:</label>
-                <span>{{ claimDetail.mountDate }}</span>
+                <label>装日期:</label>
+                <span>{{ formatYmd(claimDetail.mountDate) }}</span>
               </div>
             </el-col>
           </el-row>
@@ -174,7 +174,7 @@
           <el-row :gutter="20">
             <el-col :span="12">
               <div class="detail-item">
-                <label>赔金额:</label>
+                <label>赔金额:</label>
                 <span class="amount">¥{{ claimDetail.claimAmount }}</span>
               </div>
             </el-col>
@@ -420,6 +420,11 @@ export default {
         }
       }
       return fb;
+    },
+    // 统一格式化为 YYYY-MM-DD
+    formatYmd: function(dateTime) {
+      if (!dateTime || typeof dateTime !== 'string') return ''
+      return dateTime.substring(0, 10)
     }
   }
 }

+ 1 - 0
src/views/lead/index.vue

@@ -102,6 +102,7 @@
                 @on-load="detailOnLoad">
                 <template slot="menuLeft">
                     <el-button type="danger" size="small" plain icon="el-icon-delete"
+                        v-if="detailPermissionList.delBtn"
                         @click="handleDetailDelete" :disabled="detailSelectionList.length === 0">
                         删除
                     </el-button>

+ 40 - 10
src/views/lead/mixins/leadIndex.js

@@ -99,6 +99,36 @@ export default {
          */
         detailIds() {
             return this.detailSelectionList.map(ele => ele.id)
+        },
+
+        /**
+         * 详细信息权限列表(动态基于线索状态)
+         * @returns {Object} 权限配置
+         */
+        detailPermissionList() {
+            const basePermissions = {
+                viewBtn: true,
+                editBtn: true,
+            }
+
+            // 如果当前有选中的线索,根据线索状态控制按钮显示
+            if (this.currentLead && this.currentLead.status !== undefined) {
+                // 使用 LEAD_STATUS.CLOSED (值为 3) 判断是否已关闭
+                const isClosed = this.currentLead.status === LEAD_STATUS.CLOSED;
+
+                return {
+                    ...basePermissions,
+                    addBtn: !isClosed, // 已关闭时隐藏新增按钮
+                    delBtn: !isClosed, // 已关闭时隐藏删除按钮
+                }
+            }
+
+            // 默认权限(向后兼容)
+            return {
+                ...basePermissions,
+                addBtn: true,
+                delBtn: false,
+            }
         }
     },
     
@@ -163,16 +193,7 @@ export default {
                 ]
             },
             
-            /**
-             * 详细信息权限列表
-             */
-            detailPermissionList: {
-                addBtn: true,
-                viewBtn: true,
-                delBtn: false,
-                editBtn: true,
-            },
-
+            
             /**
              * 详细信息分页信息
              * @type {{total: number, currentPage: number, pageSize: number}}
@@ -718,6 +739,15 @@ export default {
         },
 
         /**
+         * 判断线索是否已关闭
+         * @param {number} status - 状态值
+         * @returns {boolean} 是否已关闭
+         */
+        isLeadClosed(status) {
+            return status === LEAD_STATUS.CLOSED
+        },
+
+        /**
          * 判断是否逾期
          * @param {string} endTime - 截止时间
          * @param {number} status - 状态