portal.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. import req from '@/utils/request'
  2. import { saveAs } from 'file-saver'
  3. const { uc, form, portal, bpmModel, bpmRunTime, auth} = window.context
  4. const qs = require('qs')
  5. export default {
  6. // 通过别名获取布局
  7. getLayoutByAlias(alias) {
  8. const url = `${portal}/portal/sysIndexLayoutManage/sysIndexLayoutManage/v1/getByAlias?alias=${alias}`
  9. return req.get(url)
  10. },
  11. // 前端门户保存布局
  12. setLayoutConfig(data) {
  13. const url = `${portal}/portalUserLayoutConfig/v1/save`
  14. return req.post(url, data)
  15. },
  16. getColumnByAlias(alias, cb) {
  17. req
  18. .get(
  19. portal +
  20. '/portal/sysIndexColumn/sysIndexColumn/v1/getByAlias?alias=' +
  21. alias
  22. )
  23. .then((response) => {
  24. cb(response)
  25. })
  26. },
  27. batchGetColumnByAliases(aliases, cb) {
  28. req
  29. .post(
  30. portal + '/portal/sysIndexColumn/sysIndexColumn/v1/getDatasByAlias',
  31. aliases
  32. )
  33. .then((response) => {
  34. cb(response)
  35. })
  36. },
  37. getColumnData(column, cb) {
  38. const reqUrl = column.dataFrom
  39. .replace('${bpmModel}', bpmModel)
  40. .replace('${bpmRunTime}', bpmRunTime)
  41. .replace('${portal}', portal)
  42. .replace('${uc}', uc)
  43. .replace('${form}', form)
  44. const requestType = column.requestType
  45. var reqParam = column.dataParam
  46. if (reqParam) {
  47. reqParam = eval('(' + reqParam + ')')
  48. var isMany = reqParam.length > 1
  49. for (var i = 0; i < reqParam.length; i++) {
  50. var value = reqParam[i]['value']
  51. var name = reqParam[i]['name']
  52. if (requestType == 'POST') {
  53. try {
  54. value = JSON.parse(value)
  55. } catch (e) {}
  56. if (isMany) {
  57. reqParam[name] = value
  58. } else {
  59. reqParam = value
  60. }
  61. } else {
  62. reqUrl =
  63. i > 0 ? reqUrl + '&' + name + '=' + value : '?' + name + '=' + value
  64. }
  65. }
  66. }
  67. if (requestType == 'POST') {
  68. req.post(reqUrl, reqParam).then((response) => {
  69. cb(response.data)
  70. })
  71. } else {
  72. req.get(reqUrl).then((response) => {
  73. cb(response.data)
  74. })
  75. }
  76. },
  77. vueFrontHome(cb) {
  78. req.get(portal + '/portal/main/v1/vueFrontHome').then((response) => {
  79. cb(response.value)
  80. })
  81. },
  82. }
  83. export function getTagList(data) {
  84. return request({
  85. url: `${context.portal}/portal/sysTag/v1/query`,
  86. method: 'post',
  87. data,
  88. })
  89. }
  90. export function saveTag(data) {
  91. return request({
  92. url: `${context.portal}/portal/sysTag/v1/save`,
  93. method: 'post',
  94. data,
  95. })
  96. }
  97. //文件图片接口地址
  98. export function fileUrl(id) {
  99. return `${portal}/system/file/v1/downloadFile?fileId=${id}`
  100. }
  101. // 获取新闻列表
  102. export function getNewsList(id) {
  103. const url = `${portal}/portalNewsNotice/v1/getNews?classifyId=${id}`
  104. return req.get(url)
  105. }
  106. // 获取新闻详情
  107. export function getNewsDetailById(id) {
  108. const url = `${portal}/portalNewsNotice/v1/getNewsById?id=${id}`
  109. return req.get(url)
  110. }
  111. export function getLongUrlByShortUrl(shortUrl) {
  112. const url = `${portal}/portal/shorturlManage/v1/getLongUrlByShortUrl?shortUrl=${shortUrl}`
  113. return req.get(url)
  114. }
  115. export function downloadFile(id, fileName) {
  116. const url = fileUrl(id)
  117. req({
  118. url,
  119. method: 'get',
  120. responseType: 'arraybuffer',
  121. }).then((response) => {
  122. const blobData = new Blob([response.data])
  123. saveAs(blobData, fileName)
  124. })
  125. }
  126. export function wordPrint(data) {
  127. //String.fromCharCode.apply(null, new Uint8Array(resp.data))
  128. return new Promise((resolve, reject) => {
  129. req({
  130. url: `${portal}/system/file/v1/wordPrint`,
  131. method: 'post',
  132. data,
  133. responseType: 'arraybuffer',
  134. }).then((resp) => {
  135. resolve(String.fromCharCode.apply(null, new Uint8Array(resp.data)))
  136. })
  137. })
  138. }
  139. export function getFileById(fileId) {
  140. return req({
  141. url: `${portal}/system/file/v1/${fileId}`,
  142. method: 'get',
  143. })
  144. }
  145. //获取表单模板信息
  146. export function getBpmDataTemplateInfo(param) {
  147. return new Promise((resolve, reject) => {
  148. req
  149. .get(
  150. form +
  151. '/form/dataTemplate/v1/getBpmDataTemplateInfo?alias=' +
  152. param.alias
  153. )
  154. .then(
  155. (response) => {
  156. resolve(response)
  157. },
  158. (error) => {
  159. reject(error)
  160. }
  161. )
  162. })
  163. }
  164. //工作台模板列表
  165. export function getLayoutTemplates(param) {
  166. return new Promise((resolve, reject) => {
  167. req.post(form + "/form/dataTemplate/v1/listJson", param).then(resp => {
  168. resolve(resp);
  169. }, error => {
  170. reject(error);
  171. })
  172. })
  173. }
  174. //门户模板用户设置_查询
  175. export function getLayoutDetail(param) {
  176. return new Promise((resolve, reject) => {
  177. req.get(portal + "/portaltemplate/user/v1/getDetail?userId=" + param.userId+ "&orgId="+ param.orgId)
  178. .then(function (rep) {
  179. resolve(rep);
  180. })
  181. .catch(function (error) {
  182. reject(error.message);
  183. });
  184. });
  185. }
  186. //门户模板用户设置_保存
  187. export function saveTemplate(param) {
  188. return new Promise((resolve, reject) => {
  189. req.request({
  190. url: portal + '/portaltemplate/user/v1/save',
  191. method: "POST",
  192. data: qs.stringify(param),
  193. headers: {'Content-type': 'application/x-www-form-urlencoded'}
  194. }).then(response => {
  195. resolve(response);
  196. }, error => {
  197. reject(error);
  198. });
  199. })
  200. }
  201. //门户模板用户设置_删除
  202. export function delTemplateUser(param) {
  203. return new Promise((resolve, reject) => {
  204. req.get(portal + "/portaltemplate/user/v1/delTemplateUser?userId=" + param.userId+ "&orgId="+ param.orgId)
  205. .then(function (rep) {
  206. resolve(rep);
  207. })
  208. .catch(function (error) {
  209. reject(error.message);
  210. });
  211. });
  212. }