|
|
|
|
@ -18,17 +18,20 @@
|
|
|
|
|
|
|
|
|
|
<h4 style="display: inline-block;">导出文件名:</h4>
|
|
|
|
|
<el-input style="max-width: 220px;" size="small" v-model="fileName"></el-input>
|
|
|
|
|
<el-button style="margin-left: 10px;" type="primary" size="small" icon="el-icon-download" @click="confirm">导出</el-button>
|
|
|
|
|
<h4>需要导出字段:</h4>
|
|
|
|
|
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
|
|
|
|
|
<div style="margin: 15px 0;"></div>
|
|
|
|
|
<el-checkbox-group v-model="selectedFields" @change="handleCheckedFieldsChange">
|
|
|
|
|
<el-checkbox v-for="field in config.fields" :label="field.name" :key="field.id">{{ field.label }}</el-checkbox>
|
|
|
|
|
<el-checkbox v-for="field in mainFields" :label="field.name" :key="field.id">{{ field.label }}</el-checkbox>
|
|
|
|
|
</el-checkbox-group>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<template #footer>
|
|
|
|
|
<el-button type="primary" :loading="loading" @click="confirm">确认</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
<h4>存在子表单</h4>
|
|
|
|
|
<div v-for="field in relationsFields" :key="field.id" style="padding-left: 10px;">
|
|
|
|
|
<h5>{{ field.label }}</h5>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</vxe-modal>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
@ -62,10 +65,17 @@ export default {
|
|
|
|
|
fileName: `导出_${this.$moment().valueOf()}`,
|
|
|
|
|
selectedFields: [],
|
|
|
|
|
checkAll: false,
|
|
|
|
|
isIndeterminate: false
|
|
|
|
|
isIndeterminate: false,
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
mainFields() {
|
|
|
|
|
return this.config?.fields?.filter(i => i.type !== 'relation')
|
|
|
|
|
},
|
|
|
|
|
relationsFields() {
|
|
|
|
|
return this.config?.fields?.filter(i => i.type === 'relation')
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {},
|
|
|
|
|
methods: {
|
|
|
|
|
handleCheckedFieldsChange(value) {
|
|
|
|
|
let checkedCount = value.length;
|
|
|
|
|
|