king
2020-01-07 ec3cc73f8deaf0b83b0b517e65f949a5a5c496dc
src/utils/utils.js
@@ -227,6 +227,8 @@
        }
        item.value = _val ? [moment().subtract(_val[0], 'days').format('YYYY-MM-DD'),
          moment().subtract(_val[1], 'days').format('YYYY-MM-DD')] : ''
      } else if (item.type === 'multiselect') {
        item.value = item.value ? item.value.split(',').filter(Boolean) : []
      }
      newsearches.push(item)
    })
@@ -294,6 +296,8 @@
        item.key.split(',').forEach(field => { // 综合搜索,所字段拼接
          newsearches[field] = item.value
        })
      } else if (item.type === 'multiselect') {
        newsearches[item.key] = item.value.join(',')
      } else {
        newsearches[item.key] = item.value
      }
@@ -312,7 +316,8 @@
    let searchText = ''
    searches.forEach(item => {
      if (!item.value) return
      if (!item.value || (item.type === 'multiselect' && item.value.length === 0)) return
      searchText += (searchText !== '' ? ' AND ' : '')
      if (item.type === 'text') {
        let str = item.match === '=' ? '' : '%'
@@ -325,6 +330,13 @@
        let str = item.match === '=' ? '' : '%'
        searchText += item.key + ' ' + item.match + ' \'' + str + item.value + str + '\''
      } else if (item.type === 'multiselect') {
        let str = item.match === '=' ? '' : '%'
        let options = item.value.map(val => {
          return item.key + ' ' + item.match + ' \'' + str + val + str + '\''
        })
        searchText += '(' + options.join(' OR ') + ')'
      } else if (item.type === 'date') {
        let _val = item.value
        let timetail = ' 00:00:00.000'
@@ -399,8 +411,36 @@
    } else {
      baseurl = 'http://qingqiumarket.cn/' + service
    }
    // if (!/Content\/images\/upload\//.test(url)) {
    //   baseurl = baseurl + 'Content/images/upload/'
    // }
    let realurl = url.match(/^http/) || url.match(/^\/\//) ? url : baseurl + url
    return realurl
  }
  /**
   * @description 获取下拉搜索查询sql
   * @return {String} item   搜索条件信息
   */
  static getSelectQuerySql (item) {
    let _datasource = item.dataSource
    let sql = ''
    if (/\s/.test(_datasource)) { // 拼接别名
      _datasource = '(' + _datasource + ') tb'
    }
    if (item.type === 'link') {
      sql = 'select ' + item.valueField + ',' + item.valueText + ',' + item.linkField + ' from ' + _datasource
    } else {
      sql = 'select ' + item.valueField + ',' + item.valueText + ' from ' + _datasource
    }
    if (item.orderBy) {
      sql = sql + ' order by ' + item.orderBy + ' ' + item.orderType
    }
    return sql
  }
  /**
@@ -408,8 +448,11 @@
   * @return {String} type   执行类型
   * @return {String} table  表名
   */
  static getSysDefaultSql (btn, setting, formdata) {
  static getSysDefaultSql (btn, setting, formdata, primaryId) {
    let primaryKey = setting.primaryKey || 'id'
    let _sql = ''
    console.log(primaryId)
    if (btn.OpenType === 'pop' && btn.sqlType === 'insert') {
      let keys = []
      let values = []
@@ -425,7 +468,7 @@
      keys = keys.join(',')
      values = values.join(',')
      _sql = `insert into ${btn.sql} (${keys}, createuserid) select ${values},@userid`
      _sql = `insert into ${btn.sql} (${keys}, createuserid, BID) select ${values},@BID,@userid`
    } else if (btn.OpenType === 'pop' && btn.sqlType === 'update') {
      let _form = []
      formdata.forEach(item => {
@@ -436,11 +479,11 @@
        }
      })
      _form = _form.join(',')
      _sql = `update ${btn.sql} set ${_form},modifydate=getdate(),modifyuserid=@userid where ${setting.primaryKey}=@id`
      _sql = `update ${btn.sql} set ${_form},modifydate=getdate(),modifyuserid=@userid where ${primaryKey}=@${primaryKey}`
    } else if ((btn.OpenType === 'prompt' || btn.OpenType === 'exec') && btn.sqlType === 'LogicDelete') { // 逻辑删除
      _sql = `update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid where ${setting.primaryKey}=@id`
      _sql = `update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid where ${primaryKey}=@${primaryKey}`
    } else if ((btn.OpenType === 'prompt' || btn.OpenType === 'exec') && btn.sqlType === 'delete') {
      _sql = `insert into snote (remark,createuserid) select '删除表:${btn.sql} 数据: id='+@id,@userid delete ${btn.sql} where ${setting.primaryKey}=@id`
      _sql = `insert into snote (remark,createuserid) select '删除表:${btn.sql} 数据: ${primaryKey}='+@${primaryKey},@userid delete ${btn.sql} where ${primaryKey}=@${primaryKey}`
    }
    return _sql
@@ -462,6 +505,7 @@
    let form = ''
    let formParam = ''
    let _columns = []
    let primaryKey = config.setting.primaryKey || 'ID'
    if (config.search && config.search.length > 0) {
      let _fields = new Map()
@@ -503,7 +547,7 @@
    let Ltext = `create proc ${param.innerFunc}
    ( /*${menu.MenuName}*/
    @BID nvarchar(50)='',
    @ID nvarchar(50)='',${formParam}
    @${primaryKey} nvarchar(50)='',${formParam}
    @PageIndex nvarchar(50)='',
    @PageSize nvarchar(50)='',
    @OrderCol nvarchar(50)='',
@@ -585,9 +629,12 @@
   * @description 创建存储过程
   * @return {String}
   */
  static getfunc (param, btn, menu, columns) {
  static getfunc (param, btn, menu, config) {
    console.log(menu)
    let form = ''
    let formParam = ''
    let columns = config.columns
    let primaryKey = config.setting.primaryKey || 'ID'
    if (param.fields && param.fields.length > 0) {
      let _fields = []
@@ -651,7 +698,7 @@
    let Ltext = `create proc ${param.funcName}
    ( /*${menu.MenuName}  ${btn.label}*/
    @BID nvarchar(50)='',
    @ID nvarchar(50)='',${formParam}
    @${primaryKey} nvarchar(50)='',${formParam}
    @sEPTMenuNo nvarchar(50)='${param.menuNo}',
    @lang nvarchar(50)='',
    @debug nvarchar(50)='',