|
@@ -44,20 +44,17 @@
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="选择年份:" prop="year">
|
|
|
<el-select v-model="reportsForm.year" placeholder="选择年份">
|
|
|
- <el-option label="2021" value="2021" />
|
|
|
- <el-option label="2022" value="2022" />
|
|
|
- <el-option label="2023" value="2023" />
|
|
|
- <el-option label="2024" value="2024" />
|
|
|
+ <el-option v-for="item in projectYear" :key="item" :label="item" :value="item" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="选择季度:" prop="quarter">
|
|
|
<el-select v-model="reportsForm.quarter" placeholder="选择季度">
|
|
|
- <el-option label="一季度" value="1" />
|
|
|
- <el-option label="二季度" value="2" />
|
|
|
- <el-option label="三季度" value="3" />
|
|
|
- <el-option label="四季度" value="4" />
|
|
|
+ <el-option label="一季度" :value="1" />
|
|
|
+ <el-option label="二季度" :value="2" />
|
|
|
+ <el-option label="三季度" :value="3" />
|
|
|
+ <el-option label="四季度" :value="4" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -89,7 +86,7 @@
|
|
|
<script setup>
|
|
|
import { onMounted, ref } from 'vue'
|
|
|
import HcTableList from '../modules/project-list.vue'
|
|
|
-import { arrToId, getArrValue, isNullES, newWindow } from 'js-fast-way'
|
|
|
+import { arrToId, formValidate, getArrValue, isNullES, newDownBlob, newWindow } from 'js-fast-way'
|
|
|
import { getDictionaryData } from '~src/utils/tools'
|
|
|
import mainApi from '~api/project/project'
|
|
|
import { useClick } from 'hc-vue3-ui'
|
|
@@ -192,8 +189,20 @@ const deriveTableItem = async (_, resolve) => {
|
|
|
|
|
|
//生成报告弹窗
|
|
|
const isReportsShow = ref(false)
|
|
|
-const reportsClick = () => {
|
|
|
+const projectYear = ref([])
|
|
|
+const reportsClick = async () => {
|
|
|
isReportsShow.value = true
|
|
|
+ //获取年份
|
|
|
+ const { data } = await mainApi.getProjectYear()
|
|
|
+ projectYear.value = getArrValue(data)
|
|
|
+ //计算当前时间
|
|
|
+ const today = new Date()
|
|
|
+ const month = today.getMonth() // 0-11
|
|
|
+ const quarter = Math.floor(month / 3) + 1
|
|
|
+ reportsForm.value = {
|
|
|
+ year: today.getFullYear(),
|
|
|
+ quarter: quarter,
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//生成报告表单
|
|
@@ -214,8 +223,18 @@ const reportsFormRules = {
|
|
|
|
|
|
//确认生成报告
|
|
|
const reportsLoding = ref(false)
|
|
|
-const saveReportsClick = () => {
|
|
|
- window.$message?.error('暂无接口')
|
|
|
+const saveReportsClick = async () => {
|
|
|
+ const isForm = await formValidate(reportsFormRef.value)
|
|
|
+ if (!isForm) return false
|
|
|
+ reportsLoding.value = true
|
|
|
+ const { error, val } = await mainApi.buildReport(reportsForm.value)
|
|
|
+ if (error) {
|
|
|
+ reportsLoding.value = false
|
|
|
+ window.$message?.error('数据异常')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ await newDownBlob(val)
|
|
|
+ reportsLoding.value = false
|
|
|
isReportsShow.value = false
|
|
|
}
|
|
|
|