소스 검색

feat(理赔): 添加提交状态字段及关联功能

yz 4 주 전
부모
커밋
08143b843b
3개의 변경된 파일39개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 0
      src/api/types/claim.d.ts
  2. 21 1
      src/views/claim/claimMixin.js
  3. 16 1
      src/views/claim/index.vue

+ 2 - 0
src/api/types/claim.d.ts

@@ -106,6 +106,8 @@ export interface ClaimItem {
   vehicleNumber?: string;
   /** 轮胎数量 */
   tireQuantity?: number;
+  /** 是否已提交 0-未提交 1-已提交 */
+  isSubmitTime?: number;
 }
 
 /**

+ 21 - 1
src/views/claim/claimMixin.js

@@ -285,6 +285,17 @@ export default {
             type: 'datetime',
             format: 'yyyy-MM-dd HH:mm:ss',
             valueFormat: 'yyyy-MM-dd HH:mm:ss'
+          },
+          {
+            label: '提交状态',
+            prop: 'isSubmitTime',
+            type: 'select',
+            dicData: [
+              { label: '未提交', value: 0 },
+              { label: '已提交', value: 1 }
+            ],
+            search: true,
+            slot: true
           }
         ]
       },
@@ -293,7 +304,16 @@ export default {
     }
   },
   computed: {
-    ...mapGetters(['permission'])
+    ...mapGetters(['permission']),
+    
+    /**
+     * 是否可以新增审核记录
+     * 根据isSubmitTime字段判断:0-不可新增,1-可新增
+     * @returns {boolean} 是否可以新增审核记录
+     */
+    canAddAudit() {
+      return this.currentClaimRow?.isSubmitTime === 1
+    }
   },
   methods: {
     /**

+ 16 - 1
src/views/claim/index.vue

@@ -46,6 +46,11 @@
           {{ getAuditStatusLabel(row.auditStatus) }}
         </el-tag>
       </template>
+      <template slot-scope="{row}" slot="isSubmitTime">
+        <el-tag :type="row.isSubmitTime === 1 ? 'success' : 'warning'">
+          {{ row.isSubmitTime === 1 ? '已提交' : '未提交' }}
+        </el-tag>
+      </template>
     </avue-crud>
 
     <!-- 理赔详情对话框 -->
@@ -319,7 +324,17 @@
                width="1000px"
                append-to-body>
       <div style="margin-bottom: 16px;">
-        <el-button type="primary" size="small" @click="handleAddAudit">新增审核</el-button>
+        <el-button 
+          type="primary" 
+          size="small" 
+          @click="handleAddAudit"
+          :disabled="!canAddAudit"
+          :title="canAddAudit ? '新增审核记录' : '该理赔记录未提交,无法新增审核记录'">
+          新增审核
+        </el-button>
+        <span v-if="!canAddAudit" style="margin-left: 8px; color: #999; font-size: 12px;">
+          该理赔记录未提交,无法新增审核记录
+        </span>
       </div>
       <el-table :data="auditList" v-loading="auditLoading">
         <el-table-column prop="auditResult" label="审核结果" width="100">