config.js 14 KB

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