| | |
| | | ></My-bread> |
| | | <el-divider /> |
| | | <div class="updateContent"> |
| | | <div class="contentIquery"> |
| | | <el-tabs v-model="activeTabName" @tab-click="handleTabClick"> |
| | | <el-tab-pane :label="$t('dataManage.dataUpObj.uploaddata')" name="first"> |
| | | <div class="contentIquery"> |
| | | <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.entryTime')"> |
| | | <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="请选择" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | /> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <input id="uploadfile" @change= "handleFileChange" type="file" name="file" multiple="multiple" style="display: none"></input> |
| | | <el-button icon="el-icon-document-add" @click="fileSelect" class="primary">{{ |
| | | <!-- <el-button icon="el-icon-document-add" @click="fileSelect" class="primary">{{ |
| | | $t('common.file') |
| | | }}</el-button> |
| | | }}</el-button> --> |
| | | |
| | | <el-input v-model="formInline.fileName" disabled> |
| | | <template slot="append"> |
| | | <el-button v-if="formInline.fileName == '未选择文件'" |
| | | type="info" |
| | | @click="fileSelect"> |
| | | 选择文件 |
| | | </el-button> |
| | | <el-button |
| | | v-else |
| | | type="info" |
| | | @click="clearFileSelect" |
| | | > |
| | | 重置 |
| | | </el-button> |
| | | </template> |
| | | </el-input> |
| | | |
| | | </el-form-item> |
| | | <br /> |
| | | <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> |
| | |
| | | :disabled="tableData.length == 0 ? true : false" |
| | | >{{ $t('common.delete') }}</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-data-line" |
| | | type="info" |
| | | disabled |
| | | >{{ $t('common.quayTest') }}</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-folder-add" |
| | | type="warning" |
| | |
| | | </el-form> |
| | | </div> |
| | | <div class="contentTable"> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%" |
| | | height="92%" |
| | | |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: width:99%" |
| | | 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-column |
| | | align="center" |
| | | prop="sizes" |
| | | :label="$t('common.size')" |
| | | fixed |
| | | :formatter="changeSizeFile" |
| | | /> |
| | | <!-- <el-table-column |
| | | align="center" |
| | | prop="guid" |
| | | :label="$t('common.md5')" |
| | | fixed |
| | | /> --> |
| | | </el-table> |
| | | </div> |
| | | |
| | | </el-tab-pane> |
| | | <el-tab-pane :label="$t('dataManage.dataUpObj.receiptdata')" name="second"> |
| | | <div class="contentIquery" style="padding-bottom: 0% !important;"> |
| | | <el-form :inline="true" :model="formWarehousing" class="demo-form-inline"> |
| | | <el-form-item :label="$t('dataManage.dataUpObj.describe')"> |
| | | <el-input v-model="formWarehousing.name" placeholder="请输入内容"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button icon="el-icon-upload" @click="setWarehouseSearch" |
| | | class="primary">{{ |
| | | $t('common.iquery') |
| | | }}</el-button> |
| | | <el-button @click="setWarehouseReset" |
| | | icon="el-icon-folder-add" |
| | | type="info" |
| | | >{{ $t('common.reset') }}</el-button |
| | | > |
| | | <el-button @click="setWarehouseDel" |
| | | icon="el-icon-folder-delete" |
| | | type="danger" |
| | | >{{ $t('common.delete') }}</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="contentTable" style="height:500px"> |
| | | <el-table |
| | | :data="waretableData" |
| | | @selection-change="handleDelteChange" |
| | | style="width:99%" |
| | | height="92%" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55"/> |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | :label="$t('common.index')" |
| | | width="70px" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="name" |
| | | :label="$t('common.name')" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="dirName" |
| | | :label="$t('dataManage.dataUpObj.catalogue')" |
| | | fixed |
| | | |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="depName" |
| | | :label="$t('dataManage.dataUpObj.company')" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="verName" |
| | | :label="$t('dataManage.dataUpObj.versionNo')" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="type" |
| | | :label="$t('common.type')" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="sizes" |
| | | :label="$t('common.size')" |
| | | fixed |
| | | :formatter="changeSizeFile" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="tab" |
| | | :label="$t('dataManage.dataUpObj.tableName')" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="rows" |
| | | :label="$t('common.lineNuber')" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="desc" |
| | | :label="$t('dataManage.dataUpObj.describe')" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="uname" |
| | | :label="$t('dataManage.vmobj.createonuser')" |
| | | fixed |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="createTime" |
| | | :label="$t('dataManage.vmobj.createontime')" |
| | | fixed |
| | | :formatter="changetimeFile" |
| | | /> |
| | | </el-table> |
| | | |
| | | <div style="margin-top: 10px" class="pagination_box"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | |
| | | </el-tabs> |
| | | |
| | | </div> |
| | | </div> |
| | |
| | | <script> |
| | | import $ from 'jquery'; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { selectdirTab, queryDepTree } from '../../api/api'; |
| | | import { getToken } from '@/utils/auth'; |
| | | import { selectdirTab, queryDepTree, dataUploadSelectVerByDirid, dataUploadSelectPath, dataUploadSelectFiles, dataUploadDeleteFiles, dataUploadInsertFiles, |
| | | dataUpload_selectByPageForUpload,dataUpload_deleteMetas} from '../../api/api'; |
| | | export default { |
| | | name: 'dataUpdata', |
| | | components: { |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | activeTabName: 'first', |
| | | btnStatus: 0, |
| | | count: 0, |
| | | formInline: { |
| | | monitorTime: '', |
| | | verid: '', |
| | | gather: '', |
| | | fileName:'未选择文件' |
| | | }, |
| | | formWarehousing: { |
| | | name:'' |
| | | }, |
| | | catalogOption: [], |
| | | companyOption: [], |
| | | tableData: [], |
| | | waretableData:[], |
| | | listTable: [], |
| | | multipleSelection: [], |
| | | fullscreenLoading: false, |
| | | listData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | name: null, |
| | | }, |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | |
| | | }, |
| | | selectableRange: '00:00:00 - 23:59:59', |
| | | }, |
| | | verOption: [], |
| | | cascader: { |
| | | label: 'name', |
| | | value: 'id', |
| | |
| | | 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 { |
| | |
| | | }, |
| | | deep: true, |
| | | immediate: true, |
| | | multipleDelete:[] |
| | | }, |
| | | }, |
| | | |
| | | methods: { |
| | | //文件上传 |
| | | setFileUpload() { |
| | | this.handlerLoading(true); |
| | | setTimeout(() => { |
| | | this.handlerLoading(false); |
| | | }, 2000); |
| | | |
| | | this.getFileLength(); |
| | | async setWarehouseDel(){ |
| | | var std = []; |
| | | for (var i in this.multipleDelete) { |
| | | std.push(this.multipleDelete[i].id); |
| | | } |
| | | const res = await dataUpload_deleteMetas({ids: std.toString() }) |
| | | if(res.code != 200){ |
| | | this.$message.error('删除失败'); |
| | | }else{ |
| | | this.$message({ |
| | | message: '删除成功', |
| | | type: 'success' |
| | | }); |
| | | this.listData.pageIndex=1; |
| | | this.listData.pageSize = 10; |
| | | this.getAllWareTable(); |
| | | } |
| | | }, |
| | | handleDelteChange(val){ |
| | | this.multipleDelete = val; |
| | | }, |
| | | |
| | | changetimeFile(res){ |
| | | |
| | | //shijianchuo是整数,否则要parseInt转换 |
| | | var time = new Date(res.createTime); |
| | | 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; |
| | | }, |
| | | setWarehouseSearch(){ |
| | | |
| | | this.listData={ |
| | | pageIndex:1, |
| | | pageSize:10, |
| | | name:this.formWarehousing.name, |
| | | } |
| | | this.getAllWareTable(); |
| | | }, |
| | | setWarehouseReset(){ |
| | | this.formWarehousing.name=''; |
| | | this.listData={ |
| | | pageIndex:1, |
| | | pageSize:10, |
| | | name:null, |
| | | } |
| | | this.getAllWareTable(); |
| | | }, |
| | | handleTabClick(tab, event) { |
| | | if(this.activeTabName =='second'){ |
| | | this.setWarehouseReset(); |
| | | } |
| | | }, |
| | | handleSizeChange(val){ |
| | | this.listData.pageIndex= 1; |
| | | this.listData.pageSize =val; |
| | | this.getAllWareTable(); |
| | | }, |
| | | handleCurrentChange(val){ |
| | | this.listData.pageIndex= val; |
| | | this.getAllWareTable(); |
| | | }, |
| | | //获取入库数据列表 |
| | | async getAllWareTable(){ |
| | | |
| | | const res = await dataUpload_selectByPageForUpload(this.listData); |
| | | if (res.code != 200) { |
| | | this.$message.error('列表数据获取失败'); |
| | | return; |
| | | } |
| | | |
| | | this.count = res.count; |
| | | this.waretableData =res.result; |
| | | }, |
| | | //大小值改變 |
| | | changeSizeFile(row, column, cellValue, index) { |
| | | |
| | | if (cellValue >= 1024) { |
| | | return parseFloat(cellValue / 1204).toFixed(3) + "GB" |
| | | } else { |
| | | return cellValue + "MB" |
| | | } |
| | | }, |
| | | //数据删除 |
| | | 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(); |
| | | }, |
| | | //获取文件上传路径 |
| | | getFilePath() { |
| | | for (var i = 0; i < 20; i++) { |
| | | this.listTable.push({ |
| | | id: i, |
| | | name: 'value' + i |
| | | }) |
| | | async setFileWare() { |
| | | if (this.multipleSelection.length == 0) { |
| | | this.$message.error('请选择要入库的数据'); |
| | | return |
| | | } |
| | | this.count = this.listTable.length; |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = 10; |
| | | this.setViewTable(); |
| | | |
| | | var obj = { |
| | | metaEntity: this.formInline, |
| | | fileEntities: this.multipleSelection |
| | | }; |
| | | |
| | | const res = await dataUploadInsertFiles(JSON.stringify(obj)); |
| | | if (res.code != 200) { |
| | | this.$message.error('文件上传数据获取失败'); |
| | | return; |
| | | } |
| | | this.getFileLength(); |
| | | |
| | | }, |
| | | |
| | | //显示表格数据 |
| | | 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"); |
| | | if (fs.files.length == 0) { |
| | | this.handlerLoading(false); |
| | | return this.$message.error('请选择需要上传的文件'); |
| | | } |
| | | 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 + "/dataUpload/uploadFiles?token=" + token + "&path=" + this.formInline.path, { |
| | | type: "post", |
| | | data: formData, |
| | | async: true, |
| | | cache: false, |
| | | processData: false, |
| | | contentType: false, |
| | | success: (rs) => { |
| | | this.getFileLength(); |
| | | |
| | | this.$message({ |
| | | message: '上传成功', |
| | | type: 'success' |
| | | }); |
| | | this.clearFileSelect(); |
| | | }, |
| | | error: (rs) => { |
| | | alert("上传文件失败!"); |
| | | this.clearFileSelect(); |
| | | } |
| | | }); |
| | | |
| | | this.handlerLoading(false); |
| | | }, |
| | | //获取文件上传数据 |
| | | async getFileLength() { |
| | | const res = await dataUploadSelectFiles(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; |
| | | } |
| | | }, |
| | | //清除表格信息 |
| | | setClearTableData() { |
| | | this.tableData = []; |
| | | this.listTable = []; |
| | | }, |
| | | //分页控制 |
| | | handleSizeChange(res) { |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = res; |
| | | this.setViewTable(); |
| | | }, |
| | | handleCurrentChange(res) { |
| | | this.listData.pageIndex = res; |
| | | this.setViewTable(); |
| | | }, |
| | | // //分页控制 |
| | | // handleSizeChange(res) { |
| | | // this.listData.pageIndex = 1; |
| | | // this.listData.pageSize = res; |
| | | // this.setViewTable(); |
| | | // }, |
| | | // handleCurrentChange(res) { |
| | | // this.listData.pageIndex = res; |
| | | // this.setViewTable(); |
| | | // }, |
| | | //表格选中事件 |
| | | handleSelectionChange(res) { |
| | | this.multipleSelection = res; |
| | |
| | | fileSelect() { |
| | | $("#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) |
| | | handleFileChange(event) { |
| | | var f = event.currentTarget.files[0] |
| | | this.formInline.fileName = f.name; |
| | | |
| | | }, |
| | | clearFileSelect(){ |
| | | this.formInline.fileName="未选择文件"; |
| | | document.getElementById("uploadfile").value = ""; |
| | | }, |
| | | //当前时间获取 |
| | | 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 getFilePath() { |
| | | const res = await dataUploadSelectPath(); |
| | | if (res.code != 200) { |
| | | this.$message.error('单位列表获取失败'); |
| | | return; |
| | | } |
| | | this.formInline.path = res.result; |
| | | }, |
| | | //单位列表获取 |
| | | async getQueryDepTree() { |
| | | const res = await queryDepTree(); |
| | |
| | | this.$message.error('单位列表获取失败'); |
| | | return; |
| | | } |
| | | this.formInline.company = 1; |
| | | this.formInline.depid = 1; |
| | | this.companyOption = this.treeData(res.result); |
| | | }, |
| | | //版本号获取 |
| | | async getselectVerByDirid() { |
| | | this.verOption = []; |
| | | this.formInline.verid = ""; |
| | | const res = await dataUploadSelectVerByDirid({ dirid: this.formInline.dirid }); |
| | | if (res.code != 200) { |
| | | this.$message.error('版本列表获取失败'); |
| | | return; |
| | | } |
| | | this.verOption = res.result; |
| | | this.formInline.verid = res.result[0].id; |
| | | }, |
| | | //目录列表获取 |
| | | async getSelectdirTab() { |
| | |
| | | this.$message.error('目录列表获取失败'); |
| | | return; |
| | | } |
| | | this.formInline.catalog = 1; |
| | | this.formInline.dirid = 1; |
| | | this.catalogOption = this.treeData(res.result); |
| | | this.getselectVerByDirid() |
| | | }, |
| | | //树列表生成 |
| | | treeData(source) { |
| | |
| | | |
| | | position: relative; |
| | | .contentIquery { |
| | | width: 98%; |
| | | width: 97%; |
| | | height: 16%; |
| | | border: 1px solid white; |
| | | padding: 1%; |
| | | border-radius: 5px; |
| | | } |
| | | .contentTable { |
| | | width: 98%; |
| | | height: 72%; |
| | | width: 97%; |
| | | height: 400px; |
| | | border: 1px solid white; |
| | | padding: 1%; |
| | | border-radius: 5px; |
| | |
| | | /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-tabs__active-bar { |
| | | background: #409eff; |
| | | } |
| | | /deep/ .el-tabs__item { |
| | | color: #409eff; |
| | | } |
| | | } |
| | | </style> |