Commit def99056 authored by zhengke's avatar zhengke

111

parents e390038c 84cda05e
......@@ -24,6 +24,7 @@
"cos-js-sdk-v5": "^1.1.5",
"echarts": "^5.1.2",
"element-ui": "^2.14.1",
"flv.js": "^1.6.2",
"html2canvas": "^1.3.2",
"js-md5": "^0.7.3",
"jsencrypt": "^3.2.1",
......@@ -36,6 +37,8 @@
"quasar": "^1.0.0",
"relation-graph": "^1.0.8",
"v-viewer": "^1.5.1",
"videojs-flash": "^2.2.1",
"videojs-swf": "^5.4.2",
"vue-amap": "^0.5.10",
"vue-apexcharts": "^1.6.2",
"vue-draggable-resizable": "^1.7.2",
......
......@@ -51,11 +51,14 @@ module.exports = function (ctx) {
// 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:'
API_SK: 'ws:192.168.10.214:',
API_SIG: 'http://localhost:5001/messagecenter'
} : {
API: 'https://eduapi.oytour.com/api',
API_ZC: 'http://propertyedu.oytour.com/api',
API_SK: 'ws://47.96.23.199:'
API_SK: 'ws://47.96.23.199:',
API_SK_WSS: 'wss://sk.kookaku.com',
API_SIG: 'http://eduapi.oytour.com/messagecenter'
},
// transpile: false,
......@@ -75,12 +78,11 @@ module.exports = function (ctx) {
// https://quasar.dev/quasar-cli/handling-webpack
extendWebpack(cfg) {
// cfg.module.rules.push({
// enforce: 'pre',
// test: /\.(js|vue)$/,
// loader: 'eslint-loader',
// exclude: /node_modules/
// })
cfg.module.rules.push({
enforce: 'pre',
test: /\.swf$/,
loader: 'url-loader'
})
}
},
......@@ -188,30 +190,30 @@ module.exports = function (ctx) {
background_color: '#ffffff',
theme_color: '#027be3',
icons: [{
src: 'icons/icon-128x128.png',
sizes: '128x128',
type: 'image/png'
},
{
src: 'icons/icon-192x192.png',
sizes: '192x192',
type: 'image/png'
},
{
src: 'icons/icon-256x256.png',
sizes: '256x256',
type: 'image/png'
},
{
src: 'icons/icon-384x384.png',
sizes: '384x384',
type: 'image/png'
},
{
src: 'icons/icon-512x512.png',
sizes: '512x512',
type: 'image/png'
}
src: 'icons/icon-128x128.png',
sizes: '128x128',
type: 'image/png'
},
{
src: 'icons/icon-192x192.png',
sizes: '192x192',
type: 'image/png'
},
{
src: 'icons/icon-256x256.png',
sizes: '256x256',
type: 'image/png'
},
{
src: 'icons/icon-384x384.png',
sizes: '384x384',
type: 'image/png'
},
{
src: 'icons/icon-512x512.png',
sizes: '512x512',
type: 'image/png'
}
]
}
},
......@@ -252,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
}
......
@font-face {
font-family: 'perfectFont';
src: url('../font/MicrosoftYaHeiLight.woff') format('woff');
font-family: 'perfectFont';
src: url('../font/MicrosoftYaHeiLight.woff') format('woff');
}
@font-face {
font-family: 'pingfang';
src: url('../font/PingFang2.ttf');
font-family: 'pingfang';
src: url('../font/PingFang2.ttf');
}
.perfectFont {
font-family: 'perfectFont' !important;
}
......@@ -631,7 +631,8 @@ import {
ClassId:'',
CourseName:'',
SuppliesId:item.Id,
Number:item.Number
Number:item.Number,
haocaiList:item.hcItemList,
}
arr.push(obj)
})
......
......@@ -206,13 +206,24 @@
}
.hover_Suspended{
position: relative;
padding: 0 3px;
background-color: #fff;
padding: 0 8px;
border-radius: 10px;
font-size: 15px;
color: white;
}
.hover_Suspended.started{
background-color: #eee;
color: #3f4254;
}
.hover_Suspended.progress{
background-color: #21BA45;
}
.hover_Suspended.over{
background-color: #1976D2;
}
.hover_Suspended:hover{
color: #F8A535;
background-color: #fff;
}
.hover_Suspended:hover .Suspended{
display: block;
......@@ -261,14 +272,15 @@
display: inline-block;
padding: 0 5px;
}
.Suspended_text p.grey{
background-color: grey;
.Suspended_text p.started{
background-color: #eee;
color: #3f4254;
}
.Suspended_text p.green{
background-color: green;
.Suspended_text p.progress{
background-color: #21BA45;
}
.Suspended_text p.red{
background-color: red;
.Suspended_text p.over{
background-color: #1976D2;
}
</style>
<template>
......@@ -288,17 +300,17 @@
<div class="eventsCalendar_box">
<div class="eventsCalendar" v-for="(items,indexs) in item.ActivityList" :key="indexs"
@click="eventName(items.ActivityName)">
<div class="hover_Suspended">
<div class="hover_Suspended" :class="items.ActivityStatus==1?'progress':(items.ActivityStatus==2?'over':'started')">
{{items.ActivityName}}
<div class="Suspended">
<div class="Suspended-b"></div>
<div class="Suspended_text"><span>标题 :</span>{{items.ActivityName}}</div>
<div class="Suspended_text"><span>时间 :</span>{{items.StartTime}}~{{items.EndTime}}</div>
<div class="Suspended_text"><span>类型 :</span>{{items.ActivityTypeName}}</div>
<div class="Suspended_text"><span>价格 :</span>{{!items.IsFree?items.Price:'免费'}}</div>
<div class="Suspended_text"><span>价格 :</span>{{items.IsFree==1?'免费':items.Price+' 元'}}</div>
<div class="Suspended_text" v-show="items.LocationName"><span>地址 :</span> {{items.LocationName}}</div>
<div class="Suspended_text"><span>状态 :</span>
<p :class="items.ActivityStatus==1?'green':(items.ActivityStatus==2?'red':'grey')">
<p :class="items.ActivityStatus==1?'progress':(items.ActivityStatus==2?'over':'started')">
{{items.ActivityStatus==1?'进行中':(items.ActivityStatus==2?'已结束':'未开始')}}</p>
</div>
</div>
......
......@@ -123,7 +123,7 @@
<div class="col q-pt-md q-pr-md">
<!-- <div class="row work_Top">
<div class="text-h6 col"></div>
</div> -->
<q-btn-group
outline
......
......@@ -389,7 +389,7 @@ export default {
that.injectTCCC(
r.Data.Token,
1400617921,
this.userInfo.Email,
that.userInfo.Email,
r.Data.SdkURL
);
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -17,6 +17,10 @@
</template>
</q-field>
</div>
<div class="col-2" v-if="isHaveEdit">
<q-select filled v-model="msg.TeacherAccountId" dense use-input label="教师" :options="MyTeacherListData"
option-label="EmployeeName" @input="refreshPage" clearable option-value="Id" emit-value map-options />
</div>
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
......@@ -26,27 +30,21 @@
<div class="col-2 q-table__title">教师月度考核列表</div>
<q-space />
<div class="page-option">
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="考核" @click="goAssessTable()" />
<q-btn v-if="isHaveEdit" color="accent" size="sm" class="q-mr-md" icon="add" label="考核"
@click="goAssessTable()" />
</div>
</template>
<template v-slot:body-cell-AuditStatus="props">
<q-td :props="props">
<template v-if="props.row.AuditStatus==0">
待提交
</template>
<template v-else>
{{props.row.AuditStatusName}}
</template>
</q-td>
</template>
<template v-slot:body-cell-OptionId="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" @click="submitApproval(props.row)"
<!-- <q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" @click="submitApproval(props.row)"
label="提交审批" v-if="props.row.AuditStatus==0&&props.row.TeacherSignDate" />
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" @click="showForm(props.row,1)"
label="评价" />
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" @click="showForm(props.row,2)"
label="建议" />
label="建议" /> -->
<q-btn v-if="isHaveEdit" flat size="xs" icon="edit" color="accent" style="font-weight:400"
@click="goAssessTable(props.row)" label="修改" />
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" @click="gotoDetail(props.row)"
label="详情" />
</q-td>
......@@ -67,8 +65,14 @@
queryTeacherAssessmentPage,
SubmitTeacherAssessmentApproval
} from '../../api/teacher/index';
import {
queryEmployee,
} from "../../api/users/user";
import behaviorForm from "../../components/teacher/behavior-form.vue";
import helpForm from "../../components/teacher/help-form.vue";
import {
mapState
} from "vuex";
export default {
meta: {
title: "教师月度考评"
......@@ -125,12 +129,6 @@
field: "TotalScore",
align: "left"
},
{
name: "AuditStatus",
label: "审核状态",
field: "AuditStatus",
align: "left"
},
{
name: 'OptionId',
label: '操作',
......@@ -142,21 +140,49 @@
isShowBehavior: false, //是否显示对员工评价弹窗
isShowHelp: false, //是否显示员工对公司建议弹窗
objOption: null,
MyTeacherListData: [], //教师列表
}
},
computed: mapState({
//是否有下载权限
isHaveEdit(state) {
if (state.user.userInfo && state.user.userInfo.ActionMenuList && state.user.userInfo.ActionMenuList.length >
0) {
let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "Edit_TeacherAssessment") {
return x;
}
});
return action && action.FunctionCode;
}
return false;
}
}),
created() {
let today = new Date();
this.msg.YearStr = today.getFullYear().toString();
this.msg.MonthStr = (today.getMonth() + 1).toString();
this.queryDate = this.msg.YearStr + '-' + this.msg.MonthStr;
if (this.$route.query) {
this.findData();
if (!this.isHaveEdit) {
let userinfo = this.getLocalStorage();
this.msg.TeacherAccountId = userinfo.Id;
}
},
mounted() {
this.getTeacherAssessmentPage()
},
methods: {
findData() {
queryEmployee({
AccountTypeStr: "2",
IsLeave: 1
}).then(res => {
if (res.Code == 1) {
this.MyTeacherListData = res.Data;
}
})
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
......@@ -181,8 +207,12 @@
this.getTeacherAssessmentPage();
},
//跳转考核新增修改页面
goAssessTable() {
this.OpenNewUrl('/teacher/jobEvaluation', {});
goAssessTable(item) {
var qObj = {};
if (item) {
qObj.Id = item.Id;
}
this.OpenNewUrl('/teacher/jobEvaluation', qObj);
},
//跳转到考核详情页面
gotoDetail(item) {
......
......@@ -34,7 +34,8 @@
<div class="col-2 jobEvaluationDate q-mr-lg">
<q-field filled stack-label dense label="考核月份">
<template v-slot:control>
<el-date-picker v-model="teacherDate" value-format="yyyy-MM" size="mini" type="month" placeholder="选择考核月份">
<el-date-picker v-model="teacherDate" value-format="yyyy-MM" size="mini" type="month"
placeholder="选择考核月份">
</el-date-picker>
</template>
</q-field>
......@@ -107,8 +108,8 @@
TotalScore: 0, //总分
DetailsList: [],
CheckType: 0, //1-教学主管,2-教务主管
IsJiaoWuFinish:0,//教务主管是否完成打分
IsTeacherFinish:0,//教学主管是否完成打分
IsJiaoWuFinish: 0, //教务主管是否完成打分
IsTeacherFinish: 0, //教学主管是否完成打分
},
isAuth: false, //是否有权限
saveLoading: false,
......@@ -122,7 +123,10 @@
this.GetTeacherList();
},
mounted() {
if (this.$route.query && this.$route.query.Id) {
this.saveObj.Id = this.$route.query.Id;
this.getInfo();
}
},
methods: {
changeStatus(subItem, optionItem) {
......@@ -161,6 +165,7 @@
TeacherAccountId: this.saveObj.TeacherAccountId,
YearStr: this.saveObj.YearStr,
MonthStr: this.saveObj.MonthStr,
Id:this.saveObj.Id,
};
queryTeacherAssessmentInfo(qMsg).then(res => {
if (res.Code == 1) {
......@@ -176,8 +181,8 @@
this.saveObj.TotalScore = tempData.TotalScore;
this.saveObj.CheckType = tempData.CheckType;
this.saveObj.DetailsList = tempData.DetailsList;
this.saveObj.IsTeacherFinish=tempData.IsTeacherFinish;
this.saveObj.IsJiaoWuFinish=tempData.IsJiaoWuFinish;
this.saveObj.IsTeacherFinish = tempData.IsTeacherFinish;
this.saveObj.IsJiaoWuFinish = tempData.IsJiaoWuFinish;
} else {
this.$q.notify({
type: 'negative',
......
......@@ -81,7 +81,7 @@
{{saveObj.S_JiaoWu_Time}}
</td>
</tr>
<tr>
<!-- <tr>
<td colspan="9" style="text-align:left;padding-left:5px;">
注:以下由部门考核者填写
</td>
......@@ -170,7 +170,7 @@
<td colspan="9" style="text-align:left;padding-left:5px;">
签字/日期:{{saveObj.TeacherSignDate}}
</td>
</tr>
</tr> -->
</tfoot>
</table>
</div>
......
......@@ -191,6 +191,11 @@ export default {
immediate: true
}
},
mounted() {
if (tccc && tccc.Agent) {
tccc.Agent.offline();
}
},
methods: {
callBackUserInfo(code) {
setUserCodeCallBack({
......@@ -228,7 +233,7 @@ export default {
const s = document.createElement("script");
s.type = "text/javascript";
s.src =
"http://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.5.js";
"https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.5.js";
const wxElement = document.body.appendChild(s);
// 调用企业微信二维码方法
wxElement.onload = function() {
......
......@@ -618,6 +618,176 @@ const routes = [{
import ("pages/financial/financalDocument/receiptManager.vue")
},
{
path: "/financial/financalDocument/BasicDocuments", //财务 财务单据 审核标准单据
component: () =>
import ("pages/financial/financalDocument/BasicDocuments.vue")
},
{
path: "/financial/reportform/RecPayQueryTeam", //财务报表 月度班级收支统计
component: () =>
import ("pages/financial/reportform/RecPayQueryTeam.vue")
},
{
path: "/financial/reportform/RevenueFileMan", //财务报表 营收文件管理
component: () =>
import ("pages/financial/reportform/RevenueFileMan.vue")
},
{
path: "/financial/reportform/performanceCommission", //财务报表 业绩提成汇总
component: () =>
import ("pages/financial/reportform/performanceCommission.vue")
},
{
path: "/financial/reportform/settleAccounts", //财务报表 财务轧账月份列表
component: () =>
import ("pages/financial/reportform/settleAccounts.vue")
},
{
path: "/financial/reportform/activityDeploy", //财务流程 获取活动配置
component: () =>
import ("pages/financial/reportform/activityDeploy.vue")
},
{
path: "/financial/reportform/activityCommissionDetails", //工作台 活动提成明细
component: () =>
import ("pages/financial/reportform/activityCommissionDetails.vue")
},
{
path: "/financial/reportform/activityCommissionForOrderList", //工作台 查询订单活动提成明细
component: () =>
import ("pages/financial/reportform/activityCommissionForOrderList.vue")
},
{
path: "/financial/reportform/activityCommissionUserList", //工作台 获取活动提成用户列表
component: () =>
import ("pages/financial/reportform/activityCommissionUserList.vue")
},
{
path: "/financial/reportform/activityStatistics", //工作台 获取活动提成统计
component: () =>
import ("pages/financial/reportform/activityStatistics.vue")
},
{
path: "/financial/studyabroad/studyAbroadRules", //财务流程 留学提成规则
component: () =>
import ("pages/financial/studyabroad/studyAbroadRules.vue")
},
{
path: "/financial/studyabroad/studyAbroadCommission", //工作台 留学销售提成
component: () =>
import ("pages/financial/studyabroad/studyAbroadCommission.vue")
},
{
path: "/financial/studyabroad/studyAbroadCommissionTJ", //工作台 留学销售统计
component: () =>
import ("pages/financial/studyabroad/studyAbroadCommissionTJ.vue")
},
{
path: "/financial/studyabroad/commissionDetail", //工作台 留学销售列表
component: () =>
import ("pages/financial/studyabroad/commissionDetail.vue")
},
{
path: "/financial/studyabroad/sBuserCommissionDetails", //工作台 留学销售明细
component: () =>
import ("pages/financial/studyabroad/sBuserCommissionDetails.vue")
},
{
path: "/financial/studyabroad/ordercommission", //工作台 获取销售提成-订单跳转列表 传的参数不同
component: () =>
import ("pages/financial/studyabroad/ordercommission.vue")
},
{
path: "/financial/contribution/toConfigure", //财务流程 投稿规则
component: () =>
import ("pages/financial/contribution/toConfigure.vue")
},
{
path: "/financial/contribution/contributeCommission", // 工作台 投稿销售提成
component: () =>
import ("pages/financial/contribution/contributeCommission.vue")
},
{
path: "/financial/contribution/commissionUserList", // 工作台 投稿销售提成 用户列表
component: () =>
import ("pages/financial/contribution/commissionUserList.vue")
},
{
path: "/financial/contribution/CommissionUserDetailList", // 工作台 投稿销售提成 用户详情
component: () =>
import ("pages/financial/contribution/CommissionUserDetailList.vue")
},
{
path: "/financial/contribution/commissionStatistics", // 工作台 投稿销售统计
component: () =>
import ("pages/financial/contribution/commissionStatistics.vue")
},
{
path: "/financial/market/commissionRule", // 市场顾问 提现规则
component: () =>
import ("pages/financial/market/commissionRule.vue")
},
{
path: "/financial/market/courseConsultant", // 课程顾问 提现规则
component: () =>
import ("pages/financial/market/courseConsultant.vue")
},
{
path: "/financial/market/achievementPeriodsList", // 业绩提成 分期列表
component: () =>
import ("pages/financial/market/achievementPeriodsList.vue")
},
{
path: "/financial/market/employeeCommission", // 业绩提成 员工提成
component: () =>
import ("pages/financial/market/employeeCommission.vue")
},
{
path: "/financial/market/AchievementsUserDetailList", // 业绩提成 员工提成明细列表
component: () =>
import ("pages/financial/market/AchievementsUserDetailList.vue")
},
{
path: "/financial/market/AchievementsForOrderList", // 业绩提成 获取订单跳转 提成详情
component: () =>
import ("pages/financial/market/AchievementsForOrderList.vue")
},
{
path: "/financial/market/marketStatistics", // 业绩提成 统计
component: () =>
import ("pages/financial/market/marketStatistics.vue")
},
{
path: "/financial/market/empBonus", // 员工人头奖励
component: () =>
import ("pages/financial/market/empBonus.vue")
},
{
path: "/financial/market/empBonusDetail", // 员工人头奖励详情
component: () =>
import ("pages/financial/market/empBonusDetail.vue")
},
{
path: "/financial/returnPassbook/ReturnperiodsList", // 返佣期数列表
component: () =>
import ("pages/financial/returnPassbook/ReturnperiodsList.vue")
},
{
path: "/financial/returnPassbook/ReturnUserList", // 返佣 用户分组列表
component: () =>
import ("pages/financial/returnPassbook/ReturnUserList.vue")
},
{
path: "/financial/returnPassbook/returnpassbookStatistics", // 返佣 幸福存折明细
component: () =>
import ("pages/financial/returnPassbook/returnpassbookStatistics.vue")
},
{
path: "/financial/returnPassbook/PassbookperiodsList", // 幸福存折期数列表
component: () =>
import ("pages/financial/returnPassbook/PassbookperiodsList.vue")
},
{
path: "/financial/financalDocument/BasicDocuments", //财务 财务单据 审核标准单据
......
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