Browse Source

feat: extract audit status label helper

yz 1 week ago
parent
commit
932cfabd36
1 changed files with 16 additions and 2 deletions
  1. 16 2
      src/views/claim/index.vue

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

@@ -344,8 +344,8 @@
       <el-form :model="auditForm" :rules="auditFormRules" ref="auditFormRef" label-width="120px">
         <el-form-item label="审核结果" prop="auditResult">
           <el-select v-model="auditForm.auditResult" placeholder="请选择审核结果" style="width: 100%;">
-            <el-option :label="AUDIT_STATUS_OPTIONS.find(o => o.value === AUDIT_STATUS.APPROVED)?.label || '通过'" :value="AUDIT_STATUS.APPROVED" />
-            <el-option :label="AUDIT_STATUS_OPTIONS.find(o => o.value === AUDIT_STATUS.REJECTED)?.label || '拒绝'" :value="AUDIT_STATUS.REJECTED" />
+            <el-option :label="getAuditStatusLabel(AUDIT_STATUS.APPROVED, '通过')" :value="AUDIT_STATUS.APPROVED" />
+            <el-option :label="getAuditStatusLabel(AUDIT_STATUS.REJECTED, '拒绝')" :value="AUDIT_STATUS.REJECTED" />
           </el-select>
         </el-form-item>
         <el-form-item label="审核金额" prop="auditAmount">
@@ -407,6 +407,20 @@ export default {
       AUDIT_STATUS,
       AUDIT_STATUS_OPTIONS
     };
+  },
+  methods: {
+    getAuditStatusLabel: function(value, fallback) {
+      var opts = this.AUDIT_STATUS_OPTIONS || [];
+      var fb = (typeof fallback === 'string') ? fallback : '';
+      for (var i = 0; i < opts.length; i++) {
+        var item = opts[i];
+        if (item && item.value === value) {
+          var label = item.label;
+          return (typeof label === 'string' && label) ? label : fb;
+        }
+      }
+      return fb;
+    }
   }
 }
 </script>