3.21

parent 7561378b
<!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.5f7e6492ee853dd7909c.js></script><script type=text/javascript src=/static/js/vendor.520caa645c172051b099.js></script><script type=text/javascript src=/static/js/app.daec36241a8d0586c711.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.f0dbc4d6b1800bb65c3d.js></script><script type=text/javascript src=/static/js/vendor.520caa645c172051b099.js></script><script type=text/javascript src=/static/js/app.daec36241a8d0586c711.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 source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
webpackJsonp([53],{TPCG:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=s("CCn6"),o={name:"entrance",props:["entranceObj"],data:function(){return{activeName:"news_user",form:{msg:""},form2:{msg:""},thisList:{},thisList2:{},goodsList:[]}},mounted:function(){this.first(),this.second()},filters:{},methods:{handleClick:function(t){this.activeName=t.name,"news_user"===t.name?this.first():this.second()},first:function(){var t=this;Object(i._33)({key:"new_user_redirect"}).then(function(e){console.log(e);var s=e.list[0];t.form.msg=s.desc,t.thisList=s})},second:function(){var t=this;Object(i._40)({limit:100}).then(function(e){t.goodsList=e.list,Object(i._33)({key:"share_goods_id"}).then(function(e){console.log(e);var s=e.list[0];t.form2.msg=s.value,t.thisList2=s})})},submitForm:function(t){var e=this;this.$refs[t].validate(function(s){if(!s)return console.log("error submit!!"),!1;"form"==t?e.$confirm("确认修改吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){var t={key:e.thisList.key,value:e.thisList.value,desc:e.form.msg},s=e.thisList.id;console.log(s,t),Object(i._114)(s,t).then(function(t){e.$message({type:"success",message:"修改成功!"})})}):e.$confirm("确认修改吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){var t={key:e.thisList2.key,value:e.form2.msg,desc:e.thisList2.desc},s=e.thisList2.id;Object(i._114)(s,t).then(function(t){e.$message({type:"success",message:"修改成功!"})})})})}}},n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{staticStyle:{"margin-top":"30px"}}),t._v(" "),s("el-form",{ref:"form",staticClass:"demo-ruleForm",staticStyle:{width:"700px"},attrs:{model:t.form,"label-width":"220px"}},[s("el-form-item",{attrs:{label:"无课用户点我要上课跳转地址",prop:"msg",rules:[{required:!0,message:"配置信息不能为空"}]}},[s("el-input",{attrs:{type:"text",autocomplete:"off"},model:{value:t.form.msg,callback:function(e){t.$set(t.form,"msg",t._n(e))},expression:"form.msg"}})],1),t._v(" "),s("el-form-item",[t.$store.state.readonly?t._e():s("el-button",{attrs:{type:"primary"},on:{click:function(e){t.submitForm("form")}}},[t._v("确定")])],1)],1),t._v(" "),s("el-form",{ref:"form2",staticClass:"demo-ruleForm",staticStyle:{width:"600px"},attrs:{model:t.form2,"label-width":"120px"}},[s("el-form-item",{attrs:{label:"打卡商品ID",prop:"msg",rules:[{required:!0,message:"配置信息不能为空"}]}},[s("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择"},model:{value:t.form2.msg,callback:function(e){t.$set(t.form2,"msg",e)},expression:"form2.msg"}},t._l(t.goodsList,function(t){return s("el-option",{key:t.id,attrs:{label:"【"+t.id+"】"+t.name,value:t.id.toString()}})}))],1),t._v(" "),s("el-form-item",[t.$store.state.readonly?t._e():s("el-button",{attrs:{type:"primary"},on:{click:function(e){t.submitForm("form2")}}},[t._v("确定")])],1)],1)],1)};n._withStripped=!0;var r={render:n,staticRenderFns:[]},a=r;var c=!1;var l=s("VU/8")(o,a,!1,function(t){c||s("qJji")},"data-v-0492dcb0",null);l.options.__file="src\\components\\config\\index.vue";e.default=l.exports},ZniO:function(t,e,s){(t.exports=s("FZ+f")(!0)).push([t.i,"","",{version:3,sources:[],names:[],mappings:"",file:"index.vue",sourceRoot:""}])},qJji:function(t,e,s){var i=s("ZniO");"string"==typeof i&&(i=[[t.i,i,""]]),i.locals&&(t.exports=i.locals);s("rjj0")("2a27afec",i,!1,{})}});
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){var a=window.webpackJsonp;window.webpackJsonp=function(c,b,n){for(var r,t,o,i=0,u=[];i<c.length;i++)t=c[i],f[t]&&u.push(f[t][0]),f[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(a&&a(c,b,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=d(d.s=n[i]);return o};var c={},f={56:0};function d(a){if(c[a])return c[a].exports;var f=c[a]={i:a,l:!1,exports:{}};return e[a].call(f.exports,f,f.exports,d),f.l=!0,f.exports}d.e=function(e){var a=f[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var c=new Promise(function(c,d){a=f[e]=[c,d]});a[2]=c;var b=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=12e4,d.nc&&n.setAttribute("nonce",d.nc),n.src=d.p+"static/js/"+e+"."+{0:"90cd7a5c96c07d631637",1:"138337404053c7cd7019",2:"c328d06adc7ac7e64284",3:"fc9dc9a2b0a09cb567bc",4:"059ca7c142d3d8481359",5:"533eebc8d015c5c93845",6:"439a0329c26e9685ef3b",7:"60156628fb3ecea020c2",8:"85b6fe06267b11873800",9:"09523bba6af5134fcfac",10:"e8a1473ea634e12b615a",11:"3cf44e3e37b9aeaaf375",12:"74c12f74597904d09a2f",13:"ad016823eec839e73d7f",14:"1c3ae16bff7ea2cb7abc",15:"b737a588a1280b1b04d4",16:"a0d8305d2d064b546842",17:"72e867d245e70fdc0e87",18:"70a796e054cdf56e22c8",19:"05e06cd00d2d741a5e87",20:"2f66ad6f78e92df6b47f",21:"237275afa8b480da884d",22:"b077628f4035dda7e946",23:"5d2548372608c23ae23b",24:"e0ebc0153156ac190e4c",25:"24feaa210140cd422395",26:"900caa9a75ad9804ab36",27:"107307ad950b411f1382",28:"21954c14ca90bd550b01",29:"f127c305b7d05add31ff",30:"0c8692f4f04cbc89169d",31:"9c54b8af0ad0d7fef274",32:"50139333162a6e3abb39",33:"e8a37faef22f0bba68ab",34:"a51a51a9612f7cfd3ffa",35:"3febc01bc0e887e26e7d",36:"2f5b581299537d235564",37:"f7a65cabf3b141969162",38:"6484d2ec831c62486c90",39:"3a79adb7fed0462bbd80",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:"b5626c318954c18e3670"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var a=f[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),f[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),c},d.m=e,d.c=c,d.d=function(e,a,c){d.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:c})},d.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(a,"a",a),a},d.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},d.p="/",d.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.c0c54c036eb96c5b871c3092f212397e.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.935107c79b6b04d008e1.js></script><script type=text/javascript src=/static/js/vendor.1989ff930c83bbe25dc0.js></script><script type=text/javascript src=/static/js/app.084959edd85345db2dee.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.598c547bb77e44113f94ce0282ad050d.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.272cef392918df284bcf.js></script><script type=text/javascript src=/static/js/vendor.1989ff930c83bbe25dc0.js></script><script type=text/javascript src=/static/js/app.ba856941249f823f5fcf.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 source diff could not be displayed because it is too large. You can view the blob instead.
webpackJsonp([29],{TerN:function(t,e){},WvRy:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s=a("CCn6"),r={name:"index",components:{page:a("kmJW").a},data:function(){return{nowPage:1,total:0,limit:10,useTypeList:[{id:0,value:"未使用"},{id:1,value:"已使用"},{id:2,value:"禁用"}],searchFrom:{user_id:"",out_trade_no:"",status:0},list:[]}},filters:{filterStatus:function(t){var e="";return 0===t?e="未使用":1===t?e="已使用":2===t&&(e="禁用"),e}},mounted:function(){this.getList()},methods:{onPageChange:function(t){this.nowPage=t,this.getList()},onSizeChange:function(t){this.nowPage=1,this.limit=t,this.getList()},getList:function(){var t=this,e={limit:this.limit,page:this.nowPage};this.searchFrom.user_id&&(e.user_id=this.searchFrom.user_id),(this.searchFrom.status||0===this.searchFrom.status)&&(e.status=this.searchFrom.status),this.searchFrom.out_trade_no&&(e.out_trade_no=this.searchFrom.out_trade_no),Object(s._34)(e).then(function(e){t.total=e.total,t.list=e.list?e.list:[]})}}},o={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"refund"},[a("el-form",{ref:"searchFrom",attrs:{model:t.searchFrom,"label-width":"100px",inline:""}},[a("el-form-item",{attrs:{label:"用户ID"}},[a("el-input",{model:{value:t.searchFrom.user_id,callback:function(e){t.$set(t.searchFrom,"user_id",e)},expression:"searchFrom.user_id"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"订单号"}},[a("el-input",{model:{value:t.searchFrom.out_trade_no,callback:function(e){t.$set(t.searchFrom,"out_trade_no",e)},expression:"searchFrom.out_trade_no"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"使用状态"}},[a("el-select",{attrs:{placeholder:"请选择",clearable:""},on:{change:t.getList},model:{value:t.searchFrom.status,callback:function(e){t.$set(t.searchFrom,"status",e)},expression:"searchFrom.status"}},t._l(t.useTypeList,function(t){return a("el-option",{key:t.id,attrs:{label:t.value,value:t.id}})}))],1),t._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:t.getList}},[t._v("搜索")])],1)],1),t._v(" "),a("el-table",{staticStyle:{width:"100%"},attrs:{data:t.list}},[a("el-table-column",{attrs:{prop:"coupon_no",label:"优惠券码"}}),t._v(" "),a("el-table-column",{attrs:{prop:"out_trade_no",label:"订单号"}}),t._v(" "),a("el-table-column",{attrs:{label:"用户信息","min-width":"140",className:"userInfo"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("img",{staticClass:"avatar",attrs:{src:e.row.user_avatar}}),t._v("\n "+t._s(e.row.user_nickname)+"(ID:"+t._s(e.row.user_id)+")\n ")]}}])}),t._v(" "),a("el-table-column",{attrs:{label:"优惠券金额"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(parseFloat(e.row.money/100))+"元\n ")]}}])}),t._v(" "),a("el-table-column",{attrs:{label:"使用状态"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(t._f("filterStatus")(e.row.status))+"\n ")]}}])}),t._v(" "),a("el-table-column",{attrs:{prop:"use_at",label:"使用时间",sortable:""}})],1),t._v(" "),a("page",{attrs:{nowPage:t.nowPage,total:t.total},on:{pageChange:t.onPageChange,sizeChange:t.onSizeChange}})],1)},staticRenderFns:[]};var n=a("VU/8")(r,o,!1,function(t){a("TerN"),a("oZ+E")},"data-v-65af8274",null);e.default=n.exports},"oZ+E":function(t,e){}});
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
webpackJsonp([38],{"+jTk":function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=o("CCn6"),i=o("+TkF"),s=o("kmJW"),l=o("NC6I"),r=o.n(l),n={name:"admin",components:{page:s.a},data:function(){var e=this;return{nowPage:1,total:0,limit:10,adminList:[],searchFrom:{user_name:"",status:"",role_id:""},dialog:{dialogType:0,title:"新增账号",show:!1,select:[{code:0,value:i.a[0]},{code:1,value:i.a[1]}],rules:{username:[{validator:function(t,o,a){""===o&&0===e.dialog.dialogType?a(new Error("请输入账号")):a()},trigger:"blur"}],password:[{validator:function(t,o,a){""!==o||0!==e.dialog.dialogType&&2!==e.dialog.dialogType?(""===e.dialog.form.surePassword||0!==e.dialog.dialogType&&2!==e.dialog.dialogType||e.$refs.form.validateField("surePassword"),a()):a(new Error("请输入密码"))},trigger:"blur"}],surePassword:[{validator:function(t,o,a){0===e.dialog.dialogType||2===e.dialog.dialogType?""===o?a(new Error("请再次输入密码")):o!==e.dialog.form.password?a(new Error("两次输入密码不一致!")):a():a()},trigger:"blur"}],role_id:[{validator:function(t,o,a){0===e.dialog.dialogType||1===e.dialog.dialogType?""===o&&a(new Error("请输入角色")):a()},trigger:"blur"}],desc:[{validator:function(t,o,a){0===e.dialog.dialogType||1===e.dialog.dialogType?""===o&&a(new Error("请输入简述")):a()},trigger:"blur"}]},form:{id:"",username:"",password:"",surePassword:"",role_id:"",status:0,desc:""}},roleList:[]}},filters:{adminStatus:function(e){return i.a[e]}},created:function(){this.$route.query.roleId&&(this.searchFrom.role_id=parseInt(this.$route.query.roleId)),this.getList(),this.getRoleList()},methods:{getRoleList:function(){var e=this;Object(a._63)({page:1,limit:100}).then(function(t){t&&(e.roleList=t.list)})},onPageChange:function(e){this.nowPage=e,this.getList()},onSizeChange:function(e){this.nowPage=1,this.limit=e,this.getList()},getList:function(){var e=this,t={limit:this.limit,page:this.nowPage};this.searchFrom.user_name&&(t.user_name=this.searchFrom.user_name),""!==this.searchFrom.status&&(t.status=this.searchFrom.status),""!==this.searchFrom.role_id&&(t.role_id=this.searchFrom.role_id),Object(a._16)(t).then(function(t){e.adminList=t.list,e.total=Number(t.total),e.$store.commit("mainCanShow")})},editPW:function(e){this.dialog.form.id=e.id,this.dialog.dialogType=2,this.dialog.title="修改密码",this.dialog.form.password="",this.dialog.form.surePassword="",this.dialog.show=!0},edit:function(e){this.dialog.show=!0,this.dialog.dialogType=1,this.dialog.form.id=e.id,this.dialog.title="编辑",this.dialog.form.username=e.user_name,this.dialog.form.password="",this.dialog.form.status=e.status,this.dialog.form.role_id=e.role_id,this.dialog.form.desc=e.desc},add:function(){this.dialog.show=!0,this.dialog.dialogType=0,this.dialog.form.id="",this.dialog.title="新增",this.dialog.form.username="",this.dialog.form.status=0,this.dialog.form.password="",this.dialog.form.role_id="",this.dialog.form.desc=""},del:function(e){var t=this;this.$confirm("此操作将删除该账号?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(a.D)(e.id).then(function(e){t.$message({type:"success",message:"删除成功!"})}),t.getList()})},onSub:function(){var e=this,t=this.dialog;if(1===t.dialogType){var o={role_id:t.form.role_id,desc:t.form.desc,status:t.form.status};this.$confirm("此操作将编辑该账号?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(a.W)(t.form.id,o).then(function(){e.$message({type:"success",message:"修改成功!"}),t.show=!1,e.getList()})})}else if(0===t.dialogType){var i={role_id:t.form.role_id,desc:t.form.desc,passwd:r()(t.form.password),username:t.form.username};this.$confirm("此操作将添加新账号?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(a.a)(i).then(function(){e.$message({type:"success",message:"添加成功!"}),t.show=!1,e.getList()})})}else if(2===t.dialogType){var s={passwd_new:r()(t.form.password)};this.$confirm("此操作将修改此账号密码?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(a._7)(t.form.id,s).then(function(){e.$message({type:"success",message:"修改成功!"}),t.show=!1,e.getList()})})}}}},d={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"admin"},[e.$store.state.readonly?e._e():o("el-button",{staticStyle:{float:"right","margin-bottom":"10px"},attrs:{plain:"",type:"success"},on:{click:e.add}},[e._v("新增角色")]),e._v(" "),o("el-form",{ref:"searchFrom",attrs:{model:e.searchFrom,inline:"","label-width":"80px"}},[o("el-form-item",{attrs:{label:"用户名"}},[o("el-input",{model:{value:e.searchFrom.user_name,callback:function(t){e.$set(e.searchFrom,"user_name",t)},expression:"searchFrom.user_name"}})],1),e._v(" "),o("el-form-item",{attrs:{label:"状态"}},[o("el-select",{attrs:{placeholder:"请选择用户状态"},on:{change:e.getList},model:{value:e.searchFrom.status,callback:function(t){e.$set(e.searchFrom,"status",t)},expression:"searchFrom.status"}},[o("el-option",{attrs:{label:"全部",value:""}}),e._v(" "),o("el-option",{attrs:{label:"启用",value:0}}),e._v(" "),o("el-option",{attrs:{label:"冻结",value:1}})],1)],1),e._v(" "),o("el-form-item",{attrs:{label:"角色"}},[o("el-select",{attrs:{placeholder:"请选择角色类型"},on:{change:e.getList},model:{value:e.searchFrom.role_id,callback:function(t){e.$set(e.searchFrom,"role_id",t)},expression:"searchFrom.role_id"}},[o("el-option",{attrs:{label:"全部",value:""}}),e._v(" "),e._l(e.roleList,function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})],2)],1),e._v(" "),o("el-form-item",[o("el-button",{attrs:{type:"primary",plain:""},on:{click:e.getList}},[e._v("搜索")])],1)],1),e._v(" "),o("el-table",{staticStyle:{width:"100%"},attrs:{data:e.adminList}},[o("el-table-column",{attrs:{prop:"id",label:"账号ID"}}),e._v(" "),o("el-table-column",{attrs:{prop:"user_name",label:"用户名"}}),e._v(" "),o("el-table-column",{attrs:{prop:"role_name",label:"角色"}}),e._v(" "),o("el-table-column",{attrs:{label:"状态"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e._f("adminStatus")(t.row.status))+"\n ")]}}])}),e._v(" "),o("el-table-column",{attrs:{prop:"desc",label:"备注"}}),e._v(" "),o("el-table-column",{attrs:{prop:"last_login_at",label:"最后登陆时间",sortable:""}}),e._v(" "),e.$store.state.readonly?e._e():o("el-table-column",{attrs:{label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-popover",{attrs:{placement:"top",width:"280"}},[o("div",{staticStyle:{"text-align":"center"}},[o("el-button",{attrs:{size:"mini",plain:"",type:"primary"},on:{click:function(o){e.edit(t.row)}}},[e._v("\n 编辑\n ")]),e._v(" "),o("el-button",{attrs:{size:"mini",type:"warning",plain:""},on:{click:function(o){e.editPW(t.row)}}},[e._v("\n 修改密码\n ")]),e._v(" "),e.$store.state.deletePermission?o("el-button",{attrs:{size:"mini",type:"danger",plain:""},on:{click:function(o){e.del(t.row)}}},[e._v("\n 删除\n ")]):e._e()],1),e._v(" "),o("el-button",{attrs:{slot:"reference",size:"mini",type:"text"},slot:"reference"},[e._v("操作")])],1)]}}])})],1),e._v(" "),o("page",{attrs:{nowPage:e.nowPage,total:e.total,limit:e.limit},on:{pageChange:e.onPageChange,sizeChange:e.onSizeChange}}),e._v(" "),o("el-dialog",{attrs:{title:e.dialog.title,center:"","append-to-body":"",visible:e.dialog.show,width:"30%"},on:{"update:visible":function(t){e.$set(e.dialog,"show",t)}}},[o("el-form",{ref:"form",attrs:{rules:e.dialog.rules,model:e.dialog.form,"label-width":"80px"}},[0===e.dialog.dialogType?o("el-form-item",{attrs:{label:"账号",prop:"username"}},[o("el-input",{model:{value:e.dialog.form.username,callback:function(t){e.$set(e.dialog.form,"username",t)},expression:"dialog.form.username"}})],1):e._e(),e._v(" "),2===e.dialog.dialogType||0===e.dialog.dialogType?o("el-form-item",{attrs:{label:"密码",prop:"password"}},[o("el-input",{attrs:{type:"password"},model:{value:e.dialog.form.password,callback:function(t){e.$set(e.dialog.form,"password",t)},expression:"dialog.form.password"}})],1):e._e(),e._v(" "),2===e.dialog.dialogType||0===e.dialog.dialogType?o("el-form-item",{attrs:{label:"确认密码",prop:"surePassword"}},[o("el-input",{attrs:{type:"password"},model:{value:e.dialog.form.surePassword,callback:function(t){e.$set(e.dialog.form,"surePassword",t)},expression:"dialog.form.surePassword"}})],1):e._e(),e._v(" "),2!==e.dialog.dialogType?o("el-form-item",{attrs:{label:"角色",prop:"role_id"}},[o("el-select",{attrs:{placeholder:"请选择"},model:{value:e.dialog.form.role_id,callback:function(t){e.$set(e.dialog.form,"role_id",t)},expression:"dialog.form.role_id"}},e._l(e.roleList,function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}))],1):e._e(),e._v(" "),2!==e.dialog.dialogType?o("el-form-item",{attrs:{label:"简述",prop:"desc"}},[o("el-input",{model:{value:e.dialog.form.desc,callback:function(t){e.$set(e.dialog.form,"desc",t)},expression:"dialog.form.desc"}})],1):e._e(),e._v(" "),1===e.dialog.dialogType?o("el-form-item",{attrs:{label:"状态",prop:"status"}},[o("el-select",{attrs:{placeholder:"请选择"},model:{value:e.dialog.form.status,callback:function(t){e.$set(e.dialog.form,"status",t)},expression:"dialog.form.status"}},e._l(e.dialog.select,function(e){return o("el-option",{key:e.code,attrs:{label:e.value,value:e.code}})}))],1):e._e()],1),e._v(" "),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{on:{click:function(t){e.dialog.show=!1}}},[e._v("取 消")]),e._v(" "),o("el-button",{attrs:{type:"primary"},on:{click:e.onSub}},[e._v("确 定")])],1)],1)],1)},staticRenderFns:[]};var c=o("VU/8")(n,d,!1,function(e){o("qbdU")},"data-v-7e29e74f",null);t.default=c.exports},qbdU:function(e,t){}});
\ No newline at end of file
webpackJsonp([39],{"142B":function(e,t){},"v/LD":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a("CCn6"),n=a("+TkF"),i={name:"monthOrderCount",data:function(){var e=this;return{goodsList:[],headList:[],today:{text:"今天",onClick:function(t){t.$emit("pick",[e.formatTime(new Date),e.formatTime(new Date)])}},yesterday:{text:"昨天",onClick:function(t){var a=e.formatTime(new Date((new Date).getTime()-864e5));t.$emit("pick",[a,a])}},last7Day:{text:"过去7天",onClick:function(t){var a=e.formatTime(new Date((new Date).getTime()-6048e5));t.$emit("pick",[a,e.formatTime(new Date)])}},last30Day:{text:"过去30天",onClick:function(t){var a=e.formatTime(new Date((new Date).getTime()-2592e6));t.$emit("pick",[a,e.formatTime(new Date)])}},tableData:[],searchFrom:{priceList:[],dateValue:[]}}},mounted:function(){this.defaultTime(),this.initPage()},filters:{toFixed2:function(e){if("number"==typeof e){var t=e.toString().split(".");return t.length>1&&t[1].length>2?Number(e).toFixed(2):e}return e},filterGoods:function(e){return"["+e.id+"]["+n.h[e.goods_type]+"]["+e.current_price/100+"元]"+e.name}},methods:{formatTime:function(e){var t=e.getFullYear(),a=e.getMonth()+1;a<10&&(a="0"+a);var r=e.getDate();return r<10&&(r="0"+r),t+"-"+a+"-"+r},initPage:function(){var e=this;Object(r._40)({limit:99999,course_type:0,status:"1,2"}).then(function(t){t.list.forEach(function(t){e.searchFrom.priceList.push(t.id)}),e.goodsList=t.list,e.searchPage()})},searchPage:function(){var e=this;if(console.log(this.searchFrom.dateValue),this.searchFrom.dateValue.length<2)this.$message.error("请先选择起止日期");else{var t={start_at:this.searchFrom.dateValue[0],end_at:this.searchFrom.dateValue[1],goods_ids:this.searchFrom.priceList.toString()};Object(r._90)(t).then(function(t){if(t.length>0){var a=t[0];for(var r in e.tableData=t,e.headList=[],a)"cur_date"===r?e.headList.push("时间"):"register_num"===r?e.headList.push("注册数"):"total_money"===r?e.headList.push("总金额"):e.headList.push(r)}})}},defaultTime:function(){var e=new Date,t=e.getFullYear(),a=e.getMonth()+1;a<10&&(a="0"+a);var r=e.getDate();r<10&&(r="0"+r);var n=t+"-"+a+"-01",i=t+"-"+a+"-"+r;this.searchFrom.dateValue=[n,i]}}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"orderCount"},[a("el-form",{ref:"searchFrom",attrs:{inline:"",model:e.searchFrom,"label-width":"100px"}},[a("el-form-item",{attrs:{label:"商品"}},[a("el-select",{staticStyle:{width:"600px"},attrs:{"collapse-tags":"",multiple:"",filterable:"",placeholder:"请选择"},on:{change:e.searchPage},model:{value:e.searchFrom.priceList,callback:function(t){e.$set(e.searchFrom,"priceList",t)},expression:"searchFrom.priceList"}},e._l(e.goodsList,function(t){return a("el-option",{key:t.id,attrs:{label:e._f("filterGoods")(t),value:t.id}})}))],1),e._v(" "),a("el-form-item",{attrs:{label:"起止日期"}},[a("el-date-picker",{attrs:{"unlink-panels":"",type:"daterange","picker-options":{shortcuts:[e.today,e.yesterday,e.last7Day,e.last30Day]},"value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},on:{change:e.searchPage},model:{value:e.searchFrom.dateValue,callback:function(t){e.$set(e.searchFrom,"dateValue",t)},expression:"searchFrom.dateValue"}})],1),e._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.searchPage()}}},[e._v("\n 搜索\n ")])],1)],1),e._v(" "),a("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData}},e._l(e.headList,function(t){return a("el-table-column",{key:t,attrs:{label:t},scopedSlots:e._u([{key:"default",fn:function(r){return["时间"===t?a("span",[e._v("\n "+e._s(r.row.cur_date)+"\n ")]):e._e(),e._v(" "),"注册数"===t?a("span",[e._v("\n "+e._s(r.row.register_num)+"\n ")]):e._e(),e._v(" "),"总金额"===t?a("span",[e._v("\n "+e._s(r.row.total_money)+"\n ")]):e._e(),e._v(" "),"时间"!==t&&"注册数"!==t&&"总金额"!==t?a("span",[e._v("\n "+e._s(e._f("toFixed2")(r.row[t]))+"\n ")]):e._e()]}}])})}))],1)},staticRenderFns:[]};var o=a("VU/8")(i,s,!1,function(e){a("142B")},"data-v-72f2aa1b",null);t.default=o.exports}});
\ No newline at end of file
webpackJsonp([40],{TZwE:function(e,t){},mjLz:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a("CCn6"),n=a("+TkF"),i={name:"dayOrderCount",data:function(){var e=this;return{goodsList:[],headList:[],tableData:[],today:{text:"今天",onClick:function(t){t.$emit("pick",[e.formatTime(new Date),e.formatTime(new Date)])}},yesterday:{text:"昨天",onClick:function(t){var a=e.formatTime(new Date((new Date).getTime()-864e5));t.$emit("pick",[a,a])}},last7Day:{text:"过去7天",onClick:function(t){var a=e.formatTime(new Date((new Date).getTime()-6048e5));t.$emit("pick",[a,e.formatTime(new Date)])}},last30Day:{text:"过去30天",onClick:function(t){var a=e.formatTime(new Date((new Date).getTime()-2592e6));t.$emit("pick",[a,e.formatTime(new Date)])}},searchFrom:{priceList:[],dateValue:[]}}},mounted:function(){this.defaultTime(),this.initPage()},filters:{toFixed2:function(e){if("number"==typeof e){var t=e.toString().split(".");return t.length>1&&t[1].length>2?Number(e).toFixed(2):e}return e},filterGoods:function(e){return"["+e.id+"]["+n.h[e.goods_type]+"]["+e.current_price/100+"元]"+e.name}},methods:{formatTime:function(e){var t=e.getFullYear(),a=e.getMonth()+1;a<10&&(a="0"+a);var r=e.getDate();return r<10&&(r="0"+r),t+"-"+a+"-"+r},initPage:function(){var e=this;Object(r._40)({limit:99999,course_type:1,status:"1,2"}).then(function(t){t.list.forEach(function(t){e.searchFrom.priceList.push(t.id)}),e.goodsList=t.list,e.searchPage()})},searchPage:function(){var e=this;if(this.searchFrom.dateValue.length<2)this.$message.error("请先选择起止日期");else{var t={start_at:this.searchFrom.dateValue[0],end_at:this.searchFrom.dateValue[1],goods_ids:this.searchFrom.priceList.toString(),course_type:1};Object(r._90)(t).then(function(t){if(t.length>0){var a=t[0];for(var r in e.tableData=t,e.headList=[],a)"cur_date"===r?e.headList.push("时间"):"register_num"===r?e.headList.push("注册数"):"total_money"===r?e.headList.push("总金额"):e.headList.push(r)}})}},defaultTime:function(){var e=new Date,t=e.getFullYear(),a=e.getMonth()+1;a<10&&(a="0"+a);var r=e.getDate();r<10&&(r="0"+r);var n=t+"-"+a+"-01",i=t+"-"+a+"-"+r;this.searchFrom.dateValue=[n,i]}}},s={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"orderCount"},[a("el-form",{ref:"searchFrom",attrs:{inline:"",model:e.searchFrom,"label-width":"100px"}},[a("el-form-item",{attrs:{label:"商品"}},[a("el-select",{staticStyle:{width:"600px"},attrs:{"collapse-tags":"",multiple:"",filterable:"",placeholder:"请选择"},on:{change:e.searchPage},model:{value:e.searchFrom.priceList,callback:function(t){e.$set(e.searchFrom,"priceList",t)},expression:"searchFrom.priceList"}},e._l(e.goodsList,function(t){return a("el-option",{key:t.id,attrs:{label:e._f("filterGoods")(t),value:t.id}})}))],1),e._v(" "),a("el-form-item",{attrs:{label:"起止日期"}},[a("el-date-picker",{attrs:{"unlink-panels":"","picker-options":{shortcuts:[e.today,e.yesterday,e.last7Day,e.last30Day]},type:"daterange","value-format":"yyyy-MM-dd","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期"},on:{change:e.searchPage},model:{value:e.searchFrom.dateValue,callback:function(t){e.$set(e.searchFrom,"dateValue",t)},expression:"searchFrom.dateValue"}})],1),e._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-button",{attrs:{type:"primary"},on:{click:function(t){e.searchPage()}}},[e._v("\n 搜索\n ")])],1)],1),e._v(" "),a("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData}},e._l(e.headList,function(t){return a("el-table-column",{key:t,attrs:{label:t},scopedSlots:e._u([{key:"default",fn:function(r){return["时间"===t?a("span",[e._v("\n "+e._s(r.row.cur_date)+"\n ")]):e._e(),e._v(" "),"注册数"===t?a("span",[e._v("\n "+e._s(r.row.register_num)+"\n ")]):e._e(),e._v(" "),"总金额"===t?a("span",[e._v("\n "+e._s(r.row.total_money)+"\n ")]):e._e(),e._v(" "),"时间"!==t&&"注册数"!==t&&"总金额"!==t?a("span",[e._v("\n "+e._s(e._f("toFixed2")(r.row[t]))+"\n ")]):e._e()]}}])})}))],1)},staticRenderFns:[]};var o=a("VU/8")(i,s,!1,function(e){a("TZwE")},"data-v-5cc01ba2",null);t.default=o.exports}});
\ No newline at end of file
webpackJsonp([41],{NgAc:function(t,e){},TPCG:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=s("CCn6"),o={name:"entrance",props:["entranceObj"],data:function(){return{activeName:"news_user",form:{msg:""},form2:{msg:""},thisList:{},thisList2:{},goodsList:[]}},mounted:function(){this.first(),this.second()},filters:{},methods:{handleClick:function(t){this.activeName=t.name,"news_user"===t.name?this.first():this.second()},first:function(){var t=this;Object(i._33)({key:"new_user_redirect"}).then(function(e){console.log(e);var s=e.list[0];t.form.msg=s.desc,t.thisList=s})},second:function(){var t=this;Object(i._40)({limit:100}).then(function(e){t.goodsList=e.list,Object(i._33)({key:"share_goods_id"}).then(function(e){console.log(e);var s=e.list[0];t.form2.msg=s.value,t.thisList2=s})})},submitForm:function(t){var e=this;this.$refs[t].validate(function(s){if(!s)return console.log("error submit!!"),!1;"form"==t?e.$confirm("确认修改吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){var t={key:e.thisList.key,value:e.thisList.value,desc:e.form.msg},s=e.thisList.id;console.log(s,t),Object(i._114)(s,t).then(function(t){e.$message({type:"success",message:"修改成功!"})})}):e.$confirm("确认修改吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){var t={key:e.thisList2.key,value:e.form2.msg,desc:e.thisList2.desc},s=e.thisList2.id;Object(i._114)(s,t).then(function(t){e.$message({type:"success",message:"修改成功!"})})})})}}},r={render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{staticStyle:{"margin-top":"30px"}}),t._v(" "),s("el-form",{ref:"form",staticClass:"demo-ruleForm",staticStyle:{width:"700px"},attrs:{model:t.form,"label-width":"220px"}},[s("el-form-item",{attrs:{label:"无课用户点我要上课跳转地址",prop:"msg",rules:[{required:!0,message:"配置信息不能为空"}]}},[s("el-input",{attrs:{type:"text",autocomplete:"off"},model:{value:t.form.msg,callback:function(e){t.$set(t.form,"msg",t._n(e))},expression:"form.msg"}})],1),t._v(" "),s("el-form-item",[t.$store.state.readonly?t._e():s("el-button",{attrs:{type:"primary"},on:{click:function(e){t.submitForm("form")}}},[t._v("确定")])],1)],1),t._v(" "),s("el-form",{ref:"form2",staticClass:"demo-ruleForm",staticStyle:{width:"600px"},attrs:{model:t.form2,"label-width":"120px"}},[s("el-form-item",{attrs:{label:"打卡商品ID",prop:"msg",rules:[{required:!0,message:"配置信息不能为空"}]}},[s("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择"},model:{value:t.form2.msg,callback:function(e){t.$set(t.form2,"msg",e)},expression:"form2.msg"}},t._l(t.goodsList,function(t){return s("el-option",{key:t.id,attrs:{label:"【"+t.id+"】"+t.name,value:t.id.toString()}})}))],1),t._v(" "),s("el-form-item",[t.$store.state.readonly?t._e():s("el-button",{attrs:{type:"primary"},on:{click:function(e){t.submitForm("form2")}}},[t._v("确定")])],1)],1)],1)},staticRenderFns:[]};var n=s("VU/8")(o,r,!1,function(t){s("NgAc")},"data-v-51d47986",null);e.default=n.exports}});
\ No newline at end of file
webpackJsonp([46],{"0HId":function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s("CCn6"),n=s("NC6I"),o=s.n(n),i={data:function(){return{login:{username:"",password:""},loginRules:{username:[{required:!0,message:"请输入您的用户名",trigger:"blur"}],password:[{required:!0,message:"请输入您的密码",trigger:"blur"}]}}},mounted:function(){var e=this;document.onkeydown=function(t){var s=t||window.event;if(13===(s.keyCode||s.which||s.charCode)&&"login"===e.$route.name)return e.submitForm(),!1;return!0}},methods:{submitForm:function(){var e=this;this.$refs.loginForm.validate(function(t){if(t){var s={username:e.login.username,password:o()(e.login.password)};Object(r._86)(s).then(function(t){if(t.teacher_info){var s=JSON.stringify(t.teacher_info);localStorage.setItem("phoneNum",s)}else localStorage.setItem("phoneNum","");e.$store.dispatch("setToken",t.token),e.$store.dispatch("setUserName",t.desc),e.$store.dispatch("setPermission",JSON.parse(t.roles.menu_ids)),window.location.href="/"})}})}}},a={render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"login"},[s("div",{staticClass:"wrap-main"},[s("h1",{staticClass:"title"},[e._v("唱唱启蒙——后台管理系统")]),e._v(" "),s("el-form",{ref:"loginForm",attrs:{model:e.login,rules:e.loginRules}},[s("el-form-item",{attrs:{prop:"username"}},[s("el-input",{attrs:{placeholder:"用户名"},model:{value:e.login.username,callback:function(t){e.$set(e.login,"username",t)},expression:"login.username"}})],1),e._v(" "),s("el-form-item",{attrs:{prop:"password"}},[s("el-input",{attrs:{type:"password",placeholder:"密码"},model:{value:e.login.password,callback:function(t){e.$set(e.login,"password",t)},expression:"login.password"}})],1),e._v(" "),s("el-form-item",[s("el-button",{staticClass:"btn",attrs:{size:"medium",type:"primary"},on:{click:e.submitForm}},[e._v("登陆")])],1)],1)],1)])},staticRenderFns:[]};var l=s("VU/8")(i,a,!1,function(e){s("eumS")},"data-v-2dac99f0",null);t.default=l.exports},eumS:function(e,t){}});
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
!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],f[t]&&u.push(f[t][0]),f[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=d(d.s=n[i]);return o};var a={},f={56:0};function d(c){if(a[c])return a[c].exports;var f=a[c]={i:c,l:!1,exports:{}};return e[c].call(f.exports,f,f.exports,d),f.l=!0,f.exports}d.e=function(e){var c=f[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var a=new Promise(function(a,d){c=f[e]=[a,d]});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,d.nc&&n.setAttribute("nonce",d.nc),n.src=d.p+"static/js/"+e+"."+{0:"a586c37d4a23974da8fb",1:"24215082d00dbd601def",2:"099ddf549abea580de15",3:"2fd5024e02da1802b598",4:"5352a82878badb954d35",5:"9017de79e056fe039271",6:"75fb2370a23c426c5ed7",7:"5896293c7e6a022b7d23",8:"cdc034b21a51a5f6567f",9:"a480c8692470d845b0ff",10:"539ddfbd8ca7c237c7ba",11:"b83630794ed1bdf240d3",12:"e066be58ed5d9f6c9a77",13:"4c15db81bdfbbe1a4848",14:"33a974191b0b3041450d",15:"ecc499a3a0d70978ac1a",16:"c8ee860ac7e1f387a548",17:"6d7cacb1bc4e18a7743e",18:"c713b5f85c01f63b12b7",19:"66d7cc35e87dc1c6ff65",20:"7d6f945e054efb021fd3",21:"59bf5d59ff55eb3c63ed",22:"bcfc3baef4252e9a9624",23:"de07e0c6c6d1744ac40c",24:"fafeb3774191996a7f69",25:"e9295812a05e8b5c9f30",26:"75f836ead08b561067dc",27:"33d7c7ae016e67f1eb5e",28:"aa18fd01cde2355eb04e",29:"9856a8b49b08c45fd4ef",30:"63e864f06cba58bcf835",31:"0ec9476a2eec236b3b31",32:"ef62d541e6f7dfa12653",33:"19ab65cf0e4b00b33a91",34:"5dac0109ef7103954e96",35:"bfca94e4e2df12006846",36:"b12b8e33ace7bb96e972",37:"50ade86b59e643c8b921",38:"ef7972ac0c27589daa15",39:"3cbe77ceb237cfabb852",40:"f0073c2180393a2b2aca",41:"83582534e698d1498020",42:"bfcf4d980f9588d2fc8b",43:"0576c0fd8ad570a399a7",44:"ad3e6c4e5b70de51ae03",45:"68583a0542f295ed5289",46:"40f34f7681cc31b03d5e",47:"51720486f0d416a565cf",48:"b163cd5e2750e3f00800",49:"eb695dd9c3b54c60e6db",50:"831a445bacf7437c4bec",51:"b68cecbb9758276ea5ce",52:"ad1410c1e547f2943941",53:"27ee80f01739d59ef386"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=f[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),f[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),a},d.m=e,d.c=a,d.d=function(e,c,a){d.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:a})},d.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(c,"a",c),c},d.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},d.p="/",d.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
...@@ -2,18 +2,18 @@ ...@@ -2,18 +2,18 @@
<div> <div>
<div style="margin-top:30px;"> <div style="margin-top:30px;">
</div> </div>
<el-tabs v-model="activeName" type="card" @tab-click="handleClick"> <!-- <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="新用户跳转链接" name="news_user"> <el-tab-pane label="新用户跳转链接" name="news_user"> -->
<el-form :model="form" ref="form" label-width="120px" class="demo-ruleForm" style="width:600px;"> <el-form :model="form" ref="form" label-width="220px" class="demo-ruleForm" style="width:700px;">
<el-form-item label="链接地址" prop="msg" :rules="[{ required: true, message: '配置信息不能为空'}, ]"> <el-form-item label="无课用户点我要上课跳转地址" prop="msg" :rules="[{ required: true, message: '配置信息不能为空'}, ]">
<el-input type="text" v-model.number="form.msg" autocomplete="off"></el-input> <el-input type="text" v-model.number="form.msg" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm('form')" v-if="!$store.state.readonly">确定</el-button> <el-button type="primary" @click="submitForm('form')" v-if="!$store.state.readonly">确定</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> <!-- </el-tab-pane> -->
<el-tab-pane label="打卡商品ID" name="share_goods"> <!-- <el-tab-pane label="打卡商品ID" name="share_goods"> -->
<el-form :model="form2" ref="form2" label-width="120px" class="demo-ruleForm" style="width:600px;"> <el-form :model="form2" ref="form2" label-width="120px" class="demo-ruleForm" style="width:600px;">
<el-form-item label="打卡商品ID" prop="msg" :rules="[{ required: true, message: '配置信息不能为空'},]" > <el-form-item label="打卡商品ID" prop="msg" :rules="[{ required: true, message: '配置信息不能为空'},]" >
<el-select v-model="form2.msg" placeholder="请选择" style="width: 100%"> <el-select v-model="form2.msg" placeholder="请选择" style="width: 100%">
...@@ -28,9 +28,8 @@ ...@@ -28,9 +28,8 @@
<el-button type="primary" @click="submitForm('form2')" v-if="!$store.state.readonly">确定</el-button> <el-button type="primary" @click="submitForm('form2')" v-if="!$store.state.readonly">确定</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> <!-- </el-tab-pane> -->
</el-tabs> <!-- </el-tabs> -->
</div> </div>
</template> </template>
<script> <script>
...@@ -54,6 +53,7 @@ export default { ...@@ -54,6 +53,7 @@ export default {
}, },
mounted() { mounted() {
this.first(); this.first();
this.second();
}, },
filters: {}, filters: {},
methods: { methods: {
...@@ -67,6 +67,7 @@ export default { ...@@ -67,6 +67,7 @@ export default {
}, },
first() { first() {
getConfigListApi({key: 'new_user_redirect'}).then(res => { getConfigListApi({key: 'new_user_redirect'}).then(res => {
console.log(res)
let thisList = res.list[0] let thisList = res.list[0]
this.form.msg=thisList.desc; this.form.msg=thisList.desc;
this.thisList=thisList; this.thisList=thisList;
...@@ -76,6 +77,7 @@ export default { ...@@ -76,6 +77,7 @@ export default {
getGoodsListApi({limit:100}).then((res)=>{ getGoodsListApi({limit:100}).then((res)=>{
this.goodsList = res.list; this.goodsList = res.list;
getConfigListApi({key: 'share_goods_id'}).then(res => { getConfigListApi({key: 'share_goods_id'}).then(res => {
console.log(res)
let thisList2 = res.list[0] let thisList2 = res.list[0]
this.form2.msg=thisList2.value; this.form2.msg=thisList2.value;
this.thisList2=thisList2; this.thisList2=thisList2;
...@@ -124,7 +126,6 @@ export default { ...@@ -124,7 +126,6 @@ export default {
}); });
}); });
}); });
} }
} else { } else {
console.log("error submit!!"); console.log("error submit!!");
...@@ -136,5 +137,6 @@ export default { ...@@ -136,5 +137,6 @@ export default {
}; };
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
// .el-form-item{display: inline-block;}
</style> </style>
...@@ -30,16 +30,19 @@ ...@@ -30,16 +30,19 @@
</el-form-item> </el-form-item>
<el-form-item label="是否激活"> <el-form-item label="是否激活">
<el-select <el-select
clearable
@change="initPage"
v-model="searchFrom.user_buy" v-model="searchFrom.user_buy"
size="medium" size="medium"
> >
<el-option label="全部" :value="-1"></el-option>
<el-option label="已激活" :value="1"></el-option> <el-option label="已激活" :value="1"></el-option>
<el-option label="未激活" :value="0"></el-option> <el-option label="未激活" :value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="沟通状态"> <el-form-item label="沟通状态">
<el-select <el-select
clearable
@change="initPage"
v-model="searchFrom.status" v-model="searchFrom.status"
size="medium" size="medium"
> >
...@@ -50,8 +53,7 @@ ...@@ -50,8 +53,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="来源"> <el-form-item label="来源">
<el-input v-model="searchFrom.source" placeholder="名称" <el-input v-model="searchFrom.source" placeholder="名称"></el-input>
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="昵称"> <el-form-item label="昵称">
<el-input v-model="searchFrom.nickname" style="width: 110px"></el-input> <el-input v-model="searchFrom.nickname" style="width: 110px"></el-input>
...@@ -60,10 +62,18 @@ ...@@ -60,10 +62,18 @@
<el-input v-model="searchFrom.mobile" style="width: 120px"></el-input> <el-input v-model="searchFrom.mobile" style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="商品名称"> <el-form-item label="商品名称">
<el-select v-model="searchFrom.goods_id" placeholder="请选择" style="width: 150px" clearable> <el-select v-model="searchFrom.goods_id" placeholder="请选择" style="width: 150px" @change="initPage" clearable>
<el-option v-for="(data,index) in goodList" :key="index" :label="data | filterGoods" :value="data.id"> <el-option v-for="(data,index) in goodList" :key="index" :label="data | filterGoods" :value="data.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item>
<el-form-item label="老师">
<el-select v-model="searchFrom.teacher_id" placeholder="请选择" @change="initPage" clearable filterable style="width: 180px">
<el-option label="未指定" value="0">
</el-option>
<el-option v-for="(data,index) in teacherList" :key="index" :label="data.name" :value="data.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" plain @click="initPage"> <el-button type="primary" plain @click="initPage">
......
...@@ -32,11 +32,16 @@ ...@@ -32,11 +32,16 @@
</div> </div>
<div v-if="radio1==2"> <div v-if="radio1==2">
<div class="radio_title">选择用户性别 :</div> <div class="radio_title">选择用户性别 :</div>
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange" style="margin-bottom:10px;" >全选</el-checkbox>
<el-checkbox-group @change="sexChange" v-model="checksex"> <el-checkbox-group @change="sexChange" v-model="checksex">
<el-checkbox v-for="item in sex" :label="item.code" :key="item.code">{{item.name}}</el-checkbox> <el-checkbox v-for="item in sex" :label="item.code" :key="item.code">{{item.name}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<div class="radio_title">选择地区 :</div>
<el-select v-model="secProvince" placeholder="请选择" multiple clearable filterable style="width: 300px">
<el-option v-for="item in province" :key="item" :label="item" :value="item">
</el-option>
</el-select>
</div> </div>
<div class="radio" v-if="radio1==2"> <div class="radio" v-if="radio1==2">
<div class="radio_title">选择用户类型 :</div> <div class="radio_title">选择用户类型 :</div>
<el-radio-group @change="radio2change" v-model="radio2"> <el-radio-group @change="radio2change" v-model="radio2">
...@@ -433,6 +438,7 @@ ...@@ -433,6 +438,7 @@
size="mini" size="mini"
:data="periodList" :data="periodList"
@select="periodsSelectionChange" @select="periodsSelectionChange"
@select-all="periodSelectionAll"
style="width: 100%" fixed> style="width: 100%" fixed>
<el-table-column <el-table-column
type="selection" type="selection"
...@@ -512,6 +518,7 @@ ...@@ -512,6 +518,7 @@
size="small" size="small"
:data="goodList" :data="goodList"
@select="goodsSelectionChange" @select="goodsSelectionChange"
@select-all="goodsSelectionAll"
style="width: 100%" fixed> style="width: 100%" fixed>
<el-table-column <el-table-column
type="selection" type="selection"
...@@ -614,7 +621,6 @@ ...@@ -614,7 +621,6 @@
<el-button @click="userDialog.show = false">取 消</el-button> <el-button @click="userDialog.show = false">取 消</el-button>
<el-button type="primary" @click="onConfirm">确 定</el-button> <el-button type="primary" @click="onConfirm">确 定</el-button>
</span> </span>
<!-- @selection-change="handleSelectionChange" -->
<div class="tableBox" > <div class="tableBox" >
<div class="item" > <div class="item" >
<p>筛选列表</p> <p>筛选列表</p>
...@@ -622,6 +628,7 @@ ...@@ -622,6 +628,7 @@
:data="userList" :data="userList"
ref="multipleTable" ref="multipleTable"
@select="handleSelectionChange" @select="handleSelectionChange"
@select-all="handleSelectionAll"
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
type="selection" type="selection"
...@@ -670,7 +677,6 @@ ...@@ -670,7 +677,6 @@
</div> </div>
</div> </div>
<page :total="userDialog.total" :limit="userDialog.limit" @pageChange="onUserPageChange" @sizeChange="onUserSizeChange"/> <page :total="userDialog.total" :limit="userDialog.limit" @pageChange="onUserPageChange" @sizeChange="onUserSizeChange"/>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -706,8 +712,13 @@ export default { ...@@ -706,8 +712,13 @@ export default {
}, },
data() { data() {
return { return {
checksex:['-1'], checksex:[],
sex:[{name:"不限",code:"-1"},{name:"保密",code:"0"},{name:"男",code:"1"},{name:"女",code:"2"}], sex:[{name:"保密",code:"0"},{name:"男",code:"1"},{name:"女",code:"2"}],
province:['上海','云南','内蒙古','北京','台湾','吉林','四川','天津','宁夏','安徽','山东','山西','广东','广西','新疆'
,'江苏','江西','河北','河南','浙江','海南','湖北','湖南','澳门','甘肃','福建','西藏','贵州','辽宁','重庆','陕西','青海','香港','黑龙江'],
secProvince:[],
checkAll:false,
isIndeterminate:false,
sendReviewDialog:false, sendReviewDialog:false,
sendReviewId:"", sendReviewId:"",
goodList:[], goodList:[],
...@@ -826,6 +837,28 @@ export default { ...@@ -826,6 +837,28 @@ export default {
} }
}, },
methods: { methods: {
handleCheckAllChange(val) {
console.log(val)
if(val){
this.sex.forEach(el => {
this.checksex.push(el.code)
})
}else{
this.checksex = []
}
// this.checksex = val ? this.sex : [];
console.log(this.checksex )
this.isIndeterminate = false;
},
sexChange(val){
let checkedCount = val.length;
this.checkAll = checkedCount === this.sex.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.sex.length;
// console.log(val)
// this.checksex = val ? this.sex : [];
// console.log(this.checksex)
// this.isIndeterminate = false;
},
updateFans(){ updateFans(){
updateFansApi({}).then(res=>{ updateFansApi({}).then(res=>{
this.$message({ this.$message({
...@@ -853,9 +886,6 @@ export default { ...@@ -853,9 +886,6 @@ export default {
}) })
}) })
}, },
sexChange(){
console.log(this.checksex)
},
getLessonOption(){ getLessonOption(){
let json = { let json = {
page: 1, page: 1,
...@@ -1209,9 +1239,12 @@ export default { ...@@ -1209,9 +1239,12 @@ export default {
if(this.checksex){ if(this.checksex){
json.sex = this.checksex.join(',') json.sex = this.checksex.join(',')
} }
if(this.secProvince){
json.province = this.secProvince.join(',')
}
json.content = JSON.stringify(_content); json.content = JSON.stringify(_content);
json.is_test = this.searchFrom.is_test ? 2 : 1; json.is_test = this.searchFrom.is_test ? 2 : 1;
console.log("json", json); // console.log("json", json);
updateFansApi({}).then(res=>{ updateFansApi({}).then(res=>{
this.getMsgCount(json).then((res)=>{ this.getMsgCount(json).then((res)=>{
this.$confirm('你将发送给'+res+"位用户", "提示", { this.$confirm('你将发送给'+res+"位用户", "提示", {
...@@ -1334,6 +1367,25 @@ export default { ...@@ -1334,6 +1367,25 @@ export default {
} }
this.secPeriods.push(el) this.secPeriods.push(el)
}, },
periodSelectionAll(val){
if(this.secPeriods.length==0){
this.secPeriods = [...val]
}else{
let length = this.secPeriods.length
for(let j=0;j<val.length;j++){
for(let i=0;i<=length;i++){
if(val[j].id==this.secPeriods[i].id){
break
}else{
if(i==length-1){
this.secPeriods.push(val[j])
break
}
}
}
}
}
},
perioddel(el){ perioddel(el){
for(let i=0;i<this.secPeriods.length;i++){ for(let i=0;i<this.secPeriods.length;i++){
if(el.id==this.secPeriods[i].id){ if(el.id==this.secPeriods[i].id){
...@@ -1378,6 +1430,25 @@ export default { ...@@ -1378,6 +1430,25 @@ export default {
this.secGoods.push(el) this.secGoods.push(el)
console.log(el) console.log(el)
}, },
goodsSelectionAll(val){
if(this.secGoods.length==0){
this.secGoods = [...val]
}else{
let length = this.secGoods.length
for(let j=0;j<val.length;j++){
for(let i=0;i<=length;i++){
if(val[j].id==this.secGoods[i].id){
break
}else{
if(i==length-1){
this.secGoods.push(val[j])
break
}
}
}
}
}
},
goodsdel(el){ goodsdel(el){
for(let i=0;i<this.secGoods.length;i++){ for(let i=0;i<this.secGoods.length;i++){
if(el.id==this.secGoods[i].id){ if(el.id==this.secGoods[i].id){
...@@ -1416,6 +1487,25 @@ export default { ...@@ -1416,6 +1487,25 @@ export default {
} }
this.handSecUser.push(el) this.handSecUser.push(el)
}, },
handleSelectionAll(val){
if(this.handSecUser.length==0){
this.handSecUser = [...val]
}else{
let length = this.handSecUser.length
for(let j=0;j<val.length;j++){
for(let i=0;i<=length;i++){
if(val[j].user_id==this.handSecUser[i].user_id){
break
}else{
if(i==length-1){
this.handSecUser.push(val[j])
break
}
}
}
}
}
},
userdel(el){ userdel(el){
for(let i=0;i<this.handSecUser.length;i++){ for(let i=0;i<this.handSecUser.length;i++){
if(el.user_id==this.handSecUser[i].user_id){ if(el.user_id==this.handSecUser[i].user_id){
......
...@@ -94,12 +94,12 @@ ...@@ -94,12 +94,12 @@
prop="name" prop="name"
label="召回率"> label="召回率">
<template slot-scope="scope"> <template slot-scope="scope">
回复率:<el-progress 达标率:<el-progress
style="display: inline-block;width: calc(90% - 50px)" style="display: inline-block;width: calc(90% - 50px)"
:text-inside="true" :text-inside="true"
:stroke-width="18" :stroke-width="18"
color="#67C23A" color="#67C23A"
:percentage="Number(scope.row.recall_reply_rate)?Number(scope.row.recall_reply_rate):0"> :percentage="Number(scope.row.recall_watch_rate)?Number(scope.row.recall_watch_rate):0">
</el-progress> </el-progress>
<br> <br>
处理率:<el-progress 处理率:<el-progress
......
...@@ -44,10 +44,10 @@ ...@@ -44,10 +44,10 @@
</div> </div>
<div style="height: 19px;line-height: 19px"> <div style="height: 19px;line-height: 19px">
<span v-if="item.is_start_course !== 1">-</span> <span v-if="item.is_start_course !== 1">-</span>
<span v-if="item.is_start_course === 1">{{item.watch_rate}}</span></div> <span v-if="item.is_start_course === 1">{{item.watch_rate}}%</span></div>
<div style="height: 19px;line-height: 19px"> <div style="height: 19px;line-height: 19px">
<span v-if="item.is_start_course !== 1">-</span> <span v-if="item.is_start_course !== 1">-</span>
<span v-if="item.is_start_course === 1">{{item.work_rate}}</span> <span v-if="item.is_start_course === 1">{{item.work_rate}}%</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -58,17 +58,17 @@ ...@@ -58,17 +58,17 @@
</div> </div>
<div class="recall_process"> <div class="recall_process">
<div class="header bg-h">完成情况</div> <div class="header bg-h">完成情况</div>
<div style="text-align:left;margin-left:20px;">用户已回复:{{ data.total_reply_desc_num }}</div> <div style="text-align:left;margin-left:20px;">需达标看课率:{{ data.standards_rate }}%</div>
<br> <br>
<div style="text-align:left;margin-left:20px;">老师已沟通:{{ data.total_desc_num }}</div> <div style="text-align:left;margin-left:20px;">老师已沟通:{{ data.total_desc_num }}</div>
<br> <br>
<div style="text-align:left;margin-left:20px;">用户回复率: <div style="text-align:left;margin-left:20px;">任务完成率:
<el-progress <el-progress
style="display: inline-block;width: 120px" style="display: inline-block;width: 120px"
:text-inside="true" :text-inside="true"
:stroke-width="18" :stroke-width="18"
color="#67C23A'" color="#67C23A'"
:percentage="Number(data.desc_reply_rate)"> :percentage="Number(data.recall_watch_rate)">
</el-progress> </el-progress>
</div> </div>
<br> <br>
......
...@@ -44,6 +44,9 @@ axios.interceptors.request.use( ...@@ -44,6 +44,9 @@ axios.interceptors.request.use(
json[k] = md5(json[k].toString()) json[k] = md5(json[k].toString())
} }
json.sing = "singsingenglish21000"; json.sing = "singsingenglish21000";
if(process.env.NODE_ENV === 'development' ){
config.params.special_token="changchangenglish";
}
config.params.param_token = md5(JSON.stringify(json)); config.params.param_token = md5(JSON.stringify(json));
}else if(config.url !== '/api/admin/login'){ }else if(config.url !== '/api/admin/login'){
config.data = config.data || {}; config.data = config.data || {};
...@@ -64,6 +67,9 @@ axios.interceptors.request.use( ...@@ -64,6 +67,9 @@ axios.interceptors.request.use(
json2[k] = md5(json2[k].toString()) json2[k] = md5(json2[k].toString())
} }
json2.sing = "singsingenglish21000"; json2.sing = "singsingenglish21000";
if(process.env.NODE_ENV === 'development' ){
config.params.special_token="changchangenglish";
}
config.data.param_token = md5(JSON.stringify(json2)); config.data.param_token = md5(JSON.stringify(json2));
} }
return config; return config;
...@@ -207,7 +213,8 @@ export function fetch(url,params={}){ ...@@ -207,7 +213,8 @@ export function fetch(url,params={}){
.then(response => { .then(response => {
if(response.data.code === 200){ if(response.data.code === 200){
resolve(response.data.data); resolve(response.data.data);
}else if(response.data.code === 501){ }else if(response.data.code === 501 || response.data.code === 504){
Vue.prototype.$message.error(response.data.msg)
router.push({ router.push({
name:'login'//从哪个页面跳转 name:'login'//从哪个页面跳转
}) })
...@@ -245,7 +252,8 @@ export function post(url,data = {}){ ...@@ -245,7 +252,8 @@ export function post(url,data = {}){
.then(response => { .then(response => {
if(response.data.code === 200){ if(response.data.code === 200){
resolve(response.data.data); resolve(response.data.data);
}else if(response.data.code === 501){ }else if(response.data.code === 501 || response.data.code === 504){
Vue.prototype.$message.error(response.data.msg)
router.push({ router.push({
name:'login'//从哪个页面跳转 name:'login'//从哪个页面跳转
}) })
...@@ -284,7 +292,8 @@ export function patch(url,data = {}){ ...@@ -284,7 +292,8 @@ export function patch(url,data = {}){
router.push({ router.push({
name:'login'//从哪个页面跳转 name:'login'//从哪个页面跳转
}) })
}else if(response.data.code === 503){ }else if(response.data.code === 503 || response.data.code === 504){
Vue.prototype.$message.error(response.data.msg)
// Vue.prototype.$message.error('请勿平凡操作') // Vue.prototype.$message.error('请勿平凡操作')
}else{ }else{
Vue.prototype.$message.error(response.data.msg) Vue.prototype.$message.error(response.data.msg)
...@@ -315,7 +324,8 @@ export function put(url,data = {}){ ...@@ -315,7 +324,8 @@ export function put(url,data = {}){
.then(response => { .then(response => {
if(response.data.code === 200){ if(response.data.code === 200){
resolve(response.data.data); resolve(response.data.data);
}else if(response.data.code === 501){ }else if(response.data.code === 501 || response.data.code === 504){
Vue.prototype.$message.error(response.data.msg)
router.push({ router.push({
name:'login'//从哪个页面跳转 name:'login'//从哪个页面跳转
}) })
...@@ -343,7 +353,8 @@ export function del(url,data = {}){ ...@@ -343,7 +353,8 @@ export function del(url,data = {}){
.then(response => { .then(response => {
if(response.data.code === 200){ if(response.data.code === 200){
resolve(response.data.data); resolve(response.data.data);
}else if(response.data.code === 501){ }else if(response.data.code === 501 || response.data.code === 504){
Vue.prototype.$message.error(response.data.msg)
router.push({ router.push({
name:'login'//从哪个页面跳转 name:'login'//从哪个页面跳转
}) })
......
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