| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <template>
- <div class="main-content" style="min-height: 600px;">
- <el-row>
- <el-col :span="4">
- <user-nav/>
- </el-col>
- <el-col :span="20">
- <div style="padding: 20px;">
- <div class="my-content-header">提交应用</div>
- <div style="margin: 20px 0;">
- <el-row>
- <el-col :span="12">
- <el-form :model="app" status-icon ref="app" label-width="80px"
- size="small" label-position="left">
- <el-form-item label="应用名称" prop="name">
- <el-input v-model="app.name" auto-complete="off"></el-input>
- </el-form-item>
- <el-form-item label="开发团队" prop="createTeam">
- <el-input v-model="app.createTeam" auto-complete="off"></el-input>
- </el-form-item>
- <el-form-item label="应用截图" prop="shotUrl">
- <el-upload
- class="avatar-uploader"
- action="https://jsonplaceholder.typicode.com/posts/"
- :show-file-list="false"
- :on-success="handleAvatarSuccess"
- :before-upload="beforeAvatarUpload">
- <img v-if="app.shotUrl" :src="app.shotUrl" class="avatar">
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
- </el-upload>
- </el-form-item>
- <el-form-item label="程序附件" prop="zipUrl">
- <el-upload
- drag
- action="https://jsonplaceholder.typicode.com/posts/"
- :limit="1" :show-file-list="false">
- <i class="el-icon-upload"></i>
- <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
- <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div>
- </el-upload>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="submitForm('app')">提交</el-button>
- <el-button @click="resetForm('app')">重置</el-button>
- </el-form-item>
- </el-form>
- </el-col>
- </el-row>
- </div>
- </div>
- </el-col>
- </el-row>
- </div>
- </template>
- <script>
- import UserNav from '@/components/user/UserNav.vue'
- export default {
- components: {
- UserNav
- },
- middleware: 'auth',
- data () {
- return {
- app: {
- name: '',
- createTeam: '',
- shotUrl: '',
- zipUrl: ''
- }
- }
- },
- methods: {
- handleAvatarSuccess(res, file) {
- this.app.shotUrl = URL.createObjectURL(file.raw);
- },
- beforeAvatarUpload(file) {
- const isJPG = file.type === 'image/jpeg';
- const isLt2M = file.size / 1024 / 1024 < 2;
- if (!isJPG) {
- this.$message.error('上传头像图片只能是 JPG 格式!');
- }
- if (!isLt2M) {
- this.$message.error('上传头像图片大小不能超过 2MB!');
- }
- return isJPG && isLt2M;
- }
- }
- }
- </script>
- <style>
- .avatar-uploader .el-upload {
- border: 1px dashed #d9d9d9;
- border-radius: 6px;
- cursor: pointer;
- position: relative;
- overflow: hidden;
- }
- .avatar-uploader .el-upload:hover {
- border-color: #409EFF;
- }
- .avatar-uploader-icon {
- font-size: 28px;
- color: #8c939d;
- width: 178px;
- height: 178px;
- line-height: 178px;
- text-align: center;
- }
- .avatar {
- width: 178px;
- height: 178px;
- display: block;
- }
- </style>
|