¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="archive"> |
| | | <div class="top_header"> |
| | | <div class="top_left"> |
| | | <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread> |
| | | </div> |
| | | <div class="top_right"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="formInline" |
| | | class="demo-form-inline" |
| | | > |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="formInline.tab" |
| | | suffix-icon="el-icon-search" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | icon="el-icon-search" |
| | | @click="searchDataLibSelectTabs" |
| | | class="primaries" |
| | | >{{ |
| | | $t('common.iquery') |
| | | }}</el-button> |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | @click="restDataLibSelectTabs" |
| | | type="info" |
| | | >{{ |
| | | $t('common.reset') |
| | | }}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="getSpaceMapVisibale" |
| | | class="primaries" |
| | | >{{ |
| | | $t('synthesis.rangequery') |
| | | }}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div class="box_item"> |
| | | <div class="box_left">èµæç±»å«</div> |
| | | <div class="box_cont"> |
| | | <div |
| | | class="box_div" |
| | | v-for="(item, index) in showList" |
| | | :key="index" |
| | | > |
| | | <el-checkbox |
| | | v-if="isShowFirstCheck" |
| | | v-model="item.isCheckedFlag" |
| | | :checked="item.isCheckedFlag" |
| | | ></el-checkbox> |
| | | <div style="margin-left: 5px">{{ item.name }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="box_right"> |
| | | <div |
| | | class="box_div box_menu" |
| | | @click="moreEvent(1)" |
| | | > |
| | | {{ $t('synthesis.more') }} |
| | | </div> |
| | | <div |
| | | class="box_div box_menu" |
| | | @click="checkEvent(1)" |
| | | > |
| | | <i class="el-icon-plus"></i> {{ $t('synthesis.Multiplechoice') }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="box_item"> |
| | | <div class="box_left">项ç®åç§°</div> |
| | | <div class="box_cont"> |
| | | <div |
| | | class="box_div" |
| | | v-for="(item, index) in showList1" |
| | | :key="index" |
| | | > |
| | | <el-checkbox |
| | | v-if="isShowSecondCheck" |
| | | v-model="item.isCheckedFlag" |
| | | :checked="item.isCheckedFlag" |
| | | ></el-checkbox> |
| | | <div style="margin-left: 5px">{{ item.name }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="box_right"> |
| | | <div |
| | | class="box_div box_menu" |
| | | @click="moreEvent(2)" |
| | | > |
| | | {{ $t('synthesis.more') }} |
| | | </div> |
| | | <div |
| | | class="box_div box_menu" |
| | | @click="checkEvent(2)" |
| | | > |
| | | <i class="el-icon-plus"></i> {{ $t('synthesis.Multiplechoice') }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="bottom_content"> |
| | | <div class="bottom_left"> |
| | | <!-- <div class="box_div">å½åæç´¢å
³é®è¯:</div> --> |
| | | <div> |
| | | <ul> |
| | | <li>æç´¢ç±»å</li> |
| | | <li |
| | | @click="getMenuChange(1)" |
| | | :class="{ menuActive: isMenuActive }" |
| | | > |
| | | æ°æ®åº |
| | | </li> |
| | | <li |
| | | @click="getMenuChange(2)" |
| | | :class="{ menuActive: !isMenuActive }" |
| | | style="border-bottom: 1px solid white" |
| | | > |
| | | æä»¶æ°æ®æº |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <div |
| | | v-if="isMenuActive" |
| | | class="bottom_right" |
| | | > |
| | | <ul> |
| | | <li |
| | | v-for="(item, index) in dataType" |
| | | :key="index" |
| | | > |
| | | <div |
| | | class="box_div" |
| | | @click="getShowTable(item)" |
| | | > |
| | | {{ item.tabDesc }} |
| | | </div> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div |
| | | v-if="!isMenuActive" |
| | | class="bottom_right" |
| | | > |
| | | <el-form |
| | | :inline="true" |
| | | :model="queryForm" |
| | | class="demo-form-inline" |
| | | > |
| | | <el-form-item> |
| | | <el-cascader |
| | | v-model="queryForm.dirid" |
| | | :show-all-levels="false" |
| | | :options="companyOption" |
| | | @change="handleChange" |
| | | :props="{ |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'children', |
| | | checkStrictly: true, |
| | | emitPath: false, |
| | | }" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-cascader |
| | | v-model="queryForm.depid" |
| | | :show-all-levels="false" |
| | | :options="companyOption1" |
| | | @change="handleChange1" |
| | | :props="{ |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'children', |
| | | checkStrictly: true, |
| | | emitPath: false, |
| | | }" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | |
| | | <!-- <el-form-item> |
| | | |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | @click="deleteMetaInfo" |
| | | icon="el-icon-delete" |
| | | >{{ $t('common.delete') }}</el-button> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item> |
| | | <el-button |
| | | @click="setBatchDownload" |
| | | icon="el-icon-download" |
| | | type="success" |
| | | size="small" |
| | | >æ¹éä¸è½½</el-button> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | <div |
| | | class="boxCard" |
| | | v-for="(item,index) in tableData1" |
| | | > |
| | | <el-card class="box-card"> |
| | | <div |
| | | slot="header" |
| | | class="clearfix" |
| | | > |
| | | <span>{{item.name}}</span> |
| | | |
| | | <div style="float: right; padding: 3px 0"> |
| | | <i |
| | | @click="showDetail1(item)" |
| | | class="el-icon-tickets" |
| | | ></i> |
| | | <i |
| | | style="margin-left:10px" |
| | | @click="setFileDownload(item)" |
| | | class="el-icon-download" |
| | | ></i> |
| | | </div> |
| | | </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('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> |
| | | </el-card> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="panerPage"> |
| | | <div class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="listData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <el-dialog |
| | | :title="dialogtitle" |
| | | :visible.sync="dialogVisible" |
| | | width="90%" |
| | | top="5vh" |
| | | :before-close="handleClose" |
| | | > |
| | | <!-- æ¡ä»¶--> |
| | | <el-dialog |
| | | width="37%" |
| | | :visible.sync="conditionVisible" |
| | | append-to-body |
| | | title="æ¥è¯¢æ¡ä»¶" |
| | | :before-close="handleconditionClose" |
| | | > |
| | | <el-form |
| | | :inline="true" |
| | | :model="formSql" |
| | | class="demo-form-inline" |
| | | > |
| | | <el-form-item> |
| | | <el-select |
| | | @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 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 v-model="formSql.value"></el-input> |
| | | </el-form-item> |
| | | <el-form-item v-show="fromSqlflag"> |
| | | <el-date-picker |
| | | 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 @click="startFiledAndcondition">å æ¶</el-button> |
| | | <el-button |
| | | class="primaries" |
| | | @click="appendQueryFilter" |
| | | >ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- éä»¶--> |
| | | <el-dialog |
| | | width="30%" |
| | | :visible.sync="innerVisible" |
| | | append-to-body |
| | | > |
| | | <div class="contentBox"> |
| | | <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="30%" |
| | | :visible.sync="outerVisible" |
| | | append-to-body |
| | | > |
| | | <el-form |
| | | :model="fromfile" |
| | | class="demo-form-inline" |
| | | > |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="fromfile.file" |
| | | style="width: 300px; margin-right: 20px" |
| | | :placeholder="$t('common.choose')" |
| | | disabled |
| | | ></el-input> |
| | | <input |
| | | name="file1" |
| | | type="file" |
| | | id="insertFile" |
| | | multiple="multiple" |
| | | style="display: none" |
| | | @change="insertFile( )" |
| | | /> |
| | | <el-link |
| | | @click="getInsertFile( )" |
| | | :underline="false" |
| | | ><i class="el-icon-folder-opened"></i></el-link> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-row> |
| | | <el-col :span="3"> |
| | | <el-link |
| | | class="elLink" |
| | | :underline="false" |
| | | @click="setAttachInsert" |
| | | >{{$t('common.append')}}</i></el-link> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <el-link |
| | | class="elLink" |
| | | :underline="false" |
| | | @click="setAttachDel" |
| | | >{{$t('common.delete')}}</i></el-link> |
| | | </el-col> |
| | | <!-- <el-col :span="3"> <el-link class="elLink" :underline="false" >{{$t('common.reset')}}</i></el-link></el-col> --> |
| | | </el-row> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-table |
| | | :data="tableAttach" |
| | | ref="filterTable" |
| | | height="99%" |
| | | border |
| | | style="width: 100%" |
| | | @selection-change="handleAttatchChange" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | /> |
| | | <el-table-column |
| | | width="60" |
| | | type="index" |
| | | :label="$t('common.index')" |
| | | /> |
| | | <el-table-column |
| | | prop="date" |
| | | :label="$t('common.fileNme')" |
| | | /> |
| | | |
| | | <el-table-column |
| | | prop="name" |
| | | :label="$t('common.filePath')" |
| | | /> |
| | | |
| | | </el-table> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col |
| | | :span="12" |
| | | :offset="8" |
| | | > |
| | | <el-button |
| | | class="primary" |
| | | @click="outerVisible = false" |
| | | >确认</el-button> |
| | | <el-button |
| | | type="info" |
| | | @click="outerVisible = false" |
| | | >åæ¶</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | <div style="max-height: 580px"> |
| | | <el-form |
| | | v-if="isMenuActive" |
| | | ref="ruleForm" |
| | | :model="ruleForm" |
| | | :inline="true" |
| | | > |
| | | <el-form-item> |
| | | <el-input |
| | | type="textarea" |
| | | v-model="formInline.fileName" |
| | | class="nm-skin-pretty" |
| | | show-word-limit |
| | | :rows="2" |
| | | resize='none' |
| | | disabled |
| | | style="width: 650px;" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="conditionVisible = true" |
| | | type="info" |
| | | icon="el-icon-plus" |
| | | >{{$t('common.append')}}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="submitForm()" |
| | | type="info" |
| | | icon="el-icon-search" |
| | | >{{$t('common.iquery')}}</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="info" |
| | | @click="resetForm()" |
| | | icon="el-icon-search" |
| | | >{{$t('common.reset')}}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider class="eldivider" /> |
| | | <div style="width:100%;height:400px;"> |
| | | <el-table |
| | | ref="filterTable" |
| | | :data="tableData" |
| | | height="100%" |
| | | border |
| | | style="width: 100%" |
| | | @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')" |
| | | :index="indexAdd" |
| | | /> |
| | | <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-column |
| | | v-if="isMenuActive" |
| | | min-width="80" |
| | | align="center" |
| | | :label="$t('common.operate')" |
| | | > |
| | | <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> |
| | | |
| | | <div class="panerPage"> |
| | | <div class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange1" |
| | | @current-change="handleCurrentChange1" |
| | | :current-page="listTypeData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="listTypeData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count1" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <div |
| | | class="downloadBox" |
| | | 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-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> |
| | | <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> |
| | | </div> |
| | | <el-dialog |
| | | :title="$t('common.details')" |
| | | :visible.sync="showinfoBox1" |
| | | 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') }}ï¼{{ setInfoBoxSize(itemdetail1.sizes) }}</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="æ¹éä¸è½½" |
| | | :visible.sync="batchDownloadVisible" |
| | | width="90%" |
| | | top="5vh" |
| | | :before-close="batchDownloadClose" |
| | | > |
| | | <div |
| | | style="float:right;margin-right:10px" |
| | | @click="downBatchFormData()" |
| | | ><i |
| | | style="color:#FFF" |
| | | class="el-icon-download" |
| | | ></i></div> |
| | | <div style="height:580px"> |
| | | |
| | | <el-table |
| | | :data="tableData2" |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange1" |
| | | height="500px" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | /> |
| | | <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="stateFormatSize" |
| | | /> |
| | | <el-table-column |
| | | prop="depName" |
| | | :label="$t('dataManage.vmobj.depName')" |
| | | /> |
| | | <el-table-column |
| | | prop="dirName" |
| | | :label="$t('dataManage.vmobj.dirName')" |
| | | /> |
| | | |
| | | <el-table-column :label="$t('dataManage.dataUpObj.tableName')"> |
| | | <template slot-scope="scope"> |
| | | <a @click="showDetail2(scope.row)">{{ |
| | | scope.row.tab |
| | | }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="gather" |
| | | :label="$t('dataManage.vmobj.gather')" |
| | | :formatter="formatData" |
| | | /> |
| | | <el-table-column |
| | | prop="describe" |
| | | :label="$t('dataManage.vmobj.describe')" |
| | | /> |
| | | <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')" |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="panerPage"> |
| | | <div class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="batchSizeChange" |
| | | @current-change="batchCurrentChange" |
| | | :current-page="batchPage.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="batchPage.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="batchPage.count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :title=" $t('synthesis.rangequery')" |
| | | :visible.sync="dialogMapVisible" |
| | | width="90%" |
| | | > |
| | | <div style="height:700px"> |
| | | <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 { flatten } from '@turf/turf'; |
| | | import { conditions } from './Archive.js' |
| | | import { |
| | | dataLib_selectTabs, |
| | | dataLib_selectFields, |
| | | dataLib_selectDomains, |
| | | dataLib_selectByPage, |
| | | dataLib_selectFiles, |
| | | dataLib_deletes, |
| | | dataLib_selectByPageForMeta, |
| | | dataLib_selectDownloadFile, |
| | | dataLib_downloadReq, |
| | | dataLib_selectTabFields, |
| | | sign_getPublicKey, |
| | | dataLib_selectDbData, |
| | | selectdirTab, |
| | | selectdepTab, |
| | | deleteMeta, |
| | | } from '../../api/api'; |
| | | import $ from 'jquery' |
| | | import { getToken } from '@/utils/auth'; |
| | | import { data_type, project_name } from '../../components/js/archive.js'; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import MapSdk from '../../components/mapsdk.vue' |
| | | export default { |
| | | components: { |
| | | 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 { |
| | | conditionVisible: false, |
| | | formSql: { |
| | | field: '', |
| | | condition: '', |
| | | value: '', |
| | | type: '', |
| | | date: '', |
| | | |
| | | }, |
| | | fromSqlflag: false, |
| | | filedsOption: [], |
| | | condOption: [], |
| | | queryForm: { |
| | | dirid: null, |
| | | depid: null, |
| | | }, |
| | | formInline: { tab: '', fileName: '' }, |
| | | codeForm: { |
| | | password: '', |
| | | repassword: '', |
| | | }, |
| | | fromfile: { file: '', }, |
| | | listType: [], // 1mi |
| | | listProject: [], |
| | | companyOption: [], |
| | | companyOption1: [], |
| | | showinfoBox1: false, |
| | | dialogMapVisible: false, |
| | | showMapVisible: false, |
| | | showCodeBox: false, |
| | | showFirstAll: false, |
| | | isShowFirstCheck: false, |
| | | showSecondAll: false, |
| | | isShowSecondCheck: false, |
| | | isMenuActive: true, |
| | | dialogVisible: false, |
| | | innerVisible: false, |
| | | outerVisible: false, |
| | | batchDownloadVisible: false, |
| | | dataType: [], |
| | | filedsLayer: [], |
| | | attributeData: [], |
| | | tableData: [], |
| | | tableData1: [], |
| | | tableData2: [], |
| | | multipleSelection: [], |
| | | multipleSelection1: [], |
| | | attacgSelection: [], |
| | | tableAttach: [], |
| | | itemdetail: [], |
| | | itemdetail1: {}, |
| | | listTypeData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | id: null, |
| | | name: null, |
| | | filter: null, |
| | | wkt: null, |
| | | }, |
| | | listData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | depid: null, |
| | | dirid: null, |
| | | name: null |
| | | }, |
| | | count: 0, |
| | | count1: 0, |
| | | dialogtitle: null, |
| | | ruleForm: { |
| | | textarea: '', |
| | | }, |
| | | rules: { |
| | | password: [{ required: true, message: '请è¾å
¥å¯ç ', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }], |
| | | repassword: [ |
| | | { required: true, message: '请è¾å
¥ç¡®è®¤å¯ç ', trigger: 'blur' }, |
| | | { validator: repasswordValidator, trigger: 'blur' }, |
| | | ], |
| | | }, |
| | | upAttach: { |
| | | tabName: null, |
| | | eventid: null, |
| | | }, |
| | | batchPage: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | count: 0 |
| | | } |
| | | }; |
| | | }, |
| | | computed: { |
| | | |
| | | newList() { |
| | | this.listType.forEach((item) => { |
| | | this.$set(item, 'isCheckedFlag', false); |
| | | }); |
| | | return this.listType; |
| | | }, |
| | | showList() { |
| | | this.listType = data_type; |
| | | if (this.showFirstAll == false) { |
| | | var showList = []; |
| | | if (this.newList.length > 8) { |
| | | for (var i = 0; i < 10; i++) { |
| | | showList.push(this.newList[i]); //å°æ°ç»çå7æ¡åæ¾å°showListæ°ç»ä¸ |
| | | } |
| | | } else { |
| | | showList = this.newList; //个æ°è¶³å¤æ¾ç¤ºï¼ä¸éè¦åæªå |
| | | } |
| | | return showList; |
| | | } else { |
| | | return this.newList; |
| | | } |
| | | }, |
| | | newList1() { |
| | | this.listProject.forEach((item) => { |
| | | this.$set(item, 'isCheckedFlag', false); |
| | | }); |
| | | return this.listProject; |
| | | }, |
| | | showList1() { |
| | | this.listProject = project_name; |
| | | if (this.showSecondAll == false) { |
| | | var showList1 = []; |
| | | if (this.newList1.length > 8) { |
| | | for (var i = 0; i < 14; i++) { |
| | | showList1.push(this.newList1[i]); //å°æ°ç»çå7æ¡åæ¾å°showListæ°ç»ä¸ |
| | | } |
| | | } else { |
| | | showList1 = this.newList1; //个æ°è¶³å¤æ¾ç¤ºï¼ä¸éè¦åæªå |
| | | } |
| | | return showList1; |
| | | } else { |
| | | return this.newList1; |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | |
| | | getSpaceMapVisibale() { |
| | | 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; |
| | | |
| | | }, |
| | | handleMapClose() { |
| | | this.$confirm('确认å
³éï¼') |
| | | .then((_) => { |
| | | this.closeMapDown(); |
| | | }) |
| | | .catch((_) => { }); |
| | | }, |
| | | closeMapDown() { |
| | | this.dialogMapVisible = false; |
| | | this.showMapVisible = false; |
| | | this.$store.state.mapMenuBoolean = false; |
| | | this.$store.state.mapMenuBoxFlag = null; |
| | | this.$store.state.download = false; |
| | | this.$store.state.mapPopBoolean = false; |
| | | this.$store.state.mapPopBoxFlag = null; |
| | | }, |
| | | moreEvent(res) { |
| | | switch (res) { |
| | | case 1: |
| | | this.showFirstAll = !this.showFirstAll; |
| | | break; |
| | | case 2: |
| | | this.showSecondAll = !this.showSecondAll; |
| | | break; |
| | | } |
| | | }, |
| | | checkEvent(res) { |
| | | switch (res) { |
| | | case 1: |
| | | this.isShowFirstCheck = !this.isShowFirstCheck; |
| | | if (this.isShowFirstCheck == false) { |
| | | for (var i in this.showList) { |
| | | this.showList[i].isCheckedFlag = false |
| | | } |
| | | } |
| | | |
| | | break; |
| | | case 2: |
| | | this.isShowSecondCheck = !this.isShowSecondCheck; |
| | | if (this.isShowSecondCheck == false) { |
| | | for (var i in this.showList1) { |
| | | this.showList1[i].isCheckedFlag = false |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | }, |
| | | getMenuChange(res) { |
| | | |
| | | this.formInline.tab = "" |
| | | switch (res) { |
| | | case 1: |
| | | this.listData = { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | |
| | | } |
| | | this.getDataLibSelectTabs(); |
| | | this.isMenuActive = true; |
| | | |
| | | break; |
| | | case 2: |
| | | this.listData = { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | depid: null, |
| | | dirid: null, |
| | | name: null |
| | | } |
| | | this.getQueryDirTree(); |
| | | |
| | | this.isMenuActive = false; |
| | | break; |
| | | } |
| | | }, |
| | | //åä½å表è·å |
| | | async getQueryDirTree() { |
| | | const res = await selectdirTab(); |
| | | if (res.code != 200) { |
| | | this.$message.error('åä½å表è·å失败'); |
| | | return; |
| | | } |
| | | this.queryForm.dirid = 1; |
| | | this.companyOption = this.treeData(res.result); |
| | | this.getQueryDepTree(); |
| | | }, |
| | | async getQueryDepTree() { |
| | | const res = await selectdepTab(); |
| | | if (res.code != 200) { |
| | | this.$message.error('åä½å表è·å失败'); |
| | | return; |
| | | } |
| | | this.queryForm.depid = 1; |
| | | this.companyOption1 = this.treeData(res.result); |
| | | this.getMetaData(); |
| | | }, |
| | | |
| | | // æ¥è¯¢ |
| | | queryInfo() { |
| | | this.listData.name = this.formInline.tab; |
| | | this.getMetaData(); |
| | | }, |
| | | // éç½®æ¥è¯¢ |
| | | resetInfo(formName) { |
| | | this.queryForm.name = ''; |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.listData.name = null; |
| | | this.getMetaData(); |
| | | }, |
| | | deleteMetaInfo() { |
| | | this.$confirm('ç¡®å®æ¯å¦å 餿éå
容?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | var std = []; |
| | | for (var i in this.multipleSelection1) { |
| | | std.push(this.multipleSelection1[i].id); |
| | | } |
| | | deleteMeta({ ids: std.toString() }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å!', |
| | | }); |
| | | this.multipleSelection1 = []; |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.getMetaData(); |
| | | } else { |
| | | this.$message.error('å é¤å¤±è´¥'); |
| | | this.multipleSelection1 = []; |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message('已忶å é¤'); |
| | | }); |
| | | }, |
| | | getBatchMetaData() { |
| | | this.batchPage.dirid = '1' |
| | | this.batchPage.depid = '1'; |
| | | dataLib_selectByPageForMeta(this.batchPage).then((res) => { |
| | | this.batchPage.count = res.count; |
| | | this.tableData2 = res.result; |
| | | }); |
| | | |
| | | }, |
| | | batchSizeChange(val) { |
| | | this.batchPage.pageSize = val; |
| | | this.batchPage.pageIndex = 1; |
| | | this.getBatchMetaData(); |
| | | }, |
| | | batchCurrentChange(val) { |
| | | this.batchPage.pageIndex = val; |
| | | this.getBatchMetaData(); |
| | | }, |
| | | downBatchFormData() { |
| | | this.batchDownloadClose(); |
| | | this.downFormData(); |
| | | }, |
| | | batchDownloadClose() { |
| | | this.batchDownloadVisible = false; |
| | | this.batchPage = { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | count: 0 |
| | | } |
| | | }, |
| | | setBatchDownload() { |
| | | this.getBatchMetaData(); |
| | | this.multipleSelection1 = []; |
| | | this.batchDownloadVisible = true; |
| | | }, |
| | | setFileDownload(res) { |
| | | this.multipleSelection1 = []; |
| | | this.multipleSelection1.push(res); |
| | | this.downFormData(); |
| | | }, |
| | | downFormData() { |
| | | if (this.multipleSelection1.length == 0) { |
| | | |
| | | this.$message({ |
| | | message: '请å
éæ©è¦ä¸è½½çæä»¶', |
| | | type: 'warning' |
| | | }); |
| | | return; |
| | | } |
| | | this.showCodeBox = true; |
| | | }, |
| | | async download() { |
| | | 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.showCodeBox = false; |
| | | this.codeForm.password = ''; |
| | | this.codeForm.repassword = ''; |
| | | }, |
| | | getMetaData() { |
| | | this.listData.dirid = this.queryForm.dirid |
| | | this.listData.depid = this.queryForm.depid; |
| | | dataLib_selectByPageForMeta(this.listData).then((res) => { |
| | | |
| | | this.tableData1 = res.result; |
| | | this.count = res.count; |
| | | }); |
| | | }, |
| | | |
| | | handleChange(value) { |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.queryForm.dirid = value; |
| | | this.getMetaData(); |
| | | }, |
| | | handleChange1(value) { |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.queryForm.depid = value; |
| | | this.getMetaData(); |
| | | }, |
| | | //æ åè¡¨çæ |
| | | treeData(source) { |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // å¯¹æºæ°æ®æ·±åº¦å
é |
| | | return cloneData.filter((father) => { |
| | | // å¾ªç¯ææé¡¹ |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对æ¯IDï¼åå«ä¸ä¸çº§èåï¼å¹¶è¿åæ°æ® |
| | | branchArr.length > 0 ? (father.children = branchArr) : ''; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ |
| | | return father.pid == 0; // è¿åä¸çº§èå |
| | | }); |
| | | }, |
| | | searchDataLibSelectTabs() { |
| | | if (this.isMenuActive == true) { |
| | | this.getDataLibSelectTabs() |
| | | } else { |
| | | this.queryInfo(); |
| | | } |
| | | }, |
| | | restDataLibSelectTabs() { |
| | | this.formInline.tab = "" |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = 10 |
| | | this.searchDataLibSelectTabs(); |
| | | |
| | | }, |
| | | async getDataLibSelectTabs() { |
| | | this.listData.tab = this.formInline.tab |
| | | const data = await dataLib_selectTabs(this.listData); |
| | | if (data.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | return; |
| | | } |
| | | this.count = data.count; |
| | | this.dataType = data.result; |
| | | }, |
| | | showDetail1(row) { |
| | | |
| | | this.showinfoBox1 = true; |
| | | |
| | | this.itemdetail1 = row; |
| | | }, |
| | | // å
³éæ¥ç |
| | | closeDetial() { |
| | | this.showinfoBox1 = false; |
| | | this.itemdetail = {}; |
| | | }, |
| | | // å
³é®åæ¥è¯¢ |
| | | submitForm() { |
| | | this.listTypeData.pageIndex = 1; |
| | | this.listTypeData.pageSize = 10; |
| | | //è·åtableä¿¡æ¯ |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | indexAdd(index) { |
| | | const page = this.listTypeData.pageIndex // å½å页ç |
| | | const pagesize = this.listTypeData.pageSize // æ¯é¡µæ¡æ° |
| | | return index + 1 + (page - 1) * pagesize |
| | | }, |
| | | |
| | | // éç½®æ¥è¯¢ |
| | | resetForm(formName) { |
| | | this.formInline.fileName = "" |
| | | //è·åtableä¿¡æ¯ |
| | | this.listTypeData.pageIndex = 1; |
| | | this.listTypeData.pageSize = 10; |
| | | this.getCollapseTable(this.filedsLayer); |
| | | |
| | | }, |
| | | async showDetail2(res) { |
| | | var val = res.tab.split("."); |
| | | const data = await dataLib_selectTabFields({ |
| | | ns: val[0], |
| | | tab: val[1] |
| | | }) |
| | | if (data.code != 200) { |
| | | this.$message.error('åæ®µå表è°ç¨å¤±è´¥'); |
| | | return |
| | | } |
| | | |
| | | this.listTypeData.pageIndex = 1; |
| | | this.listTypeData.pageSize = 10; |
| | | this.attributeData = data.result; |
| | | this.dialogtitle = res.name + '(' + res.tab + ')'; |
| | | this.listTypeData.id = res.id; |
| | | const data1 = await dataLib_selectDbData(this.listTypeData) |
| | | var option = data1.result; |
| | | for (var i in option) { |
| | | option[i].dirid = option[i].dirName; |
| | | option[i].depid = option[i].depName; |
| | | option[i].createuser = option[i].createName; |
| | | 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) |
| | | } |
| | | if (option[i].updatetime != null) { |
| | | option[i].updatetime = this.setInfoBoxTime(option[i].updatetime) |
| | | } |
| | | } |
| | | this.count1 = data1.count; |
| | | |
| | | this.tableData = data1.result; |
| | | this.dialogVisible = true; |
| | | |
| | | }, |
| | | async getShowTable(res) { |
| | | this.listTypeData.name = res.entity; |
| | | this.listTypeData.pageIndex = 1; |
| | | this.listTypeData.pageSize = 10; |
| | | this.dialogtitle = res.tabDesc; |
| | | this.upAttach.tabName = res.ns + "." + res.tab; |
| | | this.filedsLayer = this.getCollapseDomFiled(); |
| | | |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | handleClose() { |
| | | this.dialogVisible = false; |
| | | this.ruleForm = { |
| | | name: null, |
| | | }; |
| | | }, |
| | | 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.innerVisible = true; |
| | | }, |
| | | getAttachTable(index, row) { |
| | | if (row.eventid != null) { |
| | | this.upAttach.eventid = row.eventid; |
| | | } else { |
| | | this.upAttach.eventid = ""; |
| | | } |
| | | this.outerVisible = true; |
| | | this.getAttacthFlieList(); |
| | | }, |
| | | async setAttachDel() { |
| | | var std = []; |
| | | for (var i in this.attacgSelection) { |
| | | std.push(this.attacgSelection[i].id); |
| | | } |
| | | const res = await dataLib_deletes({ ids: std.toString() }); |
| | | if (res.code != 200) { |
| | | this.$message.error('æä»¶å é¤å¤±è´¥'); |
| | | } |
| | | this.getAttacthFlieList(); |
| | | }, |
| | | setAttachInsert() { |
| | | var token = getToken(); |
| | | var fs = document.getElementById("insertFile"); |
| | | if (fs.files.length == 0) { |
| | | |
| | | this.$message({ |
| | | message: 'è¯·éæ©è¦ä¸ä¼ çæä»¶ï¼', |
| | | type: 'warning' |
| | | }); |
| | | return; |
| | | } |
| | | const formData = new FormData() |
| | | for (var i = 0, c = fs.files.length; i < c; i++) { |
| | | |
| | | formData.append('file', fs.files[i]); // fs.files[i].name,file |
| | | } |
| | | |
| | | $.ajax(BASE_URL + "/dataQuery/uploadFiles?token=" + token + "&tabName=" + this.upAttach.tabName + "&eventid=" + this.upAttach.eventid, { |
| | | type: "post", |
| | | data: formData, |
| | | async: true, |
| | | cache: false, |
| | | processData: false, |
| | | contentType: false, |
| | | success: (rs) => { |
| | | this.$message({ |
| | | message: 'éä»¶æ·»å æå', |
| | | type: 'success' |
| | | }); |
| | | document.getElementById("insertFile").value = ""; |
| | | this.fromfile = { |
| | | file: '', |
| | | } |
| | | this.getAttacthFlieList(); |
| | | }, |
| | | error: (e) => { |
| | | document.getElementById("insertFile").value = ""; |
| | | this.fromfile = { |
| | | file: '', |
| | | } |
| | | this.$message.error('éä»¶æ·»å 失败'); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | |
| | | async getAttacthFlieList() { |
| | | var obj = this.upAttach; |
| | | const res = await dataLib_selectFiles(obj); |
| | | if (res.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | return |
| | | } |
| | | this.tableAttach = res.result; |
| | | }, |
| | | //éä»¶=>æä»¶éæ© |
| | | getInsertFile() { |
| | | $('#insertFile').click(); |
| | | }, |
| | | insertFile() { |
| | | var val = document.getElementById('insertFile').files; |
| | | if (!val || !val.length) return; |
| | | |
| | | this.fromfile.file = val[0].name; |
| | | }, |
| | | handleSelectionChange1(val) { |
| | | this.multipleSelection1 = val; |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | handleAttatchChange(val) { |
| | | this.attacgSelection = val; |
| | | }, |
| | | async getCollapseTable(res) { |
| | | res.then((val) => { |
| | | this.attributeData = val; |
| | | }); |
| | | if (this.formInline.fileName != "") { |
| | | this.listTypeData.filter = this.formInline.fileName; |
| | | } else { |
| | | this.listTypeData.filter = null; |
| | | } |
| | | |
| | | const data = await dataLib_selectByPage(this.listTypeData); |
| | | 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.count1 = data.count; |
| | | |
| | | this.tableData = data.result; |
| | | |
| | | this.dialogVisible = true; |
| | | }, |
| | | //å页ç¹å»äºä»¶ |
| | | handleSizeChange1(val) { |
| | | this.listTypeData.pageSize = val; |
| | | this.listTypeData.pageIndex = 1; |
| | | //è·åtableä¿¡æ¯ |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | handleCurrentChange1(val) { |
| | | this.listTypeData.pageIndex = val; |
| | | //è·åtableä¿¡æ¯ |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | async getCollapseDomFiled() { |
| | | const fileds = await dataLib_selectFields({ |
| | | name: this.listTypeData.name, |
| | | }); |
| | | if (fileds.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | return; |
| | | } |
| | | |
| | | const domains = await dataLib_selectDomains({ |
| | | name: this.listTypeData.name, |
| | | }); |
| | | |
| | | if (domains.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | return; |
| | | } |
| | | var data1 = fileds.result; |
| | | var data2 = domains.result; |
| | | this.formInline.fileName = "" |
| | | var std = []; |
| | | for (var i in data1) { |
| | | |
| | | if (data1[i].type != 'geomtry' && 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; |
| | | }, |
| | | |
| | | 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 |
| | | }, |
| | | 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(); |
| | | }, |
| | | handleconditionClose() { |
| | | this.$confirm('确认å
³éï¼') |
| | | .then(_ => { |
| | | this.startFiledAndcondition(); |
| | | }) |
| | | .catch(_ => { }); |
| | | }, |
| | | |
| | | |
| | | |
| | | //å¼ååæ®µå¹é
|
| | | getDomainNaFild(res, result) { |
| | | for (var i in result) { |
| | | if (result[i].domName == res) { |
| | | return result[i].codeDesc; |
| | | } |
| | | } |
| | | return null; |
| | | }, |
| | | handleSizeChange(res) { |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = res; |
| | | if (this.isMenuActive == false) { this.getMetaData() } else { this.getDataLibSelectTabs() } |
| | | }, |
| | | handleCurrentChange(res) { |
| | | this.listData.pageIndex = res; |
| | | if (this.isMenuActive == false) { this.getMetaData() } else { this.getDataLibSelectTabs() } |
| | | }, |
| | | async signGetPublicKey() { |
| | | const res = await sign_getPublicKey(); |
| | | if (res && res.code == 200) { |
| | | window.encrypt = new JSEncrypt(); |
| | | encrypt.setPublicKey(res.result); |
| | | } |
| | | }, |
| | | //åä½è½¬æ¢ |
| | | stateFormatSize(row, column) { |
| | | let data = row[column.property]; |
| | | if (data == null) { |
| | | return data; |
| | | } |
| | | return this.stateFormatSizes(data); |
| | | }, |
| | | stateFormatSizes(res) { |
| | | if (res >= 1024) { |
| | | const val = parseFloat(res / 1024).toFixed(3); |
| | | return val + ' GB'; |
| | | } else { |
| | | return res + ' MB'; |
| | | } |
| | | }, |
| | | setInfoBoxTime(res) { |
| | | if (res == null) { |
| | | return res; |
| | | } |
| | | return this.format(res); |
| | | }, |
| | | setInfoBoxSize(res) { |
| | | if (res >= 1024) { |
| | | return parseFloat(res / 1024).toFixed(3) + ' GB'; |
| | | } else { |
| | | return res + ' MB'; |
| | | } |
| | | }, |
| | | //æ ¼å¼åå表 |
| | | formatData(row, column) { |
| | | let data = row[column.property]; |
| | | if (data == null) { |
| | | return data; |
| | | } |
| | | return this.format(data); |
| | | }, |
| | | //æ ¼å¼åæ¶é´ |
| | | format(shijianchuo) { |
| | | //shijianchuoæ¯æ´æ°ï¼å¦åè¦parseIntè½¬æ¢ |
| | | var time = new Date(shijianchuo); |
| | | var y = time.getFullYear(); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | var h = time.getHours(); |
| | | var mm = time.getMinutes(); |
| | | var s = time.getSeconds(); |
| | | return ( |
| | | y + |
| | | '-' + |
| | | this.add0(m) + |
| | | '-' + |
| | | this.add0(d) + |
| | | ' ' + |
| | | h + |
| | | ':' + |
| | | mm + |
| | | ':' + |
| | | s |
| | | ); |
| | | }, |
| | | //æ ¼å¼åæ¶é´ |
| | | add0(m) { |
| | | return m < 10 ? '0' + m : m; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.getDataLibSelectTabs(); |
| | | this.signGetPublicKey(); |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .archive { |
| | | width: 100%; |
| | | height: 100%; |
| | | margin: 0; |
| | | overflow-y: auto; |
| | | background: #353539; |
| | | .top_header { |
| | | width: calc(100% - 60px); |
| | | height: 70px; |
| | | display: flex; |
| | | padding: 0 30px; |
| | | justify-content: space-between; |
| | | border-bottom: 1px solid white; |
| | | .top_left { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | label { |
| | | font-size: 21px; |
| | | font-family: Source Han Sans SC; |
| | | font-weight: 400; |
| | | color: #009cff; |
| | | line-height: 70px; |
| | | } |
| | | span { |
| | | color: gray; |
| | | margin: 0 5px; |
| | | } |
| | | /deep/.el-form--inline .el-form-item__content { |
| | | line-height: 70px; |
| | | } |
| | | /deep/.el-form--inline .el-form-item__label { |
| | | line-height: 70px; |
| | | } |
| | | } |
| | | .box_item { |
| | | width: calc(100% - 60px); |
| | | border-bottom: 1px solid white; |
| | | height: auto; |
| | | padding: 10px 30px; |
| | | |
| | | align-items: center; |
| | | display: flex; |
| | | float: left; |
| | | .box_left { |
| | | color: white; |
| | | height: 100%; |
| | | line-height: 100%; |
| | | width: 100px; |
| | | text-align: center; |
| | | color: white; |
| | | font-size: 14px; |
| | | font-weight: 400; |
| | | } |
| | | .box_cont { |
| | | color: white; |
| | | height: 100%; |
| | | width: 80%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | /* 设置å¤è¡å¯¹é½ */ |
| | | align-content: flex-start; |
| | | color: white; |
| | | font-size: 14px; |
| | | font-weight: 400; |
| | | } |
| | | .box_right { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin-left: 10px; |
| | | color: white; |
| | | font-size: 14px; |
| | | align-self: flex-start; |
| | | font-weight: 400; |
| | | .box_menu { |
| | | border: 1px solid white; |
| | | } |
| | | .box_menu:hover { |
| | | border: 1px solid #009cff; |
| | | color: #009cff; |
| | | } |
| | | } |
| | | } |
| | | .bottom_content { |
| | | width: calc(100% - 60px); |
| | | |
| | | height: auto; |
| | | padding: 10px 30px; |
| | | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .bottom_left { |
| | | width: 270px; |
| | | font-size: 14px; |
| | | font-weight: 400; |
| | | align-self: flex-start; |
| | | color: white; |
| | | ul { |
| | | margin-left: 10px; |
| | | } |
| | | li { |
| | | height: 42px; |
| | | border-top: 1px solid white; |
| | | border-left: 1px solid white; |
| | | border-right: 1px solid white; |
| | | font-size: 14px; |
| | | line-height: 42px; |
| | | padding: 5px 15px; |
| | | } |
| | | .menuActive { |
| | | color: #409eff; |
| | | } |
| | | } |
| | | .bottom_right { |
| | | width: calc(100% - 320px); |
| | | padding: 0px 20px; |
| | | height: auto; |
| | | color: white; |
| | | .boxCard { |
| | | margin: 1%; |
| | | /deep/.el-card { |
| | | background: #303030 !important; |
| | | color: #fff !important; |
| | | } |
| | | .cardItem { |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | li { |
| | | border-bottom: 1px solid white; |
| | | padding: 10px 0px; |
| | | } |
| | | li:hover { |
| | | color: #409eff; |
| | | } |
| | | } |
| | | } |
| | | .panerPage { |
| | | width: 100%; |
| | | padding: 5px 0px; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | .box_div { |
| | | padding: 5px 15px; |
| | | margin-left: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | display: flex; |
| | | } |
| | | .primaries { |
| | | background: linear-gradient(180deg, #002992, #080472); |
| | | border: 1px solid #000000; |
| | | box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.21); |
| | | color: white; |
| | | } |
| | | .elLink { |
| | | color: white; |
| | | } |
| | | .infoBox { |
| | | width: 500px; |
| | | position: absolute; |
| | | z-index: 100; |
| | | top: 25%; |
| | | right: 25%; |
| | | background: #303030; |
| | | color: #fff; |
| | | .el-card { |
| | | background-color: transparent; |
| | | color: #fff; |
| | | span { |
| | | color: #fff; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | .contentBox { |
| | | margin: 0 aotu 10px; |
| | | height: 500px; |
| | | overflow: auto; |
| | | p { |
| | | // background-color: #bfa; |
| | | // margin-bottom: 10px; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .downloadBox { |
| | | position: absolute; |
| | | top: 20%; |
| | | left: 40%; |
| | | padding: 20px; |
| | | background: #303030; |
| | | width: 30%; |
| | | border: 1px solid gray; |
| | | border-radius: 10px; |
| | | color: white; |
| | | } |
| | | .pagination_box { |
| | | /deep/.el-input__inner { |
| | | background-color: transparent !important; |
| | | border: 1px solid; |
| | | color: white; |
| | | } |
| | | /deep/.el-pagination__total { |
| | | color: white; |
| | | } |
| | | /deep/.el-pagination__jump { |
| | | color: white; |
| | | } |
| | | /deep/.el-pager li.active { |
| | | color: #409eff; |
| | | } |
| | | /deep/.el-pager li { |
| | | color: white; |
| | | background: transparent; |
| | | } |
| | | /deep/.el-pager li { |
| | | color: white; |
| | | } |
| | | /deep/.btn-prev { |
| | | background: transparent; |
| | | } |
| | | /deep/.btn-next { |
| | | background: transparent; |
| | | } |
| | | /deep/.btn-next i { |
| | | color: white; |
| | | } |
| | | /deep/.btn-prev i { |
| | | color: white; |
| | | } |
| | | } |
| | | /deep/ .el-select .el-input__inner { |
| | | border-color: #fff !important; |
| | | } |
| | | } |
| | | |
| | | .elLink { |
| | | color: white !important; |
| | | } |
| | | .el-icon-folder-opened { |
| | | color: white; |
| | | } |
| | | |
| | | .contentBox { |
| | | height: 60vh; |
| | | overflow: auto; |
| | | color: white; |
| | | } |
| | | /deep/ .el-dialog { |
| | | background: #303030; |
| | | z-index: 99; |
| | | } |
| | | .downloadBox { |
| | | z-index: 999; |
| | | } |
| | | /deep/.el-range-editor.is-active, |
| | | .el-range-editor.is-active:hover, |
| | | .el-select .el-input.is-focus .el-input__inner { |
| | | border: 1px solid; |
| | | } |
| | | /deep/.el-dialog__title { |
| | | color: white; |
| | | } |
| | | /deep/ .el-dialog__body { |
| | | padding: 10px; |
| | | } |
| | | /*ä¿®æ¹table 表ä½çèæ¯é¢è²åæåé¢è²*/ |
| | | /deep/ .el-table { |
| | | background-color: transparent; |
| | | |
| | | th, |
| | | td { |
| | | background-color: transparent; |
| | | } |
| | | .el-table__expanded-cell { |
| | | background-color: transparent !important; |
| | | } |
| | | |
| | | // è¡¨å¤´èæ¯è² |
| | | th.el-table__cell { |
| | | background-color: #303030; |
| | | color: #fff; |
| | | } |
| | | tr > td { |
| | | background-color: #303030; |
| | | color: #fff; |
| | | } |
| | | |
| | | // hoverææ |
| | | tr:hover > td { |
| | | background-color: rgba(255, 255, 255, 0.3) !important; |
| | | } |
| | | |
| | | tbody tr:hover { |
| | | background-color: rgba(255, 255, 255, 0.3) !important; |
| | | // text-align: center; |
| | | } |
| | | |
| | | // æ»å¨æ¡å®½é« |
| | | .el-table__body-wrapper::-webkit-scrollbar { |
| | | width: 5px; |
| | | height: 5px; |
| | | } |
| | | |
| | | .el-table__body-wrapper::-webkit-scrollbar { |
| | | width: 5px; |
| | | /*æ»å¨æ¡å®½åº¦*/ |
| | | height: 5px; |
| | | /*æ»å¨æ¡é«åº¦*/ |
| | | } |
| | | /*å®ä¹æ»å¨æ¡è½¨é å
é´å½±+åè§*/ |
| | | .el-table__body-wrapper::-webkit-scrollbar-track { |
| | | box-shadow: 0px 1px 3px #216fe6 inset; |
| | | /*æ»å¨æ¡çèæ¯åºåçå
é´å½±*/ |
| | | border-radius: 10px; |
| | | } |
| | | |
| | | /*å®ä¹æ»å å
é´å½±+åè§*/ |
| | | .el-table__body-wrapper::-webkit-scrollbar-thumb { |
| | | box-shadow: 0px 1px 3px #216fe6 inset; |
| | | border-radius: 6px; |
| | | background-color: #216fe6; |
| | | } |
| | | } |
| | | // 设置è¾å
¥æ¡çèæ¯è²ãåä½é¢è²ãè¾¹æ¡å±æ§è®¾ç½®ï¼ |
| | | /deep/.el-input__inner { |
| | | background-color: transparent !important ; |
| | | color: #fff; |
| | | border: 1px solid white !important; |
| | | } |
| | | /deep/.el-form-item__label { |
| | | color: white; |
| | | } |
| | | /deep/.el-dialog__wrapper { |
| | | overflow: hidden; |
| | | } |
| | | /deep/.el-textarea__inner { |
| | | background: transparent; |
| | | border-color: #fff !important; |
| | | color: white; |
| | | height: 70px !important; |
| | | } |
| | | /deep/.el-form-item { |
| | | margin-bottom: 0px; |
| | | } |
| | | /deep/.el-form-item__content { |
| | | line-height: 70px; |
| | | } |
| | | /deep/.el-textarea.is-disabled .el-textarea__inner { |
| | | background: transparent; |
| | | } |
| | | </style> |