|
@@ -1,167 +1,360 @@
|
|
|
<template>
|
|
|
- <div class="left-wrapper">
|
|
|
- <div class="nb-table nb-table--bgc" style="height: calc(100vh - 150px);border-right: none;">
|
|
|
- <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
- <el-tab-pane label="原始文件" name="first">1</el-tab-pane>
|
|
|
- <el-tab-pane label="生成文件" name="second">2</el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- <el-table element-loading-text="数据加载中" element-loading-spinner="el-icon-loading"
|
|
|
- :data="fileLists.result" border size="mini" :height="tableHeight" highlight-current-row
|
|
|
- tooltip-effect="dark" ref="fileListsTable" @row-click="loadTableHeader" style="width: 100%">
|
|
|
- <el-table-column prop="count" label="序号" width="50"></el-table-column>
|
|
|
- <el-table-column prop="filename" label="文件名称" :show-overflow-tooltip="true" min-width="120"></el-table-column>
|
|
|
- <el-table-column prop="generatedStr" label="类型" min-width="50"> </el-table-column>
|
|
|
- </el-table>
|
|
|
- <pagination :dataList="fileLists" :simple="true" :upParam="beforePayload" @loadMethod="loadFLTable"></pagination>
|
|
|
-
|
|
|
+ <div class="nb-table left-files">
|
|
|
+ <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
+ <el-tab-pane label="原始文件" name="first">1</el-tab-pane>
|
|
|
+ <el-tab-pane label="多维分析" name="second">2</el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ <div class="excel-btns">
|
|
|
+ <!-- <el-button v-if="!isAliPay"type="primary" size="mini" @click="oneKeyGenerate()">查看</el-button> -->
|
|
|
+ <el-button
|
|
|
+ v-if="isAliPay"
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click="oneKeyGenerate()"
|
|
|
+ >一键生成</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-if="isAliPay"
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click="onExport()"
|
|
|
+ >一键导出</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
+ <template v-if="activeName === 'first'">
|
|
|
+ <el-table
|
|
|
+ :data="fileLists.result"
|
|
|
+ border
|
|
|
+ size="mini"
|
|
|
+ :height="tableHeight"
|
|
|
+ highlight-current-row
|
|
|
+ tooltip-effect="dark"
|
|
|
+ ref="fileListsTable"
|
|
|
+ @row-click="loadTableHeader"
|
|
|
+ style="width: 100%; height: 100%;"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ prop="count"
|
|
|
+ label="序号"
|
|
|
+ width="50"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="filename"
|
|
|
+ label="文件名称"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ min-width="120"
|
|
|
+ ></el-table-column>
|
|
|
+ <!-- <el-table-column prop="generatedStr" label="类型" min-width="50"> </el-table-column> -->
|
|
|
+ </el-table>
|
|
|
+ <pagination
|
|
|
+ :dataList="fileLists"
|
|
|
+ :simple="true"
|
|
|
+ :upParam="beforePayload"
|
|
|
+ @loadMethod="loadFLTable"
|
|
|
+ ></pagination>
|
|
|
+ </template>
|
|
|
+ <MultidimensionalTable v-else />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import pagination from "@/components/Pagination.vue";
|
|
|
- export default {
|
|
|
- components: {
|
|
|
- pagination
|
|
|
+import pagination from "@/components/Pagination.vue";
|
|
|
+import MultidimensionalTable from "./MultidimensionalTable.vue";
|
|
|
+import { batchExportDownload } from "@/service/createmodel/fileService.js";
|
|
|
+
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ pagination,
|
|
|
+ MultidimensionalTable
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ beforePayload: {
|
|
|
+ page: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ generated: "false"
|
|
|
+ },
|
|
|
+ activeName: "first",
|
|
|
+ isAliPay: true
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ fileLists: {
|
|
|
+ get() {
|
|
|
+ let fileLists = this.$store.getters.getFilesList;
|
|
|
+ return fileLists;
|
|
|
+ }
|
|
|
},
|
|
|
- data() {
|
|
|
- return {
|
|
|
- beforePayload:{
|
|
|
- page:1,
|
|
|
- pageSize:20,
|
|
|
- generated:'false'
|
|
|
- },
|
|
|
- tableHeight:680,
|
|
|
- activeName: 'second'
|
|
|
+ activeName1: {
|
|
|
+ get() {
|
|
|
+ return this.$store.getters.getFileActiveName;
|
|
|
+ },
|
|
|
+ set(val) {
|
|
|
+ this.$store.commit("set_file_active_name", "first");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ let offsetHeight = 42;
|
|
|
+ // let locationhref = window.location.href;
|
|
|
+ // if(locationhref.indexOf('alipay') !== -1){
|
|
|
+ // this.isAliPay = true
|
|
|
+ // offsetHeight = 42
|
|
|
+ // }
|
|
|
+ this.tableHeight = this.getTableHeight(183 + offsetHeight);
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.init();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ handleClick(tab) {
|
|
|
+ let payload = {
|
|
|
+ page: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ generated: "false"
|
|
|
};
|
|
|
- },
|
|
|
- computed: {
|
|
|
- fileLists: {
|
|
|
- get() {
|
|
|
- let fileLists = this.$store.getters.getFilesList;
|
|
|
- return fileLists;
|
|
|
- }
|
|
|
+ if (this.activeName === "first") {
|
|
|
+ payload.generated = "false";
|
|
|
+ } else {
|
|
|
+ payload.generated = "true";
|
|
|
}
|
|
|
+
|
|
|
+ this.$store.commit("set_file_active_name", payload.generated);
|
|
|
+ if (this.activeName !== "first") return;
|
|
|
+ this.loadFLTable(payload);
|
|
|
+ },
|
|
|
+ loadDetailHeaders(id) {
|
|
|
+ let payload = {
|
|
|
+ fileId: id
|
|
|
+ };
|
|
|
+ this.$store
|
|
|
+ .dispatch("view_detail_ali_headers", this.setModelId(payload))
|
|
|
+ .then(data => {
|
|
|
+ if (data.code == 200) {
|
|
|
+ let headResult = data.result;
|
|
|
+ let finalHeaders = {};
|
|
|
+ for (let v in headResult.fields) {
|
|
|
+ finalHeaders[v] = {
|
|
|
+ label: headResult.fields[v],
|
|
|
+ alignment: "left",
|
|
|
+ clickable: "none",
|
|
|
+ valueType: "none"
|
|
|
+ };
|
|
|
+ for (let k in headResult.mainProps) {
|
|
|
+ if (v == k) {
|
|
|
+ finalHeaders[v] = {
|
|
|
+ label: headResult.fields[v],
|
|
|
+ alignment:
|
|
|
+ headResult.mainProps[v].alignment,
|
|
|
+ clickable:
|
|
|
+ headResult.mainProps[v].clickable,
|
|
|
+ valueType:
|
|
|
+ headResult.mainProps[v].valueType
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.$store.commit(
|
|
|
+ "set_current_ali_headers",
|
|
|
+ finalHeaders
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ let msg = data.message ? data.message : "加载失败";
|
|
|
+ console.log(msg);
|
|
|
+ //this.$message({ type: "error", message: data.message ? data.message : "加载失败" });
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
- mounted() {
|
|
|
- this.init()
|
|
|
- this.getTableHeight()
|
|
|
- window.addEventListener('resize', this.getTableHeight, false)
|
|
|
+ filterTag(value, row) {
|
|
|
+ return row.tag === value;
|
|
|
},
|
|
|
- methods: {
|
|
|
- handleClick(tab) {
|
|
|
- let payload = {
|
|
|
- page: 1,
|
|
|
- pageSize: 20,
|
|
|
- generated: 'false'
|
|
|
- }
|
|
|
- if(this.activeName === 'first'){
|
|
|
- payload.generated = 'false'
|
|
|
- } else {
|
|
|
- payload.generated = 'true'
|
|
|
- }
|
|
|
-
|
|
|
- this.loadFLTable(payload)
|
|
|
- },
|
|
|
- getTableHeight(){
|
|
|
- this.tableHeight = document.documentElement.clientHeight - 200
|
|
|
- },
|
|
|
- filterTag(value, row) {
|
|
|
- return row.tag === value;
|
|
|
- },
|
|
|
- init(){
|
|
|
- let payload = {
|
|
|
- page:1,
|
|
|
- pageSize:20,
|
|
|
- generated:'false'
|
|
|
- }
|
|
|
- this.loadFLTable(payload)
|
|
|
- },
|
|
|
- loadFLTable(payload){
|
|
|
- const loading = this.$loading({
|
|
|
- lock: true,
|
|
|
- text: "请耐心等待,正在加载数据。。",
|
|
|
- spinner: "el-icon-loading",
|
|
|
- background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ oneKeyGenerate() {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "请耐心等待,正在加载数据。。",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ this.$store
|
|
|
+ .dispatch("get_alipay_tables", this.setModelId({}))
|
|
|
+ .then(data => {
|
|
|
+ if (data.code == 200) {
|
|
|
+ this.activeName = "second";
|
|
|
+ this.$store
|
|
|
+ .dispatch(
|
|
|
+ "view_uploaded_group_list",
|
|
|
+ this.setModelId({
|
|
|
+ page: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ generated: true
|
|
|
+ })
|
|
|
+ )
|
|
|
+ .then(res => {
|
|
|
+ loading.close();
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$store.commit("set_files_list", res);
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: res.message
|
|
|
+ ? res.message
|
|
|
+ : "加载失败"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ loading.close();
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: data.message ? data.message : "加载失败"
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
- this.beforePayload = payload
|
|
|
- this.$store.dispatch("view_files_list", this.setModelId(payload)).then(data => {
|
|
|
+ },
|
|
|
+ // 导出
|
|
|
+ onExport() {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "请耐心等待,正在加载数据。。",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ let payload = this.$store.getters.getUpSearchSortParams;
|
|
|
+ this.$store
|
|
|
+ .dispatch("export_view_detail_batchExport", this.setModelId(payload))
|
|
|
+ .then(data => {
|
|
|
loading.close();
|
|
|
if (data.code == 200) {
|
|
|
- this.$store.commit("set_files_list", data);
|
|
|
+ let iframe = document.createElement("iframe");
|
|
|
+ iframe.style.display = "none";
|
|
|
+ iframe.src =
|
|
|
+ batchExportDownload + "?filepath=" + data.filepath;
|
|
|
+ iframe.id = "myIframe2";
|
|
|
+ console.log( batchExportDownload + "?filepath=" + data.filepath,'dd')
|
|
|
+ document.body.appendChild(iframe);
|
|
|
} else {
|
|
|
- this.$message({ type: "error", message: data.message ? data.message : "加载失败" });
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: data.message ? data.message : "加载失败"
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
- },
|
|
|
- loadTableHeader(row, column, cell, event) {
|
|
|
- this.$store.commit('set_current_fileobj', row)
|
|
|
- let payload = {
|
|
|
- page:1,
|
|
|
- pageSize:20,
|
|
|
- fileId:row.id
|
|
|
- }
|
|
|
- this.$store.commit('set_up_search_sort_params', payload); // 保存文件基础信心
|
|
|
- this.loadSearchSortData(payload) // 加载文件内容
|
|
|
- this.loadTableHeaderDataById(payload) // 加载文件headers
|
|
|
- },
|
|
|
- // 搜索排序加载文件
|
|
|
- loadSearchSortData(payload){
|
|
|
- const loading = this.$loading({
|
|
|
- lock: true,
|
|
|
- text: "请耐心等待,正在加载数据。。",
|
|
|
- spinner: "el-icon-loading",
|
|
|
- background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ },
|
|
|
+ init() {
|
|
|
+ let payload = {
|
|
|
+ page: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ generated: "false"
|
|
|
+ };
|
|
|
+ this.loadFLTable(payload);
|
|
|
+ },
|
|
|
+ loadFLTable(payload) {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "请耐心等待,正在加载数据。。",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ this.beforePayload = payload;
|
|
|
+ this.$store
|
|
|
+ .dispatch("view_files_list", this.setModelId(payload))
|
|
|
+ .then(data => {
|
|
|
+ loading.close();
|
|
|
+ if (data.code == 200) {
|
|
|
+ this.$store.commit("set_files_list", data);
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: data.message ? data.message : "加载失败"
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
+ },
|
|
|
+ loadTableHeader(row, column, cell, event) {
|
|
|
+ this.$store.commit("set_current_fileobj", row);
|
|
|
+ let payload = {
|
|
|
+ page: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ fileId: row.id
|
|
|
+ };
|
|
|
+ this.$store.commit("set_current_temp_pagesize", 20);
|
|
|
+ this.$store.commit("set_up_search_sort_params", payload); // 保存文件基础信心
|
|
|
+ this.loadSearchSortData(payload); // 加载文件内容
|
|
|
+ this.loadTableHeaderDataById(payload); // 加载文件headers
|
|
|
+ },
|
|
|
+ // 搜索排序加载文件
|
|
|
+ loadSearchSortData(payload) {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "请耐心等待,正在加载数据。。",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
|
|
|
- let upSearchSortParams = this.$store.getters.getUpSearchSortParams;
|
|
|
- let currentFile = this.$store.getters.getCurrentFile;
|
|
|
+ let upSearchSortParams = this.$store.getters.getUpSearchSortParams;
|
|
|
+ let currentFile = this.$store.getters.getCurrentFile;
|
|
|
|
|
|
- payload.fileId = currentFile.id;
|
|
|
- payload.orders = upSearchSortParams.orders;
|
|
|
- payload.values = upSearchSortParams.values;
|
|
|
- payload.mode = upSearchSortParams.mode;
|
|
|
-
|
|
|
- this.beforePayload = payload
|
|
|
- this.$store.dispatch('view_data_by_query', this.setModelId(payload)).then(data => {
|
|
|
- loading.close()
|
|
|
+ payload.fileId = currentFile.id;
|
|
|
+ payload.orders = upSearchSortParams.orders;
|
|
|
+ payload.values = upSearchSortParams.values;
|
|
|
+ payload.mode = upSearchSortParams.mode;
|
|
|
+
|
|
|
+ this.beforePayload = payload;
|
|
|
+ this.$store
|
|
|
+ .dispatch("view_data_by_query", this.setModelId(payload))
|
|
|
+ .then(data => {
|
|
|
+ loading.close();
|
|
|
if (data.code == 200) {
|
|
|
- this.$store.commit("set_file_content_by_id", data);
|
|
|
+ this.$store.commit("set_file_content_by_id", data);
|
|
|
} else {
|
|
|
- this.$message({ type: "error", message: data.message ? data.message : "加载失败" });
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: data.message ? data.message : "加载失败"
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
- },
|
|
|
- loadTableHeaderDataById(payload){
|
|
|
- const loading = this.$loading({
|
|
|
- lock: true,
|
|
|
- text: "请耐心等待。。",
|
|
|
- spinner: "el-icon-loading",
|
|
|
- background: "rgba(0, 0, 0, 0.7)"
|
|
|
- });
|
|
|
- let params = { fileId: payload.fileId }
|
|
|
- this.$store.commit('set_table_header', {})
|
|
|
- this.$store.dispatch("get_headers_by_id", this.setModelId(params)).then(data => {
|
|
|
+ },
|
|
|
+ loadTableHeaderDataById(payload) {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: "请耐心等待。。",
|
|
|
+ spinner: "el-icon-loading",
|
|
|
+ background: "rgba(0, 0, 0, 0.7)"
|
|
|
+ });
|
|
|
+ let params = { fileId: payload.fileId };
|
|
|
+ this.$store.commit("set_table_header", {});
|
|
|
+ this.$store
|
|
|
+ .dispatch("get_headers_by_id", this.setModelId(params))
|
|
|
+ .then(data => {
|
|
|
loading.close();
|
|
|
if (data.code == 200) {
|
|
|
- this.$store.commit('set_table_header', data.result.fields)
|
|
|
+ this.$store.commit("set_table_header", data.result);
|
|
|
+ this.loadDetailHeaders(payload.fileId);
|
|
|
} else {
|
|
|
- this.$message({ type: "error", message: data.message ? data.message : "失败" });
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: data.message ? data.message : "失败"
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
- }
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
+};
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
- .left-wrapper {
|
|
|
- padding-top: 0px;
|
|
|
- }
|
|
|
- .clear-hint {
|
|
|
- float: right;
|
|
|
- color: #e33f3f;
|
|
|
- font-size: 14px;
|
|
|
- line-height: 56px;
|
|
|
- margin-right: 180px;
|
|
|
- }
|
|
|
-</style>
|
|
|
+.excel-btns {
|
|
|
+ border-top: 2px outset wheat;
|
|
|
+ border-bottom: 2px outset wheat;
|
|
|
+ padding: 5px 10px;
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
+.left-files {
|
|
|
+ height: 100%;
|
|
|
+ padding-top: 0px;
|
|
|
+ height: calc(100vh - 110px);
|
|
|
+ border-right: none;
|
|
|
+ background: #032d58;
|
|
|
+ min-height: 700px;
|
|
|
+}
|
|
|
+</style>
|