|
@@ -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>
|
|
|
|
|