| | |
| | | > |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="btnStatus.insert"> |
| | | <!-- <el-form-item v-if="btnStatus.insert"> |
| | | <el-button |
| | | type="success" |
| | | size="small" |
| | |
| | | icon="el-icon-plus" |
| | | >{{ $t('common.append') }}</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item v-if="btnStatus.delete"> |
| | | <el-button |
| | | type="danger" |
| | |
| | | </el-form> |
| | | </div> |
| | | <div class="bottom"> |
| | | <div class="leftTree"> |
| | | <el-tree |
| | | ref="tree" |
| | | :props="defaultProps" |
| | | node-key="id" |
| | | :data="optionCount" |
| | | :default-expanded-keys="[1]" |
| | | :current-node-key="1" |
| | | :expand-on-click-node="false" |
| | | :default-expand-all="false" |
| | | draggable |
| | | @node-click="handleNodeClick" |
| | | > |
| | | |
| | | </span> |
| | | </el-tree> |
| | | <!-- <ul> |
| | | <li |
| | | @click="getTableDesc(item)" |
| | | v-for="item in optionCount" |
| | | :class="{ active: activeName == item.tab }" |
| | | > |
| | | {{ item.tabDesc }}({{ item.tab }}) |
| | | </li> |
| | | </ul> --> |
| | | </div> |
| | | <div class="rightTable"> |
| | | <div class="table_box"> |
| | | <el-table |
| | |
| | | height="99%" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column prop="name" :label="$t('common.name')" /> |
| | | <el-table-column prop="format" :label="$t('common.format')" /> |
| | | <el-table-column prop="sizes" :label="$t('common.size')" /> |
| | | <el-table-column prop="name" :label="$t('dataManage.vmobj.name')" /> |
| | | <el-table-column |
| | | prop="createUser" |
| | | prop="type" |
| | | :label="$t('dataManage.vmobj.format')" |
| | | /> |
| | | <el-table-column |
| | | prop="sizes" |
| | | :label="$t('dataManage.vmobj.size')" |
| | | :formatter="stateFormatSizes" |
| | | /> |
| | | <el-table-column |
| | | prop="depName" |
| | | :label="$t('dataManage.vmobj.depName')" |
| | | /> |
| | | <el-table-column |
| | | prop="dirName" |
| | | :label="$t('dataManage.vmobj.dirName')" |
| | | /> |
| | | |
| | | |
| | | <el-table-column |
| | | :label="$t('dataManage.dataUpObj.tableName')"> |
| | | <template slot-scope="scope"> |
| | | <a @click="detail(scope.row)" >{{ |
| | | scope.row.tab |
| | | }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="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')" |
| | | /> |
| | | <el-table-column |
| | | prop="cs" |
| | | :label="$t('dataManage.vmobj.coordSystem')" |
| | | /> |
| | | <el-table-column |
| | | prop="scale" |
| | | :label="$t('dataManage.vmobj.scale')" |
| | | /> |
| | | <el-table-column |
| | | prop="resolution" |
| | | :label="$t('dataManage.vmobj.resolpower')" |
| | | /> |
| | | |
| | | <el-table-column |
| | | prop="descr" |
| | | :label="$t('dataManage.vmobj.describe')" |
| | | :formatter="formatData" |
| | | /> |
| | | <el-table-column min-width="100" :label="$t('common.operate')"> |
| | | <template slot-scope="scope"> |
| | |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="10" |
| | | :page-size="listData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | |
| | | <div class="contentBox"> |
| | | <p>{{ $t('dataManage.vmobj.name') }}:{{ itemdetail.name }}</p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('dataManage.vmobj.type') }}:{{ itemdetail.type }}</p> |
| | | <p>{{ $t('dataManage.vmobj.format') }}:{{ itemdetail.type }}</p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('common.format') }}:{{ itemdetail.format }}</p> |
| | | <p>{{ $t('common.size') }}:{{ setInfoBoxSize(itemdetail.sizes) }}</p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('dataManage.vmobj.depName') }}:{{ itemdetail.depName }}</p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.gather') }}:{{ |
| | | setInfoBoxTime(itemdetail.gather) |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.describe') }}:{{ itemdetail.describe }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.createonuser') }}:{{ itemdetail.uname }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.createontime') }}:{{ |
| | | itemdetail.createTime |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.createonuser') }}:{{ |
| | | itemdetail.createUser |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.updateontime') }}:{{ |
| | | itemdetail.updateTime |
| | | setInfoBoxTime(itemdetail.createTime) |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('dataManage.vmobj.coordSystem') }}:{{ itemdetail.cs }}</p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('dataManage.vmobj.scale') }}:{{ itemdetail.scale }}</p> |
| | | <el-divider></el-divider> |
| | | <p> |
| | | {{ $t('dataManage.vmobj.resolpower') }}:{{ itemdetail.resolution }} |
| | | {{ $t('dataManage.vmobj.updateontime') }}:{{ |
| | | setInfoBoxTime(itemdetail.updateTime) |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t('dataManage.vmobj.describe') }}:{{ itemdetail.descr }}</p> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | |
| | | <el-input v-model="editForm.name" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.vmobj.type')" |
| | | :label="$t('dataManage.vmobj.format')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.type" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('common.format')" |
| | | :label="$t('dataManage.vmobj.size')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.format" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.sizes" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.vmobj.coordSystem')" |
| | | :label="$t('dataManage.vmobj.depName')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.cs" autocomplete="off"></el-input> |
| | | <!-- <el-input v-model="editForm.depName" autocomplete="off"></el-input> --> |
| | | <el-cascader |
| | | v-model="editForm.depid" |
| | | :options="companyOption" |
| | | :props="cascader" |
| | | style="width:350px" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.vmobj.scale')" |
| | | <el-form-item |
| | | :label="$t('dataManage.vmobj.dirName')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.scale" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.vmobj.resolpower')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.resolution" autocomplete="off"></el-input> |
| | | <!-- <el-input v-model="editForm.depName" autocomplete="off"></el-input> --> |
| | | <el-cascader |
| | | v-model="editForm.dirid" |
| | | :options="dirComPanyOption" |
| | | :props="cascader" |
| | | style="width:350px" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.vmobj.describe')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.descr" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.describe" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item |
| | | :label="$t('dataManage.vmobj.gather')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.gather" autocomplete="off"></el-input> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer"> |
| | | <el-button size="medium" @click="cancelEdit()">重置</el-button> |
| | | <el-button size="medium" @click="cancelEdit()">{{ |
| | | $t('common.reset') |
| | | }}</el-button> |
| | | <el-button |
| | | size="medium" |
| | | type="primary" |
| | | @click="sendEdit('editForm')" |
| | | v-loading.fullscreen.lock="fullscreenLoading" |
| | | >提交</el-button |
| | | >{{ $t('common.submit') }}</el-button |
| | | > |
| | | </div> |
| | | <div v-else slot="footer" class="dialog-footer"> |
| | | <el-button size="medium" @click="cancelAdd('editForm')">重置</el-button> |
| | | <el-button size="medium" @click="cancelAdd('editForm')">{{ |
| | | $t('common.reset') |
| | | }}</el-button> |
| | | <el-button |
| | | size="medium" |
| | | type="primary" |
| | | @click="sendAdd('editForm')" |
| | | v-loading.fullscreen.lock="fullscreenLoading" |
| | | >提交</el-button |
| | | >{{ $t('common.submit') }}</el-button |
| | | > |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :title="$t('common.details')" |
| | | :visible.sync="dialogVisible" |
| | | width="70%" |
| | | > |
| | | <div style="height:600px"> |
| | | <el-table |
| | | ref="filterTable" |
| | | :data="dbTableData" |
| | | height="90%" |
| | | border |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column width="60" type="index" :label="$t('common.index')" /> |
| | | <el-table-column |
| | | v-for="(item, index) in attributeData" |
| | | :key="index" |
| | | :label="item.alias" |
| | | :prop="item.field" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | ></el-table-column> |
| | | </el-table> |
| | | <div style="margin-top: 10px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleLoaderSizeChange" |
| | | @current-change="handleLoaderCurrentChange" |
| | | :current-page="listLoader.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="listLoader.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count1" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | <div class="downloadBox" v-if="showCodeBox"> |
| | | <h4 style="padding: 20px">请输入下载包密码</h4> |
| | | <h4 style="padding: 20px">{{$t('common.passworld')}}</h4> |
| | | <el-form |
| | | :model="codeForm" |
| | | :rules="rules" |
| | |
| | | label-width="100px" |
| | | class="codeForm" |
| | | > |
| | | <el-form-item label="密码" prop="password"> |
| | | <el-input type="password" v-model="codeForm.password"></el-input> |
| | | <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="确认密码" prop="repassword"> |
| | | <el-input type="password" v-model="codeForm.repassword"></el-input> |
| | | <el-form-item :label="$t('common.SPassword')" prop="repassword"> |
| | | <el-input type="password" v-model="codeForm.repassword" show-password></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" size="small" @click="download('codeForm')" |
| | | >确定</el-button |
| | | <el-button class="primary" size="small" @click="download('codeForm')" |
| | | >{{$t('common.confirm')}}</el-button |
| | | > |
| | | <el-button type="info" size="small" @click="closeDown('codeForm')" |
| | | >取消</el-button |
| | | >{{$t('common.cancel')}}</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import $ from 'jquery' |
| | | import { getToken } from '@/utils/auth'; |
| | | import { |
| | | select_meta_ByPageAndCount, |
| | | // queryDataCount, |
| | | updateMeta, |
| | | deleteMeta, |
| | | insertMeta, |
| | | selectDictTab, |
| | | selectdirTab, |
| | | queryDepTree, |
| | | meta_downloadReq, |
| | | sign_getPublicKey, |
| | | meta_selectDownloadFile, |
| | | meta_selectFields, |
| | | meta_selectByPageForUpload |
| | | } from '../../api/api'; |
| | | |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | export default { |
| | | name: 'metadataManage', |
| | |
| | | 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 { |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'name', |
| | | }, |
| | | dirComPanyOption: [], |
| | | companyOption: [], |
| | | activeName: '', |
| | | optionCount: [], |
| | | showCodeBox: false, |
| | | value: true, |
| | | multipleSelection: [], |
| | |
| | | repassword: '', |
| | | }, |
| | | rules: { |
| | | password: [{ required: true, message: '请输入密码', trigger: 'blur' }], |
| | | password: [{ required: true, message: '请输入密码', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }], |
| | | repassword: [ |
| | | { required: true, message: '请输入确认密码', trigger: 'blur' }, |
| | | { validator: repasswordValidator, trigger: 'blur' }, |
| | | ], |
| | | }, |
| | | tableData: [], |
| | | dbTableData:[], |
| | | count: 0, |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | listData: { |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | name: null, |
| | | dirid: null, |
| | | }, |
| | | cascader: { |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'children', |
| | | checkStrictly: true, |
| | | emitPath: false, |
| | | }, |
| | | dialogVisible:false, |
| | | listLoader:{ |
| | | id:null, |
| | | pageSize:1, |
| | | pageSize:10, |
| | | }, |
| | | count1:0, |
| | | attributeData:[], |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getMetaData({ |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }); |
| | | |
| | | this.getSelectDictTab(); |
| | | this.showPermsBtn(); |
| | | this.getQueryDepTree(); |
| | | this.signGetPublicKey(); |
| | | }, |
| | | |
| | | methods: { |
| | | async detail(res){ |
| | | var val = res.tab.split("."); |
| | | const data = await meta_selectFields({ |
| | | ns:val[0], |
| | | tab:val[1] |
| | | }) |
| | | if(data.code != 200){ |
| | | this.$message.error('字段列表调用失败'); |
| | | return |
| | | } |
| | | this.dialogVisible = true; |
| | | this.attributeData =data.result; |
| | | |
| | | this.listLoader={ |
| | | id:res.id, |
| | | pageIndex:1, |
| | | pageSize:10, |
| | | } |
| | | this.getDataLoaderSelectDbData(); |
| | | }, |
| | | |
| | | async getDataLoaderSelectDbData (){ |
| | | const data1 = await meta_selectByPageForUpload(this.listLoader); |
| | | if(data1.code != 200){ |
| | | this.$message.error('字段列表调用失败'); |
| | | return |
| | | } |
| | | this.dbTableData =data1.result; |
| | | this.count1 = data1.count; |
| | | }, |
| | | handleLoaderSizeChange(val){ |
| | | this.listLoader.pageIndex= 1; |
| | | this.listLoader.pageSize =val; |
| | | this.getDataLoaderSelectDbData(); |
| | | }, |
| | | handleLoaderCurrentChange(val){ |
| | | this.listLoader.pageIndex= val; |
| | | this.getDataLoaderSelectDbData(); |
| | | }, |
| | | |
| | | async signGetPublicKey(){ |
| | | const res = await sign_getPublicKey(); |
| | | if (res && res.code == 200) { |
| | | window.encrypt = new JSEncrypt(); |
| | | encrypt.setPublicKey(res.result); |
| | | } |
| | | }, |
| | | //单位列表获取 |
| | | async getQueryDepTree() { |
| | | const res = await queryDepTree(); |
| | | if (res.code != 200) { |
| | | this.$message.error('单位列表获取失败'); |
| | | return; |
| | | } |
| | | // this.formInline.depid = 1; |
| | | this.companyOption = this.treeData(res.result); |
| | | }, |
| | | //格式化列表 |
| | | formatData(row, column) { |
| | | let data = row[column.property]; |
| | | if (data == null) { |
| | | return data; |
| | | } |
| | | return this.format(data); |
| | | }, |
| | | 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'; |
| | | } |
| | | }, |
| | | //格式化时间 |
| | | 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; |
| | | }, |
| | | //单位转换 |
| | | stateFormatSizes(row, column) { |
| | | if (row.sizes >= 1024) { |
| | | const val = parseFloat(row.sizes / 1024).toFixed(3); |
| | | return val + ' GB'; |
| | | } else { |
| | | return row.sizes + ' MB'; |
| | | } |
| | | }, |
| | | //目录树获取 |
| | | async getSelectDictTab() { |
| | | const res = await selectdirTab(); |
| | | if (res.code != 200) { |
| | | this.$message.error('列表调用失败'); |
| | | } |
| | | this.optionCount = this.treeData(res.result); |
| | | this.dirComPanyOption = this.treeData(res.result); |
| | | this.listData.dirid = this.optionCount[0].id; |
| | | this.getMetaData(); |
| | | }, |
| | | handleNodeClick(data) { |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.listData.dirid = data.id; |
| | | this.getMetaData(); |
| | | }, |
| | | getTableDesc(res) { |
| | | this.activeName = res.tab; |
| | | }, |
| | | //显示权限按钮 |
| | | showPermsBtn() { |
| | | let currentPerms = this.$store.state.currentPerms; |
| | |
| | | .filter((item) => item.perms == currentPerms) |
| | | .map((item) => (this.btnStatus[item.tag.substr(1)] = true)); |
| | | }, |
| | | ShowWindowFly(res) { |
| | | console.log(res); |
| | | if (res == '') return; |
| | | if (res.indexOf('.xls') != -1) { |
| | | this.showMetadata(res, true); |
| | | } else if (res.indexOf('.doc') != -1) { |
| | | this.showMetadata(res, true); |
| | | } else if (res.indexOf('.png') != -1) { |
| | | this.showMetadata(res, true); |
| | | } else if (res.indexOf('.jpg') != -1) { |
| | | this.showMetadata(res, true); |
| | | } else if (res.indexOf('.pdf') != -1) { |
| | | this.showMetadata(res, true); |
| | | } else if (res.indexOf('.fly') != -1) { |
| | | this.showMetadata(res, false); |
| | | } else if (res.indexOf('.mpt') != -1) { |
| | | this.showMetadata(res, false); |
| | | } |
| | | }, |
| | | showMetadata(res, flag) { |
| | | var metaUrl; |
| | | if (flag == true) { |
| | | metaUrl = res; |
| | | } else if (flag == false) { |
| | | metaUrl = ifreamUrl + '/LFWeb/MetaPop.html?name=' + res; |
| | | } |
| | | window.open( |
| | | metaUrl, |
| | | '', |
| | | 'height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no' |
| | | ); |
| | | }, |
| | | // ShowWindowFly(res) { |
| | | // console.log(res); |
| | | // if (res == '') return; |
| | | // if (res.indexOf('.xls') != -1) { |
| | | // this.showMetadata(res, true); |
| | | // } else if (res.indexOf('.doc') != -1) { |
| | | // this.showMetadata(res, true); |
| | | // } else if (res.indexOf('.png') != -1) { |
| | | // this.showMetadata(res, true); |
| | | // } else if (res.indexOf('.jpg') != -1) { |
| | | // this.showMetadata(res, true); |
| | | // } else if (res.indexOf('.pdf') != -1) { |
| | | // this.showMetadata(res, true); |
| | | // } else if (res.indexOf('.fly') != -1) { |
| | | // this.showMetadata(res, false); |
| | | // } else if (res.indexOf('.mpt') != -1) { |
| | | // this.showMetadata(res, false); |
| | | // } |
| | | // }, |
| | | // showMetadata(res, flag) { |
| | | // var metaUrl; |
| | | // if (flag == true) { |
| | | // metaUrl = res; |
| | | // } else if (flag == false) { |
| | | // metaUrl = ifreamUrl + '/LFWeb/MetaPop.html?name=' + res; |
| | | // } |
| | | // window.open( |
| | | // metaUrl, |
| | | // '', |
| | | // 'height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no' |
| | | // ); |
| | | // }, |
| | | // 请求数据内容 |
| | | getMetaData(params) { |
| | | select_meta_ByPageAndCount(params).then((res) => { |
| | | getMetaData() { |
| | | select_meta_ByPageAndCount(this.listData).then((res) => { |
| | | |
| | | this.tableData = res.result; |
| | | this.count = res.count; |
| | | }); |
| | | }, |
| | | // 查询 |
| | | queryInfo() { |
| | | let searchData = { |
| | | name: this.queryForm.name.trim(), |
| | | pageIndex: this.pageIndex, |
| | | pageSize: this.pageSize, |
| | | }; |
| | | select_meta_ByPageAndCount(searchData).then((res) => { |
| | | if (res.code == 200) { |
| | | this.tableData = res.result; |
| | | this.count = res.count; |
| | | } else { |
| | | console.log('查询接口报错'); |
| | | this.$notify.error({ |
| | | title: res.code, |
| | | message: res.result, |
| | | }); |
| | | } |
| | | }); |
| | | this.listData.name = this.queryForm.name.trim(); |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.getMetaData(); |
| | | }, |
| | | // 重置查询 |
| | | resetInfo(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.listData.name = null; |
| | | this.getMetaData(); |
| | | }, |
| | | //新增按钮 |
| | | showAddDialog() { |
| | |
| | | setTimeout(() => { |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.getMetaData({ pageIndex: 1, pageSize: 10 }); |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.getMetaData(); |
| | | this.$message({ |
| | | message: '添加成功', |
| | | type: 'success', |
| | |
| | | message: '删除成功!', |
| | | }); |
| | | this.multipleSelection = []; |
| | | this.getMetaData({ pageIndex: 1, pageSize: 10 }); |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.getMetaData(); |
| | | } else { |
| | | this.$message.error('删除失败'); |
| | | this.multipleSelection = []; |
| | |
| | | this.editForm = {}; |
| | | done(); |
| | | }) |
| | | .catch((_) => {}); |
| | | .catch((_) => { }); |
| | | }, |
| | | |
| | | // 提交修改 |
| | |
| | | setTimeout(() => { |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.getMetaData({ pageIndex: 1, pageSize: 10 }); |
| | | this.listData.pageSize = 10; |
| | | this.listData.pageIndex = 1; |
| | | this.getMetaData(); |
| | | this.$message({ |
| | | message: '修改成功', |
| | | type: 'success', |
| | |
| | | this.editForm = JSON.parse(this.initialForm); |
| | | }); |
| | | }, |
| | | download() {}, |
| | | async download() { |
| | | var std = []; |
| | | for (var i in this.multipleSelection) { |
| | | std.push(this.multipleSelection[i].id) |
| | | } |
| | | var obj = { |
| | | pwd: encrypt.encrypt(this.codeForm.repassword), |
| | | ids: std |
| | | }; |
| | | const res = await meta_downloadReq(JSON.stringify(obj)) |
| | | |
| | | if(res.code!=200){ |
| | | this.$message.error('下载请求失败'); |
| | | return |
| | | } |
| | | |
| | | var downObj={ |
| | | guid :res.result, |
| | | pwd :encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)) |
| | | } |
| | | const data = await meta_selectDownloadFile(downObj) |
| | | |
| | | if(data.code !=200){ |
| | | this.$message.error('下载请求失败'); |
| | | return |
| | | } |
| | | var token = getToken() |
| | | var url = BASE_URL+"/meta/downloadFile?token=" +token+ "&guid=" + res.result + "&pwd=" +encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); |
| | | |
| | | $("#downFrame").attr("src", url).click(); |
| | | this.closeDown(); |
| | | }, |
| | | closeDown() { |
| | | this.showCodeBox = false; |
| | | this.codeForm.password = ''; |
| | |
| | | }, |
| | | |
| | | handleSizeChange(val) { |
| | | this.pageSize = val; |
| | | this.queryInfo(); |
| | | this.listData.pageSize = val; |
| | | this.listData.pageIndex = 1; |
| | | this.getMetaData(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.pageIndex = val; |
| | | this.currentPage = val; |
| | | this.queryInfo(); |
| | | this.listData.pageIndex = val; |
| | | 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; // 返回一级菜单 |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | } |
| | | } |
| | | .bottom { |
| | | width: 98%; |
| | | width: 100%; |
| | | margin-top: 1%; |
| | | height: 77%; |
| | | padding: 1%; |
| | | border: 1px solid white; |
| | | border-radius: 5px; |
| | | .rightTable { |
| | | height: 74%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .leftTree { |
| | | width: 15%; |
| | | height: 100%; |
| | | width: 100%; |
| | | border: 1px solid white; |
| | | border-radius: 5px; |
| | | padding: 1%; |
| | | max-height: 670px; |
| | | overflow-y: auto; |
| | | li { |
| | | color: white; |
| | | border-bottom: 1px solid white; |
| | | line-height: 30px; |
| | | text-align: center; |
| | | } |
| | | li:hover { |
| | | background: rgba(255, 255, 255, 0.3); |
| | | } |
| | | .active { |
| | | color: #409eff; |
| | | } |
| | | } |
| | | .rightTable { |
| | | width: 80%; |
| | | height: 100%; |
| | | border: 1px solid white; |
| | | |
| | | border-radius: 5px; |
| | | padding: 1%; |
| | | .table_box { |
| | | width: 100%; |
| | | height: 93%; |
| | |
| | | .downloadBox { |
| | | position: absolute; |
| | | top: 20%; |
| | | left: 50%; |
| | | left: 40%; |
| | | padding: 20px; |
| | | |
| | | width: 20%; |
| | | border: 1px solid #000; |
| | | background: #303030; |
| | | width: 30%; |
| | | border: 1px solid gray; |
| | | border-radius: 10px; |
| | | color: white; |
| | | } |
| | | /*修改table 表体的背景颜色和文字颜色*/ |
| | | /deep/ .el-table { |