ludc
2023-08-24 56c45e1f4be85d6bbfb3a03437021c6742b32ad9
Source/UBCS-WEB/src/views/docking/info.vue
@@ -26,7 +26,7 @@
        </avue-crud>
      </basic-container>
    </el-main>
    <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd>
    <infoForm ref="infoForm" @refreshTable="refreshChange" :formData="editAttribute"></infoForm>
    <!-- 高级查询对话框 -->
    <advanced-query
      :ref="advancedQueryParam.ref"
@@ -39,31 +39,53 @@
<script>
import {
  getList,
  remove,
  add,
  update, getPage, getApplyRange
} from "@/api/omd/OmdAttribute";
  getList,add,edit,del,push,updateStatus
} from "@/api/docking/info";
import {getDictionary} from "@/api/omd/enum";
import {mapGetters} from "vuex";
import infoForm from "./infoForm.vue";
export default {
  name: "info",
  components:{infoForm},
  data() {
    return {
      //接口类型下拉
      interfaceTypeList: [{
        label: 'webService', value: 'webService'
      }, {
        label: '类路径', value: 'classPath'
      }, {
        label: 'Http', value: 'http'
      }],
      //参数类型下拉
      paramTypeList: [{
        label: 'xml', value: 'xml'
      }, {
        label: 'Json', value: 'json'
      }],
      //返回值类型下拉
      returnTypeList: [{
        label: 'xml', value: 'xml'
      }, {
        label: 'Json', value: 'json'
      }],
      //推送类型
      pushTypeList: [{value: '1', label: '数据推送'},
        {value: '2', label: '分类推送'},
        {value: '3', label: '编码申请'},
        {value: '4', label: '编码更改(状态、回收)'},
        {value: '5', label: '分类查询'},
        {value: '6', label: '含规则信息的分类查询'},
        {value: '7', label: '数据查询'}],
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 100
      },
      selectRow: "",
      selectRow: {},
      data: [],
      form: {},
      attribute: {
        nullable: true
      },
      editAttribute: {},
      applyRangeData: [],
      selectionList: [],
      option: {
        height: "auto",
@@ -87,26 +109,21 @@
        columnBtn: false,
        column: [{
          label: '推送类型',
          field: 'pushTypeText',
          prop: 'pushType',
          sortable: true,
          width: 150,
          type: 'select',
          dicData: this.pushType,
          props: {
            label: "value",
            value: "key"
          },
          formatter:function (d){
            return this.pushTypeList[d.pushType]
          }
        }, {
          label: '系统名称',
          prop: 'sysbasename',
          prop: 'sysBaseName',
          sortable: true,
          search: true,
          width: 150
        }, {
          label: '系统编号',
          prop: 'sysbaseid',
          prop: 'sysBaseId',
          sortable: true,
          search: true,
          width: 150
        }, {
          label: '接口函数',
@@ -115,12 +132,12 @@
          width: 150
        }, {
          label: '命名空间',
          prop: 'namespace',
          prop: 'nameSpace',
          sortable: true,
          width: 150
        }, {
          label: 'soapAction',
          prop: 'soapaction',
          prop: 'soapAction',
          sortable: true,
          width: 150
        }, {
@@ -135,35 +152,27 @@
          width: 150
        }, {
          label: '请求地址',
          prop: 'requesturl',
          prop: 'requestUrl',
          sortable: true,
          width: 150
        }, {
          label: '参数类型',
          prop: 'paramtype',
          prop: 'paramType',
          sortable: true,
          width: 150
          width: 150,
          formatter:function (d){
            return this.paramTypeList[d.paramType]
          }
        }, {
          label: '返回值类型',
          prop: 'returntype',
          prop: 'returnType',
          sortable: true,
          width: 150
          width: 150,
          formatter:function (d){
            return this.returnTypeList[d.returnType]
          }
        }]
      },
      itemForm: {
        itemData: {},
        activeName: "referTab",
        enumInitFlag: false,
        referInitFlag: false,
        form: {}
      },
      pushType: [{key: '1', value: '数据推送'},
        {key: '2', value: '分类推送'},
        {key: '3', value: '编码申请'},
        {key: '4', value: '编码更改(状态、回收)'},
        {key: '5', value: '分类查询'},
        {key: '6', value: '含规则信息的分类查询'},
        {key: '7', value: '数据查询'}],
      // 高级查询对话框相关参数
      advancedQueryParam: {
        ref: 'advancedQuery',
@@ -199,14 +208,10 @@
    selectionChange(list) {
      this.selectionList = list;
      if(this.selectionList.length <= 0){
        this.itemForm.itemData = null
        this.selectRow = null
        this.attribute = null
      }
      if (this.selectionList.length > 0) {
        this.itemForm.itemData = this.selectionList[list.length-1];
        this.selectRow = this.selectionList[list.length-1].$index;
        this.attribute = this.selectionList[list.length-1];
      }
    },
    selectionClear() {
@@ -223,26 +228,30 @@
      this.onLoad(this.page, this.query);
    },
    addSave() {
      this.$refs.originalAdd.showSubmitDialog = true;
      const newAttr = {};
      newAttr.nullable = true;
      this.$refs.originalAdd.attribute = newAttr;
      this.$refs.infoForm.showSubmitDialog = true;
      this.$refs.infoForm.formData = {
        dataFlowType:'push',
        pushType:'1',
        sourceSystemName:'编码系统',
        sourceSystemOid:'code00000001',
        sourceSystemId:'CODE',
        targetSystemName:'',
        targetSystemOid:'',
        targetSystemId:'',
        sysIntParamVOs:[],
        sysIntHeaderVOs:[]
      };
    },
    updateSave(row,index) {
      this.selectRow = index;
      var json = JSON.stringify(row);
      this.editAttribute = JSON.parse(json);
      this.editAttribute.nullable = row.nullable == 'true' ? true : false;
      this.$refs.originalAdd.attribute = this.editAttribute;
      this.$refs.originalAdd.showSubmitDialog = true;
      this.checkUsingReferDict(row);
      this.$refs.originalAdd.activeName = this.itemForm.activeName;
      this.$refs.originalAdd.enumInitFlag = this.itemForm.enumInitFlag;
      this.$refs.originalAdd.referInitFlag = this.itemForm.referInitFlag;
      // this.refreshChange()
      this.selectRow = row;
      this.editAttribute = row;
      this.editAttribute.sysIntParamVOs = row.sysIntParamVOs||[];
      this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs||[];
      this.$refs.infoForm.formData = this.editAttribute;
      this.$refs.infoForm.showSubmitDialog = true;
    },
    deleteSave(row,index) {
      this.$confirm("删除元数据将无法被恢复, 是否继续?", "提示", {
      this.$confirm("删除数据将无法被恢复, 是否继续?", "提示", {
        iconClass: 'el-icon-question',
        confirmButtonText: "确定",
        cancelButtonText: "取消",
@@ -255,9 +264,41 @@
        });
      });
    },
    ENABLE(row,index){
      //启用
      this.updateStatus("enable");
    },
    DISABLE(row,index){
      //停用
      this.updateStatus("disable");
    },
    updateStatus(able){
      var that = this;
      var paramTemp = {
        update:able,
        oid:this.selectRow.oid,
        ts:this.selectRow.ts
      };
      this.$confirm("是否要"+(able == "enbale" ? "启用" : (able == "disable" ? "停用": "发布")) +"这条数据?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          return updateStatus(paramTemp);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message:(able == "enbale" ? "启用成功" : (able == "disable" ? "停用成功": "发布成功"))
          });
          this.$refs.crud.toggleSelection();
        });
    },
    PUSH(){
      if (this.selectionList.length != 1) {
        this.$message.error('请选择一条数据')
        this.$message.error('请选择数据')
        return false;
      }
      this.$confirm("是否要"+ (this.selectionList[0].pushType == "1" ? "推送数据" : "推送分类"), {
@@ -279,62 +320,18 @@
    },
    onLoad(page, params = {}) {
      this.loading = true;
      getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
      getList(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.loading = false;
        this.data = res.data.data.records;
        this.itemData = this.data[0];
      });
    },
    rowClick(row) {
      this.itemForm.itemData = row;
      this.selectRow = row.$index;
      this.attribute = row;
      this.selectRow = row;
      this.$refs.crud.toggleSelection();
      this.$refs.crud.toggleRowSelection(row); //选中当前行
      //this.checkUsingReferDict(row);
    },
    checkUsingReferDict(row){
      if (row.referToId !== null && row.referToId !== ""){
        this.itemForm.activeName = 'referTab';
        this.itemForm.referInitFlag = true;
        this.itemForm.enumInitFlag = false;
      }else if (row.usingDict === 'true'){
        this.itemForm.activeName = 'enumTab';
        this.itemForm.referInitFlag = false;
        this.itemForm.enumInitFlag = true;
        getDictionary({code: row.dictCode}).then(res => {
          this.editAttribute.dictValue = res.data.data[0].label;
          this.itemForm.itemData.dictValue = this.editAttribute.dictValue;
          this.$refs.originalAdd.dictEnums = res.data.data;
        })
      }else {
        this.itemForm.activeName = 'referTab';
        this.itemForm.referInitFlag = true;
        this.itemForm.enumInitFlag = false;
      }
    },
    selectBtmType() {
      this.referType.display = true;
      this.referType.title = "请选择" + this.referType.value;
    },
    applyRangeOpen() {
      if (!this.selectRow && this.selectRow != 0) {
        this.$message({
          type: "warning",
          message: "请先选择属性"
        });
      }
      var oid = this.data[this.selectRow].oid;
      getApplyRange(oid).then(res => {
        this.applyRangeData = res.data.data;
        this.$refs.applyRange.rangeData = this.applyRangeData;
        this.$refs.applyRange.showDialog = true;
      });
    },
    /** 高级查询对话框组件,组件返回的值是condtionMap[field]形式的查询条件,保留了和之前一样的方式 */
    echoSeniorContionMap(conditionMaps){