Browse Source

【EQI接口】配置文件提出处理

web
安虹睿 2 weeks ago
parent
commit
2f59b9a618
  1. 1
      Web/index.html
  2. 5
      Web/public/config.js
  3. 145
      Web/src/components/importPop/index.vue
  4. 4
      Web/src/settings.js
  5. 2
      Web/src/styles/element-ui.scss
  6. 6
      Web/src/utils/request.js
  7. 3
      Web/src/views/system/login/index.vue

1
Web/index.html

@ -5,6 +5,7 @@
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite App</title>
<script src="/config.js"></script>
</head>
<body>
<div id="app"></div>

5
Web/public/config.js

@ -0,0 +1,5 @@
let systemConfig = {
title:'EQI接口',
// 请求路径
baseUrl: 'http://192.168.1.228:7629',
}

145
Web/src/components/importPop/index.vue

@ -0,0 +1,145 @@
<template>
<el-dialog
v-model="dialogVisible"
title="导入"
width="600"
:close-on-click-modal="false"
:header-class="importPop"
>
<!-- <el-upload
ref="uploadRef"
v-model:file-list="fileList"
:auto-upload="false"
:disabled="formLoading"
:headers="uploadHeaders"
:limit="1"
:on-error="submitFormError"
:on-exceed="handleExceed"
:on-success="submitFormSuccess"
:accept="accept"
drag
style="width: 300px; margin: 0 auto"
v-loading="formLoading"
>
<Icon icon="ep:upload-filled" color="#c0c4cc" :size="60" />
<div class="el-upload__text">将文件拖到此处'<em>点击上传</em></div>
</el-upload>
<template #footer>
<div class="flex items-center">
<div class="flex-1 text-left">
<el-button type="primary" plain @click="importTemplate">
<Icon icon="ep:download" /> 下载模板
</el-button>
</div>
<el-button :disabled="formLoading" type="primary" @click="submitForm">{{ t('ts.确 ') }}</el-button>
<el-button @click="dialogVisible = false">{{ t('ts.取 消') }}</el-button>
</div>
</template> -->
</el-dialog>
</template>
<script setup>
defineOptions({ name: 'importPop' })
import { reactive, ref, onMounted } from 'vue'
import { ElDialog,ElMessage } from 'element-plus'
// import { downloadByData } from '@/utils/download'
// import { useRoute } from 'vue-router'
// const route = useRoute()
const dialogVisible = ref(false) //
const fileList = ref([]) //
const uploadRef = ref()
const formLoading = ref(false) //
// const uploadHeaders = ref() // Header
// const props = defineProps({
// //
// accept: {
// type: String,
// required: false,
// default: '.xlsx,.xls'
// },
// })
// /** */
const resetForm = () => {
//
formLoading.value = false
uploadRef.value?.clearFiles()
fileList.value = []
}
// /** */
const open = () => {
dialogVisible.value = true
resetForm()
}
defineExpose({ open }) // open
// /** */
// const submitFormError = (): void => {
// ElMessage.error('')
// formLoading.value = false
// }
// /** */
// const handleExceed = (): void => {
// ElMessage.error('')
// }
// /** */
// const importTemplate = () => {
// // todo
// // downloadByData(res.data,route.meta.title+'.xlsx')
// // const res = importTemplateData.value.templateUrl
// // download.excel(res, importTemplateData.value.templateTitle)
// }
// /** */
// const submitForm = async () => {
// if (fileList.value.length == 0) {
// ElMessage.error('')
// return
// }
// file.value = fileList.value[0].name
// //
// uploadHeaders.value = {
// Authorization: 'Bearer ' + getAccessToken(),
// 'tenant-id': getTenantId()
// }
// formLoading.value = true
// uploadRef.value!.submit()
// }
// /** */
// const emits = defineEmits(['success'])
// const submitFormSuccess = (response: any) => {
// formLoading.value = true
// if (response) {
// if (response.code == 500) {
// uploadRef.value!.clearFiles()
// ElMessage.error('')
// formLoading.value = false
// return
// } else if (response.code == 0) {
// if (response.data.errorCount > 0) {
// ElMessage.confirm('').then(async () => {
// // todo:
// window.open(
// getJmreportBaseUrl() + response.data.errorFile,
// 'TITLE'
// )
// })
// } else {
// ElMessage.success('')
// }
// }else if(response.data == null){
// ElMessage.error(response.msg)
// }
// }
// //
// formLoading.value = false
// emits('success')
// dialogVisible.value = false
// }
</script>

4
Web/src/settings.js

@ -1,5 +1,7 @@
const mode = import.meta.env.MODE
const _title = mode == 'prod' ? systemConfig.title : 'EQI接口'
export default {
title: 'Vue Admin Template',
title: _title,
/**
* @type {boolean} true | false

2
Web/src/styles/element-ui.scss

@ -46,7 +46,7 @@
margin: var(--el-dialog-margin-top,15vh) auto 0px;
header {
background: var(--el-color-primary);
// background: var(--el-color-primary);
color: #fff;
padding: 10px;

6
Web/src/utils/request.js

@ -1,8 +1,12 @@
import axios from 'axios'
import { ElMessage } from 'element-plus'
import store from '@/stores'
const mode = import.meta.env.MODE
console.log('mode',mode)
const app_base_api = import.meta.env.VITE_API_BASE_URL
if(mode == 'prod'){
app_base_api = systemConfig.baseUrl
}
// create an axios instance
const service = axios.create({
baseURL: app_base_api, // url = base url + request url

3
Web/src/views/system/login/index.vue

@ -9,7 +9,7 @@
label-position="left"
>
<div class="title-container">
<h3 class="title">XXX 系统登录</h3>
<h3 class="title">{{defaultSettings.title}} 系统登录</h3>
</div>
<el-form-item prop="userName">
@ -106,6 +106,7 @@ const router = useRouter()
import store from '@/stores'
const userStore = store.userStore()
import tenantDialog from './components/tenantDialog.vue'
import defaultSettings from '@/settings'
const route = useRoute()

Loading…
Cancel
Save