Răsfoiți Sursa

工作要点

ZaiZai 1 an în urmă
părinte
comite
f892a4dacd
1 a modificat fișierele cu 20 adăugiri și 6 ștergeri
  1. 20 6
      src/views/project/ledger.vue

+ 20 - 6
src/views/project/ledger.vue

@@ -27,7 +27,7 @@
                         <el-option v-for="item in typeData" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                 </div>
-                <el-button v-yes-com:[deriveTableItem] :disabled="tableCheckKeys1.length <= 0" type="primary" class="ml-2">批量导出</el-button>
+                <el-button v-yes-com:[deriveTableItem1] :disabled="tableCheckKeys1.length <= 0" type="primary" class="ml-2">批量导出</el-button>
             </div>
             <div v-if="tabsKey === '2'" class="hc-flex">
                 <hc-date-year v-model="searchForm2.startYear" v-model:end="searchForm2.endYear" />
@@ -39,7 +39,7 @@
                         <el-option v-for="item in projectStage" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                 </div>
-                <el-button v-yes-com:[deriveTableItem] :disabled="tableCheckKeys2.length <= 0" type="primary" class="ml-2">批量导出</el-button>
+                <el-button v-yes-com:[deriveTableItem2] :disabled="tableCheckKeys2.length <= 0" type="primary" class="ml-2">批量导出</el-button>
             </div>
         </template>
         <HcTableList1 v-if="tabsKey === '1'" ref="table1Ref" />
@@ -53,11 +53,13 @@
 
 <script setup>
 import { onMounted, ref } from 'vue'
-import HcTableList1 from './modules/project-list.vue'
-import HcTableList2 from './modules/gist-list.vue'
 import { getDictionaryData } from '~src/utils/tools'
+import { arrToId, downloadBlob, getArrValue } from 'js-fast-way'
 import mainApi from '~api/project/gist'
-import { getArrValue } from 'js-fast-way'
+
+//子组件
+import HcTableList1 from './modules/project-list.vue'
+import HcTableList2 from './modules/gist-list.vue'
 
 //选项卡切换
 const tabsKey = ref('1')
@@ -155,9 +157,21 @@ const rowNameClick2 = (row) => {
 }
 
 //批量导出
-const deriveTableItem = (_, resolve) => {
+const deriveTableItem1 = async (_, resolve) => {
     resolve()
 }
+
+//批量导出
+const deriveTableItem2 = async (_, resolve) => {
+    const ids = arrToId(tableCheckKeys2.value)
+    const { error, disposition, res } = await mainApi.exportWorkfocus(ids)
+    resolve()
+    if (!error && disposition) {
+        downloadBlob(res, disposition)
+    } else {
+        window.$message?.error('数据异常')
+    }
+}
 </script>
 
 <style lang="scss">