lrf 2 gadi atpakaļ
vecāks
revīzija
86cc4b1390
2 mainītis faili ar 34 papildinājumiem un 4 dzēšanām
  1. 13 1
      src/api/table.js
  2. 21 3
      src/views/project/table.vue

+ 13 - 1
src/api/table.js

@@ -105,6 +105,18 @@ const init = function () {
       console.error(res.errmsg);
     }
   };
-  return { list, total, query, create, fetch, update, destory, exportData };
+
+  const exportTSData = async function (data) {
+    const res = await this.$axios.$post(`${route}/exportTS`, data);
+    if (this.$checkRes(res)) {
+      return res.data;
+    } else {
+      console.error(`${target}-error:`);
+      console.error(res.errmsg);
+    }
+  };
+
+
+  return { list, total, query, create, fetch, update, destory, exportData, exportTSData };
 };
 export default init;

+ 21 - 3
src/views/project/table.vue

@@ -13,13 +13,16 @@
             <el-table-column align="center" label="操作">
               <template #default="{ row }">
                 <el-row>
-                  <el-col :span="8">
+                  <el-col :span="6">
                     <el-link :underline="false" size="mini" type="primary" @click="toEdit(row.id)">修改</el-link>
                   </el-col>
-                  <el-col :span="8">
+                  <el-col :span="6">
                     <el-link :underline="false" size="mini" type="warning" @click="toExport(row.id)">导出</el-link>
                   </el-col>
-                  <el-col :span="8">
+                  <el-col :span="6">
+                    <el-link :underline="false" size="mini" type="warning" @click="toExportTS(row.id)">导出ts</el-link>
+                  </el-col>
+                  <el-col :span="6">
                     <el-link :underline="false" size="mini" type="danger" @click="toDelete(row.id)">删除</el-link>
                   </el-col>
                 </el-row>
@@ -149,6 +152,21 @@ export default defineComponent({
         a.click();
       }
     },
+    async toExportTS(id) {
+      const res = await this.exportTSData({ ids: [id] });
+      if (!_.isObject(res)) {
+        this.$message.error('获取的数据格式错误,无法导出');
+        return false;
+      }
+      for (const key in res) {
+        let title = `${key}.js`;
+        let blob = new Blob([res[key]]);
+        let a = document.createElement('a');
+        a.href = window.URL.createObjectURL(blob);
+        a.download = title;
+        a.click();
+      }
+    },
     toAdd() {
       this.view = 'form';
       this.form.project = _.get(this.project, 'id');