lrf402788946 4 anni fa
parent
commit
12a2dcfd7f
1 ha cambiato i file con 25 aggiunte e 7 eliminazioni
  1. 25 7
      src/views/user/chuanzuoye.vue

+ 25 - 7
src/views/user/chuanzuoye.vue

@@ -11,7 +11,8 @@
             <!-- <upload-homework :form="form" @onConfirm="onsave"></upload-homework> -->
             <el-form ref="form" label-width="80px">
               <el-form-item label="文件上传" prop="zynumberfile">
-                <upload :limit="1" :data="pic" type="picurl" :url="`/files/task/upload`" @upload="uploadSuccess" @delete="toDelete"></upload>
+                <!-- <upload :limit="1" :data="pic" type="picurl" :url="`/files/task/upload`" @upload="uploadSuccess" @delete="toDelete"></upload> -->
+                <van-uploader v-model="pic" :after-read="afterRead" preview-size="160px" />
               </el-form-item>
 
               <div style="margin: 16px;">
@@ -44,7 +45,7 @@ export default {
   components: {
     NavBar, //头部导航
     footInfo,
-    upload,
+    // upload,
   },
   data: () => ({
     pic: [],
@@ -68,7 +69,7 @@ export default {
     this.search();
   },
   methods: {
-    ...util({ modelFetch: 'fetch' }),
+    ...util({ modelFetch: 'fetch', taskUpload: 'taskupload' }),
     ...mapUploadtask({ list: 'query', add: 'create', fet: 'fetch', update: 'update' }),
     // 查找作业
     async search() {
@@ -78,7 +79,16 @@ export default {
         const { data } = taskAnswer;
         this.$set(this, `taskAnswer`, data);
         const { picurl } = data;
-        if (picurl) this.$set(this, `pic`, [{ uri: picurl }]);
+        if (picurl) {
+          if (_.isArray(picurl))
+            this.$set(
+              this,
+              'pic',
+              picurl.map(i => ({ url: i }))
+            );
+        } else {
+          this.$set(this, `pic`, [{ url: picurl }]);
+        }
       }
     },
 
@@ -95,8 +105,8 @@ export default {
         obj.lessonname = this.name;
       } else obj = _.cloneDeep(this.taskAnswer);
       let h = _.head(this.pic);
-      obj.picurl = h.uri;
-      if (!obj.picurl) {
+      obj.picurl = _.cloneDeep(this.pic.map(i => i.url));
+      if (obj.picurl.length <= 0) {
         this.$message({
           showClose: true,
           message: '请上传图片',
@@ -132,7 +142,15 @@ export default {
         }
       }
     },
-
+    //手机上传至文件上传项目
+    async afterRead(data) {
+      // 此时可以自行将文件上传至服务器
+      this.pic.splice(this.pic.length - 1, 1, { status: 'uploading', message: '上传中...' });
+      const { file } = data;
+      const res = await this.taskUpload(file);
+      const { uri } = res.data;
+      if (uri) this.pic.splice(this.pic.length - 1, 1, { url: uri });
+    },
     uploadSuccess({ type, data }) {
       this.$set(this.pic, 0, { uri: data.uri });
     },