| | |
| | | <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread> |
| | | <!-- 下载列表 --> |
| | | <i |
| | | @click="getdownloadList" |
| | | class="el-icon-tickets" |
| | | :title="$t('synthesis.DownloadList')" |
| | | ></i> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- 项目名称 --> |
| | | <el-form-item :title="$t('archiveObj.dataClass')"> |
| | | <el-form-item :title="$t('archiveObj.entryName')"> |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | v-model="formInline.item" |
| | |
| | | class="el-input__icon el-icon-search" |
| | | ></i></el-input> |
| | | </el-form-item> |
| | | <!-- 空间查询 --> |
| | | <el-form-item style="float:right"> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | icon="el-icon-search" |
| | | @click="getSpaceMapVisibale" |
| | | >{{$t('synthesis.rangequery')}}</el-button> |
| | | |
| | | </el-form-item> |
| | | <!-- 重置 --> |
| | | <el-form-item style="float:right"> |
| | | <el-button |
| | | type="info" |
| | | size="small" |
| | | icon="el-icon-refresh" |
| | | @click="setQuerAllTablesRefresh" |
| | | >{{$t('common.reset')}}</el-button> |
| | | |
| | | </el-form-item> |
| | |
| | | style="margin-left:10px" |
| | | class="el-icon-download" |
| | | :title="$t('common.download')" |
| | | @click="setCardDownload(item)" |
| | | ></i> |
| | | <i |
| | | v-show="!item.isShow" |
| | |
| | | <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> |
| | | <div class="cardItem"> {{$t('dataManage.vmobj.format')}} : {{ item.type }} </div> |
| | | <div class="cardItem"> {{$t('dataManage.vmobj.size')}} : {{stateFormatSizes(item.sizes)}} </div> |
| | | <div class="cardItem"> {{$t('archiveObj.downloads')}} : {{ item.downCount }} 次 </div> |
| | | <div class="cardItem"> {{$t('dataManage.vmobj.createonuser')}} : {{item.uname}} </div> |
| | | <div class="cardItem"> {{$t('dataManage.vmobj.depName')}} : {{item.depName}} </div> |
| | | <div class="cardItem"> {{$t('dataManage.vmobj.createontime')}} : {{format(item.createTime)}} </div> |
| | |
| | | <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> |
| | | <div class="cardItem"> {{$t('dataManage.vmobj.row')}} : {{ item.rows }} </div> |
| | | <!-- <div class="cardItem"> {{$t('archiveObj.storageType')}} : {{ item.tableType }} </div> --> |
| | | |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | |
| | | </div> |
| | | <div class="archBottomBox"> |
| | | |
| | | <div class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 文件详情 --> |
| | | <el-dialog |
| | | :title="$t('common.details')" |
| | | :visible.sync="showinfoBox1" |
| | | :close-on-click-modal="false" |
| | | width="30%" |
| | | > |
| | | <div class="contentBox"> |
| | | <p>{{ $t('dataManage.vmobj.name') }}:{{ itemdetail1.name }}</p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('dataManage.vmobj.format') }}:{{ itemdetail1.type }}</p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('common.size') }}:{{ stateFormatSizes(itemdetail1.sizes) }}</p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('archiveObj.downloads') }}:{{ itemdetail1.downCount }} 次</p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('archiveObj.label9') }}:{{ itemdetail1.lastUser }} </p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('archiveObj.label8') }}:{{setInfoBoxTime(itemdetail1.lastTime) }} </p> |
| | | <el-divider></el-divider> |
| | | |
| | | <p>{{ $t('dataManage.vmobj.depName') }}:{{ itemdetail1.depName }}</p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.gather') }}:{{ |
| | | setInfoBoxTime(itemdetail1.gather) |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.describe') }}:{{ itemdetail1.describe }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.createonuser') }}:{{ itemdetail1.uname }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.createontime') }}:{{ |
| | | setInfoBoxTime(itemdetail1.createTime) |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.updateonuser') }}:{{ |
| | | itemdetail1.updateUser |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.updateontime') }}:{{ |
| | | setInfoBoxTime(itemdetail1.updateTime) |
| | | }} |
| | | </p> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 数据库详情 --> |
| | | <el-dialog |
| | | :title=" this.listBankData.title" |
| | | :visible.sync="dialogVisible" |
| | | :close-on-click-modal="false" |
| | | width="90%" |
| | | top="12vh" |
| | | > |
| | | |
| | | <!-- 密码框 --> |
| | | <el-dialog |
| | | :title="$t('common.passworld')" |
| | | :visible.sync="downloadLogVisible" |
| | | :close-on-click-modal="false" |
| | | top="15vh" |
| | | width="30%" |
| | | :show-close="false" |
| | | :modal="false" |
| | | > |
| | | <el-form |
| | | :model="codeForm" |
| | | :rules="rules" |
| | | ref="codeForm" |
| | | label-width="100px" |
| | | class="codeForm" |
| | | > |
| | | <el-form-item |
| | | :label="$t('common.passworld')" |
| | | prop="password" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | type="password" |
| | | v-model="codeForm.password" |
| | | show-password |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('common.SPassword')" |
| | | prop="repassword" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | type="password" |
| | | v-model="codeForm.repassword" |
| | | show-password |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | class="primary" |
| | | size="small" |
| | | @click="download1('codeForm')" |
| | | >{{$t('common.confirm')}}</el-button> |
| | | <el-button |
| | | type="info" |
| | | size="small" |
| | | @click="closeDown1('codeForm')" |
| | | >{{$t('common.cancel')}}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | |
| | | <!-- 数据库table详情 --> |
| | | <el-dialog |
| | | width="30%" |
| | | :visible.sync="itemDetailVisible" |
| | | :modal="false" |
| | | > |
| | | <div |
| | | class="contentBox" |
| | | style="height:60vh;overflow:auto" |
| | | > |
| | | <ul> |
| | | <li v-for="(item, index) in itemdetail"> |
| | | <p> |
| | | <label> {{ item.label }}:</label> |
| | | <label class="boxlabel">{{ item.value }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 查询条件 --> |
| | | <!-- 条件--> |
| | | <el-dialog |
| | | width="43%" |
| | | :visible.sync="conditionVisible" |
| | | :modal="false" |
| | | title="查询条件" |
| | | :show-close="false" |
| | | > |
| | | <el-form |
| | | :inline="true" |
| | | :model="formSql" |
| | | class="demo-form-inline" |
| | | > |
| | | <el-form-item> |
| | | <el-select |
| | | size="small" |
| | | :popper-append-to-body="false" |
| | | @change="fieldChange($event)" |
| | | v-model="formSql.field" |
| | | > |
| | | <el-option |
| | | v-for="item in filedsOption" |
| | | :key="item.field" |
| | | :label="item.alias" |
| | | :value="item.field" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-select |
| | | size="small" |
| | | :popper-append-to-body="false" |
| | | v-model="formSql.condition" |
| | | > |
| | | <el-option |
| | | v-for="item in condOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-show="!fromSqlflag"> |
| | | <el-input |
| | | size="small" |
| | | v-model="formSql.value" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item v-show="fromSqlflag"> |
| | | <el-date-picker |
| | | size="small" |
| | | v-model="formSql.date" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span |
| | | slot="footer" |
| | | class="dialog-footer" |
| | | > |
| | | <el-button |
| | | size="small" |
| | | @click="startFiledAndcondition" |
| | | >取 消</el-button> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | @click="appendQueryFilter" |
| | | >确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <div style="height:68vh"> |
| | | <el-form |
| | | :model="formInline" |
| | | :inline="true" |
| | | > |
| | | <el-form-item> |
| | | <el-input |
| | | type="input" |
| | | v-model="formInline.fileName" |
| | | class="nm-skin-pretty" |
| | | show-word-limit |
| | | :rows="2" |
| | | resize='none' |
| | | disabled |
| | | size="small" |
| | | style="width: 650px;" |
| | | :placeholder="$t('archiveObj.label7')" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="success" |
| | | size="small" |
| | | icon="el-icon-plus" |
| | | @click="conditionVisible = true" |
| | | >{{$t('common.append')}}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | icon="el-icon-search" |
| | | @click="submitForm()" |
| | | >{{$t('common.iquery')}}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="info" |
| | | size="small" |
| | | icon="el-icon-search" |
| | | @click="resetForm()" |
| | | >{{$t('common.reset')}}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="warning" |
| | | size="small" |
| | | icon="el-icon-download" |
| | | @click="downloadLogVisible = true" |
| | | >{{$t('common.download')}}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider /> |
| | | <el-table |
| | | ref="filterTable" |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%" |
| | | height="calc(100% - 150px)" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | align="center" |
| | | width="55" |
| | | /> |
| | | <el-table-column |
| | | width="60" |
| | | type="index" |
| | | align="center" |
| | | :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" |
| | | min-width="150" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | :label="$t('common.operate')" |
| | | min-width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-link |
| | | class="elLink" |
| | | @click="showDetail(scope.$index, scope.row)" |
| | | >{{ $t('common.details') }}</el-link> |
| | | <el-link |
| | | class="elLink" |
| | | @click="getAttachTable(scope.$index, scope.row)" |
| | | style="margin-left: 20px" |
| | | >{{ $t('common.enclosure') }}</el-link> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="archBottomBox"> |
| | | <div class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange1" |
| | | @current-change="handleCurrentChange1" |
| | | :current-page="listBankData.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="listBankData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="listBankData.count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 密码框 --> |
| | | <el-dialog |
| | | :title="$t('common.passworld')" |
| | | :visible.sync="passWorldVisible" |
| | | :close-on-click-modal="false" |
| | | top="15vh" |
| | | width="30%" |
| | | :show-close="false" |
| | | > |
| | | <el-form |
| | | :model="codeForm" |
| | | :rules="rules" |
| | | ref="codeForm" |
| | | label-width="100px" |
| | | class="codeForm" |
| | | > |
| | | <el-form-item |
| | | :label="$t('common.passworld')" |
| | | prop="password" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | type="password" |
| | | v-model="codeForm.password" |
| | | show-password |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('common.SPassword')" |
| | | prop="repassword" |
| | | > |
| | | <el-input |
| | | size="small" |
| | | 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> |
| | | <el-button |
| | | type="info" |
| | | size="small" |
| | | @click="closeDown('codeForm')" |
| | | >{{$t('common.cancel')}}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | <!-- 下载列表 --> |
| | | <el-dialog |
| | | :visible.sync="downloadListVisible" |
| | | width="90%" |
| | | top="14vh" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="downloadBox"> |
| | | <div class="archdowntop"> |
| | | <el-table |
| | | :data="downloadTableData" |
| | | style="width: 100%" |
| | | height="calc(100% - 5px)" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | width="50" |
| | | :label="$t('common.index')" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | property="descr" |
| | | :label="$t('common.title')" |
| | | > </el-table-column> |
| | | <el-table-column |
| | | property="name" |
| | | :label="$t('common.fileNme')" |
| | | > </el-table-column> |
| | | <el-table-column |
| | | property="createName" |
| | | :label="$t('operatManage.BWL.requestUser')" |
| | | > </el-table-column> |
| | | <el-table-column |
| | | property="createTime" |
| | | :formatter="formatData" |
| | | :label="$t('dataApply.careatetime')" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | :label="$t('common.download')" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-link |
| | | @click.native.prevent="downloadMap(scope.$index, scope.row)" |
| | | :underline="false" |
| | | >下载</el-link> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="archdownbottom"> |
| | | <el-pagination |
| | | @size-change="downloadSizeChange" |
| | | @current-change="downloadCurrentChange" |
| | | :current-page="downloadPage.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="downloadPage.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="downloadPage.count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <!--空间查询 --> |
| | | <el-dialog |
| | | :title=" $t('synthesis.rangequery')" |
| | | :visible.sync="dialogMapVisible" |
| | | width="90%" |
| | | top="10vh" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div style="height:73vh"> |
| | | <map-sdk v-if='showMapVisible'></map-sdk> |
| | | </div> |
| | | </el-dialog> |
| | | <iframe |
| | | id="downFrame" |
| | | src="" |
| | | style="display: none; border: 0; padding: 0; height: 0; width: 0" |
| | | ></iframe> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import MapSdk from '../../components/mapsdk.vue' |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import { selectdepTab, dataLib_selectProject, dataLib_selectDirTypes, dataLib_selectByPageForMeta, dataLib_selectTabs } from '../../api/api'; |
| | | import { conditions } from './Archive.js'; |
| | | import $ from 'jquery' |
| | | import { getToken } from '@/utils/auth'; |
| | | import { |
| | | selectdepTab, |
| | | dataLib_selectProject, |
| | | dataLib_selectDirTypes, |
| | | dataLib_selectByPageForMeta, |
| | | dataLib_selectTabs, |
| | | dataLib_selectFields, |
| | | dataLib_selectDomains, |
| | | dataLib_selectByPage, |
| | | sign_getPublicKey, |
| | | dataLib_downloadReq, |
| | | dataLib_selectDownloadFile, |
| | | dataLib_selectPageCountForDownload |
| | | } from '../../api/api'; |
| | | export default { |
| | | components: { |
| | | MyBread, |
| | | MyBread, MapSdk |
| | | }, |
| | | data() { |
| | | var repasswordValidator = (rule, value, callback) => { |
| | | if (value === '') { |
| | | callback(new Error('请再次输入密码')); |
| | | } else if (value !== this.codeForm.password) { |
| | | callback(new Error('两次输入密码不一致!')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | var passwordValidator = (rule, value, callback) => { |
| | | 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位') |
| | | ); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | fromSqlflag: false, |
| | | filedsOption: [], |
| | | condOption: [], |
| | | codeForm: { |
| | | password: '', |
| | | repassword: '', |
| | | }, |
| | | rules: { |
| | | password: [{ required: true, message: '请输入密码', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }], |
| | | repassword: [ |
| | | { required: true, message: '请输入确认密码', trigger: 'blur' }, |
| | | { validator: repasswordValidator, trigger: 'blur' }, |
| | | ], |
| | | }, |
| | | formInline: { |
| | | fileName: "",//高级搜索 |
| | | dataType: "type2", //数据类型 |
| | | category: [], //查询类别, |
| | | item: [], |
| | |
| | | pageSize: 10, |
| | | count: 0, |
| | | }, |
| | | monthdata: [ |
| | | ] |
| | | listBankData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | count: 0, |
| | | name: "", |
| | | title: "", |
| | | }, |
| | | monthdata: [], |
| | | itemdetail1: {}, |
| | | showinfoBox1: false, |
| | | dialogVisible: false, |
| | | formSql: { |
| | | field: '', |
| | | condition: '', |
| | | value: '', |
| | | type: '', |
| | | date: '', |
| | | }, |
| | | downloadPage: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | count: 0, |
| | | name: null, |
| | | }, |
| | | attributeData: [], |
| | | tableData: [], |
| | | multipleSelection1: [], |
| | | passWorldVisible: false, |
| | | itemdetail: [], |
| | | itemDetailVisible: false, |
| | | downloadLogVisible: false, |
| | | conditionVisible: false, |
| | | downloadListVisible: false, |
| | | downloadTableData: [], |
| | | dialogMapVisible: false, |
| | | showMapVisible: false, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.getDepTreeData(); |
| | | this.getCategorySelectData(); |
| | | this.getItemSelectData(); |
| | | this.getAllTabesData(); |
| | | this.signGetPublicKey(); |
| | | }, |
| | | methods: { |
| | | //卡片详情点击事件 |
| | | setCardDetails(res) { |
| | | |
| | | |
| | | getSpaceMapVisibale() { |
| | | sgworld.Creator.SimpleGraphic.clear(); |
| | | for (var i in this.$store.state.queryInfo) { |
| | | sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); |
| | | } |
| | | this.$store.state.queryInfo = []; |
| | | if (this.$store.state.primitLayer != null) { |
| | | sgworld.Viewer.entities.remove(this.$store.state.primitLayer); |
| | | sgworld.Creator.DeleteObject(this.$store.state.primitLayer); |
| | | this.$store.state.primitLayer = null; |
| | | } |
| | | this.dialogMapVisible = true; |
| | | this.showMapVisible = true; |
| | | this.$store.state.mapMenuBoolean = true; |
| | | this.$store.state.mapMenuBoxFlag = '1'; |
| | | this.$store.state.mapPopBoolean = false; |
| | | this.$store.state.mapPopBoxFlag = null; |
| | | this.$store.state.download = true; |
| | | |
| | | }, |
| | | downloadMap(index, rows) { |
| | | var token = getToken() |
| | | var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + rows.guid + "&pwd=" + rows.pwd; |
| | | $("#downFrame").attr("src", url).click(); |
| | | }, |
| | | async getdownloadListData() { |
| | | const data = await dataLib_selectPageCountForDownload(this.downloadPage); |
| | | if (data.code != 200) { |
| | | this.downloadListVisible = false; |
| | | return this.$message.error('下载列表获取失败'); |
| | | } |
| | | |
| | | this.downloadTableData = data.result; |
| | | |
| | | this.downloadPage.count = data.count; |
| | | }, |
| | | downloadSizeChange(val) { |
| | | this.downloadPage.pageIndex = 1; |
| | | this.downloadPage.pageSize = val; |
| | | this.getdownloadListData(); |
| | | }, |
| | | downloadCurrentChange(val) { |
| | | this.downloadPage.pageIndex = val; |
| | | this.getdownloadListData(); |
| | | }, |
| | | getdownloadList() { |
| | | this.downloadPage = { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | count: 0, |
| | | name: null, |
| | | } |
| | | this.downloadListVisible = true; |
| | | this.getdownloadListData(); |
| | | }, |
| | | appendQueryFilter() { |
| | | if (this.formSql.type == "date" || this.formSql.type == "datetime") { |
| | | if (this.formSql.date == null) { |
| | | this.$message.error('请输入要查询的信息!'); |
| | | return; |
| | | } |
| | | } else { |
| | | if (this.formSql.value == "") { |
| | | this.$message.error('请输入要查询的信息!'); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | if (this.formInline.fileName != "") { |
| | | this.formInline.fileName += " and "; |
| | | } |
| | | var val; |
| | | |
| | | if (this.formSql.type == "long" || this.formSql.type == "integer") { |
| | | |
| | | val = parseInt(this.formSql.value); |
| | | } else if (this.formSql.type == 'double') { |
| | | |
| | | if (this.formSql.value.indexOf(".") != -1) { |
| | | val = this.formSql.value; |
| | | } else { |
| | | val = parseFloat(this.formSql.value).toFixed(1) |
| | | } |
| | | } else if (this.formSql.type == "date" || this.formSql.type == "datetime") { |
| | | var time = new Date(this.formSql.date); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | var y = time.getFullYear(); |
| | | val = "'" + y + |
| | | '-' + |
| | | this.add0(m) + |
| | | '-' + |
| | | this.add0(d) + "'"; |
| | | } else { |
| | | val = "'" + this.formSql.value + "'"; |
| | | } |
| | | this.formInline.fileName += this.formSql.field + " " + this.formSql.condition + " " + val; |
| | | |
| | | this.startFiledAndcondition(); |
| | | }, |
| | | startFiledAndcondition() { |
| | | this.conditionVisible = false; |
| | | this.conditionChange(this.filedsOption[0]); |
| | | this.formSql.value = ""; |
| | | this.formSql.date = new Date(); |
| | | }, |
| | | |
| | | fieldChange(value) { |
| | | var obj = {} |
| | | obj = this.filedsOption.find(function (item) { |
| | | return item.field === value; |
| | | }) |
| | | this.conditionChange(obj) |
| | | |
| | | }, |
| | | conditionChange(res) { |
| | | this.formSql.field = res.field; |
| | | this.formSql.type = res.type; |
| | | if (res.type == "date" || res.type == "datetime") { |
| | | this.fromSqlflag = true |
| | | } else { |
| | | this.fromSqlflag = false |
| | | } |
| | | var std = []; |
| | | this.condOption = []; |
| | | if (res.type == 'text' || res.type == 'blob') { |
| | | std = conditions[0] |
| | | } else if (res.type == 'date' || res.type == 'datetime') { |
| | | std = conditions[2] |
| | | } else { |
| | | std = conditions[1] |
| | | } |
| | | for (var i in std) { |
| | | this.condOption.push({ |
| | | label: std[i], |
| | | value: std[i], |
| | | }) |
| | | } |
| | | this.formSql.condition = this.condOption[0].value |
| | | }, |
| | | async download1() { |
| | | if (this.codeForm.password == '' || this.codeForm.repassword == '') { |
| | | return this.$message.error('密码不能为空'); |
| | | } |
| | | if (this.codeForm.password != this.codeForm.repassword) { |
| | | return; |
| | | } |
| | | 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(this.codeForm.password)) { |
| | | return; |
| | | } |
| | | var obj = { |
| | | entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach |
| | | filter: this.formInline.filter, |
| | | pwd: encrypt.encrypt(this.codeForm.password), |
| | | depcodes: [this.listData.depcode], |
| | | dirs: this.listData.dirs |
| | | |
| | | }; |
| | | |
| | | var that = this; |
| | | $.ajax({ |
| | | url: BASE_URL + "/dataLib/downloadEntityReq?token=" + getToken(), |
| | | type: "POST", |
| | | data: JSON.stringify(obj), |
| | | dataType: 'json', // html、json、jsonp、script、text |
| | | contentType: "application/json", // "application/x-www-form-urlencoded" |
| | | success: (data) => { |
| | | if (data.code == 200) { |
| | | that.downloadflie(data, this.codeForm.password) |
| | | |
| | | } |
| | | }, |
| | | error: function (e) { |
| | | } |
| | | }); |
| | | this.closeDown1(); |
| | | }, |
| | | downloadflie(data, pwd) { |
| | | |
| | | var token = getToken() |
| | | var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + data.result + "&pwd=" + encrypt.encrypt(pwd); |
| | | $("#downFrame").attr("src", url).click(); |
| | | this.loading = false; |
| | | }, |
| | | closeDown1() { |
| | | this.downloadLogVisible = false; |
| | | this.codeForm.password = ''; |
| | | this.codeForm.repassword = ''; |
| | | }, |
| | | //文件详情 |
| | | showDetail(index, row) { |
| | | var std = []; |
| | | for (var i in this.attributeData) { |
| | | std.push({ |
| | | label: this.attributeData[i].alias, |
| | | value: row[this.attributeData[i].field], |
| | | }); |
| | | } |
| | | this.itemdetail = std; |
| | | this.itemDetailVisible = true; |
| | | }, |
| | | async download() { |
| | | if (this.codeForm.password == '' || this.codeForm.repassword == '') { |
| | | return this.$message.error('密码不能为空'); |
| | | } |
| | | if (this.codeForm.password != this.codeForm.repassword) { |
| | | return; |
| | | } |
| | | 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(this.codeForm.password)) { |
| | | return; |
| | | } |
| | | this.passWorldVisible = false; |
| | | var std = []; |
| | | for (var i in this.multipleSelection1) { |
| | | std.push(this.multipleSelection1[i].id) |
| | | } |
| | | var obj = { |
| | | pwd: encrypt.encrypt(this.codeForm.repassword), |
| | | ids: std |
| | | }; |
| | | const res = await dataLib_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 dataLib_selectDownloadFile(downObj) |
| | | if (data.code != 200) { |
| | | this.$message.error('下载请求失败'); |
| | | return |
| | | } |
| | | var token = getToken() |
| | | var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + res.result + "&pwd=" + encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); |
| | | |
| | | $("#downFrame").attr("src", url).click(); |
| | | this.closeDown(); |
| | | }, |
| | | closeDown() { |
| | | this.passWorldVisible = false; |
| | | this.codeForm.password = ''; |
| | | this.codeForm.repassword = ''; |
| | | }, |
| | | //文件下载 |
| | | setCardDownload(res) { |
| | | this.multipleSelection1 = []; |
| | | this.multipleSelection1.push(res); |
| | | if (this.multipleSelection1.length == 0) { |
| | | this.$message({ |
| | | message: '请先选择要下载的文件', |
| | | type: 'warning' |
| | | }); |
| | | return; |
| | | } |
| | | this.passWorldVisible = true; |
| | | }, |
| | | //重置 |
| | | setQuerAllTablesRefresh() { |
| | | this.formInline = { |
| | | fileName: "",//高级搜索 |
| | | dataType: "type2", //数据类型 |
| | | category: [], //查询类别, |
| | | item: [], |
| | | depcode: this.depOption[0].code, |
| | | depName: this.depOption[0].name, |
| | | keywords: '', |
| | | } |
| | | this.getAllTabesData(); |
| | | }, |
| | | handleSelectionChange() { |
| | | |
| | | }, |
| | | //卡片详情点击事件 |
| | | async setCardDetails(res) { |
| | | switch (this.formInline.dataType) { |
| | | case "type1": |
| | | this.getBankTableData(res); |
| | | this.formInline.fileName = "" |
| | | break; |
| | | case "type2": |
| | | this.itemdetail1 = res |
| | | this.showinfoBox1 = true; |
| | | break; |
| | | } |
| | | }, |
| | | //获取数据库数据 |
| | | getBankTableData(res) { |
| | | this.listBankData.name = res.entity; |
| | | this.listBankData.pageIndex = 1; |
| | | this.listBankData.pageSize = 10; |
| | | this.listBankData.title = res.tabDesc; |
| | | this.filedsLayer = this.getBankTableFiled(); |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | async getCollapseTable(res) { |
| | | res.then((val) => { |
| | | this.attributeData = val; |
| | | }); |
| | | if (this.formInline.fileName != "") { |
| | | this.listBankData.filter = this.formInline.fileName; |
| | | } else { |
| | | this.listBankData.filter = null; |
| | | } |
| | | this.listBankData.dirs = ""; |
| | | if (this.formInline.category.length != 0) { |
| | | this.listBankData.dirs += this.formInline.category.toString(); |
| | | } |
| | | if (this.formInline.item.length != 0) { |
| | | if (this.listBankData.dirs.length != 0) { |
| | | this.listBankData.dirs += "," |
| | | } |
| | | this.listBankData.dirs += this.formInline.item.toString(); |
| | | } |
| | | this.listBankData.depcode = this.listData.depcode; |
| | | const data = await dataLib_selectByPage(this.listBankData); |
| | | if (data.code != 200) { |
| | | this.$message.error('调用列表失败,请联系工作人员!'); |
| | | return; |
| | | } |
| | | |
| | | var res_val = this.attributeData; |
| | | |
| | | for (var i in data.result) { |
| | | let val_Data = data.result[i]; |
| | | |
| | | for (var j in res_val) { |
| | | if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) { |
| | | val_Data[res_val[j].field] = res_val[j].domainNa; |
| | | } |
| | | } |
| | | } |
| | | for (var i in data.result) { |
| | | if (data.result[i].createtime != null) { |
| | | data.result[i].createtime = this.format(data.result[i].createtime) |
| | | } |
| | | if (data.result[i].updatetime != null) { |
| | | data.result[i].updatetime = this.format(data.result[i].updatetime) |
| | | } |
| | | } |
| | | this.listBankData.count = data.count; |
| | | |
| | | this.tableData = data.result; |
| | | |
| | | this.dialogVisible = true; |
| | | }, |
| | | //获取数据表字段信息 |
| | | async getBankTableFiled() { |
| | | const fileds = await dataLib_selectFields({ |
| | | name: this.listBankData.name, |
| | | }); |
| | | if (fileds.code != 200) { |
| | | this.$message.error('列表调用失败'); |
| | | return; |
| | | } |
| | | |
| | | const domains = await dataLib_selectDomains({ |
| | | name: this.listBankData.name, |
| | | }); |
| | | |
| | | if (domains.code != 200) { |
| | | this.$message.error('列表调用失败'); |
| | | return; |
| | | } |
| | | var data1 = fileds.result; |
| | | var data2 = domains.result; |
| | | this.formInline.fileName = "" |
| | | var std = []; |
| | | this.filedsOption = []; |
| | | for (var i in data1) { |
| | | |
| | | if (data1[i].type != 'geometry' && data1[i].type != 'null') { |
| | | this.filedsOption.push(data1[i]) |
| | | } |
| | | |
| | | if (data1[i].showtype == 1) { |
| | | if (data1[i].domainNa != null) { |
| | | data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2); |
| | | } |
| | | std.push(data1[i]); |
| | | } |
| | | } |
| | | |
| | | this.startFiledAndcondition(); |
| | | return std; |
| | | }, |
| | | //值域字段匹配 |
| | | getDomainNaFild(res, result) { |
| | | for (var i in result) { |
| | | if (result[i].domName == res) { |
| | | return result[i].codeDesc; |
| | | } |
| | | } |
| | | return null; |
| | | }, |
| | | startFiledAndcondition() { |
| | | this.conditionVisible = false; |
| | | this.conditionChange(this.filedsOption[0]); |
| | | this.formSql.value = ""; |
| | | this.formSql.date = new Date(); |
| | | }, |
| | | conditionChange(res) { |
| | | this.formSql.field = res.field; |
| | | this.formSql.type = res.type; |
| | | if (res.type == "date" || res.type == "datetime") { |
| | | this.fromSqlflag = true |
| | | } else { |
| | | this.fromSqlflag = false |
| | | } |
| | | var std = []; |
| | | this.condOption = []; |
| | | if (res.type == 'text' || res.type == 'blob') { |
| | | std = conditions[0] |
| | | } else if (res.type == 'date' || res.type == 'datetime') { |
| | | std = conditions[2] |
| | | } else { |
| | | std = conditions[1] |
| | | } |
| | | for (var i in std) { |
| | | this.condOption.push({ |
| | | label: std[i], |
| | | value: std[i], |
| | | }) |
| | | } |
| | | this.formSql.condition = this.condOption[0].value |
| | | }, |
| | | |
| | | //存储类型切换 |
| | | setDataTypeChange() { |
| | | this.listData.pageIndex = 1; |
| | |
| | | s |
| | | ); |
| | | }, |
| | | //格式化列表 |
| | | formatData(row, column) { |
| | | let data = row[column.property]; |
| | | if (data == null) { |
| | | return data; |
| | | } |
| | | return this.format(data); |
| | | }, |
| | | //格式化时间 |
| | | add0(m) { |
| | | return m < 10 ? '0' + m : m; |
| | |
| | | return res + ' MB'; |
| | | } |
| | | }, |
| | | |
| | | setInfoBoxTime(res) { |
| | | if (res == null) { |
| | | return res; |
| | | } |
| | | return this.format(res); |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = val; |
| | |
| | | this.listData.pageIndex = val; |
| | | this.getAllTabesData(); |
| | | }, |
| | | // 关键字查询 |
| | | submitForm() { |
| | | this.listBankData.pageIndex = 1; |
| | | this.listBankData.pageSize = 10; |
| | | //获取table信息 |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | // 重置查询 |
| | | resetForm() { |
| | | this.formInline.fileName = "" |
| | | //获取table信息 |
| | | this.listBankData.pageIndex = 1; |
| | | this.listBankData.pageSize = 10; |
| | | //获取table信息 |
| | | this.getCollapseTable(this.filedsLayer); |
| | | |
| | | }, |
| | | handleSizeChange1(val) { |
| | | this.listBankData.pageIndex = 1; |
| | | this.listBankData.pageSize = val; |
| | | //获取table信息 |
| | | this.getCollapseTable(this.filedsLayer); |
| | | |
| | | }, |
| | | handleCurrentChange1(val) { |
| | | this.listBankData.pageIndex = val; |
| | | //获取table信息 |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | //查询数据库数据 |
| | | async getQueryBankData() { |
| | | this.listData.dirs = ""; |
| | | if (this.formInline.category.length != 0) { |
| | | this.listData.dirs += this.formInline.category.toString(); |
| | | } |
| | | if (this.formInline.item.length != 0) { |
| | | if (this.listData.dirs.length != 0) { |
| | | this.listData.dirs += "," |
| | | } |
| | | this.listData.dirs += this.formInline.item.toString(); |
| | | } |
| | | this.listData.depcode = this.formInline.depcode; |
| | | this.listData.tab = this.formInline.keywords; |
| | | const data = await dataLib_selectTabs(this.listData); |
| | | if (data.code != 200) { |
| | | this.$message.error('数据库列表调用失败'); |
| | |
| | | }, |
| | | //查询文件数据 |
| | | async getQueryFileData() { |
| | | this.listData.dirs = ""; |
| | | if (this.formInline.category.length != 0) { |
| | | this.listData.dirs += this.formInline.category.toString(); |
| | | } |
| | | if (this.formInline.item.length != 0) { |
| | | if (this.listData.dirs.length != 0) { |
| | | this.listData.dirs += "," |
| | | } |
| | | this.listData.dirs += this.formInline.item.toString(); |
| | | } |
| | | this.listData.depcode = this.formInline.depcode; |
| | | this.listData.name = this.formInline.keywords; |
| | | const data = await dataLib_selectByPageForMeta(this.listData); |
| | | if (data.code != 200) { |
| | | this.$message.error('文件数据列表调用失败'); |
| | |
| | | res.isShow = false |
| | | return res; |
| | | }) |
| | | debugger |
| | | this.monthdata = val; |
| | | this.listData.count = data.count; |
| | | }, |
| | | //查询数据 |
| | | getAllTabesData() { |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = 10; |
| | | switch (this.formInline.dataType) { |
| | | |
| | | case "type2"://文件数据 |
| | | this.getQueryFileData(); |
| | | break; |
| | |
| | | this.$message.error('资料类别列表调用失败'); |
| | | } |
| | | this.categoryOptions = data.result; |
| | | |
| | | }, |
| | | //关键字查询 |
| | | setSearchKeyWords() { |
| | | |
| | | this.getAllTabesData(); |
| | | }, |
| | | //单位改变值触发 |
| | | depChange(data, node, nodeData) { |
| | | this.formInline.depcode = data.code; |
| | | this.formInline.depName = data.name; |
| | | this.getAllTabesData(); |
| | | }, |
| | | //资料类别下拉框值改变触发 |
| | | categorySelectChange(model, prop, options) { |
| | | |
| | | this.getAllTabesData(); |
| | | }, |
| | | // 项目名称下拉框值改变触发 |
| | | itemSelectChange(model, prop, options) { |
| | | |
| | | this.getAllTabesData(); |
| | | }, |
| | | //获取单位列表 |
| | | async getDepTreeData() { |
| | |
| | | this.depOption = this.treeData(data.result); |
| | | this.formInline.depcode = this.depOption[0].code |
| | | this.formInline.depName = this.depOption[0].name; |
| | | this.getAllTabesData(); |
| | | }, |
| | | //树列表生成 |
| | | treeData(source) { |
| | |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 |
| | | return father.pid == 0; // 返回一级菜单 |
| | | }); |
| | | }, |
| | | async signGetPublicKey() { |
| | | const res = await sign_getPublicKey(); |
| | | if (res && res.code == 200) { |
| | | window.encrypt = new JSEncrypt(); |
| | | encrypt.setPublicKey(res.result); |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | |
| | | /deep/.el-card { |
| | | margin-bottom: 10px !important; |
| | | } |
| | | /deep/.el-dialog__body { |
| | | padding: 10px 10px; |
| | | } |
| | | /deep/.el-form-item { |
| | | margin-bottom: 20px; |
| | | } |
| | | .show { |
| | | display: none; |
| | | } |
| | | .downloadBox { |
| | | width: 100%; |
| | | height: 73vh; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | display: flex; |
| | | .archdowntop { |
| | | width: 100%; |
| | | height: 69vh; |
| | | } |
| | | .archdownbottom { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | } |
| | | </style> |