<!DOCTYPE html> <html class="over_hidd"> <head> <meta charset="UTF-8"> <title>vue+element後臺系統"</title> <meta name="Author" content="Lee"> <meta name="Keywords" content="vue+element後臺系統"> <link rel="stylesheet" href="css/public.css" /> <link rel="stylesheet" href="css/element.css" /> </head> <body class="over_hidd"> <div id="app" class="over_hidd"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="活動名稱" prop="name"> <el-input v-model="ruleForm.name"></el-input> </el-form-item> <el-form-item label="活動區域" prop="region"> <el-select v-model="ruleForm.region" placeholder="請選擇活動區域"> <el-option label="區域一" value="shanghai"></el-option> <el-option label="區域二" value="beijing"></el-option> </el-select> </el-form-item> <el-form-item label="活動時間" required> <el-col :span="11"> <el-form-item prop="date1"> <el-date-picker type="date" placeholder="選擇日期" v-model="ruleForm.date1" style="width: 100%;"></el-date-picker> </el-form-item> </el-col> <el-col class="line" :span="2">-</el-col> <el-col :span="11"> <el-form-item prop="date2"> <el-time-picker type="fixed-time" placeholder="選擇時間" v-model="ruleForm.date2" style="width: 100%;"></el-time-picker> </el-form-item> </el-col> </el-form-item> <el-form-item label="即時配送" prop="delivery"> <el-switch v-model="ruleForm.delivery"></el-switch> </el-form-item> <el-form-item label="顏色值" prop="color"> <el-color-picker v-model="ruleForm.color" show-alpha :predefine="predefineColors"> </el-color-picker> </el-form-item> <div> <span v-for="key in ruleForm.upload">{{key.url}}</span><br/> </div> <el-form-item label="上傳圖片" prop="upload"> <el-upload v-model="ruleForm.upload" action="https://jsonplaceholder.typicode.com/posts/" list-type="picture-card" :on-preview="handlePictureCardPreview" :on-success="uploadImg" :on-remove="handleRemove" multiple> <i class="el-icon-plus"></i> </el-upload> <el-dialog :visible.sync="dialogVisible"> <img width="100%" :src="dialogImageUrl" alt=""> </el-dialog> </el-form-item> <el-form-item label="活動性質" prop="type"> <el-checkbox-group v-model="ruleForm.type"> <el-checkbox label="美食/餐廳線上活動" name="type"></el-checkbox> <el-checkbox label="地推活動" name="type"></el-checkbox> <el-checkbox label="線下主題活動" name="type"></el-checkbox> <el-checkbox label="單純品牌曝光" name="type"></el-checkbox> </el-checkbox-group> </el-form-item> <el-form-item label="特殊資源" prop="resource"> <el-radio-group v-model="ruleForm.resource"> <el-radio label="線上品牌商贊助"></el-radio> <el-radio label="線下場地免費"></el-radio> </el-radio-group> </el-form-item> <el-form-item label="活動形式" prop="desc"> <el-input type="textarea" v-model="ruleForm.desc"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')">當即建立</el-button> <el-button @click="resetForm('ruleForm')">重置</el-button> </el-form-item> </el-form> </div> </body> <script type="text/javascript" src="js/vue.js" ></script> <script type="text/javascript" src="js/element.js" ></script> <script> new Vue({ el: '#app', data() { return { dialogImageUrl: '', dialogVisible: false, predefineColors: [ '#ff4500', '#ff8c00', '#ffd700', '#90ee90', '#00ced1', '#1e90ff', '#c71585', 'rgba(255, 69, 0, 0.68)', 'rgb(255, 120, 0)', 'hsv(51, 100, 98)', 'hsva(120, 40, 94, 0.5)', 'hsl(181, 100%, 37%)', 'hsla(209, 100%, 56%, 0.73)', '#c7158577' ], ruleForm: { color:'rgba(255, 69, 0, 0.68)', name: '', region: '', date1: '', date2: '', delivery: false, type: [], resource: '', desc: '', upload:[] }, rules: { name: [ { required: true, message: '請輸入活動名稱', trigger: 'blur' }, { min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' } ], region: [ { required: true, message: '請選擇活動區域', trigger: 'change' } ], date1: [ { type: 'date', required: true, message: '請選擇日期', trigger: 'change' } ], date2: [ { type: 'date', required: true, message: '請選擇時間', trigger: 'change' } ], type: [ { type: 'array', required: true, message: '請至少選擇一個活動性質', trigger: 'change' } ], resource: [ { required: true, message: '請選擇活動資源', trigger: 'change' } ], desc: [ { required: true, message: '請填寫活動形式', trigger: 'blur' } ], upload:[ {type: 'array'} ] } }; }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { this.$message({ showClose: true, message: '提交成功!', type: 'success' }); console.log(this.ruleForm) } else { this.$message.error('提交失敗'); return false; } }); }, resetForm(formName) { this.$refs[formName].resetFields(); }, handleRemove(file, fileList) {//刪除圖片 var self = this; console.log(self.ruleForm.upload) for(var i in self.ruleForm.upload){ if(fileList.response.id==this.ruleForm.upload[i].id){ delete this.ruleForm.upload[i]; } } }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; }, uploadImg(response, file, fileList){//長傳成功 this.ruleForm.upload = []; for(var i in fileList){ this.ruleForm.upload.push({ id:response.id, url:fileList[i].url }); } } } }) </script> </html> --------------------- 做者:攻城獅Lee丶 來源:CSDN 原文:https://blog.csdn.net/zhuoganliwanjin/article/details/83506089 版權聲明:本文爲博主原創文章,轉載請附上博文連接!