checkinInfo-payment.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <style scoped>
  2. .user-panel {
  3. margin: 10px auto;
  4. }
  5. </style>
  6. <template>
  7. <el-dialog
  8. :visible.sync="showDialog"
  9. :title="title"
  10. :modal-append-to-body="true"
  11. append-to-body
  12. :close-on-click-modal="false"
  13. style="text-align: left"
  14. width="80%"
  15. @close="closeDialog"
  16. >
  17. <div class="user-panel" v-loading="loading">
  18. <el-form ref="form" :model="fromModel">
  19. <el-table
  20. ref="formTable"
  21. :data="tableData"
  22. v-loading="loading"
  23. element-loading-text="拼命加载中"
  24. stripe
  25. >
  26. <el-table-column prop="name" label="收费项目" ></el-table-column>
  27. <el-table-column prop="desc" label="收费项目说明" ></el-table-column>
  28. <el-table-column label="单价">
  29. <template slot-scope="scope">
  30. <el-input v-model="scope.row.unitPrice" oninput ="value=value.replace(/[^0-9.]/g,'')" />
  31. </template>
  32. </el-table-column>
  33. <el-table-column prop="unit" label="单位" ></el-table-column>
  34. </el-table>
  35. </el-form>
  36. </div>
  37. <span slot="footer" class="dialog-footer">
  38. <el-button @click="closeDialog">取 消</el-button>
  39. <el-button type="primary" @click="handleSubmit" :loading="submitting"
  40. >确 定</el-button
  41. >
  42. </span>
  43. </el-dialog>
  44. </template>
  45. <script>
  46. import Constant from "@/constant";
  47. import checkinInfoApi from "@/api/base/checkinInfo";
  48. import payServiceApi from "@/api/base/payService";
  49. import SelectTree from "@/components/SelectTree";
  50. export default {
  51. props: ["businessKey", "title"],
  52. data() {
  53. return {
  54. fromModel:{},
  55. tableData: [],
  56. showDialog: true,
  57. loading: false,
  58. submitting: false,
  59. };
  60. },
  61. created() {
  62. var self = this;
  63. },
  64. methods: {
  65. closeDialog() {
  66. this.$emit("close", false);
  67. },
  68. changePage(pageIndex) {
  69. var self = this;
  70. this.loading = true;
  71. var formData = new FormData();
  72. formData.append("businessKey", self.businessKey);
  73. payServiceApi.payServiceList(formData).then(response => {
  74. this.loading = false;
  75. var jsonData = response.data;
  76. console.log(jsonData);
  77. this.tableData = jsonData.data.data;
  78. this.totalElements = jsonData.data.recordsTotal;
  79. });
  80. },
  81. handleSubmit() {
  82. var self = this;
  83. this.$refs["form"].validate((valid) => {
  84. if (valid) {
  85. (function () {
  86. return payServiceApi.addList(self.tableData);
  87. })().then(function (response) {
  88. var jsonData = response.data;
  89. if (jsonData.result) {
  90. self.$message({
  91. message: "保存成功!",
  92. type: "success",
  93. });
  94. self.$emit("close", true);
  95. } else {
  96. self.$message({
  97. message: jsonData.message + "",
  98. type: "warning",
  99. });
  100. self.$emit("close", false);
  101. }
  102. });
  103. }
  104. });
  105. },
  106. },
  107. mounted: function () {
  108. this.changePage(1);
  109. },
  110. components: {
  111. // "el-select-tree": SelectTree
  112. },
  113. };
  114. </script>