config.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. var SYS_VER = parseInt(Math.random() * 10000000000);
  2. function resetButton(menus, $) {
  3. var menuId = location.href.substring(location.href.indexOf("id=") + 3, location.href.indexOf("id=") + 35);
  4. for (var i = 0; i < menus.length; i++) {
  5. for (var j = 0; j < menus[i].subMenuList.length; j++) {
  6. if (menuId == menus[i].subMenuList[j].id) {
  7. var rights = menus[i].subMenuList[j].subMenuList;
  8. for (var k = 0; k < rights.length; k++) {
  9. if (rights[k].isChecked == 0) {
  10. $(rights[k].authStr.substring(rights[k].authStr.lastIndexOf(":") + 1) + "-btn-0").hide();
  11. }
  12. else {
  13. $(rights[k].authStr.substring(rights[k].authStr.lastIndexOf(":") + 1) + "-btn-0").show();
  14. }
  15. }
  16. break;
  17. }
  18. }
  19. }
  20. }
  21. function loadJS(url) {
  22. document.write("<scirpt src='" + url + "?ver=" + SYS_VER + "'></scirpt>")
  23. }
  24. !(function (win) {
  25. "use strict";
  26. window.hywa = {
  27. config: {
  28. // href: 'http://172.16.90.64:8103/',
  29. // href: 'http://172.16.90.77:21008/',
  30. href: 'http://forestsuyuan.hw.hongweisoft.com/bak/',
  31. port: {
  32. login: '/web/user/login', //登录
  33. loginOut: "/web/user/logout", //退出
  34. changePassword: "/web/user/edit", //修改密码
  35. ssoLogin: "/web/user/ssoLogin", //统一登录
  36. userList: "/web/user/searchByPage", //列表
  37. add_user: "/web/user/add", //添加
  38. edit_user: "/web/user/edit", //修改
  39. delete_user: "/web/user/del", //删除
  40. select_user: "/web/user/searchById", //查询单个
  41. forbidUser: '/web/user/forbidden', //禁止用户
  42. restPwd: "/web/user/restPwd",//重置密码
  43. //首页
  44. select_searchByPage: "/web/feedback/searchByPage",//评价明细列表
  45. del_feedback: "/web/feedback/batchDel",//删除评价
  46. qurey_echartTotal: "/web/code/record/statOneYear", //扫码图标统计
  47. query_listTotal: "/web/code/record/statYesterdayAndAllTime", //获取文字数统计
  48. //角色设置
  49. roleList: "/web/role/searchByPage", //获取角色列表
  50. add_role: "/web/role/add", //新增角色
  51. edit_role: "/web/role/edit", //修改角色
  52. delete_role: "/web/role/del", //修改角色
  53. select_role: "/web/role/searchById", //通过ID获取角色详细信息
  54. role_getAuth: "/web/role/searchRoleAuthInfo",//查询角色权限
  55. role_saveAuth: "/web/role/distrRoleAuthInfo",//保存企业授权信息
  56. //经销商管理
  57. dealerList: "/web/goods/dealer/searchByPage",
  58. add_dealer: "/web/goods/dealer/add",
  59. select_dealer: "/web/goods/dealer/findById",
  60. edit_dealer: "/web/goods/dealer/edit",
  61. delete_dealer: "/web/goods/dealer/delete",
  62. selectPId_dealer: "/web/goods/dealer/getCode",
  63. //企业
  64. orgList: "/web/org/searchByPage", //列表
  65. add_org: "/web/org/add", //添加
  66. edit_org: "/web/org/edit", //修改
  67. delete_org: "/web/org/del", //删除
  68. select_org: "/web/org/searchById", //查询单个
  69. select_Info_org: "/web/org/searchOrgInfo",//查询推广企业信息
  70. edit_Info_org: "/web/org/editExtendInfo",//企业推广保存
  71. org_getAuth: "/web/org/searchAuthInfo",//拉取企业授权信息
  72. org_saveAuth: "/web/org/distrOrgAuthInfo",//保存企业授权信息
  73. add_org_user: '/web/org/addOrgUser',//添加企业管理用户
  74. //产地
  75. regionList: "/web/goods/field/searchByPage", //列表
  76. add_region: "/web/goods/field/add", //添加
  77. edit_region: "/web/goods/field/edit", //修改
  78. delete_region: "/web/goods/field/del", //删除
  79. select_region: "/web/goods/field/searchById", //查询单个
  80. rnlist_region: "/web/goods/field/getBaseList",
  81. areaSearch: "/web/goods/field/getAreaInfo",//地址查询
  82. getOrchardList: "/web/goods/field/getOrchardList", // 获取原料生产数据
  83. //产品信息
  84. pdinfoList: "/web/goods/batch/searchByPage", //列表
  85. add_pdinfo: "/web/goods/batch/add", //添加
  86. add_rawMaterialInfo: "/web/inputs/save",//修改模式 - 添加原料项
  87. del_rawMaterialInfo: "/web/inputs/del",//修改模式 - 删除原料项
  88. add_produceProcessInfo: "/web/normal/save",//修改模式 - 添加生成过程项
  89. edit_produceProcessInfo: "/web/normal/edit",//修改模式 - 修改生成过程项
  90. del_produceProcessInfo: "/web/normal/del",//修改模式 - 删除生成过程项
  91. add_processingCirculationInfo: "/web/normal/save",//修改模式 - 添加加工流通过程项
  92. edit_processingCirculationInfo: "/web/normal/edit",//修改模式 - 修改加工流通过程项
  93. del_processingCirculationInfo: "/web/normal/del",//修改模式 - 删除加工流通过程项
  94. edit_pdinfo: "/web/goods/batch/edit", //修改
  95. delete_pdinfo: "/web/goods/batch/del", //删除
  96. select_pdinfo: "/web/goods/batch/searchById", //查询单个
  97. pdinfo2List: "/web/goods/searchByPage", //列表
  98. add_pdinfo2: "/web/goods/add", //添加
  99. edit_pdinfo2: "/web/goods/edit", //修改
  100. delete_pdinfo2: "/web/goods/del", //删除
  101. select_pdinfo2: "/web/goods/searchById", //查询单个
  102. pdinfo_qrcode: "/web/goods/batch/batchGoodsQRCode",//产品批次生成溯源码
  103. //溯源码管理
  104. qrcodeList: "/web/code/record/searchByPage", //列表
  105. view_qrcode: "/web/code/record/searchDetailById", //查看
  106. drop_qrcode: "/web/code/record/forbiddenCodeInfo", //废弃
  107. export_qrcode: "/web/code/record/exportDetailRecord", //导出
  108. delete_qrcode: "/web/code/record/delByPhysical", //删除
  109. drop_single: "/web/code/info/forbidden",//废弃单个溯源码
  110. show_codeDetail: "/web/code/record/showDetail",//溯源码预览
  111. print_qrcode: "/web/code/info/getPrintDetail", //溯源码打印
  112. setPrint_done: "/web/code/info/updateQRIsPrint",//标记已打印二维码
  113. //系统日志
  114. menuList: "/log/queryFuncName",//获取菜单列表
  115. logList: "/log/queryAll",//获取日志列表
  116. show_menu: "/menu/search", //查看权限菜单树
  117. get_menuList: "/menu/menuAllTree", //查看菜单列表
  118. select_menu: "/menu/search", //查看菜单详细,ID条件
  119. update_menu: "/menu", //菜单新增修改
  120. // 权限
  121. roleListUrl: '/role/getAll',
  122. roleFormUrl: '/role',
  123. roleByid: '/role/findById',
  124. menuListUrl: '/menu/getMenuByRole',
  125. menuFormUrl: '/menu/saveRoleMenu',
  126. systemListUrl: '/system/find',//系统维护查询
  127. systemFormUrl: '/system',//系统维护保存
  128. uploadImage: "/web/normal/uploadPics",
  129. }
  130. },
  131. sessionTable: {
  132. tableName: 'system',
  133. userData: 'userData'
  134. },
  135. jumpPage: {
  136. home: "../forstpages/?ver=" + SYS_VER,
  137. login: "../../?ver=" + SYS_VER
  138. },
  139. codeVerify: {
  140. 405: function () {
  141. console.log('logout')
  142. //top.location.href = window.hywa.jumpPage.login;
  143. return true;
  144. },
  145. 404: function () {
  146. // top.location.href = window.hywa.jumpPage.login;
  147. return true;
  148. },
  149. 500: function () {
  150. //top.location.href = window.hywa.jumpPage.login;
  151. return true;
  152. },
  153. 1004: function () {//认证失败
  154. top.location.href = window.hywa.jumpPage.login;
  155. return true;
  156. },
  157. 2010: function () {//不能修改删除自己
  158. return false;
  159. },
  160. 2011: function () {//不能对超级管理员进行操作
  161. return false;
  162. },
  163. 1002: function () {//密码错误
  164. return false;
  165. },
  166. 3003: function () {//修改前后密码不能相同
  167. return false;
  168. },
  169. 3004: function () {//修改前后密码不能相同
  170. return false;
  171. },
  172. 2006: function () {//文件上传失败
  173. return false;
  174. },
  175. 2002: function () {//参数不能为空
  176. return false;
  177. },
  178. 2003: function () {//类型被引用,请先删除引用
  179. return false;
  180. },
  181. 2004: function () {
  182. return false;
  183. },
  184. 2005: function () {//文件不能为空
  185. return false;
  186. },
  187. 3009: function () {
  188. return false;
  189. },
  190. 3008: function () {
  191. return false;
  192. },
  193. 3011: function () {
  194. return false;
  195. },
  196. 3017: function () {
  197. return true;
  198. },
  199. 3013: function () {
  200. return false;
  201. },
  202. 3019: function () {
  203. return false;
  204. },
  205. 3036: function () {
  206. return false;
  207. },
  208. 3037: function () {
  209. return false;
  210. },
  211. 3038: function () {
  212. return false;
  213. },
  214. 3039: function () {
  215. return false;
  216. },
  217. 3070: function () {
  218. return false;
  219. },
  220. default: function () {
  221. return false;
  222. }
  223. }
  224. };
  225. win.hijack = function () {
  226. var _this = this;
  227. layui.use(['layer'], function () {
  228. _this.layer = layui.layer;
  229. });
  230. _this.json = {
  231. code: -404,
  232. msg: "返回数据格式错误",
  233. count: 0,
  234. data: []
  235. };
  236. };
  237. win.hijack.prototype.onload = function (xhr) {
  238. var _this = this;
  239. if (xhr.readyState === 4) { // 成功完成
  240. // 判断响应结果:
  241. if (xhr.status === 200) {
  242. //layer.close(xhr.xhr.lay_loading);
  243. xhr.responseText = JSON.stringify(_this.changeJSON(xhr.responseText).json);
  244. switch (_this.json.code) {
  245. case 0:
  246. // return _this.okMsg(_this.json.msg);
  247. return false;
  248. default:
  249. return _this.errorMsg(_this.json.code, _this.json.msg);
  250. };
  251. } else {
  252. return _this.errorMsg(xhr.status);
  253. }
  254. } else if (xhr.readyState === 1) {
  255. xhr.setRequestHeader('x-requested-with', "XMLHttpRequest");
  256. } else {
  257. }
  258. };
  259. win.hijack.prototype.open = function (arg, xhr) {
  260. var _this = this;
  261. _this.url = location.searchObj(arg[1]);
  262. _this.url.pageNum = _this.url.page - 0;
  263. _this.url.pageSize = _this.url.limit - 0;
  264. _this.url.pageNum || (delete _this.url.pageNum);
  265. _this.url.pageSize || (delete _this.url.pageSize);
  266. _this.url.pageNum && (delete _this.url.page);
  267. _this.url.pageSize && (delete _this.url.limit);
  268. arg[1] = _this.changeUrl(_this.url, arg[1].split('?')[0]).url;
  269. };
  270. win.hijack.prototype.changeUrl = function (obj, url) {
  271. var _this = this;
  272. _this.url = (_this.httpVerify(url) ? (function () {
  273. return _this.httpVerify(hywa.config.port[url]) ? hywa.config.href + hywa.config.port[url] : hywa.config.port[url];
  274. })() : url);
  275. _this.url += "?";
  276. for (var i in obj) {
  277. _this.url += i + "=" + obj[i] + "&";
  278. }
  279. _this.url = _this.url.substr(0, _this.url.length - 1);
  280. return this;
  281. };
  282. win.hijack.prototype.httpVerify = function (url) {
  283. return (url.substr(0, 5) != 'http:' && url.substr(0, 6) != 'https:' && url.substr(0, 2) != '//');
  284. };
  285. win.hijack.prototype.changeJSON = function (json) {
  286. var _this = this;
  287. try {
  288. json = JSON.parse(json);
  289. if (json.retHead) {
  290. _this.json.code = json.retHead.errCode;
  291. _this.json.msg = json.retHead.errMsg || "不知道怎么了!!!";
  292. _this.json.count = json.retHead.total || 0;
  293. } else {
  294. }
  295. if (JSON.stringify(json.retBody) == '{}') {
  296. json.retBody = []
  297. }
  298. if (json.retBody && !!json.retBody.list && !!json.retBody.list.length) {
  299. _this.json.count = _this.json.count || json.retBody.total || 0;
  300. _this.json.data = json.retBody.list || [];
  301. _this.json.button = json.buttonRep || {};
  302. if (JSON.stringify(_this.json.button) != '{}') {
  303. (function addRgt(data, rgt) {
  304. for (let i = 0; i < data.length; i++) {
  305. data[i] = Object.assign(data[i], rgt);
  306. if (data[i].children)
  307. addRgt(data[i].children, rgt);
  308. }
  309. })(_this.json.data, _this.json.button);
  310. for (let i = 0; i < _this.json.data.length; i++) {
  311. _this.json.data[i] = Object.assign(_this.json.data[i], _this.json.button);
  312. }
  313. }
  314. } else if (json.retBody != "null" && !!json.retBody && Array.isArray(json.retBody.list) && !json.retBody.total) {
  315. _this.json.data = [];
  316. _this.json.button = json.buttonRep || {};
  317. if (JSON.stringify(_this.json.button) != '{}') {
  318. (function addRgt(data, rgt) {
  319. for (let i = 0; i < data.length; i++) {
  320. data[i] = Object.assign(data[i], rgt);
  321. if (data[i].children)
  322. addRgt(data[i].children, rgt);
  323. }
  324. })(_this.json.data, _this.json.button);
  325. for (let i = 0; i < _this.json.data.length; i++) {
  326. _this.json.data[i] = Object.assign(_this.json.data[i], _this.json.button);
  327. }
  328. }
  329. } else {
  330. _this.json.data = Array.isArray(json.retBody) ? (function () {
  331. _this.json.count = _this.json.count || json.retBody.length;
  332. return json.retBody;
  333. })() : (json.retBody != 'null' ? [json.retBody] : []);
  334. }
  335. } catch (e) {
  336. _this.json = {
  337. code: -404,
  338. msg: "返回数据格式错误",
  339. count: 0,
  340. data: []
  341. };
  342. }
  343. return this;
  344. };
  345. win.hijack.prototype.errorMsg = function (code, msg) {
  346. var _this = this;
  347. _this.layer.msg("(" + code + ") " + (msg || "服务器通讯不畅!"), {
  348. icon: 2,
  349. time: 3000
  350. });
  351. return (window.hywa.codeVerify[(code - 0 || 'default')] || window.hywa.codeVerify['default'])();
  352. };
  353. win.hijack.prototype.okMsg = function (msg) {
  354. var _this = this;
  355. _this.layer.msg(msg, {
  356. icon: 1,
  357. time: 800
  358. });
  359. return false;
  360. };
  361. win.hijack.prototype.setRequestHeader = function (xhr) {
  362. var _this = this;
  363. if (typeof xhr.RequestHeader == 'undefined') {
  364. xhr.RequestHeader = true;
  365. var token = layui.sessionData(window.hywa.sessionTable.tableName);
  366. JSON.stringify(token) != '{}' && xhr.setRequestHeader('accessToken', token.token);
  367. }
  368. };
  369. var hook = new hijack();
  370. hookAjax({
  371. //拦截函数
  372. open: function (arg) {
  373. return hook.open(arg, this.xhr);
  374. },
  375. //拦截回调
  376. onreadystatechange: function (xhr) {
  377. // console.log(xhr.readyState)
  378. return hook.onload(xhr);
  379. },
  380. onload: function (xhr) {
  381. return hook.onload(xhr);
  382. },
  383. setRequestHeader: function (h, xhr) {
  384. // console.log("加头",JSON.stringify(xhr));
  385. hook.setRequestHeader(xhr);
  386. }
  387. });
  388. })(window);
  389. /**
  390. * 时间格式化
  391. */
  392. Date.prototype.format = function (format) {
  393. var date = {
  394. "M+": this.getMonth() + 1,
  395. "d+": this.getDate(),
  396. "h+": this.getHours(),
  397. "m+": this.getMinutes(),
  398. "s+": this.getSeconds(),
  399. "q+": Math.floor((this.getMonth() + 3) / 3),
  400. "S+": this.getMilliseconds()
  401. };
  402. if (/(y+)/i.test(format)) {
  403. format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
  404. }
  405. for (var k in date) {
  406. if (new RegExp("(" + k + ")").test(format)) {
  407. format = format.replace(RegExp.$1, RegExp.$1.length == 1 ?
  408. date[k] : ("00" + date[k]).substr(("" + date[k]).length));
  409. }
  410. }
  411. return format;
  412. }
  413. /**
  414. * URL参数转换为对象
  415. */
  416. Location.prototype.searchObj = function (url) {
  417. var obj = {};
  418. var arr = (url || this.search).match(/[?&][^?&]+=[^?&]+/g);
  419. if (arr) {
  420. arr.forEach(function (item) {
  421. var tempArr = item.substring(1).split('=');
  422. obj[decodeURIComponent(tempArr[0])] = decodeURIComponent(tempArr[1]);
  423. length++;
  424. });
  425. }
  426. return obj;
  427. }