Merge branch 'master' into dev
Showing
10 changed files
with
97 additions
and
23 deletions
| ... | @@ -10,6 +10,7 @@ | ... | @@ -10,6 +10,7 @@ |
| 10 | "preview": "vite preview" | 10 | "preview": "vite preview" |
| 11 | }, | 11 | }, |
| 12 | "dependencies": { | 12 | "dependencies": { |
| 13 | "sortablejs": "^1.15.6", | ||
| 13 | "@element-plus/icons-vue": "2.0.10", | 14 | "@element-plus/icons-vue": "2.0.10", |
| 14 | "@vueup/vue-quill": "1.2.0", | 15 | "@vueup/vue-quill": "1.2.0", |
| 15 | "@vueuse/core": "9.5.0", | 16 | "@vueuse/core": "9.5.0", | ... | ... |
| ... | @@ -25,8 +25,20 @@ | ... | @@ -25,8 +25,20 @@ |
| 25 | 的文件 | 25 | 的文件 |
| 26 | </div> | 26 | </div> |
| 27 | <!-- 文件列表 --> | 27 | <!-- 文件列表 --> |
| 28 | <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul"> | 28 | <transition-group |
| 29 | <li :key="file.uid" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in fileList"> | 29 | class="upload-file-list el-upload-list el-upload-list--text" |
| 30 | name="el-fade-in-linear" | ||
| 31 | tag="ul" | ||
| 32 | ref="fileListWrapper" | ||
| 33 | @update="handleSortUpdate" | ||
| 34 | > | ||
| 35 | <li | ||
| 36 | :key="file.uid" | ||
| 37 | class="el-upload-list__item ele-upload-list__item-content draggable" | ||
| 38 | v-for="(file, index) in fileList" | ||
| 39 | :draggable="true" | ||
| 40 | :title="limit > 1 ? '可拖动文件进行调序' : ''" | ||
| 41 | > | ||
| 30 | <el-link :href="`${file.url}`" :underline="false" target="_blank"> | 42 | <el-link :href="`${file.url}`" :underline="false" target="_blank"> |
| 31 | <span class="el-icon-document"> {{ getFileName(file.name) }} </span> | 43 | <span class="el-icon-document"> {{ getFileName(file.name) }} </span> |
| 32 | </el-link> | 44 | </el-link> |
| ... | @@ -41,6 +53,7 @@ | ... | @@ -41,6 +53,7 @@ |
| 41 | <script setup> | 53 | <script setup> |
| 42 | import { getToken } from "@/utils/auth"; | 54 | import { getToken } from "@/utils/auth"; |
| 43 | import { listByIds, delOss } from "@/api/system/oss"; | 55 | import { listByIds, delOss } from "@/api/system/oss"; |
| 56 | import Sortable from 'sortablejs'; | ||
| 44 | 57 | ||
| 45 | const props = defineProps({ | 58 | const props = defineProps({ |
| 46 | modelValue: [String, Object, Array], | 59 | modelValue: [String, Object, Array], |
| ... | @@ -70,13 +83,43 @@ const { proxy } = getCurrentInstance(); | ... | @@ -70,13 +83,43 @@ const { proxy } = getCurrentInstance(); |
| 70 | const emit = defineEmits(); | 83 | const emit = defineEmits(); |
| 71 | const number = ref(0); | 84 | const number = ref(0); |
| 72 | const uploadList = ref([]); | 85 | const uploadList = ref([]); |
| 73 | const baseUrl = import.meta.env.VITE_APP_BASE_API; | 86 | const baseUrl = import.meta.env.VITE_APP_BASE_API || ''; |
| 74 | const uploadFileUrl = ref(baseUrl + "/system/oss/upload"); // 上传文件服务器地址 | 87 | const uploadFileUrl = ref(baseUrl + "/system/oss/upload"); // 上传文件服务器地址 |
| 75 | const headers = ref({ Authorization: "Bearer " + getToken() }); | 88 | const headers = ref({ Authorization: "Bearer " + getToken() }); |
| 76 | const fileList = ref([]); | 89 | const fileList = ref([]); |
| 77 | const showTip = computed( | 90 | const showTip = computed( |
| 78 | () => props.isShowTip && (props.fileType || props.fileSize) | 91 | () => props.isShowTip && (props.fileType || props.fileSize) |
| 79 | ); | 92 | ); |
| 93 | // 初始化拖拽排序 | ||
| 94 | onMounted(() => { | ||
| 95 | const el = proxy.$refs.fileListWrapper.$el; // 确保transition-group添加ref="fileListWrapper" | ||
| 96 | if (el) { | ||
| 97 | new Sortable(el, { | ||
| 98 | animation: 150, // 过渡动画时长 | ||
| 99 | draggable: '.draggable', // 可拖拽的元素 | ||
| 100 | onUpdate: (evt) => { | ||
| 101 | // 拖拽结束时更新列表顺序 | ||
| 102 | const oldIndex = evt.oldIndex; | ||
| 103 | const newIndex = evt.newIndex; | ||
| 104 | |||
| 105 | // 移动元素位置 | ||
| 106 | fileList.value.splice(newIndex, 0, fileList.value.splice(oldIndex, 1)[0]); | ||
| 107 | |||
| 108 | // 触发排序更新事件 | ||
| 109 | handleSortUpdate(); | ||
| 110 | } | ||
| 111 | }); | ||
| 112 | } | ||
| 113 | }); | ||
| 114 | // 排序更新处理 | ||
| 115 | function handleSortUpdate() { | ||
| 116 | // 更新父组件modelValue | ||
| 117 | emit("update:modelValue", listToString(fileList.value)); | ||
| 118 | |||
| 119 | // 输出排序后的列表(可选) | ||
| 120 | console.log('排序后的文件列表:', fileList.value); | ||
| 121 | } | ||
| 122 | |||
| 80 | 123 | ||
| 81 | watch(() => props.modelValue, async val => { | 124 | watch(() => props.modelValue, async val => { |
| 82 | if (val) { | 125 | if (val) { |
| ... | @@ -216,4 +259,7 @@ function listToString(list, separator) { | ... | @@ -216,4 +259,7 @@ function listToString(list, separator) { |
| 216 | .ele-upload-list__item-content-action .el-link { | 259 | .ele-upload-list__item-content-action .el-link { |
| 217 | margin-right: 10px; | 260 | margin-right: 10px; |
| 218 | } | 261 | } |
| 262 | .draggable { | ||
| 263 | cursor: move; | ||
| 264 | } | ||
| 219 | </style> | 265 | </style> | ... | ... |
| ... | @@ -59,7 +59,7 @@ const props = defineProps({ | ... | @@ -59,7 +59,7 @@ const props = defineProps({ |
| 59 | // 大小限制(MB) | 59 | // 大小限制(MB) |
| 60 | fileSize: { | 60 | fileSize: { |
| 61 | type: Number, | 61 | type: Number, |
| 62 | default: 5, | 62 | default: 50, |
| 63 | }, | 63 | }, |
| 64 | // 文件类型, 例如['png', 'jpg', 'jpeg'] | 64 | // 文件类型, 例如['png', 'jpg', 'jpeg'] |
| 65 | fileType: { | 65 | fileType: { | ... | ... |
| ... | @@ -82,6 +82,7 @@ export default { | ... | @@ -82,6 +82,7 @@ export default { |
| 82 | blockName: '系列名称', | 82 | blockName: '系列名称', |
| 83 | buildName: '搭建', | 83 | buildName: '搭建', |
| 84 | caseName: '有无案例', | 84 | caseName: '有无案例', |
| 85 | packName: '是否打包', | ||
| 85 | tableControlsName: '操作', | 86 | tableControlsName: '操作', |
| 86 | controlsDelName: '删除', | 87 | controlsDelName: '删除', |
| 87 | controlsEditName: '编辑', | 88 | controlsEditName: '编辑', |
| ... | @@ -92,12 +93,13 @@ export default { | ... | @@ -92,12 +93,13 @@ export default { |
| 92 | dialogTitleEdit: '修改', | 93 | dialogTitleEdit: '修改', |
| 93 | dialogName: '课程名称', | 94 | dialogName: '课程名称', |
| 94 | dialogBlock: '系列', | 95 | dialogBlock: '系列', |
| 96 | dialogPack: '是否打包', | ||
| 95 | dialogTypes: '搭建类型', | 97 | dialogTypes: '搭建类型', |
| 96 | dialogTwoD: '2D', | 98 | dialogTwoD: '2D', |
| 97 | dialogThreeD: '3D', | 99 | dialogThreeD: '3D', |
| 98 | dialogCase: '案例', | 100 | dialogCase: '视频', |
| 99 | dialogTeaching: '教案', | 101 | dialogTeaching: '教案', |
| 100 | dialogPpt: 'PPT', | 102 | dialogPpt: '课程', |
| 101 | dialogPhoto: '课程图片', | 103 | dialogPhoto: '课程图片', |
| 102 | dialogConfim: '确认', | 104 | dialogConfim: '确认', |
| 103 | dialogExit: '退出', | 105 | dialogExit: '退出', | ... | ... |
| ... | @@ -162,7 +162,6 @@ | ... | @@ -162,7 +162,6 @@ |
| 162 | <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> | 162 | <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> |
| 163 | <el-upload | 163 | <el-upload |
| 164 | ref="uploadRef" | 164 | ref="uploadRef" |
| 165 | :limit="1" | ||
| 166 | accept=".xlsx, .xls" | 165 | accept=".xlsx, .xls" |
| 167 | :headers="upload.headers" | 166 | :headers="upload.headers" |
| 168 | :action="upload.url + '?updateSupport=' + upload.updateSupport" | 167 | :action="upload.url + '?updateSupport=' + upload.updateSupport" | ... | ... |
| ... | @@ -100,7 +100,7 @@ | ... | @@ -100,7 +100,7 @@ |
| 100 | </el-select> | 100 | </el-select> |
| 101 | </el-form-item> | 101 | </el-form-item> |
| 102 | <el-form-item :label="$t('advertisement.tablePhotoName')" label-width="80"> | 102 | <el-form-item :label="$t('advertisement.tablePhotoName')" label-width="80"> |
| 103 | <imageUpload v-model="showForm.form.ossId" :limit='1' :fileType='["png", "jpg", "jpeg", "ico"]'/> | 103 | <imageUpload v-model="showForm.form.ossId" :limit='1' :fileType='["png", "jpg", "jpeg", "ico","mp4"]'/> |
| 104 | </el-form-item> | 104 | </el-form-item> |
| 105 | <el-form-item :label="$t('advertisement.tableSortName')" label-width="80"> | 105 | <el-form-item :label="$t('advertisement.tableSortName')" label-width="80"> |
| 106 | <el-input-number v-model="showForm.form.sort" controls-position="right" :min="0" /> | 106 | <el-input-number v-model="showForm.form.sort" controls-position="right" :min="0" /> | ... | ... |
| ... | @@ -44,6 +44,14 @@ | ... | @@ -44,6 +44,14 @@ |
| 44 | <el-table-column :label="$t('course.blockName')" prop="buildingBlockName" /> | 44 | <el-table-column :label="$t('course.blockName')" prop="buildingBlockName" /> |
| 45 | <el-table-column :label="$t('course.buildName')" prop="type" /> | 45 | <el-table-column :label="$t('course.buildName')" prop="type" /> |
| 46 | <el-table-column :label="$t('course.caseName')" prop="caseName" /> | 46 | <el-table-column :label="$t('course.caseName')" prop="caseName" /> |
| 47 | <el-table-column :label="$t('course.packName')" prop="canPack"> | ||
| 48 | <template #default="{ row }"> | ||
| 49 | <dict-tag | ||
| 50 | :options="constrain_status" | ||
| 51 | :value="row.canPack" | ||
| 52 | ></dict-tag> | ||
| 53 | </template> | ||
| 54 | </el-table-column> | ||
| 47 | <el-table-column :label="$t('course.tableControlsName')" class-name="small-padding fixed-width"> | 55 | <el-table-column :label="$t('course.tableControlsName')" class-name="small-padding fixed-width"> |
| 48 | <template #default="{ row }"> | 56 | <template #default="{ row }"> |
| 49 | <el-button | 57 | <el-button |
| ... | @@ -82,6 +90,21 @@ | ... | @@ -82,6 +90,21 @@ |
| 82 | style="width: 180px;" | 90 | style="width: 180px;" |
| 83 | /> | 91 | /> |
| 84 | </el-form-item> | 92 | </el-form-item> |
| 93 | <el-form-item :label="$t('course.dialogPack')" prop="canPack" label-width="80"> | ||
| 94 | <el-select | ||
| 95 | v-model="showForm.form.canPack" | ||
| 96 | placeholder="请选择是否打包" | ||
| 97 | closeabled | ||
| 98 | style="width: 180px;" | ||
| 99 | > | ||
| 100 | <el-option | ||
| 101 | v-for="item in constrain_status" | ||
| 102 | :key="item.value" | ||
| 103 | :label="item.label" | ||
| 104 | :value="item.value" | ||
| 105 | /> | ||
| 106 | </el-select> | ||
| 107 | </el-form-item> | ||
| 85 | <el-form-item :label="$t('course.dialogTypes')" prop="type" label-width="80"> | 108 | <el-form-item :label="$t('course.dialogTypes')" prop="type" label-width="80"> |
| 86 | <el-checkbox-group v-model="showForm.form.type"> | 109 | <el-checkbox-group v-model="showForm.form.type"> |
| 87 | <div style="display: flex;align-items: center;"> | 110 | <div style="display: flex;align-items: center;"> |
| ... | @@ -93,8 +116,8 @@ | ... | @@ -93,8 +116,8 @@ |
| 93 | <el-form-item v-if="determineStatus('2D')" :label="$t('course.dialogTwoD')" label-width="80"> | 116 | <el-form-item v-if="determineStatus('2D')" :label="$t('course.dialogTwoD')" label-width="80"> |
| 94 | <template v-if="true"> | 117 | <template v-if="true"> |
| 95 | <imageUpload v-model="showForm.form.twoDimensionalOssId" :limit='10' :fileType='["png", "jpg", "jpeg", "ico"]'/> | 118 | <imageUpload v-model="showForm.form.twoDimensionalOssId" :limit='10' :fileType='["png", "jpg", "jpeg", "ico"]'/> |
| 96 | <fileUpload v-model="showForm.form.twoDimensionalUrl" :limit="1" :fileType='["ldr","png","jpg","jpeg","ico","json","pdf"]'/> | 119 | <fileUpload v-model="showForm.form.twoDimensionalUrl" :fileType='["ldr","png","jpg","jpeg","ico","json","pdf","mp4"]'/> |
| 97 | <fileUpload v-model="showForm.form.twoDimensionalType" :limit="1" :fileType='["ldr","png","jpg","jpeg","ico","json","pdf"]'/> | 120 | <fileUpload v-model="showForm.form.twoDimensionalType" :fileType='["ldr","png","jpg","jpeg","ico","json","pdf","mp4"]'/> |
| 98 | </template> | 121 | </template> |
| 99 | <template v-else> | 122 | <template v-else> |
| 100 | <el-input v-model="showForm.form.twoDimensionalUrl" placeholder="请输入链接URL" /> | 123 | <el-input v-model="showForm.form.twoDimensionalUrl" placeholder="请输入链接URL" /> |
| ... | @@ -103,21 +126,21 @@ | ... | @@ -103,21 +126,21 @@ |
| 103 | <el-form-item v-if="determineStatus('3D')" :label="$t('course.dialogThreeD')" label-width="80"> | 126 | <el-form-item v-if="determineStatus('3D')" :label="$t('course.dialogThreeD')" label-width="80"> |
| 104 | <template v-if="true"> | 127 | <template v-if="true"> |
| 105 | <imageUpload v-model="showForm.form.threeDimensionalOssId" :limit='10' :fileType='["png", "jpg", "jpeg", "ico"]'/> | 128 | <imageUpload v-model="showForm.form.threeDimensionalOssId" :limit='10' :fileType='["png", "jpg", "jpeg", "ico"]'/> |
| 106 | <fileUpload v-model="showForm.form.threeDimensionalUrl" :limit="1" :fileType='["ldr","ldr.json"]'/> | 129 | <fileUpload v-model="showForm.form.threeDimensionalUrl" :fileType='["ldr"]'/><!--ldr.json--> |
| 107 | <fileUpload v-model="showForm.form.threeDimensionalType" :limit="1" :fileType='["ldr","ldr.json"]'/> | 130 | <fileUpload v-model="showForm.form.threeDimensionalType" :fileType='["json"]'/> |
| 108 | </template> | 131 | </template> |
| 109 | <template v-else> | 132 | <template v-else> |
| 110 | <el-input v-model="showForm.form.threeDimensionalUrl" placeholder="请输入链接URL" /> | 133 | <el-input v-model="showForm.form.threeDimensionalUrl" placeholder="请输入链接URL" /> |
| 111 | </template> | 134 | </template> |
| 112 | </el-form-item> | 135 | </el-form-item> |
| 113 | <el-form-item :label="$t('course.dialogCase')" prop="caseOssId" label-width="80"> | 136 | <el-form-item :label="$t('course.dialogCase')" prop="caseOssId" label-width="80"> |
| 114 | <fileUpload v-model="showForm.form.caseOssId" :limit="1" :fileType='["mp4", "avi", "mov", "flv"]'/> | 137 | <fileUpload v-model="showForm.form.caseOssId" :limit="10" :fileType='["mp4", "avi", "mov", "flv","pdf"]'/> |
| 115 | </el-form-item> | 138 | </el-form-item> |
| 116 | <el-form-item :label="$t('course.dialogTeaching')" label-width="80"> | 139 | <el-form-item :label="$t('course.dialogTeaching')" label-width="80"> |
| 117 | <fileUpload v-model="showForm.form.teachingOssId" :limit="1" :fileType='["pdf"]'/> | 140 | <fileUpload v-model="showForm.form.teachingOssId" :limit="10" :fileType='["pdf","mp4"]'/> |
| 118 | </el-form-item> | 141 | </el-form-item> |
| 119 | <el-form-item :label="$t('course.dialogPpt')" label-width="80"> | 142 | <el-form-item :label="$t('course.dialogPpt')" label-width="80"> |
| 120 | <fileUpload v-model="showForm.form.pptOssId" :limit="1" :fileType='["pdf","ppt","pptx"]'/> | 143 | <fileUpload v-model="showForm.form.pptOssId" :limit="10" :fileType='["pdf","mp4"]'/> |
| 121 | </el-form-item> | 144 | </el-form-item> |
| 122 | <el-form-item :label="$t('course.dialogPhoto')" prop="ossId" label-width="80"> | 145 | <el-form-item :label="$t('course.dialogPhoto')" prop="ossId" label-width="80"> |
| 123 | <imageUpload v-model="showForm.form.ossId" :limit='1' :fileType='["png", "jpg", "jpeg", "ico"]'/> | 146 | <imageUpload v-model="showForm.form.ossId" :limit='1' :fileType='["png", "jpg", "jpeg", "ico"]'/> |
| ... | @@ -144,7 +167,7 @@ const { windowSize } = useTableHeight('max-height') | ... | @@ -144,7 +167,7 @@ const { windowSize } = useTableHeight('max-height') |
| 144 | 167 | ||
| 145 | // 导入字典 | 168 | // 导入字典 |
| 146 | const { proxy } = getCurrentInstance(); | 169 | const { proxy } = getCurrentInstance(); |
| 147 | const { dimensional_type } = proxy.useDict("dimensional_type"); | 170 | const { dimensional_type, constrain_status} = proxy.useDict("dimensional_type", "constrain_status"); |
| 148 | 171 | ||
| 149 | const props = { | 172 | const props = { |
| 150 | label: 'name', | 173 | label: 'name', |
| ... | @@ -168,13 +191,12 @@ const data = reactive({ | ... | @@ -168,13 +191,12 @@ const data = reactive({ |
| 168 | title: '', | 191 | title: '', |
| 169 | open: false, | 192 | open: false, |
| 170 | form: { | 193 | form: { |
| 171 | 194 | ||
| 172 | } | 195 | } |
| 173 | }, | 196 | }, |
| 174 | rules: { | 197 | rules: { |
| 175 | name: [{ required: true, message: "课程名称不能为空", trigger: "blur" }], | 198 | name: [{ required: true, message: "课程名称不能为空", trigger: "blur" }], |
| 176 | buildingBlockId: [{ required: true, message: "系列不能为空", trigger: "blur" }], | 199 | buildingBlockId: [{ required: true, message: "系列不能为空", trigger: "blur" }], |
| 177 | type: [{ required: true, message: "搭建类型不能为空", trigger: "blur" }], | ||
| 178 | caseOssId: [{ required: true, message: "案例不能为空", trigger: "blur" }], | 200 | caseOssId: [{ required: true, message: "案例不能为空", trigger: "blur" }], |
| 179 | ossId: [{ required: true, message: "课程图片不能为空", trigger: "blur" }] | 201 | ossId: [{ required: true, message: "课程图片不能为空", trigger: "blur" }] |
| 180 | } | 202 | } |
| ... | @@ -232,9 +254,11 @@ function handleEdit (row) { | ... | @@ -232,9 +254,11 @@ function handleEdit (row) { |
| 232 | open: true, | 254 | open: true, |
| 233 | form: { | 255 | form: { |
| 234 | ...row, | 256 | ...row, |
| 235 | type: row.type.split('、') | 257 | type: row.type.split('、'), |
| 258 | canPack: row.canPack ? String(row.canPack) : '0' // 将数字转换为字符串 | ||
| 236 | } | 259 | } |
| 237 | } | 260 | } |
| 261 | console.log('编辑表单数据:', showForm.value.form) // 添加日志查看数据 | ||
| 238 | } | 262 | } |
| 239 | 263 | ||
| 240 | function btn_add () { | 264 | function btn_add () { |
| ... | @@ -242,7 +266,10 @@ function btn_add () { | ... | @@ -242,7 +266,10 @@ function btn_add () { |
| 242 | showForm.value.title = proxy.$t('advertisement.dialogTitleAdd') | 266 | showForm.value.title = proxy.$t('advertisement.dialogTitleAdd') |
| 243 | showForm.value = { | 267 | showForm.value = { |
| 244 | ...showForm.value, | 268 | ...showForm.value, |
| 245 | open: true | 269 | open: true, |
| 270 | form: { | ||
| 271 | canPack: '0' // 设置默认值 | ||
| 272 | } | ||
| 246 | } | 273 | } |
| 247 | } | 274 | } |
| 248 | 275 | ... | ... |
| ... | @@ -101,7 +101,7 @@ | ... | @@ -101,7 +101,7 @@ |
| 101 | <imageUpload v-model="showForm.form.coverOssId" :limit="1" :fileType='["png", "jpg", "jpeg", "ico"]'/> | 101 | <imageUpload v-model="showForm.form.coverOssId" :limit="1" :fileType='["png", "jpg", "jpeg", "ico"]'/> |
| 102 | </el-form-item> | 102 | </el-form-item> |
| 103 | <el-form-item :label="$t('problem.dialogMovie')" label-width="80"> | 103 | <el-form-item :label="$t('problem.dialogMovie')" label-width="80"> |
| 104 | <fileUpload v-model="showForm.form.videoOssId" :limit="1" :fileType='["mp4", "avi", "mov", "flv"]'/> | 104 | <fileUpload v-model="showForm.form.videoOssId" :fileType='["mp4", "avi", "mov", "flv"]'/> |
| 105 | </el-form-item> | 105 | </el-form-item> |
| 106 | <el-form-item :label="$t('problem.dialogSort')" label-width="80"> | 106 | <el-form-item :label="$t('problem.dialogSort')" label-width="80"> |
| 107 | <el-input-number v-model="showForm.form.sort" controls-position="right" :min="0" /> | 107 | <el-input-number v-model="showForm.form.sort" controls-position="right" :min="0" /> | ... | ... |
| ... | @@ -131,7 +131,7 @@ | ... | @@ -131,7 +131,7 @@ |
| 131 | <el-dialog :title="showForm.title" v-model="showForm.open" width="500px" append-to-body @close="closeDialog"> | 131 | <el-dialog :title="showForm.title" v-model="showForm.open" width="500px" append-to-body @close="closeDialog"> |
| 132 | <el-form ref="tableRefs" :model="showForm.form" :rules="rules" label-width="100"> | 132 | <el-form ref="tableRefs" :model="showForm.form" :rules="rules" label-width="100"> |
| 133 | <el-form-item :label="$t('upgradation.dialogFile')" > | 133 | <el-form-item :label="$t('upgradation.dialogFile')" > |
| 134 | <fileUpload v-model="showForm.form.fileOssId" :fileSize="20" :limit="1" :fileType='["apk", "bin", "ppd", "exe"]'/> | 134 | <fileUpload v-model="showForm.form.fileOssId" :fileSize="20" :fileType='["apk", "bin", "ppd", "exe"]'/> |
| 135 | </el-form-item> | 135 | </el-form-item> |
| 136 | <el-form-item :label="$t('upgradation.dialogFileUrl')"> | 136 | <el-form-item :label="$t('upgradation.dialogFileUrl')"> |
| 137 | <el-input v-model="showForm.form.fileUrl" placeholder="请输入链接URL" /> | 137 | <el-input v-model="showForm.form.fileUrl" placeholder="请输入链接URL" /> | ... | ... |
| ... | @@ -379,7 +379,6 @@ | ... | @@ -379,7 +379,6 @@ |
| 379 | width="400px" | 379 | width="400px" |
| 380 | append-to-body> | 380 | append-to-body> |
| 381 | <el-upload ref="uploadRef" | 381 | <el-upload ref="uploadRef" |
| 382 | :limit="1" | ||
| 383 | accept=".xlsx, .xls" | 382 | accept=".xlsx, .xls" |
| 384 | :headers="upload.headers" | 383 | :headers="upload.headers" |
| 385 | :action="upload.url + '?updateSupport=' + upload.updateSupport" | 384 | :action="upload.url + '?updateSupport=' + upload.updateSupport" | ... | ... |
-
Please register or sign in to post a comment