contractSearchMilestoneStatus.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. var contractMilestoneGrid;
  2. var SendWaysList;
  3. var editindex;
  4. var isfinishData = [{ isfinish: 0, text: '未完成' }, { isfinish: 1, text: '完成'}];
  5. $(document).ready(function(){
  6. var ids1=$("#contract_accessory").val();
  7. editViewFileHtml(ids1,"contract_main_accessory",false);
  8. var ids2=$("#main_accessory").val();
  9. editViewFileHtml(ids2,"contract_picture_accessory",false);
  10. var params="";
  11. var contractId=$("#contractId").val();
  12. params="&contractId="+contractId;
  13. loadContractMilestoneList(params);
  14. });
  15. function loadContractMilestoneList(params) {
  16. /*if(contractMilestoneGrid == undefined){*/
  17. g=contractMilestoneGrid = $("#contractMilestoneGrid").ligerGrid({
  18. columns : [
  19. {
  20. display : '状态名称',
  21. name : 'status_name',
  22. width : 120,
  23. editor: { type: 'text' }
  24. },
  25. // {
  26. // display : '预计日期',
  27. // name : 'plan_date',
  28. // width : 120,
  29. // /*type:date,*/
  30. // /*format: 'yyyy-MM-dd',*/
  31. // editor: { type: 'date' }
  32. // },
  33. {
  34. display : '实际日期',
  35. name : 'reality_date',
  36. width : 120,
  37. /*type:date,*/
  38. /*format: 'yyyy-MM-dd',*/
  39. editor: { type: 'date' }
  40. },
  41. {
  42. display : '金额',
  43. name : 'trade_money',
  44. align : 'center',
  45. width : 100,
  46. editor: { type: 'text' }
  47. },
  48. {
  49. display : '预警天数',
  50. name : 'warn_days',
  51. width : 100,
  52. align : 'center',
  53. //linww 20150311
  54. hide:contractconfig(),
  55. editor: { type: 'text' }
  56. },
  57. {
  58. display : '预警方式',
  59. name : 'warn_way',
  60. width : 150,
  61. align : 'center',
  62. //hide linww 20150311
  63. hide:contractconfig(),
  64. editor: { type: 'select',
  65. ext:function(rowdata,index){
  66. editindex=index;
  67. return {
  68. onBeforeOpen: f_selectSendWays,
  69. render: function ()
  70. {
  71. /*for (var i = 0; i < SendWaysList.length; i++)
  72. {
  73. if (SendWaysList[i]['SendWaysID'] == rowdata.SendWaysID)
  74. return SendWaysList[i]['SendWaysName'];
  75. }*/
  76. /*alert(0);*/
  77. var html="";
  78. if(rowdata!=null){
  79. var warn_way_name;
  80. if(rowdata.warn_way!=""&&rowdata.warn_way!="undefined"&&rowdata.warn_way!=null){
  81. $("#warn_way_value").val(rowdata.warn_way);
  82. warn_way_name=rowdata.warn_way.split(",");
  83. }else{
  84. var str="1,2";
  85. $("#warn_way_value").val(str);
  86. warn_way_name=str.split(",");
  87. /*warn_way_name=new Array();*/
  88. }
  89. for (var i = 0; i < warn_way_name.length; i++)
  90. {
  91. if(warn_way_name[i]=='1'){
  92. html+="短信 ";
  93. }
  94. if(warn_way_name[i]=='2'){
  95. html+="邮件 ";
  96. }
  97. }
  98. }
  99. return html;
  100. }
  101. };
  102. }
  103. },
  104. render:function(item){
  105. var html="";
  106. var warn_way_name;
  107. if(item.warn_way!=""&&item.warn_way!="undefined"&&item.warn_way!=null){
  108. /*alert(item.warn_way);*/
  109. warn_way_name=item.warn_way.split(",");
  110. }else{
  111. warn_way_name=new Array();
  112. }
  113. for (var i = 0; i < warn_way_name.length; i++)
  114. {
  115. if(warn_way_name[i]=='1'){
  116. html+="短信 ";
  117. }
  118. if(warn_way_name[i]=='2'){
  119. html+="邮件 ";
  120. }
  121. }
  122. return html;
  123. }
  124. },
  125. {
  126. display : '操作人',
  127. name : 'operator_name',
  128. width : 100,
  129. align : 'center'
  130. /*editor: { type: 'text' }*/
  131. },
  132. {
  133. display : '是否完成',
  134. name : 'isfinish',
  135. width : 100,
  136. align : 'center',
  137. type:'int',
  138. //linww 20150312
  139. hide:contractconfig(),
  140. editor: { type: 'select',data:isfinishData , valueColumnName: 'isfinish' },
  141. render: function (item)
  142. {
  143. if (parseInt(item.isfinish) == 1) return '完成';
  144. return '未完成';
  145. }
  146. },
  147. {
  148. display : '附件',
  149. name : 'documentids',
  150. width : 100,
  151. align : 'center',
  152. render: function (rowdata, rowindex, value)
  153. {
  154. var html="";
  155. if (rowdata.documentids!=null&&rowdata.documentids!=""){
  156. /*html+="<span class=\"l-file\" len=\"1\">"+rowdata.documentids+"</span>"; */
  157. html += "<a href='javascript:uploadContract(\"" + rowindex + "\",\""+ rowdata.universalid+"\",\""+ rowdata.documentids+ "\")'>查看附件</a> ";
  158. }/*else{
  159. html += "<a href='javascript:uploadContract(\"" + rowindex + "\",\""+ rowdata.universalid+"\",\""+ rowdata.documentids+ "\")'>上传附件</a> ";
  160. }*/
  161. return html;
  162. }
  163. }
  164. ],
  165. url : 'contractMyLaunch.do?task=contractMilestoneList'+params+'&time=' + new Date().getTime(),
  166. width : "99.8%",
  167. height : "99%",
  168. pageSize : 15,
  169. enabledEdit: true,
  170. clickToEdit: false,
  171. rownumbers:false,
  172. pageParmName : 'p',
  173. usePager:false,
  174. pagesizeParmName : 'pSize',
  175. onError:function(err){
  176. alert("获取数据失败,请刷新页面后重试!");
  177. }
  178. });
  179. /*}else{
  180. contractMilestoneGrid.loadData();
  181. }*/
  182. }
  183. function uploadContract(rowid,milestoneId,documentids){
  184. $.ligerDialog.open({ title: '上传附件', width: 700, height: 200,allowClose:false ,
  185. url: 'contractMyLaunch.do?task=toUploadContractSearch&milestoneId='+milestoneId+'&documentids='+documentids+'&time=' + new Date().getTime(),
  186. buttons: [
  187. { text: '关闭', onclick: f_closeUpload }
  188. ]
  189. });
  190. }
  191. function f_closeUpload(item, dialog)
  192. {
  193. dialog.close();
  194. var manager = $("#contractMilestoneGrid").ligerGetGridManager();
  195. manager.loadData();
  196. }
  197. function beginEdit(rowid,universalid,isfinish) {
  198. //现在默认都完成,所以也是可以修改的 linww 20150312 begin
  199. // if(isfinish=='1'){
  200. // $.ligerDialog.error('该里程碑已完成,不能修改!');
  201. // return;
  202. // }
  203. //现在默认都完成,所以也是可以修改的 linww 20150312 begin
  204. contractMilestoneGrid.beginEdit(rowid);
  205. }
  206. function cancelEdit(rowid, isDelete) {
  207. contractMilestoneGrid.cancelEdit(rowid);
  208. /*contractMilestoneGrid.loadData();
  209. g.loadData();*/
  210. if(isDelete){
  211. contractMilestoneGrid.deleteRow(rowid);
  212. }
  213. }
  214. function submitEdit(rowid,universalid){
  215. var contract_id=$("#contractId").val();
  216. var warn_way_value=$("#warn_way_value").val();
  217. contractMilestoneGrid.endEdit(rowid);
  218. var waittingDialog;
  219. var rows = contractMilestoneGrid.getCheckedRows();
  220. /*var viewname = encodeURI(rows[0].viewname);*/
  221. var status_name=encodeURI(rows[0].status_name);
  222. var plan_date=rows[0].plan_date;
  223. if(plan_date!=null){
  224. plan_date=Todate(plan_date);
  225. }else{
  226. plan_date="";
  227. }
  228. var reality_date=rows[0].reality_date;
  229. if(reality_date!=null){
  230. reality_date=Todate(reality_date);
  231. }else{
  232. reality_date="";
  233. }
  234. var trade_money=rows[0].trade_money;
  235. var warn_days=rows[0].warn_days;
  236. var warn_way=rows[0].warn_way;
  237. var operator=rows[0].operator;
  238. var isfinish=rows[0].isfinish;
  239. if(isfinish==null||isfinish==""){
  240. isfinish=0;
  241. }
  242. if(status_name==null||status_name==""){
  243. $.ligerDialog.error('状态名称不能为空!');
  244. contractMilestoneGrid.beginEdit(rowid);
  245. return;
  246. }
  247. if(trade_money==null||trade_money==""){
  248. $.ligerDialog.error('金额不能为空!');
  249. contractMilestoneGrid.beginEdit(rowid);
  250. return;
  251. }
  252. if(warn_days==null||warn_days==""){
  253. warn_days=0;
  254. }
  255. var jsonObject = {"universalid":universalid,"status_name":status_name,"plan_date":plan_date,
  256. "reality_date":reality_date,"trade_money":trade_money,
  257. "warn_days":warn_days,"warn_way":warn_way_value,
  258. "operator":operator,"isfinish":isfinish,"contract_id":contract_id};
  259. var url = "";
  260. if(universalid!=null&&universalid!=""&&universalid!=undefined&&universalid!="undefined"){
  261. url = "contractMyLaunch.do?task=editContractMilestone";
  262. }else{
  263. url = "contractMyLaunch.do?task=addContractMilestone";
  264. }
  265. $.ajax({
  266. type:"POST",
  267. url:url,
  268. data : jsonObject,
  269. contentType: "application/x-www-form-urlencoded; charset=GBK",
  270. timeout:10000,
  271. cache:false,
  272. dataType:"json",
  273. beforeSend:function(){
  274. waittingDialog = $.ligerDialog.open({content:"正在提交中,请稍后……", allowClose:false});
  275. },
  276. success:function(data){
  277. if(data.success){
  278. $.ligerDialog.success(data.success);
  279. contractMilestoneGrid.loadData();
  280. }else{
  281. showAjaxError(null, data.error);
  282. contractMilestoneGrid.beginEdit(rowid);
  283. }
  284. },
  285. error:function(err){
  286. contractMilestoneGrid.beginEdit(rowid);
  287. showAjaxError(err);
  288. },
  289. complete:function(){
  290. if(waittingDialog != undefined){
  291. waittingDialog.close();
  292. waittingDialog = undefined;
  293. }
  294. }
  295. });
  296. }
  297. function deleteRow(rowid,universalid,isfinish){
  298. var waittingDialog;
  299. if(universalid == 'undefined' || universalid == "" || universalid == undefined){
  300. contractMilestoneGrid.deleteRow(rowid);
  301. }else{
  302. var delRow = contractMilestoneGrid.getSelected();
  303. // if(delRow.dev_status_valid == 1){
  304. // alert("当前要被删除的标准项还是'有效'状态!\n为避免误删导致不可估计的后果,请先将该项设置为'无效'状态后再删除!");
  305. // return;
  306. // }
  307. //现在默认都完成,所以也是可以删除的 linww 20150312 begin
  308. // if(isfinish=='1'){
  309. // $.ligerDialog.error('该里程碑已完成,不能删除!');
  310. // return;
  311. // }
  312. //现在默认都完成,所以也是可以删除的 linww 20150312 begin
  313. if (confirm('您确定要删除该里程碑吗?')){
  314. $.ajax({
  315. type:"POST",
  316. url:"contractMyLaunch.do?task=delMilestone&universalid=" + universalid,
  317. data : "",
  318. timeout:10000,
  319. dataType:"json",
  320. beforeSend:function(){
  321. waittingDialog = $.ligerDialog.open({content:"正在提交中,请稍后……", allowClose:false});
  322. },
  323. success:function(data){
  324. if(data.success){
  325. contractMilestoneGrid.deleteRow(rowid);
  326. $.ligerDialog.success(data.success);
  327. }else{
  328. showAjaxError(null, data.error);
  329. }
  330. },
  331. error:function(err){
  332. showAjaxError(err);
  333. },
  334. complete:function(){
  335. if(waittingDialog != undefined){
  336. waittingDialog.close();
  337. waittingDialog = undefined;
  338. }
  339. }
  340. });
  341. }
  342. }
  343. }
  344. function addNewRow(){
  345. var data = contractMilestoneGrid.getData();
  346. for(var i=0;i<data.length;i++){
  347. var isfinish=data[i].isfinish;
  348. if(isfinish=='0'){
  349. $.ligerDialog.error('存在未完成的里程碑,请先完成!');
  350. return;
  351. }
  352. }
  353. for (var rowid in contractMilestoneGrid.records){
  354. var row = contractMilestoneGrid.getRow(rowid);
  355. if(!row.universalid){
  356. return;
  357. }
  358. }
  359. contractMilestoneGrid.addEditRow();
  360. }
  361. function getSelected(){
  362. var row = contractMilestoneGrid.getSelectedRow();
  363. if (!row) { alert('请选择行'); return; }
  364. alert(JSON.stringify(row));
  365. }
  366. function getData(){
  367. var data = contractMilestoneGrid.getData();
  368. alert(JSON.stringify(data));
  369. }
  370. function searchByKword(){
  371. var asset_search_name=$("#asset_search_name").val();
  372. var params="&asset_search_name="+encodeURI(encodeURI(asset_search_name));
  373. var asset_search_id=$("#asset_search_id").val();
  374. params=params+"&asset_search_id="+encodeURI(encodeURI(asset_search_id));
  375. var asset_search_type=$("#asset_search_type").val();
  376. params+="&asset_search_type="+asset_search_type;
  377. loadContractMilestoneList(params);
  378. }
  379. function f_selectSendWays() {
  380. $.ligerDialog.open({ title: '选择警告方式', width: 700, height: 200,
  381. url: 'contractMyLaunch.do?task=toSendWaysList'+'&time=' + new Date().getTime(),
  382. buttons: [
  383. { text: '确定', onclick: f_selectSendWaysOK },
  384. { text: '取消', onclick: f_selectSendWaysCancel }
  385. ]
  386. });
  387. return false;
  388. }
  389. function f_selectSendWaysOK(item, dialog)
  390. {
  391. var data = dialog.frame.f_select();
  392. if (!data)
  393. {
  394. alert('请选择行!');
  395. return;
  396. }
  397. var warn_way_value="";
  398. for(var i=0;i<data.length;i++){
  399. if(warn_way_value==""){
  400. warn_way_value=data[i].warn_way;
  401. }else{
  402. warn_way_value+=","+data[i].warn_way;
  403. }
  404. }
  405. var test=g.getAdded();
  406. if(test!=null&&test!=""&&test!=undefined){
  407. g.updateCell('warn_way', warn_way_value, editindex);
  408. }else{
  409. g.updateCell('warn_way', warn_way_value, g.getSelected());
  410. }
  411. $("#warn_way_value").val(warn_way_value);
  412. /*g.endEdit();*/
  413. dialog.close();
  414. }
  415. function f_selectSendWaysCancel(item, dialog)
  416. {
  417. dialog.close();
  418. }
  419. function Todate(num) {
  420. //Fri Oct 31 18:00:00 UTC+0800 2008
  421. //Mon Jul 08 2013 00:00:00 GMT+0800
  422. num = num + ""; //给字符串后就一个空格
  423. var date = "";
  424. var month = new Array();
  425. month["Jan"] = 1; month["Feb"] = 2; month["Mar"] = 3; month["Apr"] = 4;
  426. month["May"] = 5; month["Jan"] = 6; month["Jul"] = 7; month["Aug"] = 8;
  427. month["Sep"] = 9; month["Oct"] = 10; month["Nov"] = 11; month["Dec"] = 12;
  428. var week = new Array();
  429. week["Mon"] = "一"; week["Tue"] = "二"; week["Wed"] = "三"; week["Thu"] = "四";
  430. week["Fri"] = "五"; week["Sat"] = "六"; week["Sun"] = "日";
  431. str = num.split(" "); //根据空格组成数组
  432. //Fri Oct 31 18:00:00 UTC+0800 2008
  433. date = str[5] + "-"; //就是在2008的后面加一个“-”
  434. //通过修改这里可以得到你想要的格式
  435. date = date + month[str[1]] + "-" + str[2] + " " + str[3];
  436. //date=date+" 周"+week[str[0]];
  437. //Mon Jul 08 2013 00:00:00 GMT+0800
  438. // date= str[3] + "-";
  439. // date=date +month[str[1]] + "-" + str[2];
  440. return date;
  441. }