派生自 wuyushui/SewerAndRainNetwork

XingChuan
2021-05-30 2d5e75bbc04d8c4c5c7dc6bb141ad16ffa2d9936
src/utils/wfsQueryUtils.js
@@ -9,48 +9,48 @@
 *    }
 * @returns {string}
 */
function getPropertyNameQueryAndOrWFSUrl(params) {
   var url = ''
   if ((params.Or === undefined || params.Or.length === 0) && (params.And === undefined || params.And.length === 0) && (params.Not === undefined || params.Not.length === 0)) {
      url = params.Url + '?VERSION=1.0.0&SERVICE=WFS&REQUEST=getfeature&TYPENAME=' + params.TypeName + '&outputformat=json&maxfeature=20000'
   } else {
      url = params.Url + '?VERSION=1.0.0&SERVICE=WFS&REQUEST=getfeature&TYPENAME=' + params.TypeName + '&outputformat=json&maxfeature=20000&Filter=<Filter>'
   }
   if (params.Or != null && params.Or.length !== 0) {
       if (params.Or.length === 1) {
           url += '<PropertyIsEqualTo><PropertyName>' + params.Or[0].PropertyName + '</PropertyName><Literal>' + params.Or[0].PropertyValue + '</Literal></PropertyIsEqualTo>'
       } else {
           url += '<OR>'
           for (let i = 0; i < params.Or.length; i++) {
               url += '<PropertyIsEqualTo><PropertyName>' + params.Or[i].PropertyName + '</PropertyName><Literal>' + params.Or[i].PropertyValue + '</Literal></PropertyIsEqualTo>'
           }
           url += '</OR>'
       }
   }
   if (params.And != null && params.And.length !== 0) {
      if (params.And.length === 1) {
              url += '<PropertyIsEqualTo><PropertyName>' + params.And[0].PropertyName + '</PropertyName><Literal>' + params.And[0].PropertyValue + '</Literal></PropertyIsEqualTo>'
      } else {
          url += '<AND>'
          for (let j = 0; j < params.And.length; j++) {
              url += '<PropertyIsEqualTo><PropertyName>' + params.And[j].PropertyName + '</PropertyName><Literal>' + params.And[j].PropertyValue + '</Literal></PropertyIsEqualTo>'
          }
          url += '</AND>'
function getPropertyNameQueryAndOrWFSUrl (params) {
  var url = ''
  if ((params.Or === undefined || params.Or.length === 0) && (params.And === undefined || params.And.length === 0) && (params.Not === undefined || params.Not.length === 0)) {
    url = params.Url + '?VERSION=1.0.0&SERVICE=WFS&REQUEST=getfeature&TYPENAME=' + params.TypeName + '&outputformat=json&maxfeature=20000'
  } else {
    url = params.Url + '?VERSION=1.0.0&SERVICE=WFS&REQUEST=getfeature&TYPENAME=' + params.TypeName + '&outputformat=json&maxfeature=20000&Filter=<Filter>'
  }
  if (params.Or != null && params.Or.length !== 0) {
    if (params.Or.length === 1) {
      url += '<PropertyIsEqualTo><PropertyName>' + params.Or[0].PropertyName + '</PropertyName><Literal>' + params.Or[0].PropertyValue + '</Literal></PropertyIsEqualTo>'
    } else {
      url += '<OR>'
      for (let i = 0; i < params.Or.length; i++) {
        url += '<PropertyIsEqualTo><PropertyName>' + params.Or[i].PropertyName + '</PropertyName><Literal>' + params.Or[i].PropertyValue + '</Literal></PropertyIsEqualTo>'
      }
   }
   if (params.Not != null && params.Not.length !== 0) {
      url += '<NOT>'
       for (let k = 0; k < params.Not.length; k++) {
           url += '<PropertyIsEqualTo><PropertyName>' + params.Not[k].PropertyName + '</PropertyName><Literal>' + params.Not[k].PropertyValue + '</Literal></PropertyIsEqualTo>'
       }
      url += '</NOT>'
   }
    if ((params.Or !== undefined && params.Or.length !== 0) || (params.And !== undefined && params.And.length !== 0) || (params.Not !== undefined && params.Not.length !== 0)) {
        url += '</Filter>'
      url += '</OR>'
    }
   return url
  }
  if (params.And != null && params.And.length !== 0) {
    if (params.And.length === 1) {
      url += '<PropertyIsEqualTo><PropertyName>' + params.And[0].PropertyName + '</PropertyName><Literal>' + params.And[0].PropertyValue + '</Literal></PropertyIsEqualTo>'
    } else {
      url += '<AND>'
      for (let j = 0; j < params.And.length; j++) {
        url += '<PropertyIsEqualTo><PropertyName>' + params.And[j].PropertyName + '</PropertyName><Literal>' + params.And[j].PropertyValue + '</Literal></PropertyIsEqualTo>'
      }
      url += '</AND>'
    }
  }
  if (params.Not != null && params.Not.length !== 0) {
    url += '<NOT>'
    for (let k = 0; k < params.Not.length; k++) {
      url += '<PropertyIsEqualTo><PropertyName>' + params.Not[k].PropertyName + '</PropertyName><Literal>' + params.Not[k].PropertyValue + '</Literal></PropertyIsEqualTo>'
    }
    url += '</NOT>'
  }
  if ((params.Or !== undefined && params.Or.length !== 0) || (params.And !== undefined && params.And.length !== 0) || (params.Not !== undefined && params.Not.length !== 0)) {
    url += '</Filter>'
  }
  return url
}
export default {
    getPropertyNameQueryAndOrWFSUrl
  getPropertyNameQueryAndOrWFSUrl
}