inleft
2022-08-11 af029bdfb645bd2b75fbab687c1a5f45b428d801
src/components/mini/box10-add.vue
@@ -21,27 +21,17 @@
            </span>
         </a-form-model-item>
         <a-form-model-item label="日志文件" v-show="!form.online">
            <!-- <a-upload action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
               :default-file-list="form.blogFileList">
               <a-button>
                  <a-icon type="upload" /> 限 markdown/html
               </a-button>
            </a-upload> -->
            <a-upload :customRequest="customRequest" name="file" :showUploadList="true" @change="handleChange"
               :default-file-list="form.blogFileList"
               :beforeUpload="beforeUpload"
               >
            <a-upload ref="blogFileUpload" :customRequest="customRequest" name="file" :showUploadList="true"
               @change="handleChange" :default-file-list="form.blogFileList" :beforeUpload="beforeUpload"
               :data="{'fileType':fileTypeMarkDown}" accept=".md,.html,.htm,.txt">
               <a-button>
                  <a-icon type="upload" />限 markdown/html
               </a-button>
            </a-upload>
         </a-form-model-item>
         <a-form-model-item label="日志内容" v-show="form.online" prop="content">
         <a-form-model-item label="日志内容" v-show="form.online">
            <a-input v-model="form.content" type="textarea" placeholder="限10k字数" />
         </a-form-model-item>
@@ -69,14 +59,21 @@
            </a-form-model-item>
            <a-form-model-item label=" 日志类型">
               <a-radio-group v-model="form.blogType">
                  <a-radio value="Markdown">
               <a-select v-model="form.blogType" mode="default" placeholder=""
                  :getPopupContainer="getCalendarContainer()">
                  <a-select-option value="1">
                     markdown
                  </a-radio>
                  <a-radio value="Html">
                  </a-select-option>
                  <a-select-option value="2">
                     html
                  </a-radio>
               </a-radio-group>
                  </a-select-option>
                  <a-select-option value="3">
                     video
                  </a-select-option>
                  <a-select-option value="5">
                     fast(闪念)
                  </a-select-option>
               </a-select>
            </a-form-model-item>
@@ -104,15 +101,11 @@
            <a-form-model-item label="封面">
               <!-- <a-upload action="https://www.mocky.io/v2/5cc8019d300000980a055e76" list-type="picture"
                  :default-file-list="form.coverFileList" class="upload-list-inline">
                  <a-button>
                     <a-icon type="upload" /> jpg/png/jpeg..
                  </a-button>
               </a-upload> -->
               <a-upload :customRequest="customRequest" name="file" :showUploadList="true" list-type="picture"
                  :default-file-list="form.coverFileList">
                  :data="{'fileType':fileTypeCover}" @change="handleChangeCoverFile"
                  :default-file-list="form.coverFileList" :beforeUpload="beforeUploadCover"
                  accept=".jpg,.png,.jpeg">
                  <!-- :disabled="form.coverFileList.length>=1" -->
                  <a-button>
                     <a-icon type="upload" />jpg/png/jpeg..
                  </a-button>
@@ -157,16 +150,16 @@
               <div v-show="form.lock ">
                  <a-form-model-item label="阅读权限">
                     <a-radio-group v-model="form.auth">
                        <a-radio value="private">
                        <a-radio value="2">
                           私人
                        </a-radio>
                        <a-radio value="password">
                        <a-radio value="3">
                           密码授权
                        </a-radio>
                     </a-radio-group>
                  </a-form-model-item>
                  <a-form-model-item label="授权密码" v-show="form.auth=='password'">
                  <a-form-model-item label="授权密码" v-show="form.auth==3">
                     <a-input-password v-model="form.password" autocomplete='new-password' type="password"
                        placeholder="独立密码">
                        <a-icon slot="prefix" type="lock" style="color:rgba(0,0,0,.25)" />
@@ -185,11 +178,16 @@
<script>
   import moment from "moment";
   import {
      sysFileInfoUpload
      sysFileInfoUpload,
      myFileInfoUpload
   } from '../../api/fileManage.js';
   import {
      queryBlogArticleType
   } from '../../api/blogArticleType.js'
   import myConstant from "../../config/myConstant.js"
   export default {
      beforeMount() {
         queryBlogArticleType({}).then((res) => {
@@ -197,30 +195,26 @@
         })
      },
      data() {
         let _this = this;
         let validateContent = (rule, value, callback) => {
            if (this.form.online) {
               console.log("内容未填");
               this.$refs.myForm.validateField('content')
            if (_this.form.online) {
               //this.$refs.myForm.validateField('content')
               if (_this.form.content == null || _this.form.content == "") {
                  callback(new Error('内容未填'));
               }
            } else {
               console.log("文件未传");
               this.$refs.myForm.validateField('blogFileList')
               //this.$refs.myForm.validateField('blogFileList')
               if (_this.form.fileId == null) {
                  callback(new Error('文件未传'));
               }
            }
            callback();
         };
         return {
            fileTypeMarkDown: myConstant.fileTypeMarkDown,
            fileTypeCover: myConstant.fileTypeCover,
            blogArticleType: [],
            // blogFileList: [],
            // coverFileList: [
            //    // {
            //    // uid: '-1',
            //    // name: 'xxx.png',
            //    // status: 'done',
            //    // url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
            //    // thumbUrl: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
            //    // }
            // ],
            tags: [],
            inputVisible: false,
            inputValue: '',
@@ -238,12 +232,15 @@
               content: '',
               class: [],
               tempSave: false,
               blogType: "Markdown",
               blogType: "1",
               publishDate: "",
               lock: false,
               top: false,
               auth: "private",
               sliderValue: 50,
               auth: 1,
               password: "",
               fileId: null,
               coverFile: null,
               blogFileList: [],
               coverFileList: [],
            },
@@ -254,7 +251,7 @@
                     trigger: 'blur'
                  },
                  {
                     min: 5,
                     min: 1,
                     max: 50,
                     message: '字数限制1~50',
                     trigger: 'blur'
@@ -269,84 +266,91 @@
                  validator: validateContent,
                  trigger: []
               }],
               content: [{
                  max: 10,
                  required: true,
                  message: '至少填一下上传内容',
                  trigger: 'blur'
               }, ],
               blogFileList: [{
                  max: 1,
                  required: true,
                  message: '文件未上传',
               }],
               // content: [{
               //    max: 10,
               //    required: true,
               //    message: '至少填一下上传内容',
               //    trigger: 'blur'
               // }, ],
               // blogFileList: [{
               //    max: 1,
               //    required: true,
               //    message: '文件未上传',
               // }],
               class: [{
                  required: true,
                  message: '至少选一个分类',
                  trigger: 'blur'
               }, ],
               // region: [{
               //    required: true,
               //    message: 'Please select Activity zone',
               //    trigger: 'change'
               // }],
               // date1: [{
               //    required: true,
               //    message: 'Please pick a date',
               //    trigger: 'change'
               // }],
               // type: [{
               //    type: 'array',
               //    required: true,
               //    message: 'Please select at least one activity type',
               //    trigger: 'change',
               // }, ],
               // resource: [{
               //    required: true,
               //    message: 'Please select activity resource',
               //    trigger: 'change'
               // }, ],
               // desc: [{
               //    required: true,
               //    message: 'Please input activity form',
               //    trigger: 'blur'
               // }],
            }
         };
      },
      methods: {
         beforeUpload(file, fileList) {
            console.log(333);
            console.log(this.blogFileList);
         reset() {
            // this.form.blogFileList = [];
            // this.form.coverFileList = [];
         },
         beforeUploadCover(file, fileList) {
            return new Promise((resolve, reject) => {
               if(fileList.length>=2){
               if (this.form.coverFileList.length >= 1) {
                  this.$message.error('这里最多上传一个文件');
                  return reject(false);
               }
                // var testmsg=/^image\/(jpeg|png|jpg)$/.test(file.type)
                // // var testmsg=/^image\/(md|html|markdown)$/.test(file.type)
                // if (!testmsg) {
                //   this.$message.error('上传文件格式不对!');
                //   return reject(false);
                // }
                const isLt2M = file.size / 1024 / 1024 <=2//图片大小不超过2MB
                if(!isLt2M) {
                  this.$message.error('上传文件大小不能超过 2M!');
                  return reject(false);
                }
                return resolve(true)
              });
               if (file.size > myConstant.uploadFileSizeLimit) {
                  this.$message.error('上传文件大小不能超过 2M!');
                  return reject(false);
               }
               return resolve(true)
            });
         },
         beforeUpload(file, fileList) {
            return new Promise((resolve, reject) => {
               if (this.form.blogFileList.length >= 1) {
                  this.$message.error('这里最多上传一个文件');
                  return reject(false);
               }
               if (file.size > myConstant.uploadFileSizeLimit) {
                  this.$message.error('上传文件大小不能超过 2M!');
                  return reject(false);
               }
               return resolve(true)
            });
         },
         handleChange(info) {
            this.form.blogFileList = info.fileList;
            if (info.file.status !== 'uploading') {
               console.log(info.file, info.fileList);
            }
            if (info.file.status === 'done') {
               this.form.fileId = info.file.response.data;
               this.$message.success(`${info.file.name} file uploaded successfully`);
            } else if (info.file.status === 'error') {
               this.$message.error(`${info.file.name} file upload failed.`);
            }
            if (this.form.blogFileList == null || this.form.blogFileList.length == 0) {
               this.form.fileId = null
            }
         },
         handleChangeCoverFile(info) {
            this.form.coverFileList = info.fileList;
            if (info.file.status !== 'uploading') {
               console.log(info.file, info.fileList);
            }
            if (info.file.status === 'done') {
               this.form.coverFile = info.file.response.data;
               this.$message.success(`${info.file.name} file uploaded successfully`);
            } else if (info.file.status === 'error') {
               this.$message.error(`${info.file.name} file upload failed.`);
            }
            if (this.form.coverFileList == null || this.form.coverFileList.length == 0) {
               this.form.coverFile = null
            }
         },
         /**
@@ -355,9 +359,12 @@
         customRequest(option) {
            const formData = new FormData()
            formData.append('file', option.file)
            sysFileInfoUpload(formData).then((res) => {
            formData.append('fileType', option.data.fileType)
            formData.append('authCode', this.form.secret)
            myFileInfoUpload(formData).then((res) => {
               if (res.success) {
                  this.$message.success('上传成功')
                  option.onSuccess(res, option.file)
               } else {
                  this.$message.error('上传失败:' + res.message)
@@ -371,9 +378,9 @@
            return trigger => trigger.parentNode;
         },
         handleClose(removedTag) {
            const tags = this.tags.filter(tag => tag !== removedTag);
            // const tags = this.tags.filter(tag => tag !== removedTag);
            //console.log(tags);
            this.tags = tags;
            this.tags = this.tags.filter(tag => tag !== removedTag);
         },
         showInput() {