houseRepairList.jsp 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  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 src="<%=basePath %>/js/uploadPreview.js"></script>
  5. <script type="text/javascript">
  6. //维修状态
  7. var repairStateObj = null;
  8. //故障类别
  9. var repairCategoryObj = null;
  10. var repairCategory_array = null;
  11. //维修状态
  12. $.ajax({
  13. type: "post",//使用post方法访问后台
  14. dataType: "json",//返回json格式的数据
  15. url: "aa10Action_listAa10All",//要访问的后台地址
  16. data:{"aa10.letter":"repairState" ,"aa10.name":"维修状态" },
  17. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  18. success: function(msg){//msg为返回的数据,在这里做数据绑定
  19. if(msg.success){
  20. repairStateObj = msg.obj.rows;
  21. var select_arr = [];
  22. var data = repairStateObj;
  23. for(var nItem = 0; nItem < data.length; nItem++ ){
  24. select_arr.push("<option value="+data[nItem].code+">"+data[nItem].value+"</option>");
  25. }
  26. state_array = select_arr.join("");
  27. $("#repairState").append(state_array);
  28. }
  29. }
  30. });
  31. //故障类别
  32. $.ajax({
  33. type: "post",//使用post方法访问后台
  34. dataType: "json",//返回json格式的数据
  35. url: "aa10Action_listAa10All",//要访问的后台地址
  36. data:{"aa10.letter":"repairCategory" ,"aa10.name":"故障类别" },
  37. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  38. success: function(msg){//msg为返回的数据,在这里做数据绑定
  39. if(msg.success){
  40. repairCategoryObj = msg.obj.rows;
  41. var select_arr = [];
  42. var data = repairCategoryObj;
  43. for(var nItem = 0; nItem < data.length; nItem++ ){
  44. select_arr.push("<option value="+data[nItem].code+">"+data[nItem].value+"</option>");
  45. }
  46. repairCategory_array = select_arr.join("");
  47. }
  48. }
  49. });
  50. /**摊位显示区*/
  51. $(function() {
  52. $('#houseRepairDataGrid').datagrid({
  53. rownumbers:true,
  54. fit:true,
  55. pageSize:20,
  56. pageList : [ 10, 20, 30, 40, 50 ],
  57. fitColumns:false,
  58. border:false,
  59. sortOrder:'desc',
  60. pagination:true,
  61. idField:'id',
  62. url:whzl.basePath + '/houseRepairAction_listHouseRepair?state=0',
  63. toolbar:'#searchtool',
  64. checkOnSelect:true,
  65. selectOnCheck:true,
  66. nowrap:true,
  67. loadFilter:function(result){
  68. if(result.success){
  69. return result.obj;
  70. }else{
  71. $.messager.alert('提示',result.message,'error');
  72. return ;
  73. }
  74. }
  75. });
  76. });
  77. /**查询*/
  78. function searchFun(){
  79. $("#houseRepairDataGrid").datagrid("load", {
  80. "houseRepair.name":$("#tblQuery").find("input[id='name']").val(),
  81. "houseRepair.idCard":$("#tblQuery").find("input[id='idCard']").val(),
  82. "houseRepair.repairState":$("#tblQuery").find("select[id='repairState']").val(),
  83. "houseRepair.communityId":$('#communityIdFromHouse').combobox("getValue"),
  84. "houseRepair.no":$('#noFromHouse').combobox("getValue"),
  85. "houseRepair.houseNumber":$('#houseNumberFromHouse').combobox("getValue")
  86. });
  87. }
  88. /*清除查询条件**/
  89. function ClearQuery() {
  90. $("#tblQuery").find("input").val("");
  91. $("#tblQuery").find("select").val("-1");
  92. }
  93. var dateFormatter = function(value,row,index){
  94. if(value != null){
  95. return value.substring(0,10);
  96. }else{
  97. return "";
  98. }
  99. }
  100. /**审核状态*/
  101. var repairStateFormatter = function(value , row , index){
  102. var repairState = "";
  103. for(var nItem = 0; nItem < repairStateObj.length; nItem++ ){
  104. if(repairStateObj[nItem].code == row.repairState){
  105. repairState = repairStateObj[nItem].value;
  106. break;
  107. }
  108. }
  109. return repairState;
  110. };
  111. /**故障类别*/
  112. var repairCategoryFormatter = function(value , row , index){
  113. var repairCategory = "";
  114. for(var nItem = 0; nItem < repairCategoryObj.length; nItem++ ){
  115. if(repairCategoryObj[nItem].code == row.repairCategory){
  116. repairCategory = repairCategoryObj[nItem].value;
  117. break;
  118. }
  119. }
  120. return repairCategory;
  121. }
  122. /**详细*/
  123. var detailsFormatter = function(value , row , index){
  124. return "<img src='<%=basePath%>/js/easyui/themes/itemicon/detail.png' title='查看详情' onclick=houseRepairDetails(" + row.id + ") style='cursor:pointer' />";
  125. };
  126. /**详细页面对话框*/
  127. var houseRepairDetails = function(id){
  128. $("#detailHouseRepairDialog").dialog({
  129. buttons : [{
  130. text : '确定',
  131. iconCls : 'icon-ok',
  132. handler : function(){
  133. $("#detailHouseRepairDialog").dialog("close");
  134. }
  135. }],
  136. onLoad : function(){
  137. detail_load(id);
  138. $.ajax({
  139. type: "post",//使用get方法访问后台
  140. dataType: "json",//返回json格式的数据
  141. url: "houseRepairAction_findById",//要访问的后台地址
  142. data: "houseRepair.id="+id,//要发送的数据
  143. complete :function(){$("#load").hide();},
  144. success: function(msg){
  145. if(msg.obj.repairState==1||msg.obj.repairState==2||msg.obj.repairState==3){//申报维修,工程部确认,工程部不通过
  146. $('.easyui-tabs').tabs('close','维修方案');
  147. $('.easyui-tabs').tabs('close','维修结果');
  148. //隐藏维修后图片
  149. document.getElementById("repairEndPhoto_th").remove();
  150. document.getElementById("repairEndPhoto_td").remove();
  151. }else if(msg.obj.repairState==4||msg.obj.repairState==5||msg.obj.repairState==6){//方案已录入,领导通过,领导不通过
  152. $('.easyui-tabs').tabs('close','维修结果');
  153. }
  154. }
  155. });
  156. }
  157. });
  158. };
  159. /**更新事件*/
  160. function updateRow(){
  161. //var updateIndex = $('#houseRepairDataGrid').datagrid('getRowIndex', id);
  162. var row = $('#houseRepairDataGrid').datagrid('getSelected');
  163. if(row == null){
  164. $.messager.alert("提示","请先选择要修改的维修信息!");
  165. }
  166. var id = row.id;
  167. if(row.repairState==1){
  168. $('#updateHouseRepairDialog').dialog({
  169. buttons : [{
  170. text : '提交',
  171. iconCls : 'icon-ok',
  172. handler : function(){
  173. $('#updateHouseRepairForm').form('submit',{
  174. url : whzl.basePath+'/houseRepairAction_updateHouseRepair',
  175. success : function(result){
  176. var parseResult = $.parseJSON(result);
  177. if(parseResult.success){
  178. $("#updateHouseRepairDialog").dialog("close");
  179. $('#houseRepairDataGrid').datagrid("reload");
  180. }else{
  181. $.messager.alert('出错了',parseResult.message);
  182. }
  183. }
  184. });
  185. }
  186. },{
  187. text : '取消',
  188. iconCls : 'icon-cancel',
  189. handler : function(){
  190. $("#updateHouseRepairDialog").dialog("close");
  191. }
  192. }],
  193. onLoad : function(){
  194. update_load(id);
  195. $("#repairCategory_update").append(repairCategory_array);
  196. }
  197. });
  198. }else{
  199. $.messager.alert("提示","该维修信息不可修改!");
  200. }
  201. }
  202. /**增加房屋维修信息*/
  203. function houseRepairAdd(){
  204. $('#addHouseRepairDialog').dialog({
  205. buttons : [{
  206. text : '上一步',
  207. iconCls : 'icon-undo',
  208. handler : function(){
  209. if($('#tabs_add').tabs('getTabIndex', $('#tabs_add').tabs('getSelected')) != 0){
  210. $('#tabs_add').tabs('select', $('#tabs_add').tabs('getTabIndex', $('#tabs_add').tabs('getSelected')) - 1);
  211. }
  212. }
  213. },{
  214. text : '下一步',
  215. iconCls : 'icon-redo',
  216. handler : function(){
  217. if($('#tabs_add').tabs('getTabIndex', $('#tabs_add').tabs('getSelected')) != 1){
  218. $('#tabs_add').tabs('select', $('#tabs_add').tabs('getTabIndex', $('#tabs_add').tabs('getSelected')) + 1);
  219. }else{
  220. /**故障照片必须上传*/
  221. /*var materialFile = $("#materialFile_add").val();
  222. if(materialFile == ''){
  223. $.messager.alert("提示","请上传房屋故障图片");
  224. return false;
  225. }*/
  226. var repairCategory = $("#repairCategory_add").val();
  227. if(repairCategory == ''){
  228. $.messager.alert("提示","请选择故障类别");
  229. return false;
  230. }
  231. var problem = $("#problem_add").val();
  232. if(problem == ''){
  233. $.messager.alert("提示","请输入故障说明");
  234. return false;
  235. }
  236. var houseAddress = $("#houseAddress_add").val();
  237. if(houseAddress == ''){
  238. $.messager.alert("提示","请选择房屋地址");
  239. return false;
  240. }
  241. var repairPeople = $("#repairPeople_add").val();
  242. if(repairPeople == ''){
  243. $.messager.alert("提示","请输入报修人");
  244. return false;
  245. }
  246. var repairPeoplePhone = $("#repairPeoplePhone_add").val();
  247. if(repairPeoplePhone == ''){
  248. $.messager.alert("提示","请输入报修人联系电话");
  249. return false;
  250. }
  251. parent.$.messager.progress({
  252. title : '提示',
  253. text : '保存中,请稍后....'
  254. });
  255. $('#addHouseRepairForm').form('submit',{
  256. url : whzl.basePath+'/houseRepairAction_addHouseRepair',
  257. success : function(result){
  258. parent.$.messager.progress('close');
  259. var parseResult = $.parseJSON(result);
  260. if(parseResult.success){
  261. $("#id_materialFile").val(parseResult.obj.id);
  262. $("#materialFileAddForm").form('submit',{
  263. url : whzl.basePath+'/houseRepairAction_addUploadFile'
  264. });
  265. $('#addHouseRepairDialog').dialog("close");
  266. $('#houseRepairDataGrid').datagrid('reload');
  267. }
  268. }
  269. });
  270. }
  271. }
  272. },{
  273. text : '取消',
  274. iconCls : 'icon-cancel',
  275. handler : function(){
  276. $('#addHouseRepairDialog').dialog("close");
  277. }
  278. }],
  279. onLoad :function(){//身份证获取信息
  280. $("#idCard_add").change(
  281. function(){
  282. loadHouseRepair($("#idCard_add").val());
  283. });
  284. $("#repairCategory_add").append(repairCategory_array);
  285. }
  286. });
  287. }
  288. //删除图片
  289. var removeImg = function(id){
  290. $.messager.confirm('提示', '确定删除么?删除后将无法恢复', function(r){
  291. if (r){
  292. $("#img" + id).parent().remove();
  293. $.ajax({
  294. type: "post",//使用post方法访问后台
  295. dataType: "json",//返回json格式的数据
  296. url:whzl.basePath + "/uploadFileAction_deleteUploadFile",
  297. data:{
  298. "uploadFile.id":id
  299. },
  300. error: function(msg){//msg为返回的数据,在这里做数据绑定
  301. $.messager.alert("提示","删除失败!");
  302. }
  303. });
  304. }
  305. });
  306. }
  307. /**删除事件*/
  308. function deleteRow(){
  309. var row = $('#houseRepairDataGrid').datagrid('getSelected');
  310. if(row == null){
  311. $.messager.alert("提示","请先选择要删除的维修信息!");
  312. }
  313. var id = row.id;
  314. if(row.repairState==1){
  315. $.messager.confirm('删除提示', '确定删除这条记录吗?', function(r){
  316. if (r){
  317. $.ajax({
  318. type: "post",//使用get方法访问后台
  319. dataType: "json",//返回json格式的数据
  320. url: "houseRepairAction_deleteHouseRepair",//要访问的后台地址
  321. data: "houseRepair.id="+id,//要发送的数据
  322. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  323. success: function(msg){//msg为返回的数据,在这里做数据绑定
  324. if(msg.success){
  325. $.messager.alert('提示','删除成功!');
  326. searchFun();
  327. }else{
  328. $.messager.alert('提示','删除失败!');
  329. }
  330. }
  331. });
  332. }
  333. });
  334. }else{
  335. $.messager.alert("提示","该维修信息不可删除!");
  336. }
  337. }
  338. function imageFormat(obj){
  339. var files = obj.files;
  340. for(var i=0;i<files.length;i++){
  341. /**判断图片格式*/
  342. if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(files[i].name)){
  343. $.messager.alert('提示','图片类型必须是.gif,jpeg,jpg,png中的一种');
  344. return false;
  345. }
  346. /**判断图片大小*/
  347. /*if(files[i].size>1000*1024){
  348. $.messager.alert('提示','单张图片不得大于10M。');
  349. return false;
  350. }*/
  351. }
  352. return true;
  353. }
  354. </script>
  355. <div class="easyui-layout" data-options="fit:true,border:false">
  356. <div data-options="region:'center',border:false">
  357. <div id="searchtool" data-options="region:'north' , border:false">
  358. <table id="tblQuery" style="width:100%;font-size:12px;" >
  359. <tr>
  360. <td align="right" style="width: 12%"><span>保障人员姓名</span></td>
  361. <td style="width: 10%"><input id="name" name="houseRepair.name" type="text"/></td>
  362. <td align="right" style="width: 12%"><span>保障人员身份证号</span></td>
  363. <td style="width: 10%"><input id="idCard" name="houseRepair.idCard" type="text"/></td>
  364. <td align="right" style="width: 8%"><span>维修状态</span></td>
  365. <td style="width: 14%"><select id="repairState" name="houseRepair.repairState" style="width:100px" onchange="searchFun();">
  366. <option value="">全部</option>
  367. </select>
  368. </td>
  369. <td align="left" colspan="2" style="width: 34%">
  370. <a href="javascript:searchFun();" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true">查询</a>
  371. <a href="javascript:ClearQuery();" class="easyui-linkbutton" data-options="iconCls:'icon-emptied',plain:true">清空</a>
  372. </td>
  373. </tr>
  374. <tr>
  375. <td align="right"><span>小区名称</span></td>
  376. <td colspan="3">
  377. <input id="communityIdFromHouse">
  378. <input id="noFromHouse" style="width: 60px;">幢
  379. <input id="houseNumberFromHouse" style="width: 80px;">室
  380. </td>
  381. <td colspan="2"></td>
  382. <td width="210px">
  383. <a href="javascript:houseRepairAdd();" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true">增加</a>
  384. <!-- <a href="javascript:updateRow();" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true">修改</a>
  385. <a href="javascript:deleteRow();" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true">删除</a> -->
  386. </td>
  387. </tr>
  388. </table>
  389. </div>
  390. <table id="houseRepairDataGrid">
  391. <thead frozen="true">
  392. <tr>
  393. <th data-options="field:'id',checkbox:true,width:30">ID</th>
  394. <th data-options="field:'houseRepairNo',sortable:true,width:100">工单编号</th>
  395. <th data-options="field:'address',sortable:true,width:200">房源地址</th>
  396. <th data-options="field:'name',sortable:true,width:70">姓名</th>
  397. </tr>
  398. </thead>
  399. <thead>
  400. <tr>
  401. <th data-options="field:'idCard',sortable:true,width:130">身份证号</th>
  402. <th data-options="field:'phone',sortable:true,width:90">联系电话</th>
  403. <th data-options="field:'repairCategory',sortable:true,width:100, formatter:repairCategoryFormatter">故障类别</th>
  404. <th data-options="field:'problem',sortable:true,width:200">故障说明</th>
  405. <th data-options="field:'repairState',sortable:true,width:70, formatter:repairStateFormatter">当前状态</th>
  406. <th data-options="field:'details',align:'center',formatter:detailsFormatter,width:64">查看详情</th>
  407. </tr>
  408. </thead>
  409. </table>
  410. </div>
  411. </div>
  412. <div id="detailHouseRepairDialog" data-options="title:'&nbsp;房屋维修详细信息',iconCls:'icon-details',width:1000,height:500,modal:true,href:'<%=basePath %>/houseRepairAction_toDetail'">
  413. </div>
  414. <div id="updateHouseRepairDialog" data-options="title:'&nbsp;修改房屋维修信息',iconCls:'icon-edit',width:700,height:400,modal:true,href:'<%=basePath %>/houseRepairAction_toUpdate'">
  415. </div>
  416. <div id="addHouseRepairDialog" data-options="title:'&nbsp;增加房屋维修信息',iconCls:'icon-add',width:1000,height:500,modal:true,href:'<%=basePath %>/houseRepairAction_toAdd'">
  417. </div>
  418. <div id="addPhotoHouseRepairDialog" data-options="title:'&nbsp;增加房屋维修照片',iconCls:'icon-add',width:700,height:400,modal:true,href:'<%=basePath %>/houseRepairAction_toPhotoAdd'">
  419. </div>
  420. <div id="contractDialog" data-options="title:'&nbsp;选择合同',iconCls:'icon-details',width:800,height:420,modal:true,href:'<%=basePath %>/houseRepairAction_toLeaseContractList'">
  421. </div>
  422. <div id="addHouseDialog" data-options="title:'&nbsp;选择房源',iconCls:'icon-edit',width:700,height:400,modal:true,href:'<%=basePath %>/houseRepairAction_toHouseSelectList'">
  423. </div>
  424. <script type="text/javascript">
  425. $(function(){
  426. parent.$.messager.progress('close');
  427. //小区名称
  428. $("#communityIdFromHouse").combobox({
  429. url: whzl.basePath + '/communityAction_findAll',
  430. valueField:'value',
  431. textField:'text',
  432. filter:function(q,row){
  433. var opts=$(this).combobox("options");
  434. //return row[opts.textField].indexOf(q)==0;//
  435. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  436. },
  437. onChange:function (newValue,oldValue) {
  438. $('#noFromHouse').combobox("setValue","");
  439. $('#houseNumberFromHouse').combobox("setValue","");
  440. $('#noFromHouse').combobox('reload',whzl.basePath + '/houseAction_findAllNo?house.community.id='+$('#communityIdFromHouse').combobox("getValue"));
  441. }
  442. });
  443. //幢
  444. $("#noFromHouse").combobox({
  445. url: whzl.basePath + '/houseAction_findAllNo?house.community.id='+$('#communityIdFromHouse').combobox("getValue"),
  446. valueField:'value',
  447. textField:'text',
  448. filter:function(q,row){
  449. var opts=$(this).combobox("options");
  450. //return row[opts.textField].indexOf(q)==0;//
  451. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  452. },
  453. onChange:function (newValue,oldValue) {
  454. $('#houseNumberFromHouse').combobox("setValue","");
  455. $('#houseNumberFromHouse').combobox('reload',whzl.basePath + '/houseAction_findAllHouseNumber?house.community.id='+$('#communityIdFromHouse').combobox("getValue") + '&house.no='+newValue);
  456. }
  457. });
  458. //室
  459. $("#houseNumberFromHouse").combobox({
  460. url: whzl.basePath + '/houseAction_findAllHouseNumber?house.community.id='+$('#communityIdFromHouse').combobox("getValue") + '&house.no='+$('#noFromHouse').combobox("getValue"),
  461. valueField:'value',
  462. textField:'text',
  463. filter:function(q,row){
  464. var opts=$(this).combobox("options");
  465. //return row[opts.textField].indexOf(q)==0;//
  466. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  467. }
  468. });
  469. })
  470. </script>