Showing
4 changed files
with
238 additions
and
177 deletions
| 1 | <template> | 1 | <template> |
| 2 | <div class="card"> | 2 | <div class="card"> |
| 3 | <Card :bordered="false" class="card"> | 3 | <Card :bordered="false" class="card"> |
| 4 | - <BasicForm @register="registerForm"> | ||
| 5 | - <template #logoUpload> | ||
| 6 | - <ContentUploadText> | ||
| 7 | - <template #uploadImg> | ||
| 8 | - <Upload | ||
| 9 | - name="avatar" | ||
| 10 | - list-type="picture-card" | ||
| 11 | - class="avatar-uploader" | ||
| 12 | - :show-upload-list="false" | ||
| 13 | - @preview="handlePreview" | ||
| 14 | - :customRequest="customUploadLogoPic" | ||
| 15 | - :before-upload="beforeUploadLogoPic" | ||
| 16 | - > | ||
| 17 | - <img v-if="logoPic" :src="logoPic" alt="avatar" /> | ||
| 18 | - <div v-else> | ||
| 19 | - <Spin v-if="loading" tip="正在上传中..." /> | ||
| 20 | - <PlusOutlined v-else style="font-size: 2.5rem" /> </div | ||
| 21 | - ></Upload> | ||
| 22 | - </template> | ||
| 23 | - <template #uploadText> | ||
| 24 | - <div class="flex justify-center items-center"> | ||
| 25 | - 支持.PNG、.JPG格式,建议尺寸为32*32px,大小不超过500KB | ||
| 26 | - </div> | ||
| 27 | - </template> | ||
| 28 | - </ContentUploadText> | ||
| 29 | - </template> | ||
| 30 | - <template #bgUpload> | ||
| 31 | - <ContentUploadText> | ||
| 32 | - <template #uploadImg> | ||
| 33 | - <Upload | ||
| 34 | - name="avatar" | ||
| 35 | - list-type="picture-card" | ||
| 36 | - class="avatar-uploader" | ||
| 37 | - :show-upload-list="false" | ||
| 38 | - :customRequest="customUploadBgPic" | ||
| 39 | - :before-upload="beforeUploadBgPic" | ||
| 40 | - > | ||
| 41 | - <img v-if="bgPic" :src="bgPic" alt="avatar" /> | ||
| 42 | - <div v-else> | ||
| 43 | - <Spin v-if="loading1" tip="正在上传中..." /> | ||
| 44 | - <PlusOutlined v-else style="font-size: 2.5rem" /> </div | ||
| 45 | - ></Upload> | ||
| 46 | - </template> | ||
| 47 | - <template #uploadText> | ||
| 48 | - <div class="flex justify-center items-center"> | ||
| 49 | - 支持.PNG、.JPG格式,建议尺寸为1920*1080px,大小不超过2M | ||
| 50 | - </div> | ||
| 51 | - </template> | ||
| 52 | - </ContentUploadText> | ||
| 53 | - </template> | ||
| 54 | - <template #colorInput="{ model, field }" | ||
| 55 | - ><Input disabled v-model:value="model[field]"> | ||
| 56 | - <template #prefix> <input type="color" v-model="model[field]" /> </template | ||
| 57 | - ></Input> | ||
| 58 | - </template> | 4 | + <div style="margin-left: -40px"> |
| 5 | + <BasicForm @register="registerForm"> | ||
| 6 | + <template #logoUpload> | ||
| 7 | + <ContentUploadText> | ||
| 8 | + <template #uploadImg> | ||
| 9 | + <Upload | ||
| 10 | + name="avatar" | ||
| 11 | + list-type="picture-card" | ||
| 12 | + class="avatar-uploader" | ||
| 13 | + :show-upload-list="false" | ||
| 14 | + @preview="handlePreview" | ||
| 15 | + :customRequest="customUploadLogoPic" | ||
| 16 | + :before-upload="beforeUploadLogoPic" | ||
| 17 | + > | ||
| 18 | + <img v-if="logoPic" class="fill-img" :src="logoPic" alt="avatar" /> | ||
| 19 | + <div v-else> | ||
| 20 | + <Spin v-if="loading" tip="正在上传中..." /> | ||
| 21 | + <PlusOutlined v-else /> | ||
| 22 | + <div class="ant-upload-text">上传</div> | ||
| 23 | + </div> | ||
| 24 | + </Upload> | ||
| 25 | + </template> | ||
| 26 | + <template #uploadText> | ||
| 27 | + <div class="box-outline"> | ||
| 28 | + 支持.PNG、.JPG格式,建议尺寸为32*32px,大小不超过500KB | ||
| 29 | + </div> | ||
| 30 | + </template> | ||
| 31 | + </ContentUploadText> | ||
| 32 | + </template> | ||
| 33 | + <template #bgUpload> | ||
| 34 | + <ContentUploadText> | ||
| 35 | + <template #uploadImg> | ||
| 36 | + <Upload | ||
| 37 | + name="avatar" | ||
| 38 | + list-type="picture-card" | ||
| 39 | + class="avatar-uploader" | ||
| 40 | + :show-upload-list="false" | ||
| 41 | + :customRequest="customUploadBgPic" | ||
| 42 | + :before-upload="beforeUploadBgPic" | ||
| 43 | + > | ||
| 44 | + <img v-if="bgPic" class="fill-img" :src="bgPic" alt="avatar" /> | ||
| 45 | + <div v-else> | ||
| 46 | + <Spin v-if="loading1" tip="正在上传中..." /> | ||
| 47 | + <PlusOutlined v-else /> | ||
| 48 | + <div class="ant-upload-text">上传</div> | ||
| 49 | + </div> | ||
| 50 | + </Upload> | ||
| 51 | + </template> | ||
| 52 | + <template #uploadText> | ||
| 53 | + <div class="box-outline"> | ||
| 54 | + 支持.PNG、.JPG格式,建议尺寸为1920*1080px,大小不超过2M | ||
| 55 | + </div> | ||
| 56 | + </template> | ||
| 57 | + </ContentUploadText> | ||
| 58 | + </template> | ||
| 59 | + <template #colorInput="{ model, field }" | ||
| 60 | + ><Input disabled v-model:value="model[field]"> | ||
| 61 | + <template #prefix> <input type="color" v-model="model[field]" /> </template | ||
| 62 | + ></Input> | ||
| 63 | + </template> | ||
| 59 | 64 | ||
| 60 | - <template #homeSwiper> | ||
| 61 | - <ContentUploadText> | ||
| 62 | - <template #uploadImg> | ||
| 63 | - <Upload | ||
| 64 | - v-model:file-list="fileList" | ||
| 65 | - list-type="picture-card" | ||
| 66 | - @preview="handlePreview" | ||
| 67 | - :customRequest="customUploadHomeSwiper" | ||
| 68 | - :before-upload="beforeUploadHomeSwiper" | ||
| 69 | - @change="handleChange" | ||
| 70 | - > | ||
| 71 | - <div v-if="fileList.length < 5"> | ||
| 72 | - <div> | ||
| 73 | - <PlusOutlined style="font-size: 2.5rem" /> | ||
| 74 | - </div> </div | ||
| 75 | - ></Upload> | ||
| 76 | - </template> | ||
| 77 | - <template #uploadText> | ||
| 78 | - <div class="flex justify-center items-center"> | ||
| 79 | - 支持.PNG、.JPG格式,建议尺寸为800*600px,大小不超过3M | ||
| 80 | - </div> | ||
| 81 | - </template> | ||
| 82 | - </ContentUploadText> | ||
| 83 | - <Modal :visible="previewVisible" :footer="null" @cancel="handleCancel"> | ||
| 84 | - <img alt="example" style="width: 100%" :src="previewImage" /> | ||
| 85 | - </Modal> | ||
| 86 | - </template> | ||
| 87 | - </BasicForm> | 65 | + <template #homeSwiper> |
| 66 | + <ContentUploadText> | ||
| 67 | + <template #uploadImg> | ||
| 68 | + <Upload | ||
| 69 | + v-model:file-list="fileList" | ||
| 70 | + list-type="picture-card" | ||
| 71 | + @preview="handlePreview" | ||
| 72 | + :customRequest="customUploadHomeSwiper" | ||
| 73 | + :before-upload="beforeUploadHomeSwiper" | ||
| 74 | + @change="handleChange" | ||
| 75 | + > | ||
| 76 | + <div v-if="fileList.length < 5"> | ||
| 77 | + <div> | ||
| 78 | + <PlusOutlined /> | ||
| 79 | + <div class="ant-upload-text">上传</div> | ||
| 80 | + </div> | ||
| 81 | + </div></Upload | ||
| 82 | + > | ||
| 83 | + </template> | ||
| 84 | + <template #uploadText> | ||
| 85 | + <div class="box-outline"> | ||
| 86 | + 支持.PNG、.JPG格式,建议尺寸为800*600px,大小不超过3M | ||
| 87 | + </div> | ||
| 88 | + </template> | ||
| 89 | + </ContentUploadText> | ||
| 90 | + <Modal :visible="previewVisible" :footer="null" @cancel="handleCancel"> | ||
| 91 | + <img alt="example" style="width: 100%" :src="previewImage" /> | ||
| 92 | + </Modal> | ||
| 93 | + </template> | ||
| 94 | + </BasicForm> | ||
| 95 | + </div> | ||
| 88 | </Card> | 96 | </Card> |
| 89 | <Loading v-bind="compState" /> | 97 | <Loading v-bind="compState" /> |
| 90 | <Authority value="api:yt:appDesign:update:update"> | 98 | <Authority value="api:yt:appDesign:update:update"> |
| @@ -358,4 +366,14 @@ | @@ -358,4 +366,14 @@ | ||
| 358 | margin-top: 8px; | 366 | margin-top: 8px; |
| 359 | color: #666; | 367 | color: #666; |
| 360 | } | 368 | } |
| 369 | + | ||
| 370 | + .box-outline { | ||
| 371 | + border: 1px dashed #d9d9d9; | ||
| 372 | + text-align: left; | ||
| 373 | + } | ||
| 374 | + | ||
| 375 | + .fill-img { | ||
| 376 | + width: 100%; | ||
| 377 | + height: 100%; | ||
| 378 | + } | ||
| 361 | </style> | 379 | </style> |
| 1 | <template> | 1 | <template> |
| 2 | <div class="card"> | 2 | <div class="card"> |
| 3 | <Card :bordered="false" class="card"> | 3 | <Card :bordered="false" class="card"> |
| 4 | - <BasicForm @register="registerForm"> | ||
| 5 | - <template #logoUpload> | ||
| 6 | - <ContentUploadText> | ||
| 7 | - <template #uploadImg> | ||
| 8 | - <Upload | ||
| 9 | - name="avatar" | ||
| 10 | - list-type="picture-card" | ||
| 11 | - class="avatar-uploader" | ||
| 12 | - :show-upload-list="false" | ||
| 13 | - :customRequest="customUploadLogoPic" | ||
| 14 | - :before-upload="beforeUploadLogoPic" | ||
| 15 | - > | ||
| 16 | - <img v-if="logoPic" :src="logoPic" alt="avatar" /> | ||
| 17 | - <div v-else> | ||
| 18 | - <Spin v-if="loading" tip="正在上传中..." /> | ||
| 19 | - <PlusOutlined v-else style="font-size: 2.5rem" /> </div | ||
| 20 | - ></Upload> | ||
| 21 | - </template> | ||
| 22 | - <template #uploadText> | ||
| 23 | - <div class="flex justify-center items-center"> | ||
| 24 | - 支持.PNG、.JPG格式,建议尺寸为32*32px,大小不超过500KB | ||
| 25 | - </div> | ||
| 26 | - </template> | ||
| 27 | - </ContentUploadText> | ||
| 28 | - </template> | ||
| 29 | - <template #iconUpload> | ||
| 30 | - <ContentUploadText> | ||
| 31 | - <template #uploadImg> | ||
| 32 | - <Upload | ||
| 33 | - name="avatar" | ||
| 34 | - list-type="picture-card" | ||
| 35 | - class="avatar-uploader" | ||
| 36 | - :show-upload-list="false" | ||
| 37 | - :customRequest="customUploadIconPic" | ||
| 38 | - :before-upload="beforeUploadIconPic" | ||
| 39 | - > | ||
| 40 | - <div v-if="iconPic"> | ||
| 41 | - <img :src="iconPic" class="m-auto" /> | ||
| 42 | - <div style="background-color: #ccc; margin-top: 20px">重新上传</div> | 4 | + <div style="margin-left: -40px"> |
| 5 | + <BasicForm @register="registerForm"> | ||
| 6 | + <template #logoUpload> | ||
| 7 | + <ContentUploadText> | ||
| 8 | + <template #uploadImg> | ||
| 9 | + <Upload | ||
| 10 | + name="avatar" | ||
| 11 | + list-type="picture-card" | ||
| 12 | + class="avatar-uploader" | ||
| 13 | + :show-upload-list="false" | ||
| 14 | + :customRequest="customUploadLogoPic" | ||
| 15 | + :before-upload="beforeUploadLogoPic" | ||
| 16 | + > | ||
| 17 | + <img class="fill-img" v-if="logoPic" :src="logoPic" alt="avatar" /> | ||
| 18 | + <div v-else> | ||
| 19 | + <Spin v-if="loading" tip="正在上传中..." /> | ||
| 20 | + <PlusOutlined v-else /> | ||
| 21 | + <div class="ant-upload-text">上传</div> | ||
| 22 | + </div> | ||
| 23 | + </Upload> | ||
| 24 | + </template> | ||
| 25 | + <template #uploadText> | ||
| 26 | + <div class="box-outline"> | ||
| 27 | + 支持.PNG、.JPG格式,建议尺寸为32*32px,大小不超过500KB | ||
| 43 | </div> | 28 | </div> |
| 44 | - <div v-else> | ||
| 45 | - <div> | ||
| 46 | - <Spin v-if="loading1" tip="正在上传中..." /> | ||
| 47 | - <PlusOutlined v-else style="font-size: 2.5rem" /> | ||
| 48 | - </div> </div | ||
| 49 | - ></Upload> | ||
| 50 | - </template> | ||
| 51 | - <template #uploadText> | ||
| 52 | - <div class="flex justify-center items-center"> 支持.ICON格式,建议尺寸为16*16px </div> | ||
| 53 | - </template> | ||
| 54 | - </ContentUploadText> | ||
| 55 | - </template> | ||
| 56 | - <template #bgUpload> | ||
| 57 | - <ContentUploadText> | ||
| 58 | - <template #uploadImg> | ||
| 59 | - <Upload | ||
| 60 | - name="avatar" | ||
| 61 | - list-type="picture-card" | ||
| 62 | - class="avatar-uploader" | ||
| 63 | - :show-upload-list="false" | ||
| 64 | - :customRequest="customUploadBgPic" | ||
| 65 | - :before-upload="beforeUploadBgPic" | ||
| 66 | - > | ||
| 67 | - <img v-if="bgPic" :src="bgPic" alt="avatar" /> | ||
| 68 | - <div v-else> | ||
| 69 | - <div> | ||
| 70 | - <Spin v-if="loading2" tip="正在上传中..." /> | ||
| 71 | - <PlusOutlined v-else style="font-size: 2.5rem" /> | ||
| 72 | - </div> </div | ||
| 73 | - ></Upload> | ||
| 74 | - </template> | ||
| 75 | - <template #uploadText> | ||
| 76 | - <div class="flex justify-center items-center"> | ||
| 77 | - 支持.PNG、.JPG格式,建议尺寸为1920*1080px以上,大小不超过5M | ||
| 78 | - </div> | ||
| 79 | - </template> | ||
| 80 | - </ContentUploadText> | ||
| 81 | - </template> | ||
| 82 | - <template #colorInput="{ model, field }" | ||
| 83 | - ><Input disabled v-model:value="model[field]"> | ||
| 84 | - <template #prefix> <input type="color" v-model="model[field]" /> </template | ||
| 85 | - ></Input> | ||
| 86 | - </template> | ||
| 87 | - </BasicForm> | 29 | + </template> |
| 30 | + </ContentUploadText> | ||
| 31 | + </template> | ||
| 32 | + <template #iconUpload> | ||
| 33 | + <ContentUploadText> | ||
| 34 | + <template #uploadImg> | ||
| 35 | + <Upload | ||
| 36 | + name="avatar" | ||
| 37 | + list-type="picture-card" | ||
| 38 | + class="avatar-uploader" | ||
| 39 | + :show-upload-list="false" | ||
| 40 | + :customRequest="customUploadIconPic" | ||
| 41 | + :before-upload="beforeUploadIconPic" | ||
| 42 | + > | ||
| 43 | + <div v-if="iconPic"> | ||
| 44 | + <img :src="iconPic" class="m-auto fill-img" /> | ||
| 45 | + <div style="background-color: #ccc; margin-top: 20px">重新上传</div> | ||
| 46 | + </div> | ||
| 47 | + <div v-else> | ||
| 48 | + <div> | ||
| 49 | + <Spin v-if="loading1" tip="正在上传中..." /> | ||
| 50 | + <PlusOutlined v-else /> | ||
| 51 | + <div class="ant-upload-text">上传</div> | ||
| 52 | + </div> | ||
| 53 | + </div></Upload | ||
| 54 | + > | ||
| 55 | + </template> | ||
| 56 | + <template #uploadText> | ||
| 57 | + <div class="box-outline"> 支持.ICON格式,建议尺寸为16*16px </div> | ||
| 58 | + </template> | ||
| 59 | + </ContentUploadText> | ||
| 60 | + </template> | ||
| 61 | + <template #bgUpload> | ||
| 62 | + <ContentUploadText> | ||
| 63 | + <template #uploadImg> | ||
| 64 | + <Upload | ||
| 65 | + name="avatar" | ||
| 66 | + list-type="picture-card" | ||
| 67 | + class="avatar-uploader" | ||
| 68 | + :show-upload-list="false" | ||
| 69 | + :customRequest="customUploadBgPic" | ||
| 70 | + :before-upload="beforeUploadBgPic" | ||
| 71 | + > | ||
| 72 | + <img class="fill-img" v-if="bgPic" :src="bgPic" alt="avatar" /> | ||
| 73 | + <div v-else> | ||
| 74 | + <div> | ||
| 75 | + <Spin v-if="loading2" tip="正在上传中..." /> | ||
| 76 | + <PlusOutlined v-else /> | ||
| 77 | + <div class="ant-upload-text">上传</div> | ||
| 78 | + </div> | ||
| 79 | + </div></Upload | ||
| 80 | + > | ||
| 81 | + </template> | ||
| 82 | + <template #uploadText> | ||
| 83 | + <div class="box-outline"> | ||
| 84 | + 支持.PNG、.JPG格式,建议尺寸为1920*1080px以上,大小不超过5M | ||
| 85 | + </div> | ||
| 86 | + </template> | ||
| 87 | + </ContentUploadText> | ||
| 88 | + </template> | ||
| 89 | + <template #colorInput="{ model, field }" | ||
| 90 | + ><Input disabled v-model:value="model[field]"> | ||
| 91 | + <template #prefix> <input type="color" v-model="model[field]" /> </template | ||
| 92 | + ></Input> | ||
| 93 | + </template> | ||
| 94 | + </BasicForm> | ||
| 95 | + </div> | ||
| 88 | </Card> | 96 | </Card> |
| 89 | <Loading v-bind="compState" /> | 97 | <Loading v-bind="compState" /> |
| 90 | <Authority value="api:yt:platform:update:update"> | 98 | <Authority value="api:yt:platform:update:update"> |
| @@ -305,4 +313,23 @@ | @@ -305,4 +313,23 @@ | ||
| 305 | }); | 313 | }); |
| 306 | </script> | 314 | </script> |
| 307 | 315 | ||
| 308 | -<style lang="less" scoped></style> | 316 | +<style lang="less" scoped> |
| 317 | + .ant-upload-select-picture-card i { | ||
| 318 | + font-size: 32px; | ||
| 319 | + color: #999; | ||
| 320 | + } | ||
| 321 | + | ||
| 322 | + .ant-upload-select-picture-card .ant-upload-text { | ||
| 323 | + margin-top: 8px; | ||
| 324 | + color: #666; | ||
| 325 | + } | ||
| 326 | + | ||
| 327 | + .box-outline { | ||
| 328 | + border: 1px dashed #d9d9d9; | ||
| 329 | + } | ||
| 330 | + | ||
| 331 | + .fill-img { | ||
| 332 | + width: 100%; | ||
| 333 | + height: 100%; | ||
| 334 | + } | ||
| 335 | +</style> |
| 1 | <template> | 1 | <template> |
| 2 | - <a-row type="flex" align="middle" justify="start"> | ||
| 3 | - <a-col :span="12"> | 2 | + <a-row align="bottom" :gutter="16"> |
| 3 | + <a-col :span="1"> | ||
| 4 | <slot name="uploadImg"></slot> | 4 | <slot name="uploadImg"></slot> |
| 5 | </a-col> | 5 | </a-col> |
| 6 | - <a-col :span="12"> | 6 | + <a-col :span="5" /> |
| 7 | + <a-col :span="18" class="padd-top"> | ||
| 7 | <slot name="uploadText"></slot> | 8 | <slot name="uploadText"></slot> |
| 8 | </a-col> | 9 | </a-col> |
| 9 | </a-row> | 10 | </a-row> |
| @@ -11,4 +12,8 @@ | @@ -11,4 +12,8 @@ | ||
| 11 | 12 | ||
| 12 | <script lang="ts" setup></script> | 13 | <script lang="ts" setup></script> |
| 13 | 14 | ||
| 14 | -<style lang="less" scoped></style> | 15 | +<style lang="less" scoped> |
| 16 | + .padd-top { | ||
| 17 | + margin-bottom: 15px; | ||
| 18 | + } | ||
| 19 | +</style> |
| @@ -13,16 +13,16 @@ | @@ -13,16 +13,16 @@ | ||
| 13 | :customRequest="customUploadqrcodePic" | 13 | :customRequest="customUploadqrcodePic" |
| 14 | :before-upload="beforeUploadqrcodePic" | 14 | :before-upload="beforeUploadqrcodePic" |
| 15 | > | 15 | > |
| 16 | - <img v-if="qrcodePic" :src="qrcodePic" alt="avatar" /> | 16 | + <img class="fill-img" v-if="qrcodePic" :src="qrcodePic" alt="avatar" /> |
| 17 | <div v-else> | 17 | <div v-else> |
| 18 | <Spin v-if="loading" tip="正在上传中..." /> | 18 | <Spin v-if="loading" tip="正在上传中..." /> |
| 19 | - <PlusOutlined v-else style="font-size: 2.5rem" /> </div | ||
| 20 | - ></Upload> | 19 | + <PlusOutlined v-else /> |
| 20 | + <div class="ant-upload-text">上传</div> | ||
| 21 | + </div></Upload | ||
| 22 | + > | ||
| 21 | </template> | 23 | </template> |
| 22 | <template #uploadText> | 24 | <template #uploadText> |
| 23 | - <div class="flex justify-center items-center"> | ||
| 24 | - 支持.PNG、.JPG格式,建议尺寸为300*300px,大小不超过5M | ||
| 25 | - </div> | 25 | + <div class="box-outline"> 支持.PNG、.JPG格式,建议尺寸为300*300px,大小不超过5M </div> |
| 26 | </template> | 26 | </template> |
| 27 | </ContentUploadText> | 27 | </ContentUploadText> |
| 28 | </template> | 28 | </template> |
| @@ -381,3 +381,14 @@ | @@ -381,3 +381,14 @@ | ||
| 381 | }, | 381 | }, |
| 382 | }); | 382 | }); |
| 383 | </script> | 383 | </script> |
| 384 | + | ||
| 385 | +<style lang="less" scoped> | ||
| 386 | + .box-outline { | ||
| 387 | + border: 1px dashed #d9d9d9; | ||
| 388 | + } | ||
| 389 | + | ||
| 390 | + .fill-img { | ||
| 391 | + width: 100%; | ||
| 392 | + height: 100%; | ||
| 393 | + } | ||
| 394 | +</style> |