ExtendFee.vue 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. <template>
  2. <div>
  3. <!-- 搜索区域Start -->
  4. <el-form
  5. class="queryForm"
  6. ref="queryFormRef"
  7. :inline="true"
  8. size="small"
  9. :model="queryForm"
  10. label-width="80px"
  11. >
  12. <el-row >
  13. <el-col :span="8">
  14. <el-form-item label="机构编码">
  15. <el-input style="width: 220px;"
  16. clearable
  17. placeholder="机构编码"
  18. v-model="queryForm.deptid"
  19. ></el-input>
  20. </el-form-item>
  21. </el-col>
  22. <el-col :span="8">
  23. <el-form-item label="工号">
  24. <el-input style="width: 220px;"
  25. clearable
  26. placeholder="工号"
  27. v-model="queryForm.userid"
  28. ></el-input>
  29. </el-form-item>
  30. </el-col>
  31. <el-col :span="8">
  32. <el-form-item label="保单号">
  33. <el-input style="width: 220px;"
  34. clearable
  35. placeholder="保单号"
  36. v-model="queryForm.policyno"
  37. ></el-input>
  38. </el-form-item>
  39. </el-col>
  40. <el-col :span="8">
  41. <el-form-item label="姓名">
  42. <el-input style="width: 220px;"
  43. clearable
  44. placeholder="姓名"
  45. v-model="queryForm.username"
  46. ></el-input>
  47. </el-form-item>
  48. </el-col>
  49. <el-col :span="8">
  50. <el-form-item label="车牌号">
  51. <el-input style="width: 220px;"
  52. clearable
  53. placeholder="车牌号"
  54. v-model="queryForm.licenseNo"
  55. ></el-input>
  56. </el-form-item>
  57. </el-col>
  58. <el-col :span="8">
  59. <el-form-item label="保险公司">
  60. <el-select style="width: 220px;"
  61. v-model="queryForm.inscompany"
  62. placeholder="请选择"
  63. clearable
  64. >
  65. <el-option label="华农财险" value="华农财险"></el-option>
  66. <el-option label="恒邦财险" value="恒邦财险"></el-option>
  67. </el-select>
  68. </el-form-item>
  69. </el-col>
  70. <el-col :span="8" style="height: 40px;">
  71. <el-form-item label="结算状态">
  72. <el-select v-model="queryForm.settlestatus" placeholder="请选择" style="width: 100%;" clearable>
  73. <el-option label="未结算" value="0"></el-option>
  74. <el-option label="已结算" value="1"></el-option>
  75. </el-select>
  76. </el-form-item>
  77. </el-col>
  78. <el-col :span="8">
  79. <el-form-item label="签单时间">
  80. <el-date-picker style="width: 220px;"
  81. size="small"
  82. v-model="queryForm.signDate"
  83. type="daterange"
  84. @change="dateChange"
  85. range-separator="至"
  86. value-format="yyyy-MM-dd"
  87. start-placeholder="开始日期"
  88. end-placeholder="结束日期"
  89. >
  90. </el-date-picker>
  91. </el-form-item>
  92. </el-col>
  93. <el-col :span="4">
  94. <el-form-item>
  95. <el-button @click="queryEsmInfo" type="primary" size="small" >查询</el-button>
  96. </el-form-item>
  97. </el-col>
  98. </el-row>
  99. </el-form>
  100. <kt-common-table
  101. permsDelete="sys:user:delete"
  102. :showBatchDelete="false"
  103. :showBatchPrint="true"
  104. permsButton3="sys:user:edit"
  105. :data="pageResult"
  106. :columns="columns"
  107. @findPage="findPage"
  108. :showOperation="false"
  109. @handlePrint="handlePrint"
  110. >
  111. </kt-common-table>
  112. </div>
  113. </template>
  114. <script>
  115. import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
  116. import KtButton from "@/views/Core/KtButton";
  117. import CommonUtil from "@/utils/comutil.js";
  118. import { formatWithSeperator, format } from "@/utils/datetime.js";
  119. export default {
  120. components: {
  121. KtCommonTable,
  122. KtButton,
  123. },
  124. data() {
  125. return {
  126. // 右侧列表查询数据Start
  127. queryForm: {},
  128. pageResult: {},
  129. pageRequest: {
  130. //查询的默认条件
  131. pageNum: 1,
  132. pageSize: 10,
  133. columnFilters: {
  134. deptid: {
  135. name: "deptid",
  136. value: "",
  137. },
  138. userid: {
  139. name: "userid",
  140. value: "",
  141. },
  142. policyno: {
  143. name: "policyno",
  144. value: "",
  145. },
  146. username: {
  147. name: "username",
  148. value: "",
  149. },
  150. licenseNo: {
  151. name: "licenseNo",
  152. value: "",
  153. },
  154. inscompany: {
  155. name: "inscompany",
  156. value: "",
  157. },
  158. startdate: {
  159. name: "startdate",
  160. value: "",
  161. },
  162. settlestatus: {
  163. name: "settlestatus",
  164. value: "",
  165. },
  166. enddate: {
  167. name: "enddate",
  168. value: "",
  169. },
  170. },
  171. },
  172. columns: [
  173. //数据列
  174. { prop: "orderno", label: "订单号", minWidth: 120 },
  175. { prop: "policyno", label: "保单号", minWidth: 100 },
  176. { prop: "licenseno", label: "车牌号", minWidth: 100 },
  177. { prop: "riskcode", label: "险种", minWidth: 100 },
  178. { prop: "deptname", label: "机构", minWidth: 100 },
  179. { prop: "settlestatus", label: "结算状态"},
  180. { prop: "signDate", label: "签单时间"},
  181. { prop: "inscompany", label: "保险公司", minWidth: 100 },
  182. { prop: "refereescode", label: "工号", minWidth: 100 },
  183. { prop: "refereesname", label: "姓名", minWidth: 100 },
  184. { prop: "commissionrate", label: "佣金比例", minWidth: 100 },
  185. { prop: "commissionamount", label: "佣金金额", minWidth: 100 },
  186. { prop: "level", label: "佣金级别", minWidth: 100 },
  187. ],
  188. //------------协议下拉框数据 begin-----------------
  189. agreementtypeoptions: [], //协议类型
  190. //------------协议下拉框数据 end-----------------
  191. };
  192. },
  193. created() {
  194. //获取所有下拉框数据
  195. this.getDictItems("agreementtype");
  196. },
  197. mounted() {},
  198. methods: {
  199. handlePrint() {
  200. this.$api.task.excelExport(this.pageRequest).then((res) => {
  201. console.log(res);
  202. let blob = new Blob([res], {
  203. type: "application/vnd.ms-excel",
  204. }); // 2.获取请求返回的response对象中的blob 设置文件类型,这里以excel为例
  205. let url = window.URL.createObjectURL(blob); // 3.创建一个临时的url指向blob对象
  206. // 4.创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
  207. let a = document.createElement("a");
  208. a.href = url;
  209. a.download = "推广费用清单.xlsx";
  210. a.click();
  211. // 5.释放这个临时的对象url
  212. window.URL.revokeObjectURL(url);
  213. });
  214. },
  215. //-- formatter begin--
  216. statusFormatter(row, column) {
  217. //协议类型
  218. return "提现成功";
  219. },
  220. //-- formatter end--
  221. dateChange(e){
  222. if (e == null) {
  223. this.pageRequest.columnFilters.startdate.value = ''
  224. this.pageRequest.columnFilters.enddate.value = ''
  225. } else {
  226. this.pageRequest.columnFilters.startdate.value=e[0];
  227. this.pageRequest.columnFilters.enddate.value=e[1];
  228. }
  229. },
  230. //--数据字典 begin --
  231. getDictItems: function (typeName) {
  232. let that = this;
  233. that.$api.dict
  234. .findByLableName(typeName)
  235. .then(function (res) {
  236. that[typeName + "options"] = res.data; // 把获取到的数据赋给this.data
  237. })
  238. .catch(function (error) {
  239. that[typeName + "options"] = [];
  240. });
  241. },
  242. //--数据字典 end --
  243. queryEsmInfo() {
  244. this.pageRequest.columnFilters.deptid.value = this.queryForm.deptid;
  245. this.pageRequest.columnFilters.userid.value = this.queryForm.userid;
  246. this.pageRequest.columnFilters.policyno.value = this.queryForm.policyno;
  247. this.pageRequest.columnFilters.username.value = this.queryForm.username;
  248. this.pageRequest.columnFilters.licenseNo.value = this.queryForm.licenseNo;
  249. this.pageRequest.columnFilters.inscompany.value = this.queryForm.inscompany;
  250. this.pageRequest.columnFilters.settlestatus.value = this.queryForm.settlestatus;
  251. this.pageRequest.pageNum = 1;
  252. this.findPage();
  253. },
  254. // 右侧列表的方法Start
  255. findPage(data) {
  256. // 获取分页数据
  257. let that = this;
  258. if (data && data.pageRequest) {
  259. this.pageRequest.pageNum = data.pageRequest.pageNum;
  260. this.pageRequest.pageSize = data.pageRequest.pageSize;
  261. }
  262. that.$api.task
  263. .queryCommission(that.pageRequest)
  264. .then((res) => {
  265. res.data.content.forEach(row=>{
  266. row.settlestatus=row.settlestatus==='1'?'已结算':'未结算'
  267. })
  268. that.pageResult = res.data;
  269. })
  270. .then(data != null ? data.callback : "");
  271. },
  272. },
  273. };
  274. </script>
  275. <style scoped>
  276. </style>