king
2023-05-18 e9e8b1c7b481415714fff9a0d83099fd5a7d6ff0
src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
@@ -221,12 +221,12 @@
    }, 50)
    let values = {}
    if (col.editField) {
      values[col.field] = label
      values[col.editField] = val
    } else {
    // if (col.editField) {
    //   values[col.field] = label
    //   values[col.editField] = val
    // } else {
      values[col.field] = val
    }
    // }
    MKEmitter.emit('changeRecord', col.tableId, {...record, ...values})
  }
@@ -244,12 +244,12 @@
        })
      }
      if (col.editField) {
        values[col.field] = _option.label
        values[col.editField] = val
      } else {
      // if (col.editField) {
      //   values[col.field] = _option.label
      //   values[col.editField] = val
      // } else {
        values[col.field] = val
      }
      // }
    }
    this.setState({editing: false})
@@ -292,6 +292,10 @@
        content = `${record[col.field]}`
      }
      if (col.editType === 'select' && col.options.length > 0) {
        content = col.map.get(content) || content
      }
      if (content !== '') {
        if (col.textFormat === 'YYYY-MM-DD' && /^[1-9]\d{3}(-|\/)(0[1-9]|1[0-2])(-|\/)(0[1-9]|[1-2][0-9]|3[0-1])/.test(content)) {
          content = `${content.substr(0, 4)}-${content.substr(5, 2)}-${content.substr(8, 2)}`
@@ -330,21 +334,21 @@
            </td>)
          } else if (col.editType === 'switch') {
            let _value = ''
            if (col.editField) {
              _value = record[col.editField] !== undefined ? record[col.editField] : ''
            } else {
            // if (col.editField) {
            //   _value = record[col.editField] !== undefined ? record[col.editField] : ''
            // } else {
              _value = record[col.field] !== undefined ? record[col.field] : ''
            }
            // }
            return (<td className="editing_table_cell">
              <CusSwitch config={col} defaultValue={_value} autoFocus={true} onChange={this.onSwitchChange} onBlur={this.switchBlur}/>
            </td>)
          } else {
            let _value = ''
            if (col.editField) {
              _value = record[col.editField] !== undefined ? record[col.editField] : ''
            } else {
            // if (col.editField) {
            //   _value = record[col.editField] !== undefined ? record[col.editField] : ''
            // } else {
              _value = record[col.field] !== undefined ? record[col.field] : ''
            }
            // }
            return (<td className="editing_table_cell">
              <Select
                showSearch
@@ -425,7 +429,7 @@
            val = ''
          }
          return (<td className="editing_table_cell">
            <InputNumber className={err ? 'has-error' : ''} title={err} id={col.uuid + record.$$uuid} defaultValue={val} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
            <InputNumber className={err ? 'has-error' : ''} precision={col.decimal || 0} title={err} id={col.uuid + record.$$uuid} defaultValue={val} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
          </td>)
        } else {
          return (<td className={className + ' pointer'} style={style}>
@@ -462,6 +466,10 @@
          // eslint-disable-next-line
          content = eval(content)
        } catch (e) {
          if (window.debugger) {
            console.info(content)
            console.warn(e)
          }
          content = ''
        }
      }
@@ -470,6 +478,11 @@
      if (col.noValue === 'hide' && content === 0) {
        content = ''
      }
      if (col.round && typeof(content) === 'number') {
        content = Math.round(content * col.round) / col.round
        content = content.toFixed(col.decimal)
      }
      if (content !== '') {
@@ -501,14 +514,6 @@
        style = {...style, ...col.style}
      }
      children = (
        <CardCellComponent data={record} cards={config} elements={col.elements}/>
      )
    } else if (col.type === 'action') {
      style.padding = '0px'
      if (col.style) {
        style = {...style, ...col.style}
      }
      children = (
        <CardCellComponent data={record} cards={config} elements={col.elements}/>
      )
@@ -637,12 +642,12 @@
    }, 50)
    let values = {}
    if (col.editField) {
      values[col.field] = label
      values[col.editField] = val
    } else {
    // if (col.editField) {
    //   values[col.field] = label
    //   values[col.editField] = val
    // } else {
      values[col.field] = val
    }
    // }
    MKEmitter.emit('changeRecord', col.tableId, {...record, ...values})
  }
@@ -660,12 +665,12 @@
        })
      }
      if (col.editField) {
        values[col.field] = _option.label
        values[col.editField] = val
      } else {
      // if (col.editField) {
      //   values[col.field] = _option.label
      //   values[col.editField] = val
      // } else {
        values[col.field] = val
      }
      // }
    }
    setTimeout(() => {
@@ -703,11 +708,11 @@
    if (col.type === 'text') {
      if (col.editable === 'true' && !disabled) {
        let _value = ''
        if (col.editField) {
          _value = record[col.editField] !== undefined ? record[col.editField] : ''
        } else {
        // if (col.editField) {
        //   _value = record[col.editField] !== undefined ? record[col.editField] : ''
        // } else {
          _value = record[col.field] !== undefined ? record[col.field] : ''
        }
        // }
        
        if (!col.editType || col.editType === 'text') {
          children = (<>
@@ -736,6 +741,10 @@
        let content = ''
        if (record[col.field] !== undefined) {
          content = `${record[col.field]}`
        }
        if (col.editType === 'select' && col.options.length > 0) {
          content = col.map.get(content) || content
        }
        if (content !== '') {
@@ -778,7 +787,7 @@
        }
        children = (<>
          <InputNumber className={err ? 'has-error' : ''} title={err} id={col.uuid + record.$$uuid} defaultValue={_value} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
          <InputNumber className={err ? 'has-error' : ''} title={err} precision={col.decimal || 0} id={col.uuid + record.$$uuid} defaultValue={_value} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
        </>)
      } else {
        let content = ''
@@ -858,6 +867,10 @@
          // eslint-disable-next-line
          content = eval(content)
        } catch (e) {
          if (window.debugger) {
            console.info(content)
            console.warn(e)
          }
          content = ''
        }
      }
@@ -866,6 +879,11 @@
      if (col.noValue === 'hide' && content === 0) {
        content = ''
      }
      if (col.round && typeof(content) === 'number') {
        content = Math.round(content * col.round) / col.round
        content = content.toFixed(col.decimal)
      }
      if (content !== '') {
@@ -897,14 +915,6 @@
        style = {...style, ...col.style}
      }
      children = (
        <CardCellComponent data={record} cards={config} elements={col.elements}/>
      )
    } else if (col.type === 'action') {
      style.padding = '0px'
      if (col.style) {
        style = {...style, ...col.style}
      }
      children = (
        <CardCellComponent data={record} cards={config} elements={col.elements}/>
      )
@@ -967,17 +977,24 @@
              item.ctrlValue = item.ctrlValue.split(',')
            }
            
            if (item.type === 'text' && item.editType === 'select' && item.resourceType === '1') {
              let _option = Utils.getSelectQueryOptions(item)
              if (/@BID@/ig.test(_option.sql)) {
                hasBid = true
            if (item.type === 'text' && item.editType === 'select') {
              item.map = new Map()
              if (item.resourceType === '1') {
                let _option = Utils.getSelectQueryOptions(item)
                if (/@BID@/ig.test(_option.sql)) {
                  hasBid = true
                }
                item.base_sql = _option.sql
                item.arr_field = _option.field
                deForms.push(item)
              } else {
                item.options.forEach(cell => {
                  item.map.set(cell.value, cell.label)
                })
              }
              item.base_sql = _option.sql
              item.arr_field = _option.field
              deForms.push(item)
            }
          }
    
@@ -995,7 +1012,7 @@
            onCell: record => ({
              record,
              col: item,
              config: item.type === 'custom' || item.type === 'action' ? {setting, columns: fields} : null,
              config: item.type === 'custom' ? {setting, columns: fields} : null,
            })
          }
        }
@@ -1135,6 +1152,9 @@
        if (debug) {
          console.info(sql)
        }
        sql = sql.replace(/%/ig, ' mpercent ')
        mainItems.push(`select '${item.uuid}' as obj_name,'${item.arr_field}' as arr_field,'${window.btoa(window.encodeURIComponent(sql))}' as LText`)
      } else {
        let sql = _sql + item.base_sql
@@ -1145,6 +1165,9 @@
        if (debug) {
          console.info(sql)
        }
        sql = sql.replace(/%/ig, ' mpercent ')
        localItems.push(`select '${item.uuid}' as obj_name,'${item.arr_field}' as arr_field,'${window.btoa(window.encodeURIComponent(sql))}' as LText`)
      }
    })
@@ -1228,7 +1251,7 @@
  }
  resetFormList = (result) => {
    const { columns } = this.state
    const { columns, edData } = this.state
    let _edColumns = []
@@ -1236,7 +1259,6 @@
    this.props.columns.forEach(item => {
      if (item.resourceType === '1' && result[item.uuid] && result[item.uuid].length > 0) {
        let options = []
        let _map = new Map()
        let all = false
        result[item.uuid].forEach(cell => {
          let _cell = {key: Utils.getuuid()}
@@ -1253,8 +1275,8 @@
            }
          }
          if (_map.has(_cell.value)) return
          _map.set(_cell.value, 0)
          if (item.map.has(_cell.value)) return
          item.map.set(_cell.value, _cell.label)
          if (item.linkSubField) {
            item.linkSubField.forEach(m => {
@@ -1271,7 +1293,7 @@
        item.options = options
        reCols[item.uuid] = item
        reCols[item.uuid] = fromJS(item).toJS()
      }
    })
@@ -1286,8 +1308,8 @@
      return item
    })
    this.setState({columns: []}, () => {
      this.setState({columns: _edColumns})
    this.setState({columns: [], edData: []}, () => {
      this.setState({columns: _edColumns, edData: edData})
    })
  }
  
@@ -1393,19 +1415,18 @@
      let _data = edData.filter(item => item.$$uuid !== record.$$uuid)
      this.setState({edData: _data})
    } else {
      let _data = edData.map(item => {
      let _data = fromJS(edData).toJS().map(item => {
        if (item.$$uuid === record.$$uuid) {
          record.$deleted = true
          record.$origin = false
          record.$type = 'del'
          return record
        } else {
          return item
          item.$deleted = true
          item.$origin = false
          item.$type = 'del'
        }
        return item
      })
      this.setState({edData: _data}, () => {
        if (setting.commit === 'simple' && record.$deleted) {
        if (setting.commit === 'simple') {
          this.submit()
        }
      })