MessagePoint.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <div class="MessagePoint">
  3. <h1>MessagePoint MessagePoint 9999</h1>
  4. <el-button @click="add" type="primary" icon="el-icon-document-add">添加</el-button>
  5. <el-table :data="tableData" border style="width: 40%">
  6. <el-table-column prop="id" label="序号" width="180"></el-table-column>
  7. <el-table-column prop="code" label="消息点编码" width="180"></el-table-column>
  8. <el-table-column label="地址">
  9. <template slot-scope="scope">
  10. <p>{{scope.row.description}}</p>
  11. </template>
  12. </el-table-column>
  13. <el-table-column fixed="right" label="操作" width="100">
  14. <template slot-scope="scope">
  15. <el-button @click="edit(scope.row)" type="text" size="small">编辑</el-button>
  16. <el-popconfirm title="是否删除此设备的信息?" @onConfirm="del(scope.row)">
  17. <el-button slot="reference" type="text" size="small">删除</el-button>
  18. </el-popconfirm>
  19. </template>
  20. </el-table-column>
  21. </el-table>
  22. <el-dialog :title="isAdd?'添加消息点':'编辑消息点'" :visible.sync="showDialog">
  23. <el-row type="flex">
  24. <el-col :span="14">
  25. <el-form
  26. ref="dyForm"
  27. :model="dyForm"
  28. :rules="rules"
  29. label-width="100px"
  30. class="demo-dynamic"
  31. >
  32. <el-form-item label="消息点编码:" prop="code">
  33. <el-input v-model="dyForm.code"></el-input>
  34. </el-form-item>
  35. <el-form-item label="消息点描述:" prop="description">
  36. <el-input v-model="dyForm.description"></el-input>
  37. </el-form-item>
  38. <el-form-item label="消息点描述:">
  39. <el-input type="textarea" v-model="dyForm.remark"></el-input>
  40. </el-form-item>
  41. <el-form-item>
  42. <el-button @click="showDialog=false">取 消</el-button>
  43. <el-button type="primary" @click="submitForm('dyForm')">保 存</el-button>
  44. </el-form-item>
  45. </el-form>
  46. </el-col>
  47. </el-row>
  48. </el-dialog>
  49. </div>
  50. </template>
  51. <script>
  52. import { mapActions } from "vuex";
  53. const rules = {
  54. code: [{ required: true, message: "请输入消息点编码", trigger: "blur" }],
  55. description: [
  56. { required: true, message: "请输入消息点描述", trigger: "blur" }
  57. ]
  58. };
  59. export default {
  60. name: "MessagePoint",
  61. data() {
  62. return {
  63. tableData: [],
  64. showDialog: false,
  65. dyForm: {
  66. code: null,
  67. description: "",
  68. remark: ""
  69. },
  70. rules,
  71. isAdd: true
  72. };
  73. },
  74. created() {},
  75. mounted() {
  76. this.getMessagePoint();
  77. },
  78. methods: {
  79. ...mapActions(["fetch"]),
  80. // 获取消息点
  81. getMessagePoint() {
  82. this.fetch({
  83. api: "/message/point/list",
  84. method: "GET",
  85. data: {},
  86. success: res => {
  87. console.log(res);
  88. this.tableData = res;
  89. // this.subDeviceList = res;
  90. },
  91. fail: err => {
  92. console.log(err);
  93. if (err.errMsg) this.$message.error(err.errMsg);
  94. else this.$message.error("服务器发生异常");
  95. }
  96. });
  97. },
  98. add() {
  99. this.isAdd = true;
  100. this.showDialog = true;
  101. },
  102. edit(row) {
  103. this.isAdd = false;
  104. this.showDialog = true;
  105. this.dyForm.id = row.id;
  106. },
  107. del(row) {
  108. this.fetch({
  109. api: "/message/point/delete",
  110. method: "POST",
  111. data: {id:row.id},
  112. success: res => {
  113. console.log(res);
  114. this.getMessagePoint();
  115. this.$message,success("删除成功!")
  116. // this.$message.success(res.msg);
  117. },
  118. fail: err => {
  119. console.log(err);
  120. if (err.errMsg) this.$message.error(err.errMsg);
  121. else this.$message.error("服务器发生异常");
  122. }
  123. });
  124. },
  125. submitForm(formName) {
  126. this.$refs[formName].validate(valid => {
  127. if (valid) {
  128. console.log(this.dyForm);
  129. this.dyForm
  130. ? this.reqSave("/message/point/add")
  131. : this.reqSave("/message/point/update");
  132. } else {
  133. return false;
  134. }
  135. });
  136. },
  137. // 请求 保存 (添加 和 更新)
  138. reqSave(api) {
  139. this.fetch({
  140. api,
  141. method: "POST",
  142. data: this.dyForm,
  143. success: res => {
  144. console.log(res);
  145. this.getMessagePoint();
  146. this.$message.success('添加消息点成功!')
  147. },
  148. fail: err => {
  149. console.log(err);
  150. if (err.errMsg) this.$message.error(err.errMsg);
  151. else this.$message.error("服务器发生异常");
  152. }
  153. });
  154. }
  155. }
  156. };
  157. </script>