lrf402788946 il y a 4 ans
Parent
commit
6307815fe4

+ 0 - 83
src/layout/user/shangchuan.vue

@@ -1,83 +0,0 @@
-<template>
-  <div id="leaveList">
-    <el-row>
-      <el-col :span="24" class="list">
-        <el-col :span="14" class="time">
-          <el-form ref="form" :model="form" label-width="80px">
-            <el-form-item label="文件上传" prop="zynumberfile">
-              <upload :limit="1" :data="form.picrul" type="picrul" :url="`/files/teacher/upload`" @upload="uploadSuccess"></upload>
-            </el-form-item>
-
-            <div style="margin: 16px;">
-              <el-form-item>
-                <el-button type="primary" @click="onSubmit()">上传</el-button>
-              </el-form-item>
-            </div>
-          </el-form>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import upload from '@frame/components/upload.vue';
-export default {
-  name: 'leaveList',
-  props: {
-    form: null,
-    workLists: null,
-  },
-  components: {
-    upload,
-  },
-  data: () => ({
-    dialogVisible: false,
-  }),
-  created() {},
-  computed: {},
-  methods: {
-    onSubmit() {
-      this.$emit('onConfirm', { data: this.form });
-    },
-
-    //上传
-    uploadSuccess({ type, data }) {
-      if (type !== 'picrul') {
-        let arr = _.get(this.form, type);
-        if (arr !== undefined) {
-          this.form[type].push({ name: data.name, uri: data.uri });
-        } else {
-          let newArr = [{ name: data.name, uri: data.uri }];
-          this.$set(this.form, `${type}`, newArr);
-        }
-      } else {
-        this.$set(this.form, `${type}`, data.uri);
-      }
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-p {
-  padding: 0;
-  margin: 0;
-}
-.list {
-  width: 97%;
-  padding: 15px;
-  background-color: #fff;
-  border-radius: 15px;
-  margin: 0 5px 5px 5px;
-}
-.list .time p {
-  padding: 5px 0;
-}
-.list .ispass {
-  padding: 20px 0;
-}
-.anniu {
-  padding: 20px 0 0 0;
-}
-</style>

+ 74 - 32
src/views/user/chuanzuoye.vue

@@ -8,7 +8,18 @@
         <el-col :span="24" class="main">
         <el-col :span="24" class="main">
           <el-col :span="24" class="leaveBtn"> </el-col>
           <el-col :span="24" class="leaveBtn"> </el-col>
           <el-col :span="24" class="leaveList">
           <el-col :span="24" class="leaveList">
-            <shangchuan :form="form" @onConfirm="onsave"></shangchuan>
+            <!-- <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>
+              </el-form-item>
+
+              <div style="margin: 16px;">
+                <el-form-item>
+                  <el-button type="primary" @click="onSubmit()">上传</el-button>
+                </el-form-item>
+              </div>
+            </el-form>
           </el-col>
           </el-col>
           <el-col :span="24" class="foot">
           <el-col :span="24" class="foot">
             <footInfo></footInfo>
             <footInfo></footInfo>
@@ -20,25 +31,26 @@
 </template>
 </template>
 
 
 <script>
 <script>
+import _ from 'lodash';
+import upload from '@frame/components/upload.vue';
 import NavBar from '@/layout/common/topInfo.vue';
 import NavBar from '@/layout/common/topInfo.vue';
-import shangchuan from '@/layout/user/shangchuan.vue';
 import footInfo from '@/layout/common/footInfo.vue';
 import footInfo from '@/layout/common/footInfo.vue';
 import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
 import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
 const { mapActions: mapUploadtask } = createNamespacedHelpers('uploadtask');
 const { mapActions: mapUploadtask } = createNamespacedHelpers('uploadtask');
+const { mapActions: util } = createNamespacedHelpers('util');
 export default {
 export default {
   name: 'homework',
   name: 'homework',
   props: {},
   props: {},
   components: {
   components: {
     NavBar, //头部导航
     NavBar, //头部导航
-    shangchuan,
     footInfo,
     footInfo,
+    upload,
   },
   },
   data: () => ({
   data: () => ({
-    form: {
-      // picrul: [{ url: 'fksdfhksdhfsk' }],
-    },
+    pic: [],
     show: false,
     show: false,
     navShow: true,
     navShow: true,
+    taskAnswer: null,
     title: '',
     title: '',
     isleftarrow: '',
     isleftarrow: '',
   }),
   }),
@@ -52,7 +64,62 @@ export default {
       this.isleftarrow = to.meta.isleftarrow;
       this.isleftarrow = to.meta.isleftarrow;
     },
     },
   },
   },
-  created() {},
+  created() {
+    this.search();
+  },
+  methods: {
+    ...util({ modelFetch: 'fetch' }),
+    ...mapUploadtask({ list: 'query', add: 'create', fet: 'fetch', update: 'update' }),
+    // 查找作业
+    async search() {
+      let taskAnswer = await this.modelFetch({ model: 'uploadtask', studentid: this.user.userid, lessonid: this.lessonid });
+      // 说明已经上传
+      if (taskAnswer.data) {
+        const { data } = taskAnswer;
+        this.$set(this, `taskAnswer`, data);
+        const { picurl } = data;
+        if (picurl) this.$set(this, `pic`, [{ uri: picurl }]);
+      }
+    },
+
+    //提交上传
+    async onSubmit() {
+      // 判断是否有上传作业
+      let obj = {};
+      if (!this.taskAnswer) {
+        obj.termid = this.user.termid;
+        obj.batchid = this.user.batchid;
+        obj.classid = this.user.classid;
+        obj.studentid = this.user.userid;
+        obj.lessonid = this.lessonid;
+        obj.lessonname = this.name;
+      } else obj = _.cloneDeep(this.taskAnswer);
+      let h = _.head(this.pic);
+      obj.picurl = h.uri;
+      if (!obj.picurl) {
+        this.$message({
+          showClose: true,
+          message: '请上传图片',
+          type: 'error',
+        });
+        return;
+      }
+      if (!obj.id) {
+        let res = await this.add(obj);
+        this.$checkRes(res, '提交成功', res.errmsg);
+      } else {
+        let res = await this.update(obj);
+        this.$checkRes(res, '修改成功', res.errmsg);
+      }
+    },
+
+    uploadSuccess({ type, data }) {
+      this.$set(this.pic, 0, { uri: data.uri });
+    },
+    toDelete(index) {
+      this.pic.splice(index, 1);
+    },
+  },
   computed: {
   computed: {
     ...mapState(['user']),
     ...mapState(['user']),
     id() {
     id() {
@@ -66,31 +133,6 @@ export default {
       return this.$route.query.name;
       return this.$route.query.name;
     },
     },
   },
   },
-  methods: {
-    ...mapUploadtask({ list: 'query', add: 'create', fet: 'fetch', updates: 'update' }),
-    //提交上传
-    async onsave(form) {
-      this.form.termid = this.user.termid;
-      this.form.batchid = this.user.batchid;
-      this.form.classid = this.user.classid;
-      this.form.studentid = this.user.userid;
-      this.form.lessonid = this.lessonid;
-      this.form.lessonname = this.name;
-      let data = this.form;
-      console.log();
-      if (data.picrul) {
-        let res = await this.add(data);
-        this.$checkRes(res, '提交成功', res.errmsg);
-      } else {
-        this.$message({
-          showClose: true,
-          message: '请上传图片',
-          type: 'error',
-        });
-      }
-      //
-    },
-  },
 };
 };
 </script>
 </script>
 
 

+ 0 - 1
src/views/user/dati.vue

@@ -126,7 +126,6 @@ export default {
         studanswer.push(obj);
         studanswer.push(obj);
       }
       }
       obj.answers = studanswer;
       obj.answers = studanswer;
-      console.log(obj);
       if (!obj.id) {
       if (!obj.id) {
         let res = await this.Uploadtaskadd(obj);
         let res = await this.Uploadtaskadd(obj);
         if (this.$checkRes(res, '作业提交成功', res.errmsg || '作业提交失败')) window.history.go(-1);
         if (this.$checkRes(res, '作业提交成功', res.errmsg || '作业提交失败')) window.history.go(-1);

+ 2 - 2
src/views/user/homework.vue

@@ -106,10 +106,10 @@ export default {
         if (this.$checkRes(res)) {
         if (this.$checkRes(res)) {
           let r = res.data;
           let r = res.data;
           if (r) {
           if (r) {
-            const { answers, picrul, score } = r;
+            const { answers, picurl, score } = r;
             if (score) i.score = score;
             if (score) i.score = score;
             if (answers && answers.length > 0) i.onlinetask = true;
             if (answers && answers.length > 0) i.onlinetask = true;
-            if (picrul) i.pictask = true;
+            if (picurl) i.pictask = true;
           }
           }
         }
         }
       }
       }