shoudan.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. var Shoudan = function(){
  2. };
  3. (function(){
  4. 'use strict';
  5. Shoudan.prototype = {
  6. construct: Shoudan,
  7. _parameter: {
  8. ywInfo: {
  9. ywglh: null,
  10. ywxtdm: null,
  11. ywlbdm: null,
  12. ywglyt: '1'//业务关联用途,默认为查询
  13. },
  14. objInfo: {
  15. zjlx: null,
  16. zjhm: null,
  17. ztmc: null
  18. },
  19. renderStyle: {
  20. model: 1
  21. }
  22. },
  23. getParameter: function(key){
  24. return this._parameter[key];
  25. },
  26. setParameter: function(key,value){
  27. this._parameter[key] = value;
  28. },
  29. getSdjlh: function(){
  30. return this._data['sdjlh'];
  31. },
  32. setSdjlh: function(sdjlh){
  33. this._data['sdjlh'] = sdjlh;
  34. },
  35. getSdztid: function(){
  36. return this._data['sdztid'];
  37. },
  38. setSdztid: function(sdztid){
  39. this._data['sdztid'] = sdztid;
  40. },
  41. getYwxtid: function(){
  42. return this._data['ywxtid'];
  43. },
  44. setYwxtid: function(ywxtid){
  45. this._data['ywxtid'] = ywxtid;
  46. },
  47. getYwlbid: function(){
  48. return this._data['ywlbid'];
  49. },
  50. setYwlbid: function(ywlbid){
  51. this._data['ywlbid'] = ywlbid;
  52. },
  53. getYwglh: function(){
  54. return this.getParameter('ywInfo')['ywglh'];
  55. },
  56. setYwglh: function(ywglh){
  57. this._data['ywglh'] = ywglh;
  58. var ywInfo = this.getParameter('ywInfo');
  59. ywInfo['ywglh'] = ywglh;
  60. },
  61. _data: {
  62. sdjlh: null,//收单记录号
  63. ywglh: null,//业务关联号
  64. ywxtid: null,//业务系统ID
  65. ywlbid: null,//业务类别ID
  66. sdztid: null //收单主体ID
  67. },
  68. /**
  69. * 更新参数
  70. * 目前只针对收单主体信息进行更新
  71. * @param inParam
  72. * @param callback
  73. */
  74. config: function(inParam,callback){
  75. if(inParam){
  76. var objInfo = inParam['objInfo'];
  77. //主体信息处理
  78. if(objInfo){
  79. this.setParameter('objInfo',objInfo);
  80. querySdjl(this,function(data){
  81. if(callback){
  82. callback(data);
  83. }
  84. });
  85. }
  86. }else{
  87. throw new Error("传入参数为空");
  88. }
  89. },
  90. /**
  91. * 收单校验
  92. * @param callback
  93. */
  94. check: function(callback){
  95. var ywxtdm = this.getParameter("ywInfo")['ywxtdm'];
  96. var ywglh = this.getYwglh();
  97. new Service().appendServices({
  98. serviceId: 'shoudanListService',
  99. method: 'check',
  100. parameters: {
  101. ywxtdm: ywxtdm,
  102. ywglh: ywglh
  103. }
  104. }).sentAjax(function(data){
  105. data = data[0];
  106. var code = data['code'];
  107. var info = data['info'];
  108. if(callback){
  109. callback(data);
  110. }
  111. });
  112. },
  113. /**
  114. * 收单完成
  115. * @param callback
  116. */
  117. complete: function(callback){
  118. //测试代码
  119. var ywxtdm = this.getParameter("ywInfo")['ywxtdm'];
  120. var ywglh = this.getYwglh();
  121. new Service().appendServices({
  122. serviceId: 'shoudanListService',
  123. method: 'complete',
  124. parameters: {
  125. ywxtdm: ywxtdm,
  126. ywglh: ywglh
  127. }
  128. }).sentAjax(function(data){
  129. data = data[0];
  130. var code = data['code'];
  131. var info = data['info'];
  132. if(callback){
  133. callback(data);
  134. }
  135. });
  136. }
  137. };
  138. var _shoudan;//指向生成的实例对象
  139. /**
  140. * 初始化时主要分三种方式。
  141. * 1.无收单主体:
  142. * 读取配置信息,初始化收单资料列表
  143. * 2.有收单主体、无收单记录
  144. * 读取配置信息、初始化收单资料列表
  145. * 3.有收单主体、有收单记录
  146. * 读取配置信息和收单信息,初始化收单资料列表
  147. * @param inParam
  148. * @returns {Shoudan}
  149. */
  150. Shoudan.config = function(inParam,callback){
  151. var shoudan = new Shoudan();
  152. //参数赋值
  153. if(inParam){
  154. var ywInfo = inParam['ywInfo'];
  155. var objInfo = inParam['objInfo'];
  156. var renderStyle = inParam['renderStyle'];
  157. //业务信息处理
  158. if(ywInfo){
  159. var ywxtdm = ywInfo['ywxtdm'];
  160. var ywlbdm = ywInfo['ywlbdm'];
  161. var ywglh = ywInfo['ywglh'];
  162. shoudan.setParameter('ywInfo',ywInfo);
  163. }else{
  164. throw new Error("业务信息获取失败:ywInfo");
  165. }
  166. //主体信息处理
  167. if(objInfo){
  168. shoudan.setParameter('objInfo',objInfo);
  169. }else{
  170. shoudan.setParameter('objInfo',null);
  171. }
  172. //渲染方式处理
  173. if(renderStyle){
  174. shoudan.setParameter("renderStyle", renderStyle);
  175. }
  176. }else{
  177. throw new Error("传入参数为空");
  178. }
  179. querySdjl(shoudan,function(data){
  180. var code = data['code'];
  181. var info = data['info'];
  182. if(callback){
  183. callback(data);
  184. }
  185. });
  186. _shoudan = shoudan;
  187. return shoudan;
  188. };
  189. var scanWindow = $('<div><iframe style="margin:0;padding:0;border:0;width:100%;height:100%;" id="scanWindow"></iframe></div>').appendTo('body').hide().fwwindow({
  190. title: '收单页面',
  191. width: $('body').width()*0.6,
  192. height: $('body').height()*0.9,
  193. modal: true,
  194. closed: true,
  195. onClose: function(){
  196. querySdjl(_shoudan,function(){
  197. });
  198. }
  199. });
  200. var globalScanWindow = scanWindow;
  201. Shoudan.globalScanWindow = function(){
  202. return globalScanWindow;
  203. };
  204. Shoudan.scan = function(data){
  205. var sdjlid = data['data-sdjlid'];
  206. var sdzlid = data['data-sdzlid'];
  207. alert("======="+sdjlid);
  208. if(sdjlid == null || sdjlid == '' || sdzlid == null || sdzlid == ''){
  209. return null;
  210. }else{
  211. scan(sdjlid,sdzlid);
  212. }
  213. };
  214. /**
  215. * 扫描
  216. * @param sdjlid
  217. * @param sdzlid
  218. */
  219. function scan(sdjlid,sdzlid){
  220. var url = "/web/shoudanEntry?"+"sdjlid="+sdjlid+"&sdzlid="+sdzlid;
  221. $('#scanWindow').attr('src',url);
  222. scanWindow.fwwindow('open');
  223. }
  224. Shoudan.del = function(data){
  225. var sdjlid = data['data-sdjlid'];
  226. var sdzlid = data['data-sdzlid'];
  227. if(sdjlid == null || sdjlid == '' || sdzlid == null || sdzlid == ''){
  228. return null;
  229. }else{
  230. del(sdjlid,sdzlid);
  231. }
  232. };
  233. function del(sdjlid,sdzlid){
  234. alert('暂未实现,sdjlid:'+sdjlid+',sdzlid:'+sdzlid);
  235. }
  236. /**
  237. * 查询收单记录列表
  238. */
  239. function querySdjl(shoudan,callback){
  240. //调用后端,查询收单资料列表
  241. new Service().appendServices({
  242. serviceId: 'shoudanListService',
  243. method: 'querySdjl',
  244. parameters: {
  245. ywInfo: shoudan.getParameter('ywInfo'),
  246. objInfo: shoudan.getParameter('objInfo')
  247. }
  248. }).sentAjax(function(data){
  249. data = data[0];
  250. var ywglh = data['ywglh'] == '' ? null : data['ywglh'];
  251. var sdList = data['sdList'];
  252. shoudan.setYwglh(ywglh);
  253. //$('#sdlist').fwdatagrid('removeRows');
  254. $('#sdlist').fwdatagrid('updateRows',sdList);
  255. if(callback){
  256. var rtn = {
  257. 'code': '1',
  258. 'info': ywglh
  259. };
  260. callback(rtn);
  261. }
  262. },function(data){
  263. getListData('sdlist','1=2');
  264. if(callback){
  265. var rtn = {
  266. 'code': '-1',
  267. 'info': data
  268. }
  269. callback(rtn);
  270. }else{
  271. alert(data);
  272. }
  273. });
  274. }
  275. })();