wangting
2024-05-06 506b5b59e3899d8dd40a61cc8b9a575bbde3caaa
Source/ProjectWeb/src/components/dynamic-components/dynamic-button.vue
@@ -131,63 +131,32 @@
      this.$refs.dynamicForm.form = row;
    },
    buttonClick(buttonitem) {
      const paramVOS=buttonitem.paramVOS;
      const paramVOS = buttonitem.paramVOS;
      const DefineVO = this.componentVO.treeDefineVO || this.componentVO.tableDefineVO || this.componentVO.treeTableDefineVO || this.componentVO.formDefineVO;
      if (!paramVOS['title']) {
        paramVOS['title'] = buttonitem.name + (DefineVO.title || DefineVO.componentTitle || '');
        paramVOS['title'] = buttonitem.name + (DefineVO.title || '');
      }
      if (!paramVOS['type']) {
        paramVOS['type'] = DefineVO.btmType;
      }
      paramVOS['initvalue']=paramVOS['initvalue'] || paramVOS['initValue'];
      let isShow = true;
      if (paramVOS['initvalue'] && typeof(paramVOS.initvalue)=='string') {
        let values = paramVOS['initvalue'].split(';');
        let initValues = {}
        values.forEach((item,i) => {
          item = item.replace(':', '=');
          if (item.indexOf('${') > -1) {
            if (item.split('=')[1].indexOf('.') > -1) {
              if (this.sourceData.length < 1 || !this.sourceData.oid) {
                isShow = false;
                this.$message.error("请先选择一条来源数据");
                return false;
              }
              let name = item.split('=')[1].split('.')[1].replace('${', '').replace('}', '');
              initValues[item.split('=')[0]] = this.sourceData[name]
            } else {
              if (this.dataStore.length < 1) {
                isShow = false;
                this.$message.error("请先选择一条数据");
                return false;
              }
              let name = item.split('=')[1].replace('${', '').replace('}', '');
              initValues[item.split('=')[0]] = this.dataStore[0][name];
            }
          }
        })
        paramVOS['initvalue'] = initValues
      }
      if(paramVOS['BSContent'] || paramVOS['BSContext']){
        paramVOS['context']=paramVOS['BSContext'] || paramVOS['BSContent']
        paramVOS['content']=paramVOS['BSContext'] || paramVOS['BSContent'];
      if (paramVOS['BSContent'] || paramVOS['BSContext']) {
        paramVOS['context'] = paramVOS['BSContext'] || paramVOS['BSContent']
        paramVOS['content'] = paramVOS['BSContext'] || paramVOS['BSContent'];
      }
      const that=this;
      if(isShow){
        doAction(buttonitem, {
          paramVOS: paramVOS,
          dataStore: this.dataStore || [],
          sourceData: this.sourceData || {},
          callback: function () {
            if (that.$parent.handleRefresh) {
              that.$parent.handleRefresh()
            }
          }
        });
      }
      const that = this;
      //paramVOS.customBtn //弹窗默认有保存按钮,customBtn为true时内容展示自定义按钮
      doAction(buttonitem, {
        paramVOS: paramVOS,
        dataStore: this.dataStore || [],
        sourceData: this.sourceData || {}
      }, function (actionType,data) {
        if (that.$parent.handleRefresh) {
          that.$parent.handleRefresh(actionType,data)
        }
      });
    }
  },
}