invoice-list.jsp 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>发票信息列表</title>
  6. <!--框架必需start-->
  7. <script type="text/javascript" src="${ctx}/qui/libs/js/jquery.js"></script>
  8. <script type="text/javascript" src="${ctx}/qui/libs/js/framework.js"></script>
  9. <link href="${ctx}/qui/libs/css/import_basic.css" rel="stylesheet" type="text/css"/>
  10. <link rel="stylesheet" type="text/css" id="skin" prePath="${ctx}/qui/"/>
  11. <link rel="stylesheet" type="text/css" id="customSkin"/>
  12. <!--框架必需end-->
  13. <!--数据表格start-->
  14. <script src="${ctx}/qui/libs/js/table/quiGrid.js" type="text/javascript"></script>
  15. <!--数据表格end-->
  16. <!--箭头分页start-->
  17. <script type="text/javascript" src="${ctx}/qui/libs/js/nav/pageArrow.js"></script>
  18. <!--箭头分页end-->
  19. <!--表单异步提交start-->
  20. <script src="${ctx}/qui/libs/js/form/form.js" type="text/javascript"></script>
  21. <!--表单异步提交end-->
  22. <script type="text/javascript">
  23. var g_pageNo = 1;
  24. var g_pageSize = 10;
  25. //数据表格使用
  26. var g;
  27. var gridData;
  28. function initComplete(){
  29. g = $("#maingrid").quiGrid({
  30. columns: [
  31. // { display: 'id', name: 'invoiceId', key: true, hidden: true , align: 'center', width: "8%"},
  32. { display: '发票代码', name: 'invoiceCode', align: 'center', width: "10%"},
  33. { display: '发票号', name: 'invoiceNumb', align: 'center', width: "10%"},
  34. { display: '发票抬头', name: 'orgName', align: 'center', width: "20%"},
  35. // { display: '纳税人识别号', name: 'taxpayerNumber', align: 'center', width: "8%"},
  36. { display: '总金额', name: 'totalAmount', align: 'center', width: "8%"},
  37. { display: '税额', name: 'taxAmount', align: 'center', width: "8%"},
  38. { display: '开票时间', name: 'billingTime', align: 'center', width: "8%"},
  39. // { display: '开票人', name: 'billingUser', align: 'center', width: "8%"},
  40. { display: '发票状态', name: 'state', align: 'center', width: "8%",
  41. render : function(rowdata, rowindex, value, column){
  42. if("1"==value)
  43. return "<font color=blue>正常</font>";
  44. if("2"==value)
  45. return "<font color=red>作废</font>";
  46. } },
  47. { display: '备注', name: 'remark', align: 'center', width: "8%"},
  48. { display: '操作', isAllowHide: false, align: 'left', width:"10%",
  49. render: function (rowdata, rowindex, value, column){
  50. return '<div class="padding_top4 padding_left20">'
  51. +'<a href="#" onclick="onEdit(' + rowdata.invoiceId +')"><span class="icon_edit">修改</span></a>'
  52. +'<a href="#" onclick="onDelete(' + rowdata.invoiceId +')"><span class="icon_remove">删除</span></a>'
  53. + '</div>';
  54. }
  55. }
  56. ],
  57. toolbar:{
  58. items:[
  59. <@pop_perm url="/invoice/edit.do"> {text:'新增',click:addUnit,iconClass:'icon_add'},</@pop_perm>
  60. {line:true}
  61. ]
  62. },
  63. data:[],
  64. rownumbers:true,
  65. dataAction:'local',
  66. checkbox:false,
  67. usePager: false,
  68. isScroll: true,
  69. frozen:false,
  70. height: '100%',
  71. width:"100%",
  72. heightDiff:-40,
  73. detail: { onShowDetail: showInfoList, height: 'auto' }
  74. });
  75. }
  76. $(function(){
  77. getData(g_pageNo,g_pageSize);
  78. });
  79. function showInfoList(row, detailPanel,callback) {
  80. console.log(row)
  81. if (row.infoList) {
  82. var childGrid = document.createElement('div');
  83. $(detailPanel).append(childGrid);
  84. var childGrid=$(childGrid).css('margin','5px 0px 5px 55px').quiGrid({
  85. columns: [
  86. { display: '名称', name: 'name', align: 'center',width: "20%"},
  87. { display: '规格', name: 'specs', align: 'center',width: "10%"},
  88. { display: '单位', name: 'unit', align: 'center',width: "5%"},
  89. { display: '数量', name: 'number', align: 'center',width: "5%"},
  90. { display: '单价', name: 'price', align: 'center',width: "20%"},
  91. { display: '金额', name: 'amount', align: 'center',width: "20%"},
  92. { display: '税率(%)', name: 'taxRate', align: 'center',width: "10%"},
  93. { display: '税费', name: 'taxAmount', align: 'center',width: "10%"}
  94. ],
  95. isScroll: false,width: '600px', columnWidth: 120,usePager:false,
  96. data: {rows: row.infoList}
  97. });
  98. }
  99. }
  100. /**初始时通过向后台传递排序id、排序顺序、初始页码、每页条数**/
  101. function getData(pageNo,pageSize){
  102. jQuery.post("${ctx}/invoice/listPage.do",
  103. getFormParams(pageNo,pageSize),
  104. function(result){
  105. gridData = result;
  106. //刷新表格
  107. g.loadData(gridData);
  108. //设置左边内容页
  109. var content ="共有" + gridData["pager.totalRows"] + "条记录";
  110. $("#letfContent").html("");
  111. $("#letfContent").html(content);
  112. //取得分页组件
  113. var pager=$("#pager");
  114. //设置总页页数
  115. pager.attr("total",gridData["pager.totalRows"]);
  116. pager.render();
  117. //绑定翻页事件
  118. pager.unbind("pageChange");
  119. pager.bind("pageChange",function(e,index){
  120. g_pageNo = index + 1;
  121. getData(g_pageNo,g_pageSize);
  122. });
  123. //绑定选择每页显示记录数事件
  124. pager.bind("sizeChange",function(e,num){
  125. g_pageSize = num;
  126. getData(g_pageNo,g_pageSize);
  127. });
  128. },"json");
  129. }
  130. //查询
  131. function searchHandler(){
  132. //重新加载数据,设置当前页面为1
  133. getData(1,g_pageSize);
  134. }
  135. /**获得查询表单的提交查询的值**/
  136. function getFormParams(pageNo,pageSize){
  137. $("#pageNo").val(pageNo);
  138. $("#pageSize").val(pageSize);
  139. return $("#searchForm").formToArray();
  140. }
  141. /**重置于查询表单,然后重新加载表格数据**/
  142. function resetSearch(){
  143. $("#searchForm")[0].reset();
  144. //重新加载数据,设置当前页面为1
  145. getData(1,g_pageSize);
  146. }
  147. //编辑
  148. function onEdit(rowId) {
  149. top.Dialog.open({
  150. URL : "${ctx}/invoice/edit.do?invoiceId="+rowId,
  151. Title : "编辑发票性质",
  152. Width : 800,
  153. Height : 600
  154. });
  155. }
  156. //新增
  157. function addUnit() {
  158. top.Dialog.open({
  159. URL : "${ctx}/invoice/edit.do",
  160. Title : "新增发票性质",
  161. Width : 800,
  162. Height : 600
  163. });
  164. }
  165. //单条记录删除
  166. function onDelete(rowid){
  167. top.Dialog.confirm("确定要删除该记录吗?",function(){
  168. //删除记录
  169. jQuery.post("${ctx}/invoice/delete.do",
  170. {"ids":rowid},
  171. function(responseText){
  172. if(responseText.status=="y"){
  173. top.Dialog.alert(responseText.info);
  174. resetSearch();
  175. }else{
  176. top.Dialog.alert(responseText.info);
  177. }
  178. },
  179. "json");
  180. });
  181. }
  182. </script>
  183. </head>
  184. <body>
  185. <div class="box2" panelTitle="发票信息列表">
  186. <form action="" id="searchForm" method="post">
  187. <input type="hidden" id="pageNo" name="pageNo" value="1"/>
  188. <input type="hidden" id="pageSize" name="pageSize" value="10"/>
  189. <table>
  190. <tr>
  191. <td>发票号:</td>
  192. <td>
  193. <input type="text" id="Q_invoiceNumb_S_LK" name="Q_invoiceNumb_S_LK" />
  194. </td>
  195. <td><button type="button" onclick="searchHandler()"><span class="icon_find">查询</span></button></td>
  196. <td><button type="button" onclick="resetSearch()"><span class="icon_reload">重置</span></button></td>
  197. </tr>
  198. </table>
  199. </form>
  200. </div>
  201. <div id="scrollContent">
  202. <div class="padding_right5">
  203. <div id="maingrid"></div>
  204. </div>
  205. </div>
  206. <!-- 分页组件 -->
  207. <div style="height:35px;">
  208. <div id="letfContent" class="float_left padding5"></div>
  209. <div class="float_right padding5">
  210. <div id="pager" total="0" class="pageArrow" showSelect="true" inputPosition="right"></div>
  211. </div>
  212. <div class="clear"></div>
  213. </div>
  214. </body>
  215. </html>