apiConfig.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <div>
  3. <el-card shadow="hover" class="mt20">
  4. <template #header>
  5. <div class="card-header">
  6. <span>后端地址配置</span>
  7. </div>
  8. </template>
  9. <el-form
  10. :label-position="state.labelPosition"
  11. label-width="100px"
  12. style="max-width: 960px"
  13. :inline="false"
  14. >
  15. <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
  16. <el-form-item label="接口地址">
  17. <el-input v-model="state.file" />
  18. </el-form-item>
  19. </el-col>
  20. <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
  21. <el-form-item label="接口地址">
  22. <el-input v-model="state.host" />
  23. </el-form-item>
  24. </el-col> -->
  25. </el-form>
  26. <el-button type="primary" @click="configSave3">保存</el-button>
  27. </el-card>
  28. </div>
  29. </template>
  30. <script lang="ts" setup name="systemConfig">
  31. import { defineComponent, onMounted, reactive, toRefs } from 'vue';
  32. import { ElMessageBox, ElMessage } from 'element-plus';
  33. import ruleReg from '/@/utils/ruleReg.ts';
  34. import { Local, Session } from '/@/utils/storage';
  35. import config from '/@/config.ts';
  36. import mittBus from '/@/utils/mitt';
  37. import { useRoute } from 'vue-router';
  38. const state = reactive({
  39. file: config.file,
  40. // host: config.host,
  41. timer:<any> {},
  42. labelPosition: 'top',
  43. })
  44. const configSave3 = () => {
  45. if (!ruleReg.emptyReg(state.file)) {
  46. return ElMessage.warning('资源地址为空');
  47. }
  48. // if (!ruleReg.emptyReg(state.host)) {
  49. // return ElMessage.warning('接口地址为空');
  50. // }
  51. clearTimeout(state.timer);
  52. state.timer = setTimeout(()=>{
  53. config.file = state.file;
  54. // config.host = state.host;
  55. Local.set('file',state.file);
  56. // Local.set('host',state.host);
  57. ElMessage.success('保存成功');
  58. window.location.reload();
  59. // refreshCurrentTagsView();
  60. },500)
  61. }
  62. // 定义变量内容
  63. const route = useRoute();
  64. // 1、刷新当前 tagsView
  65. const refreshCurrentTagsView = () => {
  66. mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 0, ...route }));
  67. };
  68. onMounted(()=>{
  69. setTimeout(()=>{
  70. state.file = Local.get('file') ? Local.get('file') : state.file;
  71. // state.host = Local.get('host') ? Local.get('host') : state.host;
  72. },500)
  73. })
  74. </script>
  75. <style scoped lang="scss">
  76. .demo-date-picker{
  77. display: flex;
  78. }
  79. </style>