| | |
| | | <!-- |
| | | * @Date: 2025-08-10 14:14:58 |
| | | * @LastEditors: gaoshp |
| | | * @LastEditTime: 2025-08-18 18:47:02 |
| | | * @FilePath: /mdmweb/src/views/flowmgr/backImport.vue |
| | | --> |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :addBtn="false" :option="option" :table-loading="loading" :data="data" ref="crud" |
| | | @selection-change="selectionChange"> |
| | | <template #menu-left> |
| | | <div style="display: flex;"> |
| | | <el-button type="primary" size="default" icon="el-icon-circle-plus" @click="importData">导入</el-button> |
| | | <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleWarehouse" |
| | | style="margin-left: 12px;">入库</el-button> |
| | | </div> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="工控网文件导入" append-to-body v-model="excelBox" width="555px"> |
| | | <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter" :upload-error="uploadError"> |
| | | <!-- <template #excelTemplate> |
| | | <el-button type="primary" @click="handleTemplate"> |
| | | 点击下载<i class="el-icon-download el-icon--right"></i> |
| | | </el-button> |
| | | </template> --> |
| | | </avue-form> |
| | | </el-dialog> |
| | | </basic-container> |
| | | <basic-container> |
| | | <el-tabs |
| | | v-model="activeName" |
| | | type="card" |
| | | class="demo-tabs" |
| | | > |
| | | <el-tab-pane label="导入" name="todo"> |
| | | <backImport1 v-if="activeName==='todo'"></backImport1> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="回传记录" name="done"> |
| | | <backImport2 v-if="activeName==='done'"> </backImport2> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getList, |
| | | } from '@/api/system/user'; |
| | | import backImport1 from './backImport1.vue'; |
| | | import backImport2 from './backImport2.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | selection: [], |
| | | excelBox: false, |
| | | loading: false, |
| | | option: { |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | labelWidth: 120, |
| | | emptyBtn: false, |
| | | searchSpan: 8, |
| | | menu: false, |
| | | selection: true, |
| | | column: [ |
| | | // { |
| | | // label: '文件路径', |
| | | // type: 'input', |
| | | // prop: 'keyword', |
| | | // hide: true |
| | | // }, |
| | | { |
| | | label: '程序编号', |
| | | prop: 'programNo' |
| | | }, |
| | | { |
| | | label: '程序名称', |
| | | prop: 'programName', |
| | | }, |
| | | { |
| | | label: '文件到达时间', |
| | | prop: 'fileBackTime', |
| | | }, |
| | | { |
| | | label: '文件数据库编号', |
| | | prop: 'id', |
| | | }, |
| | | // { |
| | | // label: '处理状态', |
| | | // prop: '', |
| | | // }, |
| | | // { |
| | | // label: '处理方式', |
| | | // prop: '' |
| | | // }, |
| | | // { |
| | | // label: '处理时间', |
| | | // prop: '' |
| | | // }, |
| | | // { |
| | | // label: '处理人', |
| | | // prop: '' |
| | | // }, |
| | | //{ |
| | | // label: 'MD5值', |
| | | // prop: 'md5', |
| | | //} |
| | | ], |
| | | }, |
| | | data: [], |
| | | excelForm: {}, |
| | | excelOption: { |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | column: [ |
| | | { |
| | | label: '文件导入', |
| | | prop: 'excelFile', |
| | | type: 'upload', |
| | | drag: true, |
| | | loadText: 'DNC文件导入,请稍等', |
| | | span: 24, |
| | | propsHttp: { |
| | | res: 'data', |
| | | }, |
| | | tip: '', |
| | | action: '/blade-mdm/program/dncsendback/upload', |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | | selectionChange(selection) { |
| | | this.selection = selection; |
| | | components: { |
| | | backImport1, |
| | | backImport2 |
| | | }, |
| | | importData() { |
| | | this.excelBox = true; |
| | | data() { |
| | | return { |
| | | activeName: 'todo', |
| | | }; |
| | | }, |
| | | uploadAfter(res, done, loading, column) { |
| | | console.log(res, done, loading, column, 2233) |
| | | this.excelBox = false; |
| | | this.data = res || [] |
| | | done(); |
| | | methods: { |
| | | handleTabClick(tab, event) { |
| | | console.log(tab, event); |
| | | }, |
| | | }, |
| | | uploadError(error, column) { |
| | | |
| | | }, |
| | | handleWarehouse() { |
| | | if (this.selection.length == 0) { |
| | | return this.$message.error("请选择数据") |
| | | } |
| | | let selection = []; |
| | | this.selection.forEach(item => { |
| | | //selection.push(item.id); |
| | | selection.push(item.fullPath); |
| | | }) |
| | | this.loading = true; |
| | | var obj = { |
| | | ids: selection.join(","), |
| | | } |
| | | axios({ |
| | | url: '/blade-mdm/program/dncsendback/accept', |
| | | method: 'post', |
| | | params: obj, |
| | | }).then( |
| | | res => { |
| | | console.log(res); |
| | | if (res.data.code === 200) { |
| | | this.$message.success("操作成功"); |
| | | this.loading = false; |
| | | this.data = [] |
| | | } else { |
| | | this.$message.error(res.data.msg || "操作失败"); |
| | | this.loading = false; |
| | | } |
| | | |
| | | } |
| | | ); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"></style> |
| | | } |
| | | </script> |