Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
admin-base
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
new-sing
admin-base
Commits
4622dd7a
Commit
4622dd7a
authored
Aug 14, 2019
by
赵茹林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增 导出完课用户
新增 数据管理更新时间 新增 设备移交原因 新增 用户转移 更新 期数名称3个 优化 选择用户样式
parent
230fd530
Changes
19
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1143 additions
and
757 deletions
+1143
-757
index.vue
src/components/class/index.vue
+10
-2
channelConversionList.vue
src/components/conversionList/channelConversionList.vue
+14
-2
channelGoodsConversionList.vue
src/components/conversionList/channelGoodsConversionList.vue
+16
-2
channelTransList.vue
src/components/conversionList/channelTransList.vue
+14
-1
marketEnrollmentConversionList.vue
...ponents/conversionList/marketEnrollmentConversionList.vue
+14
-2
periodsConversionList.vue
src/components/conversionList/periodsConversionList.vue
+14
-2
squadConversionList.vue
src/components/conversionList/squadConversionList.vue
+15
-3
teacherConversionList.vue
src/components/conversionList/teacherConversionList.vue
+14
-2
teacherPeriodsConversionList.vue
...omponents/conversionList/teacherPeriodsConversionList.vue
+16
-4
page.vue
src/components/framework/page.vue
+16
-11
dialog.vue
src/components/shop/dialog.vue
+402
-335
role.vue
src/components/system/role.vue
+1
-1
index.vue
src/components/teacher/index.vue
+35
-4
index.vue
src/components/teacherDetail/index.vue
+21
-45
task.vue
src/components/teacherDetail/task.vue
+2
-2
task3.vue
src/components/teacherDetail/task3.vue
+26
-2
index.vue
src/components/user/index.vue
+202
-52
index.vue
src/components/yunji/index.vue
+8
-4
api.js
src/service/api.js
+303
-281
No files found.
src/components/class/index.vue
View file @
4622dd7a
...
@@ -30,7 +30,8 @@
...
@@ -30,7 +30,8 @@
</el-form-item>
</el-form-item>
<el-form-item
style=
"float: right"
>
<el-form-item
style=
"float: right"
>
<div
class=
"search-btn-wrapper"
>
<div
class=
"search-btn-wrapper"
>
<el-button
@
click=
"onAdd"
type=
"success"
v-if=
"!$store.state.readonly"
>
+添加班级
</el-button>
<el-button
@
click=
"onExport"
type=
"primary"
v-if=
"$store.state.export"
plain
>
导出完课用户
</el-button>
<el-button
@
click=
"onAdd"
type=
"success"
v-if=
"!$store.state.readonly"
>
添加班级
</el-button>
<el-button
type=
"success"
@
click=
"sendMsg"
>
发送活动通知
</el-button>
<el-button
type=
"success"
@
click=
"sendMsg"
>
发送活动通知
</el-button>
</div>
</div>
</el-form-item>
</el-form-item>
...
@@ -159,7 +160,8 @@ import {
...
@@ -159,7 +160,8 @@ import {
getDefaultPeriodsApi
,
getDefaultPeriodsApi
,
postActiveNoticeApi
,
postActiveNoticeApi
,
getConfigListApi
,
getConfigListApi
,
getSourceStudentApi
getSourceStudentApi
,
exportExcelApi
}
from
"../../service/api"
;
}
from
"../../service/api"
;
import
classDialog
from
"./dialog"
;
import
classDialog
from
"./dialog"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
...
@@ -506,6 +508,12 @@ export default {
...
@@ -506,6 +508,12 @@ export default {
});
});
});
});
},
},
onExport
()
{
let
json
=
{
periods_id
:
this
.
selectedGoods
[
1
]
};
exportExcelApi
(
"/api/admin/periods/finish/user/export"
,
json
);
},
onAdd
()
{
onAdd
()
{
this
.
dialogObj
=
{
this
.
dialogObj
=
{
show
:
true
,
show
:
true
,
...
...
src/components/conversionList/channelConversionList.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
class=
"channel-trans-list"
>
<div
class=
"channel-trans-list"
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form-item
label=
"更新时间"
>
{{
updateTime
?
updateTime
:
'-'
}}
</el-form-item>
<el-form-item
label=
"进量日期"
>
<el-form-item
label=
"进量日期"
>
<el-date-picker
<el-date-picker
v-model=
"searchFrom.payTime"
v-model=
"searchFrom.payTime"
...
@@ -121,7 +124,8 @@
...
@@ -121,7 +124,8 @@
import
{
import
{
getChannelConversionListApi
,
getChannelConversionListApi
,
getGoodsListApi
,
getGoodsListApi
,
getConfigListApi
getConfigListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
}
from
"../../service/api"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
tipArr2
}
from
"../../util/tipArr"
;
import
{
tipArr2
}
from
"../../util/tipArr"
;
...
@@ -131,6 +135,7 @@ export default {
...
@@ -131,6 +135,7 @@ export default {
name
:
"channelConversionList"
,
name
:
"channelConversionList"
,
data
()
{
data
()
{
return
{
return
{
updateTime
:
''
,
typeList
:[],
typeList
:[],
width
:
0
,
width
:
0
,
nowPage
:
1
,
nowPage
:
1
,
...
@@ -186,7 +191,6 @@ export default {
...
@@ -186,7 +191,6 @@ export default {
];
];
}
}
},
},
propertyList
:
[],
spanArr
:
[],
spanArr
:
[],
contentSpanArr
:
[],
contentSpanArr
:
[],
searchFrom
:
{
searchFrom
:
{
...
@@ -430,11 +434,19 @@ export default {
...
@@ -430,11 +434,19 @@ export default {
this
.
list
=
[];
this
.
list
=
[];
}
}
});
});
},
getUpdateTime
()
{
getUpdateTimeApi
().
then
(
res
=>
{
if
(
res
.
time
)
{
this
.
updateTime
=
res
.
time
}
})
}
}
},
},
mounted
()
{
mounted
()
{
this
.
getChannelTransList
();
this
.
getChannelTransList
();
this
.
getGoodsOption
();
this
.
getGoodsOption
();
this
.
getUpdateTime
()
// this.getGoodsList();
// this.getGoodsList();
}
}
};
};
...
...
src/components/conversionList/channelGoodsConversionList.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
class=
"channel-trans-list"
>
<div
class=
"channel-trans-list"
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form-item
label=
"更新时间"
>
{{
updateTime
?
updateTime
:
'-'
}}
</el-form-item>
<el-form-item
label=
"进量日期"
>
<el-form-item
label=
"进量日期"
>
<el-date-picker
<el-date-picker
v-model=
"searchFrom.payTime"
v-model=
"searchFrom.payTime"
...
@@ -140,7 +144,8 @@
...
@@ -140,7 +144,8 @@
import
{
import
{
getChannelGoodsConversionListApi
,
getChannelGoodsConversionListApi
,
getGoodsListApi
,
getGoodsListApi
,
getConfigListApi
getConfigListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
...
@@ -149,6 +154,7 @@ export default {
...
@@ -149,6 +154,7 @@ export default {
name
:
"channelGoodsConversionList"
,
name
:
"channelGoodsConversionList"
,
data
()
{
data
()
{
return
{
return
{
updateTime
:
''
,
typeList
:[],
typeList
:[],
width
:
0
,
width
:
0
,
nowPage
:
1
,
nowPage
:
1
,
...
@@ -480,13 +486,21 @@ export default {
...
@@ -480,13 +486,21 @@ export default {
this
.
list
=
[];
this
.
list
=
[];
}
}
});
});
},
getUpdateTime
()
{
getUpdateTimeApi
().
then
(
res
=>
{
if
(
res
.
time
)
{
this
.
updateTime
=
res
.
time
}
})
}
}
},
},
mounted
()
{
mounted
()
{
this
.
getChannelTransList
();
this
.
getChannelTransList
();
// this.getPeriodsList();
// this.getPeriodsList();
// this.getGoodsList();
// this.getGoodsList();
this
.
getGoodsOption
()
this
.
getGoodsOption
();
this
.
getUpdateTime
()
}
}
};
};
</
script
>
</
script
>
...
...
src/components/conversionList/channelTransList.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
class=
"channel-trans-list"
>
<div
class=
"channel-trans-list"
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form-item
label=
"更新时间"
>
{{
updateTime
?
updateTime
:
'-'
}}
</el-form-item>
<el-form-item
label=
"进量日期"
>
<el-form-item
label=
"进量日期"
>
<el-date-picker
<el-date-picker
v-model=
"searchFrom.payTime"
v-model=
"searchFrom.payTime"
...
@@ -156,7 +159,8 @@ import {
...
@@ -156,7 +159,8 @@ import {
getGoodsListApi
,
getGoodsListApi
,
exportExcelApi
,
exportExcelApi
,
getPeriodsOtherListApi
,
getPeriodsOtherListApi
,
getConfigListApi
getConfigListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
...
@@ -165,6 +169,7 @@ export default {
...
@@ -165,6 +169,7 @@ export default {
name
:
"channelTransList"
,
name
:
"channelTransList"
,
data
()
{
data
()
{
return
{
return
{
updateTime
:
''
,
typeList
:[],
typeList
:[],
width
:
0
,
width
:
0
,
nowPage
:
1
,
nowPage
:
1
,
...
@@ -559,6 +564,13 @@ export default {
...
@@ -559,6 +564,13 @@ export default {
this
.
list
=
[];
this
.
list
=
[];
}
}
});
});
},
getUpdateTime
()
{
getUpdateTimeApi
().
then
(
res
=>
{
if
(
res
.
time
)
{
this
.
updateTime
=
res
.
time
}
})
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -567,6 +579,7 @@ export default {
...
@@ -567,6 +579,7 @@ export default {
// this.getPeriodsList();
// this.getPeriodsList();
this
.
getGoodsList
();
this
.
getGoodsList
();
this
.
getPeriodsOtherList
();
this
.
getPeriodsOtherList
();
this
.
getUpdateTime
();
}
}
};
};
</
script
>
</
script
>
...
...
src/components/conversionList/marketEnrollmentConversionList.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
style=
"padding-top: 20px;"
>
<div
style=
"padding-top: 20px;"
>
<el-form
ref=
"searchFrom"
class=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form
ref=
"searchFrom"
class=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form-item
label=
"更新时间"
>
{{
updateTime
?
updateTime
:
'-'
}}
</el-form-item>
<el-form-item
label=
"进量日期"
>
<el-form-item
label=
"进量日期"
>
<el-date-picker
<el-date-picker
v-model=
"searchFrom.payTime"
v-model=
"searchFrom.payTime"
...
@@ -94,11 +97,12 @@
...
@@ -94,11 +97,12 @@
</template>
</template>
<
script
>
<
script
>
import
{
getMarketEnrollmentConversionListApi
,
getPeriodsOtherListApi
}
from
"../../service/api"
;
import
{
getMarketEnrollmentConversionListApi
,
getPeriodsOtherListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
export
default
{
export
default
{
name
:
"index"
,
name
:
"index"
,
data
()
{
data
()
{
return
{
return
{
updateTime
:
''
,
list
:
[],
list
:
[],
dateList
:
[],
dateList
:
[],
propertyList
:
[
propertyList
:
[
...
@@ -307,11 +311,19 @@ export default {
...
@@ -307,11 +311,19 @@ export default {
// colspan: 1
// colspan: 1
// };
// };
// }
// }
},
getUpdateTime
()
{
getUpdateTimeApi
().
then
(
res
=>
{
if
(
res
.
time
)
{
this
.
updateTime
=
res
.
time
}
})
}
}
},
},
created
()
{
created
()
{
this
.
getList
();
this
.
getList
();
this
.
getPeriodsOtherList
()
this
.
getPeriodsOtherList
();
this
.
getUpdateTime
()
}
}
};
};
</
script
>
</
script
>
...
...
src/components/conversionList/periodsConversionList.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
class=
"channel-trans-list"
>
<div
class=
"channel-trans-list"
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form-item
label=
"更新时间"
>
{{
updateTime
?
updateTime
:
'-'
}}
</el-form-item>
<el-form-item
label=
"进量日期"
>
<el-form-item
label=
"进量日期"
>
<el-date-picker
<el-date-picker
v-model=
"searchFrom.payTime"
v-model=
"searchFrom.payTime"
...
@@ -140,7 +143,7 @@
...
@@ -140,7 +143,7 @@
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getPeriodsConversionListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
,
getTeacherListApi
}
from
"../../service/api"
;
import
{
getPeriodsConversionListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
,
getTeacherListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
tipArr3
}
from
"../../util/tipArr"
;
import
{
tipArr3
}
from
"../../util/tipArr"
;
...
@@ -148,6 +151,7 @@ export default {
...
@@ -148,6 +151,7 @@ export default {
name
:
"periodsConversionList"
,
name
:
"periodsConversionList"
,
data
()
{
data
()
{
return
{
return
{
updateTime
:
''
,
width
:
0
,
width
:
0
,
nowPage
:
1
,
nowPage
:
1
,
total
:
0
,
total
:
0
,
...
@@ -577,6 +581,13 @@ export default {
...
@@ -577,6 +581,13 @@ export default {
this
.
list
=
[];
this
.
list
=
[];
}
}
});
});
},
getUpdateTime
()
{
getUpdateTimeApi
().
then
(
res
=>
{
if
(
res
.
time
)
{
this
.
updateTime
=
res
.
time
}
})
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -584,7 +595,8 @@ export default {
...
@@ -584,7 +595,8 @@ export default {
// this.getPeriodsList();
// this.getPeriodsList();
this
.
getGoodsList
();
this
.
getGoodsList
();
this
.
getPeriodsOtherList
();
this
.
getPeriodsOtherList
();
this
.
getTeacherList
()
this
.
getTeacherList
();
this
.
getUpdateTime
()
}
}
};
};
</
script
>
</
script
>
...
...
src/components/conversionList/squadConversionList.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
class=
"channel-trans-list"
>
<div
class=
"channel-trans-list"
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form-item
label=
"更新时间"
>
{{
updateTime
?
updateTime
:
'-'
}}
</el-form-item>
<el-form-item
label=
"进量日期"
>
<el-form-item
label=
"进量日期"
>
<el-date-picker
<el-date-picker
v-model=
"searchFrom.payTime"
v-model=
"searchFrom.payTime"
...
@@ -99,7 +102,8 @@
...
@@ -99,7 +102,8 @@
import
{
import
{
getSquadConversionListApi
,
getSquadConversionListApi
,
getGoodsListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
getPeriodsOtherListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
...
@@ -108,6 +112,7 @@ export default {
...
@@ -108,6 +112,7 @@ export default {
name
:
"squadConversionList"
,
name
:
"squadConversionList"
,
data
()
{
data
()
{
return
{
return
{
updateTime
:
''
,
width
:
0
,
width
:
0
,
nowPage
:
1
,
nowPage
:
1
,
total
:
0
,
total
:
0
,
...
@@ -162,7 +167,6 @@ export default {
...
@@ -162,7 +167,6 @@ export default {
];
];
}
}
},
},
propertyList
:
[],
spanArr
:
[],
spanArr
:
[],
contentSpanArr
:
[],
contentSpanArr
:
[],
searchFrom
:
{
searchFrom
:
{
...
@@ -454,12 +458,20 @@ export default {
...
@@ -454,12 +458,20 @@ export default {
this
.
list
=
[];
this
.
list
=
[];
}
}
});
});
},
getUpdateTime
()
{
getUpdateTimeApi
().
then
(
res
=>
{
if
(
res
.
time
)
{
this
.
updateTime
=
res
.
time
}
})
}
}
},
},
mounted
()
{
mounted
()
{
this
.
getChannelTransList
();
this
.
getChannelTransList
();
this
.
getGoodsList
();
this
.
getGoodsList
();
this
.
getPeriodsOtherList
()
this
.
getPeriodsOtherList
();
this
.
getUpdateTime
()
}
}
};
};
</
script
>
</
script
>
...
...
src/components/conversionList/teacherConversionList.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
class=
"channel-trans-list"
>
<div
class=
"channel-trans-list"
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form-item
label=
"更新时间"
>
{{
updateTime
?
updateTime
:
'-'
}}
</el-form-item>
<el-form-item
label=
"进量日期"
>
<el-form-item
label=
"进量日期"
>
<el-date-picker
<el-date-picker
v-model=
"searchFrom.payTime"
v-model=
"searchFrom.payTime"
...
@@ -103,7 +106,8 @@
...
@@ -103,7 +106,8 @@
import
{
import
{
getTeacherConversionListApi
,
getTeacherConversionListApi
,
getGoodsListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
getPeriodsOtherListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
...
@@ -112,6 +116,7 @@ export default {
...
@@ -112,6 +116,7 @@ export default {
name
:
"teacherConversionList"
,
name
:
"teacherConversionList"
,
data
()
{
data
()
{
return
{
return
{
updateTime
:
''
,
width
:
0
,
width
:
0
,
nowPage
:
1
,
nowPage
:
1
,
total
:
0
,
total
:
0
,
...
@@ -181,7 +186,6 @@ export default {
...
@@ -181,7 +186,6 @@ export default {
teacher_id
:
""
,
teacher_id
:
""
,
periods_title
:
""
periods_title
:
""
},
},
propertyList
:
[],
watchList
:
[
watchList
:
[
{
id
:
0
,
title
:
5
},
{
id
:
0
,
title
:
5
},
{
id
:
1
,
title
:
6
},
{
id
:
1
,
title
:
6
},
...
@@ -457,12 +461,20 @@ export default {
...
@@ -457,12 +461,20 @@ export default {
this
.
list
=
[];
this
.
list
=
[];
}
}
});
});
},
getUpdateTime
()
{
getUpdateTimeApi
().
then
(
res
=>
{
if
(
res
.
time
)
{
this
.
updateTime
=
res
.
time
}
})
}
}
},
},
mounted
()
{
mounted
()
{
this
.
getChannelTransList
();
this
.
getChannelTransList
();
this
.
getPeriodsOtherList
();
this
.
getPeriodsOtherList
();
this
.
getGoodsList
();
this
.
getGoodsList
();
this
.
getUpdateTime
();
}
}
};
};
</
script
>
</
script
>
...
...
src/components/conversionList/teacherPeriodsConversionList.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
class=
"channel-trans-list"
>
<div
class=
"channel-trans-list"
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form
ref=
"searchFrom"
:model=
"searchFrom"
label-width=
"100px"
inline
>
<el-form-item
label=
"更新时间"
>
{{
updateTime
?
updateTime
:
'-'
}}
</el-form-item>
<el-form-item
label=
"进量日期"
>
<el-form-item
label=
"进量日期"
>
<el-date-picker
<el-date-picker
v-model=
"searchFrom.payTime"
v-model=
"searchFrom.payTime"
...
@@ -94,7 +97,7 @@
...
@@ -94,7 +97,7 @@
:style=
"
{width: width+'px'}"
:style=
"
{width: width+'px'}"
fixed>
fixed>
<!--
<el-table-column
prop=
"periods_title"
label=
"期数名称"
></el-table-column>
-->
<!--
<el-table-column
prop=
"periods_title"
label=
"期数名称"
></el-table-column>
-->
<el-table-column
prop=
"periods_title"
label=
"期数名称"
width=
"1
7
0px"
>
<el-table-column
prop=
"periods_title"
label=
"期数名称"
width=
"1
8
0px"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<div
v-html=
"periodName(scope.row)"
></div>
<div
v-html=
"periodName(scope.row)"
></div>
</
template
>
</
template
>
...
@@ -103,8 +106,7 @@
...
@@ -103,8 +106,7 @@
prop=
"duration_over_at"
prop=
"duration_over_at"
label=
"开课看课时间"
label=
"开课看课时间"
style=
"font-size:12px;"
style=
"font-size:12px;"
width=
"200"
width=
"180"
>
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
开课日期:
{{
scope
.
row
.
start_at
}}
开课日期:
{{
scope
.
row
.
start_at
}}
<br>
<br>
...
@@ -151,7 +153,8 @@ import {
...
@@ -151,7 +153,8 @@ import {
getTeacherPeriodsConversionListApi
,
getTeacherPeriodsConversionListApi
,
getGoodsListApi
,
getGoodsListApi
,
getPeriodsOtherListApi
,
getPeriodsOtherListApi
,
getTeacherListApi
getTeacherListApi
,
getUpdateTimeApi
}
from
"../../service/api"
;
}
from
"../../service/api"
;
import
page
from
"../framework/page"
;
import
page
from
"../framework/page"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
...
@@ -160,6 +163,7 @@ export default {
...
@@ -160,6 +163,7 @@ export default {
name
:
"teacherPeriodsConversionList"
,
name
:
"teacherPeriodsConversionList"
,
data
()
{
data
()
{
return
{
return
{
updateTime
:
''
,
width
:
0
,
width
:
0
,
nowPage
:
1
,
nowPage
:
1
,
total
:
0
,
total
:
0
,
...
@@ -594,6 +598,13 @@ export default {
...
@@ -594,6 +598,13 @@ export default {
this
.
list
=
[];
this
.
list
=
[];
}
}
});
});
},
getUpdateTime
()
{
getUpdateTimeApi
().
then
(
res
=>
{
if
(
res
.
time
)
{
this
.
updateTime
=
res
.
time
}
})
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -601,6 +612,7 @@ export default {
...
@@ -601,6 +612,7 @@ export default {
this
.
getPeriodsOtherList
();
this
.
getPeriodsOtherList
();
this
.
getGoodsList
();
this
.
getGoodsList
();
this
.
getTeacherList
();
this
.
getTeacherList
();
this
.
getUpdateTime
();
}
}
};
};
</
script
>
</
script
>
...
...
src/components/framework/page.vue
View file @
4622dd7a
<
template
>
<
template
>
<div
class=
"page-div"
>
<div
class=
"page-div"
>
<el-pagination
<el-pagination
:small=
"small"
@
size-change=
"handleSizeChange"
@
size-change=
"handleSizeChange"
:page-sizes=
"[5, 10, 20, 30, 40, 50, 60, 80, 100]"
:page-sizes=
"[5, 10, 20, 30, 40, 50, 60, 80, 100]"
:page-size=
"limit"
:page-size=
"limit"
:current-page
.
sync=
"nowPage"
:current-page
.
sync=
"nowPage"
layout=
"total
, sizes, prev, pager, next, jumper"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
>
:total=
"total"
>
</el-pagination>
</el-pagination>
</div>
</div>
...
@@ -19,16 +20,20 @@
...
@@ -19,16 +20,20 @@
nowPage
:
1
nowPage
:
1
}
}
},
},
props
:{
props
:
{
'total'
:
{
'total'
:
{
required
:
true
required
:
true
},
},
'limit'
:
{
'limit'
:
{
default
:
10
default
:
10
},
'small'
:
{
type
:
Boolean
,
default
:
false
}
}
},
},
watch
:{
watch
:
{
nowPage
(
value
){
nowPage
(
value
)
{
this
.
$emit
(
"pageChange"
,
value
);
this
.
$emit
(
"pageChange"
,
value
);
}
}
},
},
...
@@ -42,7 +47,7 @@
...
@@ -42,7 +47,7 @@
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.page-div
{
.page-div
{
display
:
block
;
display
:
block
;
text-align
:
center
;
text-align
:
center
;
}
}
...
...
src/components/shop/dialog.vue
View file @
4622dd7a
This diff is collapsed.
Click to expand it.
src/components/system/role.vue
View file @
4622dd7a
...
@@ -96,7 +96,7 @@
...
@@ -96,7 +96,7 @@
total
:
0
,
total
:
0
,
limit
:
10
,
limit
:
10
,
roleList
:[],
roleList
:[],
exportMenuList
:[
exportMenuList
:[
// 导出权限
'2-3'
,
'5-10'
,
'5-2'
,
'5-1'
,
'5-3'
,
'5-8'
,
'5-9'
,
'3-1'
,
'7-9'
,
'6-3'
,
'10-8'
'2-3'
,
'5-10'
,
'5-2'
,
'5-1'
,
'5-3'
,
'5-8'
,
'5-9'
,
'3-1'
,
'7-9'
,
'6-3'
,
'10-8'
],
],
dialog
:{
dialog
:{
...
...
src/components/teacher/index.vue
View file @
4622dd7a
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
width=
"500px"
:visible
.
sync=
"transfer.show"
>
<el-dialog
width=
"500px"
:visible
.
sync=
"transfer.show"
title=
"移交"
>
<el-form
ref=
"transferForm"
:rules=
"transfer.form.rules"
:model=
"transfer.form"
label-width=
"100px"
>
<el-form
ref=
"transferForm"
:rules=
"transfer.form.rules"
:model=
"transfer.form"
label-width=
"100px"
>
<el-form-item
label=
"当前设备:"
prop=
"teacher_name"
>
<el-form-item
label=
"当前设备:"
prop=
"teacher_name"
>
{{transfer.form.teacher_name}}
{{transfer.form.teacher_name}}
...
@@ -264,6 +264,16 @@
...
@@ -264,6 +264,16 @@
type=
"datetime"
placeholder=
"选择时间"
></el-date-picker>
type=
"datetime"
placeholder=
"选择时间"
></el-date-picker>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"移交原因:"
prop=
"reason"
>
<el-select
v-model=
"transfer.form.reason"
filterable
placeholder=
"请选择"
:clearable=
"false"
@
change=
"transferReasonName"
>
<el-option
v-for=
"(data,index) in transfer.reasonList"
:key=
"index"
:label=
"data.name"
:value=
"data.id"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<el-button
@
click=
"transferToggle"
>
取消
</el-button>
<el-button
@
click=
"transferToggle"
>
取消
</el-button>
...
@@ -289,6 +299,8 @@
...
@@ -289,6 +299,8 @@
transfer
:
{
transfer
:
{
show
:
false
,
show
:
false
,
form
:
{
form
:
{
reason
:
''
,
reason_name
:
''
,
teacher_name
:
''
,
teacher_name
:
''
,
teacher_id
:
''
,
teacher_id
:
''
,
staff_current_name
:
''
,
// 当前顾问名
staff_current_name
:
''
,
// 当前顾问名
...
@@ -298,9 +310,23 @@
...
@@ -298,9 +310,23 @@
rules
:
{
rules
:
{
staff_id
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'change'
}],
staff_id
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'change'
}],
transfer_at
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'change'
}],
transfer_at
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'change'
}],
reason
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'change'
}],
},
},
},
},
staff
:
[
0
]
staff
:
[
0
],
reasonList
:
[{
id
:
0
,
name
:
'人员入职'
,
},{
id
:
1
,
name
:
'人员离职'
,
},{
id
:
2
,
name
:
'请假'
,
},{
id
:
3
,
name
:
'其它'
,
},]
},
},
searchFrom
:{
searchFrom
:{
name
:
''
,
name
:
''
,
...
@@ -440,6 +466,9 @@
...
@@ -440,6 +466,9 @@
transferStaffName
(
data
)
{
transferStaffName
(
data
)
{
this
.
transfer
.
form
.
staff_name
=
this
.
transfer
.
staff
.
find
(
x
=>
x
.
id
==
data
).
name
;
this
.
transfer
.
form
.
staff_name
=
this
.
transfer
.
staff
.
find
(
x
=>
x
.
id
==
data
).
name
;
},
},
transferReasonName
(
data
)
{
this
.
transfer
.
form
.
reason_name
=
this
.
transfer
.
reasonList
.
find
(
x
=>
x
.
id
==
data
).
name
;
},
transferToggle
(
data
)
{
transferToggle
(
data
)
{
this
.
transfer
.
show
=
!
this
.
transfer
.
show
;
this
.
transfer
.
show
=
!
this
.
transfer
.
show
;
if
(
this
.
transfer
.
show
){
if
(
this
.
transfer
.
show
){
...
@@ -467,8 +496,9 @@
...
@@ -467,8 +496,9 @@
this
.
$confirm
(
`确定将
this
.
$confirm
(
`确定将
<span style="color: red;">
${
this
.
transfer
.
form
.
teacher_name
}
</span> 移交给
<span style="color: red;">
${
this
.
transfer
.
form
.
teacher_name
}
</span> 移交给
<span style="color: red;">
${
this
.
transfer
.
form
.
staff_name
}
</span> ?<br>移交开始时间
<span style="color: red;">
${
this
.
transfer
.
form
.
staff_name
}
</span> ?<br>
${
this
.
transfer
.
form
.
transfer_at
}
`
,
'提示'
,
{
移交开始时间
${
this
.
transfer
.
form
.
transfer_at
}
<br>
移交原因
${
this
.
transfer
.
form
.
reason_name
}
`
,
'提示'
,
{
dangerouslyUseHTMLString
:
true
,
dangerouslyUseHTMLString
:
true
,
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
...
@@ -478,6 +508,7 @@
...
@@ -478,6 +508,7 @@
teacher_id
:
this
.
transfer
.
form
.
teacher_id
,
teacher_id
:
this
.
transfer
.
form
.
teacher_id
,
staff_id
:
this
.
transfer
.
form
.
staff_id
,
staff_id
:
this
.
transfer
.
form
.
staff_id
,
transfer_at
:
this
.
transfer
.
form
.
transfer_at
,
transfer_at
:
this
.
transfer
.
form
.
transfer_at
,
reason
:
this
.
transfer
.
form
.
reason
,
};
};
postTransferTeacherApi
(
json
).
then
(
res
=>
{
postTransferTeacherApi
(
json
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'移交成功!'
});
this
.
$message
({
type
:
'success'
,
message
:
'移交成功!'
});
...
...
src/components/teacherDetail/index.vue
View file @
4622dd7a
...
@@ -441,58 +441,34 @@
...
@@ -441,58 +441,34 @@
<user-list
:userObj=
"userObj"
@
reflash=
"getTeacherDetail"
/>
<user-list
:userObj=
"userObj"
@
reflash=
"getTeacherDetail"
/>
<choose-good-dialog
:dialogObj=
"chooseGoodDialogObj"
@
changeShow=
"changeShow"
/>
<choose-good-dialog
:dialogObj=
"chooseGoodDialogObj"
@
changeShow=
"changeShow"
/>
<el-dialog
append-to-body
:visible
.
sync=
"addShow"
>
<el-dialog
append-to-body
:visible
.
sync=
"addShow"
top=
"5vh"
>
<el-form
label-width=
"90px"
>
<el-form
label-width=
"90px"
inline
>
<!--<el-form-item label="用户id">-->
<!--<el-form-item label="用户id">-->
<!--<el-input v-model="addId"></el-input>-->
<!--<el-input v-model="addId"></el-input>-->
<!--</el-form-item>-->
<!--</el-form-item>-->
<el-row>
<el-form-item>
<el-col
:span=
"8"
>
<el-input
style=
"width: 160px;"
placeholder=
"ID"
@
change=
"getUser"
v-model=
"searchFrom.userId"
></el-input>
<el-form-item
label=
"ID"
>
<el-input
v-model=
"searchFrom.userId"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
<el-form-item>
<el-col
:span=
"8"
>
<el-input
style=
"width: 160px;"
placeholder=
"昵称"
@
change=
"getUser"
v-model=
"searchFrom.nickName"
></el-input>
<el-form-item
label=
"昵称"
>
<el-input
v-model=
"searchFrom.nickName"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
<el-form-item>
<el-col
:span=
"8"
>
<el-input
style=
"width: 160px;"
placeholder=
"电话"
@
change=
"getUser"
v-model=
"searchFrom.mobile"
></el-input>
<el-form-item
label=
"电话"
>
<el-input
v-model=
"searchFrom.mobile"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
:offset=
"16"
>
<el-form-item>
<el-form-item>
<el-button
style=
"float: right"
type=
"primary"
plain
@
click=
"getUser"
>
搜索
</el-button>
<el-button
type=
"primary"
plain
@
click=
"getUser"
>
搜索
</el-button>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-form>
<el-table
<el-table
border
size=
"small"
:data=
"userList"
ref=
"multipleTable"
@
selection-change=
"handleSelectionChange"
>
:data=
"userList"
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
ref=
"multipleTable"
<el-table-column
className=
"f-c"
label=
"用户"
>
@
selection-change=
"handleSelectionChange"
style=
"width: 100%"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
className=
"f-c"
label=
"用户"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<img
style=
"margin-right:
5
px;width: 50px;height: 50px;border-radius: 50px"
:src=
"scope.row.avatar"
>
{{
scope
.
row
.
nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
<img
style=
"margin-right:
8
px;width: 50px;height: 50px;border-radius: 50px"
:src=
"scope.row.avatar"
>
{{
scope
.
row
.
nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"mobile"
label=
"手机号"
></el-table-column>
prop=
"mobile"
label=
"手机号"
>
</el-table-column>
</el-table>
</el-table>
<page
:total=
"userObj.total"
:limit=
"userObj.limit"
@
pageChange=
"onPageChange3"
@
sizeChange=
"onSizeChange3"
/>
<page
:total=
"userObj.total"
:limit=
"userObj.limit"
:small=
"true"
@
pageChange=
"onPageChange3"
@
sizeChange=
"onSizeChange3"
/>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addShow = false"
>
取 消
</el-button>
<el-button
@
click=
"addShow = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"onAdd"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"onAdd"
>
确 定
</el-button>
...
...
src/components/teacherDetail/task.vue
View file @
4622dd7a
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<div
v-for=
"data in task3List"
class=
"task3-table"
style=
"width:47%"
>
<div
v-for=
"data in task3List"
class=
"task3-table"
style=
"width:47%"
>
<div
class=
"table"
>
<div
class=
"table"
>
<div
class=
"title"
style=
"width:8%"
>
<div
class=
"title"
style=
"width:8%"
>
<div
class=
"header bg-h"
>
期数
</div>
<div
class=
"header bg-h"
>
期数
名称
</div>
<div>
<div>
<!--
{{
data
.
title
}}
-->
<!--
{{
data
.
title
}}
-->
<div
v-html=
"periodName(data)"
></div>
<div
v-html=
"periodName(data)"
></div>
...
@@ -61,7 +61,7 @@
...
@@ -61,7 +61,7 @@
<div>
往期意向用户:
</div>
<div>
往期意向用户:
</div>
<div
class=
"table"
>
<div
class=
"table"
>
<div
class=
"title"
style=
"width:8%"
>
<div
class=
"title"
style=
"width:8%"
>
<div
class=
"header bg-h"
>
期数
</div>
<div
class=
"header bg-h"
>
期数
名称
</div>
<div>
<div>
往期活跃用户数(近三天)
往期活跃用户数(近三天)
</div>
</div>
...
...
src/components/teacherDetail/task3.vue
View file @
4622dd7a
...
@@ -10,9 +10,10 @@
...
@@ -10,9 +10,10 @@
<div
v-for=
"data in task3List"
class=
"task3-table"
>
<div
v-for=
"data in task3List"
class=
"task3-table"
>
<div
class=
"table"
>
<div
class=
"table"
>
<div
class=
"title"
style=
"width:8%"
>
<div
class=
"title"
style=
"width:8%"
>
<div
class=
"header bg-h"
>
期数
</div>
<div
class=
"header bg-h"
>
期数
名称
</div>
<div>
<div>
{{
data
.
title
}}
<!--
{{
data
.
title
}}
-->
<div
v-html=
"periodName(data)"
></div>
</div>
</div>
</div>
</div>
<div
class=
"total"
>
<div
class=
"total"
>
...
@@ -358,6 +359,29 @@
...
@@ -358,6 +359,29 @@
}
}
}
,
}
,
methods
:{
methods
:{
periodName
(
val
)
{
let
str
=
''
;
if
(
!
val
.
title
)
{
str
=
'-'
}
else
{
if
(
val
.
goods_id
)
{
str
+=
`【${val.goods_id
}
】`
}
if
(
val
.
title
)
{
str
+=
`${val.title
}
<br>`
}
if
(
val
.
watch_num
)
{
str
+=
`${val.watch_num
}
课时`
}
if
(
val
.
start_at
)
{
str
+=
`(${val.start_at.slice(5).replace('-', '')
}
)`
}
if
(
val
.
has_watch_num
||
val
.
has_watch_num
==
0
)
{
str
+=
`-d${val.has_watch_num
}
`
}
}
return
str
}
,
showSourceByDate
(
row
){
showSourceByDate
(
row
){
this
.
sourceByDateDialogJson
=
{
this
.
sourceByDateDialogJson
=
{
"periods_id"
:
row
.
periods_id
,
"periods_id"
:
row
.
periods_id
,
...
...
src/components/user/index.vue
View file @
4622dd7a
This diff is collapsed.
Click to expand it.
src/components/yunji/index.vue
View file @
4622dd7a
...
@@ -163,7 +163,7 @@
...
@@ -163,7 +163,7 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"teacher_name"
label=
"班级老师"
>
<el-table-column
prop=
"teacher_name"
label=
"班级老师"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"class_source"
width=
"80"
label=
"活动方案
"
>
<el-table-column
prop=
"class_source"
label=
"活动方案"
width=
"180px
"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
class_source
|
classType
}}
{{
scope
.
row
.
class_source
|
classType
}}
</
template
>
</
template
>
...
@@ -905,10 +905,14 @@ export default {
...
@@ -905,10 +905,14 @@ export default {
.sms {
.sms {
padding: 20px 0;
padding: 20px 0;
}
}
.el-button+.el-button{
.el-table {
.el-button + .el-button {
margin-left: 0;
margin-left: 0;
/* margin-top: 10px; */
margin-top: 10px;
}
}
}
.avatar {
.avatar {
width: 50px;
width: 50px;
min-width: 50px;
min-width: 50px;
...
...
src/service/api.js
View file @
4622dd7a
import
Vue
from
'vue'
;
import
Vue
from
'vue'
;
import
axios
from
'axios'
import
axios
from
'axios'
import
{
post
,
fetch
,
patch
,
put
,
del
,
upload
}
from
'./index'
import
{
post
,
fetch
,
patch
,
put
,
del
,
upload
}
from
'./index'
import
md5
from
"js-md5"
;
import
md5
from
"js-md5"
;
import
CommonJs
from
'../util/common'
;
import
CommonJs
from
'../util/common'
;
const
_baseUrl
=
process
.
env
.
API_URL
;
const
_baseUrl
=
process
.
env
.
API_URL
;
Vue
.
prototype
.
$post
=
post
;
Vue
.
prototype
.
$post
=
post
;
Vue
.
prototype
.
$fetch
=
fetch
;
Vue
.
prototype
.
$fetch
=
fetch
;
...
@@ -14,7 +15,7 @@ Vue.prototype.$upload = upload;
...
@@ -14,7 +15,7 @@ Vue.prototype.$upload = upload;
//登录
//登录
const
loginURL
=
`
${
_baseUrl
}
api/admin/login`
;
const
loginURL
=
`
${
_baseUrl
}
api/admin/login`
;
export
const
loginApi
=
function
(
json
)
{
export
const
loginApi
=
function
(
json
)
{
return
Vue
.
prototype
.
$post
(
loginURL
,
{
"username"
:
json
.
username
,
"passwd"
:
json
.
password
})
return
Vue
.
prototype
.
$post
(
loginURL
,
{
"username"
:
json
.
username
,
"passwd"
:
json
.
password
})
};
};
//退出登录
//退出登录
const
logOutUrl
=
`
${
_baseUrl
}
api/admin/logout`
;
const
logOutUrl
=
`
${
_baseUrl
}
api/admin/logout`
;
...
@@ -56,6 +57,11 @@ const getUserDetailUrl = `${_baseUrl}api/admin/student/info`;
...
@@ -56,6 +57,11 @@ const getUserDetailUrl = `${_baseUrl}api/admin/student/info`;
export
const
getUserDetailApi
=
function
(
id
)
{
export
const
getUserDetailApi
=
function
(
id
)
{
return
Vue
.
prototype
.
$fetch
(
`
${
getUserDetailUrl
}
/
${
id
}
`
)
return
Vue
.
prototype
.
$fetch
(
`
${
getUserDetailUrl
}
/
${
id
}
`
)
};
};
// 用户转移
const
postUserTransferUrl
=
`
${
_baseUrl
}
api/admin/user/data/transfer`
;
export
const
postUserTransferApi
=
function
(
json
)
{
return
Vue
.
prototype
.
$post
(
postUserTransferUrl
,
json
)
};
//获取教师列表
//获取教师列表
const
getTeacherListUrl
=
`
${
_baseUrl
}
api/admin/teacher/list`
;
const
getTeacherListUrl
=
`
${
_baseUrl
}
api/admin/teacher/list`
;
export
const
getTeacherListApi
=
function
(
json
)
{
export
const
getTeacherListApi
=
function
(
json
)
{
...
@@ -148,7 +154,7 @@ export const downGoodsApi = function (id) {
...
@@ -148,7 +154,7 @@ export const downGoodsApi = function (id) {
//查询元素、菜单分类
//查询元素、菜单分类
const
getCategoryUrl
=
`
${
_baseUrl
}
api/admin/category/list/0`
;
const
getCategoryUrl
=
`
${
_baseUrl
}
api/admin/category/list/0`
;
export
const
getCategoryApi
=
function
(
pid
)
{
export
const
getCategoryApi
=
function
(
pid
)
{
return
Vue
.
prototype
.
$fetch
(
getCategoryUrl
,
{
'pid'
:
pid
})
return
Vue
.
prototype
.
$fetch
(
getCategoryUrl
,
{
'pid'
:
pid
})
};
};
// 添加教材菜单
// 添加教材菜单
...
@@ -362,7 +368,7 @@ export const delBannerApi = function (id) {
...
@@ -362,7 +368,7 @@ export const delBannerApi = function (id) {
// 移动顺序
// 移动顺序
const
moveUrl
=
`
${
_baseUrl
}
api/admin/banner/sort`
;
const
moveUrl
=
`
${
_baseUrl
}
api/admin/banner/sort`
;
export
const
moveApi
=
function
(
upId
,
downId
)
{
export
const
moveApi
=
function
(
upId
,
downId
)
{
return
Vue
.
prototype
.
$patch
(
`
${
moveUrl
}
`
,
{
banner_up_id
:
upId
,
banner_down_id
:
downId
})
return
Vue
.
prototype
.
$patch
(
`
${
moveUrl
}
`
,
{
banner_up_id
:
upId
,
banner_down_id
:
downId
})
};
};
// 获取期数列表
// 获取期数列表
...
@@ -668,6 +674,7 @@ const editAdminPasswordUrl = `/api/admin/user/passwd`;
...
@@ -668,6 +674,7 @@ const editAdminPasswordUrl = `/api/admin/user/passwd`;
export
const
editAdminPasswordApi
=
function
(
json
)
{
export
const
editAdminPasswordApi
=
function
(
json
)
{
return
Vue
.
prototype
.
$patch
(
editAdminPasswordUrl
,
json
)
return
Vue
.
prototype
.
$patch
(
editAdminPasswordUrl
,
json
)
};
};
// 导出
// 导出
function
exportExcel
(
form
)
{
function
exportExcel
(
form
)
{
return
axios
({
// 用axios发送post请求
return
axios
({
// 用axios发送post请求
...
@@ -681,18 +688,33 @@ function exportExcel(form) {
...
@@ -681,18 +688,33 @@ function exportExcel(form) {
})
})
// return Vue.prototype.$post(form.url, form.params)
// return Vue.prototype.$post(form.url, form.params)
}
}
export
const
exportExcelApi
=
function
(
url
,
params
,
fname
)
{
export
const
exportExcelApi
=
function
(
url
,
params
,
fname
)
{
url
=
`
${
url
}
`
;
url
=
`
${
url
}
`
;
let
obj
=
{
let
obj
=
{
'url'
:
url
,
'url'
:
url
,
params
:
params
params
:
params
}
}
exportExcel
(
obj
).
then
(
res
=>
{
// 处理返回的文件流
exportExcel
(
obj
).
then
(
res
=>
{
// 处理返回的文件流
console
.
log
(
res
)
console
.
log
(
res
)
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
'text/csv'
})
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
res
.
data
.
type
}),
filename
;
console
.
log
(
res
.
headers
[
'content-disposition'
].
split
(
'filename='
)[
1
])
//console.log(res.headers['content-disposition'].split('filename=')[1])
CommonJs
.
dateFmt
(
new
Date
(),
"yyyy-MM-dd"
)
//CommonJs.dateFmt(new Date(), "yyyy-MM-dd")
let
filename
=
fname
+
CommonJs
.
dateFmt
(
new
Date
(),
"yyyy-MM-dd"
)
+
'.xls'
if
(
!
fname
&&
res
.
headers
[
'content-disposition'
].
split
(
'filename='
)[
1
])
{
let
str
=
res
.
headers
[
'content-disposition'
].
split
(
'filename='
)[
1
];
if
(
str
[
str
.
length
-
1
]
==
'"'
||
str
[
str
.
length
-
1
]
==
"'"
)
{
//str = str.substring(-1,(str.length-1));
str
=
str
.
replace
(
/
\"
|
\'
/g
,
""
)
}
if
(
str
.
indexOf
(
'.xls'
)
>
-
1
)
{
filename
=
str
}
else
{
filename
=
str
+
'.xls'
}
}
else
{
filename
=
fname
+
CommonJs
.
dateFmt
(
new
Date
(),
"yyyy-MM-dd"
)
+
'.xls'
}
console
.
log
(
'filename: '
+
filename
);
var
link
=
document
.
createElement
(
'a'
);
var
link
=
document
.
createElement
(
'a'
);
link
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
link
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
link
.
download
=
filename
;
link
.
download
=
filename
;
...
@@ -705,15 +727,15 @@ const exportReceiveInfoUrl = `${_baseUrl}api/admin/order/deliver/periods/export/
...
@@ -705,15 +727,15 @@ const exportReceiveInfoUrl = `${_baseUrl}api/admin/order/deliver/periods/export/
export
const
exportReceiveInfoApi
=
function
(
periods_id
)
{
export
const
exportReceiveInfoApi
=
function
(
periods_id
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
let
obj
=
{
let
obj
=
{
'url'
:
`
${
exportReceiveInfoUrl
}${
periods_id
}
`
,
'url'
:
`
${
exportReceiveInfoUrl
}${
periods_id
}
`
,
params
:
{}
params
:
{}
}
}
exportExcel
(
obj
).
then
(
res
=>
{
// 处理返回的文件流
exportExcel
(
obj
).
then
(
res
=>
{
// 处理返回的文件流
console
.
log
(
res
)
console
.
log
(
res
)
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
'text/csv'
})
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
'text/csv'
})
console
.
log
(
res
.
headers
[
'content-disposition'
].
split
(
'filename='
)[
1
])
console
.
log
(
res
.
headers
[
'content-disposition'
].
split
(
'filename='
)[
1
])
CommonJs
.
dateFmt
(
new
Date
(),
"yyyy-MM-dd"
)
//CommonJs.dateFmt(new Date(),
"yyyy-MM-dd")
let
filename
=
'收货信息'
+
CommonJs
.
dateFmt
(
new
Date
(),
"yyyy-MM-dd"
)
+
'.xls'
let
filename
=
'收货信息'
+
CommonJs
.
dateFmt
(
new
Date
(),
"yyyy-MM-dd"
)
+
'.xls'
var
link
=
document
.
createElement
(
'a'
);
var
link
=
document
.
createElement
(
'a'
);
link
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
link
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
link
.
download
=
filename
;
link
.
download
=
filename
;
...
@@ -1262,8 +1284,8 @@ export const postSourceStudentApi = function (json) {
...
@@ -1262,8 +1284,8 @@ export const postSourceStudentApi = function (json) {
export
const
delSourceStudentApi
=
function
(
type
)
{
export
const
delSourceStudentApi
=
function
(
type
)
{
return
Vue
.
prototype
.
$del
(
`
${
_baseUrl
}
api/admin/source/student/delete/
${
type
}
`
)
return
Vue
.
prototype
.
$del
(
`
${
_baseUrl
}
api/admin/source/student/delete/
${
type
}
`
)
};
};
export
const
putSourceStudentApi
=
function
(
type
,
json
)
{
export
const
putSourceStudentApi
=
function
(
type
,
json
)
{
return
Vue
.
prototype
.
$put
(
`
${
_baseUrl
}
api/admin/source/student/edit/
${
type
}
`
,
json
)
return
Vue
.
prototype
.
$put
(
`
${
_baseUrl
}
api/admin/source/student/edit/
${
type
}
`
,
json
)
};
};
// /api/admin/source/student/list
// /api/admin/source/student/list
// 获取标签
// 获取标签
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment