config.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template lang="html">
  2. <form>
  3. <div class="container" id="config">
  4. <div class="form-group row">
  5. <label class="col-2 col-form-label">Update Interval</label>
  6. <div class="col-10">
  7. <input v-model="options.updateInterval" class="form-control" type="Number">
  8. </div>
  9. </div>
  10. <div class="form-group row">
  11. <label class="col-2 col-form-label">Port</label>
  12. <div class="col-10">
  13. <input v-model="options.port" class="form-control" type="number">
  14. </div>
  15. </div>
  16. <div class="form-group row">
  17. <label class="col-2 col-form-label">Start data collector on start?</label>
  18. <div class="col-10">
  19. <select v-model="options.updateState" class="form-control">
  20. <option value="true">Yes</option>
  21. <option value="false">No</option>
  22. </select>
  23. </div>
  24. </div>
  25. <div class="row">
  26. <button @click="send" class="btn btn-primary">Save</button>
  27. </div>
  28. </div>
  29. </form>
  30. </template>
  31. <script>
  32. import $ from "jquery";
  33. export default {
  34. data: function () {
  35. return {
  36. options: {
  37. updateInterval: null,
  38. port: null,
  39. updateState: null
  40. }
  41. }
  42. },
  43. created: function () {
  44. var config = new XMLHttpRequest();
  45. var form = $(this.$el);
  46. var self = this;
  47. config.open('GET', '/api/config');
  48. config.onreadystatechange = function () {
  49. if (config.readyState == XMLHttpRequest.DONE &&
  50. config.status === 200) {
  51. self.options = JSON.parse(config.response);
  52. }
  53. };
  54. config.send(form.serialize());
  55. },
  56. methods: {
  57. send(){
  58. var self = this;
  59. var config = new XMLHttpRequest();
  60. config.open('POST', '/api/config');
  61. config.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  62. config.onreadystatechange = function () {
  63. if (config.readyState == XMLHttpRequest.DONE &&
  64. config.status === 200) {
  65. // self.$router.push("/");
  66. console.log(JSON.parse(config.response));
  67. }
  68. };
  69. config.send($.param(self.options));
  70. }
  71. }
  72. }
  73. </script>
  74. <style lang="css">
  75. </style>