Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
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
罗超
confucius
Commits
42bb9997
Commit
42bb9997
authored
Apr 21, 2022
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
5b6d4fd0
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1646 additions
and
1379 deletions
+1646
-1379
quasar.conf.js
quasar.conf.js
+225
-225
index.js
src/api/studentmsg/index.js
+0
-1
student-from.vue
src/components/activity/student-from.vue
+200
-0
eventsCalendar.vue
src/components/stuMan/eventsCalendar.vue
+12
-2
index.vue
src/components/work/index.vue
+1
-1
Work.vue
src/pages/Work.vue
+225
-178
QuesActivityList.vue
src/pages/activity/QuesActivityList.vue
+11
-3
configurationstudentsList.vue
src/pages/activity/configurationstudentsList.vue
+138
-188
questionnaireList.vue
src/pages/activity/questionnaireList.vue
+175
-186
performanceCommission.vue
src/pages/financial/reportform/performanceCommission.vue
+655
-589
ReturnperiodsList.vue
src/pages/financial/returnPassbook/ReturnperiodsList.vue
+4
-6
No files found.
quasar.conf.js
View file @
42bb9997
...
...
@@ -7,7 +7,7 @@
// https://quasar.dev/quasar-cli/quasar-conf-js
/* eslint-env node */
module
.
exports
=
function
(
ctx
)
{
module
.
exports
=
function
(
ctx
)
{
return
{
// https://quasar.dev/quasar-cli/supporting-ts
supportTS
:
false
,
...
...
@@ -47,8 +47,8 @@ module.exports = function (ctx) {
vueRouterMode
:
'hash'
,
// available values: 'hash', 'history'
env
:
ctx
.
dev
?
{
API
:
'http://localhost:5001/api'
,
//
API: 'http://192.168.10.46:8300/api',
//
API: 'http://localhost:5001/api',
API
:
'http://192.168.10.46:8300/api'
,
// API: 'https://eduapi.oytour.com/api',
API_ZC
:
'http://192.168.10.17:8087/api'
,
API_SK
:
'ws:192.168.10.214:'
,
...
...
@@ -254,7 +254,7 @@ module.exports = function (ctx) {
// More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration
nodeIntegration
:
true
,
extendWebpack
(
/* cfg */
)
{
extendWebpack
(
/* cfg */
)
{
// do something with Electron main process Webpack cfg
// chainWebpack also available besides this extendWebpack
}
...
...
src/api/studentmsg/index.js
View file @
42bb9997
import
request
from
'../../utils/request'
import
request_zc
from
'../../utils/request_zc'
/*
...
...
src/components/activity/student-from.vue
0 → 100644
View file @
42bb9997
<
style
scoped
>
.wenjuan_Shuru
{
position
:
relative
;
}
.SurverDel
{
position
:
absolute
;
right
:
-5px
;
top
:
-5px
;
}
</
style
>
<
template
>
<q-dialog
v-model=
"persistent"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 800px;max-width:800px;"
>
<q-card-section>
<div
class=
"text-h6"
>
{{
addMsg
.
ID
==
0
?
'新增学员'
:
'修改学员'
}}
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<div
class=
"row wrap"
>
<!--
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"addMsg.SurveyType"
:options=
"platList"
label=
"客户类型"
ref=
"SurveyType"
@
input=
"getPlat()"
:rules=
"[val => !!val || '请选择类型']"
class=
"col-12 q-pb-lg"
emit-value
map-options
/>
-->
<q-input
filled
v-model=
"addMsg.Sort"
class=
"col-12 q-pb-lg"
ref=
"Sort"
label=
"学员编号"
:rules=
"[val => !!val || '请填写排序']"
></q-input>
<div
class=
"col-12 q-pb-lg"
>
<q-input
filled
v-model=
"addMsg.StartTime"
mask=
"####-##-## ##:##:##"
ref=
"SignStartTime"
label=
"开始时间"
:rules=
"[val => !!val || '请选择开始时间']"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy"
transition-show=
"scale"
transition-hide=
"scale"
>
<div
class=
"q-gutter-md row items-start"
>
<q-date
v-model=
"addMsg.StartTime"
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"date"
/>
<q-time
v-model=
"addMsg.StartTime"
format24h
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"time"
/>
</div>
<q-btn
v-close-popup
label=
"关闭"
color=
"primary"
flat
style=
"float:right"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
</div>
<div
class=
"col-12 q-pb-lg"
>
<q-input
filled
v-model=
"addMsg.EndTime"
mask=
"####-##-## ##:##:##"
ref=
"SignEndTime"
label=
"结束时间"
:rules=
"[val => !!val || '请选择结束时间']"
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy"
transition-show=
"scale"
transition-hide=
"scale"
>
<div
class=
"q-gutter-md row items-start"
>
<q-date
v-model=
"addMsg.EndTime"
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"endDate"
/>
<q-time
v-model=
"addMsg.EndTime"
format24h
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"endTime"
/>
</div>
<q-btn
v-close-popup
label=
"关闭"
color=
"primary"
flat
style=
"float:right"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
</div>
</div>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeSaveForm"
/>
<q-btn
label=
"立即提交"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
:loading=
"saveLoading"
@
click=
"saveActive"
/>
</q-card-actions>
</q-card>
</q-dialog>
</template>
<
script
>
import
{
setActivitySurveyGuest
,
getActivitySurveyGuestModule
}
from
'../../api/studentmsg/index'
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
},
ID
:
{
type
:
String
,
default
:
null
}
},
data
()
{
return
{
persistent
:
true
,
addMsg
:
{
Id
:
0
,
//新增传0
GuestType
:
2
,
//客户类型(1-小程序用户,2-学员用户)
GuestId
:
2644
,
//学员编号
StartTime
:
"2022-04-20 00:00:00"
,
//开始时间
EndTime
:
"2022-04-25 18:00:00"
,
//结束时间
SurveyId
:
0
//意见调查表编号
},
platList
:
[],
dateList
:
[],
FormTypeList
:
[],
saveLoading
:
false
};
},
mounted
()
{
this
.
initObj
();
},
methods
:
{
// 选择报名开始时间
date
(
val
)
{
this
.
addMsg
.
SignStartTime
=
val
;
},
time
(
val
)
{
this
.
addMsg
.
SignStartTime
=
val
;
},
// 选择报名结束时间
endDate
(
val
)
{
this
.
addMsg
.
SignEndTime
=
val
;
},
endTime
(
val
)
{
this
.
addMsg
.
SignEndTime
=
val
;
},
//初始化表单
initObj
()
{
this
.
addMsg
.
SurveyId
=
this
.
ID
if
(
this
.
saveObj
&&
this
.
saveObj
.
ID
>
0
)
{
getActivitySurveyGuestModule
({
Id
:
saveObj
.
ID
}).
then
(
res
=>
{
this
.
addMsg
=
res
.
data
.
data
;
console
.
log
(
"11111"
,
res
);
})
}
else
{
this
.
addMsg
.
Id
=
0
;
// this.addMsg.GuestId = 1;
// this.StartTime = '';
// this.EndTime = '';
}
},
//关闭弹窗
closeSaveForm
()
{
this
.
$emit
(
"close"
);
this
.
persistent
=
false
;
},
saveActive
()
{
setActivitySurveyGuest
(
this
.
addMsg
).
then
(
res
=>
{
if
(
res
.
data
.
Id
==
0
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
this
.
$emit
(
'close'
);
this
.
$emit
(
'success'
);
}
else
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
res
.
data
.
message
})
}
})
}
}
};
</
script
>
\ No newline at end of file
src/components/stuMan/eventsCalendar.vue
View file @
42bb9997
...
...
@@ -287,9 +287,19 @@
<div>
<div
class=
"eventsCalendar_Form"
>
<div
style=
"text-align:right;margin:12px 20px 8px 0"
>
<el-date-picker
style=
"width:190px"
v-model=
"date"
type=
"month"
size=
"small"
value-format=
"yyyy-M-d"
@
change=
"getList()"
placeholder=
"选择日期"
>
<el-date-picker
style=
"width:190px"
v-model=
"date"
type=
"date"
:clearable=
"false"
value-format=
"yyyy-MM-d"
:picker-options=
"pickerOptions"
:editable=
"false"
placeholder=
"选择日期"
@
change=
"getList"
>
</el-date-picker>
</div>
<template>
<el-calendar
v-model=
"date"
id=
"calendar"
style=
"margin-bottom:40px;"
>
...
...
src/components/work/index.vue
View file @
42bb9997
...
...
@@ -127,7 +127,7 @@
</div> -->
<q-btn-group
outline
style=
"position: fixed;top:
7
5px;right:20px;z-index: 666666;"
style=
"position: fixed;top:
1
5px;right:20px;z-index: 666666;"
>
<q-btn
dense
...
...
src/pages/Work.vue
View file @
42bb9997
...
...
@@ -7,26 +7,54 @@
<el-tab-pane
:label=
"item.label"
:name=
"item.value"
:key=
"item.value"
v-for=
"(item, index) in options"
></el-tab-pane>
</el-tabs>
</div>
-->
<q-btn
flat
@
click=
"changeMenu(5)"
:color=
"chosenMenu==5?'primary':'blue-grey-14'"
:class=
"[chosenMenu==5?'text-weight-bold':'']"
label=
"工作台"
></q-btn>
<q-btn
@
click=
"changeMenu(1)"
flat
:color=
"chosenMenu==1?'primary':'blue-grey-14'"
:class=
"[chosenMenu==1?'text-weight-bold':'']"
label=
"OKR 工作区"
>
<q-menu
v-if=
"chosenMenu==1"
>
<q-btn
flat
@
click=
"changeMenu(6)"
:color=
"chosenMenu == 6 ? 'primary' : 'blue-grey-14'"
:class=
"[chosenMenu == 6 ? 'text-weight-bold' : '']"
label=
"活动日历"
></q-btn>
<q-btn
flat
@
click=
"changeMenu(5)"
:color=
"chosenMenu == 5 ? 'primary' : 'blue-grey-14'"
:class=
"[chosenMenu == 5 ? 'text-weight-bold' : '']"
label=
"工作台"
></q-btn>
<q-btn
@
click=
"changeMenu(1)"
flat
:color=
"chosenMenu == 1 ? 'primary' : 'blue-grey-14'"
:class=
"[chosenMenu == 1 ? 'text-weight-bold' : '']"
label=
"OKR 工作区"
>
<q-menu
v-if=
"chosenMenu == 1"
>
<q-list>
<q-item
clickable
@
click=
"okrMenu
=
1"
>
<q-item
clickable
@
click=
"okrMenu
=
1"
>
<q-item-section
q-item-section
avatar
>
<inline-svg
class=
"svg-icon svg-icon-secondary"
src=
"icons/svg/Text/Edit-text.svg"
></inline-svg>
<inline-svg
class=
"svg-icon svg-icon-secondary"
src=
"icons/svg/Text/Edit-text.svg"
></inline-svg>
</q-item-section>
<q-item-section>
OKR
</q-item-section>
</q-item>
<q-separator
/>
<q-item
clickable
@
click=
"okrMenu
=
2"
>
<q-item
clickable
@
click=
"okrMenu
=
2"
>
<q-item-section
q-item-section
avatar
>
<inline-svg
class=
"svg-icon svg-icon-secondary"
src=
"icons/svg/General/Visible.svg"
></inline-svg>
<inline-svg
class=
"svg-icon svg-icon-secondary"
src=
"icons/svg/General/Visible.svg"
></inline-svg>
</q-item-section>
<q-item-section>
对齐视图
</q-item-section>
</q-item>
<q-item
clickable
>
<q-item-section
q-item-section
avatar
>
<inline-svg
class=
"svg-icon svg-icon-secondary"
src=
"icons/svg/Shopping/Chart-pie.svg"
></inline-svg>
<inline-svg
class=
"svg-icon svg-icon-secondary"
src=
"icons/svg/Shopping/Chart-pie.svg"
></inline-svg>
</q-item-section>
<q-item-section>
数据看板
</q-item-section>
</q-item>
...
...
@@ -35,56 +63,70 @@
</q-btn>
<!--
<q-btn
@
click=
"changeMenu(2)"
v-if=
"AccountType==2 || ispower==true"
flat
:color=
"chosenMenu==2?'primary':'blue-grey-14'"
:class=
"[chosenMenu==2?'text-weight-bold':'']"
label=
"备课管理"
>
</q-btn>
-->
<q-btn
flat
@
click=
"changeMenu(3)"
:color=
"chosenMenu==3?'primary':'blue-grey-14'"
:class=
"[chosenMenu==3?'text-weight-bold':'']"
label=
"我的排班计划"
></q-btn>
<q-btn
flat
@
click=
"changeMenu(4)"
v-if=
"AccountType==2"
:color=
"chosenMenu==4?'primary':'blue-grey-14'"
:class=
"[chosenMenu==4?'text-weight-bold':'']"
label=
"我的上课计划"
></q-btn>
<q-btn
flat
@
click=
"changeMenu(6)"
:color=
"chosenMenu==6?'primary':'blue-grey-14'"
:class=
"[chosenMenu==6?'text-weight-bold':'']"
label=
"活动日历"
></q-btn>
<q-btn
flat
@
click=
"changeMenu(3)"
:color=
"chosenMenu == 3 ? 'primary' : 'blue-grey-14'"
:class=
"[chosenMenu == 3 ? 'text-weight-bold' : '']"
label=
"我的排班计划"
></q-btn>
<q-btn
flat
@
click=
"changeMenu(4)"
v-if=
"AccountType == 2"
:color=
"chosenMenu == 4 ? 'primary' : 'blue-grey-14'"
:class=
"[chosenMenu == 4 ? 'text-weight-bold' : '']"
label=
"我的上课计划"
></q-btn>
</div>
<div
class=
"bg-white col"
v-if=
"chosenMenu
==
6"
>
<div
class=
"bg-white col"
v-if=
"chosenMenu
==
6"
>
<eventsCalendar></eventsCalendar>
</div>
<div
class=
"bg-white col"
v-if=
"chosenMenu
==
5"
>
<div
class=
"bg-white col"
v-if=
"chosenMenu
==
5"
>
<work></work>
</div>
<div
v-if=
"chosenMenu
==
1"
class=
"flex col"
style=
"flex: 1"
>
<okr
v-if=
"okrMenu
==
1"
></okr>
<align-view
v-if=
"okrMenu
==
2"
></align-view>
<div
v-if=
"chosenMenu
==
1"
class=
"flex col"
style=
"flex: 1"
>
<okr
v-if=
"okrMenu
==
1"
></okr>
<align-view
v-if=
"okrMenu
==
2"
></align-view>
</div>
<div
v-if=
"chosenMenu
==
2"
class=
"col comWorkDiv"
style=
"overflow: auto"
>
<div
v-if=
"chosenMenu
==
2"
class=
"col comWorkDiv"
style=
"overflow: auto"
>
<teachplan></teachplan>
</div>
<!-- 备课管理 -->
<div
v-if=
"chosenMenu
==
3"
class=
"comWorkDiv"
style=
"overflow: auto"
>
<div
v-if=
"chosenMenu
==
3"
class=
"comWorkDiv"
style=
"overflow: auto"
>
<mySchedule></mySchedule>
</div>
<!-- 我的上课计划 -->
<div
v-if=
"chosenMenu
==
4"
class=
"comWorkDiv"
style=
"overflow: auto"
>
<div
v-if=
"chosenMenu
==
4"
class=
"comWorkDiv"
style=
"overflow: auto"
>
<myClassmate></myClassmate>
</div>
<!-- zk新增公告弹窗 -->
<notice-form
v-if=
"isShowNotice"
@
fathergoBefore=
"fathergoBefore"
@
fathergoAfter=
"fathergoAfter"
:seting-obj=
"noticeObj"
@
close=
"closeNoticeForm"
>
<notice-form
v-if=
"isShowNotice"
@
fathergoBefore=
"fathergoBefore"
@
fathergoAfter=
"fathergoAfter"
:seting-obj=
"noticeObj"
@
close=
"closeNoticeForm"
>
</notice-form>
</div>
</
template
>
<
script
>
import
{
GetMyNoticePageList
}
from
"../api/course/index"
;
import
{
GetMyNoticePageList
}
from
'../api/course/index'
import
teachplan
from
'./course/teacherLesson'
import
okr
from
'./okr/index'
import
alignView
from
'./okr/okr-align-view'
import
noticeForm
from
'../components/course/notice-form'
import
mySchedule
from
'./scheduling/mySchedule'
import
myClassmate
from
'./scheduling/myClassmate'
;
import
work
from
'../components/work/index'
import
eventsCalendar
from
'../components/stuMan/eventsCalendar'
import
teachplan
from
"./course/teacherLesson"
;
import
okr
from
"./okr/index"
;
import
alignView
from
"./okr/okr-align-view"
;
import
noticeForm
from
"../components/course/notice-form"
;
import
mySchedule
from
"./scheduling/mySchedule"
;
import
myClassmate
from
"./scheduling/myClassmate"
;
import
work
from
"../components/work/index"
;
import
eventsCalendar
from
"../components/stuMan/eventsCalendar"
;
export
default
{
components
:
{
export
default
{
components
:
{
teachplan
,
okr
,
alignView
,
...
...
@@ -94,148 +136,153 @@
work
,
eventsCalendar
},
name
:
'PageIndex'
,
data
(){
return
{
options
:[
{
label
:
'OKR'
,
value
:
'one'
},
],
model
:
'one'
,
AccountType
:
1
,
ispower
:
false
,
//是否显示备课管理
chosenMenu
:
5
,
okrMenu
:
1
,
name
:
"PageIndex"
,
data
()
{
return
{
options
:
[{
label
:
"OKR"
,
value
:
"one"
}],
model
:
"one"
,
AccountType
:
1
,
ispower
:
false
,
//是否显示备课管理
chosenMenu
:
6
,
okrMenu
:
1
,
//通知请求参数
noticeMsg
:{
pageIndex
:
1
,
pageSize
:
1
,
LookTime
:
""
},
isShowNotice
:
false
,
noticeObj
:{},
TimeList
:[],
//存放时间作为比较
}
noticeMsg
:
{
pageIndex
:
1
,
pageSize
:
1
,
LookTime
:
""
},
created
()
{
isShowNotice
:
false
,
noticeObj
:
{},
TimeList
:
[]
//存放时间作为比较
};
},
created
()
{},
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
();
this
.
AccountType
=
userInfo
.
AccountType
if
(
userInfo
.
AccountType
&&
userInfo
.
AccountType
==
2
){
//是否是教师1不是 2是
this
.
options
=
[
{
label
:
'OKR'
,
value
:
'one'
},
{
label
:
'备课管理'
,
value
:
'two'
},
this
.
AccountType
=
userInfo
.
AccountType
;
if
(
userInfo
.
AccountType
&&
userInfo
.
AccountType
==
2
)
{
//是否是教师1不是 2是
this
.
options
=
[
{
label
:
"OKR"
,
value
:
"one"
},
{
label
:
"备课管理"
,
value
:
"two"
}
];
}
this
.
ispower
=
false
;
if
(
userInfo
.
MenuList
.
length
>
0
)
{
this
.
getMapList
(
userInfo
.
MenuList
)
//判断菜单权限是否有
if
(
userInfo
.
MenuList
.
length
>
0
)
{
this
.
getMapList
(
userInfo
.
MenuList
);
//判断菜单权限是否有
}
if
(
this
.
ispower
==
true
)
{
this
.
options
=
[
{
label
:
'OKR'
,
value
:
'one'
},
{
label
:
'备课管理'
,
value
:
'two'
},
if
(
this
.
ispower
==
true
)
{
this
.
options
=
[
{
label
:
"OKR"
,
value
:
"one"
},
{
label
:
"备课管理"
,
value
:
"two"
}
];
}
var
notifyTime
=
window
.
localStorage
.
getItem
(
'notifyTime'
);
if
(
notifyTime
)
{
var
notifyTime
=
window
.
localStorage
.
getItem
(
"notifyTime"
);
if
(
notifyTime
)
{
this
.
noticeMsg
.
LookTime
=
notifyTime
;
}
this
.
getNoticeList
();
},
methods
:
{
changeMenu
(
i
)
{
if
(
i
==
1
)
{
this
.
okrMenu
=
1
methods
:
{
changeMenu
(
i
)
{
if
(
i
==
1
)
{
this
.
okrMenu
=
1
;
}
this
.
chosenMenu
=
i
this
.
chosenMenu
=
i
;
},
getMapList
(
list
)
{
list
.
forEach
(
x
=>
{
if
(
x
.
MenuUrl
==
'/course/teacherLesson'
)
{
this
.
ispower
=
true
getMapList
(
list
)
{
list
.
forEach
(
x
=>
{
if
(
x
.
MenuUrl
==
"/course/teacherLesson"
)
{
this
.
ispower
=
true
;
}
if
(
x
.
SubList
.
length
>
0
)
{
this
.
getMapList
(
x
.
SubList
)
if
(
x
.
SubList
.
length
>
0
)
{
this
.
getMapList
(
x
.
SubList
);
}
})
});
},
//获取获取公告弹窗数据
getNoticeList
()
{
getNoticeList
()
{
GetMyNoticePageList
(
this
.
noticeMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
noticeObj
=
res
.
Data
;
if
(
res
.
Data
.
PageData
.
length
>
0
)
{
this
.
isShowNotice
=
true
;
if
(
res
.
Data
.
PageData
.
length
>
0
)
{
this
.
isShowNotice
=
true
;
}
if
(
res
.
Data
.
PageData
[
0
]
&&
res
.
Data
.
PageData
[
0
].
UpdateTimeStr
)
{
if
(
res
.
Data
.
PageData
[
0
]
&&
res
.
Data
.
PageData
[
0
].
UpdateTimeStr
)
{
this
.
TimeList
.
push
(
new
Date
(
res
.
Data
.
PageData
[
0
].
UpdateTimeStr
));
var
maxDate
=
new
Date
(
Math
.
max
.
apply
(
null
,
this
.
TimeList
));
var
maxDate
=
new
Date
(
Math
.
max
.
apply
(
null
,
this
.
TimeList
));
var
date
=
new
Date
(
maxDate
);
var
y
=
date
.
getFullYear
();
var
m
=
date
.
getMonth
()
+
1
;
m
=
m
<
10
?
(
'0'
+
m
)
:
m
;
m
=
m
<
10
?
"0"
+
m
:
m
;
var
d
=
date
.
getDate
();
d
=
d
<
10
?
(
'0'
+
d
)
:
d
;
var
notifyData
=
y
+
'-'
+
m
+
'-'
+
d
+
' '
+
date
.
getHours
()
+
':'
+
date
.
getMinutes
()
+
':'
+
date
.
getSeconds
();
d
=
d
<
10
?
"0"
+
d
:
d
;
var
notifyData
=
y
+
"-"
+
m
+
"-"
+
d
+
" "
+
date
.
getHours
()
+
":"
+
date
.
getMinutes
()
+
":"
+
date
.
getSeconds
();
localStorage
.
setItem
(
"notifyTime"
,
notifyData
);
}
}
})
});
},
//关闭公告弹窗
closeNoticeForm
()
{
this
.
isShowNotice
=
false
;
closeNoticeForm
()
{
this
.
isShowNotice
=
false
;
},
//向后翻页
fathergoAfter
()
{
fathergoAfter
()
{
this
.
noticeMsg
.
pageIndex
++
;
this
.
getNoticeList
();
},
//往回翻页
fathergoBefore
()
{
fathergoBefore
()
{
this
.
noticeMsg
.
pageIndex
--
;
this
.
getNoticeList
();
}
}
}
};
</
script
>
<
style
>
.homebx
.box
{
.homebx
.box
{
width
:
100%
;
height
:
50px
;
}
.homebx
{
}
.homebx
{
margin
:
0
;
}
.myscroll
::-webkit-scrollbar
{
}
.myscroll
::-webkit-scrollbar
{
display
:
none
;
}
}
.box
.el-tabs__header
{
.box
.el-tabs__header
{
margin
:
0
;
}
.sub-header
{
}
.sub-header
{
position
:
fixed
;
height
:
56px
;
top
:
60px
;
top
:
0
;
left
:
0
;
right
:
0
;
transition
:
top
.3s
ease
;
transition
:
top
0
.3s
ease
;
z-index
:
95
;
box-shadow
:
0
10px
30px
0
rgba
(
82
,
63
,
105
,
.08
);
box-shadow
:
0
10px
30px
0
rgba
(
82
,
63
,
105
,
0
.08
);
background-color
:
#fff
;
border-top
:
1px
solid
#ebedf3
;
margin
:
0
;
padding
:
10px
20px
;
}
.comWorkDiv
{
height
:
100vh
}
}
.comWorkDiv
{
height
:
100vh
;
}
</
style
>
src/pages/activity/QuesActivityList.vue
View file @
42bb9997
...
...
@@ -58,6 +58,8 @@
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-view"
color=
"accent"
style=
"font-weight:400"
label=
"配置学员"
@
click=
"Gochild(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"iconfont icon-view"
color=
"accent"
style=
"font-weight:400"
label=
"配置"
@
click=
"GoYijian(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
...
...
@@ -248,6 +250,12 @@
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
// 跳转到配置学员详情页
Gochild
(
row
){
this
.
OpenNewUrl
(
'/activity/configurationstudentsList'
,{
ID
:
row
.
ID
});
},
//跳转到意见调查表
GoYijian
(
row
)
{
this
.
OpenNewUrl
(
'/activity/questionnaireList'
,
{
...
...
src/pages/activity/configurationstudentsList.vue
View file @
42bb9997
...
...
@@ -12,23 +12,23 @@
<!-- @click="addObj(null)" -->
</div>
</
template
>
<
template
v-slot:body-cell-IsRequired=
"props"
>
<
template
v-slot:body-cell-IsRequired=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.IsRequired==0"
>
否
</span>
<span
v-if=
"props.row.IsRequired==1"
>
是
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-IsShow=
"props"
>
<
template
v-slot:body-cell-IsShow=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.IsShow==0"
>
是
</span>
<span
v-if=
"props.row.IsShow==1"
>
否
</span>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"addObj(props.row)"
/>
...
...
@@ -36,59 +36,38 @@
@
click=
"delQuestion(props.row)"
/>
</q-td>
</
template
>
</q-table>
<wenjuan-form
v-if=
"isShowWenjuan"
:save-obj=
"objOption"
:ID=
"msg.ActivitySurveyId"
@
close=
"closeSaveForm"
@
success=
"resetSearch"
></wenjuan
-form>
</div>
</div>
</q-table>
<student-form
v-if=
"isShowWenjuan"
:save-obj=
"objOption"
:ID=
"msg.ActivitySurveyId"
@
close=
"closeSaveForm"
@
success=
"resetSearch"
></student
-form>
</div>
</div>
</template>
<
script
>
import
wenjuanForm
from
'../../components/activity/wenjuan-form'
import
studentForm
from
'../../components/activity/student-from'
import
{
getActivitySurveyGuestPage
,
removeActivitySurveyGuest
}
from
'../../api/studentmsg/index'
export
default
{
meta
:
{
title
:
"意见调查表"
},
components
:
{
wenjuan
Form
student
Form
},
data
()
{
return
{
columns
:
[
{
name
:
'ID'
,
columns
:
[{
name
:
'Id'
,
label
:
'ID'
,
align
:
'left'
,
field
:
'ID'
},
{
name
:
'Title'
,
label
:
'问题名称'
,
field
:
'Title'
,
align
:
'left'
},
{
name
:
'FormTypeStr'
,
label
:
'问卷类型'
,
field
:
'FormTypeStr'
,
align
:
'left'
},
{
name
:
'IsRequired'
,
label
:
'是否必填'
,
field
:
'IsRequired'
,
align
:
'left'
},
{
name
:
'IsShow'
,
label
:
'是否显示'
,
field
:
'IsShow'
,
align
:
'left'
},
{
name
:
'Sort'
,
label
:
'排序'
,
field
:
'Sort'
,
field
:
'Id'
},
{
name
:
'GuestName'
,
label
:
'学员名称'
,
field
:
'GuestName'
,
align
:
'left'
},
{
name
:
'optioned'
,
label
:
'操作'
,
...
...
@@ -97,75 +76,44 @@
],
dataList
:
[],
loading
:
true
,
ShowOpts
:
[{
label
:
'不限'
,
value
:
'-1'
},
{
label
:
'是'
,
value
:
'0'
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
rowsPerPage
:
12
,
SurveyId
:
1
,
},
{
label
:
'否'
,
value
:
'1'
}
],
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
rowsPerPage
:
15
,
PrizeType
:
0
,
Title
:
''
,
IsShow
:
'-1'
,
SurveyType
:
0
,
ActivitySurveyId
:
1
,
//活动id
},
platList
:[],
pageCount
:
0
,
isShowWenjuan
:
false
,
objOption
:
null
,
}
},
created
()
{
},
mounted
()
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
ID
){
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
ID
)
{
this
.
msg
.
ActivitySurveyId
=
this
.
$route
.
query
.
ID
;
}
this
.
getPlat
();
},
mounted
()
{
this
.
getList
();
},
methods
:
{
getPlat
(){
this
.
apipostDS
(
"/api/Survey/GetActivitySurveyGuestPage"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
platList
=
res
.
data
.
data
;
let
obj
=
{
Id
:
0
,
Name
:
'不限'
}
this
.
platList
.
unshift
(
obj
);
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
console
.
log
(
'数据信息'
+
res
.
data
)
})
},
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
getList
(){
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/Survey/GetPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
pageCount
=
res
.
data
.
data
.
pageCount
;
}
else
{
this
.
Info
(
res
.
data
.
message
);
getList
()
{
this
.
loading
=
true
;
getActivitySurveyGuestPage
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
Count
}
})
console
.
log
(
"res"
,
res
);
});
},
addObj
(
obj
)
{
if
(
obj
)
{
...
...
@@ -175,8 +123,8 @@
}
this
.
isShowWenjuan
=
true
;
},
//删除问卷
delQuestion
(
row
)
{
//删除当前行信息
delQuestion
(
row
)
{
let
that
=
this
;
this
.
$q
.
dialog
({
title
:
"提示"
,
...
...
@@ -191,11 +139,13 @@
focus
:
true
}
}).
onOk
(()
=>
{
that
.
apipostDS
(
"/api/Survey/DelSurvey"
,
{
SurveyID
:
row
.
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
removeActivitySurveyGuest
({
Id
:
row
.
Id
}).
then
(
res
=>
{
this
.
dataList
=
''
;
this
.
pageCount
=
''
;
console
.
log
(
res
+
'111111'
)
if
(
res
.
Code
==
1
)
{
that
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
...
...
@@ -208,15 +158,15 @@
that
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
res
.
data
.
message
message
:
res
.
data
.
message
,
})
}
})
})
},
);
});
},
closeSaveForm
(){
this
.
isShowWenjuan
=
false
;
closeSaveForm
()
{
this
.
isShowWenjuan
=
false
;
},
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
...
...
src/pages/activity/questionnaireList.vue
View file @
42bb9997
...
...
@@ -28,23 +28,23 @@
<q-btn
color=
"accent"
size=
"sm"
icon=
"add"
label=
"新增"
@
click=
"addObj(null)"
/>
</div>
</
template
>
<
template
v-slot:body-cell-IsRequired=
"props"
>
<
template
v-slot:body-cell-IsRequired=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.IsRequired==0"
>
否
</span>
<span
v-if=
"props.row.IsRequired==1"
>
是
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-IsShow=
"props"
>
<
template
v-slot:body-cell-IsShow=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.IsShow==0"
>
是
</span>
<span
v-if=
"props.row.IsShow==1"
>
否
</span>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"addObj(props.row)"
/>
...
...
@@ -52,10 +52,10 @@
@
click=
"delQuestion(props.row)"
/>
</q-td>
</
template
>
</q-table>
<wenjuan-form
v-if=
"isShowWenjuan"
:save-obj=
"objOption"
:ID=
"msg.ActivitySurveyId"
@
close=
"closeSaveForm"
@
success=
"resetSearch"
></wenjuan-form>
</div>
</div>
</q-table>
<wenjuan-form
v-if=
"isShowWenjuan"
:save-obj=
"objOption"
:ID=
"msg.ActivitySurveyId"
@
close=
"closeSaveForm"
@
success=
"resetSearch"
></wenjuan-form>
</div>
</div>
</template>
<
script
>
import
wenjuanForm
from
'../../components/activity/wenjuan-form'
...
...
@@ -68,100 +68,88 @@
},
data
()
{
return
{
columns
:
[
{
columns
:
[{
name
:
'ID'
,
label
:
'ID'
,
align
:
'left'
,
field
:
'ID'
},
{
},
{
name
:
'Title'
,
label
:
'问题名称'
,
field
:
'Title'
,
align
:
'left'
},
{
},
{
name
:
'FormTypeStr'
,
label
:
'问卷类型'
,
field
:
'FormTypeStr'
,
align
:
'left'
},
{
},
{
name
:
'IsRequired'
,
label
:
'是否必填'
,
field
:
'IsRequired'
,
align
:
'left'
},
{
},
{
name
:
'IsShow'
,
label
:
'是否显示'
,
field
:
'IsShow'
,
align
:
'left'
},
{
},
{
name
:
'Sort'
,
label
:
'排序'
,
field
:
'Sort'
,
align
:
'left'
},
{
},
{
name
:
'optioned'
,
label
:
'操作'
,
field
:
'TId'
}
],
}],
dataList
:
[],
loading
:
true
,
ShowOpts
:
[{
label
:
'不限'
,
value
:
'-1'
},
{
},
{
label
:
'是'
,
value
:
'0'
},
{
},
{
label
:
'否'
,
value
:
'1'
}
],
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
}],
msg
:
{
pageIndex
:
1
,
pageSize
:
15
,
rowsPerPage
:
15
,
PrizeType
:
0
,
Title
:
''
,
IsShow
:
'-1'
,
SurveyType
:
0
,
ActivitySurveyId
:
0
,
//活动id
PrizeType
:
0
,
Title
:
''
,
IsShow
:
'-1'
,
SurveyType
:
0
,
ActivitySurveyId
:
0
,
//活动id
},
platList
:[],
platList
:
[],
pageCount
:
0
,
isShowWenjuan
:
false
,
objOption
:
null
,
}
},
created
()
{
},
created
()
{},
mounted
()
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
ID
)
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
ID
)
{
this
.
msg
.
ActivitySurveyId
=
this
.
$route
.
query
.
ID
;
}
this
.
getPlat
();
this
.
getList
();
},
methods
:
{
getPlat
()
{
getPlat
()
{
this
.
apipostDS
(
"/api/Survey/GetSurveyTypeEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
platList
=
res
.
data
.
data
;
let
obj
=
{
Id
:
0
,
Name
:
'不限'
Id
:
0
,
Name
:
'不限'
}
this
.
platList
.
unshift
(
obj
);
}
else
{
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
...
...
@@ -170,14 +158,14 @@
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
getList
()
{
this
.
loading
=
true
;
getList
()
{
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/Survey/GetPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
pageCount
=
res
.
data
.
data
.
pageCount
;
}
else
{
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
...
...
@@ -191,7 +179,7 @@
this
.
isShowWenjuan
=
true
;
},
//删除问卷
delQuestion
(
row
)
{
delQuestion
(
row
)
{
let
that
=
this
;
this
.
$q
.
dialog
({
title
:
"提示"
,
...
...
@@ -207,8 +195,9 @@
}
}).
onOk
(()
=>
{
that
.
apipostDS
(
"/api/Survey/DelSurvey"
,
{
SurveyID
:
row
.
ID
},
"/api/Survey/DelSurvey"
,
{
SurveyID
:
row
.
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
$q
.
notify
({
...
...
@@ -230,8 +219,8 @@
);
});
},
closeSaveForm
()
{
this
.
isShowWenjuan
=
false
;
closeSaveForm
()
{
this
.
isShowWenjuan
=
false
;
},
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
...
...
src/pages/financial/reportform/performanceCommission.vue
View file @
42bb9997
<
style
scoped
>
@import
"../css/cssReset.css"
;
.singeRowTable
tr
:nth-child
(
2n
+
1
)
{
@import
"../css/cssReset.css"
;
.singeRowTable
tr
:nth-child
(
2n
+
1
)
{
background
:
none
;
}
.dd
{
background-color
:
#E6E6E
6
;
}
.baseSet_Title
{
}
.dd
{
background-color
:
#e6e6e
6
;
}
.baseSet_Title
{
width
:
120px
!important
;
padding
:
18px
0
0
16px
;
text-align
:
right
;
}
}
.singeRowTable
tr
th
{
.singeRowTable
tr
th
{
border
:
1px
solid
#d2d2d2
;
}
}
.studentTracking
td
:first-child
{
background-color
:
#E6E6E
6
;
.studentTracking
td
:first-child
{
background-color
:
#e6e6e
6
;
position
:
sticky
;
left
:
0px
;
}
.studentTracking
td
:nth-child
(
2
)
{
background-color
:
#E6E6E6
;
}
.studentTracking
td
:nth-child
(
2
)
{
background-color
:
#e6e6e6
;
position
:
sticky
;
left
:
109px
;
border
:
1px
solid
#d2d2d2
;
}
.studentTracking
td
:nth-child
(
3
)
{
background-color
:
#E6E6E
6
;
}
.studentTracking
td
:nth-child
(
3
)
{
background-color
:
#e6e6e
6
;
position
:
sticky
;
left
:
218px
;
border
:
1px
solid
#d2d2d2
;
}
}
.studentTracking
th
:first-child
{
.studentTracking
th
:first-child
{
position
:
sticky
;
left
:
0px
;
}
.studentTracking
th
:nth-child
(
2
)
{
}
.studentTracking
th
:nth-child
(
2
)
{
position
:
sticky
;
left
:
109px
;
border
:
1px
solid
#d2d2d2
;
}
.studentTracking
th
:nth-child
(
3
)
{
}
.studentTracking
th
:nth-child
(
3
)
{
position
:
sticky
;
left
:
218px
;
border
:
1px
solid
#d2d2d2
;
}
}
.bj
{
background-color
:
#e6e6e6
;
}
.stulistNumber
{
.stulistNumber
{
display
:
inline-block
;
width
:
25px
;
height
:
25px
;
text-align
:
center
;
line-height
:
22px
;
border
:
1px
solid
#2961FE
;
border
:
1px
solid
#2961fe
;
border-radius
:
50%
;
cursor
:
pointer
;
color
:
#2961FE
;
}
color
:
#2961fe
;
}
.OCourseTable
{
.OCourseTable
{
width
:
400px
;
text-align
:
center
;
}
}
.OCourseTable
tr
td
{
.OCourseTable
tr
td
{
height
:
40px
;
}
}
.OCourseTable
tr
th
{
.OCourseTable
tr
th
{
height
:
40px
;
background-color
:
rgb
(
238
,
238
,
239
);
}
}
</
style
>
<
template
>
<div
class=
"page-body studentTracking"
>
...
...
@@ -83,29 +85,56 @@
<div
class=
"col-3"
>
<q-field
filled
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"dateArray"
size=
"mini"
@
change=
"resetSearch"
value-format=
"yyyy-MM"
type=
"daterange"
style=
"border:none;"
range-separator=
"至"
start-placeholder=
"跟进开始时间"
end-placeholder=
"跟进结束时间"
/>
<el-date-picker
v-model=
"dateArray"
size=
"mini"
@
change=
"resetSearch"
value-format=
"yyyy-MM"
type=
"daterange"
style=
"border:none;"
range-separator=
"至"
start-placeholder=
"跟进开始时间"
end-placeholder=
"跟进结束时间"
/>
</
template
>
</q-field>
</div>
</div>
</div>
<div
style=
"width: 100%;margin-top: 20px"
>
<div
style=
"width: 100%;overflow-x: auto;"
>
<table
class=
"po_content singeRowTable"
ref=
"table"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<table
class=
"po_content singeRowTable"
ref=
"table"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;z-index: 999;"
>
部门
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;z-index: 999;"
>
角色
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;z-index: 999;"
>
人员
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;z-index: 999;"
>
部门
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;z-index: 999;"
>
角色
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;z-index: 999;"
>
人员
</th>
<th
width=
"500"
colspan=
"7"
style=
"min-width: 500px;"
v-for=
" ( item , index ) in RListlength"
:key=
'index'
>
<span
v-if=
"item.Month.slice(5)<10"
>
{{item.Month.slice(6)}}
</span>
<span
v-else
>
{{item.Month.slice(6)}}
</span>
月
<th
width=
"500"
colspan=
"7"
style=
"min-width: 500px;"
v-for=
"(item, index) in RListlength"
:key=
"index"
>
<span
v-if=
"item.Month.slice(5) < 10"
>
{{
item.Month.slice(6)
}}
</span>
<span
v-else
>
{{ item.Month.slice(6) }}
</span
>
月
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
提成合计
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
返佣合计
</th>
...
...
@@ -113,10 +142,20 @@
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
合计
</th>
</tr>
<tr>
<th
v-for=
" ( item , index ) in titlelist "
:key=
'index'
:width=
"item.Id==1?120:200"
>
{{item.Name}}
</th>
<th
v-for=
"(item, index) in titlelist"
:key=
"index"
:width=
"item.Id == 1 ? 120 : 200"
>
{{ item.Name }}
</th>
</tr>
<tr
v-for=
" ( item , index ) in dataList "
:key=
"index"
v-if=
'dataList && dataList.length>0'
>
<tr
v-for=
"(item, index) in dataList"
:key=
"index"
v-if=
"dataList && dataList.length > 0"
:class=
"item.DeptName ? '' : 'bj'"
>
<td
style=
" border: 1px solid #d2d2d2;"
>
{{ item.DeptName }}
</td>
...
...
@@ -124,31 +163,30 @@
<span>
{{ item.RoleName }}
</span>
</td>
<td>
{{
item.EmpName
}}
{{
item.EmpName
}}
</td>
<td
v-for=
"
( x , y ) in titlelist
"
:key=
"y"
>
<td
v-for=
"
(x, y) in titlelist
"
:key=
"y"
>
<div
v-if=
"item.MonthList[x.index]"
>
<div
v-if=
"x.Id==1"
>
<span>
{{item.MonthList[x.index].Achievement}}
</span>
<div
v-if=
"x.Id == 1"
>
<span>
{{ item.MonthList[x.index].Achievement }}
</span>
</div>
<div
v-if=
"x.Id
==
2"
style=
"padding: 7px;"
>
<span>
{{
item.MonthList[x.index].Rate
}}
</span>
<div
v-if=
"x.Id
==
2"
style=
"padding: 7px;"
>
<span>
{{
item.MonthList[x.index].Rate
}}
</span>
</div>
<div
v-if=
"x.Id
==
3"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Rebate
}}
</span>
<div
v-if=
"x.Id
==
3"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Rebate
}}
</span>
</div>
<div
v-if=
"x.Id
==
4"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Commission
}}
</span>
<div
v-if=
"x.Id
==
4"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Commission
}}
</span>
</div>
<div
v-if=
"x.Id
==
5"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Brokerage
}}
</span>
<div
v-if=
"x.Id
==
5"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Brokerage
}}
</span>
</div>
<div
v-if=
"x.Id
==
6"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Bonus
}}
</span>
<div
v-if=
"x.Id
==
6"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Bonus
}}
</span>
</div>
<div
v-if=
"x.Id
==
7"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Total
}}
</span>
<div
v-if=
"x.Id
==
7"
style=
"padding: 3px;"
>
<span>
{{
item.MonthList[x.index].Total
}}
</span>
</div>
</div>
</td>
...
...
@@ -164,57 +202,58 @@
<td>
<span>
{{ item.TotalAll }}
</span>
</td>
</tr>
</table>
</div>
<div
v-if=
'!dataList||(dataList && dataList.length==0)'
style=
"width: 100%;border:1px solid #E6E6E6;display: flex;align-items: center;justify-content: center;height: 60px;"
>
<div
v-if=
"!dataList || (dataList && dataList.length == 0)"
style=
"width: 100%;border:1px solid #E6E6E6;display: flex;align-items: center;justify-content: center;height: 60px;"
>
暂无数据
</div>
</div>
<studentRight-form
v-if=
"isShowStuRight"
:isJudgeTrans=
"isJudgeTrans"
:BelongType=
"BelongType"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"getList"
@
reload=
"getList"
>
<studentRight-form
v-if=
"isShowStuRight"
:isJudgeTrans=
"isJudgeTrans"
:BelongType=
"BelongType"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"getList"
@
reload=
"getList"
>
</studentRight-form>
<studentFUForm
v-if=
"isShowStuFU"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
>
<studentFUForm
v-if=
"isShowStuFU"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
>
</studentFUForm>
</div>
</template>
<
script
>
import
{
GetSellAchievementsRankStat_V2
,
}
from
'../../../api/finance/index'
import
{
queryCourseDropdownList
,
}
from
'../../../api/course/index'
import
{
queryEmployee
}
from
"../../../api/users/user"
;
import
{
import
{
GetSellAchievementsRankStat_V2
}
from
"../../../api/finance/index"
;
import
{
queryCourseDropdownList
}
from
"../../../api/course/index"
;
import
{
queryEmployee
}
from
"../../../api/users/user"
;
import
{
queryGuestStateList
,
CreateTypeList
,
GetStuChannelList
,
GetCustomerList
,
getGuestLearningGoalsEnumList
}
from
"../../../api/sale/sale.js"
;
import
{
}
from
"../../../api/sale/sale.js"
;
import
{
queryStuStageList
,
GetStudentTypeList
,
GetPersonalDimension
,
getSchoolDropdown
,
getStudentDorpDownList
}
from
"../../../api/school/index"
;
import
{
EduDownLoad
}
from
"../../../api/common/common"
;
import
studentRightForm
from
"../../../components/school/student/studentRight-form"
;
import
studentFUForm
from
"../../../components/school/student/studentFu-form"
;
import
{
mapState
}
from
"vuex"
;
}
from
"../../../api/school/index"
;
import
{
EduDownLoad
}
from
"../../../api/common/common"
;
import
studentRightForm
from
"../../../components/school/student/studentRight-form"
;
import
studentFUForm
from
"../../../components/school/student/studentFu-form"
;
import
{
mapState
}
from
"vuex"
;
export
default
{
export
default
{
meta
:
{
title
:
"教师学员跟踪"
},
...
...
@@ -226,11 +265,12 @@
data
()
{
return
{
msg
:
{
StartMonth
:
''
,
EndMonth
:
''
,
StartMonth
:
""
,
EndMonth
:
""
},
//归属类型列表
BelongTypeList
:
[{
BelongTypeList
:
[
{
Id
:
1
,
Name
:
"全部"
},
...
...
@@ -253,29 +293,38 @@
PageCount
:
0
,
customTypeList
:
[],
//客户类型
customState
:
[],
isMyStuList
:
[{
Id
:
'-1'
,
Name
:
'不限'
},
{
Id
:
'1'
,
Name
:
'是'
},
{
Id
:
'0'
,
Name
:
'否'
},
],
hetongList
:
[{
Id
:
'1'
,
Name
:
'正常'
},
{
Id
:
'2'
,
Name
:
'退学'
},
{
Id
:
'5'
,
Name
:
'停课'
},
{
Id
:
'7'
,
Name
:
'毕业'
},
],
isMyStuList
:
[
{
Id
:
"-1"
,
Name
:
"不限"
},
{
Id
:
"1"
,
Name
:
"是"
},
{
Id
:
"0"
,
Name
:
"否"
}
],
hetongList
:
[
{
Id
:
"1"
,
Name
:
"正常"
},
{
Id
:
"2"
,
Name
:
"退学"
},
{
Id
:
"5"
,
Name
:
"停课"
},
{
Id
:
"7"
,
Name
:
"毕业"
}
],
dateArray
:
[],
//日期数组
RListlength
:
0
,
titlelist
:
[],
...
...
@@ -302,19 +351,17 @@
myEmployeeList
:
[],
TransListData
:
[],
//转介人数据
MyTransListData
:
[],
goalsList
:
[],
//学习目的列表
}
},
created
()
{
goalsList
:
[]
//学习目的列表
};
},
created
()
{},
mounted
()
{
var
d
=
new
Date
()
var
d
=
new
Date
();
var
currentY
=
d
.
getFullYear
();
var
currentM
=
d
.
getMonth
();
var
month
=
d
.
getMonth
()
+
1
;
this
.
msg
.
StartMonth
=
currentY
+
'-'
+
currentM
this
.
msg
.
EndMonth
=
currentY
+
'-'
+
month
var
month
=
d
.
getMonth
()
+
1
;
this
.
msg
.
StartMonth
=
currentY
+
"-"
+
currentM
;
this
.
msg
.
EndMonth
=
currentY
+
"-"
+
month
;
this
.
getList
();
//获取规则
// this.getStuStageList();
// this.getCustomTypeList();
...
...
@@ -337,7 +384,8 @@
EduDownLoad
(
"/StudentStat/DownLoadStudentFollowUp"
,
msg
,
"学员跟踪.xls"
,
res
=>
{
"学员跟踪.xls"
,
res
=>
{
this
.
loading
=
false
;
}
);
...
...
@@ -447,20 +495,21 @@
this
.
RoleListData
=
res
.
Data
;
});
},
getBranchList
()
{
//获取校区
getSchoolDropdown
({}).
then
(
res
=>
{
getBranchList
()
{
//获取校区
getSchoolDropdown
({})
.
then
(
res
=>
{
var
tempArray
=
res
.
Data
;
if
(
!
tempArray
)
{
tempArray
=
[];
}
tempArray
.
unshift
({
SId
:
'-1'
,
SId
:
"-1"
,
SName
:
"不限"
})
})
;
this
.
CompanyList
=
tempArray
;
}).
catch
(()
=>
{
})
.
catch
(()
=>
{});
},
//获取课程
getCourseList
()
{
...
...
@@ -468,11 +517,11 @@
IsQPrice
:
1
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
let
data
=
res
.
Data
let
data
=
res
.
Data
;
this
.
allCourseList
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
this
.
myCourseList
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
}
})
});
},
//获取我下属的下拉数据
GetSubordList
()
{
...
...
@@ -498,89 +547,103 @@
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
this
.
getList
();
},
getList
(
type
)
{
this
.
loading
=
true
;
let
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
))
let
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
if
(
this
.
dateArray
&&
this
.
dateArray
.
length
>
0
)
{
msg
.
StartMonth
=
this
.
dateArray
[
0
];
msg
.
EndMonth
=
this
.
dateArray
[
1
];
}
GetSellAchievementsRankStat_V2
(
msg
).
then
(
res
=>
{
GetSellAchievementsRankStat_V2
(
msg
)
.
then
(
res
=>
{
this
.
loading
=
false
;
this
.
RListlength
=
res
.
Data
&&
res
.
Data
[
0
].
MonthList
this
.
titlelist
=
[{
Name
:
'业绩'
,
this
.
RListlength
=
res
.
Data
&&
res
.
Data
[
0
].
MonthList
;
this
.
titlelist
=
[
{
Name
:
"业绩"
,
Id
:
1
,
index
:
0
},
{
Name
:
'业绩比例'
,
},
{
Name
:
"业绩比例"
,
Id
:
2
,
index
:
0
},
{
Name
:
'订单返佣'
,
},
{
Name
:
"订单返佣"
,
Id
:
3
,
index
:
0
},{
Name
:
'提成'
,
},
{
Name
:
"提成"
,
Id
:
4
,
index
:
0
},
{
Name
:
'返佣金额'
,
},
{
Name
:
"返佣金额"
,
Id
:
5
,
index
:
0
},
{
Name
:
'人头奖励'
,
},
{
Name
:
"人头奖励"
,
Id
:
6
,
index
:
0
},
{
Name
:
'合计'
,
},
{
Name
:
"合计"
,
Id
:
7
,
index
:
0
},];
}
];
this
.
dataList
=
res
.
Data
;
this
.
titlelist
=
[];
for
(
let
i
=
0
;
i
<
this
.
RListlength
.
length
;
i
++
)
{
let
obj
=
[{
Name
:
'业绩'
,
let
obj
=
[
{
Name
:
"业绩"
,
Id
:
1
,
index
:
i
},
{
Name
:
'业绩比例'
,
},
{
Name
:
"业绩比例"
,
Id
:
2
,
index
:
i
},
{
Name
:
'订单返佣'
,
},
{
Name
:
"订单返佣"
,
Id
:
3
,
index
:
i
},{
Name
:
'提成'
,
},
{
Name
:
"提成"
,
Id
:
4
,
index
:
i
},
{
Name
:
'返佣金额'
,
},
{
Name
:
"返佣金额"
,
Id
:
5
,
index
:
i
},
{
Name
:
'人头奖励'
,
},
{
Name
:
"人头奖励"
,
Id
:
6
,
index
:
i
},
{
Name
:
'合计'
,
},
{
Name
:
"合计"
,
Id
:
7
,
index
:
i
},]
this
.
titlelist
=
[...
this
.
titlelist
,
...
obj
]
}
];
this
.
titlelist
=
[...
this
.
titlelist
,
...
obj
];
}
})
.
catch
(()
=>
{
this
.
loading
=
false
;
});
},
//获取客户类型
getCustomTypeList
()
{
...
...
@@ -588,7 +651,7 @@
if
(
res
.
Code
==
1
)
{
this
.
customTypeList
=
res
.
Data
;
}
})
});
},
//获取客户阶段列表
getStuStageList
()
{
...
...
@@ -603,10 +666,10 @@
};
this
.
dataList
.
MonthList
.
forEach
(
x
=>
{
if
(
x
.
MonthNum
==
index
+
1
)
{
obj
=
x
obj
=
x
;
}
})
return
obj
});
return
obj
;
},
//点击学生姓名弹出
getStuRight
(
obj
)
{
...
...
@@ -618,7 +681,7 @@
},
closeStuForm
()
{
this
.
isShowStuRight
=
false
;
this
.
isShowStuFU
=
false
this
.
isShowStuFU
=
false
;
},
resetBelong
()
{
if
(
this
.
msg
.
BelongType
!=
4
)
{
...
...
@@ -626,17 +689,19 @@
this
.
getList
();
}
},
lookgengduo
(
obj
,
time
)
{
//跟进备注
lookgengduo
(
obj
,
time
)
{
//跟进备注
//计算时间 月底日期
let
Month
=
time
.
split
(
'-'
)[
0
]
+
'-'
+
time
.
split
(
'-'
)[
1
]
+
'-01'
let
Month
=
time
.
split
(
"-"
)[
0
]
+
"-"
+
time
.
split
(
"-"
)[
1
]
+
"-01"
;
let
date
=
new
Date
(
Month
);
let
currentMonth
=
date
.
getMonth
();
let
nextMonth
=
++
currentMonth
;
let
nextMonthFirstDay
=
new
Date
(
date
.
getFullYear
(),
nextMonth
,
1
);
let
oneDay
=
1000
*
60
*
60
*
24
;
let
endDate
=
new
Date
(
nextMonthFirstDay
-
oneDay
)
let
endMonth
=
time
.
split
(
'-'
)[
0
]
+
'-'
+
time
.
split
(
'-'
)[
1
]
+
'-'
+
endDate
.
getDate
()
let
endDate
=
new
Date
(
nextMonthFirstDay
-
oneDay
);
let
endMonth
=
time
.
split
(
"-"
)[
0
]
+
"-"
+
time
.
split
(
"-"
)[
1
]
+
"-"
+
endDate
.
getDate
();
if
(
obj
)
{
this
.
stuOption
=
obj
;
this
.
stuOption
.
STime
=
Month
;
...
...
@@ -644,17 +709,19 @@
this
.
BelongType
=
obj
.
BelongType
;
}
this
.
isShowStuFU
=
true
;
},
filterFnkec
(
val
,
update
)
{
//课程的栓选
filterFnkec
(
val
,
update
)
{
//课程的栓选
update
(()
=>
{
if
(
val
===
''
)
{
this
.
myCourseList
=
this
.
allCourseList
if
(
val
===
""
)
{
this
.
myCourseList
=
this
.
allCourseList
;
}
else
{
const
needle
=
val
.
toLowerCase
();
this
.
myCourseList
=
this
.
allCourseList
.
filter
(
v
=>
v
.
CourseName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
this
.
myCourseList
=
this
.
allCourseList
.
filter
(
v
=>
v
.
CourseName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
}
})
});
},
getCurseManager
(
row
)
{
let
managerName
=
"<span class='text-grey-4'>暂未推送</span>"
;
...
...
@@ -677,37 +744,36 @@
});
}
return
managerName
;
},
},
}
}
};
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
@import
url('~assets/css/table.sass')
</
style
>
<
style
scoped
>
/
deep
/
.el-input__inner
,
/
deep
/
.el-range-input
{
/
deep
/
.el-input__inner
,
/
deep
/
.el-range-input
{
background-color
:
transparent
;
border
:
none
;
}
}
.stics
{
.stics
{
padding
:
10px
20px
;
background
:
#DDDEE
0
;
background
:
#dddee
0
;
border-radius
:
4px
;
font-size
:
13px
;
color
:
#000000
;
font-weight
:
bold
}
font-weight
:
bold
;
}
.stics
.stics-name
{
color
:
#2D2D2D
;
.stics
.stics-name
{
color
:
#2d2d2d
;
font-weight
:
600
;
margin-right
:
10px
}
margin-right
:
10px
;
}
.roatImg
{
.roatImg
{
transform
:
rotate
(
180deg
);
}
}
</
style
>
src/pages/financial/returnPassbook/ReturnperiodsList.vue
View file @
42bb9997
...
...
@@ -65,7 +65,6 @@
<template>
<el-table
ref=
"filterTable"
:data=
"tableData"
v-loading=
'loading'
:header-cell-style=
"
{backgroundColor:'#f5f6f7', color: '#a8a8b3'}" border style="width: 100%">
<el-table-column
prop=
"BatchName"
label=
"周期"
></el-table-column>
<el-table-column
v-if=
"isReturnperiods"
prop=
"TotalMoney"
label=
"累计金额"
>
</el-table-column>
<el-table-column
v-if=
"isReturnperiods"
prop=
"TotalEmployee"
label=
"个人直客累计金额"
>
</el-table-column>
...
...
@@ -76,8 +75,8 @@
<el-table-column
v-if=
"isReturnperiods"
prop=
"CreateDate"
label=
"创建时间"
>
</el-table-column>
<el-table-column
v-if=
"isReturnperiods"
label=
"财务单据"
>
<template
slot-scope=
"scope"
>
<template
v-if=
"scope.row.FinanceIdList"
v-for=
"item in scope.row.FinanceIdList"
>
<a
@
click=
"goDetails(item)"
<template
v-if=
"scope.row.FinanceIdList"
>
<a
v-for=
"(item,index) in scope.row.FinanceIdList"
:key=
"index"
@
click=
"goDetails(item)"
style=
"cursor:pointer;color:blue;text-decoration:underline;display:inline-block;margin-right:10px;"
>
{{
item
}}
</a>
</
template
>
</template>
...
...
@@ -88,13 +87,12 @@
<el-tooltip
class=
"item"
effect=
"dark"
content=
"查看"
placement=
"top"
>
<i
class=
"iconfont icon-sousuo"
@
click=
"goUrl(scope.row.Id)"
></i>
</el-tooltip>
<templat
v-if=
"isReturnperiods"
>
<template
v-if=
"isReturnperiods"
>
<el-tooltip
class=
"item"
effect=
"dark"
v-if=
"scope.row.FinanceIds==''||scope.row.FinanceIds==null"
content=
"生成财务单据"
placement=
"top"
>
<i
class=
"iconfont icon-add"
@
click=
"setCommissionFinanace(scope.row.Id)"
></i>
</el-tooltip>
</templat>
</
templat
e
>
</div>
</template>
</el-table-column>
...
...
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