Commit 44a0d3fb authored by wangwei's avatar wangwei

用户回复做成组件

parent 82377efe
...@@ -69,3 +69,4 @@ module.exports = { ...@@ -69,3 +69,4 @@ module.exports = {
bundleAnalyzerReport: process.env.npm_config_report bundleAnalyzerReport: process.env.npm_config_report
} }
} }
<!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://unpkg.com/element-ui@2.4.9/lib/theme-chalk/index.css><title>唱唱启蒙-后台</title></head><body><script src=https://unpkg.com/vue@2.5.17/dist/vue.js></script><script src=https://unpkg.com/vuex@3.0.1/dist/vuex.min.js></script><script src=https://unpkg.com/axios@0.18.0/dist/axios.min.js></script><script src=https://unpkg.com/element-ui@2.4.9/lib/index.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.559dcfa3a4b283708bfa.js></script><script type=text/javascript src=/static/js/vendor.19b07206259747695190.js></script><script type=text/javascript src=/static/js/app.72d338797308d851576a.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://unpkg.com/element-ui@2.4.9/lib/theme-chalk/index.css><title>唱唱启蒙-后台</title></head><body><script src=https://unpkg.com/vue@2.5.17/dist/vue.js></script><script src=https://unpkg.com/vuex@3.0.1/dist/vuex.min.js></script><script src=https://unpkg.com/axios@0.18.0/dist/axios.min.js></script><script src=https://unpkg.com/element-ui@2.4.9/lib/index.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.0c2cd4804032c89edb9b.js></script><script type=text/javascript src=/static/js/vendor.19b07206259747695190.js></script><script type=text/javascript src=/static/js/app.72d338797308d851576a.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.
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(f,b,n){for(var r,t,o,i=0,u=[];i<f.length;i++)t=f[i],a[t]&&u.push(a[t][0]),a[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(c&&c(f,b,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=d(d.s=n[i]);return o};var f={},a={54:0};function d(c){if(f[c])return f[c].exports;var a=f[c]={i:c,l:!1,exports:{}};return e[c].call(a.exports,a,a.exports,d),a.l=!0,a.exports}d.e=function(e){var c=a[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var f=new Promise(function(f,d){c=a[e]=[f,d]});c[2]=f;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:"8889a07a8ce0cdc08a1a",1:"13ecc92254166c2b45a6",2:"f2a06db15d213b608870",3:"de87453828ab27340dbd",4:"25316e7d3f0819488250",5:"3f83b1af222f5a136eca",6:"f57dd4bc2e4aa80acc40",7:"fc753f558b39e6fe49c9",8:"cd8c166d314d7d6181cd",9:"b1b1fde138d45bfc25d2",10:"3f2164813ca748580385",11:"74fffc59d2b8ab639671",12:"5faa8c6fe93dd8318f6c",13:"5f3e53db5146d925a973",14:"095625c5ff57d0774602",15:"dfb974c4f18e203f717d",16:"e0551b536bb51e474bc9",17:"1a566fff237fd73182c7",18:"e921a577887de038df89",19:"5f0e5a8b123730833389",20:"1523dee6e75b5eeaee70",21:"d14e131c4b4983543f0c",22:"eee5ae7b25c0c9ba76db",23:"7636b0f88d1c1e5dcfde",24:"1ab0904dacff98c8be22",25:"a895cfaaf3538fc9d453",26:"2dc6ee3466c889c57317",27:"c096be33c7355e51f462",28:"70b0b4cf287b5b056886",29:"64f3d097b888469617a6",30:"0320595f56926c7eb86d",31:"8f5bbc0412d546335db6",32:"bf6ecc8dc5ed1336b225",33:"3b0ffb1fae55c57ecd2a",34:"6ec9b3fbbe91ad8b68e5",35:"d8cbbb94eba78aae5204",36:"da81b57fd678c10e3c7e",37:"055874e8ba8f293f4d0c",38:"d73f1b27521fa4569eb8",39:"fb2822aa5110c15c3d31",40:"cb7e7f070738f432d0b5",41:"9b9dc4d455282a10fc45",42:"b44529aaa35c8b216c7e",43:"03627096aa6c9e8cbc7c",44:"7d222355fa25f3d50691",45:"f002ee4b50549513cd1e",46:"737cb2db82f1793a8f73",47:"55e9f020a22f300bbb70",48:"a7d5dd30041d9587e338",49:"5063a876a0e5fcfc2d58",50:"a97af822fd1c8ab3dc1c",51:"e069a842df53d1309e99"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=a[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),a[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),f},d.m=e,d.c=f,d.d=function(e,c,f){d.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:f})},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
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(f,b,n){for(var r,t,o,i=0,u=[];i<f.length;i++)t=f[i],a[t]&&u.push(a[t][0]),a[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(c&&c(f,b,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=d(d.s=n[i]);return o};var f={},a={54:0};function d(c){if(f[c])return f[c].exports;var a=f[c]={i:c,l:!1,exports:{}};return e[c].call(a.exports,a,a.exports,d),a.l=!0,a.exports}d.e=function(e){var c=a[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var f=new Promise(function(f,d){c=a[e]=[f,d]});c[2]=f;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:"8889a07a8ce0cdc08a1a",1:"13ecc92254166c2b45a6",2:"f2a06db15d213b608870",3:"4e4d1f87f20a26db9f94",4:"25316e7d3f0819488250",5:"3f83b1af222f5a136eca",6:"f57dd4bc2e4aa80acc40",7:"fc753f558b39e6fe49c9",8:"cd8c166d314d7d6181cd",9:"b1b1fde138d45bfc25d2",10:"3f2164813ca748580385",11:"74fffc59d2b8ab639671",12:"5faa8c6fe93dd8318f6c",13:"5f3e53db5146d925a973",14:"095625c5ff57d0774602",15:"dfb974c4f18e203f717d",16:"e0551b536bb51e474bc9",17:"1a566fff237fd73182c7",18:"e921a577887de038df89",19:"5f0e5a8b123730833389",20:"1523dee6e75b5eeaee70",21:"d14e131c4b4983543f0c",22:"eee5ae7b25c0c9ba76db",23:"7636b0f88d1c1e5dcfde",24:"1ab0904dacff98c8be22",25:"a895cfaaf3538fc9d453",26:"2dc6ee3466c889c57317",27:"c096be33c7355e51f462",28:"70b0b4cf287b5b056886",29:"64f3d097b888469617a6",30:"0320595f56926c7eb86d",31:"8f5bbc0412d546335db6",32:"bf6ecc8dc5ed1336b225",33:"3b0ffb1fae55c57ecd2a",34:"6ec9b3fbbe91ad8b68e5",35:"d8cbbb94eba78aae5204",36:"da81b57fd678c10e3c7e",37:"055874e8ba8f293f4d0c",38:"d73f1b27521fa4569eb8",39:"fb2822aa5110c15c3d31",40:"cb7e7f070738f432d0b5",41:"9b9dc4d455282a10fc45",42:"b44529aaa35c8b216c7e",43:"03627096aa6c9e8cbc7c",44:"7d222355fa25f3d50691",45:"f002ee4b50549513cd1e",46:"737cb2db82f1793a8f73",47:"55e9f020a22f300bbb70",48:"a7d5dd30041d9587e338",49:"5063a876a0e5fcfc2d58",50:"a97af822fd1c8ab3dc1c",51:"e069a842df53d1309e99"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=a[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),a[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),f},d.m=e,d.c=f,d.d=function(e,c,f){d.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:f})},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
<!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://unpkg.com/element-ui@2.4.9/lib/theme-chalk/index.css><title>唱唱启蒙-后台</title><link href=/static/css/app.609b2bcc1307d4086a18fe7e9e4d4e62.css rel=stylesheet></head><body><script src=https://unpkg.com/vue@2.5.17/dist/vue.js></script><script src=https://unpkg.com/vuex@3.0.1/dist/vuex.min.js></script><script src=https://unpkg.com/axios@0.18.0/dist/axios.min.js></script><script src=https://unpkg.com/element-ui@2.4.9/lib/index.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.44bf6742001f2b6cf98a.js></script><script type=text/javascript src=/static/js/vendor.dabb3afa5856b271bc7f.js></script><script type=text/javascript src=/static/js/app.b44a659fceb1c1bcc783.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://unpkg.com/element-ui@2.4.9/lib/theme-chalk/index.css><title>唱唱启蒙-后台</title><link href=/static/css/app.43be12b4015ff521da1ee21b415321fa.css rel=stylesheet></head><body><script src=https://unpkg.com/vue@2.5.17/dist/vue.js></script><script src=https://unpkg.com/vuex@3.0.1/dist/vuex.min.js></script><script src=https://unpkg.com/axios@0.18.0/dist/axios.min.js></script><script src=https://unpkg.com/element-ui@2.4.9/lib/index.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.b9b0e70907d8e92e473e.js></script><script type=text/javascript src=/static/js/vendor.dabb3afa5856b271bc7f.js></script><script type=text/javascript src=/static/js/app.b44a659fceb1c1bcc783.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.
This diff is collapsed.
!function(e){var f=window.webpackJsonp;window.webpackJsonp=function(c,n,r){for(var t,d,o,i=0,u=[];i<c.length;i++)d=c[i],a[d]&&u.push(a[d][0]),a[d]=0;for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t]);for(f&&f(c,n,r);u.length;)u.shift()();if(r)for(i=0;i<r.length;i++)o=b(b.s=r[i]);return o};var c={},a={54:0};function b(f){if(c[f])return c[f].exports;var a=c[f]={i:f,l:!1,exports:{}};return e[f].call(a.exports,a,a.exports,b),a.l=!0,a.exports}b.e=function(e){var f=a[e];if(0===f)return new Promise(function(e){e()});if(f)return f[2];var c=new Promise(function(c,b){f=a[e]=[c,b]});f[2]=c;var n=document.getElementsByTagName("head")[0],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.timeout=12e4,b.nc&&r.setAttribute("nonce",b.nc),r.src=b.p+"static/js/"+e+"."+{0:"60ceed65b7196c3ffa58",1:"70bc42dbc1ffaed57988",2:"8d64c4f32108e29e828a",3:"e1f014b31e484b2e8b56",4:"f9b1c86fb172be37a9ec",5:"0770f442fbcafb9fbb6b",6:"f999cf996a75c750a68c",7:"06e4c19733dffde6057a",8:"ed8ef396b51f943534c5",9:"95a10d5f8ad39ee47e8a",10:"901693097383eee4bb36",11:"f5785a1ae295125740f3",12:"8b62f9b9a60d674eac10",13:"19e3e554d1402ec008f9",14:"8c6f084e6255fbeded32",15:"7360d785ee332f5a4bb8",16:"377ce2b3eca0c3a88598",17:"ff8ef6eecfc24eaead59",18:"524fb6b2da79f077570f",19:"aaff5cb99e110a714ee1",20:"f45c5a602b2535d93d24",21:"3f9f11c97fb1e1427b87",22:"bb30e982e20decdf5597",23:"c594ea4a37322f8c7840",24:"ed17cab90908135eaffa",25:"fd6fb9d57686c26eb406",26:"ce23bfb9282a66c186c4",27:"bbf8405accf1afcd5be3",28:"c9bbffb9c2a6b58702da",29:"ac117b295bb4de6f3a14",30:"e9270346ac5a37b40765",31:"89ee2c867b096e88eecb",32:"18bd09ea1758c434e68b",33:"207f09ca5117a438027d",34:"3f43f058bf9441d0d79f",35:"37496d6823ff5bb7139f",36:"9da1921ac78c17085d92",37:"a9288b9ae1825f0a2aef",38:"b15e9a6506cc91cb36b7",39:"6dbe195c28187681cf8d",40:"0a7bd580c27c12e2babf",41:"43efb089718547897e5a",42:"f932e4cf13c0ebde02f0",43:"cb3aaae7ea0ea31fe041",44:"820b288e99876613dbbe",45:"093e400e86b53f46d09a",46:"d724b95e520c7e948730",47:"76f0d426db5ba9283455",48:"b163cd5e2750e3f00800",49:"fd79c4e277dbe5de3809",50:"1d6101cb1433a7f1e23a",51:"5bdb0d5bedd939cc3016"}[e]+".js";var t=setTimeout(d,12e4);function d(){r.onerror=r.onload=null,clearTimeout(t);var f=a[e];0!==f&&(f&&f[1](new Error("Loading chunk "+e+" failed.")),a[e]=void 0)}return r.onerror=r.onload=d,n.appendChild(r),c},b.m=e,b.c=c,b.d=function(e,f,c){b.o(e,f)||Object.defineProperty(e,f,{configurable:!1,enumerable:!0,get:c})},b.n=function(e){var f=e&&e.__esModule?function(){return e.default}:function(){return e};return b.d(f,"a",f),f},b.o=function(e,f){return Object.prototype.hasOwnProperty.call(e,f)},b.p="/",b.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var f=window.webpackJsonp;window.webpackJsonp=function(a,n,r){for(var d,t,o,i=0,u=[];i<a.length;i++)t=a[i],c[t]&&u.push(c[t][0]),c[t]=0;for(d in n)Object.prototype.hasOwnProperty.call(n,d)&&(e[d]=n[d]);for(f&&f(a,n,r);u.length;)u.shift()();if(r)for(i=0;i<r.length;i++)o=b(b.s=r[i]);return o};var a={},c={54:0};function b(f){if(a[f])return a[f].exports;var c=a[f]={i:f,l:!1,exports:{}};return e[f].call(c.exports,c,c.exports,b),c.l=!0,c.exports}b.e=function(e){var f=c[e];if(0===f)return new Promise(function(e){e()});if(f)return f[2];var a=new Promise(function(a,b){f=c[e]=[a,b]});f[2]=a;var n=document.getElementsByTagName("head")[0],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.timeout=12e4,b.nc&&r.setAttribute("nonce",b.nc),r.src=b.p+"static/js/"+e+"."+{0:"60ceed65b7196c3ffa58",1:"70bc42dbc1ffaed57988",2:"8d64c4f32108e29e828a",3:"d63a6121ab65d97b1158",4:"f9b1c86fb172be37a9ec",5:"0770f442fbcafb9fbb6b",6:"f999cf996a75c750a68c",7:"06e4c19733dffde6057a",8:"ed8ef396b51f943534c5",9:"95a10d5f8ad39ee47e8a",10:"901693097383eee4bb36",11:"f5785a1ae295125740f3",12:"8b62f9b9a60d674eac10",13:"19e3e554d1402ec008f9",14:"8c6f084e6255fbeded32",15:"7360d785ee332f5a4bb8",16:"377ce2b3eca0c3a88598",17:"ff8ef6eecfc24eaead59",18:"524fb6b2da79f077570f",19:"aaff5cb99e110a714ee1",20:"f45c5a602b2535d93d24",21:"3f9f11c97fb1e1427b87",22:"bb30e982e20decdf5597",23:"c594ea4a37322f8c7840",24:"ed17cab90908135eaffa",25:"fd6fb9d57686c26eb406",26:"ce23bfb9282a66c186c4",27:"bbf8405accf1afcd5be3",28:"c9bbffb9c2a6b58702da",29:"ac117b295bb4de6f3a14",30:"e9270346ac5a37b40765",31:"89ee2c867b096e88eecb",32:"18bd09ea1758c434e68b",33:"207f09ca5117a438027d",34:"3f43f058bf9441d0d79f",35:"37496d6823ff5bb7139f",36:"9da1921ac78c17085d92",37:"a9288b9ae1825f0a2aef",38:"b15e9a6506cc91cb36b7",39:"6dbe195c28187681cf8d",40:"0a7bd580c27c12e2babf",41:"43efb089718547897e5a",42:"f932e4cf13c0ebde02f0",43:"cb3aaae7ea0ea31fe041",44:"820b288e99876613dbbe",45:"093e400e86b53f46d09a",46:"d724b95e520c7e948730",47:"76f0d426db5ba9283455",48:"b163cd5e2750e3f00800",49:"fd79c4e277dbe5de3809",50:"1d6101cb1433a7f1e23a",51:"5bdb0d5bedd939cc3016"}[e]+".js";var d=setTimeout(t,12e4);function t(){r.onerror=r.onload=null,clearTimeout(d);var f=c[e];0!==f&&(f&&f[1](new Error("Loading chunk "+e+" failed.")),c[e]=void 0)}return r.onerror=r.onload=t,n.appendChild(r),a},b.m=e,b.c=a,b.d=function(e,f,a){b.o(e,f)||Object.defineProperty(e,f,{configurable:!1,enumerable:!0,get:a})},b.n=function(e){var f=e&&e.__esModule?function(){return e.default}:function(){return e};return b.d(f,"a",f),f},b.o=function(e,f){return Object.prototype.hasOwnProperty.call(e,f)},b.p="/",b.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
...@@ -45,38 +45,110 @@ ...@@ -45,38 +45,110 @@
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
prop="name" prop="name"
label="名称"> label="老师">
</el-table-column> <template slot-scope="scope">
<el-table-column <a :href="scope.row.qr" target="_blank">
prop="alias" <img class="avatar" :src="scope.row.qr" alt="二维码">
label="微信号"> </a>
<div>
微信号:{{scope.row.alias}}
<br>
分组:T{{scope.row.squad}}
<br>
类别:{{scope.row.type | teacherType}}
</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="状态"> prop="name"
label="添加好友率">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.status === 0 ? '正常' : '禁用'}} 成功率:<el-progress
style="display: inline-block;width: 120px"
:text-inside="true"
:stroke-width="18"
:color="Number(scope.row.add_teacher_success_rate)===100 ? '#67C23A' : '#f00'"
:percentage="Number(scope.row.add_teacher_success_rate)?Number(scope.row.add_teacher_success_rate):0">
</el-progress>
<br>
处理率:<el-progress
style="display: inline-block;width: 120px"
:text-inside="true"
:stroke-width="18"
:color="Number(scope.row.add_teacher_exec_rate)===100 ? '#67C23A' : '#f00'"
:percentage="Number(scope.row.add_teacher_exec_rate)?Number(scope.row.add_teacher_exec_rate):0">
</el-progress>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="二维码"> prop="name"
label="召回率">
<template slot-scope="scope"> <template slot-scope="scope">
<a :href="scope.row.qr"> 回复率:<el-progress
<img class="shortcut" :src="scope.row.qr"/> style="display: inline-block;width: 120px"
</a> :text-inside="true"
:stroke-width="18"
:color="Number(scope.row.recall_reply_rate)===100 ? '#67C23A' : '#f00'"
:percentage="Number(scope.row.recall_reply_rate)?Number(scope.row.recall_reply_rate):0">
</el-progress>
<br>
处理率:<el-progress
style="display: inline-block;width: 120px"
:text-inside="true"
:stroke-width="18"
:color="Number(scope.row.recall_exec_rate)===100 ? '#67C23A' : '#f00'"
:percentage="Number(scope.row.recall_exec_rate)?Number(scope.row.recall_exec_rate):0">
</el-progress>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="分组"> prop="name"
label="当期意向">
<template slot-scope="scope"> <template slot-scope="scope">
T{{scope.row.squad}} 回复率:<el-progress
style="display: inline-block;width: 120px"
:text-inside="true"
:stroke-width="18"
:color="Number(scope.row.over_reply_rate)===100 ? '#67C23A' : '#f00'"
:percentage="Number(scope.row.over_reply_rate)?Number(scope.row.over_reply_rate):0">
</el-progress>
<br>
处理率:<el-progress
style="display: inline-block;width: 120px"
:text-inside="true"
:stroke-width="18"
:color="Number(scope.row.over_exec_rate)===100 ? '#67C23A' : '#f00'"
:percentage="Number(scope.row.over_exec_rate)?Number(scope.row.over_exec_rate):0">
</el-progress>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="类别"> prop="name"
label="往期意向">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.type | teacherType}} 回复率:<el-progress
style="display: inline-block;width: 120px"
:text-inside="true"
:stroke-width="18"
:color="Number(scope.row.past_reply_rate)===100 ? '#67C23A' : '#f00'"
:percentage="Number(scope.row.past_reply_rate)?Number(scope.row.past_reply_rate) :0">
</el-progress>
<br>
处理率:<el-progress
style="display: inline-block;width: 120px"
:text-inside="true"
:stroke-width="18"
:color="Number(scope.row.past_exec_rate)===100 ? '#67C23A' : '#f00'"
:percentage="Number(scope.row.past_exec_rate)?Number(scope.row.past_exec_rate):0">
</el-progress>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
prop="intention_num"
label="当前意向用户数">
</el-table-column>
<el-table-column <el-table-column
width="280" width="280"
label="操作"> label="操作">
...@@ -266,6 +338,12 @@ ...@@ -266,6 +338,12 @@
text-align: center; text-align: center;
} }
} }
.avatar{
width: 70px;
margin-right: 5px;
height: 70px;
float: left;
}
.shortcut { .shortcut {
width: 50px; width: 50px;
} }
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
<el-card> <el-card>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>任务3:用户召回</span> <span>任务3:用户召回</span>
<!--<el-button type="text" style="float: right;padding: 0" @click="task5Detail.show=true">往期活跃用户数(近三天):{{task5Detail.total}}</el-button>-->
</div> </div>
<div v-if="!task3List || task3List.length < 1" style="color: #DDDDDD;text-align: center"> <div v-if="!task3List || task3List.length < 1" style="color: #DDDDDD;text-align: center">
——暂无数据—— ——暂无数据——
...@@ -26,22 +25,10 @@ ...@@ -26,22 +25,10 @@
{{data.title}} {{data.title}}
</div> </div>
</div> </div>
<!--<div class="recall" style="background-color: #fffbe4">
<div class="header bg-h">今日需召回人数</div>
<el-button style="font-size: 30px;text-decoration:underline " type="text" @click="showRecallDetail(data)">{{data.need_recall_user_num}}</el-button>
</div>-->
<!--<div class="start">-->
<!--<div class="header bg-h">开课日期</div>-->
<!--{{data.start_at}}-->
<!--</div>-->
<div class="total"> <div class="total">
<div class="header bg-h">班级人数</div> <div class="header bg-h">班级人数</div>
{{data.total_user}} {{data.total_user}}
</div> </div>
<!--<div class="watch">-->
<!--<div class="header bg-h">已推课程数</div>-->
<!--{{data.has_watch_num}}-->
<!--</div>-->
<div class="log-list header-title bg-h"> <div class="log-list header-title bg-h">
<div style="height: 19px;line-height: 19px">日期</div> <div style="height: 19px;line-height: 19px">日期</div>
<div style="height: 28px;line-height: 28px">未看课人数</div> <div style="height: 28px;line-height: 28px">未看课人数</div>
...@@ -72,10 +59,6 @@ ...@@ -72,10 +59,6 @@
<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 class="over_work">
<div class="header bg-h">截止今日全勤人数</div>
<el-button size="mini" type="text" @click="showOverWorkDetail(data)">{{data.total_watch_user_num}}</el-button>
</div>-->
<div class="recall" style="background-color: #fffbe4"> <div class="recall" style="background-color: #fffbe4">
<div class="header bg-h">今日需召回人数</div> <div class="header bg-h">今日需召回人数</div>
<el-button size="mini" style="font-size: 30px;text-decoration:underline " type="text" @click="showRecallDetail(data)">{{data.need_recall_user_num}}</el-button> <el-button size="mini" style="font-size: 30px;text-decoration:underline " type="text" @click="showRecallDetail(data)">{{data.need_recall_user_num}}</el-button>
...@@ -231,7 +214,6 @@ ...@@ -231,7 +214,6 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-dialog> </el-dialog>
<el-dialog append-to-body :visible.sync="lookDetail.show"> <el-dialog append-to-body :visible.sync="lookDetail.show">
<el-table <el-table
v-loading="lookDetail.loading" v-loading="lookDetail.loading"
...@@ -342,11 +324,6 @@ ...@@ -342,11 +324,6 @@
最后看课时间:{{scope.row.created_at}} 最后看课时间:{{scope.row.created_at}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="200px" fixed="right">
<template slot-scope="scope">
<el-button type="info" size="mini" @click="showLook(scope.row)">看课情况</el-button>
</template>
</el-table-column>
</el-table> </el-table>
</el-dialog> </el-dialog>
<el-dialog append-to-body :visible.sync="task5Detail.show" width="80%" title="往期活跃用户列表"> <el-dialog append-to-body :visible.sync="task5Detail.show" width="80%" title="往期活跃用户列表">
...@@ -367,28 +344,19 @@ ...@@ -367,28 +344,19 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="期数信息" min-width="120" prop="weight"> label="用户反馈">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.periods_id}}{{scope.row.title}} <span v-if="scope.row.is_reply">
<span v-if="scope.row.reply_content">{{scope.row.reply_content}}</span>
<span v-if="!scope.row.reply_content || scope.row.reply_content === ''">无内容</span>
</span>
<span v-if="!scope.row.is_reply">尚未回复</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="是否添加老师" width="155" prop="is_add_teacher"> label="期数信息" min-width="120" prop="weight">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.is_add_teacher" size="mini" @change="changeAddTeacher(scope.row)"> {{scope.row.periods_id}}{{scope.row.title}}
<el-option label="老师主动添加" :value="1">
</el-option>
<el-option label="用户主动添加" :value="2">
</el-option>
<el-option label="待通过" :value="3">
</el-option>
<el-option label="手机号不是微信号" :value="4">
</el-option>
<el-option label="用户已拒绝" :value="5">
</el-option>
<el-option label="暂未处理" :value="0">
</el-option>
</el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -564,9 +532,9 @@ ...@@ -564,9 +532,9 @@
this.task3Detail.loading = true; this.task3Detail.loading = true;
this.task3Detail.periods_id = data.periods_id; this.task3Detail.periods_id = data.periods_id;
this.task3Detail.type = 3; this.task3Detail.type = 3;
this.task3Detail.title=`${data.title} 今日需要招回学员` this.task3Detail.title=`${data.title} 今日需要招回学员`;
this.dialogType = 3; this.dialogType = 3;
getRecallListApi(data.periods_id,this.id,json).then(res=>{`` getRecallListApi(data.periods_id,this.id,json).then(res=>{
this.task3Detail.loading = false; this.task3Detail.loading = false;
this.task3Detail.list = res this.task3Detail.list = res
}) })
...@@ -582,27 +550,18 @@ ...@@ -582,27 +550,18 @@
type: 'success', type: 'success',
message: '添加沟通话术成功' message: '添加沟通话术成功'
}); });
// this.getUserDescList();
switch(this.dialogType) switch(this.dialogType)
{ {
case 2: case 2:
this.refDesc2() this.refDesc2();
break; break;
case 3: case 3:
this.refDesc3() this.refDesc3();
break; break;
case 4: case 4:
this.getTask5() this.getTask5();
break; break;
} }
/* this.refDesc1();
this.refDesc2();
if(this.task3Detail.list && this.task3Detail.list.length > 0){
this.refDesc3();
}
if((this.descDialog.type && this.descDialog.type === 5) || flag){
this.getTask5()
}*/
}); });
}) })
}, },
...@@ -644,7 +603,7 @@ ...@@ -644,7 +603,7 @@
this.dialogType = 4; this.dialogType = 4;
}, },
refDesc2(){ refDesc2(){
if(this.task2Detail.type == 1){ if(this.task2Detail.type === 1){
task2Api(this.id).then(res=>{ task2Api(this.id).then(res=>{
this.task2List = res; this.task2List = res;
res.forEach(i=>{ res.forEach(i=>{
...@@ -653,7 +612,8 @@ ...@@ -653,7 +612,8 @@
} }
}) })
}); });
}else if(this.task2Detail.type == 2) }else if(this.task2Detail.type === 2)
{ {
getOverWatchListApi(this.task2Detail.periods_id,this.id,{}).then(res=>{ getOverWatchListApi(this.task2Detail.periods_id,this.id,{}).then(res=>{
this.task2Detail.loading = false; this.task2Detail.loading = false;
......
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