list.jsp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495
  1. <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  2. <jsp:include page="../../common/include.jsp" />
  3. <%String basePath = request.getScheme()+ "://" + request.getServerName() + ":" +request.getServerPort() + request.getContextPath(); %>
  4. <script type="text/javascript">
  5. /**招标信息显示区*/
  6. $(function() {
  7. $.ajax({
  8. type: "post",
  9. dataType: "json",
  10. url: "columnSetAction_listColumn?tname=construction",
  11. complete :function(){$("#load").hide();},
  12. success: function(msg){
  13. if(msg.success){
  14. setId();
  15. var data = msg.obj;
  16. for(var i = 0;i<data.length;i++){
  17. if("1"==data[i].type){
  18. if(typeof(data[i].formatter)!="undefined"){
  19. data[i].formatter=eval(data[i].formatter);
  20. }
  21. user_columns.push(data[i]);
  22. }else{
  23. user_frozenColumns.push(data[i]);
  24. }
  25. }
  26. columns.push(user_columns);
  27. frozenColumns.push(user_frozenColumns);
  28. $('#constructionDataGrid').datagrid({
  29. rownumbers:true,
  30. fit:true,
  31. pageSize:10,
  32. pageList : [ 10, 20, 30, 40, 50 ],
  33. fitColumns:false,
  34. border:false,
  35. sortOrder:'desc',
  36. pagination:true,
  37. idField:'id',
  38. url:whzl.basePath + '/constructionAction_list',
  39. toolbar:'#searchtool',
  40. checkOnSelect:true,
  41. selectOnCheck:true,
  42. singleSelect:true,
  43. showFooter: true,
  44. columns:columns,
  45. frozenColumns:frozenColumns,
  46. loadFilter:function(result){
  47. if(result.success){
  48. return result.obj;
  49. }else{
  50. $.messager.alert("提示",result.message);
  51. return ;
  52. }
  53. }
  54. });
  55. toolBar("constructionDataGrid","setConstructionDialog","construction");
  56. }
  57. }
  58. });
  59. /*$('#constructionDataGrid').datagrid({
  60. rownumbers:true,
  61. fit:true,
  62. pageSize:10,
  63. pageList : [ 10, 20, 30, 40, 50 ],
  64. fitColumns:false,
  65. border:false,
  66. sortOrder:'desc',
  67. pagination:true,
  68. idField:'id',
  69. url:whzl.basePath + '/constructionAction_list',
  70. toolbar:'#searchtool',
  71. checkOnSelect:true,
  72. selectOnCheck:false,
  73. nowrap:true,
  74. loadFilter:function(result){
  75. if(result.success){
  76. return result.obj;
  77. }else{
  78. $.messager.alert("提示",result.message);
  79. return ;
  80. }
  81. }
  82. }
  83. );*/
  84. });
  85. /**查询*/
  86. function searchFun(){
  87. /*var params = encodeURI("construction.renovationContract.number="+trim($("#tblQuery").find("input[id='number']").val())+
  88. "&construction.renovationContract.name="+trim($("#tblQuery").find("input[id='name']").val()));
  89. $('#constructionDataGrid').datagrid({url:whzl.basePath + '/constructionAction_list?'+params,pageNumber:1});*/
  90. $("#constructionDataGrid").datagrid("load", {
  91. "construction.renovationContract.number":$("#tblQuery").find("input[id='number']").val(),
  92. "construction.renovationContract.name":$("#tblQuery").find("input[id='name']").val(),
  93. });
  94. $('#constructionDataGrid').datagrid({
  95. columns:columns,
  96. frozenColumns:frozenColumns
  97. });
  98. toolBar("constructionDataGrid","setConstructionDialog","construction");
  99. }
  100. /*清除查询条件**/
  101. function ClearQuery() {
  102. $("#tblQuery").find("input").val("");
  103. $("#tblQuery").find("select").val("-1");
  104. }
  105. /**详细*/
  106. var detailsFormatter = function(value , row , index){
  107. return "<img src='<%=basePath%>/js/easyui/themes/itemicon/detail.png' title='查看详情' onclick=tenderDetails(" + row.id + ") style='cursor:pointer' />";
  108. };
  109. /**详细页面对话框*/
  110. var tenderDetails = function(id){
  111. $("#detailDialog").dialog(
  112. {
  113. buttons : [
  114. {
  115. text : '确定',
  116. iconCls : 'icon-ok',
  117. handler : function(){
  118. $("#detailDialog").dialog("close");
  119. }
  120. }
  121. ],
  122. onLoad : function(){
  123. detail_load(id);
  124. }
  125. }
  126. );
  127. };
  128. function js_method(id){
  129. $("#renovationContractDetailDialog").dialog(
  130. {
  131. buttons : [
  132. {
  133. text : '确定',
  134. iconCls : 'icon-ok',
  135. handler : function(){
  136. $("#renovationContractDetailDialog").dialog("close");
  137. }
  138. }
  139. ],
  140. onLoad : function(){
  141. detail_load(id);
  142. }
  143. }
  144. );
  145. }
  146. /**更新*/
  147. var updateFormatter = function(value , row , index){
  148. return "<img src='<%=basePath%>/images/pencil.png' title='修改' onclick=updateRow(" + row.id + ",'update') style='cursor:pointer' />";
  149. };
  150. /**更新事件*/
  151. function updateRow(){
  152. var row = $('#constructionDataGrid').datagrid('getSelected');
  153. if(row == null){
  154. $.messager.alert("提示","请先选择要修改的周志信息!");
  155. }
  156. var id = row.id;
  157. param='update'
  158. //var updateIndex = $('#constructionDataGrid').datagrid('getRowIndex', id);
  159. $("#updateDialog").dialog(
  160. {
  161. buttons : [
  162. {
  163. text : '提交',
  164. iconCls : 'icon-ok',
  165. handler : function(){
  166. var materialFileLength = $("#materialFile_update_file").children("div").length;
  167. if(materialFileLength == 0){
  168. $.messager.alert("提示","请上传材料进出图片");
  169. return false;
  170. }
  171. $('#updateConstructionForm').form('submit',
  172. {
  173. url : whzl.basePath+'/constructionAction_update',
  174. success : function(result){
  175. var parseResult = $.parseJSON(result);
  176. if(parseResult.success){
  177. $("#updateDialog").dialog("close");
  178. $('#constructionDataGrid').datagrid('reload');
  179. }else{
  180. $.messager.alert("提示",parseResult.message);
  181. }
  182. }
  183. }
  184. );
  185. }
  186. },
  187. {
  188. text : '取消',
  189. iconCls : 'icon-cancel',
  190. handler : function(){
  191. $("#updateDialog").dialog("close");
  192. }
  193. }
  194. ],
  195. onLoad : function(){
  196. if(param == 'add'){
  197. $('#tabs_update').tabs('select', $('#tabs_update').tabs('getTabIndex', $('#tabs_update').tabs('getSelected')) + 1);
  198. }
  199. $.ajax({
  200. type: "post",//使用get方法访问后台
  201. dataType: "json",//返回json格式的数据
  202. url: "constructionAction_findById",//要访问的后台地址
  203. data: "construction.id="+id,//要发送的数据
  204. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  205. success: function(msg){//msg为返回的数据,在这里做数据绑定
  206. $("#id_update").val(msg.obj.id);
  207. $("#name_update").append("<a href='javascript:void(0);' onclick='js_method("+msg.obj.renovationContract.id+")'>"+msg.obj.renovationContract.name+"</a>");
  208. $("#number_update").append("<a href='javascript:void(0);' onclick='js_method("+msg.obj.renovationContract.id+")'>"+msg.obj.renovationContract.number+"</a>");
  209. $("#renovationContractId_update").val(msg.obj.renovationContract.id);
  210. $("#content_update").val(msg.obj.content);
  211. $("#constructionDate_update").datebox("setValue", msg.obj.constructionDate);
  212. $("#companyName_update").text(msg.obj.renovationContract.foreignCompany.name);
  213. for(var i=0;i< msg.obj.materialFile.length;i++){
  214. var $image = $("<div style='width: 100px;height: 40px;float:left;'><a href='" + msg.obj.materialFile[i].filePath + "' rel='lightbox[materialFile_update]'><img src='" + msg.obj.materialFile[i].filePath + "' width='100' height='40'/></a><img src='images/de.png' id='img" + msg.obj.materialFile[i].id + "' onclick='removeImg(" + msg.obj.materialFile[i].id + ")' width='15' height='15' style='float: right;position: relative;top: -38px;right: 2px;cursor:pointer;'></div>");
  215. $("#materialFile_update_file").append ($image);
  216. }
  217. $("#materialFile_update").change(
  218. function(){
  219. $('#updateConstructionForm').form('submit',{
  220. url : whzl.basePath+'/constructionAction_addUploadFile',
  221. success: function(result){
  222. $("#materialFile_update").attr("value","");
  223. $.ajax({
  224. type: "post",//使用get方法访问后台
  225. dataType: "json",//返回json格式的数据
  226. url: "constructionAction_findById",//要访问的后台地址
  227. data: "construction.id="+id,//要发送的数据
  228. success: function(msg){
  229. $("#materialFile_update_file").children('div').remove();
  230. for(var i=0;i< msg.obj.materialFile.length;i++){
  231. var $image = $("<div style='width: 100px;height: 40px;float:left;'><a href='" + msg.obj.materialFile[i].filePath + "' rel='lightbox[materialFile_update]'><img src='" + msg.obj.materialFile[i].filePath + "' width='100' height='40'/></a><img src='images/de.png' id='img" + msg.obj.materialFile[i].id + "' onclick='removeImg(" + msg.obj.materialFile[i].id + ")' width='15' height='15' style='float: right;position: relative;top: -38px;right: 2px; cursor:pointer;'></div>");
  232. $("#materialFile_update_file").append ($image);
  233. }
  234. }
  235. });
  236. }
  237. }
  238. );
  239. });
  240. }
  241. });
  242. }
  243. }
  244. );
  245. }
  246. /**新增装修合同*/
  247. function add(){
  248. $('#addDialog').dialog(
  249. {
  250. buttons : [
  251. {
  252. text : '下一步',
  253. iconCls : 'icon-redo',
  254. handler : function(){
  255. if($('#tabs').tabs('getTabIndex', $('#tabs').tabs('getSelected')) != 1){
  256. $('#tabs').tabs('select', $('#tabs').tabs('getTabIndex', $('#tabs').tabs('getSelected')) + 1);
  257. }else{
  258. var materialFile = $("#materialFile_add").val();
  259. if(materialFile == ''){
  260. $.messager.alert("提示","请上传材料进出图片");
  261. return false;
  262. }
  263. parent.$.messager.progress({
  264. title : '提示',
  265. text : '保存中,请稍后....'
  266. });
  267. $('#addConstructionForm').form('submit',
  268. {
  269. url : whzl.basePath+'/constructionAction_add',
  270. onSubmit: function(){
  271. var isValid =$('#addConstructionForm').form('validate');
  272. if(isValid == false){
  273. parent.$.messager.progress('close');
  274. }
  275. return isValid;
  276. },
  277. success : function(result){
  278. parent.$.messager.progress('close');
  279. var parseResult = $.parseJSON(result);
  280. if(parseResult.success){
  281. $("#addDialog").dialog("close");
  282. $('#constructionDataGrid').datagrid('reload');
  283. }else{
  284. $.messager.alert("提示",parseResult.message);
  285. }
  286. }
  287. }
  288. );
  289. }
  290. }
  291. },
  292. {
  293. text : '取消',
  294. iconCls : 'icon-cancel',
  295. handler : function(){
  296. $("#addDialog").dialog("close");
  297. }
  298. }
  299. ]
  300. }
  301. );
  302. }
  303. function changeRenovationContract(param){
  304. $('#renovationContractDialog').dialog(
  305. {
  306. buttons : [
  307. {
  308. text : '确定',
  309. iconCls : 'icon-ok',
  310. handler : function(){
  311. var selectedItem = $('#renovationContractDataGrid').datagrid('getSelected');
  312. if(selectedItem == null){
  313. $.messager.alert("警告","请选择装修合同!");
  314. return;
  315. }
  316. if(param == 'add'){
  317. $("#number_add").append("<a href='javascript:void(0);' onclick='js_method("+selectedItem.id+")'>"+selectedItem.number+"</a>");
  318. $("#name_add").append("<a href='javascript:void(0);' onclick='js_method("+selectedItem.id+")'>"+selectedItem.name+"</a>");
  319. $("#renovationContractId_add").val(selectedItem.id);
  320. $("#companyName_add").text(selectedItem.foreignCompany.name);
  321. }else{
  322. $("#number_update").val(selectedItem.number);
  323. $("#name_update").val(selectedItem.name);
  324. $("#renovationContractId_update").val(selectedItem.id);
  325. $("#companyName_update").text(selectedItem.foreignCompany.name);
  326. }
  327. $("#renovationContractDialog").dialog("close");
  328. }
  329. },
  330. {
  331. text : '取消',
  332. iconCls : 'icon-cancel',
  333. handler : function(){
  334. $("#renovationContractDialog").dialog("close");
  335. }
  336. }
  337. ],
  338. onLoad : function(){
  339. renovationContract_load("renovationContract.renovationState=1");
  340. }
  341. }
  342. );
  343. }
  344. //删除图片
  345. var removeImg = function(id){
  346. $.messager.confirm('提示', '确定删除么?删除后将无法恢复', function(r){
  347. if (r){
  348. $("#img" + id).parent().remove();
  349. $.ajax({
  350. type: "post",//使用post方法访问后台
  351. dataType: "json",//返回json格式的数据
  352. url:whzl.basePath + "/uploadFileAction_deleteUploadFile",
  353. data:{
  354. "uploadFile.id":id
  355. },
  356. error: function(msg){//msg为返回的数据,在这里做数据绑定
  357. $.messager.alert("提示","删除失败!");
  358. }
  359. });
  360. }
  361. });
  362. }
  363. /**合同编号*/
  364. var numberFormatter = function(value , row , index){
  365. return row.renovationContract.number;
  366. };
  367. /**合同名称*/
  368. var nameFormatter = function(value , row , index){
  369. return row.renovationContract.name;
  370. };
  371. /**装修单位*/
  372. var companyFormatter = function(value , row , index){
  373. return row.renovationContract.foreignCompany.name;
  374. };
  375. /**格式化时间*/
  376. var dateFormatter = function(value,row,index){
  377. return dealDate(value);
  378. };
  379. /**删除*/
  380. var delFormatter = function(value , row , index){
  381. return "<img src='<%=basePath%>/images/edit_remove.png' title='删除' onclick=deleteRow(" + row.id + ") style='cursor:pointer' />";
  382. };
  383. /**删除功能*/
  384. function deleteRow(){
  385. var row = $('#constructionDataGrid').datagrid('getSelected');
  386. if(row == null){
  387. $.messager.alert("提示","请先选择要删除的周志信息!");
  388. }
  389. var id = row.id;
  390. $.messager.confirm('删除提示', '确定删除这条记录吗?', function(r){
  391. if (r){
  392. $.ajax({
  393. type: "post",//使用get方法访问后台
  394. dataType: "json",//返回json格式的数据
  395. url: "constructionAction_del",//要访问的后台地址
  396. data: "construction.id="+id,//要发送的数据
  397. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  398. success: function(msg){//msg为返回的数据,在这里做数据绑定
  399. if(msg.success){
  400. $.messager.alert('提示','删除成功!');
  401. $('#constructionDataGrid').datagrid('reload');
  402. }else{
  403. $.messager.alert('提示','删除失败!');
  404. }
  405. }
  406. });
  407. }
  408. });
  409. }
  410. </script>
  411. <div class="easyui-layout" data-options="fit:true,border:false">
  412. <div data-options="region:'center',border:false">
  413. <div id="searchtool" data-options="region:'north', border:false">
  414. <div class="clear"></div>
  415. <table id="tblQuery" style="width:100%;font-size:12px;">
  416. <tr>
  417. <td align="right" style="width: 10%"><span>合同编号</span></td>
  418. <td style="width: 10%">
  419. <input type="text" name="renovationContract.number" id="number">
  420. </td>
  421. <td align="right" style="width: 8%"><span>合同名称</span></td>
  422. <td style="width: 18%">
  423. <input type="text" name="renovationContract.name" id="name">
  424. </td>
  425. <td align="left" style="width: 52%">
  426. <a href="javascript:searchFun();" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true">查询</a>
  427. <a href="javascript:ClearQuery();" class="easyui-linkbutton" data-options="iconCls:'icon-emptied',plain:true">清空</a>
  428. <a href="javascript:add();" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true">增加</a>
  429. <a href="javascript:updateRow();" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true">修改</a>
  430. <a href="javascript:deleteRow();" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true">删除</a>
  431. </td>
  432. </tr>
  433. </table>
  434. <div class="clear"></div>
  435. </div>
  436. <table id="constructionDataGrid">
  437. <!--<thead frozen="true">
  438. <tr>
  439. <th data-options="field:'id',checkbox:true,width:30">ID</th>
  440. </tr>
  441. </thead>
  442. <thead>
  443. <tr>
  444. <th data-options="field:'number',sortable:true,width:90,formatter:numberFormatter">合同编号</th>
  445. <th data-options="field:'name',sortable:true,width:200,formatter:nameFormatter">合同名称</th>
  446. <th data-options="field:'company',sortable:true,width:200,formatter:companyFormatter">装修单位</th>
  447. <th data-options="field:'constructionDate',sortable:true,width:200,formatter:dateFormatter">施工时间</th>
  448. <th data-options="field:'details',align:'center',width:60,formatter:detailsFormatter">查看详情</th>
  449. <th data-options="field:'update',align:'center',width:60,formatter:updateFormatter">修改</th>
  450. <th data-options="field:'delete',align:'center',width:38,formatter:delFormatter">删除</th>
  451. </tr>
  452. </thead>-->
  453. </table>
  454. </div>
  455. </div>
  456. <div id="detailDialog" data-options="title:'&nbsp;装修施工详细信息',iconCls:'icon-details',width:700,height:300,modal:true,href:'<%=basePath %>/constructionAction_toDetail'"></div>
  457. <div id="updateDialog" data-options="title:'&nbsp;修改装修施工信息',iconCls:'icon-edit',width:700,height:300,modal:true,href:'<%=basePath %>/constructionAction_toUpdate'"></div>
  458. <div id="addDialog" data-options="title:'&nbsp;增加装修施工',iconCls:'icon-add',width:700,height:350,modal:true,href:'<%=basePath %>/constructionAction_toAdd'"></div>
  459. <div id="renovationContractDialog" data-options="title:'&nbsp;装修合同',iconCls:'icon-add',width:700,height:400,modal:true,href:'<%=basePath %>/constructionAction_toRenovationContractList'"></div>
  460. <div id="renovationContractDetailDialog" data-options="title:'&nbsp;装修合同详细信息',iconCls:'icon-details',width:700,height:400,modal:true,href:'<%=basePath %>/renovationContractAction_toDetail'"></div>
  461. <div id="constructionDetailDialog" data-options="title:'&nbsp;装修施工详细信息',iconCls:'icon-details',width:700,height:300,modal:true,href:'<%=basePath %>/constructionAction_toDetail'"></div>
  462. <div id="changeDetailDialog" data-options="title:'&nbsp;装修变更详细信息',iconCls:'icon-details',width:700,height:350,modal:true,href:'<%=basePath %>/decorationChangeAction_toDetail'"></div>
  463. <div id="acceptanceDetailDialog" data-options="title:'&nbsp;装修验收详细信息',iconCls:'icon-details',width:700,height:300,modal:true,href:'<%=basePath %>/decorationAcceptanceAction_toDetail'"></div>
  464. <div id="paymentDetailDialog" data-options="title:'&nbsp;装修付款详细信息',iconCls:'icon-details',width:700,height:300,modal:true,href:'<%=basePath %>/decorationPaymentAction_toDetail'"></div>
  465. <div id="setConstructionDialog" data-options="title:'&nbsp;个性化设置',iconCls:'icon-cog',width:500,height:370,modal:true,href:'<%=basePath %>/columnSetAction_toSet?tname=construction'">
  466. </div>
  467. <script type="text/javascript">
  468. <!--
  469. $(function(){
  470. parent.$.messager.progress('close');
  471. });
  472. //-->
  473. </script>