Browse Source

上传文件

ZaiZai 11 months ago
parent
commit
02ef60f94b

+ 17 - 42
src/views/certificate/modules/list/form.vue

@@ -73,7 +73,7 @@
                                 </div>
                             </div>
                         </template>
-                        <hc-form-upload num="1" :src="formModel.certificateFileUrl" @upload="certificateFileUpload" @change="certificateFileChange" />
+                        <hc-form-upload v-model="formModel.certificateFileUrl" :upload="{ options: certificateOptions }" />
                     </el-form-item>
                     <el-form-item label="签名体文件:" prop="signatureFileUrl">
                         <template #label>
@@ -87,7 +87,7 @@
                                 </div>
                             </div>
                         </template>
-                        <hc-form-upload type="preview" num="1" :src="formModel.signatureFileUrl" @upload="signatureFileUpload" @change="signatureFileChange" />
+                        <hc-form-upload v-model="formModel.signatureFileUrl" :options="{ type: 'preview' }" :upload="{ options: signatureOptions }" />
                     </el-form-item>
                 </el-col>
                 <el-col v-if="formModel.certificateType === 2" :span="24">
@@ -103,17 +103,13 @@
                 <el-button hc-btn type="primary" :loading="submitLoading" @click="submitClick">提交</el-button>
             </div>
         </template>
-
-        <!-- 上传文件 -->
-        <hc-upload-file ref="uploadRef" :echo-params="uploadParams" :options="uploadOptions" @success="uploadSuccess" />
     </hc-card>
 </template>
 
 <script setup>
 import { nextTick, onMounted, ref } from 'vue'
-import { getHeader } from 'hc-vue3-ui'
 import { deepClone, formValidate, getArrValue, getObjValue, isNullES } from 'js-fast-way'
-import { getDictionaryData, reloadPage } from '~uti/tools'
+import { getDictionaryData } from '~uti/tools'
 import mainApi from '~api/certificate/list'
 
 const props = defineProps({
@@ -267,45 +263,26 @@ const certificateTypeChange = () => {
     }
 }
 
-//上传文件
-const uploadRef = ref(null)
-const uploadParams = ref({})
-const uploadOptions = ref({
+//证书文件上传配置
+const certificateOptions = {
     url: '/api/blade-resource/client/addFileInfo',
-    headers: getHeader(),
+    accept: '.pfx',
+    accept_tip: '支持上传文件格式为pfx文件',
     multiple: false,
-})
-
-//上传证书文件
-const certificateFileUpload = () => {
-    uploadParams.value = { type: '证书文件' }
-    uploadOptions.value.accept = '.pfx'
-    uploadOptions.value.accept_tip = '支持上传文件格式为pfx文件'
-    uploadOptions.value.size = 200
-    nextTick(() => {
-        uploadRef.value?.selectFile()
-    })
-}
-const certificateFileChange = (val) => {
-    formModel.value.certificateFileUrl = val
+    size: 200,
 }
 
-//上传签名体文件
-const signatureFileUpload = () => {
-    uploadParams.value = { type: '签名体文件' }
-    uploadOptions.value.accept = '.jpg,.png'
-    uploadOptions.value.accept_tip = '支持上传文件格式为JPG/PNG'
-    uploadOptions.value.size = 200
-    nextTick(() => {
-        uploadRef.value?.selectFile()
-    })
-}
-const signatureFileChange = (val) => {
-    formModel.value.signatureFileUrl = val
+//签名体文件上传配置
+const signatureOptions = {
+    url: '/api/blade-resource/client/addFileInfo',
+    accept: '.jpg,.png',
+    accept_tip: '支持上传文件格式为JPG/PNG',
+    multiple: false,
+    size: 200,
 }
 
 // 文件上传成功的回调
-const uploadSuccess = ({ echoParams, resData }) => {
+/*const uploadSuccess = ({ echoParams, resData }) => {
     const { link, originalName } = getObjValue(resData)
     if (echoParams.type === '证书文件') {
         formModel.value.certificateFileUrl = link
@@ -314,9 +291,7 @@ const uploadSuccess = ({ echoParams, resData }) => {
         formModel.value.signatureFileUrl = link
         formModel.value.signatureFileName = originalName
     }
-    //关闭弹窗
-    uploadRef.value?.setModalShow(false)
-}
+}*/
 
 //提交数据
 const submitLoading = ref(false)

+ 4 - 25
src/views/resource/attach.vue

@@ -24,7 +24,7 @@
         </template>
         <hc-table
             :column="tableColumn" :datas="tableData" :loading="tableLoading"
-            :is-index="false"  is-check :check-style="{ width: 29 }"
+            :is-index="false" is-check :check-style="{ width: 29 }"
             @selection-change="tableCheckChange"
         >
             <template #attachSize="{ row }">{{ getRowFilterSize(row) }}</template>
@@ -39,17 +39,14 @@
 
         <!-- 上传文件 -->
         <hc-dialog v-model="isUploadShow" widths="460px" :footer="false" title="上传文件" @close="uploadClose">
-            <hc-form-upload type="list" :src="uploadFileSrc" @upload="uploadItemUpload" @change="uploadItemChange" />
+            <hc-form-upload v-model="uploadFileSrc" :options="{ type: 'list' }" :upload="{ options: uploadFileConfig }" />
         </hc-dialog>
-
-        <!-- 上传文件组件 -->
-        <hc-upload-file ref="uploadFileRef" :options="uploadFileConfig" @success="uploadFileSuccess" @error="uploadFileError" />
     </hc-card>
 </template>
 
 <script setup>
 import { onActivated, ref } from 'vue'
-import { HcDelMsg, getHeader } from 'hc-vue3-ui'
+import { HcDelMsg } from 'hc-vue3-ui'
 import { arrToId, filterSize, getArrValue } from 'js-fast-way'
 import mainApi from '~api/resource/attach'
 
@@ -122,14 +119,13 @@ const tableCheckChange = (rows) => {
 }
 
 //上传文件
-const uploadFileRef = ref(null)
 const uploadFileSrc = ref('')
 const uploadFileConfig = {
     url: '/api/blade-resource/oss/endpoint/put-file-attach',
-    headers: getHeader(),
     accept: '*',
     accept_tip: '不限制',
     size: 1024,
+    num: 0,
     multiple: true,
 }
 
@@ -138,29 +134,12 @@ const isUploadShow = ref(false)
 const addUploadClick = () => {
     isUploadShow.value = true
 }
-const uploadItemUpload = () => {
-    uploadFileRef.value?.selectFile()
-}
-const uploadItemChange = (src) => {
-    uploadFileSrc.value = src
-}
-
-//文件上传成功
-const uploadFileSuccess = () => {
-    window.$message.success('上传成功')
-    getTableData()
-}
-//文件上传失败
-const uploadFileError = () => {
-    window.$message.error('上传失败')
-}
 
 //关闭上传
 const uploadClose = () => {
     isUploadShow.value = false
 }
 
-
 //删除
 const delRowClick = async ({ item }, resolve)=> {
     const { code, msg } = await mainApi.del(item.id)

+ 16 - 37
src/views/system/app.vue

@@ -8,7 +8,7 @@
         <template #extra>
             <el-button hc-btn type="primary" @click="addClick">新增</el-button>
         </template>
-        <hc-table :column="tableColumn" :datas="tableData" :loading="tableLoading"  :index-style="{ width: 60 }">
+        <hc-table :column="tableColumn" :datas="tableData" :loading="tableLoading" :index-style="{ width: 60 }">
             <template #action="{ row }">
                 <el-link type="warning" @click="editRowClick(row)">修改</el-link>
                 <el-link type="primary" @click="updateRowClick(row)">升级</el-link>
@@ -52,7 +52,7 @@
                 <el-button hc-btn type="primary" @click="addUpdateClick">新增版本</el-button>
                 <div class="hc-update-dialog-title">{{ updateDialogTitle }}</div>
             </template>
-            <hc-table :column="tableUpdateColumn" :datas="tableUpdateData" :loading="tableUpdateLoading"  :index-style="{ width: 60 }">
+            <hc-table :column="tableUpdateColumn" :datas="tableUpdateData" :loading="tableUpdateLoading" :index-style="{ width: 60 }">
                 <template #softwareType="{ row }">
                     {{ row.softwareType === 1 ? '安卓' : 'IOS' }}
                 </template>
@@ -80,44 +80,40 @@
                 </el-form-item>
                 <el-form-item label="软件类型:" prop="softwareType">
                     <el-radio-group v-model="formUpdateModel.softwareType">
-                        <el-radio :label="1">安卓</el-radio>
-                        <el-radio :label="2">ios</el-radio>
-                        <el-radio :label="3">win</el-radio>
-                        <el-radio :label="4">mac</el-radio>
+                        <el-radio :value="1">安卓</el-radio>
+                        <el-radio :value="2">ios</el-radio>
+                        <el-radio :value="3">win</el-radio>
+                        <el-radio :value="4">mac</el-radio>
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item v-if="formUpdateModel.softwareType <= 2" label="文件类型:" prop="fileType">
                     <el-radio-group v-model="formUpdateModel.fileType">
-                        <el-radio :label="0">完整安装包</el-radio>
-                        <el-radio :label="1">wgt热更新包</el-radio>
+                        <el-radio :value="0">完整安装包</el-radio>
+                        <el-radio :value="1">wgt热更新包</el-radio>
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item v-if="formUpdateModel.softwareType === 3" label="文件类型:" prop="fileType">
                     <el-radio-group v-model="formUpdateModel.fileType">
-                        <el-radio :label="0">win</el-radio>
-                        <el-radio :label="1">arm</el-radio>
+                        <el-radio :value="0">win</el-radio>
+                        <el-radio :value="1">arm</el-radio>
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item v-if="formUpdateModel.softwareType === 4" label="文件类型:" prop="fileType">
                     <el-radio-group v-model="formUpdateModel.fileType">
-                        <el-radio :label="0">intel</el-radio>
-                        <el-radio :label="1">M系列</el-radio>
+                        <el-radio :value="0">intel</el-radio>
+                        <el-radio :value="1">M系列</el-radio>
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item label="更新内容:" prop="updateContent">
                     <el-input v-model="formUpdateModel.updateContent" :autosize="{ minRows: 4, maxRows: 8 }" type="textarea" placeholder="请输入更新内容" />
                 </el-form-item>
                 <el-form-item label="文件地址:" prop="fileUrl">
-                    <el-input v-model="formUpdateModel.fileUrl" clearable>
-                        <template #append>
-                            <el-button @click="uploadFile">上传文件</el-button>
-                        </template>
-                    </el-input>
+                    <hc-form-upload v-model="formUpdateModel.fileUrl" :upload="{ options: uploadOptions }" />
                 </el-form-item>
                 <el-form-item label="强制更新:" prop="constraintUpdate">
                     <el-radio-group v-model="formUpdateModel.constraintUpdate">
-                        <el-radio :label="1">是</el-radio>
-                        <el-radio :label="0">否</el-radio>
+                        <el-radio :value="1">是</el-radio>
+                        <el-radio :value="0">否</el-radio>
                     </el-radio-group>
                 </el-form-item>
             </el-form>
@@ -126,16 +122,12 @@
                 <el-button hc-btn type="primary" :loading="submitUpdateLoading" @click="dialogUpdateSubmit">提交</el-button>
             </template>
         </hc-dialog>
-
-        <!-- 上传文件 -->
-        <hc-upload-file ref="uploadRef" :options="uploadOptions" @success="uploadSuccess" />
     </hc-card>
 </template>
 
 <script setup>
 import { nextTick, onActivated, ref } from 'vue'
 import { formValidate, getArrValue } from 'js-fast-way'
-import { getHeader } from 'hc-vue3-ui'
 import mainApi from '~api/system/app'
 
 defineOptions({
@@ -430,24 +422,11 @@ const updateDialogClose = () => {
 }
 
 //上传文件
-const uploadRef = ref(null)
-const uploadOptions = ref({
+const uploadOptions = {
     url: '/api/blade-resource/oss/endpoint/put-file2',
     accept: '.apk,.wgt,.exe,.dmg',
     accept_tip: '只能上传apk、wgt、exe、dmg文件',
-    headers: getHeader(),
     multiple: false,
-})
-
-//上传文件
-const uploadFile = () => {
-    uploadRef.value?.selectFile()
-}
-
-// 文件上传成功的回调
-const uploadSuccess = ({ resData }) => {
-    formUpdateModel.value.fileUrl = resData
-    uploadRef.value?.setModalShow(false)
 }
 
 //提交APP升级表单

+ 7 - 43
src/views/system/tenant.vue

@@ -25,7 +25,7 @@
         </template>
         <hc-table
             ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"
-             is-check :check-style="{ width: 29 }" :index-style="{ width: 60 }"
+            is-check :check-style="{ width: 29 }" :index-style="{ width: 60 }"
             @selection-change="tableCheckChange"
         >
             <template #accountNumber="{ row }">
@@ -79,12 +79,12 @@
                     </el-col>
                     <el-col :span="12">
                         <el-form-item label="租户图片(透明黑色图):">
-                            <hc-form-upload type="preview" :src="formModel.tenantAvatar" :num="1" @upload="tenantUpload('avatar')" @change="avatarChange" />
+                            <hc-form-upload v-model="formModel.tenantAvatar" :options="{ type: 'preview' }" :upload="{ options: uploadOptions }" />
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
                         <el-form-item label="租户图片文字(透明黑色图):">
-                            <hc-form-upload type="preview" :src="formModel.tenantAvatarText" :num="1" @upload="tenantUpload('text')" @change="textChange" />
+                            <hc-form-upload v-model="formModel.tenantAvatarText" :options="{ type: 'preview' }" :upload="{ options: uploadOptions }" />
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -106,16 +106,13 @@
 
         <!-- 产品包管理 -->
         <HcPackageData v-model="isPackageDataShow" />
-
-        <!-- 上传文件 -->
-        <hc-upload-file ref="uploadRef" :echo-params="uploadParams" :options="uploadOptions" @success="uploadSuccess" />
     </hc-card>
 </template>
 
 <script setup>
 import { nextTick, onActivated, ref } from 'vue'
 import { arrToId, formValidate, getArrValue } from 'js-fast-way'
-import { HcDelMsg, getHeader } from 'hc-vue3-ui'
+import { HcDelMsg } from 'hc-vue3-ui'
 import HcSettingVue from './modules/tenant/setting.vue'
 import HcDataSource from './modules/tenant/data-source.vue'
 import HcPackageData from './modules/tenant/package-data.vue'
@@ -281,47 +278,14 @@ const delClick = () => {
     })
 }
 
-
 //上传文件
-const uploadRef = ref(null)
-const uploadParams = ref({})
-const uploadOptions = ref({
+const uploadOptions = {
     url: '/api/blade-resource/oss/endpoint/put-file2',
-    accept: 'image/png,image/jpg,image/jpeg',
-    accept_tip: '只能上传:图片(png、jpg、jpeg)',
-    headers: getHeader(),
+    accept: '.png',
+    accept_tip: '只能上传:png格式的图片',
     multiple: false,
-})
-
-//文件上传
-const tenantUpload = (type) => {
-    uploadParams.value = { type: type }
-    nextTick(() => {
-        uploadRef.value?.selectFile()
-    })
-}
-
-//文件改变
-const avatarChange = (file) => {
-    formModel.value.tenantAvatar = file
-}
-const textChange = (file) => {
-    formModel.value.tenantAvatarText = file
 }
 
-
-// 文件上传成功的回调
-const uploadSuccess = ({ echoParams, resData }) => {
-    if (echoParams.type === 'avatar') {
-        formModel.value.tenantAvatar = resData
-    } else if (echoParams.type === 'text') {
-        formModel.value.tenantAvatarText = resData
-    }
-    //关闭弹窗
-    uploadRef.value?.setModalShow(false)
-}
-
-
 //提交表单
 const submitLoading = ref(false)
 const dialogSubmit = async () => {

+ 0 - 8
src/views/user/index.vue

@@ -142,14 +142,6 @@ const formPasswordRules = {
     },
 }
 
-//上传文件
-const uploadOptions = {
-    accept: '.png,.jpg,.jpeg,.gif,.awebp,.webp',
-    accept_tip: '只能上传png/jpg/jpeg/gif/awebp/webp格式的图片文件',
-    multiple: false,
-    size: 30,
-}
-
 //重置
 const resetClick = () => {
     formUserModel.value = deepClone(oldUserInfo.value)