king
2019-12-18 1a14ff6035932eadfb6ef7970e3adb24b4e158a6
src/utils/utils.js
@@ -223,7 +223,7 @@
  }
  /**
   * @description 拼接搜索条件
   * @description 拼接搜索条件main
   * @param {Array}   searches     搜索条件
   * @return {String}  searchText  拼接结果
   */
@@ -244,12 +244,17 @@
        let timetail = ' 00:00:00.000'
        if (item.match === '<' || item.match === '<=') {
          timetail = ' 23:59:59.999'
        } else if (item.match === '=') {
          timetail = ''
        }
        // eslint-disable-next-line
        searchText += '(' + item.key + ' ' + item.match + ' ' + '\'' + item.value + timetail + '\')'
      } else if (item.type === 'datemonth') {
        // 月-过滤条件,从月开始至结束
        let _startval = moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000'
        let _endval = moment(item.value, 'YYYY-MM').endOf('month').format('YYYY-MM-DD') + ' 23:59:59.999'
        // eslint-disable-next-line
        searchText += '(' + item.key + ' ' + item.match + ' ' + '\'' + item.value + '\')'
        searchText += '(' + item.key + ' ' + item.match + ' ' + '\'' + _startval + '\' AND \'' + _endval + '\')'
      } else if (item.type === 'dateweek') {
        let stimetail = ' 00:00:00.000'
        let etimetail = ' 23:59:59.999'
@@ -269,7 +274,7 @@
  }
  /**
   * @description 拼接搜索条件
   * @description 拼接搜索条件datamanage
   * @param {Array}   searches     搜索条件
   * @return {String}  searchText  拼接结果
   */
@@ -323,8 +328,6 @@
   * @return {String} table  表名
   */
  static getSysDefaultSql (btn, setting, formdata) {
    console.log(btn)
    console.log(formdata)
    let _sql = ''
    if (btn.OpenType === 'pop' && btn.sqlType === 'insert') {
      let keys = []
@@ -358,14 +361,6 @@
    } 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`
    }
    //insert into 表名 (表单字段,逗号分隔,如果主键为可编辑则传填写内容,只读或没有配置表单,则传前端生成id,+createuserid)
    // +select 表单字段值+@userid
    // 修改:update 表名 set 表单非只读字段=表单值,modifydate=getdate(),modifyuserid=@userid where 主键=@id行id
    // 逻辑删除:update 表名 set deleted=1,modifydate=getdate(),modifyuserid=@userid where 主键=@id行id
    // 物理删除:insert into snote (remark,createuserid) select '删除表 '+表名+'数据 '+id=@id delete 表名 where  主键=@id行id
    console.log(_sql)
    return _sql
  }
@@ -382,10 +377,11 @@
   * @description 创建存储过程
   * @return {String}
   */
  static getfunc (param) {
  static getfunc (param, btn, menu, columns) {
    let form = ''
    let formParam = ''
    console.log(menu)
    console.log(columns)
    if (param.fields && param.fields.length > 0) {
      let _fields = []
      param.fields.forEach(item => {
@@ -420,8 +416,33 @@
      `
    }
    if (columns) {
      let _col = []
      let _field = []
      columns.forEach(col => {
        if (col.field) {
          if (col.type === 'number') {
            _col.push(col.field + ' decimal(18,2)')
          } else {
            _col.push(col.field + ' nvarchar(50)')
          }
          _field.push(col.field)
        }
      })
      _col = _col.join(',')
      _field = _field.join(',')
      form = form + `
        declare @dc table (${_col})
        insert into @dc (${_field})
        @tableid ='${menu.MenuID}'
      `
    }
    let Ltext = `create proc ${param.funcName}
    (
    ( /*${menu.MenuName}  ${btn.label}*/
    @BID nvarchar(50)='',
    @ID nvarchar(50)='',${formParam}
    @sEPTMenuNo nvarchar(50)='${param.menuNo}',
@@ -490,8 +511,9 @@
      ROLLBACK TRAN
      
    END`
    Ltext = Ltext.replace(/\n\s{4}/ig, 'mchr13k')
    console.log(Ltext)
    Ltext = Ltext.replace(/\n\s{4}/ig, 'mchr13k')
    return Ltext
  }
}