Commit 328de3561a0f75c0938834df66c887223b03d34d

Authored by Aaron
1 parent 52226eef
Exists in master and in 1 other branch legacy

支持配置agentKey用于Table和Detail显示

examples/main.js
... ... @@ -18,7 +18,7 @@ const request = axios.create({
18 18 timeout: 1000 * 60,
19 19 withCredentials: true,
20 20 headers: {
21   - token: 'd7c11a1011b66691a8f55a8cf1b35b30',
  21 + token: 'ca0b8636568e89d8bdfe394750dea7a0',
22 22 'Accept-Language': 'zh-CN'
23 23 }
24 24 });
... ...
examples/views/docs/table.md
... ... @@ -18,10 +18,10 @@ export default {
18 18 data() {
19 19 return {
20 20 tableData: [
21   - { name: '项伯', address: '大楚小区', postcode: 555, number: '北城1号院' },
22   - { name: '项仲', address: '大楚小区', postcode: 555, number: '北城2号院' },
23   - { name: '项叔', address: '大楚小区', postcode: 555, number: '北城3号院' },
24   - { name: '项季', address: '大楚小区', postcode: 555, number: '北城4号院' },
  21 + { name: '项伯', address: '大楚小区', postcode: 555, postName: '哟哟哟', number: '北城1号院' },
  22 + { name: '项仲', address: '大楚小区', postcode: 555, postName: '哟哟哟', number: '北城2号院' },
  23 + { name: '项叔', address: '大楚小区', postcode: 555, postName: '哟哟哟', number: '北城3号院' },
  24 + { name: '项季', address: '大楚小区', postcode: 555, postName: '哟哟哟', number: '北城4号院' },
25 25 ],
26 26 tableList: [
27 27 { key: 'name', label: '名称',
... ... @@ -30,7 +30,7 @@ export default {
30 30 }
31 31 },
32 32 { key: 'address', label: '住址' },
33   - { key: 'postcode', label: '邮编' },
  33 + { key: 'postcode', agentKey: 'postName', label: '邮编' },
34 34 { key: 'number', label: '楼栋号', minWidth: '180' },
35 35 ]
36 36 }
... ...
examples/views/page/test.vue
... ... @@ -4,11 +4,6 @@
4 4 <eagle-select v-model="model.enableFlag" :dataSource="[{ label: '正常', value: true }, { label: '禁用', value: false }]"></eagle-select>
5 5 </template>
6 6 <el-table-column type="selection" width="50"></el-table-column>
7   - <template #table-productCode>
8   - <el-table-column prop="productName" label="产品" min-width="100">
9   - <span slot-scope="{ row: { productName, productCode } }">{{ productName || productCode }}</span>
10   - </el-table-column>
11   - </template>
12 7 <template #action-btn-new>
13 8 <el-button>按钮</el-button>
14 9 </template>
... ... @@ -37,7 +32,7 @@ export default {
37 32 rules: [{ required: true, message: '编码不能为空', trigger: 'blur' }],
38 33 props: { placeholder: '编码', disabled: (model, { formMode } = {}) => { return formMode == 'edit' } },
39 34 },
40   - { type: 'el-input', label: '产品', key: 'productCode',
  35 + { type: 'el-input', label: '产品', key: 'productCode', agentKey: 'productName',
41 36 rules: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
42 37 props: { url: '/overseas/product/select' },
43 38 },
... ... @@ -57,6 +52,7 @@ export default {
57 52 props: { dictionaryCode: 'TO_COUNTRY' },
58 53 },
59 54 { type: 'el-input', label: '状态', key: 'enableFlag', span: 24, searchScheme: { span: 6 },
  55 + formatter: (r, c, v) => v ? '正常' : '禁用'
60 56 },
61 57 { type: 'el-date-picker', label: '生效时间', key: 'enabledTime', exclude: 'search', minWidth: '180',
62 58 rules: [{ required: true, message: '生效时间不能为空', trigger: 'change' }],
... ...
packages/detail/index.vue
... ... @@ -32,7 +32,14 @@
32 32 <el-col :key="index + 'data'" :span="!item.span ? span : item.span">
33 33 <el-form-item :label="item.label" :label-width="item.label ? undefined : item.labelWidth || '0px'" :prop="item.key">
34 34 <slot v-if="$scopedSlots[`item-${item.key}`] || $slots[`item-${item.key}`]" :name="`item-${item.key}`" :model="model" v-bind="item"></slot>
35   - <label v-else>{{ model[item.key] }}</label>
  35 + <label v-else>
  36 + <template v-if="item.formatter">
  37 + {{ item.formatter(item.key, model, item.key) }}
  38 + </template>
  39 + <template v-else>
  40 + {{ model[item.agentKey || item.key] }}
  41 + </template>
  42 + </label>
36 43 </el-form-item>
37 44 </el-col>
38 45 </template>
... ...
packages/table/index.vue
... ... @@ -10,7 +10,7 @@
10 10 <template v-if="list && list.length > 0">
11 11 <template v-for="(item, index) in list">
12 12 <slot v-if="$scopedSlots[item.key] || $slots[item.key]" :name="item.key" v-bind="item" :row="item"></slot>
13   - <el-table-column v-else v-bind="item" :prop="item.key" :key="index" :min-width="item.minWidth || '120'"></el-table-column>
  13 + <el-table-column v-else v-bind="item" :prop="item.agentKey || item.key" :key="index" :min-width="item.minWidth || '120'"></el-table-column>
14 14 </template>
15 15 </template>
16 16 <slot name="$append"></slot>
... ...