king
2024-10-17 044a4ec4ebe85f8c00e889fe3914de17a6ea1f28
src/tabviews/zshare/actionList/printbutton/index.jsx
@@ -8,6 +8,7 @@
import Utils from '@/utils/utils.js'
import asyncSpinComponent from '@/utils/asyncSpinComponent'
import { updateForm } from '@/utils/utils-update.js'
import UtilsDM from '@/utils/utils-datamanage.js'
import MKEmitter from '@/utils/events.js'
import MkIcon from '@/components/mk-icon'
// import './index.scss'
@@ -150,7 +151,7 @@
    this.setState({autoMatic: type === 'autoMatic'})
    let _this = this
    let that = this
    let data = record || selectedData || []
    if (btn.Ot !== 'notRequired' && data.length === 0) {
@@ -194,10 +195,10 @@
        okText: dict['ok'] || '确定',
        cancelText: dict['cancel'] || '取消',
        onOk() {
          _this.triggerPrint(data)
          that.triggerPrint(data)
        },
        onCancel() {
          _this.setState({ loading: false })
          that.setState({ loading: false })
        }
      })
    } else {
@@ -922,7 +923,7 @@
          Promise.all(deffers).then(result => {
            let errorMsg = ''
            result.forEach(res => {
              if (!res.status) {
              if (!res.status && !errorMsg) {
                errorMsg = res
              }
            })
@@ -947,6 +948,65 @@
   */
  getDefaultSql = (formlist, data, ID) => {
    const { BID, btn, columns } = this.props
    if (window.backend && window.GLOB.CacheData.has('sql_' + btn.uuid)) {
      let setting = {...btn.verify.setting}
      setting.interType = 'system'
      setting.uuid = btn.uuid
      let _param = UtilsDM.getQueryDataParams(setting, [], setting.order, 1, 9999, BID, ID)
      let item = window.GLOB.CacheData.get('sql_' + btn.uuid)
      _param.data[0].exps = _param.data[0].exps.filter(n => n.key !== 'mk_search')
      let formkeys = []
      formlist.forEach(form => {
        if (!item.reps.includes(form.key)) return
        formkeys.push(form.key)
        let val = form.value
        if (form.type === 'number' || form.type === 'rate') {
          if (isNaN(val)) {
            val = 0
          }
        } else if (['date', 'datemonth'].includes(form.type)) {
          val = val || '1949-10-01'
        }
        _param.data[0].exps.push({
          key: 'mk_' + form.key + '_mk',
          value: val
        })
      })
      if (data && columns && columns.length > 0) {
        let datavars = {}
        Object.keys(data).forEach(key => {
          datavars[key.toLowerCase()] = data[key]
        })
        columns.forEach(col => {
          if (!item.reps.includes(col.field) || formkeys.includes(col.field)) return
          if (!col.datatype) return
          let _key = col.field.toLowerCase()
          let _val = datavars.hasOwnProperty(_key) ? datavars[_key] : ''
          if (/^date/ig.test(col.datatype) && !_val) {
            _val = '1949-10-01'
          }
          _param.data[0].exps.push({
            key: 'mk_' + col.field + '_mk',
            value: _val
          })
        })
      }
      return _param
    }
    let arrFields = btn.verify.columns.map(col => col.field).join(',')
@@ -1036,8 +1096,6 @@
    // 获取字段键值对
    formlist.forEach(form => {
      let _key = form.key.toLowerCase()
      if (_vars.includes(_key)) return
      _vars.push(_key)
@@ -1160,8 +1218,8 @@
    // 测试系统打印查询语句
    if (window.GLOB.debugger === true) {
      _customScript && console.info(`${btn.logLabel ? `/*${btn.logLabel} 自定义脚本*/\n` : ''}${LText ? '' : '/*不执行默认sql*/\n'}${_customScript}`)
      LText && console.info(`${btn.logLabel ? `/*${btn.logLabel} 数据源*/\n` : ''}` + LText.replace(/\n\s{8}/ig, '\n'))
      _customScript && window.mkInfo(`${btn.logLabel ? `/*${btn.logLabel} 自定义脚本*/\n` : ''}${LText ? '' : '/*不执行默认sql*/\n'}${_customScript}`)
      LText && window.mkInfo(`${btn.logLabel ? `/*${btn.logLabel} 数据源*/\n` : ''}` + LText.replace(/\n\s{8}/ig, '\n'))
    }
    if (btn.logLabel) {
@@ -1435,8 +1493,13 @@
          if (item.Field) {
            fields.push(item.Field)
            // 条码二维码字段不可为空
            if (item.Type === 'qrcode' || item.Type === 'barcode') {
            if (item.Type === 'barcode') {
              nonEFields.push(item.Field)
            }
          } else if (!item.Value) {
            // 条码二维码内容不可为空
            if (item.Type === 'barcode') {
              error = '模板中条码/二维码内容不可为空!'
            }
          }
@@ -2108,7 +2171,7 @@
  modelconfirm = () => {
    const { btnconfig, selines, dict } = this.state
    let _this = this
    let that = this
    let result = []
    let _data = {}
    let BData = {}
@@ -2254,10 +2317,10 @@
        okText: dict['ok'] || '确定',
        cancelText: dict['cancel'] || '取消',
        onOk() {
          _this.triggerPrint(selines, result)
          that.triggerPrint(selines, result)
        },
        onCancel() {
          _this.setState({ loading: false })
          that.setState({ loading: false })
        }
      })
    }