田源
2024-08-19 39a6e2d4cbbc789955400ffd2352514a8fe4c188
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue
@@ -445,7 +445,7 @@
        highlightCurrentRow: true,
        searchMenuSpan: 8,
        searchLabelWidth: 100,
        calcHeight:30,
        calcHeight: 30,
        column: [
          {
            label: '业务类型名',
@@ -714,12 +714,24 @@
        this.$message.error('请至少选择一条数据');
        return;
      }
      deleteLink(this.nodeRow).then(res => {
        if (res.data.code === 200) {
          this.$message.success('删除成功');
          this.getTreeList();
        }
      })
      ;
      this.$confirm('您确定要删除所选择的数据吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteLink(this.nodeRow).then(res => {
          if (res.data.code === 200) {
            this.$message.success('删除成功');
            this.getTreeList();
          }
        })
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },
    // 创建按钮
@@ -762,58 +774,62 @@
    // 一致性检查
    checkClickHandler() {
      this.conCheckVisible = true;
      this.conCheckLoading = true;
      checkLinkType().then(res => {
        if (res.data.code === 200) {
          const data = res.data.data;
          this.conDefaultCheckData = data; // 保留一份原始数据
          this.conCheckLoading = false;
        if (res && res.data && res.data.data) {
          this.conCheckVisible = true;
          this.conCheckLoading = true;
          if (res.data.code === 200) {
            const data = res.data.data;
            this.conDefaultCheckData = data; // 保留一份原始数据
            this.conCheckLoading = false;
          const outputData = [];
            const outputData = [];
          data.forEach(item => {
            Object.entries(item.btmCheckMap).forEach(([id, methodsArray]) => {
              methodsArray.forEach(methods => {
                // 判断前缀
                const action = methods.startsWith('F_') ? '移除form端业务类型' : '移除to端业务类型';
                const detail = methods.split('_')[1]; // 获取 _ 后面的内容
                outputData.push({
                  id: id,
                  methods: `${action}:${detail}`,
                  status: '未修复'
            data.forEach(item => {
              Object.entries(item.btmCheckMap).forEach(([id, methodsArray]) => {
                methodsArray.forEach(methods => {
                  // 判断前缀
                  const action = methods.startsWith('F_') ? '移除form端业务类型' : '移除to端业务类型';
                  const detail = methods.split('_')[1]; // 获取 _ 后面的内容
                  outputData.push({
                    id: id,
                    methods: `${action}:${detail}`,
                    status: '未修复'
                  });
                });
              });
            });
            // 处理 dbCheckMap
            Object.entries(item.dbCheckMap).forEach(([id, methods]) => {
              const splitMethods = methods.split('(');
              // 判断第一个符号前面的值
              if (splitMethods[0].startsWith('_ADD')) {
                outputData.push({
                  id: id,
                  methods: '增加列(' + splitMethods[1].slice(0, -1) + ')', // 结束位置减去)的字符
                  status: '未修复'
                });
              } else if (splitMethods[0].startsWith('_CREATE')) {
                outputData.push({
                  id: id,
                  methods: '创建表(' + splitMethods[1].slice(0, -1) + ')',
                  status: '未修复'
                });
              } else if (splitMethods[0].startsWith('_DROP')) {
                outputData.push({
                  id: id,
                  methods: '移除列(' + splitMethods[1].slice(0, -1) + ')',
                  status: '未修复'
                });
              } else {
                this.$message.error("不支持的 dbCheckMap 类型: " + methods)
              }
              // 处理 dbCheckMap
              Object.entries(item.dbCheckMap).forEach(([id, methods]) => {
                const splitMethods = methods.split('(');
                // 判断第一个符号前面的值
                if (splitMethods[0].startsWith('_ADD')) {
                  outputData.push({
                    id: id,
                    methods: '增加列(' + splitMethods[0].slice(0, -1) + ')', // 结束位置减去)的字符
                    status: '未修复'
                  });
                } else if (splitMethods[0].startsWith('_CREATE')) {
                  outputData.push({
                    id: id,
                    methods: '创建表(' + splitMethods[0].slice(0, -1) + ')',
                    status: '未修复'
                  });
                } else if (splitMethods[0].startsWith('_DROP')) {
                  outputData.push({
                    id: id,
                    methods: '移除列(' + splitMethods[0].slice(0, -1) + ')',
                    status: '未修复'
                  });
                } else {
                  this.$message.error("不支持的 dbCheckMap 类型: " + methods)
                }
              });
            });
          });
          this.conCheckData = outputData;
            this.conCheckData = outputData;
          }
        } else {
          this.$message.success(res.data.msg);
        }
      }).catch(err => {
        this.$message.error(err);
@@ -822,11 +838,11 @@
    // 修复一致性检查
    repairClickHandler() {
      console.log(this.conDefaultCheckData)
      const params = this.conDefaultCheckData[0];
      repairTable(params).then(res => {
        if (func.isEmptyObject(res.data.obj[0])) {
          this.$message.success('修复成功');
          this.conCheckData = [];
        } else {
          this.$message.error('修复失败,请重新尝试!');
        }
@@ -842,6 +858,8 @@
          this.createViewLoading = false;
          this.$message.success(res.data.obj);
        }
      }).catch(err => {
        this.createViewLoading = false;
      })
    },
@@ -912,8 +930,6 @@
      this.bizFormData = [];
      this.bizToData = [];
      this.dialogBottomData = [];
      console.log(this.form);
      console.log('--', this.nodeRow)
    },
    // 添加属性池 保存
@@ -1103,16 +1119,22 @@
        this.$message.error('form端业务类型和to端类型均不能为空!')
        return;
      }
      this.form.btmItemsFrom = this.bizFormData.map(item => item.name);
      this.form.btmItemsTo = this.bizToData.map(item => item.name);
      this.form.attributes = this.dialogBottomData.map(item => item.id);
      let flag = this.title === 'add' ? true : false;
      addAndEditLink(flag, this.form).then(res => {
        if (res.data.code === 200) {
          this.visible = false;
          this.$message.success(res.data.msg);
          this.resetForm();
          this.getTreeList();
      this.$refs.form.validate((valid) => {
        if (valid) {
          this.form.btmItemsFrom = this.bizFormData.map(item => item.name);
          this.form.btmItemsTo = this.bizToData.map(item => item.name);
          this.form.attributes = this.dialogBottomData.map(item => item.id);
          let flag = this.title === 'add' ? true : false;
          addAndEditLink(flag, this.form).then(res => {
            if (res.data.code === 200) {
              this.visible = false;
              this.$message.success(res.data.msg);
              this.resetForm();
              this.getTreeList();
            }
          });
        } else {
          return false;
        }
      });
    },