RibbonSetDialog.vue 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <Modal
  3. class="ribbon-set-dialog marker-modal"
  4. v-model="modalIsShow"
  5. title="设置"
  6. :mask-closable="false"
  7. @on-visible-change="visibleChange"
  8. >
  9. <Form
  10. ref="modalFormComp"
  11. class="ribbon-set-form"
  12. :model="ribbonSetModal"
  13. :label-width="120"
  14. >
  15. <FormItem label="启用键盘">
  16. <i-switch v-model="ribbonSetModal.keyboardMark"></i-switch>
  17. </FormItem>
  18. <FormItem v-if="ribbonSetModal.keyboardMark" label="需要回车提交">
  19. <i-switch v-model="ribbonSetModal.needEnterSubmit"></i-switch>
  20. </FormItem>
  21. <FormItem label="显示快捷档位导航">
  22. <i-switch v-model="ribbonSetModal.fastLevelNav"></i-switch>
  23. </FormItem>
  24. </Form>
  25. <div slot="footer">
  26. <Button shape="circle" type="primary" @click="submit">确认</Button>
  27. <Button shape="circle" @click="cancel">取消</Button>
  28. </div>
  29. </Modal>
  30. </template>
  31. <script>
  32. import { mapState, mapMutations } from "vuex";
  33. export default {
  34. name: "ribbon-set-dialog",
  35. data() {
  36. return {
  37. modalIsShow: false,
  38. ribbonSetModal: {}
  39. };
  40. },
  41. computed: {
  42. ...mapState("marker", ["ribbonSet"])
  43. },
  44. mounted() {
  45. const userId = this.$ls.get("user", { id: "" }).id;
  46. const cacheRibbonSet = window.localStorage.getItem("ribbonSet");
  47. const ribbonSet = cacheRibbonSet ? JSON.parse(cacheRibbonSet) : {};
  48. if (ribbonSet[userId]) this.setRibbonSet(ribbonSet[userId]);
  49. },
  50. methods: {
  51. ...mapMutations("marker", ["setRibbonSet"]),
  52. initData() {
  53. this.ribbonSetModal = { ...this.ribbonSet };
  54. },
  55. visibleChange(visible) {
  56. if (visible) {
  57. this.initData();
  58. }
  59. },
  60. cancel() {
  61. this.modalIsShow = false;
  62. },
  63. open() {
  64. this.modalIsShow = true;
  65. },
  66. submit() {
  67. const userId = this.$ls.get("user", { id: "" }).id;
  68. const cacheRibbonSet = window.localStorage.getItem("ribbonSet");
  69. const ribbonSet = cacheRibbonSet ? JSON.parse(cacheRibbonSet) : {};
  70. ribbonSet[userId] = this.ribbonSetModal;
  71. this.setRibbonSet(this.ribbonSetModal);
  72. window.localStorage.setItem("ribbonSet", JSON.stringify(ribbonSet));
  73. this.cancel();
  74. }
  75. }
  76. };
  77. </script>