informationInfo-detail.vue 6.2 KB

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