wangting
2024-05-07 46c673f0bf4a22ae108e90cfcf1bdeb4f0b6a45c
Source/ProjectWeb/src/components/actions/AddEditDialog.vue
@@ -16,6 +16,7 @@
                :isEdit="true"
                :formItems="formItems"
                :formData="form"
                :initValue="paramVOS.initvalue"
                @getFormData="getFormData">
    </basic-form>
    <ui-view ref="uiViewRef" v-else-if="paramVOS.context"
@@ -116,7 +117,7 @@
  created() {
  },
  watch: {
    sourceData: {
    paramVOS: {
      handler(val) {
        if (this.paramVOS.form) {
          this.onLoad();
@@ -136,7 +137,6 @@
        getFormDefineById(this.paramVOS.type,this.paramVOS.form).then(result => {
          this.formItems=result.data.obj.items;
          this.span=result.data.obj.columnOneRow?(24/result.data.obj.columnOneRow) : 12;
          if (this.paramVOS.initvalue) {
            this.form=this.paramVOS.initvalue;
          }
@@ -153,7 +153,7 @@
              formDefineId: this.paramVOS.form,
              oid: this.dataStore[0].oid
            }, sourceDataMap), this.paramVOS.getdataurl, this.paramVOS.getdatamethod).then(res => {
              this.form = res.data.obj;
              this.form=res.data.obj;
              this.loading = false;
            }).catch(error => {
              this.$message.error(error);
@@ -168,15 +168,32 @@
      }
    },
    contextSave(){
      debugger;
      if(this.saveCallback){
        this.saveCallback({});
      const useDataType=this.paramVOS["useDataType"] || "form";//使用ui上下文中的哪个类型数据,默认form。值:form、tree、table、TreeTable
      for(let key in this.$refs.uiViewRef.data){
        if(this.$refs.uiViewRef.data[key].type== useDataType){
          this.form=this.$refs.uiViewRef.data[key].data;
          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);
            })
          } else {
            this.formSaveHandle();
          }
          return;
        }
      }
    },
    formSave() {
      let that=this;
      this.$refs.formRef.validate((valid, done) => {
        if (valid) {
          this.formDefineId=this.paramVOS.form;
          if (this.paramVOS.savebeforeevent) {
            var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction');
            import("../"+urlobj.jsPath+".js").then(module => {
@@ -204,7 +221,7 @@
        formValues.defaultValues.btmname = this.paramVOS.type;
      }
      let datas = {
        formDefineId: this.paramVOS.form,
        formDefineId: this.formDefineId,
        preEvent: this.paramVOS.preevent,
        afterEvent: this.paramVOS.afterevent,
        beforeServerEvent: this.paramVOS.beforeserverevent,
@@ -220,7 +237,7 @@
            message: "保存成功!"
          });
          if(that.saveCallback){
            that.saveCallback(that.form);
            that.saveCallback(that.type,that.form);
          }
          that.dialogClose();
        });
@@ -231,7 +248,7 @@
            message: "修改成功!"
          });
          if(that.saveCallback){
            that.saveCallback(that.form);
            that.saveCallback(that.type,that.form);
          }
          that.dialogClose();
        });