12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <template>
- <div>
- <el-button type="primary" size="small" @click="submit()" plain>导 出</el-button>
- </div>
- </template>
- <script>
- export default {
- props:['tablecols','param','excelTitle','total','specialKey'],
- data () {
- return {}
- },
- methods:{
- async submit () {
- let data = {}
- // 如果传入了total,需要赋值保证数量准确性
- // data = Object.assign({},data,this.param)
- data = JSON.parse(JSON.stringify(this.param))
- if (this.total) {
- data.content.pageSize = this.total
- }
- data.content.isAll = false
- const res = await this.$api.requested(data)
- res.data.forEach(item => {
- if (item.point == '订单审核') {
- item.oder = '是'
- item.oderdays = item.days
- } else if (item.point == '销售出库审核') {
- item.fahuo = '是'
- item.fahuodays = item.days
- } else if (item.point == '发票审核') {
- item.fapiao = '是'
- item.fapiaodays = item.days
- }
- item.isdefault = item.isdefault ? '是' : '否'
- })
- if (this.specialKey) {
- res.data.forEach(e=>{
- this.specialKey.forEach(s=>{
- e[s.key] = e[s.key]? e[s.key]:[]
- e[s.key] = e[s.key].map(k=>{return s.value?k[s.value]:k}).toString()
- })
- })
- }
- let table = JSON.parse(JSON.stringify(this.tablecols))
- console.log(table);
- table.forEach((e,index) => {
- // 由于表格数据结构问题这里需要判断一下
- if (e.title === '省市县') {
- table[index].title = '省'
- table.splice(index + 1,0,{title:'市',columnname:'city'},{title:'县',columnname:'county'})
- }else if(e.title === '标签'){
- res.data.forEach(e => {
- if (e.tag.length !== 0){
- e.tag = e.tag_sys + ',' + e.tag
- }else {
- e.tag = e.tag_sys
- }
- })
- }else if(e.title === '项目类型'){
- res.data.forEach(e => {
- e.projecttype = e.projecttype + '-' + e.projecttype_remarks
- })
- } else if (e.title === '授权角色') {
- res.data.forEach(e => {
- e.roleName = e.userrole.map(item => item.remarks).join(',')
- })
- } else if (e.title === '业务员') {
- res.data.forEach(e => {
- e.salesman = e.leader?e.leader.length !== 0?e.leader[0].name:'':''
- console.log(e.salesman = '111')
- })
- }
- });
- let hd = table.map(e=>{
- return e.title
- })
- let ft = table.map(e=>{
- return e.columnname
- })
- this.tool.exportExcel(hd,ft,res.data,this.excelTitle)
- }
- }
- }
- </script>
- <style>
- </style>
|