tb-fee-details-list.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>收费明细表-列表</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <!-- 所有的 css & js 资源 -->
  8. <link rel="stylesheet" href="https://unpkg.com/element-ui@2.13.0/lib/theme-chalk/index.css">
  9. <link rel="stylesheet" href="../../static/sa.css">
  10. <script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
  11. <script src="https://unpkg.com/element-ui@2.13.0/lib/index.js"></script>
  12. <script src="https://unpkg.com/http-vue-loader@1.4.2/src/httpVueLoader.js"></script>
  13. <script src="https://unpkg.com/jquery@3.4.1/dist/jquery.js"></script>
  14. <script src="https://www.layuicdn.com/layer-v3.1.1/layer.js"></script>
  15. <script src="../../static/sa.js"></script>
  16. </head>
  17. <body>
  18. <div class="vue-box" style="display: none;" :style="'display: block;'">
  19. <div class="c-panel">
  20. <!-- ------------- 检索参数 ------------- -->
  21. <div class="c-title">检索参数</div>
  22. <el-form ref="form" :model='p' @submit.native.prevent>
  23. <div class="c-item">
  24. <label class="c-label">业务类型:</label>
  25. <el-select v-model="p.itemTypeName" placeholder="请选择" filterable>
  26. <el-option v-for="item in itemTypeList" :key="item.id"
  27. :label="item.name" :value="item.name">
  28. </el-option>
  29. </el-select>
  30. </div>
  31. <div class="c-item">
  32. <label class="c-label">日期:</label>
  33. <el-date-picker type="date" value-format="yyyy-MM-dd" v-model="p.payDay"></el-date-picker>
  34. </div>
  35. <el-button type="primary" icon="el-icon-search" @click="p.pageNo = 1; f5()">查询</el-button>
  36. <br />
  37. </el-form>
  38. <!-- ------------- 快捷按钮 ------------- -->
  39. <div class="fast-btn">
  40. <el-button type="warning" icon="el-icon-download" @click="exportFn()">导出</el-button>
  41. <el-button type="info" icon="el-icon-refresh" @click="sa.f5()">刷新</el-button>
  42. <slot></slot>
  43. </div>
  44. <!-- ------------- 数据列表 ------------- -->
  45. <el-table class="data-table" ref="data-table" :data="dataList" >
  46. <sa-td type="selection"></sa-td>
  47. <sa-td name="业务单号" prop="businessNo" ></sa-td>
  48. <sa-td name="车牌号" prop="carNo" ></sa-td>
  49. <sa-td name="收费类型" prop="feeType" type="enum"
  50. :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>
  51. <sa-td name="业务类型" prop="itemTypeName" ></sa-td>
  52. <sa-td name="业务项" prop="itemName" ></sa-td>
  53. <sa-td name="项目金额" prop="itemPrice" ></sa-td>
  54. <sa-td name="支付日期" prop="payDay" ></sa-td>
  55. <sa-td name="支付方式" prop="payType" type="enum" :jv="{3: '微信支付'}"></sa-td>
  56. <!-- <el-table-column label="操作" fixed="right" width="240px">-->
  57. <!-- <template slot-scope="s">-->
  58. <!-- <el-button class="c-btn" type="success" icon="el-icon-view" @click="get(s.row)">查看</el-button>-->
  59. <!-- <el-button class="c-btn" type="primary" icon="el-icon-edit" @click="update(s.row)">修改</el-button>-->
  60. <!-- <el-button class="c-btn" type="danger" icon="el-icon-delete" @click="del(s.row)">删除</el-button>-->
  61. <!-- </template>-->
  62. <!-- </el-table-column>-->
  63. </el-table>
  64. <!-- ------------- 分页 ------------- -->
  65. <sa-item type="page" :curr.sync="p.pageNo" :size.sync="p.pageSize" :total="dataCount" @change="f5()"></sa-item>
  66. </div>
  67. <el-dialog title="提示" :visible.sync="emodel.visible" width="30%">
  68. <el-form size="mini">
  69. <div class="c-item">
  70. <label class="c-label">日期:</label>
  71. <el-date-picker type="date" value-format="yyyy-MM-dd" v-model="emodel.form.payDay"></el-date-picker>
  72. </div>
  73. </el-form>
  74. <span slot="footer" class="dialog-footer">
  75. <el-button @click="emodel.visible = false">取 消</el-button>
  76. <el-button type="primary" @click="sureExport">确 定</el-button>
  77. </span>
  78. </el-dialog>
  79. </div>
  80. <script>
  81. var app = new Vue({
  82. components: {
  83. "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue'),
  84. "sa-td": httpVueLoader('../../sa-frame/com/sa-td.vue'),
  85. },
  86. el: '.vue-box',
  87. data: {
  88. p: { // 查询参数
  89. id: '', // 主键
  90. businessNo: '', // 业务单号
  91. carNo: '', // 车牌号
  92. itemTypeId: '', // 业务类型id
  93. itemTypeName: '', // 业务类型
  94. itemId: '', //
  95. itemName: '', // 业务项
  96. itemPrice: '', // 项目金额(元)
  97. payDay: '', // 支付日期
  98. payType: '', // 支付方式(3=微信支付)
  99. createTime: '', // 创建时间
  100. pageNo: 1, // 当前页
  101. pageSize: 10, // 页大小
  102. sortType: 9 // 排序方式
  103. },
  104. dataCount: 0,
  105. dataList: [], // 数据集合
  106. itemTypeList: [],
  107. emodel: {
  108. visible: false,
  109. form: {
  110. payDay: ''
  111. }
  112. },
  113. },
  114. methods: {
  115. exportFn() {
  116. Object.assign(this.emodel, {
  117. visible: true,
  118. })
  119. },
  120. sureExport() {
  121. if (this.emodel.form.payDay == '') {
  122. sa.msg("请选择日期");
  123. return;
  124. }
  125. sa.ajax('/TbFeeDetails/export/details', this.emodel.form, function(resp) {
  126. window.open(resp.data);
  127. this.emodel.visible = false;
  128. }.bind(this));
  129. },
  130. // 刷新
  131. f5: function() {
  132. sa.ajax('/TbFeeDetails/getList', sa.removeNull(this.p), function(res) {
  133. this.dataList = res.data; // 数据
  134. this.dataCount = res.dataCount; // 数据总数
  135. sa.f5TableHeight(); // 刷新表格高度
  136. }.bind(this));
  137. },
  138. // 查看
  139. get: function(data) {
  140. sa.showIframe('数据详情', 'tb-fee-details-info.html?id=' + data.id, '1050px', '90%');
  141. },
  142. // 查看 - 根据选中的
  143. getBySelect: function(data) {
  144. var selection = this.$refs['data-table'].selection;
  145. if(selection.length == 0) {
  146. return sa.msg('请选择一条数据')
  147. }
  148. this.get(selection[0]);
  149. },
  150. getItemTypeList() {
  151. sa.ajax('/TbItemType/getList', {
  152. pageNo: 1,
  153. pageSize: 100
  154. }, function(resp) {
  155. this.itemTypeList = resp.data;
  156. }.bind(this));
  157. },
  158. },
  159. created: function() {
  160. this.f5();
  161. this.getItemTypeList();
  162. sa.onInputEnter();
  163. }
  164. })
  165. </script>
  166. </body>
  167. </html>