Kaynağa Gözat

feat: 表格组件优化

Signed-off-by: tangshizhe <48740614+tangshizhe@users.noreply.github.com>
tangshizhe 3 ay önce
ebeveyn
işleme
03c160ccd7

+ 9 - 9
src/views/create-order/components/order-detail-submodule/AuditRecordsColumns.vue

@@ -35,20 +35,20 @@ export default {
             label: '操作人',
             align: 'center',
             width: '90',
-            key: 'operator'
+            prop: 'operator'
           },
           {
             label: '操作时间',
             align: 'center',
             width: '170',
-            key: 'create_time'
+            prop: 'create_time'
           },
           {
             label: '操作类型',
-            key: 'type',
+            prop: 'type',
             width: '100',
             align: 'center',
-            render: (h, {row}) => {
+            render: (row) => {
               let val = '-'
               switch (row.operator_type) {
                 case 1:
@@ -68,15 +68,15 @@ export default {
                   break
               }
               
-              return h('span', val)
+              return val
             }
           },
           {
             label: '审核状态',
             width: '100',
             align: 'center',
-            key: 'status',
-            render: (h, {row}) => {
+            prop: 'status',
+            render: (row) => {
               let val = '-'
               switch (row.audit_status) {
                 case 0:
@@ -104,12 +104,12 @@ export default {
                   val = '已退回'
                   break
               }
-              return h('span', val)
+              return val
             }
           },
           {
             label: '审核备注',
-            key: 'back_reason'
+            prop: 'back_reason'
           }
         ]
       } 

+ 2 - 1
src/views/create-order/ui/TableCard.vue

@@ -24,8 +24,9 @@
           </slot>
         </template>
         <template slot-scope="scope">
+          <span v-if="item.render && typeof item.render === 'function'" v-html="item.render(scope.row, scope.$index)"></span>
           <!-- 插槽优先:支持具名插槽 + 默认插槽 -->
-          <slot :name="item.prop" :row="scope">
+          <slot :name="item.prop" :row="scope" v-else>
             {{ scope.row[item.prop] }}
           </slot>
         </template>