houseRepairList_verify3.jsp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371
  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 opinionObj = null;
  10. //故障类别
  11. var repairCategoryObj = null;
  12. var repairCategory_array = null;
  13. //审批状态
  14. $.ajax({
  15. type: "post",//使用post方法访问后台
  16. dataType: "json",//返回json格式的数据
  17. url: "aa10Action_listAa10All",//要访问的后台地址
  18. data:{"aa10.letter":"repairState" ,"aa10.name":"维修状态" },
  19. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  20. success: function(msg){//msg为返回的数据,在这里做数据绑定
  21. if(msg.success){
  22. repairStateObj = msg.obj.rows;
  23. var select_arr = [];
  24. var data = repairStateObj;
  25. for(var nItem = 0; nItem < data.length; nItem++ ){
  26. select_arr.push("<option value="+data[nItem].code+">"+data[nItem].value+"</option>");
  27. }
  28. state_array = select_arr.join("");
  29. $("#repairState").append(state_array);
  30. }
  31. }
  32. });
  33. //故障类别
  34. $.ajax({
  35. type: "post",//使用post方法访问后台
  36. dataType: "json",//返回json格式的数据
  37. url: "aa10Action_listAa10All",//要访问的后台地址
  38. data:{"aa10.letter":"repairCategory" ,"aa10.name":"故障类别" },
  39. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  40. success: function(msg){//msg为返回的数据,在这里做数据绑定
  41. if(msg.success){
  42. repairCategoryObj = msg.obj.rows;
  43. var select_arr = [];
  44. var data = repairCategoryObj;
  45. for(var nItem = 0; nItem < data.length; nItem++ ){
  46. select_arr.push("<option value="+data[nItem].code+">"+data[nItem].value+"</option>");
  47. }
  48. repairCategory_array = select_arr.join("");
  49. }
  50. }
  51. });
  52. /**摊位显示区*/
  53. $(function() {
  54. $('#houseRepairVerify3DataGrid').datagrid({
  55. rownumbers:true,
  56. fit:true,
  57. pageSize:20,
  58. pageList : [ 10, 20, 30, 40, 50 ],
  59. fitColumns:false,
  60. border:false,
  61. sortOrder:'desc',
  62. pagination:true,
  63. idField:'id',
  64. url:whzl.basePath + '/houseRepairAction_listHouseRepair?state=2,4',
  65. toolbar:'#searchtool',
  66. checkOnSelect:true,
  67. selectOnCheck:true,
  68. nowrap:true,
  69. loadFilter:function(result){
  70. if(result.success){
  71. return result.obj;
  72. }else{
  73. $.messager.alert('提示',result.message,'error');
  74. return ;
  75. }
  76. }
  77. });
  78. });
  79. /**查询*/
  80. function searchFun(){
  81. $("#houseRepairVerify3DataGrid").datagrid("load", {
  82. "houseRepair.name":$("#tblQuery").find("input[id='name']").val(),
  83. "houseRepair.idCard":$("#tblQuery").find("input[id='idCard']").val(),
  84. "houseRepair.repairState":$("#tblQuery").find("select[id='repairState']").val(),
  85. "houseRepair.communityId":$('#communityIdFromHouse').combobox("getValue"),
  86. "houseRepair.no":$('#noFromHouse').combobox("getValue"),
  87. "houseRepair.houseNumber":$('#houseNumberFromHouse').combobox("getValue")
  88. });
  89. }
  90. /*清除查询条件**/
  91. function ClearQuery() {
  92. $("#tblQuery").find("input").val("");
  93. $("#tblQuery").find("select").val("-1");
  94. }
  95. var dateFormatter = function(value , row , index){
  96. return dealDate(value);
  97. }
  98. /**审核状态*/
  99. var repairStateFormatter = function(value , row , index){
  100. var repairState = "";
  101. for(var nItem = 0; nItem < repairStateObj.length; nItem++ ){
  102. if(repairStateObj[nItem].code == row.repairState){
  103. repairState = repairStateObj[nItem].value;
  104. break;
  105. }
  106. }
  107. return repairState;
  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 = $('#houseRepairVerify3DataGrid').datagrid('getSelected');
  122. if(row == null){
  123. $.messager.alert("提示","请先选择要审核的维修信息!");
  124. }
  125. var id = row.id;
  126. if(row.repairState == 2){
  127. $("#houseRepairVerify3Dialog").dialog({
  128. buttons : [{
  129. text : '确认',
  130. iconCls : 'icon-ok',
  131. handler : function(){
  132. task_submit();
  133. }
  134. },{
  135. text : '取消',
  136. iconCls : 'icon-cancel',
  137. handler : function(){
  138. $("#houseRepairVerify3Dialog").dialog('close');
  139. }
  140. }],
  141. onLoad : function(){
  142. task_load(id);
  143. }
  144. });
  145. }else{
  146. $.messager.alert("提示","该维修信息不可填写维修方案!");
  147. }
  148. }
  149. /**详细*/
  150. var detailsFormatter = function(value , row , index){
  151. return "<img src='<%=basePath%>/js/easyui/themes/itemicon/detail.png' title='查看详情' onclick=houseRepairDetails(" + row.id + ") style='cursor:pointer' />";
  152. };
  153. /**详细页面对话框*/
  154. var houseRepairDetails = function(id){
  155. $("#detailHouseRepairDialog").dialog(
  156. {
  157. buttons : [{
  158. text : '确定',
  159. iconCls : 'icon-ok',
  160. handler : function(){
  161. $("#detailHouseRepairDialog").dialog("close");
  162. }
  163. }],
  164. onLoad : function(){
  165. detail_load(id);
  166. }
  167. }
  168. );
  169. };
  170. //变更
  171. var changeFormatter = function(value , row , index){
  172. if(row.repairState == "4"){
  173. return "<img src='<%=basePath%>/js/easyui/themes/itemicon/update.png' title='查看详情' onclick=change(" + row.id + ") style='cursor:pointer' />";
  174. }else{
  175. return "";
  176. }
  177. };
  178. function change(id){
  179. $("#houseRepairChangeDialog").dialog({
  180. buttons : [{
  181. text : '提交',
  182. iconCls : 'icon-ok',
  183. handler : function(){
  184. task_submit();
  185. }
  186. },{
  187. text : '取消',
  188. iconCls : 'icon-cancel',
  189. handler : function(){
  190. $("#houseRepairChangeDialog").dialog("close");
  191. }
  192. }],
  193. onLoad : function(){
  194. task_load(id);
  195. }
  196. })
  197. }
  198. function imageFormat(obj){
  199. var files = obj.files;
  200. for(var i=0;i<files.length;i++){
  201. /**判断图片格式*/
  202. if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(files[i].name)){
  203. $.messager.alert('提示','图片类型必须是.gif,jpeg,jpg,png中的一种');
  204. return false;
  205. }
  206. /**判断图片大小*/
  207. if(files[i].size>1000*1024){
  208. $.messager.alert('提示','单张图片不得大于10M。');
  209. return false;
  210. }
  211. }
  212. return true;
  213. }
  214. //删除图片
  215. var removeImg = function(id){
  216. $.messager.confirm('提示', '确定删除么?删除后将无法恢复', function(r){
  217. if (r){
  218. $("#img" + id).parent().remove();
  219. $.ajax({
  220. type: "post",//使用post方法访问后台
  221. dataType: "json",//返回json格式的数据
  222. url:whzl.basePath + "/uploadFileAction_deleteUploadFile",
  223. data:{
  224. "uploadFile.id":id
  225. },
  226. error: function(msg){//msg为返回的数据,在这里做数据绑定
  227. $.messager.alert("提示","删除失败!");
  228. }
  229. });
  230. }
  231. });
  232. }
  233. </script>
  234. <div class="easyui-layout" data-options="fit:true,border:false">
  235. <div data-options="region:'center',border:false">
  236. <div id="searchtool" data-options="region:'north' , border:false">
  237. <table id="tblQuery" style="width:100%;font-size:12px;">
  238. <tr>
  239. <td align="right" style="width: 12%"><span>保障人员姓名</span></td>
  240. <td style="width: 10%"><input id="name" name="houseRepair.name" type="text"/></td>
  241. <td align="right" style="width: 12%"><span>保障人员身份证号</span></td>
  242. <td style="width: 10%"><input id="idCard" name="houseRepair.idCard" type="text"/></td>
  243. <td align="right" style="width: 8%"><span>维修状态</span></td>
  244. <td style="width: 14%"><select id="repairState" name="houseRepair.repairState" style="width:100px" onchange="searchFun();">
  245. <option value="">全部</option>
  246. </select>
  247. </td>
  248. <td align="left" style="width: 34%">
  249. <a href="javascript:searchFun();" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true">查询</a>
  250. <a href="javascript:ClearQuery();" class="easyui-linkbutton" data-options="iconCls:'icon-emptied',plain:true">清空</a>
  251. <a href="javascript:updateRow();" class="easyui-linkbutton" data-options="iconCls:'icon-review',plain:true">审核</a>
  252. </td>
  253. </tr>
  254. <tr>
  255. <td align="right"><span>小区名称</span></td>
  256. <td colspan="3">
  257. <select id="areaFromHouse" style="width:100px;">
  258. <option value="">全部</option>
  259. </select>
  260. <input id="communityIdFromHouse">
  261. <input id="noFromHouse" style="width: 60px;">幢
  262. <input id="houseNumberFromHouse" style="width: 80px;">室
  263. </td>
  264. </tr>
  265. </table>
  266. </div>
  267. <table id="houseRepairVerify3DataGrid">
  268. <thead frozen="true">
  269. <tr>
  270. <th data-options="field:'id',checkbox:true,width:30">ID</th>
  271. <th data-options="field:'houseRepairNo',sortable:true,width:100">工单编号</th>
  272. <th data-options="field:'address',sortable:true,width:170">房源地址</th>
  273. <th data-options="field:'name',sortable:true,width:70">姓名</th>
  274. </tr>
  275. </thead>
  276. <thead>
  277. <tr>
  278. <th data-options="field:'idCard',sortable:true,width:120">身份证号</th>
  279. <th data-options="field:'phone',sortable:true,width:80">联系电话</th>
  280. <th data-options="field:'reportTime',sortable:true,width:70, formatter:dateFormatter">报修时间</th>
  281. <th data-options="field:'repairCategory',sortable:true,width:100, formatter:repairCategoryFormatter">故障类别</th>
  282. <th data-options="field:'problem',sortable:true,width:170">故障备注</th>
  283. <th data-options="field:'repairState',sortable:true,width:70, formatter:repairStateFormatter">当前状态</th>
  284. <th data-options="field:'details',align:'center',width:64, formatter:detailsFormatter">查看详情</th>
  285. <th data-options="field:'change',align:'center',width:64, formatter:changeFormatter">变更</th>
  286. </tr>
  287. </thead>
  288. </table>
  289. </div>
  290. </div>
  291. <div id="detailHouseRepairDialog" data-options="title:'&nbsp;房屋维修详细信息',iconCls:'icon-details',width:700,height:400,modal:true,href:'<%=basePath %>/houseRepairAction_toDetail'">
  292. </div>
  293. <div id="houseRepairVerify3Dialog" data-options="title:'&nbsp;审核',iconCls:'icon-edit',width:1000,height:500,modal:true,href:'<%=basePath %>/houseRepairAction_toVerify3'">
  294. </div>
  295. <div id="houseRepairChangeDialog" data-options="title:'&nbsp;变更',iconCls:'icon-edit',width:1000,height:500,modal:true,href:'<%=basePath %>/houseRepairAction_toChange'">
  296. </div>
  297. <script type="text/javascript">
  298. $(function(){
  299. parent.$.messager.progress('close');
  300. $("#areaFromHouse").combobox({
  301. url: whzl.basePath + '/houseRegisterAction_listChildrenCombobox',
  302. valueField:'value',
  303. textField:'text',
  304. onChange :function(newValue,oldValue){
  305. $('#communityIdFromHouse').combobox("setValue","");
  306. $('#noFromHouse').combobox("setValue","");
  307. $('#houseNumberFromHouse').combobox("setValue","");
  308. $('#communityIdFromHouse').combobox('reload',whzl.basePath + '/communityAction_findAll?community.area='+newValue);
  309. }
  310. });
  311. //小区名称
  312. $("#communityIdFromHouse").combobox({
  313. url: whzl.basePath + '/communityAction_findAll',
  314. valueField:'value',
  315. textField:'text',
  316. filter:function(q,row){
  317. var opts=$(this).combobox("options");
  318. //return row[opts.textField].indexOf(q)==0;//
  319. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  320. },
  321. onChange:function (newValue,oldValue) {
  322. $('#noFromHouse').combobox("setValue","");
  323. $('#houseNumberFromHouse').combobox("setValue","");
  324. $('#noFromHouse').combobox('reload',whzl.basePath + '/houseAction_findAllNo?house.community.id='+$('#communityIdFromHouse').combobox("getValue"));
  325. }
  326. });
  327. //幢
  328. $("#noFromHouse").combobox({
  329. url: whzl.basePath + '/houseAction_findAllNo?house.community.id='+$('#communityIdFromHouse').combobox("getValue"),
  330. valueField:'value',
  331. textField:'text',
  332. filter:function(q,row){
  333. var opts=$(this).combobox("options");
  334. //return row[opts.textField].indexOf(q)==0;//
  335. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  336. },
  337. onChange:function (newValue,oldValue) {
  338. $('#houseNumberFromHouse').combobox("setValue","");
  339. $('#houseNumberFromHouse').combobox('reload',whzl.basePath + '/houseAction_findAllHouseNumber?house.community.id='+$('#communityIdFromHouse').combobox("getValue") + '&house.no='+newValue);
  340. }
  341. });
  342. //室
  343. $("#houseNumberFromHouse").combobox({
  344. url: whzl.basePath + '/houseAction_findAllHouseNumber?house.community.id='+$('#communityIdFromHouse').combobox("getValue") + '&house.no='+$('#noFromHouse').combobox("getValue"),
  345. valueField:'value',
  346. textField:'text',
  347. filter:function(q,row){
  348. var opts=$(this).combobox("options");
  349. //return row[opts.textField].indexOf(q)==0;//
  350. return row[opts.textField].indexOf(q)>-1;//将从头位置匹配改为任意匹配
  351. }
  352. });
  353. })
  354. </script>