wangting
2024-05-06 506b5b59e3899d8dd40a61cc8b9a575bbde3caaa
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,9 +168,24 @@
      }
    },
    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;
          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() {
@@ -204,7 +219,7 @@
        formValues.defaultValues.btmname = this.paramVOS.type;
      }
      let datas = {
        formDefineId: this.paramVOS.form,
        formDefineId: this.paramVOS.form || "",
        preEvent: this.paramVOS.preevent,
        afterEvent: this.paramVOS.afterevent,
        beforeServerEvent: this.paramVOS.beforeserverevent,
@@ -220,7 +235,7 @@
            message: "保存成功!"
          });
          if(that.saveCallback){
            that.saveCallback(that.form);
            that.saveCallback(that.type,that.form);
          }
          that.dialogClose();
        });
@@ -231,7 +246,7 @@
            message: "修改成功!"
          });
          if(that.saveCallback){
            that.saveCallback(that.form);
            that.saveCallback(that.type,that.form);
          }
          that.dialogClose();
        });