田源
2023-09-01 d1fae033c247f26d4e3676015a65bd2dc137f474
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-select v-model="formData.dataFlowType" placeholder="请选择" @change="dataFlowTypeChange">
        <el-form-item label="接口类型" prop="dataFlowType">
          <el-select v-model="formData.dataFlowType" placeholder="请选择" @change="dataFlowTypeChange" :disabled="formData.type == 'edit'">
            <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,16 +39,16 @@
                  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',
@@ -55,29 +56,57 @@
                  placeholder: '请选择',
                  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=='accept'" label="集成系统" prop="sourceSystemName">
          <vciWebRefer
            :referConfig="{
              :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.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/dockingManagement/gridDockingSystem'},
                  options: {isMuti: false, type: 'default', url: referUrl},
                }"
            :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>
@@ -91,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="请选择">
@@ -118,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>
@@ -180,7 +203,6 @@
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitAttribute">确定</el-button>
        <el-button @click="cancelSubmit">取消</el-button>
      </div>
    </el-dialog>
@@ -229,9 +251,9 @@
        label: 'Json', value: 'json'
      }],
      dataFlowTypeList: [{
        label: 'push', value: 'push'
        label: '推送', value: 'push'
      }, {
        label: 'accept', value: 'accept'
        label: '接收', value: 'accept'
      }],
      //推送类型
      pushTypeList: [{value: '1', label: '数据推送'},
@@ -284,7 +306,7 @@
        soapAction: [
          {required: true, message: '请输入soapAction', trigger: 'blur'}
        ],
        targName: [
        targetName: [
          {required: true, message: '请输入参数名称', trigger: 'blur'}
        ],
        cxfaxis: [
@@ -363,9 +385,52 @@
          // 选定行
          selectRow: ''
        },
        dictEnums: []
        dictEnums: [],
      }
    }
  },
  watch:{
    formData: {
      handler(newval, oldval) {
        // console.log(newval)
        if (newval && newval.type === 'edit') {
          if (this.formData.dataFlowType == 'accept') {
            this.pushTypeList = [
              { value: '3', label: '编码申请' },
              { value: '4', label: '编码更改(状态、回收)' },
              { value: '5', label: '分类查询' },
              { value: '6', label: '含规则信息的分类查询' },
              { value: '7', label: '数据查询' }
            ];
            this.$nextTick(() => {
              // 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.$nextTick(() => {
              this.formData.pushType = '1';
              this.formData.sourceSystemName = '编码系统';
              this.formData.sourceSystemOid = 'code00000001';
              this.formData.sourceSystemId = 'CODE';
              // this.formData.targetSystemName = '';
              // this.formData.targetSystemOid = '';
              // this.formData.targetSystemId = '';
            });
          }
        }
      }
    },
  },
  created() {
    //this.geDictData('interfaceType', this.interfaceTypeList)
@@ -384,7 +449,7 @@
        {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';
@@ -406,7 +471,7 @@
  },
  methods: {
    closeSubmitDialog() {
      this.resetForm();
      // this.resetForm();
      this.showSubmitDialog = false;
    },
    resetForm() {
@@ -461,13 +526,18 @@
    submitAttribute() {
      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
        }
@@ -486,14 +556,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;
          });
        }
      })