houseRepairList_verify5.jsp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. <%-- 维修确认列表 --%>
  2. <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  3. <jsp:include page="../../common/include.jsp" />
  4. <% String basePath = request.getScheme()+ "://" + request.getServerName() + ":" +request.getServerPort() + request.getContextPath(); %>
  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. $('#houseRepairVerify5DataGrid').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=4',
  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. $("#houseRepairVerify5DataGrid").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.house.community.area":$('#areaFromHouse').combobox("getValue"),
  84. "houseRepair.house.community.id":$('#communityIdFromHouse').combobox("getValue"),
  85. "houseRepair.house.no":$('#noFromHouse').combobox("getValue"),
  86. "houseRepair.house.houseNumber":$('#houseNumberFromHouse').combobox("getValue")
  87. });
  88. }
  89. /*清除查询条件**/
  90. function ClearQuery() {
  91. $("#tblQuery").find("input").val("");
  92. $("#tblQuery").find("select").val("-1");
  93. }
  94. /**审核状态*/
  95. var repairStateFormatter = function(value , row , index){
  96. var repairState = "";
  97. for(var nItem = 0; nItem < repairStateObj.length; nItem++ ){
  98. if(repairStateObj[nItem].code == row.repairState){
  99. repairState = repairStateObj[nItem].value;
  100. break;
  101. }
  102. }
  103. return repairState;
  104. };
  105. /**报修时间*/
  106. var reportDateFormatter = function(value , row , index){
  107. return dealDate(row.reportDate);
  108. }
  109. /**故障类别*/
  110. var repairCategoryFormatter = function(value , row , index){
  111. var repairCategory = "";
  112. for(var nItem = 0; nItem < repairCategoryObj.length; nItem++ ){
  113. if(repairCategoryObj[nItem].code == row.repairCategory){
  114. repairCategory = repairCategoryObj[nItem].value;
  115. break;
  116. }
  117. }
  118. return repairCategory;
  119. }
  120. function updateRow(){
  121. var row = $('#houseRepairVerify5DataGrid').datagrid('getSelected');
  122. if(row == null){
  123. $.messager.alert("提示","请先选择要确认的维修信息!");
  124. }
  125. var id = row.id;
  126. if(row.repairState!=7){
  127. $("#houseRepairVerify5Dialog").dialog({
  128. buttons : [{
  129. text : '确认',
  130. iconCls : 'icon-ok',
  131. handler : function(){
  132. confirm_submit(id);
  133. }
  134. },{
  135. text : '取消',
  136. iconCls : 'icon-cancel',
  137. handler : function(){
  138. $("#houseRepairVerify5Dialog").dialog('close');
  139. }
  140. }],
  141. onLoad :function(){
  142. confirm_load(id);
  143. $("#id_verify5").val(id);
  144. }
  145. });
  146. }else{
  147. $.messager.alert("提示","该维修信息已确认!");
  148. }
  149. }
  150. var nameFormatter = function(value , row , index){
  151. return "<a href='javascript:' onclick=houseRepairDetails(" + row.id + ")>"+row.name+"</a>"
  152. }
  153. /**详细*/
  154. var detailsFormatter = function(value , row , index){
  155. return "<img src='<%=basePath%>/js/easyui/themes/itemicon/detail.png' title='查看详情' onclick=houseRepairDetails(" + row.id + ") style='cursor:pointer' />";
  156. };
  157. /**详细页面对话框*/
  158. var houseRepairDetails = function(id){
  159. $("#detailHouseRepairDialog").dialog(
  160. {
  161. buttons : [{
  162. text : '确定',
  163. iconCls : 'icon-ok',
  164. handler : function(){
  165. $("#detailHouseRepairDialog").dialog("close");
  166. }
  167. }],
  168. onLoad : function(){
  169. detail_load(id);
  170. //当维修状态为领导审核通过或不通过时不显示维修结果
  171. $.ajax({
  172. type: "post",//使用get方法访问后台
  173. dataType: "json",//返回json格式的数据
  174. url: "houseRepairAction_findById",//要访问的后台地址
  175. data: "houseRepair.id="+id,//要发送的数据
  176. complete :function(){$("#load").hide();},
  177. success: function(msg){
  178. if(msg.obj.repairState==5||msg.obj.repairState==6){
  179. $('.easyui-tabs').tabs('close','维修结果');
  180. }
  181. }
  182. });
  183. }
  184. }
  185. );
  186. };
  187. //删除图片
  188. var removeImg = function(id){
  189. $.messager.confirm('提示', '确定删除么?删除后将无法恢复', function(r){
  190. if (r){
  191. $("#img" + id).parent().remove();
  192. $.ajax({
  193. type: "post",//使用post方法访问后台
  194. dataType: "json",//返回json格式的数据
  195. url:whzl.basePath + "/uploadFileAction_deleteUploadFile",
  196. data:{
  197. "uploadFile.id":id
  198. },
  199. error: function(msg){//msg为返回的数据,在这里做数据绑定
  200. $.messager.alert("提示","删除失败!");
  201. }
  202. });
  203. }
  204. });
  205. }
  206. function imageFormat(obj){
  207. var files = obj.files;
  208. for(var i=0;i<files.length;i++){
  209. /**判断图片格式*/
  210. if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(files[i].name)){
  211. $.messager.alert('提示','图片类型必须是.gif,jpeg,jpg,png中的一种');
  212. return false;
  213. }
  214. /**判断图片大小*/
  215. if(files[i].size>1000*1024){
  216. $.messager.alert('提示','单张图片不得大于10M。');
  217. return false;
  218. }
  219. }
  220. return true;
  221. }
  222. /**维修确认书打印*/
  223. var printFormatter = function(value, row, index){
  224. if(row.repairState==7){
  225. return "<img src='<%=basePath%>/images/printer.png' title='选择维修确认书模板' onclick=templetSelect(" + row.id + ") style='cursor:pointer' />";
  226. }else{
  227. return "";
  228. }
  229. }
  230. function printRow(){
  231. var row = $('#houseRepairMaintenanceConfirmationDataGrid').datagrid('getSelected');
  232. if(row == null){
  233. $.messager.alert("提示","请先选择要打印的维修信息!");
  234. }
  235. var id = row.id;
  236. if(row.repairState==7){
  237. $("#templetSelectDialog").dialog({
  238. buttons : [{
  239. text : '关闭',
  240. iconCls : 'icon-ok',
  241. handler : function(){
  242. $("#templetSelectDialog").dialog("close");
  243. }
  244. }],
  245. onLoad : function(){
  246. templet_load(id);
  247. }
  248. });
  249. }
  250. }
  251. </script>
  252. <div class="easyui-layout" data-options="fit:true,border:false">
  253. <div data-options="region:'center',border:false">
  254. <div id="searchtool" data-options="region:'north' , border:false">
  255. <table id="tblQuery" style="width:100%;font-size:12px;">
  256. <tr>
  257. <td align="right" style="width: 12%"><span>保障人员姓名</span></td>
  258. <td style="width: 10%"><input id="name" name="houseRepair.name" type="text"/></td>
  259. <td align="right" style="width: 12%"><span>保障人员身份证号</span></td>
  260. <td style="width: 10%"><input id="idCard" name="houseRepair.idCard" type="text"/></td>
  261. <td align="right" style="width: 8%"><span>维修状态</span></td>
  262. <td style="width: 14%"><select id="repairState" name="houseRepair.repairState" style="width:100px" onchange="searchFun();">
  263. <option value="">全部</option>
  264. </select>
  265. </td>
  266. <td align="left" style="width: 34%">
  267. <a href="javascript:searchFun();" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true">查询</a>
  268. <a href="javascript:ClearQuery();" class="easyui-linkbutton" data-options="iconCls:'icon-emptied',plain:true">清空</a>
  269. <a href="javascript:updateRow();" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true">维修确认</a>
  270. </td>
  271. </tr>
  272. <tr>
  273. <td align="right"><span>小区名称</span></td>
  274. <td colspan="3">
  275. <select id="areaFromHouse" style="width:100px;">
  276. <option value="">全部</option>
  277. </select>
  278. <input id="communityIdFromHouse">
  279. <input id="noFromHouse" style="width: 60px;">幢
  280. <input id="houseNumberFromHouse" style="width: 80px;">室
  281. </td>
  282. </tr>
  283. </table>
  284. </div>
  285. <table id="houseRepairVerify5DataGrid">
  286. <thead frozen="true">
  287. <tr>
  288. <th data-options="field:'id',checkbox:true,width:30">ID</th>
  289. <th data-options="field:'houseRepairNo',sortable:true,width:100">工单编号</th>
  290. <th data-options="field:'address',sortable:true,width:170">房源地址</th>
  291. <th data-options="field:'name',sortable:true,width:60">姓名</th>
  292. </tr>
  293. </thead>
  294. <thead>
  295. <tr>
  296. <th data-options="field:'idCard',sortable:true,width:120">身份证号</th>
  297. <th data-options="field:'phone',sortable:true,width:80">联系电话</th>
  298. <th data-options="field:'reportDate',sortable:true,width:70, formatter:reportDateFormatter">报修时间</th>
  299. <th data-options="field:'repairCategory',sortable:true,width:100, formatter:repairCategoryFormatter">故障类别</th>
  300. <th data-options="field:'problem',sortable:true,width:170">故障备注</th>
  301. <th data-options="field:'repairState',sortable:true,width:70, formatter:repairStateFormatter">当前状态</th>
  302. <th data-options="field:'details',align:'center',width:64,formatter:detailsFormatter">查看详情</th>
  303. </tr>
  304. </thead>
  305. </table>
  306. </div>
  307. </div>
  308. <div id="detailHouseRepairDialog" data-options="title:'&nbsp;房屋维修详细信息',iconCls:'icon-details',width:1000,height:500,modal:true,href:'<%=basePath %>/houseRepairAction_toDetail'">
  309. </div>
  310. <div id="houseRepairVerify5Dialog" data-options="title:'&nbsp;维修确认',iconCls:'icon-details',width:1000,height:500,modal:true,href:'<%=basePath %>/houseRepairAction_toVerify5'">
  311. </div>
  312. </div>
  313. <script type="text/javascript">
  314. $(function(){
  315. parent.$.messager.progress('close');
  316. //小区名称
  317. $("#communityIdFromHouse").combobox({
  318. url: whzl.basePath + '/communityAction_findAll',
  319. valueField:'value',
  320. textField:'text',
  321. filter:function(q,row){
  322. var opts=$(this).combobox("options");
  323. //return row[opts.textField].indexOf(q)==0;//
  324. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  325. },
  326. onChange:function (newValue,oldValue) {
  327. $('#noFromHouse').combobox("setValue","");
  328. $('#houseNumberFromHouse').combobox("setValue","");
  329. $('#noFromHouse').combobox('reload',whzl.basePath + '/houseAction_findAllNo?house.community.id='+$('#communityIdFromHouse').combobox("getValue"));
  330. }
  331. });
  332. //幢
  333. $("#noFromHouse").combobox({
  334. url: whzl.basePath + '/houseAction_findAllNo?house.community.id='+$('#communityIdFromHouse').combobox("getValue"),
  335. valueField:'value',
  336. textField:'text',
  337. filter:function(q,row){
  338. var opts=$(this).combobox("options");
  339. //return row[opts.textField].indexOf(q)==0;//
  340. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  341. },
  342. onChange:function (newValue,oldValue) {
  343. $('#houseNumberFromHouse').combobox("setValue","");
  344. $('#houseNumberFromHouse').combobox('reload',whzl.basePath + '/houseAction_findAllHouseNumber?house.community.id='+$('#communityIdFromHouse').combobox("getValue") + '&house.no='+newValue);
  345. }
  346. });
  347. //室
  348. $("#houseNumberFromHouse").combobox({
  349. url: whzl.basePath + '/houseAction_findAllHouseNumber?house.community.id='+$('#communityIdFromHouse').combobox("getValue") + '&house.no='+$('#noFromHouse').combobox("getValue"),
  350. valueField:'value',
  351. textField:'text',
  352. filter:function(q,row){
  353. var opts=$(this).combobox("options");
  354. //return row[opts.textField].indexOf(q)==0;//
  355. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  356. }
  357. });
  358. })
  359. </script>