From 40860ef4a79da4d4f8ffce369011c1a2450fa3c1 Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期三, 29 十一月 2023 16:51:26 +0800 Subject: [PATCH] 表格添加字段排序功能 --- src/views/datamanage/metadataManage.vue | 900 ++++++++++++++++------------------------------------------- 1 files changed, 253 insertions(+), 647 deletions(-) diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue index 76dacfb..49457b5 100644 --- a/src/views/datamanage/metadataManage.vue +++ b/src/views/datamanage/metadataManage.vue @@ -1,39 +1,19 @@ <template> <div class="authorityManagement_box"> <My-bread :list="[ - `${$t('dataManage.dataManage')}`, - `${$t('dataManage.metadataManage')}`, - ]"></My-bread> + `${$t('dataManage.dataManage')}`, + `${$t('dataManage.metadataManage')}`, + ]"></My-bread> <el-divider /> - <div - class="inquire subpage_Div" - ref="container" - > - <el-form - ref="queryForm" - :model="queryForm" - :inline="true" - > + <div class="inquire subpage_Div" ref="container"> + <el-form ref="queryForm" :model="queryForm" :inline="true"> <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-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 @@ -51,23 +31,9 @@ ></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-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 @@ -85,36 +51,16 @@ ></el-cascader> --> </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-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-form-item prop="name" size="small"> <!-- 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-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> @@ -129,31 +75,19 @@ > </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 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 @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 @click="resetInfo('queryForm')" icon="el-icon-refresh" type="info" size="small">{{ + $t("common.reset") }} </el-button> </el-form-item> </div> @@ -204,78 +138,48 @@ </el-form> </div> <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" - > + <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="75"> </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> + <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> + <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 - 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 prop="type" :label="$t('dataManage.vmobj.format')" sortable> + <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> + + {{ scope.row.type }} + </span> + </template> + + </el-table-column> + <el-table-column prop="sizes" :label="$t('dataManage.vmobj.size')" :formatter="stateFormatSizes" sortable /> + <el-table-column prop="depName" :label="$t('dataManage.vmobj.depName')" sortable /> + <el-table-column prop="dirName" :label="$t('dataManage.vmobj.dirName')" width="200" sortable /> + <el-table-column prop="verName" :label="$t('dataManage.vmobj.versionNumber')" sortable /> <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)" - >{{ + <el-link :underline="false" style="color: #409eff" @click="detail(scope.row)">{{ scope.row.tab }}</el-link> </template> @@ -286,96 +190,43 @@ :label="$t('dataManage.vmobj.tab')" :formatter="formatData" /> --> - <el-table-column - prop="rows" - :label="$t('dataManage.vmobj.row')" - /> + <el-table-column sortable prop="rows" :label="$t('dataManage.vmobj.row')" /> - <el-table-column - :label="$t('common.dataStatus')" - :formatter="stateFormat" - > + <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')" - > + <el-table-column sortable prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> + <el-table-column sortable 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 @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 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 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" - > + <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" - v-show="showinfoBox" - > + <div class="infoBox_box" v-show="showinfoBox" style="z-index:99999"> <div class="infoBox box_div"> - <div - slot="header" - class="clearfix" - > + <div slot="header" class="clearfix"> <span>{{ $t("common.details") }}</span> - <div - style="float: right; cursor: pointer" - @click="closeDetial" - > + <div style="float: right; cursor: pointer" @click="closeDetial"> <i class="el-icon-close"></i> </div> </div> <el-divider></el-divider> - <div - class="contentBox" - style="padding: 1%" - > + <div class="contentBox" style="padding: 1%"> <p>{{ $t("dataManage.vmobj.name") }}锛歿{ itemdetail.name }}</p> <el-divider></el-divider> <p>{{ $t("dataManage.vmobj.format") }}锛歿{ itemdetail.type }}</p> @@ -417,69 +268,24 @@ </div> </div> - <el-dialog - width="80vh" - top="5vh" - :title=" - behavior == '鏂板鐢ㄦ埛' + <el-dialog width="80vh" top="5vh" :title="behavior == '鏂板鐢ㄦ埛' ? `${$t('common.append')}` : `${$t('common.update')}` - " - :visible.sync="dialogFormVisible" - :before-close="handleClose" - > - <el-form - :model="editForm" - ref="editForm" - > - <el-form-item - :label="$t('dataManage.vmobj.name')" - :label-width="formLabelWidth" - > - <el-input - v-model="editForm.name" - autocomplete="off" - ></el-input> + " :visible.sync="dialogFormVisible" :before-close="handleClose"> + <el-form :model="editForm" ref="editForm"> + <el-form-item :label="$t('dataManage.vmobj.name')" :label-width="formLabelWidth"> + <el-input v-model="editForm.name" autocomplete="off"></el-input> </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.format')" - :label-width="formLabelWidth" - > - <el-input - v-model="editForm.type" - autocomplete="off" - ></el-input> + <el-form-item :label="$t('dataManage.vmobj.format')" :label-width="formLabelWidth"> + <el-input v-model="editForm.type" autocomplete="off"></el-input> </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.size')" - :label-width="formLabelWidth" - > - <el-input - v-model="editForm.sizes" - autocomplete="off" - ></el-input> + <el-form-item :label="$t('dataManage.vmobj.size')" :label-width="formLabelWidth"> + <el-input v-model="editForm.sizes" autocomplete="off"></el-input> </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.depName')" - :label-width="formLabelWidth" - > - <el-select - style="width: 100%" - :popper-append-to-body="false" - v-model="editForm.depName" - > - <el-option - :value="editForm.depid" - :label="editForm.depName" - style="height: auto" - > - <el-tree - ref="tree" - :data="companyOption1" - node-key="id" - :props="cascader" - @node-click="handleChange2" - /> + <el-form-item :label="$t('dataManage.vmobj.depName')" :label-width="formLabelWidth"> + <el-select style="width: 100%" :popper-append-to-body="false" v-model="editForm.depName"> + <el-option :value="editForm.depid" :label="editForm.depName" style="height: auto"> + <el-tree ref="tree" :data="companyOption1" node-key="id" :props="cascader" @node-click="handleChange2" /> </el-option> </el-select> <!-- <el-cascader @@ -489,27 +295,10 @@ style="width:350px" ></el-cascader> --> </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.dirName')" - :label-width="formLabelWidth" - > - <el-select - style="width: 100%" - :popper-append-to-body="false" - v-model="editForm.dirName" - > - <el-option - :value="editForm.dirid" - :label="editForm.dirName" - style="height: auto" - > - <el-tree - ref="tree" - :data="dirComPanyOption" - node-key="id" - :props="cascader" - @node-click="handleChange3" - /> + <el-form-item :label="$t('dataManage.vmobj.dirName')" :label-width="formLabelWidth"> + <el-select style="width: 100%" :popper-append-to-body="false" v-model="editForm.dirName"> + <el-option :value="editForm.dirid" :label="editForm.dirName" style="height: auto"> + <el-tree ref="tree" :data="dirComPanyOption" node-key="id" :props="cascader" @node-click="handleChange3" /> </el-option> </el-select> <!-- <el-cascader @@ -519,14 +308,8 @@ style="width:350px" ></el-cascader> --> </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.describe')" - :label-width="formLabelWidth" - > - <el-input - v-model="editForm.describe" - autocomplete="off" - ></el-input> + <el-form-item :label="$t('dataManage.vmobj.describe')" :label-width="formLabelWidth"> + <el-input v-model="editForm.describe" autocomplete="off"></el-input> </el-form-item> <!-- <el-form-item :label="$t('dataManage.vmobj.gather')" @@ -535,382 +318,131 @@ <el-input v-model="editForm.gather" autocomplete="off"></el-input> </el-form-item> --> </el-form> - <div - v-if="behavior == '淇敼淇℃伅'" - slot="footer" - class="dialog-footer" - > - <el-button - size="small" - @click="cancelEdit()" - >{{ $t("common.reset") }} + <div v-if="behavior == '淇敼淇℃伅'" slot="footer" class="dialog-footer"> + <el-button size="small" @click="cancelEdit()">{{ $t("common.reset") }} </el-button> - <el-button - size="small" - type="primary" - @click="sendEdit('editForm')" - v-loading.fullscreen.lock="fullscreenLoading" - >{{ $t("common.submit") }} + <el-button size="small" type="primary" @click="sendEdit('editForm')" + v-loading.fullscreen.lock="fullscreenLoading">{{ $t("common.submit") }} </el-button> </div> - <div - v-else - slot="footer" - class="dialog-footer" - > - <el-button - size="small" - @click="cancelAdd('editForm')" - >{{ $t("common.reset") }} + <div v-else slot="footer" class="dialog-footer"> + <el-button size="small" @click="cancelAdd('editForm')">{{ $t("common.reset") }} </el-button> - <el-button - size="small" - type="primary" - @click="sendAdd('editForm')" - v-loading.fullscreen.lock="fullscreenLoading" - >{{ $t("common.submit") }} + <el-button size="small" type="primary" @click="sendAdd('editForm')" + v-loading.fullscreen.lock="fullscreenLoading">{{ $t("common.submit") }} </el-button> </div> </el-dialog> - <el-dialog - :title="$t('common.details')" - :visible.sync="dialogVisible" - width="70%" - > + <el-dialog :title="$t('common.details')" :visible.sync="dialogVisible" width="70%"> <div style="height: 600px"> - <el-table - ref="filterTable" - :data="dbTableData" - height="90%" - border - style="width: 100%" - > - <el-table-column - width="60" - align="center" - type="index" - :label="$t('common.index')" - /> - <el-table-column - v-for="(item, index) in attributeData" - :key="index" - :label="item.alias" - :prop="item.field" - show-overflow-tooltip - align="center" - ></el-table-column> + <el-table ref="filterTable" :data="dbTableData" height="90%" border style="width: 100%"> + <el-table-column width="60" align="center" type="index" :label="$t('common.index')" /> + <el-table-column v-for="(item, index) in attributeData" :key="index" :label="item.alias" :prop="item.field" + show-overflow-tooltip align="center"></el-table-column> </el-table> - <div - style="margin-top: 10px" - class="pagination_box" - > - <el-pagination - @size-change="handleLoaderSizeChange" - @current-change="handleLoaderCurrentChange" - :current-page="listLoader.pageIndex" - :page-sizes="[10, 50, 100, 200]" - :page-size="listLoader.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="count1" - > + <div style="margin-top: 10px" class="pagination_box"> + <el-pagination @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange" + :current-page="listLoader.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listLoader.pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="count1"> </el-pagination> </div> </div> </el-dialog> - <div - class="downloadBox box_div subpage_Div" - v-if="showCodeBox" - > + <div class="downloadBox box_div subpage_Div" v-if="showCodeBox"> <h4 style="padding: 20px">{{ $t("common.passworld") }}</h4> - <el-form - :model="codeForm" - :rules="rules" - ref="codeForm" - label-width="100px" - class="codeForm" - > - <el-form-item - :label="$t('common.passworld')" - prop="password" - > - <el-input - type="password" - v-model="codeForm.password" - show-password - ></el-input> + <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm"> + <el-form-item :label="$t('common.passworld')" prop="password"> + <el-input type="password" v-model="codeForm.password" show-password></el-input> </el-form-item> - <el-form-item - :label="$t('common.SPassword')" - prop="repassword" - > - <el-input - type="password" - v-model="codeForm.repassword" - show-password - ></el-input> + <el-form-item :label="$t('common.SPassword')" prop="repassword"> + <el-input type="password" v-model="codeForm.repassword" show-password></el-input> </el-form-item> <el-form-item> - <el-button - class="primary" - size="small" - @click="download('codeForm')" - >{{ $t("common.confirm") }} + <el-button class="primary" size="small" @click="download('codeForm')">{{ $t("common.confirm") }} </el-button> - <el-button - type="info" - size="small" - @click="closeDown('codeForm')" - >{{ $t("common.cancel") }} + <el-button type="info" size="small" @click="closeDown('codeForm')">{{ $t("common.cancel") }} </el-button> </el-form-item> </el-form> </div> - <el-dialog - :title="fromQueryMeta.title" - :visible.sync="queryMetaFlag" - width="70%" - > + <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 :inline="true" :model="fromQueryMeta" class="demo-form-inline"> <el-form-item> - <el-input - size="small" - v-model="fromQueryMeta.name" - ></el-input> + <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 type="primary" size="small" @click="setSearchMetaData()">鏌ヨ </el-button> - <el-button - type="info" - size="small" - @click="setRestMetaData()" - >閲嶇疆 + <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 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')" - > + <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)" - >{{ + <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-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]" - :page-size="listMetaData.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="listMetaData.count" - > + <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]" :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%" - > + <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 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')" - > + <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)" - >{{ + <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-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%" - > + <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]" - > + <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-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> @@ -922,34 +454,76 @@ </el-form-item> <el-form-item label="鎻忚堪"> - <el-input - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="fileFrom.descr" - maxlength="50" - show-word-limit - > + <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-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> - <iframe - id="downFrame" - src="" - style="display: none; border: 0; padding: 0; height: 0; width: 0" - ></iframe> + <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%" max-height="38.54167vw"> + <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="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> </div> </template> @@ -975,6 +549,7 @@ meta_selectMetaOverflowDep, meta_selectDepsByCodes, apply_insertApply, + meta_selectGdbByGuid } from "../../api/api"; import MyBread from "../../components/MyBread.vue"; @@ -1115,6 +690,10 @@ pwd: null, depcodes: null, }, + gdbData: [], + gdbDialog: false, + gdbGuid: null, + loadDialogVisible: false }; }, created() { @@ -1144,6 +723,31 @@ }, }, 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) { @@ -1895,6 +1499,7 @@ border-radius: 10px; } + .preview-dialog { .pdfClass { height: 70vh; @@ -1902,6 +1507,7 @@ position: relative; } } + .el-divider--horizontal { margin: 15px 0; } -- Gitblit v1.9.3