whychw
2020-07-11 c909b8e2a393d2fbf408e6554b7a2b23ae52181d
文件管理
2个文件已修改
126 ■■■■ 已修改文件
src/api/services/file/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/file/index.vue 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/services/file/index.js
@@ -21,12 +21,12 @@
     * table_name:2020_07_02
     * states:1号直流主配电板电压&&1&&V,1号蓄电池组电压&&1&&V
     */
    download (data) {
    /*download (data) {
        return axios({
            method: 'post',
            url: 'ExportTable.servlet',
            data: data
        });
    }
    }*/
}
src/pages/file/index.vue
@@ -12,7 +12,11 @@
            <content-box
            :title-left=true>
                <div class="whyc-breadcrumb" slot="title">
                    当前位置:文件管理
                    当前位置:文件管理
                </div>
                <div class="pages-header">
                    <el-button type="primary" size="small"
                    icon="el-icon-plus" @click="downloadMult">下载</el-button>
                </div>
                <div class="pages-file">
                    <flex-layout>
@@ -22,19 +26,29 @@
                        border
                        size="mini">
                            <el-table-column
                            prop="num"
                            align="center"
                            type="selection"
                            width="55">
                            </el-table-column>
                            <el-table-column
                            type="index"
                            label="编号"
                            align="center"
                            width="80">
                            </el-table-column>
                            <el-table-column
                            prop="UId"
                            prop="table_name"
                            label="名称"
                            align="center">
                            </el-table-column>
                            <el-table-column
                            prop="UName"
                            prop="table_date"
                            label="存储日期"
                            align="center">
                            </el-table-column>
                            <el-table-column
                            prop="size"
                            label="文件大小"
                            align="center">
                            </el-table-column>
                            <el-table-column
@@ -44,7 +58,7 @@
                            width="160">
                                <template slot-scope="scope">
                                    <el-button type="primary" size="mini"
                                    @click="showEditDialog(scope.row)">下载</el-button>
                                    @click="download(scope.row)">下载</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
@@ -52,6 +66,17 @@
                </div>
            </content-box>
        </div>
        <form
        ref="export"
        action="http://localhost:8919/Equip_System/ExportTable.servlet"
        method="post"
        enctype="multipart/form-data">
            <input type="hidden" name="PageName" value="fileout"/>
            <input type="hidden" name="dev_id" v-model="curDevId" />
            <input type="hidden" name="dev_name" v-model="curDevName">
            <input type="hidden" name="table_name" v-model="tableName">
            <input type="hidden" name="states" v-model="states">
        </form>
    </div>
</template>
@@ -68,22 +93,89 @@
    },
    data() {
        return {
            curDevId: '',
            curDevName: '',
            tableName: '',
            states: '',
            treeData: [],
            tableData: [
                {
                    num: '1',
                    UId: '20200709.xls',
                    UName: '2020-07-09'
                }
            ]
            tableData: []
        }
    },
    mounted () {
        this.getSysList();
    },
    methods: {
        showEditDialog() {
        // 单个下载
        download (obj) {
            this.tableName = obj.tabel_date;
            this.$nextTick(()=>{
                this.$refs.export.submit();
            });
        },
        // 多个下载
        downloadMult () {
        },
        treeClick() {
        treeClick(data) {
            const sys_name = data.txt;
            data.cfg = data.cfg.map((v) => {
                var reg = /^(\S*?)(?=&&)|^[^&]+$/;
                return reg.exec(v)[0];
            });
            this.states = data.cfg.join(',');
            this.curDevId = data.dev_id;
            this.curDevName = data.txt;
            // 查询相关子站的数据
            this.$api.file.searchAllFile({dev_id: data.dev_id})
            .then((res) => {
                let data = JSON.parse(res.data.result);
                let list = [];
                if (data.code == 1) {
                    list = data.data;
                }
                list.forEach((v) => {
                    v['table_date'] = v.table_name;
                    v['table_name'] = sys_name + v.table_name.replace(/-/g, '') + '.xls';
                    v['size'] = (v.data_length / 1024 / 1024).toFixed(2) * 1 + 'M'
                });
                this.tableData = list;
            }).catch(() => {
                this.$message({
                    type: 'error',
                    message: '请求后台失败,请检查网络连接!'
                });
            });
        },
        getSysList () {
            this.$api.batt.searchAll()
            .then((res) => {
                const data = JSON.parse(res.data.result);
                // console.log(data);
                let List = [];
                let obj = {};
                if (data.code == 1) {
                    List = data.data;
                }
                List.forEach((v) => {
                    if (!obj[v.sys_name]) {
                        obj[v.sys_name] = {
                            dev_id: v.dev_id,
                            txt: v.sys_name,
                            active: false,
                            cfg: v.cfg
                        };
                    }
                });
                Object.keys(obj).forEach((v) => {
                    this.treeData.push(obj[v]);
                });
            }).catch(() => {
                this.$message({
                    type: 'error',
                    message: '请求后台失败,请检查网络连接!'
                });
            });
        }
    }
}