Commit f92d0ce9 by tangjiale

更新代码

parent 699780c5
......@@ -2,5 +2,5 @@
"env": "dev",
"baseUrl": "http://tgoodsadmin.xiaobentiyu.cn",
"loginUrl":"http://tgoodsadminh5.xiaobentiyu.cn/login",
"user":"http://tbaseh5.xiaobentiyu.cn/"
"imgUrl":""
}
......@@ -2,6 +2,7 @@
"env": "pro",
"baseUrl": "http://goodsadminapi.xiaobentiyu.cn",
"loginUrl":"http://portal.xiaobentiyu.cn/login",
"user":"http://portal.xiaobentiyu.cn/"
"user":"http://portal.xiaobentiyu.cn/",
"imgUrl":""
}
......@@ -3,7 +3,7 @@
* @eMail: 932055106@qq.com
* @Date: 2022-02-10 15:24:49
* @LastEditors: tangjiale
* @LastEditTime: 2022-02-17 14:15:51
* @LastEditTime: 2022-06-06 10:57:19
*/
import Vue from 'vue';
import service from '../plugins/framework/core/service';
......@@ -24,34 +24,12 @@ export default function({redirect, route, store}) {
});
}
//不仅登陆还要带上其他参数赋予指定身份
if(route.query&&route.query.token && route.query.roleId){
let param = {
roleId:route.query.roleId || '',
token:route.query.token
}
return goLogin(param).then(res=>{
return userLogin(route.query.token).then(res=>{
res['token'] = route.query.token
store.commit('updateUserInfo', res);
//跳指定路由
redirect(route.query.url?decodeURIComponent(route.query.url):'/')
})
})
//来源外部的登录
}else if(route.query&&route.query.token){
if(route.query&&route.query.token){
return goLogin(route.query).then(res=>{
res['token'] = route.query.token
store.commit('updateUserInfo', res);
redirect('/')
})
//人人通免密登录
}else if(route.query&&route.query.code){
return rrtLogin(route.query.code).then(res=>{
res['token'] = route.query.token
store.commit('updateUserInfo', res);
redirect('/')
})
}else if(!store.state.myUserInfo) { // 处理没登录的情况
let cache = sessionStorage.getItem('myUserInfo');
if (cache) {
......
......@@ -3578,6 +3578,19 @@
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
"deep-equal": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
"integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
"requires": {
"is-arguments": "^1.0.4",
"is-date-object": "^1.0.1",
"is-regex": "^1.0.4",
"object-is": "^1.0.1",
"object-keys": "^1.1.1",
"regexp.prototype.flags": "^1.2.0"
}
},
"deepmerge": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
......@@ -4287,6 +4300,11 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-diff": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz",
"integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
},
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
......@@ -4506,6 +4524,11 @@
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
},
"gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
......@@ -5125,6 +5148,15 @@
}
}
},
"is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
"requires": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
}
},
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
......@@ -6082,6 +6114,15 @@
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz",
"integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg=="
},
"object-is": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
"integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3"
}
},
"object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
......@@ -6239,6 +6280,11 @@
"no-case": "^2.2.0"
}
},
"parchment": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz",
"integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
},
"parse-asn1": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
......@@ -7632,6 +7678,36 @@
"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
},
"quill": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz",
"integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==",
"requires": {
"clone": "^2.1.1",
"deep-equal": "^1.0.1",
"eventemitter3": "^2.0.3",
"extend": "^3.0.2",
"parchment": "^1.1.4",
"quill-delta": "^3.6.2"
},
"dependencies": {
"eventemitter3": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
"integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg=="
}
}
},
"quill-delta": {
"version": "3.6.3",
"resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz",
"integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
"requires": {
"deep-equal": "^1.0.1",
"extend": "^3.0.2",
"fast-diff": "1.1.2"
}
},
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
......@@ -7744,6 +7820,16 @@
"safe-regex": "^1.1.0"
}
},
"regexp.prototype.flags": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
"integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
"functions-have-names": "^1.2.2"
}
},
"regexpu-core": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz",
......@@ -9203,6 +9289,15 @@
"resolved": "https://registry.npmjs.org/vue-no-ssr/-/vue-no-ssr-1.1.1.tgz",
"integrity": "sha512-ZMjqRpWabMPqPc7gIrG0Nw6vRf1+itwf0Itft7LbMXs2g3Zs/NFmevjZGN1x7K3Q95GmIjWbQZTVerxiBxI+0g=="
},
"vue-quill-editor": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz",
"integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==",
"requires": {
"object-assign": "^4.1.1",
"quill": "^1.3.4"
}
},
"vue-router": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz",
......
......@@ -13,21 +13,22 @@
"dependencies": {
"@babel/preset-env": "7.12.17",
"@nuxtjs/axios": "5.11.0",
"aegis-web-sdk": "1.35.25",
"autoprefixer": "9.8.5",
"cross-env": "^5.2.0",
"element-ui": "2.13.2",
"less-loader": "6.1.1",
"mercury-wrap": "1.2.3",
"nuxt": "2.12.2",
"pl-table": "^2.7.5",
"postcss-loader": "3.0.0",
"postcss-px2rem": "0.3.0",
"sass": "^1.26.10",
"sass-loader": "^9.0.1",
"screenfull": "5.0.2",
"spark-md5": "3.0.1",
"vuex": "3.4.0",
"postcss-loader": "3.0.0",
"autoprefixer": "9.8.5",
"postcss-px2rem": "0.3.0",
"mercury-wrap": "1.2.3",
"pl-table": "^2.7.5",
"aegis-web-sdk": "1.35.25"
"vue-quill-editor": "^3.0.6",
"vuex": "3.4.0"
},
"devDependencies": {}
}
<!--
* @Author: tangjiale
* @eMail: 932055106@qq.com
* @Date: 2022-06-06 09:28:37
* @LastEditors: tangjiale
* @LastEditTime: 2022-06-06 11:12:28
-->
<template>
<div class="add-course-bg">
<el-form ref="ruleForm" :model="param">
<el-form-item label="课程名称:" prop="name">
<el-input v-model="param.name" placeholder="最多输入30个汉字(60个字符)" ></el-input>
</el-form-item>
<el-form-item label="上课时段:" prop="name">
<el-input v-model="param.name" placeholder="如:每周三下午4:30至5:30"></el-input>
</el-form-item>
<el-form-item label="可用校区:" prop="checkList">
<el-checkbox-group v-model="checkList" @change="handCheck">
<el-checkbox v-for="(lab,index) in list" :key="index" :label="lab.value">{{lab.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<div class="arr-bg">
<el-form-item label="重要属性:"></el-form-item>
<div class="course-arr-flex">
<el-form-item label="课程属性:" prop="arr">
<t-select v-model="param.arr" placeholder="请选择" :ds="[{name:'小学组',value:''},{name:'初中组',value:''},{name:'高中组',value:''}]"></t-select>
</el-form-item>
<el-form-item label="课程类型:" prop="type">
<t-select v-model="param.type" placeholder="请选择" :ds="[{name:'体验课',value:''},{name:'正式班课',value:''}]"></t-select>
</el-form-item>
<el-form-item label="课时:" prop="arr">
<el-input v-model="param.name" placeholder="请输入数字"></el-input>
</el-form-item>
<el-form-item label="课程价格:" prop="arr">
<el-input v-model="param.price" placeholder="请输入数字"></el-input>
</el-form-item>
</div>
</div>
<el-form-item label="课程图片:" prop="name">
<el-upload accept="image/jpg,image/jpeg,image/png"
:before-upload="beforeUpload"
class="upload-demo" action="#"
:show-file-list="false">
<template>
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<div class="upload-ctn" v-else>
<div class="tip">课程图片大小不能超过3MB。</div>
<div class="upload-bg">
<i class="el-icon-plus avatar-uploader-icon"></i>
添加上传图片
</div>
</div>
</template>
</el-upload>
</el-form-item>
<el-form-item label="课程详情:" prop="name" class="curstom-editor">
<quill-editor :options="editorOption" v-model="content"></quill-editor>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data(){
return{
param:{},
imageUrl:'',
checkList:[],
content:'',
editorOption: {
placeholder: "请输入正文",
},
list:[
{name:'宇腾校区',value:'4',},{name:'河西校区',value:'6',},{name:'南湖馆校区',value:'3',},
]
}
},
methods:{
handCheck(){
},
beforeUpload(file) {
//验证资源格式
var img = file.name.substring(file.name.lastIndexOf('.') + 1)
const suffix = img === 'jpg'
const suffix2 = img === 'png'
const suffix3 = img === 'jpeg'
const isLt1M = file.size / 1024 / 1024 <= 3;
if (!suffix && !suffix2 && !suffix3) {
this.$message.error("只能上传图片!");
return false
}
// 可以限制图片的大小
if (!isLt1M) {
this.$message.error('上传图片大小不能超过 1MB!');
}
// return this.getToken(file).then(res => {
// this.dataObj.token = res.token;
// this.dataObj.key = res.key;
// let url = file.type.includes('image') ? (this.$config.imgUrl + res.filePath) : (this.$config.imgUrl + res.filePath)
// this.uploadList.push({
// url: url,
// })
// })
},
getToken(file={}) {
let datas = {
busType: 1,
submitType: 0,
fname: file.type
}
return this.$service.upload.getUploadTokenForWeb(datas)
},
}
}
</script>
<style lang="less" scoped>
.add-course-bg{
padding: 20px 0px;
}
/deep/ .el-input .el-input__inner{
width: 600px;
}
.arr-bg{
background-color: #F5F5F5;
padding: 10px 15px 0px 15px;
border-radius: 10px;
margin-bottom: 20px;
}
/deep/ .el-form-item{
display: flex;
}
.course-arr-flex{
display: flex;
align-items: center;
/deep/ .el-form-item{
display: flex;
margin-right: 15px;
}
/deep/ .el-input .el-input__inner{
width: 248px;
}
}
/deep/ .el-form-item__content{
height: auto !important;
}
.upload-bg{
cursor: pointer;
height: 150px;
width: 200px;
border: 1px solid #000000;
.el-icon-plus{
margin-top: 40px;
display: block !important;
}
}
// /deep/ .curstom-editor .ql-container{
// min-height:300px;
// }
</style>
\ No newline at end of file
......@@ -3,7 +3,7 @@
* @eMail: 932055106@qq.com
* @Date: 2022-06-02 15:02:39
* @LastEditors: tangjiale
* @LastEditTime: 2022-06-02 16:28:28
* @LastEditTime: 2022-06-06 10:03:38
-->
<template>
<div>
......
......@@ -3,14 +3,13 @@
* @eMail: 932055106@qq.com
* @Date: 2022-06-02 14:08:46
* @LastEditors: tangjiale
* @LastEditTime: 2022-06-02 17:23:17
* @LastEditTime: 2022-06-06 09:31:15
-->
<template>
<div class="page-bg">
<t-table autoLoad ref="table" :options="options" :params="params"
@row-btn-click="onRowButtonClick">
<!-- 操作栏 -->
<template slot="form-order-search">
<div class="search-bottom">
......@@ -19,12 +18,17 @@
</template>
</t-table>
<c-popup ref="c-popup" title="您正在新增课程信息">
<add-course></add-course>
</c-popup>
</div>
</template>
<script>
import addCourse from './components/add-course.vue'
export default {
services:['order','base'],
components:{addCourse},
data(){
return{
params:{
......@@ -88,8 +92,11 @@ export default {
},
}
},
mounted(){
this.$refs['c-popup'].change()
},
methods:{
onRowButtonClick(data, i) {
onRowButtonClick(data, i) {
let self = this
let {event,row} = data
if(!event) return
......@@ -97,6 +104,9 @@ export default {
case 'emit': //修改
break
}
},
exportOrder(){
}
}
}
......
<!--
* @Author: tangjiale
* @eMail: 932055106@qq.com
* @Date: 2022-02-11 16:58:50
* @LastEditors: tangjiale
* @LastEditTime: 2022-02-18 16:10:14
-->
<template>
<!-- 订单统计页面 -->
<div class="page-bg">
<t-table
ref="table"
:options="options"
:params="params"
autoLoad
@reload="reloadParam"
@row-btn-click="onRowButtonClick"
>
<!-- 自定义懒加载联级地区组件 -->
<template slot="slot-area">
<el-cascader
placeholder="请选择区域" :show-all-levels="false"
v-model="params.regionCode"
:props="adressProps"
></el-cascader>
</template>
<!-- 自定义模糊搜索组件 -->
<template slot="slot-school">
<el-autocomplete
v-model="params.schName"
:fetch-suggestions="querySearchAsync"
placeholder="请输入内容"
></el-autocomplete>
</template>
<template slot="form-order-search">
<div class="search-bottom">
<el-button size="mini" @click="exportOrderAnalysis"
><i class="el-icon-download"></i> 导出</el-button
>
</div>
</template>
</t-table>
</div>
</template>
<script>
export default {
services: ["order", "base", "analysis"],
head:{title:'中小学生智慧体育运营平台'},
data() {
return {
adressProps: {
lazy: true, //可以理解为开关,什么时候结束
checkStrictly: true,
expandTrigger: "hover",
lazyLoad: this.cascaderLazyLoad,
emitPath: false,
},
params: {
regionCode: "",
schName: "",
},
options: {
title: "订单统计",
search: [
{
field: "startDate,endDate",
type: "daterange",
label: "统计时间",
},
{ type: "slot", slotName: "slot-area", label: "区域:",field:'regionCode'},
//自定义筛选组件插槽
{ type: "slot", slotName: "slot-school", label: "学校:",field:'schName'},
// 选择器值从接口获取
{
label: "学年学期:",
autoSelect: true,
field: "inYearAndTerm",
type: "select",
ds: { service: "analysis", func: "getInYearAndTermList" },
},
{
field: "productId",
autoSelect: true,
label: "商品:",
type: "select",
ds: { service: "analysis", func: "getGoodsList" },
}
],
table: {
service: "analysis",
func: "getOrderAnalysisList",
selectable: false,
customRow: true,
columns: [
{ title: "机构名称", field: "schName"},
{
title: "总人数",type: "customField",
fieldFunction: (row) =>
row.totalPeople > 0 ? row.totalPeople : "-",
},
{
title: "学生人数",type: "customField",
fieldFunction: (row) => (row.totalStu > 0 ? row.totalStu : "-"),
},
{
title: "教师人数",type: "customField",
fieldFunction: (row) => (row.totalTea > 0 ? row.totalTea : "-"),
},
{
title: "订单数",type: "customField",
fieldFunction: (row) =>
row.orderPeople > 0 ? row.orderPeople : "-",
},
{
title: "商品数量",type: "customField",
fieldFunction: (row) => (row.goodsNum > 0 ? row.goodsNum : "-"),
},
{
title: "学生订单数",
type: "customField",
fieldFunction: (row) => (row.orderStu > 0 ? row.orderStu : "-"),
},
{
title: "教师订单数",
type: "customField",
fieldFunction: (row) => (row.orderTea > 0 ? row.orderTea : "-"),
},
{
title: "机构订单数",
type: "customField",
fieldFunction: (row) =>
row.orderMember > 0 ? row.orderMember : "-",
},
{
title: "转化率",
showDisable: true,
type: "customField",
fieldFunction: (row) => row.changePercent + "%",
},
],
},
},
};
},
methods: {
onRowButtonClick(data, i) {
let { event, row } = data;
},
//模糊搜索学校
querySearchAsync(queryString, cb) {
console.log(queryString);
this.$service.base.getUserAllSchList(queryString).then((res) => {
cb(res);
});
},
reloadParam(){
this.params = {
regionCode:'',schName:''
}
},
//导出订单列表
exportOrderAnalysis() {
let param = {
...this.$refs["table"].searchForm,
...this.params,
};
if (
param["startDate,endDate"] &&
param["startDate,endDate"].length
) {
param.startDate = param["startDate,endDate"][0];
param.endDate = param["startDate,endDate"][1];
}
delete param["startDate,endDate"];
delete param.undefined
let failName = `订单统计列表${
param.startDate ? "-" + param.endDate : ""
}`;
this.$service.analysis
.exportOrderAnalysisList(param, failName)
.then((res) => {
this.$notifySuccess();
});
},
cascaderLazyLoad(node, resolve) {
if (!node) {
return false;
}
const { level } = node;
let code = node.value || "";
this.$service.order
.getUserOrganList(
level == 0
? {}
: {
code,
regionLevel: level == 1 ? 2 : 4, //2省 4市 6区
}
)
.then((res) => {
let list = [];
if (res && res.length) {
list = res.map((val) => {
return {
value: val.code,
label: val.shortName,
leaf: level >= 2, //因为省市区三项,所以第三次点击就不用在加载了,所以 >=2
};
});
}
if(level == 0){
list.unshift({
value:'all',label:'全国',leaf: level >= 0,
})
}
resolve(list);
});
},
},
};
</script>
<style lang="less" scoped>
.search-bottom {
width: calc(100% - 2px);
background-color: #fff;
padding: 10px;
border-top: 1px solid #e4e7ed;
margin-bottom: 16px;
}
</style>
......@@ -3,7 +3,7 @@
* @eMail: 932055106@qq.com
* @Date: 2022-06-02 14:08:46
* @LastEditors: tangjiale
* @LastEditTime: 2022-06-02 17:23:22
* @LastEditTime: 2022-06-06 08:41:26
-->
<template>
<div class="page-bg">
......@@ -22,13 +22,19 @@
<!-- 新增学校 -->
<add-student ref="add-student"></add-student>
<!-- 导入学生 -->
<c-popup ref="i-popup" title="您正在导入学生数据">
<import-student @close="$refs['i-popup'].change()" @updateData="init()"></import-student>
</c-popup>
</div>
</template>
<script>
import addStudent from './components/add-student.vue'
import importStudent from './components/import-student.vue'
export default {
components:{addStudent},
components:{addStudent,importStudent},
services:['order','base'],
data(){
return{
......@@ -76,7 +82,7 @@ export default {
}
},
mounted(){
this.$refs['i-popup'].change()
},
methods:{
onRowButtonClick(data, i) {
......@@ -94,7 +100,7 @@ export default {
this.$refs['add-student'].change()
break
case 'import': //导入学生
// this.$refs['add-student'].change()
this.$refs['i-popup'].change()
break
}
}
......
......@@ -3,7 +3,7 @@
* @eMail: 932055106@qq.com
* @Date: 2022-02-11 09:41:38
* @LastEditors: tangjiale
* @LastEditTime: 2022-05-26 16:47:20
* @LastEditTime: 2022-06-06 10:26:31
*/
import Vue from 'vue';
import Aegis from 'aegis-web-sdk'
......@@ -13,55 +13,55 @@ import framework from './framework';
let config = require(`@/config/${process.env.ENV_CONFIG||'pro'}.config.json`);
//监控调试
const aegis = new Aegis({
id: 'JjmvzClOovrjreQrQv', // 上报 id
reportApiSpeed: true, // 接口测速
reportAssetSpeed: true, // 静态资源测速
spa: true, // spa 应用页面跳转的时候开启 pv 计算
api: {
apiDetail: true,
retCodeHandler:(data,url,xhr) => {
try {
data = JSON.parse(data)
} catch(e) {}
return {
// isErr 如果是 true 的话,会上报一条 retcode 异常的日志。
isErr: data.code && data.code != 200,
code: data.code
}
}
},
//计算公式 = (PV + API 统计次数 + 静态资源统计次数 + 错误日志次数 + 自定义上报次数) - 50万
beforeRequest:log =>{
if(log.logType == 'speed') return false
if(log.logType == 'pv'){
return false
}
// const aegis = new Aegis({
// id: 'JjmvzClOovrjreQrQv', // 上报 id
// reportApiSpeed: true, // 接口测速
// reportAssetSpeed: true, // 静态资源测速
// spa: true, // spa 应用页面跳转的时候开启 pv 计算
// api: {
// apiDetail: true,
// retCodeHandler:(data,url,xhr) => {
// try {
// data = JSON.parse(data)
// } catch(e) {}
// return {
// // isErr 如果是 true 的话,会上报一条 retcode 异常的日志。
// isErr: data.code && data.code != 200,
// code: data.code
// }
// }
// },
// //计算公式 = (PV + API 统计次数 + 静态资源统计次数 + 错误日志次数 + 自定义上报次数) - 50万
// beforeRequest:log =>{
// if(log.logType == 'speed') return false
// if(log.logType == 'pv'){
// return false
// }
let msg = log.logs?.msg
// let msg = log.logs?.msg
if(msg){
for (let i in ignoreMsgs){
if(msg.indexOf(ignoreMsgs[i]) !== -1){
return false
}
}
}
if(log.logType == 'log' && log.logs && log.logs.level == 8) return false
return log
}
});
// if(msg){
// for (let i in ignoreMsgs){
// if(msg.indexOf(ignoreMsgs[i]) !== -1){
// return false
// }
// }
// }
// if(log.logType == 'log' && log.logs && log.logs.level == 8) return false
// return log
// }
// });
//全局js捕获异常上报
Vue.config.errorHandler = function(err,vm,info) {
//页面全路径
let fullUrl = window.location.href
aegis.error({
msg:err,
ext1:`报错页面:${fullUrl}`,
trace: 'trace',
})
}
// //全局js捕获异常上报
// Vue.config.errorHandler = function(err,vm,info) {
// //页面全路径
// let fullUrl = window.location.href
// aegis.error({
// msg:err,
// ext1:`报错页面:${fullUrl}`,
// trace: 'trace',
// })
// }
export default ({store}) => {
......
......@@ -3,7 +3,7 @@
* @eMail: 932055106@qq.com
* @Date: 2022-02-10 15:24:49
* @LastEditors: tangjiale
* @LastEditTime: 2022-06-02 15:11:42
* @LastEditTime: 2022-06-06 11:08:14
*/
import Vue from 'vue';
require('./flexiable');
......@@ -16,6 +16,16 @@ Vue.component(cDialog.name, cDialog)
Vue.component(cPopup.name, cPopup)
//引用富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
//引入富文本css
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
//富文本编辑器添加实例
Vue.use(VueQuillEditor)
Vue.prototype.$showConfirm = msg => Vue.prototype.$confirm(msg || '是否确定删除对应的记录?', '提示', {type: 'warning'});
Vue.prototype.$notifySuccess = msg => Vue.prototype.$notify.success({
title: '提示',
......@@ -25,13 +35,13 @@ Vue.prototype.$notifySuccess = msg => Vue.prototype.$notify.success({
Vue.prototype.$px2rem = Number(document.documentElement.style.fontSize.replace('px', '')) / 75 * (window.dpr || 1);
export default ({store}) => {
Vue.directive('auth', {
bind: function(el, binding) {
let authCode = binding.value;
if (!authCode) return;
if (store.state.buttonAuthList.indexOf(authCode) === -1) { // 没有那个权限则隐藏按钮
el.style.display = 'none';
}
}
});
// Vue.directive('auth', {
// bind: function(el, binding) {
// let authCode = binding.value;
// if (!authCode) return;
// if (store.state.buttonAuthList.indexOf(authCode) === -1) { // 没有那个权限则隐藏按钮
// el.style.display = 'none';
// }
// }
// });
}
......@@ -3,7 +3,7 @@
* @eMail: 932055106@qq.com
* @Date: 2022-02-11 15:54:33
* @LastEditors: tangjiale
* @LastEditTime: 2022-02-22 09:07:41
* @LastEditTime: 2022-06-06 10:26:07
*/
import Vue from 'vue'
//配置对象
......@@ -21,10 +21,6 @@ export default {
historyRoute:[
{name:'首页',url:'/'}
],
//登陆来源 老板要求从哪里登陆过来,退出登陆后回哪里去
//已知: 1/用户中心 2/智慧体育 3/人人通
tbase:'',
sourceOption:['','loginUrl','zhtyLoginUrl','rrtLoginUrl','','']
}),
mutations: {
updateUserInfo(state, userInfo) {
......@@ -33,10 +29,9 @@ export default {
sessionStorage.setItem('myUserInfo', JSON.stringify(info));
},
logout(state) {
const source = state.tbase || ''
state.myUserInfo = null;
sessionStorage.removeItem('myUserInfo');
location.href = source ? config[state.sourceOption[source]] : '/login';
location.href = '/login';
},
//更新理由
updateRoute(state,list){
......
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