You need to sign in or sign up before continuing.
webChartConfig.js 5.88 KB
Newer Older
何虹's avatar
何虹 committed
1 2 3 4 5 6 7 8 9 10

import { WEB_QUERY, WEB_QUERY_QUERY, WEB_QUERY_QUERY_VALUE, WEB_QUERY_PAGE } from '../common/commonModule'
import hsUtil from 'hs-util-js'
const urlParam = hsUtil.SystemModule.getUrlParams()
class Control {
  constructor(requestClient) {
    this.requestClient = requestClient
    this.moduleName = 'WebChartConfigModule'
  }
  // 处理传入的data 如果有appCode,pageName dbName
何虹's avatar
何虹 committed
11
  packParamHandle (parms = {}) {
12
    const { appCode, pageName, dbName, dbCode, userId, configType } = parms
何虹's avatar
何虹 committed
13
    if (!appCode) {
何虹's avatar
何虹 committed
14
      parms.appCode = this.requestClient.appCode //|| urlParam.appCode
何虹's avatar
何虹 committed
15 16
    }
    if (!pageName) {
何虹's avatar
何虹 committed
17
      parms.pageName = this.requestClient.pageName //|| urlParam.pageName
何虹's avatar
何虹 committed
18 19 20 21 22 23 24
    }
    if (!dbName) {
      parms.dbName = urlParam.dbName || ''
    }
    if (!dbCode) {
      parms.dbCode = urlParam.dbCode || ''
    }
何虹's avatar
何虹 committed
25
    if (!userId) {
何虹's avatar
何虹 committed
26
      parms.userId = -1
27 28 29
    }
    if (!configType && configType !== 0) {
      parms.configType = -2
何虹's avatar
何虹 committed
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
    }
  }
  // 保存控件配置
  /**
       * sAppCode:页面appCode
       * sPage:页面名称
       * sControl:控件名称
       * sControlType: 类型
       * sQuerySql:  sql语句
       * bMockData: 是否是模拟数据
       * iUserId:用户id
       * db_name: 数据库名
       * db_code:数据库code
       * sConfig:控件配置
       * sData: 数据
       * @param {*} data
       */
何虹's avatar
何虹 committed
47
  webChartConfigSave (param) { // routerParms: page路由 position位置 other参数, sConfig 配置json sData 数据json
何虹's avatar
何虹 committed
48
    this.packParamHandle(param)
49
    const { appCode, pageName, controlName, controlType, querySql, mockData, userId, dbName, dbCode, config, data, configType } = param
何虹's avatar
何虹 committed
50
    const postData = {
何虹's avatar
何虹 committed
51
      exec_sql: `EXEC dbo.spappWebChartConfig_Save @sAppCode='${appCode}',@sPage='${pageName}',@sControl='${controlName}',@sControlType='${controlType || ''}',@sConfig=:sConfig,@sData=:sData,@sQuerySql='${querySql || ''}',@bMockData='${mockData || ''}',@iUserId='${userId}',@iConfigType='${configType}'`,
何虹's avatar
何虹 committed
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
      db_name: dbName,
      db_code: dbCode,
      param: {
        sConfig: JSON.stringify(config),
        sData: JSON.stringify(data)
      }
    }
    return this.requestClient.post(WEB_QUERY, postData)
  }
  // 查询配置
  /**
       * sAppCode:页面appCode
       * sPage:页面名称
       * sControl:控件名称
       * sControlType: 类型
       * sQuerySql:  sql语句
       * bMockData: 是否是模拟数据
       * iUserId:用户id
       * db_name: 数据库名
       * db_code:数据库code
       * sConfig:控件配置
       * sData: 数据
       * @param {*} data
       */
何虹's avatar
何虹 committed
76
  webChartConfigQuery (data) {
何虹's avatar
何虹 committed
77
    this.packParamHandle(data)
何虹's avatar
何虹 committed
78
    const { appCode, pageName, controlName, userId, dbName, dbCode, configType } = data
何虹's avatar
何虹 committed
79
    const postData = {
何虹's avatar
何虹 committed
80
      exec_sql: `EXEC dbo.spappWebChartConfig_Query @sAppCode='${appCode}',@sPage='${pageName}',@sControl='${controlName}',@iUserId='${userId}',@iConfigType='${configType}'`,
何虹's avatar
何虹 committed
81 82 83 84 85 86
      db_name: dbName,
      db_code: dbCode
    }
    return this.requestClient.post(WEB_QUERY_QUERY, postData)
  }
  // 获取将要另存到本地的配置
何虹's avatar
何虹 committed
87
  webChartConfigSaveAs (data = {}) {
何虹's avatar
何虹 committed
88 89 90 91 92 93 94 95 96 97
    this.packParamHandle(data)
    const { appCode, pageName, dbName, dbCode } = data
    const postData = {
      exec_sql: `EXEC dbo.spappWebChartConfig_SaveAs @sAppCode='${appCode}',@sPage='${pageName}'`,
      db_name: dbName,
      db_code: dbCode
    }
    return this.requestClient.post(WEB_QUERY_QUERY_VALUE, postData)
  }
  // 另存配置
何虹's avatar
何虹 committed
98
  async saveAsDataToLocal (data = {}) {
何虹's avatar
何虹 committed
99 100 101 102 103 104
    this.packParamHandle(data)
    const { appCode, pageName } = data
    const res = await this.webChartConfigSaveAs(data)
    if (!res) return
    this.download(`spappWebChartConfig_Upgrade_${appCode}_${pageName}.sql`, res.data)
  }
何虹's avatar
何虹 committed
105
  download (name, data) {
何虹's avatar
何虹 committed
106 107 108 109 110 111 112
    var urlObject = window.URL || window.webkitURL || window
    var downloadData = new Blob([data])
    var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a')
    save_link.href = urlObject.createObjectURL(downloadData)
    save_link.download = name
    this.fake_click(save_link)
  }
何虹's avatar
何虹 committed
113
  fake_click (obj) {
何虹's avatar
何虹 committed
114 115 116 117 118 119 120 121
    var ev = document.createEvent('MouseEvents')
    ev.initMouseEvent(
      'click', true, false, window, 0, 0, 0, 0, 0
      , false, false, false, false, 0, null
    )
    obj.dispatchEvent(ev)
  }
  // 直接执行sql语句
何虹's avatar
何虹 committed
122
  execSql (data) {
何虹's avatar
何虹 committed
123
    this.packParamHandle(data = {})
何虹's avatar
何虹 committed
124 125 126 127 128 129 130 131
    const { execSql, dbName, dbCode } = data
    const postData = {
      exec_sql: execSql,
      db_name: dbName,
      db_code: dbCode
    }
    return this.requestClient.post(WEB_QUERY_QUERY, postData)
  }
何虹's avatar
何虹 committed
132
  webChartConfigQueryLog (data = {}) {
何虹's avatar
何虹 committed
133 134 135 136 137 138 139 140 141
    this.packParamHandle(data)
    const { appCode, pageName, controlName, dbName, dbCode } = data
    const postData = {
      exec_sql: `EXEC dbo.spappWebChartConfig_QueryLog  @sAppCode='${appCode}',@sPageName='${pageName}',@sControlName='${controlName}'`,
      db_name: dbName,
      db_code: dbCode
    }
    return this.requestClient.post(WEB_QUERY_QUERY, postData)
  }
何虹's avatar
何虹 committed
142
  webChartConfigRevert (data = {}) {
何虹's avatar
何虹 committed
143 144 145 146 147 148 149 150 151 152
    this.packParamHandle(data)
    const { appCode, pageName, dbName, dbCode, controlName, version } = data
    const postData = {
      exec_sql: `EXEC dbo.spappWebChartConfig_Revert  @sAppCode='${appCode}',@sPageName='${pageName}',@sControlName='${controlName}',@iVersion='${version}'`,
      db_name: dbName,
      db_code: dbCode
    }
    return this.requestClient.post(WEB_QUERY, postData)
  }
  // 控件配置查询
何虹's avatar
何虹 committed
153
  webControlQuery (data = {}) {
何虹's avatar
何虹 committed
154
    this.packParamHandle(data)
155
    const { dbName, pageName, param, appCode, controlName, returnType, dbCode, userId, configType } = data
何虹's avatar
何虹 committed
156 157 158 159 160 161 162 163
    const postData = {
      db_name: dbName,
      app_code: appCode,
      page: pageName,
      param: JSON.stringify(param || {}),
      control_name: controlName,
      return_type: returnType || 3,
      db_code: dbCode,
164 165
      user_id: userId,
      config_type: configType
何虹's avatar
何虹 committed
166 167 168 169 170
    }
    return this.requestClient.post(WEB_QUERY_PAGE, postData)
  }
}
export default Control