<template>
|
<el-form class="demo-form" :model="dataForm" ref="dataForm" label-width="120px">
|
<el-collapse v-model="activeNames">
|
<el-collapse-item name="upload">
|
<template slot="title">
|
<el-tag>文件相关</el-tag>
|
</template>
|
<zt-form-item prop="files" :label="$t('upload.fileUpload')">
|
<zt-uploader v-model="dataForm.files" button-text="自定义按钮" tip="这里是上传提示" multiple :limit="1" accept=".pdf"/>
|
{{dataForm.files}}
|
</zt-form-item>
|
<zt-form-item prop="image" :label="$t('upload.singleImgUpload')">
|
<zt-uploader v-model="dataForm.image" image/>
|
{{dataForm.image}}
|
</zt-form-item>
|
<zt-form-item prop="images" :label="$t('upload.multipleImgUpload')">
|
<zt-uploader v-model="dataForm.images" image multiple :limit="2"/>
|
{{dataForm.images}}
|
</zt-form-item>
|
<zt-form-item prop="image3" :label="$t('upload.cutUpload')">
|
<zt-uploader v-model="dataForm.image3" crop/>
|
{{dataForm.image3}}
|
</zt-form-item>
|
<zt-form-item prop="image2" :label="$t('upload.dragUpload')">
|
<zt-uploader v-model="dataForm.image2" image drag/>
|
{{dataForm.image2}}
|
</zt-form-item>
|
|
<div class="item-line-divider"></div>
|
|
<zt-form-item prop="image3" label="Excel导入">
|
<zt-excel-import action="/sample/excel/import" @success="onSuccess"/>
|
</zt-form-item>
|
|
<zt-form-item prop="image3" label="多表头Excel导入">
|
<zt-excel-import action="/sample/multiple/header/excel/import"/>
|
</zt-form-item>
|
|
<zt-form-item prop="image3" label="多sheet Excel导入">
|
<zt-excel-import action="/sample/multiple/sheet/excel/import"/>
|
</zt-form-item>
|
|
<div class="item-line-divider"></div>
|
|
<zt-form-item prop="image3" label="Excel导出">
|
<zt-button type="export" @click="excelExport()"/>
|
</zt-form-item>
|
|
<zt-form-item prop="image3" label="多表头Excel导出">
|
<zt-button type="export" @click="multipleHeaderExcelExport()"/>
|
</zt-form-item>
|
|
<zt-form-item prop="image3" label="多Sheet Excel导出">
|
<zt-button type="export" @click="multipleSheetExcelExport()"/>
|
</zt-form-item>
|
</el-collapse-item>
|
|
<el-collapse-item name="date">
|
<template slot="title">
|
<el-tag>时间选择</el-tag>
|
</template>
|
<zt-form-item prop="data1" label="日期选择">
|
<zt-date-picker v-model="dataForm.data1" :min="new Date()"/>
|
{{dataForm.data1}}
|
</zt-form-item>
|
<zt-form-item prop="time1" label="时间选择">
|
<zt-time-picker v-model="dataForm.time1" min="10:00:00"/>
|
{{dataForm.time1}}
|
</zt-form-item>
|
<zt-form-item prop="data2" label="日期时间选择">
|
<zt-date-picker type="datetime" v-model="dataForm.data2" :min="new Date()"/>
|
{{dataForm.data2}}
|
</zt-form-item>
|
<zt-form-item prop="range" label="日期范围选择">
|
<zt-date-range-picker v-model="dataForm.range" :start="dataForm.start" :end="dataForm.end" @startChange="dataForm.start = $event" @endChange="dataForm.end = $event" min="2020-08-10"/>
|
{{dataForm.start + ' ~ ' + dataForm.end}}
|
</zt-form-item>
|
</el-collapse-item>
|
|
<el-collapse-item name="dict">
|
<template slot="title">
|
<el-tag>字典</el-tag>
|
</template>
|
<zt-form-item prop="nature" label="字典" rules='required'>
|
<zt-dict v-model="dataForm.gender" dict="gender" :radio="true"></zt-dict>
|
</zt-form-item>
|
<zt-form-item prop="nature" label="字典树" rules='required'>
|
<zt-dict v-model="dataForm.test" dict="test"></zt-dict>
|
</zt-form-item>
|
<zt-form-item prop="nature" label="树(仅值可选)" rules='required'>
|
<zt-dict v-model="dataForm.test" dict="test" :data-only="true"></zt-dict>
|
</zt-form-item>
|
</el-collapse-item>
|
|
<el-collapse-item name="selector">
|
<template slot="title">
|
<el-tag>选公司/部门/人</el-tag>
|
</template>
|
<zt-form-item label="选择公司" prop="companyIds">
|
<zt-company-selector v-model="dataForm.companyIds" multiple/>
|
</zt-form-item>
|
<zt-form-item label="选择部门" prop="deptIds">
|
<zt-dept-selector v-model="dataForm.deptIds" multiple/>
|
</zt-form-item>
|
<zt-form-item label="选择用户" prop="userIds">
|
<zt-user-selector v-model="dataForm.userIds" multiple/>
|
</zt-form-item>
|
</el-collapse-item>
|
|
<el-collapse-item name="combo-tree">
|
<template slot="title">
|
<el-tag>下拉选择</el-tag>
|
</template>
|
<zt-form-item label="zt-select多选" prop="menuId">
|
<zt-select v-model="dataForm.menuId" url="sys/menu/nav" multiple/>
|
{{dataForm.menuId}}
|
</zt-form-item>
|
<zt-form-item label="zt-combo-tre多选" prop="menuIds">
|
<zt-combo-tree v-model="dataForm.menuIds" url="sys/menu/nav" multiple/>
|
{{dataForm.menuIds}}
|
</zt-form-item>
|
</el-collapse-item>
|
|
<el-collapse-item name="2">
|
<template slot="title">
|
<el-tag>其他</el-tag>
|
</template>
|
<zt-form-item label="zt-tree-select懒加载" prop="menuIds">
|
<zt-combo-tree v-model="dataForm.menuIds" url="sys/menu/nav" multiple lazy/>
|
{{dataForm.menuIds}}
|
</zt-form-item>
|
<zt-form-item label="zt-tree-select大量数据懒加载" prop="product">
|
<zt-combo-tree :datas="produces" v-model="dataForm.product" multiple lazy :expandLevel="1"/>
|
{{dataForm.product}}
|
</zt-form-item>
|
</el-collapse-item>
|
|
</el-collapse>
|
|
</el-form>
|
</template>
|
|
<script>
|
import Cookies from 'js-cookie'
|
import qs from 'qs'
|
export default {
|
data() {
|
return {
|
activeNames: [],
|
dataForm: {
|
start: '2020-08-26',
|
end: '2020-09-01',
|
gender: '1',
|
menuId: '1280671912309116929',
|
menuIds: '1283384276716363777,1298061262269313026,1283359546445709314',
|
product: ''
|
},
|
produces: []
|
}
|
},
|
computed: {
|
},
|
mounted() {
|
let that = this
|
setTimeout((timer) => {
|
that.produces = require('./products.json')
|
}, 1000)
|
},
|
methods: {
|
excelExport() {
|
var params = qs.stringify({
|
'token': Cookies.get('token')
|
}) // 参数
|
let apiURL = `/sample/excel/export`
|
window.open(`${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`)
|
},
|
multipleHeaderExcelExport() {
|
var params = qs.stringify({
|
'token': Cookies.get('token')
|
}) // 参数
|
let apiURL = `/sample/multiple/header/excel/export`
|
window.open(`${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`)
|
},
|
multipleSheetExcelExport() {
|
var params = qs.stringify({
|
'token': Cookies.get('token')
|
}) // 参数
|
let apiURL = `/sample/multiple/sheet/excel/export`
|
window.open(`${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`)
|
},
|
onSuccess(data) {
|
this.$tip.success(data || '导入成功')
|
}
|
}
|
}
|
</script>
|
<style>
|
.demo-form {
|
background: white;
|
padding: 15px;
|
}
|
.demo-form > .el-form-item, .demo-form .el-collapse-item__content > .el-form-item {
|
width: 33.33333%;
|
float: left;
|
}
|
|
.demo-form .item-line-divider {
|
width: 100%;
|
height: 0px;
|
float: left;
|
}
|
|
</style>
|