mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-13 12:02:51 +00:00
feat 导出前端页
This commit is contained in:
parent
16ea92c970
commit
2cf661b54f
@ -72,6 +72,7 @@
|
||||
<DropdownItem name="exportTask">{{$L('导出任务统计')}}</DropdownItem>
|
||||
<DropdownItem name="exportOverdueTask">{{$L('导出超期任务')}}</DropdownItem>
|
||||
<DropdownItem name="exportCheckin">{{$L('导出签到数据')}}</DropdownItem>
|
||||
<DropdownItem name="exportWorkflow">{{$L('导出审批数据')}}</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</Dropdown>
|
||||
<!-- 其他菜单 -->
|
||||
@ -247,6 +248,9 @@
|
||||
<!--导出签到数据-->
|
||||
<CheckinExport v-model="exportCheckinShow"/>
|
||||
|
||||
<!--导出审批数据-->
|
||||
<WorkflowExport v-model="exportWorkflowShow"/>
|
||||
|
||||
<!--任务详情-->
|
||||
<TaskModal ref="taskModal"/>
|
||||
|
||||
@ -314,6 +318,7 @@ import DialogModal from "./manage/components/DialogModal";
|
||||
import TaskModal from "./manage/components/TaskModal";
|
||||
import CheckinExport from "./manage/components/CheckinExport";
|
||||
import TaskExport from "./manage/components/TaskExport";
|
||||
import WorkflowExport from "./manage/components/WorkflowExport";
|
||||
import notificationKoro from "notification-koro1";
|
||||
import {Store} from "le5le-store";
|
||||
|
||||
@ -321,6 +326,7 @@ export default {
|
||||
components: {
|
||||
TaskExport,
|
||||
CheckinExport,
|
||||
WorkflowExport,
|
||||
TaskModal,
|
||||
DialogModal,
|
||||
MeetingManager,
|
||||
@ -358,6 +364,8 @@ export default {
|
||||
|
||||
exportTaskShow: false,
|
||||
exportCheckinShow: false,
|
||||
exportWorkflowShow: false,
|
||||
|
||||
|
||||
dialogMsgSubscribe: null,
|
||||
|
||||
@ -559,7 +567,7 @@ export default {
|
||||
{path: 'personal', name: '个人设置', divided: true},
|
||||
{path: 'review', name: '审批中心'},
|
||||
{path: 'version', name: '更新版本', divided: true, visible: !!this.clientNewVersion},
|
||||
|
||||
|
||||
{path: 'workReport', name: '工作报告', divided: true},
|
||||
{path: 'archivedProject', name: '已归档的项目'},
|
||||
])
|
||||
@ -744,6 +752,9 @@ export default {
|
||||
case 'exportCheckin':
|
||||
this.exportCheckinShow = true;
|
||||
return;
|
||||
case 'exportWorkflow':
|
||||
this.exportWorkflowShow = true;
|
||||
return;
|
||||
case 'workReport':
|
||||
if (this.reportUnreadNumber > 0) {
|
||||
this.reportTabs = "receive";
|
||||
|
||||
133
resources/assets/js/pages/manage/components/WorkflowExport.vue
Normal file
133
resources/assets/js/pages/manage/components/WorkflowExport.vue
Normal file
@ -0,0 +1,133 @@
|
||||
<template>
|
||||
<Modal
|
||||
v-model="show"
|
||||
:title="$L('导出审批数据')"
|
||||
:mask-closable="false">
|
||||
<Form ref="exportTask" :model="formData" label-width="auto" @submit.native.prevent>
|
||||
<FormItem :label="$L('审批类型')">
|
||||
<Select v-model="formData.proc_def_name" @on-open-change="getProcName">
|
||||
<Option v-for="(item, key) in procList" :value="item.name" :key="key" >{{ item.name }}</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
<FormItem :label="$L('时间范围')">
|
||||
<DatePicker
|
||||
v-model="formData.date"
|
||||
type="daterange"
|
||||
format="yyyy/MM/dd"
|
||||
style="width:100%"
|
||||
:placeholder="$L('请选择时间')"/>
|
||||
<div class="form-tip checkin-export-quick-select">
|
||||
<span>{{$L('快捷选择')}}:</span>
|
||||
<em @click="formData.date=dateShortcuts('prev')">{{$L('上个月')}}</em>
|
||||
<em @click="formData.date=dateShortcuts('this')">{{$L('这个月')}}</em>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem prop="type" :label="$L('导出类型')">
|
||||
<RadioGroup v-model="formData.is_finished">
|
||||
<Radio label="0">{{$L('未完成')}}</Radio>
|
||||
<Radio label="1">{{$L('已完成')}}</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</Form>
|
||||
<div slot="footer" class="adaption">
|
||||
<Button type="default" @click="show=false">{{$L('取消')}}</Button>
|
||||
<Button type="primary" :loading="loadIng > 0" @click="onExport">{{$L('导出')}}</Button>
|
||||
</div>
|
||||
</Modal>
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
.checkin-export-quick-select {
|
||||
> span {
|
||||
margin-right: 4px;
|
||||
}
|
||||
> em {
|
||||
margin-right: 4px;
|
||||
cursor: pointer;
|
||||
color: #2b85e4;
|
||||
font-style: normal;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
import UserInput from "../../../components/UserInput";
|
||||
export default {
|
||||
name: "WorkflowExport",
|
||||
components: {UserInput},
|
||||
props: {
|
||||
value: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
show: this.value,
|
||||
loadIng: 0,
|
||||
formData: {
|
||||
proc_def_name: '',
|
||||
date: [],
|
||||
is_finished:'1',
|
||||
},
|
||||
procList:[],
|
||||
}
|
||||
},
|
||||
|
||||
watch: {
|
||||
value(v) {
|
||||
this.show = v;
|
||||
},
|
||||
show(v) {
|
||||
this.value !== v && this.$emit("input", v)
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
dateShortcuts(act) {
|
||||
if (act === 'prev') {
|
||||
return [$A.getSpecifyDate('上个月'), $A.getSpecifyDate('上个月结束')];
|
||||
} else if (act === 'this') {
|
||||
return [$A.getSpecifyDate('本月'), $A.getSpecifyDate('本月结束')]
|
||||
}
|
||||
},
|
||||
|
||||
getProcName(){
|
||||
this.loadIng++;
|
||||
this.$store.dispatch("call", {
|
||||
url: 'workflow/procdef/all',
|
||||
method: 'post'
|
||||
}).then(({data}) => {
|
||||
this.procList = data['rows'];
|
||||
|
||||
}).catch(({msg}) => {
|
||||
$A.modalError(msg);
|
||||
}).finally(_ => {
|
||||
this.loadIng--;
|
||||
});
|
||||
},
|
||||
|
||||
onExport() {
|
||||
if (this.loadIng > 0) {
|
||||
return;
|
||||
}
|
||||
this.loadIng++;
|
||||
this.$store.dispatch("call", {
|
||||
url: 'workflow/export',
|
||||
data: this.formData,
|
||||
}).then(({data}) => {
|
||||
this.show = false;
|
||||
this.$store.dispatch('downUrl', {
|
||||
url: data.url
|
||||
});
|
||||
}).catch(({msg}) => {
|
||||
$A.modalError(msg);
|
||||
}).finally(_ => {
|
||||
this.loadIng--;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Loading…
x
Reference in New Issue
Block a user