parkingApply-detail.vue 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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="false"
  11. style="text-align:left;"
  12. @close="closeDialog"
  13. :close-on-click-modal="false"
  14. >
  15. <div class="user-panel" v-loading="loading">
  16. <el-form ref="form" :model="formModel" :rules="ruleValidate" :label-width="'100px'">
  17. <el-form-item label prop="id">
  18. <el-input v-model="formModel.id" placeholder="请输入" style="width:300px"></el-input>
  19. </el-form-item>
  20. <el-form-item label prop="createBy">
  21. <el-input v-model="formModel.createBy" placeholder="请输入" style="width:300px"></el-input>
  22. </el-form-item>
  23. <el-form-item label prop="createTime">
  24. <el-input v-model="formModel.createTime" placeholder="请输入" style="width:300px"></el-input>
  25. </el-form-item>
  26. <el-form-item label prop="updateBy">
  27. <el-input v-model="formModel.updateBy" placeholder="请输入" style="width:300px"></el-input>
  28. </el-form-item>
  29. <el-form-item label prop="updateTime">
  30. <el-input v-model="formModel.updateTime" placeholder="请输入" style="width:300px"></el-input>
  31. </el-form-item>
  32. <el-form-item label="是否删除" prop="delFlag">
  33. <el-input v-model="formModel.delFlag" placeholder="请输入是否删除" style="width:300px"></el-input>
  34. </el-form-item>
  35. <el-form-item label="申请车位ID" prop="parkingId">
  36. <el-input v-model="formModel.parkingId" placeholder="请输入申请车位ID" style="width:300px"></el-input>
  37. </el-form-item>
  38. <el-form-item label="申请人ID" prop="ownerId">
  39. <el-input v-model="formModel.ownerId" placeholder="请输入申请人ID" style="width:300px"></el-input>
  40. </el-form-item>
  41. <el-form-item label="申请类型" prop="contractType">
  42. <el-input v-model="formModel.contractType" placeholder="请输入申请类型" style="width:300px"></el-input>
  43. </el-form-item>
  44. <el-form-item label="租赁时长(月)" prop="contractDuration">
  45. <el-input
  46. v-model="formModel.contractDuration"
  47. placeholder="请输入租赁时长(月)"
  48. style="width:300px"
  49. ></el-input>
  50. </el-form-item>
  51. </el-form>
  52. </div>
  53. <span slot="footer" class="dialog-footer">
  54. <el-button @click="closeDialog">取 消</el-button>
  55. <el-button type="primary" @click="handleSubmit" :loading="submitting">确 定</el-button>
  56. </span>
  57. </el-dialog>
  58. </template>
  59. <script>
  60. import Constant from "@/constant";
  61. import parkingApplyApi from "@/api/base/parkingApply";
  62. export default {
  63. props: ["businessKey", "title"],
  64. data() {
  65. return {
  66. ruleValidate: {
  67. id: [{ required: true, message: "不能为空", trigger: "blur" }],
  68. createBy: [{ required: true, message: "不能为空", trigger: "blur" }],
  69. createTime: [{ required: true, message: "不能为空", trigger: "blur" }],
  70. updateBy: [{ required: true, message: "不能为空", trigger: "blur" }],
  71. updateTime: [{ required: true, message: "不能为空", trigger: "blur" }],
  72. delFlag: [
  73. { required: true, message: "是否删除不能为空", trigger: "blur" }
  74. ],
  75. parkingId: [
  76. { required: true, message: "申请车位ID不能为空", trigger: "blur" }
  77. ],
  78. ownerId: [
  79. { required: true, message: "申请人ID不能为空", trigger: "blur" }
  80. ],
  81. contractType: [
  82. { required: true, message: "申请类型不能为空", trigger: "blur" }
  83. ],
  84. contractDuration: [
  85. { required: true, message: "租赁时长(月)不能为空", trigger: "blur" }
  86. ]
  87. },
  88. showDialog: true,
  89. loading: false,
  90. submitting: false,
  91. formModel: {}
  92. };
  93. },
  94. methods: {
  95. closeDialog() {
  96. this.$emit("close", false);
  97. },
  98. handleSubmit() {
  99. var self = this;
  100. this.$refs["form"].validate(valid => {
  101. if (valid) {
  102. (function() {
  103. var id = self.formModel.id;
  104. if (id == null || id.length == 0) {
  105. return parkingApplyApi.add(self.formModel);
  106. } else {
  107. return parkingApplyApi.update(self.formModel);
  108. }
  109. })().then(function(response) {
  110. var jsonData = response.data;
  111. if (jsonData.result) {
  112. self.$message({
  113. message: "保存成功!",
  114. type: "success"
  115. });
  116. this.$emit("close", true);
  117. } else {
  118. self.$message({
  119. message: jsonData.message + "",
  120. type: "warning"
  121. });
  122. this.$emit("close", false);
  123. }
  124. });
  125. }
  126. });
  127. }
  128. },
  129. mounted: function() {
  130. var self = this;
  131. (function() {
  132. if (self.businessKey.length == 0) {
  133. return parkingApplyApi.create();
  134. } else {
  135. return parkingApplyApi.edit(self.menuId);
  136. }
  137. })()
  138. .then(response => {
  139. var jsonData = response.data;
  140. self.loading = false;
  141. if (jsonData.result) {
  142. self.formModel = jsonData.data;
  143. } else {
  144. self.$message.error(jsonData.message + "");
  145. }
  146. })
  147. .catch(error => {
  148. self.$message.error(error + "");
  149. });
  150. }
  151. };
  152. </script>