From 0a722969a72ced13136b82d8c01939bea2c43745 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期四, 27 七月 2023 17:21:53 +0800 Subject: [PATCH] 项目管理,数据发布修改 --- src/views/datamanage/metadataManage.vue | 1654 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 1,197 insertions(+), 457 deletions(-) diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue index dbaffa4..7da6dd5 100644 --- a/src/views/datamanage/metadataManage.vue +++ b/src/views/datamanage/metadataManage.vue @@ -5,32 +5,38 @@ `${$t('dataManage.metadataManage')}`, ]"></My-bread> <el-divider /> - <div class="inquire subpage_Div"> + <div + class="inquire subpage_Div" + ref="container" + > <el-form ref="queryForm" :model="queryForm" :inline="true" > - <el-form-item> - <el-select - :popper-append-to-body="false" - v-model="queryForm.depName" - > - <el-option - :value="queryForm.depcode" - :label="queryForm.depName" - style=" height:auto" - > - <el-tree - ref="tree" - :data="companyOption1" - node-key="id" - :props="cascader" - @node-click="handleChange1" - /> - </el-option> - </el-select> - <!-- <el-cascader + <div class="flex_box"> + <div style="margin-right: auto"> + <el-form-item size="small"> + <el-select + :popper-append-to-body="false" + v-model="queryForm.depName" + ref="treeSelect" + > + <el-option + :value="queryForm.depid" + :label="queryForm.depName" + style="height: auto" + > + <el-tree + ref="tree" + :data="companyOption1" + node-key="id" + :props="cascader" + @node-click="handleChange1" + /> + </el-option> + </el-select> + <!-- <el-cascader v-model="queryForm.depid" :show-all-levels="false" :options="companyOption1" @@ -43,27 +49,28 @@ emitPath: false, }" ></el-cascader> --> - </el-form-item> - <el-form-item> - <el-select - :popper-append-to-body="false" - v-model="queryForm.dirName" - > - <el-option - :value="queryForm.dircode" - :label="queryForm.dirName" - style=" height:auto" - > - <el-tree - ref="tree" - :data="companyOption" - node-key="id" - :props="cascader" - @node-click="handleChange" - /> - </el-option> - </el-select> - <!-- <el-cascader + </el-form-item> + <el-form-item size="small"> + <el-select + :popper-append-to-body="false" + v-model="queryForm.dirName" + ref="treeSelect1" + > + <el-option + :value="queryForm.dirid" + :label="queryForm.dirName" + style="height: auto" + > + <el-tree + ref="tree" + :data="companyOption" + node-key="id" + :props="cascader" + @node-click="handleChange" + /> + </el-option> + </el-select> + <!-- <el-cascader v-model="queryForm.dirid" :show-all-levels="false" :options="companyOption" @@ -76,228 +83,262 @@ emitPath: false, }" ></el-cascader> --> - </el-form-item> - <el-form-item> - <el-select - :popper-append-to-body="false" - v-model="queryForm.verid" - placeholder="璇烽�夋嫨" - @change="verHandleChange($event)" - > - <el-option - v-for="item in verOptions" - :key="item.id" - :label="item.name" - :value="item.id" + </el-form-item> + <el-form-item size="small"> + <el-select + :popper-append-to-body="false" + v-model="queryForm.verid" + placeholder="璇烽�夋嫨" + @change="verHandleChange($event)" + > + <el-option + v-for="item in verOptions" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item + prop="name" + size="small" > - </el-option> - </el-select> - </el-form-item> - <el-form-item prop="name"> - <el-input - v-model="queryForm.name" - :placeholder="$t('common.pleaseInput')" - style="width:200px" - /> - </el-form-item> - <!-- <el-form-item style="float:right"> - <el-button - @click="queryInfo()" - icon="el-icon-search" - class="primary" - size="small" - >{{ $t('common.iquery') }}</el-button> - </el-form-item> - <el-form-item style="float:right"> - <el-button - @click="resetInfo('queryForm')" - icon="el-icon-refresh" - type="info" - size="small" - >{{ $t('common.reset') }}</el-button> - </el-form-item> --> + <!-- suffix-icon="el-icon-edit" :placeholder="$t('common.pleaseInput')"--> + <el-input + v-model="queryForm.name" + :placeholder="$t('shuJuGuanLi.lable2')" + style="width: 200px" + ><i + slot="suffix" + class="el-icon-search" + @click="queryInfo()" + style="padding-right: 8px" + ></i></el-input> + </el-form-item> + </div> + <div> + <!-- <el-form-item> + <el-button + @click="queryInfo()" + icon="el-icon-search" + class="primary" + size="small" + >{{ $t("common.iquery") }} + </el-button + > + </el-form-item>--> + <el-form-item v-if="btnStatus.delete"> + <el-button + type="danger" + size="small" + @click="deleteMetaInfo" + icon="el-icon-delete" + >{{ $t("common.delete") }} + </el-button> + </el-form-item> + <el-form-item v-if="btnStatus.download"> + <el-button + @click="downFormData" + icon="el-icon-download" + type="success" + size="small" + >{{ $t("common.download") }} + </el-button> + </el-form-item> - <!-- <el-form-item v-if="btnStatus.insert"> - <el-button - type="success" - size="small" - @click="showAddDialog" - icon="el-icon-plus" - >{{ $t('common.append') }}</el-button - > - </el-form-item> --> - <!-- <el-form-item v-if="btnStatus.delete" style="float:right"> - <el-button - type="danger" - size="small" - @click="deleteMetaInfo" - icon="el-icon-delete" - >{{ $t('common.delete') }}</el-button> - </el-form-item> - <el-form-item v-if="btnStatus.download" style="float:right"> - <el-button - @click="downFormData" - icon="el-icon-download" - type="success" - size="small" - >{{ $t('common.download') }}</el-button> - </el-form-item> --> - <el-form-item style="float:right"> - <el-button - @click="resetInfo('queryForm')" - icon="el-icon-refresh" - type="info" - size="small" - >{{ $t('common.reset') }}</el-button> - </el-form-item> - <el-form-item style="float:right"> - <el-button - @click="queryInfo()" - icon="el-icon-search" - class="primary" - size="small" - >{{ $t('common.iquery') }}</el-button> - </el-form-item> - <el-form-item - v-if="btnStatus.delete" - style="float:right" - > - <el-button - type="danger" - size="small" - @click="deleteMetaInfo" - icon="el-icon-delete" - >{{ $t('common.delete') }}</el-button> - </el-form-item> - <el-form-item - v-if="btnStatus.download" - style="float:right" - > - <el-button - @click="downFormData" - icon="el-icon-download" - type="success" - size="small" - >{{ $t('common.download') }}</el-button> - </el-form-item> + <el-form-item> + <el-button + @click="resetInfo('queryForm')" + icon="el-icon-refresh" + type="info" + size="small" + >{{ $t("common.reset") }} + </el-button> + </el-form-item> + </div> + </div> </el-form> </div> - <div class="bottom"> + <div class="dividing-line"></div> + <div + class="table_box subpage_Div" + :style="styleVar" + > + <el-table + :data="tableData" + style="width: 100%" + border + @selection-change="handleSelectionChange" + height="calc(100% - 57px)" + > + <el-table-column + type="selection" + width="55" + /> + <el-table-column + :label="$t('dataManage.dictionaryManageObj.number')" + type="index" + width="50" + > + </el-table-column> + <el-table-column :label="$t('dataManage.vmobj.name')"> + <template slot-scope="scope"> + <span v-if="scope.row.ismeta > 0"> + <el-link + style="color: #409eff" + title="婧愭暟鎹煡璇�" + @click="setQueryMetaData(scope.row)" + target="_blank" + >{{ scope.row.name }}</el-link> + </span> + <span v-else-if="scope.row.metaid > 0"> + <el-link + style="color: #409eff" + title="鍏冩暟鎹煡璇�" + @click="setMetaDataQuery(scope.row)" + target="_blank" + >{{ scope.row.name }}</el-link></span> + <span v-else>{{ scope.row.name }}</span> + </template> + </el-table-column> - <div class="rightTable subpage_Div"> - <div class="table_box"> - <el-table - :data="tableData" - style="width: 100%" - @selection-change="handleSelectionChange" - height="95%" - > - <el-table-column - type="selection" - width="55" - /> - <el-table-column - :label="$t('dataManage.dictionaryManageObj.number')" - type="index" - width="50" - > - </el-table-column> - <el-table-column - prop="name" - :label="$t('dataManage.vmobj.name')" - /> - <el-table-column - prop="type" - :label="$t('dataManage.vmobj.format')" - /> - <el-table-column - prop="sizes" - :label="$t('dataManage.vmobj.size')" - :formatter="stateFormatSizes" - /> - <el-table-column - prop="depName" - :label="$t('dataManage.vmobj.depName')" - /> - <el-table-column - prop="dirName" - :label="$t('dataManage.vmobj.dirName')" - width="200" - /> - <el-table-column - prop="verName" - :label="$t('dataManage.vmobj.versionNumber')" - /> - <el-table-column :label="$t('dataManage.dataUpObj.tableName')"> - <template slot-scope="scope"> - <a @click="detail(scope.row)">{{ - scope.row.tab - }}</a> - </template> - </el-table-column> + <el-table-column + prop="type" + :label="$t('dataManage.vmobj.format')" + > + <template slot-scope="scope"> + <span v-if="scope.row.type == 'gdb'"> + <el-link + @click="setSelectGdbByGuid(scope.row)" + style="color: #409eff" + > + {{ scope.row.type }} + </el-link> + </span> + <span v-else> - <!-- <el-table-column + {{ scope.row.type }} + </span> + </template> + + </el-table-column> + + <el-table-column + prop="sizes" + :label="$t('dataManage.vmobj.size')" + :formatter="stateFormatSizes" + /> + <el-table-column + prop="depName" + :label="$t('dataManage.vmobj.depName')" + /> + <el-table-column + prop="dirName" + :label="$t('dataManage.vmobj.dirName')" + width="200" + /> + <el-table-column + prop="verName" + :label="$t('dataManage.vmobj.versionNumber')" + /> + <el-table-column :label="$t('dataManage.dataUpObj.tableName')"> + <template slot-scope="scope"> + <!-- <span ></span> --> + <el-link></el-link> + <el-link + :underline="false" + @click="detail(scope.row)" + >{{ + scope.row.tab + }}</el-link> + </template> + </el-table-column> + + <!-- <el-table-column prop="tab" :label="$t('dataManage.vmobj.tab')" :formatter="formatData" /> --> - <el-table-column - prop="rows" - :label="$t('dataManage.vmobj.row')" - /> - <el-table-column - prop="uname" - :label="$t('dataManage.vmobj.createonuser')" - /> - <el-table-column - prop="createTime" - :label="$t('dataManage.vmobj.createontime')" - :formatter="formatData" - /> - <el-table-column - min-width="100" - :label="$t('common.operate')" - > - <template slot-scope="scope"> - <el-link @click="showDetail(scope.row)">{{ - $t('common.details') - }}</el-link> - <el-link - v-if="btnStatus.update" - @click="editInfo(scope.row)" - style="margin-left: 10px; " - >{{ $t('common.edit') }}</el-link> - </template> - </el-table-column> - </el-table> - </div> - <div - style="margin-top: 0px" - class="pagination_box" + <el-table-column + prop="rows" + :label="$t('dataManage.vmobj.row')" + /> + + <el-table-column + :label="$t('common.dataStatus')" + :formatter="stateFormat" > - <el-pagination - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="listData.pageIndex" - :page-sizes="[10, 20, 50, 100]" - :page-size="listData.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="count" - > - </el-pagination> - </div> + + </el-table-column> + <el-table-column + prop="uname" + :label="$t('dataManage.vmobj.createonuser')" + /> + <el-table-column + prop="createTime" + :label="$t('dataManage.vmobj.createontime')" + :formatter="formatData" + /> + <el-table-column + min-width="210" + :label="$t('common.operate')" + > + <template slot-scope="scope"> + <el-button + @click="showDetail(scope.row)" + type="primary" + plain + size="small" + >{{ $t("common.details") }} + </el-button> + <el-button + type="warning" + plain + size="small" + v-if="btnStatus.update" + @click="editInfo(scope.row)" + style="margin-left: 10px" + >{{ $t("common.edit") }} + </el-button> + <el-button + plain + size="small" + v-if="showPreview(scope.row)" + @click="handlePreview(scope.row)" + style="margin-left: 10px" + >{{ $t("common.preview") }} + </el-button> + </template> + </el-table-column> + </el-table> + <div + class="pagination_box" + style="margin-top: 15px" + > + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="listData.pageIndex" + :page-sizes="[10, 50, 100, 200]" + :page-size="listData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="count" + > + </el-pagination> </div> </div> <div - class="infoBox box_div" + class="infoBox_box" v-show="showinfoBox" + style="z-index:99999" > - + <div class="infoBox box_div"> <div slot="header" class="clearfix" > - <span>{{ $t('common.details') }}</span> + <span>{{ $t("common.details") }}</span> <div style="float: right; cursor: pointer" @click="closeDetial" @@ -305,61 +346,52 @@ <i class="el-icon-close"></i> </div> </div> - <el-divider></el-divider> + <el-divider></el-divider> <div class="contentBox" - style="padding:1%" + style="padding: 1%" > - <p>{{ $t('dataManage.vmobj.name') }}锛歿{ itemdetail.name }}</p> + <p>{{ $t("dataManage.vmobj.name") }}锛歿{ itemdetail.name }}</p> <el-divider></el-divider> - <p>{{ $t('dataManage.vmobj.format') }}锛歿{ itemdetail.type }}</p> + <p>{{ $t("dataManage.vmobj.format") }}锛歿{ itemdetail.type }}</p> <el-divider></el-divider> - <p>{{ $t('common.size') }}锛歿{ setInfoBoxSize(itemdetail.sizes) }}</p> + <p>{{ $t("common.size") }}锛歿{ setInfoBoxSize(itemdetail.sizes) }}</p> <el-divider></el-divider> - <p>{{ $t('dataManage.vmobj.depName') }}锛歿{ itemdetail.depName }}</p> + <p>{{ $t("dataManage.vmobj.depName") }}锛歿{ itemdetail.depName }}</p> + <el-divider></el-divider> + <p>{{ $t("dataManage.vmobj.dirName") }}锛歿{ itemdetail.dirName }}</p> <el-divider></el-divider> <p> - {{ $t('dataManage.vmobj.dirName') }}锛歿{ - itemdetail.dirName - }} + {{ $t("dataManage.vmobj.versionNumber") }}锛歿{ itemdetail.verName }} + </p> + <el-divider></el-divider> + <p>{{ $t("dataManage.vmobj.tab") }}锛歿{ itemdetail.tab }}</p> + <el-divider></el-divider> + <p>{{ $t("dataManage.vmobj.row") }}锛歿{ itemdetail.rows }}</p> + <el-divider></el-divider> + <p> + {{ $t("dataManage.vmobj.createonuser") }}锛歿{ itemdetail.uname }} </p> <el-divider></el-divider> <p> - {{ $t('dataManage.vmobj.versionNumber') }}锛歿{ itemdetail.verName }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.tab') }}锛歿{ itemdetail.tab }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.row') }}锛歿{ itemdetail.row }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.createonuser') }}锛歿{ itemdetail.uname }} - </p> - <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.createontime') }}锛歿{ + {{ $t("dataManage.vmobj.createontime") }}锛歿{ setInfoBoxTime(itemdetail.createTime) }} </p> <el-divider></el-divider> - <p> - {{ $t('dataManage.vmobj.updateonuser') }}锛歿{ - itemdetail.updateUser - }} + <!-- <p> + {{ $t("dataManage.vmobj.depName") }}锛歿{ itemdetail.updateUser }} </p> <el-divider></el-divider> <p> - {{ $t('dataManage.vmobj.updateontime') }}锛歿{ + {{ $t("dataManage.vmobj.depName") }}锛歿{ setInfoBoxTime(itemdetail.updateTime) }} - </p> + </p> --> </div> - + </div> </div> + <el-dialog width="80vh" top="5vh" @@ -407,14 +439,14 @@ :label-width="formLabelWidth" > <el-select - style="width:100%" + style="width: 100%" :popper-append-to-body="false" v-model="editForm.depName" > <el-option :value="editForm.depid" :label="editForm.depName" - style=" height:auto" + style="height: auto" > <el-tree ref="tree" @@ -437,14 +469,14 @@ :label-width="formLabelWidth" > <el-select - style="width:100%" + style="width: 100%" :popper-append-to-body="false" v-model="editForm.dirName" > <el-option :value="editForm.dirid" :label="editForm.dirName" - style=" height:auto" + style="height: auto" > <el-tree ref="tree" @@ -486,15 +518,15 @@ <el-button size="small" @click="cancelEdit()" - >{{ - $t('common.reset') - }}</el-button> + >{{ $t("common.reset") }} + </el-button> <el-button size="small" type="primary" @click="sendEdit('editForm')" v-loading.fullscreen.lock="fullscreenLoading" - >{{ $t('common.submit') }}</el-button> + >{{ $t("common.submit") }} + </el-button> </div> <div v-else @@ -504,15 +536,15 @@ <el-button size="small" @click="cancelAdd('editForm')" - >{{ - $t('common.reset') - }}</el-button> + >{{ $t("common.reset") }} + </el-button> <el-button size="small" type="primary" @click="sendAdd('editForm')" v-loading.fullscreen.lock="fullscreenLoading" - >{{ $t('common.submit') }}</el-button> + >{{ $t("common.submit") }} + </el-button> </div> </el-dialog> <el-dialog @@ -520,7 +552,7 @@ :visible.sync="dialogVisible" width="70%" > - <div style="height:600px"> + <div style="height: 600px"> <el-table ref="filterTable" :data="dbTableData" @@ -551,7 +583,7 @@ @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange" :current-page="listLoader.pageIndex" - :page-sizes="[10, 20, 50, 100]" + :page-sizes="[10, 50, 100, 200]" :page-size="listLoader.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count1" @@ -559,13 +591,12 @@ </el-pagination> </div> </div> - </el-dialog> <div - class="downloadBox box_div subpage_Div" + class="downloadBox box_div subpage_Div" v-if="showCodeBox" > - <h4 style="padding: 20px">{{$t('common.passworld')}}</h4> + <h4 style="padding: 20px">{{ $t("common.passworld") }}</h4> <el-form :model="codeForm" :rules="rules" @@ -598,15 +629,434 @@ class="primary" size="small" @click="download('codeForm')" - >{{$t('common.confirm')}}</el-button> + >{{ $t("common.confirm") }} + </el-button> <el-button type="info" size="small" @click="closeDown('codeForm')" - >{{$t('common.cancel')}}</el-button> + >{{ $t("common.cancel") }} + </el-button> </el-form-item> </el-form> </div> + <el-dialog + :title="fromQueryMeta.title" + :visible.sync="queryMetaFlag" + width="70%" + > + <div style="height: 65vh; width: 100%"> + <el-form + :inline="true" + :model="fromQueryMeta" + class="demo-form-inline" + > + <el-form-item> + <el-input + size="small" + v-model="fromQueryMeta.name" + ></el-input> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + size="small" + @click="setSearchMetaData()" + >鏌ヨ + </el-button> + <el-button + type="info" + size="small" + @click="setRestMetaData()" + >閲嶇疆 + </el-button> + </el-form-item> + </el-form> + <el-table + ref="filterTable" + :data="metaDataTable" + style="width: 100%" + height="calc(100% - 100px)" + > + <el-table-column + align="center" + type="index" + :label="$t('common.index')" + width="70px" + ></el-table-column> + <el-table-column + align="center" + prop="name" + :label="$t('common.name')" + width="120" + > + </el-table-column> + <el-table-column + align="center" + prop="dirName" + :label="$t('dataManage.dataUpObj.catalogue')" + width="300" + /> + <el-table-column + align="center" + prop="depName" + :label="$t('dataManage.dataUpObj.company')" + width="200" + /> + <el-table-column + align="center" + prop="verName" + :label="$t('dataManage.dataUpObj.versionNo')" + /> + <el-table-column + align="center" + prop="type" + :label="$t('common.type')" + /> + <el-table-column + align="center" + prop="sizes" + :label="$t('common.size')" + :formatter="changeSizeFile" + /> + <el-table-column + align="center" + :label="$t('dataManage.dataUpObj.tableName')" + > + <template slot-scope="scope"> + <a + class="scopeRowColor" + @click="detail(scope.row)" + >{{ + scope.row.tab + }}</a> + </template> + </el-table-column> + <el-table-column + align="center" + prop="rows" + :label="$t('common.lineNuber')" + /> + <el-table-column + align="center" + prop="desc" + :label="$t('dataManage.dataUpObj.describe')" + /> + </el-table> + <div + class="pagination_box" + style="margin-top: 15px" + > + <el-pagination + @size-change="handleMetaSizeChange" + @current-change="handMetaCurrentChange" + :current-page="listMetaData.pageIndex" + :page-sizes="[10, 50, 100, 200,500]" + :page-size="listMetaData.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="listMetaData.count" + > + </el-pagination> + </div> + </div> + </el-dialog> + <el-dialog + :title="fromQueryMeta.title" + :visible.sync="queryMetaFlag1" + width="70%" + > + <div style="height: 65vh; width: 100%"> + <el-table + ref="filterTable" + :data="metaDataTable1" + style="width: 100%" + height="100%" + > + <el-table-column + align="center" + type="index" + :label="$t('common.index')" + width="70px" + ></el-table-column> + <el-table-column + align="center" + prop="name" + :label="$t('common.name')" + width="120" + > + </el-table-column> + <el-table-column + align="center" + prop="dirName" + :label="$t('dataManage.dataUpObj.catalogue')" + width="300" + /> + <el-table-column + align="center" + prop="depName" + :label="$t('dataManage.dataUpObj.company')" + width="200" + /> + <el-table-column + align="center" + prop="verName" + :label="$t('dataManage.dataUpObj.versionNo')" + /> + <el-table-column + align="center" + prop="type" + :label="$t('common.type')" + /> + <el-table-column + align="center" + prop="sizes" + :label="$t('common.size')" + :formatter="changeSizeFile" + /> + <el-table-column + align="center" + :label="$t('dataManage.dataUpObj.tableName')" + > + <template slot-scope="scope"> + <a + class="scopeRowColor" + @click="detail(scope.row)" + >{{ + scope.row.tab + }}</a> + </template> + </el-table-column> + <el-table-column + align="center" + prop="rows" + :label="$t('common.lineNuber')" + /> + <el-table-column + align="center" + prop="desc" + :label="$t('dataManage.dataUpObj.describe')" + /> + </el-table> + </div> + </el-dialog> + <el-dialog + custom-class="preview-dialog" + title="棰勮" + :append-to-body="false" + :visible.sync="dialog.dialogVisible" + width="70%" + :close-on-click-modal="false" + > + <div + v-if="dialog.isPdf" + class="pdfClass" + > + <iframe + :src="dialog.src" + type="application/x-google-chrome-pdf" + width="100%" + height="100%" + > + </iframe> + </div> + <div + v-if="dialog.isJpg" + class="pdfClass" + > + <el-image + style="width: 100%; height: 100%" + :src="dialog.src" + :preview-src-list="[dialog.src]" + > + </el-image> + </div> + </el-dialog> + <el-dialog + title="鏁版嵁鐢宠" + :visible.sync="dialogInsertFile" + width="30%" + top="10vh" + :modal="false" + :close-on-click-modal="false" + :show-close="false" + > + <el-form + ref="form" + :model="fileFrom" + label-width="100px" + > + <el-form-item label="瀹℃牳鍗曚綅"> + <div> + <ul> + <li v-for="item in fileFrom.depid"> + {{ item.name }} + </li> + </ul> + </div> + </el-form-item> + + <el-form-item label="鎻忚堪"> + <el-input + type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="fileFrom.descr" + maxlength="50" + show-word-limit + > + </el-input> + </el-form-item> + <el-form-item> + <el-button + class="primary" + size="small" + @click="getFileInsertApply()" + >{{ $t("common.confirm") }}</el-button> + <el-button + type="info" + size="small" + @click="handleInsertFileClose()" + >{{ $t("common.cancel") }}</el-button> + </el-form-item> + </el-form> + </el-dialog> + <el-dialog + title="" + :visible.sync="gdbDialog" + width="80%" + top="8vh" + :modal="false" + :close-on-click-modal="false" + > + <div class="gdbTableBox"> + <el-table + :data="gdbData" + style="width: 100%" + > + <el-table-column + type="selection" + width="55" + /> + <el-table-column + :label="$t('dataManage.dictionaryManageObj.number')" + type="index" + width="50" + > + </el-table-column> + <el-table-column :label="$t('dataManage.vmobj.name')"> + <template slot-scope="scope"> + <span v-if="scope.row.ismeta > 0"> + <el-link + style="color: #409eff" + title="婧愭暟鎹煡璇�" + @click="setQueryMetaData(scope.row)" + target="_blank" + >{{ scope.row.name }}</el-link> + </span> + <span v-else-if="scope.row.metaid > 0"> + <el-link + style="color: #409eff" + title="鍏冩暟鎹煡璇�" + @click="setMetaDataQuery(scope.row)" + target="_blank" + >{{ scope.row.name }}</el-link></span> + <span v-else>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column + prop="type" + :label="$t('dataManage.vmobj.format')" + > + + </el-table-column> + + <el-table-column + prop="sizes" + :label="$t('dataManage.vmobj.size')" + :formatter="stateFormatSizes" + /> + <el-table-column + prop="depName" + :label="$t('dataManage.vmobj.depName')" + /> + <el-table-column + prop="dirName" + :label="$t('dataManage.vmobj.dirName')" + width="200" + /> + <el-table-column + prop="verName" + :label="$t('dataManage.vmobj.versionNumber')" + /> + <el-table-column :label="$t('dataManage.dataUpObj.tableName')"> + <template slot-scope="scope"> + + <el-link></el-link> + <el-link + :underline="false" + @click="detail(scope.row)" + >{{ + scope.row.tab + }}</el-link> + </template> + </el-table-column> + + <el-table-column + prop="rows" + :label="$t('dataManage.vmobj.row')" + /> + + <el-table-column + :label="$t('common.dataStatus')" + :formatter="stateFormat" + > + + </el-table-column> + <el-table-column + prop="uname" + :label="$t('dataManage.vmobj.createonuser')" + /> + <el-table-column + prop="createTime" + :label="$t('dataManage.vmobj.createontime')" + :formatter="formatData" + /> + <el-table-column + min-width="210" + :label="$t('common.operate')" + > + <template slot-scope="scope"> + <el-button + @click="showDetail(scope.row)" + type="primary" + plain + size="small" + >{{ $t("common.details") }} + </el-button> + <el-button + type="warning" + plain + size="small" + v-if="btnStatus.update" + @click="editInfo(scope.row)" + style="margin-left: 10px" + >{{ $t("common.edit") }} + </el-button> + <el-button + plain + size="small" + v-if="showPreview(scope.row)" + @click="handlePreview(scope.row)" + style="margin-left: 10px" + >{{ $t("common.preview") }} + </el-button> + </template> + </el-table-column> + </el-table> + </div> + + </el-dialog> <iframe id="downFrame" src="" @@ -616,35 +1066,41 @@ </template> <script> -import $ from 'jquery' -import { getToken } from '@/utils/auth'; +import $ from "jquery"; +import { getToken } from "@/utils/auth"; import { - select_meta_ByPageAndCount, - // queryDataCount, - updateMeta, + encr, deleteMeta, insertMeta, - selectDictTab, - selectdirTab, - selectdepTab, meta_downloadReq, - sign_getPublicKey, + meta_selectByPageForUpload, meta_selectDownloadFile, meta_selectFields, - meta_selectByPageForUpload, - meta_selectVerByDirid -} from '../../api/api'; + meta_selectPageAndCountByPid, + meta_selectVerByDirid, + select_meta_ByPageAndCount, + selectdepTab, + selectdirTab, + sign_getPublicKey, + updateMeta, + meta_selectById, + meta_selectMetaOverflowDep, + meta_selectDepsByCodes, + apply_insertApply, + meta_selectGdbByGuid, +} from "../../api/api"; -import MyBread from '../../components/MyBread.vue'; +import MyBread from "../../components/MyBread.vue"; + export default { - name: 'metadataManage', + name: "metadataManage", components: { MyBread }, data() { var repasswordValidator = (rule, value, callback) => { - if (value === '') { - callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�')); + if (value === "") { + callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�")); } else if (value !== this.codeForm.password) { - callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!')); + callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!")); } else { callback(); } @@ -653,9 +1109,7 @@ var passwordreg = /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; if (!passwordreg.test(value)) { - callback( - new Error('瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�13-20浣�') - ); + callback(new Error("瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�13-20浣�")); } else { callback(); } @@ -663,40 +1117,45 @@ return { verOptions: [], defaultProps: { - children: 'children', - label: 'name', + children: "children", + label: "name", }, dirComPanyOption: [], companyOption: [], companyOption1: [], - activeName: '', + activeName: "", optionCount: [], showCodeBox: false, value: true, multipleSelection: [], - formLabelWidth: '120px', + formLabelWidth: "120px", dialogFormVisible: false, editForm: {}, showinfoBox: false, fullscreenLoading: false, itemdetail: {}, queryForm: { - name: '', - dirid: '', - depid: '', - verid: '' + name: "", + dirid: "", + depid: "", + verid: "", + depName: "", + }, - behavior: '', - initialForm: '', + behavior: "", + initialForm: "", codeForm: { - password: '', - repassword: '', + password: "", + repassword: "", }, rules: { - password: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }], + password: [ + { required: true, message: "璇疯緭鍏ュ瘑鐮�", trigger: "blur" }, + { validator: passwordValidator, trigger: "blur" }, + ], repassword: [ - { required: true, message: '璇疯緭鍏ョ‘璁ゅ瘑鐮�', trigger: 'blur' }, - { validator: repasswordValidator, trigger: 'blur' }, + { required: true, message: "璇疯緭鍏ョ‘璁ゅ瘑鐮�", trigger: "blur" }, + { validator: repasswordValidator, trigger: "blur" }, ], }, tableData: [], @@ -718,50 +1177,219 @@ pageIndex: 1, name: null, dirid: null, - depid: null + depid: null, }, cascader: { - label: 'name', - value: 'id', - children: 'children', + label: "name", + value: "id", + children: "children", checkStrictly: true, emitPath: false, }, dialogVisible: false, listLoader: { id: null, - pageSize: 1, + pageIndex: 1, pageSize: 10, }, count1: 0, attributeData: [], + tableHeight: 0, + timer: 0, + styleVar: { + height: "calc(100% - 109px)", + }, + listMetaData: { + metaid: 0, + name: "", + pageIndex: 1, + pageSize: 10, + count: 0, + }, + queryMetaFlag: false, + fromQueryMeta: { + title: "", + name: "", + }, + metaDataTable: [], + queryMetaFlag1: false, + metaDataTable1: [], + dialog: { + dialogVisible: false, + isPdf: false, + isJpg: false, + src: "", + }, + dialogInsertFile: false, + fileFrom: { + descr: null, + depid: null, + ids: null, + pwd: null, + depcodes: null, + }, + gdbData: [], + gdbDialog: false, + gdbGuid: null, }; }, created() { - // this.getSelectDictTab(); this.showPermsBtn(); this.getQueryDepTree(); this.signGetPublicKey(); - + }, + beforeDestroy() { + this.timer && clearTimeout(this.timer); + window.removeEventListener("resize", this.onResize); }, + mounted() { + window.addEventListener("resize", this.onResize); + this.calHeight(); + }, + watch: { + "queryForm.depName"() { + + this.$refs.treeSelect.visible = false; + }, + "queryForm.dirid"() { + + this.$refs.treeSelect1.visible = false; + }, + }, methods: { + //gdb 鐐瑰嚮浜嬩欢 + setSelectGdbByGuid(row) { + this.gdbGuid = row.guid + this.getSelectGdbByGuid(); + }, + async getSelectGdbByGuid() { + if (!this.gdbGuid) return + const data = await meta_selectGdbByGuid({ guid: this.gdbGuid }) + if (data.code != 200) { + return this.$message.error("鏍规嵁GUID鏌ヨGDB鏁版嵁澶辫触"); + } + if (data.count <= 0) { + return this.$message("鏌ユ棤鏇村鏁版嵁"); + } + this.gdbData = data.result; + this.gdbDialog = true; + + }, + + + stateFormat(row, column) { + var val = ['shp', 'gdb', 'xls', 'xlsx'] + if (val.indexOf(row.type) > -1 && row.rows > 0) { + return '宸蹭笂浼�,宸插叆搴�' + } else if (val.indexOf(row.type) > -1 && row.rows == 0) { + return '宸蹭笂浼�,鏈叆搴�' + } else { + return '宸蹭笂浼�' + } + }, + //澶у皬鍊兼敼鍙� + changeSizeFile(row, column, cellValue, index) { + if (cellValue >= 1024) { + return parseFloat(cellValue / 1204).toFixed(3) + "GB"; + } else { + return cellValue + "MB"; + } + }, + setRestMetaData() { + this.fromQueryMeta.name = ""; + this.listMetaData.name = this.fromQueryMeta.name; + this.listMetaData.pageIndex = 1; + this.listMetaData.pageSize = 10; + + this.startQueryMetaData(); + }, + setSearchMetaData() { + this.listMetaData.name = this.fromQueryMeta.name; + this.listMetaData.pageIndex = 1; + this.listMetaData.pageSize = 10; + + this.startQueryMetaData(); + }, + //婧愭暟鎹〉闈㈠垏鎹� + handleMetaSizeChange(val) { + this.listMetaData.pageIndex = 1; + this.listMetaData.pageSize = val; + this.startQueryMetaData(); + }, + //婧愭暟鎹〉闈㈠垏鎹� + handMetaCurrentChange(val) { + this.listMetaData.pageIndex = val; + this.startQueryMetaData(); + }, + //鍏冩暟鎹煡璇� + async setMetaDataQuery(row) { + this.fromQueryMeta.title = row.name; + this.listMetaData = { + id: row.metaid, + + }; + const data = await meta_selectById(this.listMetaData); + if (data.code != 200) { + return; + } + + this.queryMetaFlag1 = true; + this.metaDataTable1 = [data.result]; + // this.listMetaData.count = data.count; + }, + + + //婧愭暟鎹煡璇� + setQueryMetaData(row) { + this.fromQueryMeta.title = row.name; + this.listMetaData = { + metaid: row.id, + name: "", + pageIndex: 1, + pageSize: 10, + count: 0, + }; + this.startQueryMetaData(); + this.queryMetaFlag = true; + }, + async startQueryMetaData() { + const data = await meta_selectPageAndCountByPid(this.listMetaData); + if (data.code != 200) { + return; + } + this.metaDataTable = data.result; + this.listMetaData.count = data.count; + }, + + onResize() { + this.timer && clearTimeout(this.timer); + this.timer = setTimeout(() => { + this.calHeight(); + }, 500); + }, + calHeight() { + this.$nextTick(() => { + const rect = this.$refs.container.getBoundingClientRect(); + this.tableHeight = `${rect.height + 97}px`; + this.styleVar["height"] = `calc(100% - ${rect.height + 28}px)`; + }); + }, async detail(res) { var val = res.tab.split("."); const data = await meta_selectFields({ ns: val[0], - tab: val[1] - }) + tab: val[1], + }); if (data.code != 200) { - this.$message.error('瀛楁鍒楄〃璋冪敤澶辫触'); - return + this.$message.error("瀛楁鍒楄〃璋冪敤澶辫触"); + return; } this.dialogVisible = true; - this.attributeData = data.result; @@ -769,15 +1397,15 @@ id: res.id, pageIndex: 1, pageSize: 10, - } + }; this.getDataLoaderSelectDbData(); }, async getDataLoaderSelectDbData() { const data1 = await meta_selectByPageForUpload(this.listLoader); if (data1.code != 200) { - this.$message.error('瀛楁鍒楄〃璋冪敤澶辫触'); - return + this.$message.error("瀛楁鍒楄〃璋冪敤澶辫触"); + return; } var option = data1.result; @@ -788,12 +1416,11 @@ option[i].updateuser = option[i].updateName; option[i].verid = option[i].verName; if (option[i].createtime != null) { - option[i].createtime = this.setInfoBoxTime(option[i].createtime) + option[i].createtime = this.setInfoBoxTime(option[i].createtime); } if (option[i].updatetime != null) { - option[i].updatetime = this.setInfoBoxTime(option[i].updatetime) + option[i].updatetime = this.setInfoBoxTime(option[i].updatetime); } - } this.dbTableData = data1.result; this.count1 = data1.count; @@ -819,33 +1446,32 @@ async getQueryDepTree() { const res = await selectdepTab(); if (res.code != 200) { - this.$message.error('鍗曚綅鍒楄〃鑾峰彇澶辫触'); + this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触"); return; } this.companyOption1 = this.treeData(res.result); - this.queryForm.depcode = this.companyOption1[0].code - this.queryForm.depName = this.companyOption1[0].name + this.queryForm.depcode = this.companyOption1[0].code; + this.queryForm.depName = this.companyOption1[0].name; this.getQueryDirTree(); - }, async getQueryDirTree() { const res = await selectdirTab(); if (res.code != 200) { - this.$message.error('鍗曚綅鍒楄〃鑾峰彇澶辫触'); + this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触"); return; } this.companyOption = this.treeData(res.result); this.queryForm.dirid = this.companyOption[0].id; - this.queryForm.dircode = this.companyOption[0].code - this.queryForm.dirName = this.companyOption[0].name + this.queryForm.dircode = this.companyOption[0].code; + this.queryForm.dirName = this.companyOption[0].name; this.getQueryVerList(); }, async getQueryVerList() { - const data = await meta_selectVerByDirid({ dirid: this.queryForm.dirid }) + const data = await meta_selectVerByDirid({ dirid: this.queryForm.dirid }); if (data.code != 200) { - this.$message.error('鐗堟湰鍒楄〃鑾峰彇澶辫触'); + this.$message.error("鐗堟湰鍒楄〃鑾峰彇澶辫触"); return; } this.verOptions = data.result; @@ -863,29 +1489,26 @@ this.listData.pageIndex = 1; this.queryForm.dircode = data.code; this.queryForm.dirid = data.id; - this.queryForm.dirName = data.name - this.getQueryVerList() + this.queryForm.dirName = data.name; + this.getQueryVerList(); }, handleChange1(data, node, nodeData) { this.listData.pageSize = 10; this.listData.pageIndex = 1; this.queryForm.depcode = data.code; - this.queryForm.depName = data.name + this.queryForm.depName = data.name; + this.getMetaData(); }, handleChange2(data, node, nodeData) { - this.editForm.depid = data.id; this.editForm.depcode = data.code; - this.editForm.depName = data.name - + this.editForm.depName = data.name; }, handleChange3(data, node, nodeData) { - this.editForm.dirid = data.id; this.editForm.dircode = data.code; - this.editForm.dirName = data.name - + this.editForm.dirName = data.name; }, //鏍煎紡鍖栧垪琛� formatData(row, column) { @@ -903,9 +1526,9 @@ }, setInfoBoxSize(res) { if (res >= 1024) { - return parseFloat(res / 1024).toFixed(3) + ' GB'; + return parseFloat(res / 1024).toFixed(3) + " GB"; } else { - return res + ' MB'; + return res + " MB"; } }, //鏍煎紡鍖栨椂闂� @@ -920,41 +1543,40 @@ var s = time.getSeconds(); return ( y + - '-' + + "-" + this.add0(m) + - '-' + + "-" + this.add0(d) + - ' ' + + " " + h + - ':' + + ":" + mm + - ':' + + ":" + s ); }, //鏍煎紡鍖栨椂闂� add0(m) { - return m < 10 ? '0' + m : m; + return m < 10 ? "0" + m : m; }, //鍗曚綅杞崲 stateFormatSizes(row, column) { if (row.sizes >= 1024) { const val = parseFloat(row.sizes / 1024).toFixed(3); - return val + ' GB'; + return val + " GB"; } else { - return row.sizes + ' MB'; + return row.sizes + " MB"; } }, //鐩綍鏍戣幏鍙� async getSelectDictTab() { const res = await selectdirTab(); if (res.code != 200) { - this.$message.error('鍒楄〃璋冪敤澶辫触'); + this.$message.error("鍒楄〃璋冪敤澶辫触"); } this.optionCount = this.treeData(res.result); this.dirComPanyOption = this.treeData(res.result); this.listData.depcode = this.optionCount[0].code; - }, handleNodeClick(data) { this.listData.pageSize = 10; @@ -1014,7 +1636,6 @@ // this.listData.dirid = 57 select_meta_ByPageAndCount(this.listData).then((res) => { - this.tableData = res.result; this.count = res.count; }); @@ -1043,7 +1664,7 @@ }, //鏂板鎸夐挳 showAddDialog() { - this.behavior = '鏂板鐢ㄦ埛'; + this.behavior = "鏂板鐢ㄦ埛"; this.editForm = {}; this.dialogFormVisible = true; }, @@ -1054,7 +1675,6 @@ sendAdd(formName) { this.$refs[formName].validate((valid) => { if (valid) { - this.fullscreenLoading = true; insertMeta(this.editForm) .then((res) => { @@ -1065,8 +1685,8 @@ this.listData.pageIndex = 1; this.getMetaData(); this.$message({ - message: '娣诲姞鎴愬姛', - type: 'success', + message: "娣诲姞鎴愬姛", + type: "success", }); this.editForm = {}; this.dialogFormVisible = false; @@ -1074,11 +1694,11 @@ }, 500); }) .catch((res) => { - alert('淇敼澶辫触锛岃閲嶈瘯锛�'); + alert("淇敼澶辫触锛岃閲嶈瘯锛�"); this.fullscreenLoading = false; }); } else { - console.log('error submit!!'); + console.log("error submit!!"); return false; } }); @@ -1089,10 +1709,10 @@ }, // 鍒犻櫎澶氭潯 deleteMetaInfo() { - this.$confirm('纭畾鏄惁鍒犻櫎鎵�閫夊唴瀹�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning', + this.$confirm("纭畾鏄惁鍒犻櫎鎵�閫夊唴瀹�?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", }) .then(() => { var std = []; @@ -1102,21 +1722,21 @@ deleteMeta({ ids: std.toString() }).then((res) => { if (res.code == 200) { this.$message({ - type: 'success', - message: '鍒犻櫎鎴愬姛!', + type: "success", + message: "鍒犻櫎鎴愬姛!", }); this.multipleSelection = []; - this.listData.pageSize = 10; + // this.listData.pageSize = 10 this.listData.pageIndex = 1; this.getMetaData(); } else { - this.$message.error('鍒犻櫎澶辫触'); + this.$message.error("鍒犻櫎澶辫触"); this.multipleSelection = []; } }); }) .catch(() => { - this.$message('宸插彇娑堝垹闄�'); + this.$message("宸插彇娑堝垹闄�"); }); }, @@ -1124,7 +1744,9 @@ showDetail(row) { // console.log(index, row); this.showinfoBox = true; + this.itemdetail = row; + }, // 鍏抽棴鏌ョ湅 closeDetial() { @@ -1139,13 +1761,13 @@ delete row.updateUser; delete row.updateUser; this.initialForm = JSON.stringify(row); //澶囦唤 - this.behavior = '淇敼淇℃伅'; + this.behavior = "淇敼淇℃伅"; this.editForm = JSON.parse(JSON.stringify(row)); this.dialogFormVisible = true; this.getSelectDictTab(); }, handleClose(done) { - this.$confirm('纭鍏抽棴锛�') + this.$confirm("纭鍏抽棴锛�") .then((_) => { this.editForm = {}; done(); @@ -1155,10 +1777,10 @@ // 鎻愪氦淇敼 sendEdit() { - this.$confirm('鏄惁纭畾缂栬緫?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning', + this.$confirm("鏄惁纭畾缂栬緫?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", }) .then(() => { this.dialogFormVisible = false; @@ -1168,10 +1790,17 @@ if (res.code == 200) { this.listData.pageSize = 10; this.listData.pageIndex = 1; - this.getMetaData(); + + if (this.gdbDialog) { + this.getSelectGdbByGuid(); + } else { + this.getMetaData(); + } + + this.$message({ - message: '淇敼鎴愬姛', - type: 'success', + message: "淇敼鎴愬姛", + type: "success", }); this.editForm = {}; this.dialogFormVisible = false; @@ -1180,9 +1809,10 @@ }); }) .catch(() => { - alert('淇敼澶辫触锛岃閲嶈瘯锛�'); + alert("淇敼澶辫触锛岃閲嶈瘯锛�"); this.fullscreenLoading = false; }); + }, cancelEdit() { this.$nextTick(() => { @@ -1190,45 +1820,119 @@ }); }, async download() { - var std = []; + var ids = []; for (var i in this.multipleSelection) { - std.push(this.multipleSelection[i].id) + ids.push(this.multipleSelection[i].id); } var obj = { - pwd: encrypt.encrypt(this.codeForm.repassword), - ids: std + ids: ids, }; - const res = await meta_downloadReq(JSON.stringify(obj)) - - if (res.code != 200) { - this.$message.error('涓嬭浇璇锋眰澶辫触'); - return - } - - var downObj = { - guid: res.result, - pwd: encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)) - } - const data = await meta_selectDownloadFile(downObj) - + const data = await meta_selectMetaOverflowDep(obj); if (data.code != 200) { - this.$message.error('涓嬭浇璇锋眰澶辫触'); - return + return; } - var token = getToken() - var url = BASE_URL + "/meta/downloadFile?token=" + token + "&guid=" + res.result + "&pwd=" + encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); + var password = this.codeForm.repassword; + if (data.result.length == 0) { + var obj = { + pwd: encrypt.encrypt(this.codeForm.repassword), + ids: ids, + }; + const res = await meta_downloadReq(JSON.stringify(obj)); + if (res.code != 200) { + this.$message.error("涓嬭浇璇锋眰澶辫触"); + return; + } - $("#downFrame").attr("src", url).click(); + var downObj = { + guid: res.result, + pwd: encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)), + }; + const data1 = await meta_selectDownloadFile(downObj); + if (data1.code != 200) { + this.$message.error("涓嬭浇璇锋眰澶辫触"); + return; + } + var token = getToken(); + var url = + BASE_URL + + "/meta/downloadFile?token=" + + token + + "&guid=" + + res.result + + "&pwd=" + + encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); + + $("#downFrame").attr("src", url).click(); + } else { + var val = ""; + var std = []; + for (var i in data.result) { + if (val == "") { + val += "codes=" + data.result[i]; + } else { + val += "&codes=" + data.result[i]; + } + std.push({ + name: data.result[i], + }); + } + const data1 = await meta_selectDepsByCodes(val); + if (data1.code != 200) { + return; + } + + this.fileFrom.depid = data1.result; + this.fileFrom.ids = ids; + this.fileFrom.pwd = encr(password); + this.fileFrom.depcodes = data.result; + this.dialogInsertFile = true; + } + this.closeDown(); }, + + async getFileInsertApply() { + this.dialogInsertFile = false; + + var obj = { + ids: this.fileFrom.ids, + pwd: this.fileFrom.pwd, + tabs: ["鍏冩暟鎹〃"], + entities: ["sysmeta"], + descr: this.fileFrom.descr, + depcodes: this.fileFrom.depcodes, + }; + + const data = await apply_insertApply(JSON.stringify(obj)); + this.handleInsertFileClose(); + if (data.code != 200) { + this.$message.error("鏁版嵁鐢宠澶辫触"); + return; + } + this.$message({ + message: "鏁版嵁鐢宠鎴愬姛", + type: "success", + }); + }, + handleInsertFileClose() { + this.dialogInsertFile = false; + this.fileFrom = { + descr: null, + depid: null, + ids: null, + pwd: null, + depcodes: null, + }; + }, + closeDown() { this.showCodeBox = false; - this.codeForm.password = ''; - this.codeForm.repassword = ''; + this.codeForm.password = ""; + this.codeForm.repassword = ""; }, downFormData() { if (this.multipleSelection.length == 0) { - alert('璇峰厛閫夋嫨瑕佷笅杞界殑鏂囦欢'); + alert("璇峰厛閫夋嫨瑕佷笅杞界殑鏂囦欢"); return; } this.showCodeBox = true; @@ -1249,9 +1953,50 @@ return cloneData.filter((father) => { // 寰幆鎵�鏈夐」 let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 - branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� + branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� return father.pid == 0; // 杩斿洖涓�绾ц彍鍗� }); + }, + showPreview(row) { + let name = row.name; + if (!name) return false; + return ( + name.indexOf("pdf") != -1 || + name.indexOf("jpg") != -1 || + name.indexOf("gif") != -1 || + name.indexOf("png") != -1 || + name.indexOf("jpeg") != -1 + ); + }, + handlePreview(row) { + let name = row.name; + this.refreshAttatchDetail(); + + if (name.indexOf(".pdf") != -1) { + this.dialog.isPdf = true; + } else if ( + name.indexOf(".jpg") != -1 || + name.indexOf(".gif") != -1 || + name.indexOf(".png") != -1 || + name.indexOf(".jpeg") != -1 + ) { + this.dialog.isJpg = true; + } + this.dialog.dialogVisible = true; + + var url = + BASE_URL + + "/inquiry/downloadForView?guid=" + + row.guid + + "&token=" + + getToken(); + this.dialog.src = url; + }, + refreshAttatchDetail() { + this.dialog.src = ""; + this.dialog.dialogVisible = false; + this.dialog.isPdf = false; + this.dialog.isJpg = false; }, }, }; @@ -1261,38 +2006,17 @@ .authorityManagement_box { height: 98%; width: 98%; - padding: 1%; + padding: 0.5%; .inquire { - position: relative; - - padding-bottom: 8px; + padding: 8px; + //margin-top: 20px; border-radius: 5px; - padding: 1%; + + //margin-bottom: 20px; .el-form-item { margin: 5px; - } - } - .bottom { - width: 100%; - margin-top: 1%; - height: 74%; - display: flex; - justify-content: space-between; - - .rightTable { - width: 98%; - height: 92%; - - border-radius: 5px; - padding: 1%; - .table_box { - width: 100%; - height: 93%; - margin: 0 auto; - overflow: auto; - } } } @@ -1303,6 +2027,7 @@ display: block; margin-left: 10px; //杩欎釜鐢ㄤ簬鍦嗙偣灞呬腑 } + .downloadBox { position: absolute; top: 20%; @@ -1313,5 +2038,20 @@ border-radius: 10px; } + .preview-dialog { + .pdfClass { + height: 70vh; + width: 100%; + position: relative; + } + } + .el-divider--horizontal { + margin: 15px 0; + } + .gdbTableBox { + width: 100%; + height: 740px; + overflow-y: auto; + } } </style> -- Gitblit v1.9.3