班级头像

parent a7443e9f
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=never><link rel=stylesheet href=https:////at.alicdn.com/t/font_746649_x1rivf5f5.css><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css><title>唱唱启蒙-后台</title></head><body><script src=https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js></script><script src=https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js></script><script src=https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js></script><script src=https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.301383eaa5f2694ddbb1.js></script><script type=text/javascript src=/static/js/vendor.520caa645c172051b099.js></script><script type=text/javascript src=/static/js/app.93f38d3d6ddf78553e45.js></script></body><script>let el = document.getElementsByTagName("script"); <!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=never><link rel=stylesheet href=https:////at.alicdn.com/t/font_746649_x1rivf5f5.css><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css><title>唱唱启蒙-后台</title></head><body><script src=https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js></script><script src=https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js></script><script src=https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js></script><script src=https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.b8da6a56a73a570e1358.js></script><script type=text/javascript src=/static/js/vendor.520caa645c172051b099.js></script><script type=text/javascript src=/static/js/app.93f38d3d6ddf78553e45.js></script></body><script>let el = document.getElementsByTagName("script");
el.onerror = function(a,b,c){ el.onerror = function(a,b,c){
console.log('error:',a,b,c); console.log('error:',a,b,c);
}; };
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(a,b,n){for(var r,t,o,i=0,u=[];i<a.length;i++)t=a[i],d[t]&&u.push(d[t][0]),d[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(c&&c(a,b,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=f(f.s=n[i]);return o};var a={},d={56:0};function f(c){if(a[c])return a[c].exports;var d=a[c]={i:c,l:!1,exports:{}};return e[c].call(d.exports,d,d.exports,f),d.l=!0,d.exports}f.e=function(e){var c=d[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var a=new Promise(function(a,f){c=d[e]=[a,f]});c[2]=a;var b=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=12e4,f.nc&&n.setAttribute("nonce",f.nc),n.src=f.p+"static/js/"+e+"."+{0:"48db51be0a24deef26f1",1:"b66e69d793a9d35d3909",2:"3fa6129d7cce1d2727cc",3:"f5f0c3d1e1fec5c5c951",4:"059ca7c142d3d8481359",5:"533eebc8d015c5c93845",6:"5f4940d46329fcb43187",7:"99ccfc906ae3130ce1e7",8:"85b6fe06267b11873800",9:"09523bba6af5134fcfac",10:"0fca58732edb7ad98d68",11:"63f78de02776e90ac1a0",12:"68c52a92bb73a2c2160a",13:"71249d67c16a076c8e96",14:"07769f54f841afe1b4dd",15:"0a9b1e03b653d37a8ec4",16:"2b402dca7ac597a68110",17:"ee936bc6bcfa50fe23f6",18:"a43d1cac8d747564e8bb",19:"c73d7498829b6d7c702f",20:"e08d9efdedb45e684a12",21:"13a048139a3f3a781f1c",22:"70c03c1895359e0d8b5e",23:"3bb77e0e5ab020a5156e",24:"c3dc2577aa8713fc2862",25:"11eea56cf1799c6b3210",26:"0071fbeee69d787a61bd",27:"59e2475897064b70514e",28:"e306918d8301ef6404ad",29:"e39c21b0dca50318cd84",30:"5e4bbe655c24af98cb5a",31:"ffd4e726822058f2a07c",32:"cd07cafd989482131981",33:"3e28193ece694879de73",34:"9d667b679f50d8174059",35:"3febc01bc0e887e26e7d",36:"2f5b581299537d235564",37:"f7a65cabf3b141969162",38:"6484d2ec831c62486c90",39:"d283f2388df33e02cef4",40:"a39dfa4cd254107d52f9",41:"a16ad1ea1f2438c037aa",42:"939d6413605876c9721b",43:"790e9555b1ee2e9221d3",44:"5d153cbe32e3b25baa48",45:"1676124a8bb46f2a9a9e",46:"2b6bd996d5e1d9b81baf",47:"a64e6fe827cb9322b4e6",48:"0c37f641710a7b675836",49:"61bceaadc6e9d1f38f43",50:"48254be58d6882c9698e",51:"bcf05c46b40f43b66dd3",52:"074092fb2fa3a4d87b4d",53:"386d74c7b4bd44e2d537"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=d[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),d[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),a},f.m=e,f.c=a,f.d=function(e,c,a){f.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:a})},f.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(c,"a",c),c},f.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},f.p="/",f.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=never><link rel=stylesheet href=https:////at.alicdn.com/t/font_746649_x1rivf5f5.css><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css><title>唱唱启蒙-后台</title><link href=/static/css/app.8a8990603d45d0ccfc40d6a18deb0b54.css rel=stylesheet></head><body><script src=https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js></script><script src=https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js></script><script src=https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js></script><script src=https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.bc4da69b1d6478898f78.js></script><script type=text/javascript src=/static/js/vendor.1989ff930c83bbe25dc0.js></script><script type=text/javascript src=/static/js/app.96fb402908e1c8c6ed42.js></script></body><script>let el = document.getElementsByTagName("script"); <!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=never><link rel=stylesheet href=https:////at.alicdn.com/t/font_746649_x1rivf5f5.css><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css><title>唱唱启蒙-后台</title><link href=/static/css/app.7d4d84d90482cfe6d4bb0044db10a8c9.css rel=stylesheet></head><body><script src=https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js></script><script src=https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js></script><script src=https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js></script><script src=https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.2780fb809d1add2cc38a.js></script><script type=text/javascript src=/static/js/vendor.1989ff930c83bbe25dc0.js></script><script type=text/javascript src=/static/js/app.96fb402908e1c8c6ed42.js></script></body><script>let el = document.getElementsByTagName("script");
el.onerror = function(a,b,c){ el.onerror = function(a,b,c){
console.log('error:',a,b,c); console.log('error:',a,b,c);
}; };
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(a,d,n){for(var r,t,o,i=0,u=[];i<a.length;i++)t=a[i],b[t]&&u.push(b[t][0]),b[t]=0;for(r in d)Object.prototype.hasOwnProperty.call(d,r)&&(e[r]=d[r]);for(c&&c(a,d,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=f(f.s=n[i]);return o};var a={},b={56:0};function f(c){if(a[c])return a[c].exports;var b=a[c]={i:c,l:!1,exports:{}};return e[c].call(b.exports,b,b.exports,f),b.l=!0,b.exports}f.e=function(e){var c=b[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var a=new Promise(function(a,f){c=b[e]=[a,f]});c[2]=a;var d=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=12e4,f.nc&&n.setAttribute("nonce",f.nc),n.src=f.p+"static/js/"+e+"."+{0:"02f833ebcc43507a77bd",1:"48308881493e2d004a1a",2:"7fc7db0d032ea03d9ec6",3:"c0a29cd6a66c85bbe8fb",4:"5352a82878badb954d35",5:"9017de79e056fe039271",6:"b1c9d4bcae7fd78e99f6",7:"70db7561b737296aab6a",8:"cdc034b21a51a5f6567f",9:"a480c8692470d845b0ff",10:"539ddfbd8ca7c237c7ba",11:"ebc020d874aa1c84be62",12:"fb6f3ba45dc5173a9bb4",13:"7c7cbc5a8be5396f56eb",14:"fa39b24453e810c36b96",15:"167afe55f46a061d55bf",16:"cebcb06e3a22b0b6cb1b",17:"1a7e9827766176a693c5",18:"aaae6bcbaa1b04fe6522",19:"743451bef08b125635f1",20:"35e0b23c2b33b7eb10f4",21:"2b670f80e81c95b841c6",22:"e1068c667802c871101b",23:"0a962264589383160c44",24:"25c05a2d6628d51eaf54",25:"03f16ccfe5d583b7800d",26:"20c58c1a6aeb3bd7c9d8",27:"b1ba1ddd03f95a5dced7",28:"fe524b57ea14474670ac",29:"142fa147d47c9c7ad8dd",30:"3d5b646ccf1187a6db8d",31:"d8f7236e796354f5a777",32:"ef62d541e6f7dfa12653",33:"19ab65cf0e4b00b33a91",34:"5dac0109ef7103954e96",35:"bfca94e4e2df12006846",36:"b12b8e33ace7bb96e972",37:"50ade86b59e643c8b921",38:"ef7972ac0c27589daa15",39:"3cbe77ceb237cfabb852",40:"c16360ac2901bc9d164e",41:"e2252f797d9ee07b1ceb",42:"bfcf4d980f9588d2fc8b",43:"6ea73de8c8dc76b93912",44:"fc8b4c6ab29184eaa69b",45:"ad395547e267b32c1791",46:"b72e24dde04b9aca0137",47:"b91b7317f7fb0cb3f533",48:"6b002803c2ecb922e9da",49:"f76a19201df3442d8d55",50:"0492b997561d7f53f2bb",51:"cb32796b49c2bd2f2e87",52:"ad1410c1e547f2943941",53:"27ee80f01739d59ef386"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=b[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),b[e]=void 0)}return n.onerror=n.onload=t,d.appendChild(n),a},f.m=e,f.c=a,f.d=function(e,c,a){f.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:a})},f.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(c,"a",c),c},f.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},f.p="/",f.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
...@@ -39,6 +39,21 @@ ...@@ -39,6 +39,21 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item >
<img class="qr-img" v-if="type===1" :src="form.qr"/>
<!--<el-input v-model="form.qr"></el-input>-->
<el-upload
action="/api/public/upload/zone"
:http-request="uploadFile"
:class="{disabled:!uploadShow}"
:before-upload="beforeAvatarUpload"
list-type="picture-card"
:file-list="imageList"
:on-success="handleAvatarSuccess"
:on-remove="handleRemove">
<i class="el-icon-plus"></i>
</el-upload>
</el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogObj.show = false">取 消</el-button> <el-button @click="dialogObj.show = false">取 消</el-button>
...@@ -48,7 +63,7 @@ ...@@ -48,7 +63,7 @@
</template> </template>
<script> <script>
import {getTeacherListApi,getClassDetailApi,editClassApi,addClassApi,getPeriodsApi,getGoodsListApi,getPeriodsTeacherApi} from "../../service/api"; import {getTeacherListApi,getClassDetailApi,editClassApi,addClassApi,getPeriodsApi,getGoodsListApi,getPeriodsTeacherApi,uploadFileApi} from "../../service/api";
import {GOODSTYPE,CLASSSOURCE} from '../../util/wordbook'; import {GOODSTYPE,CLASSSOURCE} from '../../util/wordbook';
export default { export default {
props:[ props:[
...@@ -60,20 +75,50 @@ ...@@ -60,20 +75,50 @@
classSource.push({label:CLASSSOURCE[x],value:Number(x)}) classSource.push({label:CLASSSOURCE[x],value:Number(x)})
} }
return{ return{
imageList:[],
form:{ form:{
teacher_id:'', teacher_id:'',
max_join_num:'', max_join_num:'',
class_name:"", class_name:"",
source:"" source:"",
qr:""
}, },
type:0,
classSource:classSource, classSource:classSource,
teacherList:[], teacherList:[],
exitTeacherList: [], exitTeacherList: [],
goodsList: [], goodsList: [],
periods: {} periods: {},
uploadShow: true
} }
}, },
methods:{ methods:{
beforeAvatarUpload(){
this.uploadShow = false
},
handleRemove(){
this.uploadShow = true
},
handleAvatarSuccess(res) {
this.imageList = [{name:res.data.url,url:process.env.IMAGE_URL_HEAD + res.data.url}]
},
uploadFile(a) {
this.loading = true;
this.$store.dispatch('setProgress',{type:'new',id:a.file.uid});
this.fileUid = a.file.uid;
uploadFileApi({file:a.file,type:'all'}).then(res=>{
this.form.media_id = res.wechat_info ? res.wechat_info.media_id : '';
this.imageList = [{name:res.url,url:process.env.IMAGE_URL_HEAD + res.url}];
this.uploadShow = false;
this.loading = false;
this.$message({
type: 'success',
message: '上传成功!'
});
}).catch(()=>{
this.loading = false;
})
},
findDifferentArray(array1, array2){ findDifferentArray(array1, array2){
let newArray = []; let newArray = [];
array1.forEach((val)=>{ array1.forEach((val)=>{
...@@ -106,17 +151,21 @@ ...@@ -106,17 +151,21 @@
this.form = { this.form = {
teacher_id:'', teacher_id:'',
max_join_num:'', max_join_num:'',
source:'' source:'',
qr:""
}; };
this.type = 0;
this.getTeacher(); this.getTeacher();
break; break;
case 1: case 1:
this.type = 1;
getClassDetailApi(this.dialogObj.id).then(res=>{ getClassDetailApi(this.dialogObj.id).then(res=>{
this.form = { this.form = {
teacher_id: parseInt(res.teacher_id), teacher_id: parseInt(res.teacher_id),
max_join_num:res.max_join_num, max_join_num:res.max_join_num,
class_name:res.class_name, class_name:res.class_name,
source:res.source source:res.source,
qr:""
}; };
this.getTeacher(); this.getTeacher();
}) })
...@@ -139,12 +188,18 @@ ...@@ -139,12 +188,18 @@
}); });
}, },
onSave(){ onSave(){
if(this.imageList.length > 0){
this.form.qr = this.imageList[0].url;
}
let json = { let json = {
max_join_num:String(this.form.max_join_num), max_join_num:String(this.form.max_join_num),
teacher_id:String(this.form.teacher_id), teacher_id:String(this.form.teacher_id),
source : this.form.source, source : this.form.source,
class_name:this.form.class_name class_name:this.form.class_name,
qr:this.form.qr,
media_id:this.form.media_id
}; };
console.log(json)
switch (this.dialogObj.type) { switch (this.dialogObj.type) {
case 0: case 0:
let id = this.dialogObj.periodsId ? this.dialogObj.periodsId : this.periods.id; let id = this.dialogObj.periodsId ? this.dialogObj.periodsId : this.periods.id;
......
...@@ -131,6 +131,16 @@ ...@@ -131,6 +131,16 @@
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.class_name}} {{scope.row.class_name}}
</template> </template>
</el-table-column>
<el-table-column
prop="qr"
width="130"
label="班级二维码">
<template slot-scope="scope">
<a :href="scope.row.qr" target="_blank">
<img class="avatar" :src="scope.row.qr" alt="二维码">
</a>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="teacher_name" prop="teacher_name"
...@@ -440,6 +450,7 @@ ...@@ -440,6 +450,7 @@
.intro .el-form-item{ .intro .el-form-item{
margin-bottom: 0; margin-bottom: 0;
} }
.avatar{width: 100px;}
</style> </style>
<style> <style>
.demo-table-expand { .demo-table-expand {
...@@ -454,4 +465,5 @@ ...@@ -454,4 +465,5 @@
margin-bottom: 0; margin-bottom: 0;
width: 50%; width: 50%;
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment