confirmed-cardswallow.vue 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. <template>
  2. <basic-container>
  3. <avue-crud :option="option"
  4. :table-loading="loading"
  5. :data="data"
  6. :page.sync="page"
  7. :permission="permissionList"
  8. :before-open="beforeOpen"
  9. v-model="form"
  10. ref="crud"
  11. @row-update="rowUpdate"
  12. @row-save="rowSave"
  13. @row-del="rowDel"
  14. @search-change="searchChange"
  15. @search-reset="searchReset"
  16. @selection-change="selectionChange"
  17. @current-change="currentChange"
  18. @size-change="sizeChange"
  19. @refresh-change="refreshChange"
  20. @on-load="onLoad">
  21. <template slot="menuLeft">
  22. <el-button type="danger"
  23. size="small"
  24. icon="el-icon-delete"
  25. plain
  26. v-if="permission.cardswallow_delete"
  27. @click="handleDelete">删 除
  28. </el-button>
  29. <el-button type="success"
  30. size="small"
  31. icon="el-icon-setting"
  32. plain
  33. v-if="permission.cardswallow_setting"
  34. @click="handleSetting">設置發佈人
  35. </el-button>
  36. <el-button type="primary"
  37. size="small"
  38. icon="el-icon-upload"
  39. plain
  40. v-if="permission.cardswallow_upload"
  41. @click="attachBox = true">上 傳
  42. </el-button>
  43. </template>
  44. <template slot="process" slot-scope="{row, index}">
  45. <el-tag size="small " type="primary" plain v-if="row.process == 2">待發佈</el-tag>
  46. <el-tag size="small " type="warning" plain v-if="row.process == 3">待確認</el-tag>
  47. <el-tag size="small " type="success" plain v-if="row.process == 4">已確認</el-tag>
  48. </template>
  49. </avue-crud>
  50. </basic-container>
  51. </template>
  52. <script>
  53. import {getList, getDetail, add, update, remove, settingSave, getSetting} from "@/api/bank/cardswallow";
  54. import {mapGetters} from "vuex";
  55. import FlowSettings from "../../components/common/flow-settings";
  56. import {dateFormat} from "../../util/date";
  57. import CardswallowIssue from "../../components/common/cardswallow-issue";
  58. import CardswallowComfirm from "../../components/common/cardswallow-comfirm";
  59. export default {
  60. name: "confirmed-cardswallow",
  61. components: {CardswallowComfirm, CardswallowIssue, FlowSettings},
  62. data() {
  63. return {
  64. form: {},
  65. query: {},
  66. loading: true,
  67. page: {
  68. pageSize: 10,
  69. currentPage: 1,
  70. total: 0
  71. },
  72. selectionList: [],
  73. option: {
  74. height:'auto',
  75. calcHeight: 30,
  76. tip: false,
  77. searchShow: true,
  78. searchMenuSpan: 6,
  79. border: true,
  80. index: true,
  81. viewBtn: true,
  82. addBtn: false,
  83. editBtn: false,
  84. delBtn: false,
  85. selection: true,
  86. dialogClickModal: false,
  87. column: [
  88. {
  89. label: "銀行號",
  90. prop: "bankNo",
  91. rules: [{
  92. required: true,
  93. message: "请输入銀行號",
  94. trigger: "blur"
  95. }]
  96. },
  97. {
  98. label: "機構號",
  99. prop: "orgNo",
  100. rules: [{
  101. required: true,
  102. message: "请输入機構號",
  103. trigger: "blur"
  104. }]
  105. },
  106. {
  107. label: "序號",
  108. prop: "serialNo",
  109. rules: [{
  110. required: true,
  111. message: "请输入序號",
  112. trigger: "blur"
  113. }]
  114. },
  115. {
  116. label: "發送時間",
  117. prop: "sendDate",
  118. rules: [{
  119. required: true,
  120. message: "请输入發送時間",
  121. trigger: "blur"
  122. }]
  123. },
  124. {
  125. label: "發送支行",
  126. prop: "sendBank",
  127. rules: [{
  128. required: true,
  129. message: "请输入發送支行",
  130. trigger: "blur"
  131. }]
  132. },
  133. {
  134. label: "卡號",
  135. prop: "cardNo",
  136. rules: [{
  137. required: true,
  138. message: "请输入卡號",
  139. trigger: "blur"
  140. }]
  141. },
  142. {
  143. label: "卡序號",
  144. prop: "cardSerialNo",
  145. rules: [{
  146. required: true,
  147. message: "请输入卡序號",
  148. trigger: "blur"
  149. }]
  150. },
  151. {
  152. label: "本行機/他行機",
  153. prop: "machine",
  154. rules: [{
  155. required: true,
  156. message: "请输入本行機/他行機",
  157. trigger: "blur"
  158. }]
  159. },
  160. {
  161. label: "機號",
  162. prop: "machineNo",
  163. rules: [{
  164. required: true,
  165. message: "请输入機號",
  166. trigger: "blur"
  167. }]
  168. },
  169. {
  170. label: "沒收卡日期",
  171. prop: "swallowDate",
  172. rules: [{
  173. required: true,
  174. message: "请输入沒收卡日期",
  175. trigger: "blur"
  176. }]
  177. },
  178. {
  179. label: "卡狀態",
  180. prop: "cardStatus",
  181. rules: [{
  182. required: true,
  183. message: "请输入卡狀態",
  184. trigger: "blur"
  185. }]
  186. },
  187. {
  188. label: "發送狀態",
  189. prop: "sendStatus",
  190. type: "select",
  191. dataType: "string",
  192. dicUrl: `/api/blade-system/dict/dictionary?code=send_status`,
  193. props: {
  194. label: "dictValue",
  195. value: "dictKey"
  196. },
  197. dicFormatter: (res) => {
  198. res.data.forEach(item => {item.disabled = item.isSealed == 1;})
  199. return res.data;
  200. },
  201. rules: [{
  202. required: true,
  203. message: "请输入發送狀態",
  204. trigger: "blur"
  205. }]
  206. },
  207. {
  208. label: "備註",
  209. prop: "remark",
  210. rules: [{
  211. required: false,
  212. message: "请输入備註",
  213. trigger: "blur"
  214. }]
  215. },
  216. {
  217. label: "進度",
  218. prop: "process",
  219. display: false,
  220. rules: [{
  221. required: false,
  222. message: "请输入備註",
  223. trigger: "blur"
  224. }]
  225. },
  226. {
  227. label: "支行確認人員工號",
  228. prop: "bankConfirmNo",
  229. editDisplay: false,
  230. hide: true,
  231. rules: [{
  232. required: true,
  233. message: "请输入支行確認人員工號",
  234. trigger: "blur"
  235. }]
  236. },
  237. {
  238. label: "支行確認人姓名",
  239. prop: "bankConfirmName",
  240. editDisplay: false,
  241. hide: true,
  242. rules: [{
  243. required: true,
  244. message: "请输入支行確認人姓名",
  245. trigger: "blur"
  246. }]
  247. },
  248. {
  249. label: "確認日期",
  250. prop: "bankConfirmTime",
  251. editDisplay: false,
  252. hide: true,
  253. rules: [{
  254. required: true,
  255. message: "请输入確認日期",
  256. trigger: "blur"
  257. }]
  258. },
  259. ]
  260. },
  261. data: [],
  262. data2: [],
  263. };
  264. },
  265. computed: {
  266. ...mapGetters(["permission"]),
  267. ...mapGetters(["userInfo"]),
  268. permissionList() {
  269. return {
  270. addBtn: this.vaildData(this.permission.cardswallow_add, false),
  271. viewBtn: this.vaildData(this.permission.cardswallow_view, false),
  272. delBtn: this.vaildData(this.permission.cardswallow_delete, false),
  273. editBtn: this.vaildData(this.permission.cardswallow_edit, false)
  274. };
  275. },
  276. ids() {
  277. let ids = [];
  278. this.selectionList.forEach(ele => {
  279. ids.push(ele.id);
  280. });
  281. return ids.join(",");
  282. }
  283. },
  284. methods: {
  285. beforeOpen(done, type) {
  286. if (["edit", "view"].includes(type)) {
  287. getDetail(this.form.id).then(res => {
  288. this.form = res.data.data;
  289. });
  290. }
  291. done();
  292. },
  293. searchReset() {
  294. this.query = {};
  295. this.onLoad(this.page);
  296. },
  297. searchChange(params, done) {
  298. this.query = params;
  299. this.page.currentPage = 1;
  300. this.onLoad(this.page, params);
  301. done();
  302. },
  303. selectionChange(list) {
  304. this.selectionList = list;
  305. },
  306. selectionClear() {
  307. this.selectionList = [];
  308. this.$refs.crud.toggleSelection();
  309. },
  310. currentChange(currentPage){
  311. this.page.currentPage = currentPage;
  312. },
  313. sizeChange(pageSize){
  314. this.page.pageSize = pageSize;
  315. },
  316. refreshChange() {
  317. this.onLoad(this.page, this.query);
  318. },
  319. onLoad(page, params = {}) {
  320. this.loading = true;
  321. params.process = 4;
  322. params.bankConfirmNo = this.userinfo.user_ehr;
  323. getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
  324. const data = res.data.data;
  325. this.page.total = data.total;
  326. this.data = data.records;
  327. this.loading = false;
  328. this.selectionClear();
  329. });
  330. }
  331. }
  332. };
  333. </script>
  334. <style>
  335. </style>