| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud |
| | | :addBtn="false" |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | | @selection-change="selectionChange" |
| | | > |
| | | <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> |
| | | <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleWarehouse" |
| | | style="margin-left: 12px;">入库</el-button> |
| | | </div> |
| | | </template> |
| | | <template #menu="scope"> |
| | | <el-button type="primary" text size="default" @click.stop="fileView(scope.row, scope.index)">查看文件</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="DNC文件导入" append-to-body v-model="excelBox" width="555px"> |
| | | <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"> |
| | | <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> |
| | | <el-dialog title="文件名称" append-to-body v-model="fileViewModel"> |
| | | <el-table :data="tableData" border @row-click="showContent" max-height="200" highlight-current-row> |
| | | <el-table-column type="index" label="#" width="40" align="center"/> |
| | | <el-table-column prop="name" label="程序名称"></el-table-column> |
| | | </el-table> |
| | | <h4>程序内容</h4> |
| | | <div v-html="appContent" class="app-content"></div> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | appContent: '',//程序内容 |
| | | tableData: [], |
| | | fileViewModel: false, |
| | | selection: [], |
| | | excelBox: false, |
| | | loading: false, |
| | |
| | | labelWidth: 120, |
| | | emptyBtn: false, |
| | | searchSpan: 8, |
| | | menu: false, |
| | | menu: true, |
| | | selection: true, |
| | | column: [ |
| | | // { |
| | | // label: '文件路径', |
| | | // type: 'input', |
| | | // prop: 'keyword', |
| | | // hide: true |
| | | // }, |
| | | { |
| | | label: '任务编号', |
| | | label: '程序编号', |
| | | prop: 'programNo' |
| | | }, |
| | | { |
| | |
| | | }, |
| | | { |
| | | label: '文件数据库编号', |
| | | prop: '', |
| | | prop: 'id', |
| | | }, |
| | | { |
| | | label: '处理状态', |
| | | prop: '', |
| | | }, |
| | | { |
| | | label: '处理方式', |
| | | prop: '' |
| | | }, |
| | | { |
| | | label: '处理时间', |
| | | prop: '' |
| | | }, |
| | | { |
| | | label: '处理人', |
| | | prop: '' |
| | | }, |
| | | { |
| | | label: 'MD5值', |
| | | prop: 'md5 ' |
| | | } |
| | | ], |
| | | }, |
| | | data: [], |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | showContent(row, column, event) { |
| | | console.log(row,111) |
| | | axios({ |
| | | url: '/blade-mdm/program/dncsendback/back-file-content', |
| | | method: 'get', |
| | | params: {entryName: row.entryName} |
| | | }).then( |
| | | res => { |
| | | console.log(res) |
| | | if(res.data.code === 200) { |
| | | this.appContent = res.data.data; |
| | | } else { |
| | | this.appContent = '程序内容加载失败' |
| | | } |
| | | }); |
| | | }, |
| | | fileView(row) { |
| | | this.tableData = row.files; |
| | | this.fileViewModel = true; |
| | | }, |
| | | selectionChange(selection) { |
| | | this.selection = selection; |
| | | }, |
| | | importData () { |
| | | importData() { |
| | | this.excelBox = true; |
| | | }, |
| | | uploadAfter(res, done, loading, column) { |
| | | window.console.log(column); |
| | | console.log(res, done, loading, column, 2233) |
| | | this.excelBox = false; |
| | | console.log('data', res); |
| | | this.data = res || [] |
| | | done(); |
| | | }, |
| | | handleWarehouse(row,index) { |
| | | if(this.selection.length == 0) { |
| | | this.$message.error("请选择数据") |
| | | }else { |
| | | var selection = []; |
| | | this.selection.forEach(item=> { |
| | | selection.push(item.id); |
| | | }) |
| | | this.loading = true; |
| | | var obj = { |
| | | ids: selection.join(","), |
| | | } |
| | | axios({ |
| | | url: '/blade-mdm/program/dncsendback/accept', |
| | | method: 'post', |
| | | params: obj, |
| | | }).then( |
| | | res => { |
| | | uploadError(error, column) { |
| | | |
| | | }, |
| | | handleWarehouse() { |
| | | if (this.selection.length == 0) { |
| | | return this.$message.error("请选择数据") |
| | | } |
| | | let selection = []; |
| | | this.selection.forEach(item => { |
| | | selection.push(item.id); |
| | | }) |
| | | 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; |
| | | } |
| | | ); |
| | | } |
| | | }, |
| | | |
| | | } |
| | | ).finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | |
| | | .app-content { |
| | | background-color: #fffee1; |
| | | padding: 10px 30px; |
| | | min-height: 100px; |
| | | overflow: auto; |
| | | max-height: 400px; |
| | | white-space: pre-wrap; |
| | | } |
| | | </style> |