companyPosition-detail.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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="companyId">
  21. <el-input v-model="formModel.companyId" placeholder="请输入单位编号" style="width:300px"></el-input>
  22. </el-form-item>
  23. <el-form-item label="位置1名称" prop="position1Name">
  24. <el-input v-model="formModel.position1Name" placeholder="请输入位置1名称" style="width:300px"></el-input>
  25. </el-form-item>
  26. <el-form-item label="位置2名称" prop="position2Name">
  27. <el-input v-model="formModel.position2Name" placeholder="请输入位置2名称" style="width:300px"></el-input>
  28. </el-form-item>
  29. <el-form-item label="位置3名称" prop="position3Name">
  30. <el-input v-model="formModel.position3Name" placeholder="请输入位置3名称" style="width:300px"></el-input>
  31. </el-form-item>
  32. <el-form-item label="位置4名称" prop="position4Name">
  33. <el-input v-model="formModel.position4Name" placeholder="请输入位置4名称" style="width:300px"></el-input>
  34. </el-form-item>
  35. <el-form-item label="位置5名称" prop="position5Name">
  36. <el-input v-model="formModel.position5Name" placeholder="请输入位置5名称" style="width:300px"></el-input>
  37. </el-form-item>
  38. <el-form-item label="创建人" prop="createBy">
  39. <el-input v-model="formModel.createBy" placeholder="请输入创建人" style="width:300px"></el-input>
  40. </el-form-item>
  41. <el-form-item label="创建时间" prop="createTime">
  42. <el-input v-model="formModel.createTime" placeholder="请输入创建时间" style="width:300px"></el-input>
  43. </el-form-item>
  44. <el-form-item label="更新人" prop="updateBy">
  45. <el-input v-model="formModel.updateBy" placeholder="请输入更新人" style="width:300px"></el-input>
  46. </el-form-item>
  47. <el-form-item label="更新时间" prop="updateTime">
  48. <el-input v-model="formModel.updateTime" placeholder="请输入更新时间" style="width:300px"></el-input>
  49. </el-form-item>
  50. </el-form>
  51. </div>
  52. <span slot="footer" class="dialog-footer">
  53. <el-button @click="closeDialog">取 消</el-button>
  54. <el-button type="primary" @click="handleSubmit" :loading="submitting">确 定</el-button>
  55. </span>
  56. </el-dialog>
  57. </template>
  58. <script>
  59. import Constant from "@/constant";
  60. import companyPositionApi from "@/api/base/companyPosition";
  61. export default {
  62. props: ["businessKey", "title"],
  63. data() {
  64. return {
  65. ruleValidate: {
  66. id: [{ required: true, message: "不能为空", trigger: "blur" }],
  67. companyId: [
  68. { required: true, message: "单位编号不能为空", trigger: "blur" }
  69. ],
  70. position1Name: [
  71. { required: true, message: "位置1名称不能为空", trigger: "blur" }
  72. ],
  73. position2Name: [
  74. { required: true, message: "位置2名称不能为空", trigger: "blur" }
  75. ],
  76. position3Name: [
  77. { required: true, message: "位置3名称不能为空", trigger: "blur" }
  78. ],
  79. position4Name: [
  80. { required: true, message: "位置4名称不能为空", trigger: "blur" }
  81. ],
  82. position5Name: [
  83. { required: true, message: "位置5名称不能为空", trigger: "blur" }
  84. ],
  85. createBy: [
  86. { required: true, message: "创建人不能为空", trigger: "blur" }
  87. ],
  88. createTime: [
  89. { required: true, message: "创建时间不能为空", trigger: "blur" }
  90. ],
  91. updateBy: [
  92. { required: true, message: "更新人不能为空", trigger: "blur" }
  93. ],
  94. updateTime: [
  95. { required: true, message: "更新时间不能为空", trigger: "blur" }
  96. ]
  97. },
  98. showDialog: true,
  99. loading: false,
  100. submitting: false
  101. };
  102. },
  103. methods: {
  104. closeDialog() {
  105. this.$emit("close", false);
  106. },
  107. handleSubmit() {
  108. var self = this;
  109. this.$refs["form"].validate(valid => {
  110. if (valid) {
  111. (function() {
  112. var id = self.formModel.id;
  113. if (id == null || id.length == 0) {
  114. return companyPositionApi.add(self.formModel);
  115. } else {
  116. return companyPositionApi.update(self.formModel);
  117. }
  118. })().then(function(response) {
  119. var jsonData = response.data;
  120. if (jsonData.result) {
  121. self.$message({
  122. message: "保存成功!",
  123. type: "success"
  124. });
  125. self.$emit("close", true);
  126. } else {
  127. self.$message({
  128. message: jsonData.message + "",
  129. type: "warning"
  130. });
  131. self.$emit("close", false);
  132. }
  133. });
  134. }
  135. });
  136. }
  137. },
  138. mounted: function() {
  139. var self = this;
  140. (function() {
  141. if (self.businessKey.length == 0) {
  142. return companyPositionApi.create();
  143. } else {
  144. return companyPositionApi.edit(self.menuId);
  145. }
  146. })()
  147. .then(response => {
  148. var jsonData = response.data;
  149. self.loading = false;
  150. if (jsonData.result) {
  151. self.formModel = jsonData.data;
  152. } else {
  153. self.$message.error(jsonData.message + "");
  154. }
  155. })
  156. .catch(error => {
  157. self.$message.error(error + "");
  158. });
  159. }
  160. };
  161. </script>