| | |
| | | <template v-else-if="tabsType == 'tab3'"> |
| | | <div v-html="convertToHtml(fileContent)"></div> |
| | | </template> |
| | | <template v-else-if="tabsType == 'tab4'"> |
| | | <avue-crud :addBtn="false" :option="tabsFormOption4" :data="tabsForm4" ref="crud4" @selection-change="selectionChange"> |
| | | <template #menu-left> |
| | | <el-button :size="size" type="primary" @click="comparison" :disabled="selectionList.length != 2">对比</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </template> |
| | | |
| | | <el-dialog title="升版" append-to-body v-model="upgradeModal" width="500"> |
| | | <avue-form :option="upgradeModalOption" v-model="upgradeModalForm" @submit="upgradeSubmit" @reset-change="upgradeCancel"></avue-form> |
| | | </el-dialog> |
| | | </basic-container> |
| | | <!-- 文件对比 --> |
| | | <el-drawer title="文件对比" append-to-body v-model="diffBox" size="100%" class="code-box"> |
| | | <div> |
| | | <code-diff :old-string="this.content1" :new-string="this.content2" output-format="side-by-side" :hideStat="true" :filename="codeDiffFileName1" :newFilename="codeDiffFileName2"/> |
| | | </div> |
| | | </el-drawer> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | diffBox: false, |
| | | content1: "", |
| | | content2: "", |
| | | codeDiffFileName1: "", |
| | | codeDiffFileName2: "", |
| | | selectionList: [], |
| | | targetRow: {}, |
| | | upgradeModal: false, |
| | | file: null, |
| | |
| | | icon: 'el-icon-warning', |
| | | label: '文件内容', |
| | | prop: 'tab3' |
| | | }, { |
| | | icon: 'el-icon-warning', |
| | | label: '历史记录', |
| | | prop: 'tab4' |
| | | }] |
| | | }, |
| | | tabsFormOption: { |
| | |
| | | placeholder: " " |
| | | }, |
| | | { |
| | | label: '最后修改时间', |
| | | label: '修改时间', |
| | | prop: 'updateTime', |
| | | disabled: true, |
| | | placeholder: " " |
| | |
| | | current: 1, |
| | | total: 0, |
| | | }, |
| | | tabsFormOption4: { |
| | | rowKey: "id", |
| | | selection: true, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | searchBtn: false, |
| | | emptyBtn: false, |
| | | menu: false, |
| | | column: [ |
| | | {label: '版本号',prop: 'versionNumber'}, |
| | | {label: '创建时间',prop: 'createTime'}, |
| | | {label: '创建人',prop: 'createUser'}, |
| | | ] |
| | | }, |
| | | tabsForm4: {}, |
| | | option: { |
| | | highlightCurrentRow: true, |
| | | rowKey: "id", |
| | |
| | | label: '设备', |
| | | prop: 'machineCode' |
| | | }, |
| | | /* |
| | | { |
| | | label: '固化状态', |
| | | prop: 'abc' |
| | | }, |
| | | */ |
| | | { |
| | | label: '锁定状态', |
| | | prop: 'abc' |
| | | prop: 'isLocked', |
| | | formatter: (val, value, label) => { |
| | | if(val.nodeType == '60' || val.nodeType == '70'){ |
| | | if(value==1){ |
| | | return '已锁定'; |
| | | }else{ |
| | | return '未锁定'; |
| | | } |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { |
| | | label: '流程状态', |
| | | prop: 'flowStatus', |
| | | formatter: (val, value, label) => { |
| | | if(val.nodeType != '70'){ |
| | | if(val.nodeType != '60'){ |
| | | //非程序节点 |
| | | return ''; |
| | | }else{ |
| | |
| | | this.tabsOption = this.tabsOption2; |
| | | //获取文件list |
| | | this.getFile(row.id); |
| | | //获取历史记录 |
| | | this.getHistory(row.id); |
| | | //清空对比记录 |
| | | this.content1 = ""; |
| | | this.content2 = ""; |
| | | } |
| | | this.$nextTick(()=> { |
| | | this.tabsType = 'tab1'; |
| | |
| | | tabsHandleChange(tabs) { |
| | | this.tabsType = tabs.prop; |
| | | }, |
| | | showUpload(row) {//获取文件内容 |
| | | showUpload(row) {//获取附件内容(暂时没用) |
| | | this.fileList = []; |
| | | this.uploadmodalForm = row; |
| | | this.loading = true; |
| | |
| | | this.fileContent = res.data.data; |
| | | } |
| | | ); |
| | | }, |
| | | getHistory(id) { //查看历史记录 |
| | | this.loading = true; |
| | | axios({ |
| | | url: '/blade-mdm/program/node/history-by-nodeid', |
| | | method: 'get', |
| | | params: {id}, |
| | | }).then( |
| | | res => { |
| | | this.loading = false; |
| | | this.tabsForm4 = res.data.data; |
| | | } |
| | | ); |
| | | }, |
| | | comparison() { //对比 |
| | | this.loading = true; |
| | | axios({ |
| | | url: '/blade-mdm/program/node/compare-content', |
| | | method: 'get', |
| | | params: {id1:this.selectionList[0].id,id2:this.selectionList[1].id}, |
| | | }).then( |
| | | res => { |
| | | this.loading = false; |
| | | this.content1 = res.data.data.content1; |
| | | this.content2 = res.data.data.content2; |
| | | this.codeDiffFileName1 = this.selectionList[0].versionNumber; |
| | | this.codeDiffFileName2 = this.selectionList[1].versionNumber; |
| | | this.diffBox = true; |
| | | } |
| | | ); |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | }, |
| | | showEdit(row,done) { |
| | | this.modalTitle = "修改"; |
| | |
| | | background-color: #f0f7ff; |
| | | font-weight: bold; |
| | | } |
| | | .code-box .el-drawer__header { |
| | | margin-bottom: 0; |
| | | } |
| | | </style> |