Browse Source

修改上app版本信息

tangning 3 years ago
parent
commit
b03694e903
2 changed files with 53 additions and 14 deletions
  1. 49 13
      src/page/appupload/index.vue
  2. 4 1
      src/page/oderPage/index.vue

+ 49 - 13
src/page/appupload/index.vue

@@ -21,7 +21,7 @@
               ></el-autocomplete>
             </el-form-item>
             <el-form-item label="APP类型" prop='appType'>
-              <el-select v-model="ruleForm.appType" placeholder="请选择">
+              <el-select v-model="ruleForm.appType" placeholder="请选择" @change="appTypeChange">
                 <el-option label="IOS" value="IOS">IOS</el-option>
                 <el-option label="Android" value="Android">Android</el-option>
               </el-select>
@@ -35,7 +35,7 @@
               :http-request="uploadSectionFile"
               :file-list="ruleForm.fileList"
               :on-remove="fileRemove"
-              drag accept='.ipa, .apk' :multiple="false">
+              drag :accept="accept" :multiple="false">
                 <i class="el-icon-upload"></i>
                 <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
                 <div class="el-upload__tip" slot="tip">
@@ -47,20 +47,21 @@
             </el-form-item>
             <el-form-item label="MD5" prop="md5">
                 <el-input v-model="ruleForm.md5" :disabled="!md5"></el-input>
-                <!-- <el-button style="display:inline-flex" @click.prevent="removeDomain()">校验</el-button> -->
             </el-form-item>
-            <!-- <el-form-item label="版本信息" prop="fileList">
-              <el-upload
-                class="upload-demo"
-                accept='.json'
+            <el-form-item label="版本信息" prop="jsonFile">
+              <el-upload style="width:340px" class="upload-demo" 
+                accept='.json' :limit='1' 
+                :headers="{
+                  token:token
+                }"
                 :action="uploadUrl"
-                :on-change="handleChange"
-                :file-list="fileList">
+                :before-upload="handleChange"
+                :file-list="ruleForm.jsonFile">
                 <el-button size="small" type="primary">点击上传</el-button>
-                <div slot="tip" class="el-upload__tip">只能上传josn文件,且不超过10 M</div>
+                <div slot="tip" class="el-upload__tip">仅能上传version.josn文件,且不超过10 M</div>
               </el-upload>
               <el-progress v-if="completeshow" style="width: 340px;margin-top: 8px"  :percentage="complete" />
-            </el-form-item> -->
+            </el-form-item>
           </el-form>
           <div slot="footer" class="dialog-footer">
             <el-button @click="cancel">取 消</el-button>
@@ -129,7 +130,8 @@ let tempForm = {
   appType:'',
   md5:'',
   name:'',
-  fileList:[]
+  fileList:[],
+  jsonFile:[]
 }
 export default {
   data () {
@@ -151,8 +153,20 @@ export default {
               callback()
           }
     }
+    let validateJsonFile = (rule, value, callback) => {
+          console.log('fileList',value,this.ruleForm)
+          if(!value){
+            return callback(new Error("请上传文件"))
+          }
+          if (this.ruleForm.jsonFile.length < 1) {//我控制了FileList 长度代表文件个数
+              callback(new Error("请上传文件"))
+          } else {
+              callback()
+          }
+    }
     return {
       expands: [],
+      accept:'.ipa, .apk',
       md5:null,
       complete:0,
       completeshow:false,
@@ -179,6 +193,9 @@ export default {
         fileList:[{
           required: true, validator: validateFileUrl, trigger: 'change'
         }],
+        jsonFile:[{
+          required: true, validator: validateJsonFile, trigger: 'change'
+        }],
         appType:[
           { required: true, message: '请选择APP类型', trigger: 'change' }
         ],
@@ -220,6 +237,13 @@ export default {
     }
   },
   methods: {
+    appTypeChange(val){
+      const list = {
+        'Android':'.apk',
+        'IOS':'.ipa',
+      }
+      this.accept = list[val] || '.ipa, .apk'
+    },
     async getAgenetList(){
       let res = await this.$http.post('/manager/app/agenetList',{})
       let restaurants = []
@@ -357,7 +381,7 @@ export default {
       })
       this.fullscreenLoading = false
       if (res.code === 0) {
-        this.$alert('该客户信息已成功添加入库', '添加成功', {
+        this.$alert('上传成功', '添加成功', {
           confirmButtonText: '确定'
         })
         this.getAgenetList()
@@ -391,6 +415,18 @@ export default {
         this.ruleForm.md5 = ''
         this.md5 = null
     },
+    handleChange(file){
+      let fileType = file.type,
+      isLt10M = file.size / 1024/1024  < 10;
+      if (!isLt10M) {
+        this.$message.error("上传文件不能超过10M,请重新上传");
+        return false;
+      }
+      if (file.name !== 'version.json') {
+        this.$message.error("请上传文件名称为version.json");
+        return false;
+      }
+    },
     async uploadSectionFile(params) {
       const file = params.file,
         fileType = file.type,

+ 4 - 1
src/page/oderPage/index.vue

@@ -42,7 +42,10 @@
               </el-table-column>
               <el-table-column prop="userName" label="手机号/用户名">
               </el-table-column>
-              <el-table-column v-if="routeName == '下载订单'" prop="num" label="场景下载">
+              <el-table-column v-if="routeName == '下载订单'" prop="sceneName" label="场景下载">
+                <template slot-scope="scope">
+                  <div>{{scope.row.sceneName}}({{scope.row.sceneNum}})</div>
+                </template>
               </el-table-column>
               <el-table-column prop="totalAmount" label="订单金额(元)">
               </el-table-column>