wangting
2024-06-14 c061998c347b0735c8a1db8d2e191de050caf7e8
启动流程action
已修改2个文件
已添加1个文件
184 ■■■■ 文件已修改
Source/plt-web/plt-web-ui/src/api/base/actions.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/components/actions/base/RevisionDialog.vue 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/components/actions/base/StartWorkflowAction.js 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/api/base/actions.js
@@ -32,3 +32,28 @@
    data
  })
}
// é“¾æŽ¥ç±»åž‹æ–°å¢ž
export const linkAddSave = (data,url,method) => {
  return request({
    url: url || "/api/uiDataController/linkAddSave",
    method: method || 'post',
    data
  })
}
// é“¾æŽ¥ç±»åž‹ä¿®æ”¹
export const linkEditSave = (data,url,method) => {
  return request({
    url: url || '/api/uiDataController/linkEditSave',
    method: method || 'put',
    data
  })
}
// é“¾æŽ¥ç±»åž‹åˆ é™¤
export const linkDeleteData = (data,url,method) => {
  return request({
    url:url || '/api/uiDataController/linkDeleteData',
    method: method || 'delete',
    data
  })
}
Source/plt-web/plt-web-ui/src/components/actions/base/RevisionDialog.vue
@@ -175,13 +175,24 @@
          this.formDefineId=this.$refs.uiViewRef.data[key].DefineVO.id;
          if (this.paramVOS.savebeforeevent) {
            var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction');
            import(`./${urlobj.jsPath}.js`).then(module => {
              module[urlobj.methodName]({
                paramVOS: this.paramVOS,
                dataStore: this.dataStore,
                sourceData:this.sourceData
              },this.formSaveHandle);
            })
            if(urlobj.params){
              Object.assign(this.paramVOS,urlobj.params);
            }
            if(validatenull(urlobj.jsPath)){
              this.saveBforeHandle(this.paramVOS);
            }else{
              try {
                import(`./${urlobj.jsPath}.js`).then(module => {
                  module[urlobj.methodName]({
                    paramVOS: this.paramVOS,
                    dataStore: this.dataStore,
                    sourceData:this.sourceData
                  },this.formSaveHandle);
                })
              } catch (error) {
                this.$message.error('未找到保存前置事件执行js');
              }
            }
          } else {
            this.formSaveHandle();
          }
@@ -196,13 +207,24 @@
          this.formDefineId=this.paramVOS.form;
          if (this.paramVOS.savebeforeevent) {
            var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction');
            import(`./${urlobj.jsPath}.js`).then(module => {
              module[urlobj.methodName]({
                paramVOS: this.paramVOS,
                dataStore: this.dataStore,
                sourceData:this.sourceData
              },that.formSaveHandle);
            })
            if(urlobj.params){
              Object.assign(this.paramVOS,urlobj.params);
            }
            if(validatenull(urlobj.jsPath)){
              this.saveBforeHandle(this.paramVOS);
            }else{
              try {
                import(`./${urlobj.jsPath}.js`).then(module => {
                  module[urlobj.methodName]({
                    paramVOS: this.paramVOS,
                    dataStore: this.dataStore,
                    sourceData:this.sourceData
                  },this.formSaveHandle);
                })
              } catch (error) {
                this.$message.error('未找到保存前置事件执行js');
              }
            }
          } else {
            that.formSaveHandle();
          }
@@ -243,13 +265,24 @@
        }
        if (this.paramVOS.saveafterevent) {
          let urlobj = parseEventByUrl(this.paramVOS.saveafterevent,null,null,'doAction');
          import(`./${urlobj.jsPath}.js`).then(module => {
            module[urlobj.methodName]({
              paramVOS: this.paramVOS,
              dataStore: this.dataStore,
              sourceData:this.sourceData
            });
          })
          if(urlobj.params){
            Object.assign(this.paramVOS,urlobj.params);
          }
          if(validatenull(urlobj.jsPath)){
            this.saveAfterHandle(this.paramVOS);
          }else{
            try {
              import(`./${urlobj.jsPath}.js`).then(module => {
                module[urlobj.methodName]({
                  paramVOS: this.paramVOS,
                  dataStore: this.dataStore,
                  sourceData:this.sourceData
                });
              })
            } catch (error) {
              this.$message.error('未找到保存后置事件执行js');
            }
          }
        }
        that.dialogClose();
      });
@@ -275,7 +308,15 @@
    },
    getFormData(form) {
      this.form = form;
    }
    },
    //保存前置事件
    saveBforeHandle(params){
      this.$message.info('执行保存前置事件');
    },
    //保存后置事件
    saveAfterHandle(params){
      this.$message.info('保存后置事件执行');
    },
  }
}
</script>
Source/plt-web/plt-web-ui/src/components/actions/base/StartWorkflowAction.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
/**
 * æŒ‰é’®å¤„理 ä¸šåŠ¡ç±»åž‹å®¡ç­¾
 */
import {paramLow,callPreEvent, callPostEvent} from '../BaseAction';
import {validatenull} from "@/util/validate";
import Vue from "vue";
export const doAction = (options,callback) => {
  options.sourceData = options.sourceData || {};
  options.dataStore = options.dataStore || [];
  if (!options.dataStore || options.dataStore.length < 1) {
    Vue.prototype.$message.error("请选择需要发起流程的数据");
    return false;
  }
  if (!options.paramVOS.multi && options.dataStore.length > 1) {
    Vue.prototype.$message.error("仅能选择一条数据发起流程");
    return false;
  }
  //验证不允许启动的条件
  if(!validatenull(options.paramVOS.checknotprocess)) {
    let notprocess = options.paramVOS.checknotprocess.split('&');
    let checknotprocess=false;
    notprocess.forEach((item,i)=>{
      if (options.dataStore[0][item.split('=')[0]] == item.split('=')[1]) {
        checknotprocess=true;
        return false;
      }
    })
    if (checknotprocess) {
      Vue.prototype.$message.error(replaceFreeMarker(options.paramVOS.checknotprocessmsg,options.dataStore,{}) || "当前数据不允许发起流程");
      return false;
    }
  }
  callPreEvent(options, doBefore, function (options) {
    showStartWindow(options, function () {
      callPostEvent(options, doAfter, callback,type);
    });
  });
};
/**
 * æ˜¾ç¤ºæµç¨‹çš„窗口
 * @param options æŒ‰é’®çš„配置信息
 * @param callback å›žè°ƒ
 */
export const showStartWindow = (options,callback)=> {
  const paramVOS = options.paramVOS;
}
/**
 * å‰ç½®äº‹ä»¶
 * @param options æŒ‰é’®çš„配置信息
 * @param callback å›žè°ƒ
 */
export const doBefore = (options,callback)=> {
  console.log("执行增加前置事件")
  if(callback){
    callback(options);
  }
}
/**
 * åŽç½®äº‹ä»¶
 * @param options æŒ‰é’®çš„配置信息
 * @param callback å›žè°ƒ
 */
export const doAfter = (options,callback,actionType)=> {
  console.log('执行增加后置事件');
  if(callback){
    callback(actionType);
  }
}