| | |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline"> |
| | | <el-form-item :label="$t('dataManage.dataUpObj.catalogue')"> |
| | | <el-cascader |
| | | v-model="formInline.catalog" |
| | | v-model="formInline.dirid" |
| | | :options="catalogOption" |
| | | @change="catalogChange" |
| | | :props="cascader" |
| | |
| | | </el-form-item> |
| | | <el-form-item :label="$t('dataManage.dataUpObj.company')"> |
| | | <el-cascader |
| | | v-model="formInline.company" |
| | | v-model="formInline.depid" |
| | | :options="companyOption" |
| | | @change="companyChange" |
| | | :props="cascader" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item :label="$t('dataManage.dataUpObj.versionNo')"> |
| | | <el-select v-model="formInline.verid" :placeholder="$t('common.choose')"> |
| | | <el-option |
| | | v-for="item in verOption" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item :label="$t('dataManage.dataUpObj.entryTime')"> |
| | | <el-date-picker |
| | | v-model.trim="formInline.monitorTime" |
| | | v-model.trim="formInline.gather" |
| | | :picker-options="pickerOptions" |
| | | type="datetime" |
| | | placeholder="请选择" |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <input id="uploadfile" @change= "handleFileChange" type="file" name="file" multiple="multiple" style="display: none"></input> |
| | | <input id="uploadfile" @change= "handleFileChange" type="file" name="file" multiple="multiple" accept=".xls,.xlsx,.mdb,.shp.zip,.gdb.zip" style="display: none"></input> |
| | | <el-button icon="el-icon-document-add" @click="fileSelect" class="primary">{{ |
| | | $t('common.file') |
| | | }}</el-button> |
| | |
| | | <el-form-item :label="$t('dataManage.dataUpObj.describe')"> |
| | | <el-input |
| | | type="textarea" |
| | | v-model="formInline.desc" |
| | | v-model="formInline.descr" |
| | | maxlength="50" |
| | | class="nm-skin-pretty" |
| | | show-word-limit |
| | | :rows="2" resize='none' |
| | | :rows="2" resize='none' |
| | | style="width: 460px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button icon="el-icon-upload" @click="setFileUpload" |
| | | |
| | | type="success">{{ |
| | | $t('common.upload') |
| | | }}</el-button> |
| | |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%" |
| | | height="92%" |
| | | height="99%" |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column |
| | |
| | | width="70px" |
| | | fixed |
| | | /> |
| | | |
| | | <el-table-column |
| | | <el-table-column |
| | | align="center" |
| | | prop="name" |
| | | :label="$t('userManage.userInfoObj.uname')" |
| | | :label="$t('common.name')" |
| | | fixed |
| | | /> |
| | | |
| | | </el-table> |
| | | <div style="margin-top: 10px" class="pagination_box"> |
| | | <!-- <div style="margin-top: 10px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | |
| | | :total="count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | |
| | | </div> |
| | | <!-- --> |
| | | <el-dialog |
| | | :title="$t('dataManage.datawarehousing')" |
| | | :visible.sync="dialogWarehousing" |
| | | width="50%" |
| | | :before-close="handleWareClose" |
| | | > |
| | | <div class="dialogBox"> |
| | | <div class="transFarBox"> |
| | | <ul> |
| | | <li @click="singleElection(item)" v-for="(item, i) in tableWareOne" :class="{ active: activeName == item.tab }">{{item.tab}} ({{item.type}})</li> |
| | | </ul> |
| | | </div> |
| | | <div class="tarnsbtton"> |
| | | <div><div style="padding:2%"> <el-link><i class="el-icon-plus"></i></el-link></div></div> |
| | | |
| | | |
| | | </div> |
| | | <div class="transFarBox"> |
| | | <ul> |
| | | <li @click="singleElection2(item)" v-for="(item, i) in tableWareTwo" :class="{ active: activeName2 == item.entity }">{{item.tabDesc}} ( {{item.tab}})</li> |
| | | </ul> |
| | | </div> |
| | | <div class="tarnsbtton"> |
| | | <div><div style="padding:2%"> <el-link @click="setWareTableChangeLeft" ><i class="el-icon-d-arrow-left"></i></el-link></div><br/> <div style="padding:2%"> |
| | | <el-link><i class="el-icon-d-arrow-right" @click="setWareTableChangeRight"></i></el-link></div></div> |
| | | </div> |
| | | <div class="transFarBox"> |
| | | <ul> |
| | | <li @click="singleElection3(i)" v-for="(item, i) in tableWareThree" :class="{ active: activeName3 ==( item.tab+i)}">{{item.tab}} ( {{item.tabDesc}}:{{item.entity}} )</li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button class="primary" @click="autoMatchWare">自动匹配</el-button> |
| | | <el-button @click="dialogVisible = false">取 消</el-button> |
| | | <el-button class="primary" @click="setInsrtWareTable">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import $ from 'jquery'; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { selectdirTab, queryDepTree } from '../../api/api'; |
| | | import { getToken } from '@/utils/auth'; |
| | | import { |
| | | dataLoader_selectDirAll, |
| | | dataLoader_selectDepAll, |
| | | dataLoader_selectPath, |
| | | dataLoader_selectVerByDirid, |
| | | dataLoader_selectFiles, |
| | | dataUploadDeleteFiles, |
| | | dataUploadInsertFiles, |
| | | dataLoader_selectMappers, |
| | | dataLoader_SelectTabs |
| | | } from '../../api/api'; |
| | | export default { |
| | | name: 'dataUpdata', |
| | | components: { |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | wareStatus: false, |
| | | dialogWarehousing: false, |
| | | btnStatus: 0, |
| | | count: 0, |
| | | formInline: { |
| | | monitorTime: '', |
| | | verid: '', |
| | | gather: '', |
| | | }, |
| | | tableWareOne: [], |
| | | tableWareTwo: [], |
| | | catalogOption: [], |
| | | companyOption: [], |
| | | tableData: [], |
| | | listTable: [], |
| | | listTableWare: [], |
| | | tableWareThree: [], |
| | | multipleSelection: [], |
| | | fullscreenLoading: false, |
| | | listData: { |
| | |
| | | }, |
| | | selectableRange: '00:00:00 - 23:59:59', |
| | | }, |
| | | verOption: [], |
| | | cascader: { |
| | | label: 'name', |
| | | value: 'id', |
| | |
| | | checkStrictly: true, |
| | | emitPath: false, |
| | | }, |
| | | wareSelectOne: null, |
| | | wareSelectTwo: null, |
| | | listWare: [], |
| | | activeName: '', |
| | | activeName2: '', |
| | | activeName3: '', |
| | | wareTableFlag: null, |
| | | }; |
| | | }, |
| | | |
| | |
| | | this.getQueryDepTree(); |
| | | this.timeDefault(); |
| | | this.getFilePath(); |
| | | |
| | | }, |
| | | watch: { |
| | | 'detailData.monitorTime': { |
| | | 'detailData.gather': { |
| | | handler(newValue, oldValue) { |
| | | if (newValue) { |
| | | let date = new Date(); |
| | |
| | | ) { |
| | | let hh1 = moment(newValue).format('HH:mm:ss'); |
| | | if (hh1 > nowDate) { |
| | | this.detailData.monitorTime = new Date(); |
| | | this.detailData.gather = new Date(); |
| | | } |
| | | st = nowDate; |
| | | } else { |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | //文件上传 |
| | | setFileUpload() { |
| | | this.handlerLoading(true); |
| | | setTimeout(() => { |
| | | this.handlerLoading(false); |
| | | }, 2000); |
| | | async setInsrtWareTable(){ |
| | | var obj = { |
| | | metaEntity: this.formInline, |
| | | fileEntities: this.tableWareThree |
| | | }; |
| | | debugger |
| | | const res = await dataUploadInsertFiles(JSON.stringify(obj)); |
| | | if (res.code != 200) { |
| | | this.$message.error('数据入库失败'); |
| | | return; |
| | | }else{ |
| | | debugger |
| | | this.$message({ |
| | | message: '数据入库成功', |
| | | type: 'success' |
| | | }); |
| | | this.dialogWarehousing = false; |
| | | this.getFileLength(); |
| | | this.setClearAttartch(); |
| | | } |
| | | |
| | | this.getFileLength(); |
| | | }, |
| | | setClearAttartch(){ |
| | | this.activeName = ''; |
| | | this.activeName2 = ''; |
| | | this.activeName3 = ''; |
| | | this.tableWareThree =[]; |
| | | this.tableWareTwo=[]; |
| | | this.tableWareOne=[]; |
| | | }, |
| | | autoMatchWare() { |
| | | var val1 = this.tableWareOne; |
| | | var val2 = this.tableWareTwo; |
| | | var std = []; |
| | | for (var i = 0; i < val1.length; i++) { |
| | | |
| | | const stdTab = this.setSplitWare(val1[i].tab) |
| | | for (var j = 0; j < val2.length; j++) { |
| | | if (val2[j].tab == stdTab) { |
| | | std.push(val1[i].tab) |
| | | val1[i].entity = val2[j].entity; |
| | | val1[i].tabDesc= val2[j].tabDesc; |
| | | this.tableWareThree.push(val1[i]); |
| | | } |
| | | } |
| | | } |
| | | std.forEach(item => { |
| | | this.tableWareOne = this.tableWareOne.filter(items => items.tab!== item); |
| | | }); |
| | | |
| | | }, |
| | | setSplitWare(res) { |
| | | if (res.indexOf(".shp") != -1) { |
| | | return res.split(".shp").join(""); |
| | | }else if (res.indexOf(".mdb") != -1){ |
| | | return res.split(".mdb").join(""); |
| | | }else if (res.indexOf(".gdb") != -1){ |
| | | return res.split(".gdb").join(""); |
| | | }else{ |
| | | return res; |
| | | } |
| | | }, |
| | | handleWareClose(done) { |
| | | this.$confirm('确认关闭?') |
| | | .then(_ => { |
| | | done(); |
| | | this.setClearAttartch(); |
| | | }) |
| | | .catch(_ => { }); |
| | | }, |
| | | setWareTableChangeLeft() { |
| | | var res = this.wareTableFlag; |
| | | var value1 = this.tableWareThree[res]; |
| | | value1.entity = null; |
| | | value1.tabDesc= null; |
| | | this.tableWareOne.push(value1); |
| | | this.tableWareThree.splice(res, 1) |
| | | this.activeName = ''; |
| | | this.activeName2 = ''; |
| | | this.activeName3 = ''; |
| | | }, |
| | | setWareTableChangeRight() { |
| | | |
| | | this.wareSelectOne.entity = this.wareSelectTwo.entity; |
| | | this.wareSelectOne.tabDesc = this.wareSelectTwo.tabDesc; |
| | | |
| | | this.tableWareThree.push(this.wareSelectOne) |
| | | |
| | | this.tableWareOne.forEach((value, index, array) => { |
| | | if (value.tab == this.wareSelectOne.tab) { |
| | | this.tableWareOne.splice(index, 1) |
| | | } |
| | | |
| | | }) |
| | | this.activeName = ''; |
| | | this.activeName2 = ''; |
| | | this.activeName3 = ''; |
| | | }, |
| | | singleElection(row) { |
| | | this.wareSelectOne = row; |
| | | this.activeName = row.tab |
| | | |
| | | }, |
| | | singleElection2(row) { |
| | | this.wareSelectTwo = row; |
| | | this.activeName2 = row.entity |
| | | |
| | | }, |
| | | singleElection3(res) { |
| | | |
| | | this.wareTableFlag = res; |
| | | this.activeName3 = this.tableWareThree[res].tab + res; |
| | | |
| | | }, |
| | | |
| | | //查询所有的表 |
| | | async getDataLoaderSelectTabs() { |
| | | const res = await dataLoader_SelectTabs(); |
| | | if (res.code != 200) { |
| | | this.$message.error('数据请求失败'); |
| | | return; |
| | | } |
| | | this.tableWareTwo = res.result; |
| | | }, |
| | | //查询映射 |
| | | async getDataLoaderSelectMappers(res) { |
| | | const data = await dataLoader_selectMappers(res); |
| | | |
| | | if (data.code != 200) { |
| | | this.$message.error('数据请求失败'); |
| | | return; |
| | | } |
| | | debugger |
| | | this.tableWareOne = data.result; |
| | | }, |
| | | //数据删除 |
| | | setFileDelete() { |
| | | async setFileDelete() { |
| | | this.handlerLoading(true); |
| | | |
| | | |
| | | |
| | | this.multipleSelection.forEach(item => { |
| | | this.listTable = this.listTable.filter((items) => { |
| | | |
| | | if (items.name != item.name && item.id != items.id) { |
| | | return items; |
| | | } |
| | | |
| | | }); |
| | | }); |
| | | this.listData.pageIndex= 1; |
| | | this.listData.pageSize = 10; |
| | | this.count = this.listTable.length; |
| | | this.setViewTable(); |
| | | var data = JSON.stringify(this.multipleSelection); |
| | | const res = await dataUploadDeleteFiles(data); |
| | | if (res.code != 200) { |
| | | this.$message.error('删除失败'); |
| | | return; |
| | | } |
| | | this.getFileLength(); |
| | | |
| | | |
| | | |
| | | this.handlerLoading(false); |
| | | }, |
| | | //数据入库 |
| | | setFileWare() { |
| | | this.handlerLoading(true); |
| | | setTimeout(() => { |
| | | this.handlerLoading(false); |
| | | }, 2000); |
| | | this.getFilePath(); |
| | | async setFileWare() { |
| | | this.tableWareThree = []; |
| | | this.listTableWare = []; |
| | | this.getDataLoaderSelectTabs(); |
| | | this.getDataLoaderSelectMappers(this.formInline.path); |
| | | this.dialogWarehousing = true; |
| | | // if(this.multipleSelection.length==0){ |
| | | // this.$message.error('请选择要入库的数据'); |
| | | // return |
| | | // } |
| | | // var obj = { |
| | | // metaEntity: this.formInline, |
| | | // fileEntities: this.multipleSelection |
| | | // }; |
| | | |
| | | // const res = await dataUploadInsertFiles(JSON.stringify(obj)); |
| | | |
| | | // if (res.code != 200) { |
| | | // this.$message.error('文件入库失败'); |
| | | // return; |
| | | // } |
| | | |
| | | // |
| | | |
| | | }, |
| | | //获取文件上传路径 |
| | | getFilePath() { |
| | | for (var i = 0; i < 20; i++) { |
| | | this.listTable.push({ |
| | | id: i, |
| | | name: 'value' + i |
| | | }) |
| | | } |
| | | this.count = this.listTable.length; |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = 10; |
| | | this.setViewTable(); |
| | | }, |
| | | |
| | | //显示表格数据 |
| | | setViewTable() { |
| | | var index = this.listData.pageIndex - 1; |
| | |
| | | if (this.listTable[i] != null) { |
| | | std.push(this.listTable[i]) |
| | | } |
| | | |
| | | } |
| | | |
| | | this.tableData = std; |
| | | }, |
| | | //获取文件上传数据 |
| | | getFileLength() { |
| | | //文件上传 |
| | | setFileUpload() { |
| | | this.handlerLoading(true); |
| | | var token = getToken(); |
| | | var formData = new FormData(); |
| | | |
| | | |
| | | var fs = document.getElementById("uploadfile"); |
| | | for (var i = 0, c = fs.files.length; i < c; i++) { |
| | | formData.append(fs.files[i].name, fs.files[i]); // fs.files[i].name,file |
| | | } |
| | | |
| | | |
| | | $.ajax(BASE_URL + "/dataLoader/uploadFiles?token=" + token + "&path=" + this.formInline.path, { |
| | | type: "post", |
| | | data: formData, |
| | | async: true, |
| | | cache: false, |
| | | processData: false, |
| | | contentType: false, |
| | | success: (rs) => { |
| | | |
| | | this.getFileLength(); |
| | | |
| | | alert("code = " + rs.code + ", msg = " + rs.msg + ", result = " + rs.result); |
| | | |
| | | }, |
| | | error: (rs) => { |
| | | alert("上传文件失败!"); |
| | | } |
| | | }); |
| | | |
| | | this.handlerLoading(false); |
| | | }, |
| | | //获取文件上传数据 |
| | | async getFileLength() { |
| | | const res = await dataLoader_selectFiles(this.formInline.path); |
| | | if (res.code != 200) { |
| | | this.$message.error('文件上传数据获取失败'); |
| | | return; |
| | | } |
| | | |
| | | if (res.result == null) { |
| | | this.count = 0; |
| | | this.setClearTableData(); |
| | | } else { |
| | | this.count = res.result.length; |
| | | this.tableData = res.result; |
| | | } |
| | | |
| | | |
| | | // this.listData.pageIndex = 1; |
| | | // this.listData.pageSize = 10; |
| | | // this.setViewTable(); |
| | | }, |
| | | //清除表格信息 |
| | | setClearTableData() { |
| | | this.tableData = []; |
| | | this.listTable = []; |
| | | }, |
| | | |
| | | |
| | | //分页控制 |
| | | handleSizeChange(res) { |
| | | this.listData.pageIndex = 1; |
| | |
| | | $("#uploadfile").click(); |
| | | }, |
| | | handleFileChange() { |
| | | var val = document.getElementById("uploadfile").files; |
| | | if (!val || !val.length) return; |
| | | var formData = new FormData(); |
| | | for (var i = 0; i < val.length; i++) { |
| | | formData.append(val[i].name, val[i]); |
| | | } |
| | | console.log(formData) |
| | | var fs = document.getElementById("uploadfile"); |
| | | |
| | | }, |
| | | //当前时间获取 |
| | | timeDefault() { |
| | |
| | | minutes + |
| | | sign2 + |
| | | seconds; |
| | | this.formInline.monitorTime = s1; |
| | | this.formInline.gather = s1; |
| | | }, |
| | | |
| | | //Loading显隐 |
| | |
| | | }, |
| | | //目录切换 |
| | | catalogChange(value) { |
| | | this.formInline.catalog = value; |
| | | this.formInline.dirid = value; |
| | | this.getselectVerByDirid(); |
| | | }, |
| | | //单位切换 |
| | | companyChange(value) { |
| | | this.formInline.company = value; |
| | | this.formInline.depid = value; |
| | | }, |
| | | |
| | | //单位列表获取 |
| | | async getQueryDepTree() { |
| | | const res = await queryDepTree(); |
| | | //获取文件上传路径 |
| | | async getFilePath() { |
| | | const res = await dataLoader_selectPath(); |
| | | if (res.code != 200) { |
| | | this.$message.error('单位列表获取失败'); |
| | | return; |
| | | } |
| | | this.formInline.company = 1; |
| | | this.formInline.path = res.result; |
| | | }, |
| | | //单位列表获取 |
| | | async getQueryDepTree() { |
| | | const res = await dataLoader_selectDepAll(); |
| | | if (res.code != 200) { |
| | | this.$message.error('单位列表获取失败'); |
| | | return; |
| | | } |
| | | this.formInline.depid = 1; |
| | | this.companyOption = this.treeData(res.result); |
| | | }, |
| | | //版本号获取 |
| | | async getselectVerByDirid() { |
| | | this.verOption = []; |
| | | this.formInline.verid = ""; |
| | | const res = await dataLoader_selectVerByDirid(this.formInline.dirid); |
| | | |
| | | if (res.code != 200) { |
| | | this.$message.error('版本列表获取失败'); |
| | | return; |
| | | } |
| | | this.verOption = res.result; |
| | | this.formInline.verid = res.result[0].id; |
| | | }, |
| | | |
| | | |
| | | //目录列表获取 |
| | | async getSelectdirTab() { |
| | | const res = await selectdirTab(); |
| | | const res = await dataLoader_selectDirAll(); |
| | | if (res.code != 200) { |
| | | this.$message.error('目录列表获取失败'); |
| | | return; |
| | | } |
| | | this.formInline.catalog = 1; |
| | | this.formInline.dirid = 1; |
| | | this.catalogOption = this.treeData(res.result); |
| | | this.getselectVerByDirid() |
| | | }, |
| | | //树列表生成 |
| | | treeData(source) { |
| | |
| | | /deep/.btn-next { |
| | | background: transparent; |
| | | } |
| | | /deep/.btn-next i { |
| | | color:white; |
| | | /deep/.btn-next i { |
| | | color: white; |
| | | } |
| | | /deep/.btn-prev i { |
| | | color:white; |
| | | color: white; |
| | | } |
| | | } |
| | | } |
| | |
| | | /deep/.el-loading-spinner i { |
| | | color: #1890ff !important; |
| | | } |
| | | /deep/ .el-dialog { |
| | | background: #303030; |
| | | } |
| | | /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; |
| | | } |
| | | .dialogBox { |
| | | width: 100%; |
| | | height: 500px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .transFarBox { |
| | | width: 30%; |
| | | height: 100%; |
| | | border: 1px solid white; |
| | | border-radius: 5px; |
| | | max-height: 500px; |
| | | 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; |
| | | } |
| | | } |
| | | .tarnsbtton { |
| | | width: 6%; |
| | | height: 100%; |
| | | |
| | | /*flex 布局*/ |
| | | display: flex; |
| | | /*实现垂直居中*/ |
| | | align-items: center; |
| | | /*实现水平居中*/ |
| | | justify-content: center; |
| | | } |
| | | } |
| | | .el-icon-d-arrow-right { |
| | | color: white; |
| | | } |
| | | .el-icon-d-arrow-left { |
| | | color: #fff; |
| | | } |
| | | .el-icon-plus { |
| | | color: white; |
| | | } |
| | | /*修改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 !important; |
| | | color: #fff; |
| | | } |
| | | tr > td { |
| | | background-color: #303030 !important; |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | </style> |