田源
2023-08-30 eccac28a7a34ff4c817d70c8fbe8d93fd4d535e0
Source/UBCS-WEB/src/views/docking/infoForm.vue
@@ -4,13 +4,13 @@
               style="height: 110vh;" top="-5%">
      <el-form ref="form" :model="formData" show-message="true" inline size="medium" label-suffix=":"
               class="dockingForm" :rules="rules" status-icon="true">
        <el-form-item label="dataFlowType" prop="dataFlowType">
        <el-form-item label="接口类型" prop="dataFlowType">
          <el-select v-model="formData.dataFlowType" placeholder="请选择" @change="dataFlowTypeChange">
            <el-option v-for="item in dataFlowTypeList" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item :label="formData.dataFlowType=='push'?'推送类型':'接受类型'" prop="pushType">
        <el-form-item :label="formData.dataFlowType=='push'?'推送类型':'接收类型'" prop="pushType">
          <el-select v-model="formData.pushType" placeholder="请选择" @change="pushTypeChange">
            <el-option v-for="item in pushTypeList" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
@@ -28,9 +28,10 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="分类选择" prop="classifyName">
          <vciWebRefer
            :referConfig="{
        <div v-if="formData.dataFlowType=='push'">
          <el-form-item  label="分类选择" prop="classifyName">
            <vciWebRefer
              :referConfig="{
                  title: '分类选择',
                  showField: 'classifyName',
                  field: 'classifyOid',
@@ -38,80 +39,74 @@
                  placeholder: '请选择分类选择',
                  options: {isMuti: false, type: 'tree', url: 'api/ubcs-code/codeClassify/treeCodeClassify'},
                }"
            :value="formData.classifyOid"
            :text="formData.classifyName"
            :disabled="false"
            :display="true"
            @setReferValue="setReferValue"
          ></vciWebRefer>
        </el-form-item>
        <el-form-item v-if="formData.dataFlowType=='push'" label="集成系统" prop="targetSystemName">
          <vciWebRefer
            :referConfig="{
              :value="formData.classifyOid"
              :text="formData.classifyName"
              :disabled="false"
              :display="true"
              @setReferValue="setReferValue"
            ></vciWebRefer>
          </el-form-item>
          <el-form-item label="集成系统" prop="targetSystemName">
            <vciWebRefer
              :referConfig="{
                  title: '集成系统',
                  showField: 'targetSystemName',
                  field: 'targetSystemOid',
                  fieldMap:{'targetSystemId':'id'},
                  placeholder: '请选择',
                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'},
                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/dockingManagement/gridDockingSystem'},
                }"
            :value="formData.targetSystemOid"
            :text="formData.targetSystemName"
            :disabled="false"
            :display="true"
            @setReferValue="setReferValue"
          ></vciWebRefer>
        </el-form-item>
        <el-form-item v-if="formData.dataFlowType=='push'" label="编码系统" prop="sourceSystemName">
          <vciWebRefer
            :referConfig="{
                  title: '编码系统',
                  showField: 'sourceSystemName',
                  field: 'sourceSystemOid',
                  fieldMap:{'sourceSystemId':'id'},
                  placeholder: '请选择',
                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'},
              :value="formData.targetSystemOid"
              :text="formData.targetSystemName"
              :disabled="false"
              :display="true"
              @setReferValue="setReferValue"
            ></vciWebRefer>
          </el-form-item>
        </div>
        <div v-else>
<!--          <el-form-item  label="分类选择" prop="classifyName" style="display: none">-->
<!--          </el-form-item>-->
          <el-form-item  label="分类选择" prop="classifyName" v-if="formData.pushType !='5' && formData.pushType !='6'">
            <vciWebRefer
              :referConfig="{
                  title: '分类选择',
                  showField: 'classifyName',
                  field: 'classifyOid',
                  fieldMap:{'classifyId':'id'},
                  placeholder: '请选择分类选择',
                  options: {isMuti: false, type: 'tree', url: 'api/ubcs-code/codeClassify/treeCodeClassify'},
                }"
            :value="formData.sourceSystemOid"
            :text="formData.sourceSystemName"
            :disabled="false"
            :display="true"
            @setReferValue="setReferValue"
          ></vciWebRefer>
        </el-form-item>
        <el-form-item v-if="formData.dataFlowType=='accept'" label="编码系统" prop="targetSystemName">
          <vciWebRefer
            :referConfig="{
                  title: '编码系统',
                  showField: 'targetSystemName',
                  field: 'targetSystemOid',
                  fieldMap:{'targetSystemId':'id'},
                  placeholder: '请选择',
                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'},
                }"
            :value="formData.targetSystemOid"
            :text="formData.targetSystemName"
            :disabled="false"
            :display="true"
            @setReferValue="setReferValue"
          ></vciWebRefer>
        </el-form-item>
        <el-form-item v-if="formData.dataFlowType=='accept'" label="集成系统" prop="sourceSystemName">
          <vciWebRefer
            :referConfig="{
              :value="formData.classifyOid"
              :text="formData.classifyName"
              :disabled="false"
              :display="true"
              @setReferValue="setReferValue"
            ></vciWebRefer>
          </el-form-item>
          <el-form-item label="集成系统" prop="sourceSystemName">
            <vciWebRefer
              :referConfig="{
                  title: '集成系统',
                  showField: 'sourceSystemName',
                  field: 'sourceSystemOid',
                  fieldMap:{'sourceSystemId':'id'},
                  placeholder: '请选择',
                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'},
                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/dockingManagement/gridDockingSystem'},
                }"
            :value="formData.sourceSystemOid"
            :text="formData.sourceSystemName"
            :disabled="false"
            :display="true"
            @setReferValue="setReferValue"
          ></vciWebRefer>
              :value="formData.sourceSystemOid"
              :text="formData.sourceSystemName"
              :disabled="false"
              :display="true"
              @setReferValue="setReferValue"
            ></vciWebRefer>
          </el-form-item>
        </div>
        <el-form-item label="接口方式" prop="interfaceType">
          <el-select v-model="formData.interfaceType" clearable placeholder="请选择">
            <el-option v-for="item in interfaceTypeList" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item v-if="formData.pushType=='1'" label="是否推送集团码" prop="isGroupCodeFlag">
          <el-switch v-model="formData.isGroupCodeFlag" ></el-switch>
@@ -125,14 +120,8 @@
        <el-form-item  v-if="formData.pushType=='7'" label="是否查询集团码" prop="isGroupCodeFlag">
          <el-switch v-model="formData.isGroupCodeFlag" ></el-switch>
        </el-form-item>
        <el-form-item label="系统描述"  style="width: 850px;">
        <el-form-item label="系统描述"  style="width: 850px;" prop="description">
          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 5}" v-model="formData.description" style="width: 740px;"></el-input>
        </el-form-item>
        <el-form-item label="接口类型" prop="interfaceType">
          <el-select v-model="formData.interfaceType" clearable placeholder="请选择">
            <el-option v-for="item in interfaceTypeList" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item v-if="formData.interfaceType=='http'" label="请求方式" prop="requestMethod">
          <el-select v-model="formData.requestMethod" placeholder="请选择">
@@ -152,8 +141,8 @@
        <el-form-item v-if="formData.interfaceType=='webService'" label="soapAction" prop="soapAction">
          <el-input v-model="formData.soapAction" ></el-input>
        </el-form-item>
        <el-form-item v-if="formData.interfaceType=='webService'" label="参数名称" prop="targName">
          <el-input v-model="formData.targName" ></el-input>
        <el-form-item v-if="formData.interfaceType=='webService'" label="参数名称" prop="targetName">
          <el-input v-model="formData.targetName" ></el-input>
        </el-form-item>
        <el-form-item v-if="formData.interfaceType=='webService'" label="cxfaxis" prop="cxfaxis">
          <el-input v-model="formData.cxfaxis" ></el-input>
@@ -263,9 +252,9 @@
        label: 'Json', value: 'json'
      }],
      dataFlowTypeList: [{
        label: 'push', value: 'push'
        label: '推送', value: 'push'
      }, {
        label: 'accept', value: 'accept'
        label: '接收', value: 'accept'
      }],
      //推送类型
      pushTypeList: [{value: '1', label: '数据推送'},
@@ -318,7 +307,7 @@
        soapAction: [
          {required: true, message: '请输入soapAction', trigger: 'blur'}
        ],
        targName: [
        targetName: [
          {required: true, message: '请输入参数名称', trigger: 'blur'}
        ],
        cxfaxis: [
@@ -401,6 +390,13 @@
      }
    }
  },
  watch:{
    formData:{
      handler(newval,oldval){
        console.log('newval',newval.dataFlowTypeText)
      }
    }
  },
  created() {
    //this.geDictData('interfaceType', this.interfaceTypeList)
  },
@@ -419,10 +415,23 @@
        {value: '6', label: '含规则信息的分类查询'},
        {value: '7', label: '数据查询'}]
      this.formData.pushType=''
      this.formData.targetSystemName='编码系统';
      this.formData.targetSystemOid='code00000001';
      this.formData.targetSystemId='CODE';
      this.formData.sourceSystemName='';
      this.formData.sourceSystemOid='';
      this.formData.sourceSystemId='';
    }else {
      this.pushTypeList=[{value: '1', label: '数据推送'},
        {value: '2', label: '分类推送'}]
      this.formData.pushType='1'
      this.formData.pushType='1' ;
      this.formData.sourceSystemName='编码系统';
      this.formData.sourceSystemOid='code00000001';
      this.formData.sourceSystemId='CODE';
      this.formData.targetSystemName='';
      this.formData.targetSystemOid='';
      this.formData.targetSystemId='';
    }
  },
  methods: {
@@ -431,10 +440,11 @@
      this.showSubmitDialog = false;
    },
    resetForm() {
      this.formData = {
        sysIntParamVOs: [],
        sysIntHeaderVOs: []
      };
      this.formData={}
      // this.formData = {
      //   sysIntParamVOs: [],
      //   sysIntHeaderVOs: []
      // };
      this.$refs.form.resetFields();
    },
    setReferValue(data) {
@@ -480,15 +490,21 @@
      }
    },
    submitAttribute() {
      console.log()
      const that = this;
      let pass=true
      if(validatenull(this.formData.classifyName)||validatenull(this.formData.sourceSystemName)||validatenull(this.formData.targetSystemName)){
      if(this.formData.dataFlowType=='push' && (validatenull(this.formData.classifyName)||validatenull(this.formData.targetSystemName))){
        that.$message.error('必填项不能为空');
        pass=false
        return;
      }
      if(this.formData.dataFlowType=='accept' && (validatenull(this.formData.sourceSystemName))){
        that.$message.error('集成系统不能为空');
        pass=false
        return;
      }
      this.$refs.form.validateField(['paramType','returnType','dataFlowType','pushType','classPath','requestMethod','requestUrl',
        'interfaceFunction','nameSpace','soapAction','targName','cxfaxis'],function (errormsg, field) {
        'interfaceFunction','nameSpace','soapAction','targetName','cxfaxis'],function (errormsg, field) {
        if (errormsg) {
          pass=false
        }
@@ -507,14 +523,19 @@
              ordernNo:item.$index
            }
          })
          add(that.formData).then(res => {
            that.$message.success("保存成功");
          const apiCall = that.formData.type == 'edit' ? edit : add;
          const Message = that.formData.type == 'edit' ? "修改成功" : "保存成功";
          console.log( that.formData)
          apiCall(that.formData).then(res => {
            that.$message.success(Message);
            that.showSubmitDialog = false;
            this.$refs.form.resetFields();
            this.formData = {
              sysIntParamVOs: [],
              sysIntHeaderVOs: []
            };
            that.$emit('refreshTable');
            that.formData.type=null;
          });
        }
      })
@@ -539,7 +560,13 @@
      if(value=='push'){
        this.pushTypeList=[{value: '1', label: '数据推送'},
          {value: '2', label: '分类推送'}]
        this.formData.pushType='数据推送'
        this.formData.pushType='1';
        this.formData.sourceSystemName='编码系统';
        this.formData.sourceSystemOid='code00000001';
        this.formData.sourceSystemId='CODE';
        this.formData.targetSystemName='';
        this.formData.targetSystemOid='';
        this.formData.targetSystemId='';
      }else if(value=='accept'){
        this.pushTypeList=[
          {value: '3', label: '编码申请'},
@@ -547,7 +574,14 @@
          {value: '5', label: '分类查询'},
          {value: '6', label: '含规则信息的分类查询'},
          {value: '7', label: '数据查询'}]
        this.formData.pushType=''
        this.formData.pushType='';
        this.formData.targetSystemName='编码系统';
        this.formData.targetSystemOid='code00000001';
        this.formData.targetSystemId='CODE';
        this.formData.sourceSystemName='';
        this.formData.sourceSystemOid='';
        this.formData.sourceSystemId='';
      }else{
        this.pushTypeList=[];
      }