|
|
|
|
@ -71,6 +71,9 @@
|
|
|
|
|
"
|
|
|
|
|
>新增</Button
|
|
|
|
|
>
|
|
|
|
|
<Button type="primary" style="margin-left: 10px" @click="exportXLSX"
|
|
|
|
|
>导出</Button
|
|
|
|
|
>
|
|
|
|
|
</slot>
|
|
|
|
|
</lx-header>
|
|
|
|
|
|
|
|
|
|
@ -113,6 +116,8 @@
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import * as XLSX from "xlsx";
|
|
|
|
|
import { saveAs } from "file-saver";
|
|
|
|
|
import addGovPlane from "@/views/statisticalReport/components/addGovPlane.vue";
|
|
|
|
|
import { index, destroy } from "@/api/govPlane";
|
|
|
|
|
import { listdeptNoAuth } from "@/api/system/department";
|
|
|
|
|
@ -154,6 +159,7 @@ export default {
|
|
|
|
|
label: '完成情况',
|
|
|
|
|
width: 160,
|
|
|
|
|
fixed:'left',
|
|
|
|
|
prop:'my_status',
|
|
|
|
|
customFn:row => {
|
|
|
|
|
return (
|
|
|
|
|
<div>
|
|
|
|
|
@ -336,6 +342,46 @@ export default {
|
|
|
|
|
this.getList();
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
exportXLSX(){
|
|
|
|
|
// let xlsxData = [[]]
|
|
|
|
|
let xlsxData = this.list.map(i => {
|
|
|
|
|
let arr = []
|
|
|
|
|
this.table.forEach((item,index) => {
|
|
|
|
|
if(item.formatter){
|
|
|
|
|
arr.push(item.formatter(i,this.list,i[item.prop]))
|
|
|
|
|
}else if(item.prop==='my_status'){
|
|
|
|
|
let _text = `${i.public_act_date ? '采购意向公开已完成' : '采购意向公开未完成'},${i.invite_act_date ? '招标文件挂网已完成' : '招标文件挂网未完成'},${i.open_act_date ? '项目开标已完成' : '项目开标未完成'}`
|
|
|
|
|
arr.push(_text)
|
|
|
|
|
}else if(item.prop==='department.name'){
|
|
|
|
|
arr.push(i.department?i.department.name:'')
|
|
|
|
|
}else if(item.prop==='plan.name'){
|
|
|
|
|
arr.push(i.plan?i.plan.name:'')
|
|
|
|
|
}else{
|
|
|
|
|
arr.push(i[item.prop])
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
return arr;
|
|
|
|
|
})
|
|
|
|
|
let header = [[]]
|
|
|
|
|
this.table.forEach((item,index) => {
|
|
|
|
|
header[0].push(item.label)
|
|
|
|
|
})
|
|
|
|
|
xlsxData.unshift(...header)
|
|
|
|
|
console.log("xlsxData",xlsxData)
|
|
|
|
|
// return
|
|
|
|
|
const wb = XLSX.utils.book_new();
|
|
|
|
|
const ws = XLSX.utils.aoa_to_sheet(xlsxData);
|
|
|
|
|
XLSX.utils.book_append_sheet(wb, ws, '政府采购计划');
|
|
|
|
|
const wbout = XLSX.write(wb, {
|
|
|
|
|
bookType: "xlsx",
|
|
|
|
|
bookSST: true,
|
|
|
|
|
type: "array",
|
|
|
|
|
});
|
|
|
|
|
saveAs(
|
|
|
|
|
new Blob([wbout], { type: "application/octet-stream" }),
|
|
|
|
|
`政府采购计划${this.select.year}年${this.$moment().format('YYYY-MM-DD')}.xlsx`
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {},
|
|
|
|
|
created() {
|
|
|
|
|
|