1
李喆(开发组)
2025-08-05 e31c8fbe8dc07f883d4c19b18ffe9e4afd6a0558
src/views/wel/index.vue
@@ -69,7 +69,7 @@
    <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>
            <el-button :size="size" type="primary" @click="comparison" :disabled="selectionList.length != 2">对比</el-button>
          </template>
        </avue-crud>
    </template>
@@ -78,6 +78,12 @@
      <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>
@@ -85,6 +91,11 @@
export default {
  data() {
    return {
      diffBox: false,
      content1: "",
      content2: "",
      codeDiffFileName1: "",
      codeDiffFileName2: "",
      selectionList: [],
      targetRow: {},
      upgradeModal: false,
@@ -172,7 +183,7 @@
            placeholder: " "
          },
          {
            label: '最后修改时间',
            label: '修改时间',
            prop: 'updateTime',
            disabled: true,
            placeholder: " "
@@ -694,6 +705,9 @@
        this.getFile(row.id);
        //获取历史记录
        this.getHistory(row.id);
        //清空对比记录
        this.content1 = "";
        this.content2 = "";
      }
      this.$nextTick(()=> {
        this.tabsType = 'tab1';
@@ -746,7 +760,21 @@
      );
    },
    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;
@@ -950,4 +978,7 @@
    background-color: #f0f7ff;
    font-weight: bold;
  }
  .code-box .el-drawer__header {
    margin-bottom: 0;
  }
</style>