king
2020-03-19 e6a6fb8d27b14581ae771325c1b99ee26d6618dd
src/tabviews/zshare/normalTable/index.jsx
@@ -165,60 +165,113 @@
      )
    } else if (item.type === 'colspan') {
      if (item.subColumn.length === 0) return ''
      let ordertype = item.order
      let contents = []
      let images = []
      let contents = item.subColumn.map(col => {
        let content = ''
        if (col.type === 'text' || col.type === 'textarea') {
          if (col.field && record.hasOwnProperty(col.field)) {
            content = `${record[col.field]}`
          }
      item.subColumn.forEach(col => {
        if (!col.field || !record.hasOwnProperty(col.field)) return
          content = (col.prefix || '') + content + (col.postfix || '')
        } else if (col.type === 'number') {
          if (col.field && record.hasOwnProperty(col.field)) {
            content = +record[col.field]
          }
          if (content && col.format === 'thdSeparator') {
        if (col.type === 'number' && typeof(record[col.field]) === 'number') {
          let content = record[col.field]
          if (col.format === 'thdSeparator') {
            content = `${content}`
            content = content.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
          }
          content = (col.prefix || '') + content + (col.postfix || '')
          contents.push(content)
        } else if (col.type === 'picture') {
          let photos = ''
          if (col.field && record.hasOwnProperty(col.field)) {
          let photos = []
          try {
            photos = record[col.field].split(',')
          } else {
            photos = ''
          }
          content = <div className="picture-col">
            {photos && photos.map((url, i) => {
              return <img key={`${i}`} src={url} alt=""/>
            })}
          </div>
          } catch {
            photos = []
        }
        return content
          images.push(...photos)
        } else {
          contents.push((col.prefix || '') + record[col.field] + (col.postfix || ''))
        }
      })
      if (contents && item.order === 'vertical2') {
        let _contents = []
        for(let i = 0; i < contents.length; i += 2) {
          _contents.push(contents.slice(i, i + 2).join(' '))
        }
        contents = _contents
      if (images.length > 0 && ['vertical2', 'horizontal', 'vertical'].includes(ordertype)) {
        ordertype = 'topPicBottomText'
      }
      return (
        <div>
          <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
            {contents && item.order === 'vertical' && contents.map((content, index) => {
            {this.getCospanContent(ordertype, contents, images)}
          </div>
        </div>
      )
    }
  }
  getCospanContent = (type, contents, images) => {
    if (type === 'vertical') {
      return contents.map((content, index) => {
              return (<p key={index}>{content}</p>)
            })}
            {contents && item.order === 'vertical2' && contents.map((content, index) => {
              return (<p key={index}>{content}</p>)
            })}
            {contents && item.order === 'horizontal' && contents.map((content, index) => {
      })
    } else if (type === 'horizontal') {
      return contents.map((content, index) => {
              return (<span key={index}>{content}</span>)
      })
    } else if (type === 'vertical2') {
      return (
        <div className="content-fence">
          <div className="content-fence-left">
            {contents.map((content, index) => {
              if (index % 2 === 0) {
                return (<p key={index}>{content}</p>)
              } else {
                return ''
              }
            })}
          </div>
          <div className="content-fence-right">
            {contents.map((content, index) => {
              if (index % 2 === 1) {
                return (<p key={index}>{content}</p>)
              } else {
                return ''
              }
            })}
          </div>
        </div>
      )
    } else if (type === 'topPicBottomText') {
      return (
        <div className="content-fence">
          <div className="content-fence-top">
            {images.map((url, index) => {
              return (<img key={`${index}`} src={url} alt=""/>)
            })}
            {images.map((url, index) => {
              return (<img key={`${index}`} src={url} alt=""/>)
            })}
          </div>
          <div className="content-fence-bottom">
            {contents.map((content, index) => {
              return (<p key={index}>{content}</p>)
            })}
          </div>
        </div>
      )
    } else if (type === 'leftPicRightText') {
      return (
        <div className="content-fence">
          <div className="content-fence-left">
            {images.map((url, index) => {
              return (<img key={`${index}`} src={url} alt=""/>)
            })}
          </div>
          <div className="content-fence-right">
            {contents.map((content, index) => {
              return (<p key={index}>{content}</p>)
            })}
          </div>
        </div>