Commit 379c7156 authored by 吴春's avatar 吴春
parents 9d4249e8 d663bd9f
......@@ -47,7 +47,7 @@ module.exports = function(ctx) {
vueRouterMode: 'history', // available values: 'hash', 'history'
env: ctx.dev ? {
API: 'http://localhost:5001/api',
API: 'http://localhost:8300/api',
// API: 'http://192.168.10.128:8300/api',
// API: 'https://eduapi.oytour.com/api',
API_ZC: 'http://192.168.5.238:8087/api',
......
......@@ -26,10 +26,9 @@ export function CommonConfig() {
return {
FileConfig: {
FileUrl: 'http://192.168.5.214:8130', //本地服务器文件预览地址
UploadUrl:'http://192.168.5.214:8120'
UploadUrl: 'http://192.168.5.214:8120'
}
}
}
/**
......@@ -174,7 +173,6 @@ export function UploadBolbFileToSystem(uploadConfig, fileFullPath, fileObj, uplo
ExtFile: tempArray
}
if (successCall) {
successCall(uploadResult);
}
}
......@@ -290,60 +288,72 @@ export function UploadFileToSystem(uploadConfig, fileFullPath, fileObj, uploadLo
* 上传文件到阿里云
*/
export function UploadFileToALi(uploadConfig, fileFullPath, fileObj, uploadLoadding, successCall) {
var OSS = require('ali-oss');
var oss = new OSS({
region: uploadConfig.Region,
accessKeyId: uploadConfig.SecretId,
accessKeySecret: uploadConfig.SecretKey,
bucket: uploadConfig.Bucket
})
var result = oss.multipartUpload(fileFullPath, fileObj, {
progress: function* (p) {}
}).then(res => {
let str = '';
//str = "/2024/"
var newFileName = str + fileFullPath;
let fileConfig = CommonConfig();
let locationName = window.location.hostname;
if (locationName.indexOf('localhost') !== -1) {
uploadConfig.UploadDomain = fileConfig.FileConfig.UploadUrl;
}
let url = uploadConfig.UploadDomain + "/Upload/UploadToALiOSS?isDomain=1&filePath=" + newFileName;
let formData = new FormData()
formData.append('myfile', fileObj)
let xhr = new XMLHttpRequest()
xhr.onload = function () {
uploadLoadding.hide();
var jsonObj = JSON.parse(xhr.responseText);
if (jsonObj.StatusCode === 1 && successCall) {
var uploadResult = {
Code: 1,
FileName: fileObj.name,
FileUrl: res.res.requestUrls[0].split('?')[0].replace('http', 'https')
FileUrl: jsonObj.FilePath,
VideoCoverImg: uploadConfig.CustomDomain + jsonObj.VideoCoverImg,
Message: jsonObj.Message
}
if (successCall) {
successCall(uploadResult);
}
})
}
}
xhr.open('post', url, true)
xhr.send(formData)
}
/**
* 上传文件到腾讯云
*/
export function UploadFileToTencent(uploadConfig, fileFullPath, fileObj, uploadLoadding, successCall) {
var COS = require('cos-js-sdk-v5');
var cos = new COS({
SecretId: uploadConfig.SecretId,
SecretKey: uploadConfig.SecretKey,
});
cos.putObject({
Bucket: uploadConfig.Bucket,
Region: uploadConfig.Region, //存储桶所在地域,必须字段
Key: fileFullPath, //文件名
StorageClass: 'STANDARD',
Body: fileObj, // 上传文件对象
onProgress: function (progressData) {}
}, function (err, data) {
let str = '';
//str = "/2024/"
var newFileName = str + fileFullPath;
let fileConfig = CommonConfig();
let locationName = window.location.hostname;
if (locationName.indexOf('localhost') !== -1) {
uploadConfig.UploadDomain = fileConfig.FileConfig.UploadUrl;
}
let url = uploadConfig.UploadDomain + "/Upload/UploadToTecent?isDomain=1&filePath=" + newFileName;
let formData = new FormData()
formData.append('myfile', fileObj)
let xhr = new XMLHttpRequest()
xhr.onload = function () {
uploadLoadding.hide();
if (data && data.statusCode == 200) {
var jsonObj = JSON.parse(xhr.responseText);
if (jsonObj.StatusCode === 1 && successCall) {
var uploadResult = {
Code: 1,
FileName: fileObj.name,
FileUrl: "https://" + data.Location
FileUrl: jsonObj.FilePath,
VideoCoverImg: uploadConfig.CustomDomain + jsonObj.VideoCoverImg,
Message: jsonObj.Message
}
if (successCall) {
successCall(uploadResult);
}
} else {
/*上传文件异常*/
console.log(err || data);
}
});
}
xhr.open('post', url, true)
xhr.send(formData)
}
/***
......@@ -578,10 +588,7 @@ export function wechatUploadSelfFile(path, file, callback, configObj) {
//用户登录缓存
//配置写死的 腾讯云
var uploadConfig = {
Region: "ap-chengdu",
SecretId: "AKIDDPnbIzi8C1eqEOPP8dw6MNAg9H9ldDKd",
SecretKey: "PdcLtOjslUzNFYdU4OSI1fKtdHpFT2Ob",
Bucket: "viitto-1301420277"
};
//获取文件扩展名
var index = file.name.lastIndexOf(".");
......
......@@ -281,6 +281,18 @@ export function SetStuStudyInfo(data) {
})
}
/**
*删除学员学习情况
*/
export function RemoveStuStudyInfo(data) {
return request({
url: '/Scroll/RemoveStuStudyInfo',
method: 'post',
data
})
}
/**
* 获取已报名学员列表
*/
......
......@@ -59,6 +59,7 @@
cursor: pointer;
color: #2961FE;
}
</style>
<template>
<div class="monthStatisticslist">
......@@ -187,11 +188,8 @@
}
return managerName;
},
//点击学生姓名弹出
getStuRight(obj) {
console.log("我进来啦",obj);
if (obj) {
this.stuOption = obj;
this.BelongType = 3;
......@@ -205,4 +203,5 @@
},
}
};
</script>
......@@ -5,21 +5,26 @@
<template v-if="saveObj==2">
<div class="row q-col-gutter-md">
<q-input class="col-6" filled v-model="SaveMsg.StudyValue" dense label="时间"></q-input>
<q-input class="col-6" filled v-model="SaveMsg.Words" type="number" dense label="单词背诵"></q-input>
<q-input class="col-6" filled v-model="SaveMsg.Words" maxlength="180" dense label="单词背诵"></q-input>
</div>
<div class="q-mt-xs row q-col-gutter-md">
<q-input class="col-6" filled v-model="SaveMsg.Practice" type="number" dense label="练习题"></q-input>
<q-input class="col-6" filled v-model="SaveMsg.ReadingAloud" type="number" dense label="朗读/背诵"></q-input>
<q-input class="col-6" filled v-model="SaveMsg.Practice" maxlength="180" dense label="练习题"></q-input>
<q-input class="col-6" filled v-model="SaveMsg.ReadingAloud" maxlength="180" dense label="朗读/背诵"></q-input>
</div>
<div class="q-mt-xs row q-col-gutter-md">
<p>其他 <i class="el-icon-plus text-blue cursor-pointer" @click="SetStudentStudyOther"></i></p>
<q-input class="col-6" filled v-model="SaveMsg.Other" maxlength="180" dense label="其他"></q-input>
<!-- <p>其他 <i class="el-icon-plus text-blue cursor-pointer" @click="SetStudentStudyOther"></i></p> -->
</div>
<div class="q-mt-xs row q-col-gutter-md" v-if='SaveMsg.Other&& SaveMsg.Other.length>0' v-for=" ( itemOther, indexOther ) in SaveMsg.Other " :key="indexOther">
<el-input class="col-6" placeholder="请输入" filled v-model="itemOther.Name" autofocus/>
<el-input class="col-4" placeholder="请输入" filled v-model="itemOther.Score" type="number" autofocus/>
<i class="el-icon-delete text-blue cursor-pointer col-2" @click="DelStudentStudyOther(indexOther)" style="margin-top:11px;"></i>
<!-- <template v-if='SaveMsg.Other&& SaveMsg.Other.length>0'>
<div class="q-mt-xs row q-col-gutter-md" v-for=" ( itemOther, indexOther ) in SaveMsg.Other "
:key="indexOther">
<q-input class="col-6" placeholder="请输入项目名称" filled v-model="itemOther.Name" autofocus :dense="true" />
<q-input class="col-4" placeholder="请输入得分" filled v-model="itemOther.Score" type="number" :dense="true"
autofocus />
<i class="el-icon-delete text-blue cursor-pointer col-2" @click="DelStudentStudyOther(indexOther)"
style="margin-top:11px;"></i>
</div>
</template> -->
</template>
<template v-if="saveObj==3">
<div class="q-mt-xs row q-col-gutter-md">
......@@ -45,7 +50,6 @@
meta: {
title: "学员考试信息"
},
components: {},
props: {
saveObj: {
......@@ -63,52 +67,53 @@
//客户对象
SaveMsg: {
CourseId: 0,
StuId:0,
GuestId:0,
ClassScrollType:0,
OrderId:0,
StudyID:0,
Words:'',
Practice:'',
ReadingAloud:'',
Other:[],
ChapterId:0,
StudyType:0,
Remarks:'',
StudyValue:'',
StuId: 0,
GuestId: 0,
ClassScrollType: 0,
OrderId: 0,
StudyID: 0,
Words: '',
Practice: '',
ReadingAloud: '',
Other: '',
ChapterId: 0,
StudyType: 0,
Remarks: '到勤情况:\n课堂表现:\n作业情况:\n评价建议:',
StudyValue: '',
},
nowOther:{
Name:"",
Score:"",
nowOther: {
Name: "",
Score: "",
},
};
},
created() {
},
created() {},
mounted() {},
methods: {
SetStudentStudyOther(){
SetStudentStudyOther() {
this.SaveMsg.Other.push(JSON.parse(JSON.stringify(this.nowOther)))
},
DelStudentStudyOther(indexOther){
if( this.SaveMsg.Other&& this.SaveMsg.Other.length>0){
DelStudentStudyOther(indexOther) {
if (this.SaveMsg.Other && this.SaveMsg.Other.length > 0) {
this.SaveMsg.Other.splice(indexOther, 1);
}
},
//保存信息
SaveStudentStudy(){
this.SaveMsg.CourseId=this.BaseInfo.CourseId,
this.SaveMsg.StuId=this.BaseInfo.StuId,
this.SaveMsg.GuestId=this.BaseInfo.GuestId,
this.SaveMsg.OrderId=this.BaseInfo.OrderId;
if(this.saveObj==3){
this.SaveMsg.Words=0;
this.SaveMsg.Practice=0;
this.SaveMsg.ReadingAloud=0;
this.SaveMsg.ChapterId=0;
this.SaveMsg.Other='';
SaveStudentStudy() {
this.SaveMsg.CourseId = this.BaseInfo.CourseId;
this.SaveMsg.StuId = this.BaseInfo.StuId;
this.SaveMsg.GuestId = this.BaseInfo.GuestId;
this.SaveMsg.OrderId = this.BaseInfo.OrderId;
if (this.saveObj == 3) {
this.SaveMsg.Words = '';
this.SaveMsg.Practice = '';
this.SaveMsg.ReadingAloud = '';
this.SaveMsg.ChapterId = 0;
this.SaveMsg.Other = '';
} else {
this.SaveMsg.Remarks = '';
}
this.SaveMsg.StudyType=this.saveObj;
this.SaveMsg.StudyType = this.saveObj;
SetStuStudyInfo(this.SaveMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
......@@ -125,36 +130,32 @@
.catch(() => {
this.loading = false;
});
// this.SaveMsg.Remarks=this.obj.Remarks,
// this.SaveMsg.StudyValue=this.obj.StudyValue,
},
closeSaveForm() {
this.$emit("close");
this.persistent = false;
},
clearSaveMsg(){
this.SaveMsg.CourseId= 0,
this.SaveMsg.StuId=0,
this.SaveMsg.GuestId=0,
this.SaveMsg.ClassScrollType=0,
this.SaveMsg.OrderId=0,
this.SaveMsg.StudyID=0,
this.SaveMsg.Words=0,
this.SaveMsg.Practice=0,
this.SaveMsg.ReadingAloud=0,
this.SaveMsg.Other=[],
this.SaveMsg.ChapterId=0,
this.SaveMsg.StudyType=0,
this.SaveMsg.Remarks='',
this.SaveMsg.StudyValue=''
clearSaveMsg() {
this.SaveMsg.CourseId = 0;
this.SaveMsg.StuId = 0;
this.SaveMsg.GuestId = 0;
this.SaveMsg.ClassScrollType = 0;
this.SaveMsg.OrderId = 0;
this.SaveMsg.StudyID = 0;
this.SaveMsg.Words = '';
this.SaveMsg.Practice = '';
this.SaveMsg.ReadingAloud = '';
this.SaveMsg.Other = '';
this.SaveMsg.ChapterId = 0;
this.SaveMsg.StudyType = 0;
this.SaveMsg.Remarks = '到勤情况:\n课堂表现:\n作业情况:\n评价建议:';
this.SaveMsg.StudyValue = '';
},
closeForm() {
this.clearSaveMsg();
this.$emit("close");
},
}
};
</script>
......@@ -72,22 +72,39 @@
<th width="100">操作</th>
</tr>
<template v-if='dataObj&& dataObj.length>0'>
<tr v-for=" ( item , index ) in dataObj " :key="index">
<tr v-for=" (item,index) in dataObj " :key="index">
<td>
<el-input v-if="Edit.index==index" placeholder="请输入" v-model="item.ClassDate" size="mini" autofocus/>
<q-input v-if="Edit.index==index" placeholder="请输入" v-model="item.ClassDate" size="mini" autofocus />
<span v-else> {{ item.ClassDate }}</span>
</td>
<td>
<td style="text-align:left;padding-left:5px;">
<div>
<el-input type="textarea" v-if="Edit.index==index" :autosize="{ minRows: 2, maxRows: 50}" placeholder="请输入内容"v-model="item.Remarks"></el-input>
<span v-else> {{ item.Remarks }}</span>
<q-input type="textarea" v-if="Edit.index==index" :autosize="{ minRows: 1, maxRows: 10}"
placeholder="请输入内容" v-model="item.Remarks" :dense="true" />
<pre v-else>
<p v-html="item.Remarks"></p>
</pre>
</div>
</td>
<td>
<div class="text-blue cursor-pointer" >
<i class="el-icon-edit" @click="SetStudentStudy(item,index)" style="margin-right:15px;"></i>
<i class="el-icon-check" v-if="(item.Words||item.Practice||item.ReadingAloud||(item.Other&&item.Other.length>0))||item.StudyID>0" @click="SaveStudentStudy(item)"></i>
<div class="text-blue cursor-pointer">
<i v-if="Edit.index!=index" class="el-icon-edit" @click="SetStudentStudy(item,index)"
style="margin-right:15px;">
<q-tooltip :offset="[10, 10]">
点击修改
</q-tooltip>
</i>
<i class="el-icon-check" v-if="Edit.index==index" @click="SaveStudentStudy(item)"
style="margin-right:15px;">
<q-tooltip :offset="[10, 10]">
点击保存
</q-tooltip>
</i>
<i class="el-icon-delete" v-if="item.StudyID>0" @click="deleteStudy(item)">
<q-tooltip :offset="[10, 10]">
点击删除
</q-tooltip>
</i>
</div>
</td>
</tr>
......@@ -103,13 +120,9 @@
</div>
</template>
<script>
import {
saveStudentBaseInfo, //保存学员信息
} from "../../../api/school/index";
import {
SetStuStudyInfo,
RemoveStuStudyInfo,
} from '../../../api/studyabroad/index'
import UeEditor from "../../editor/UeEditor";
export default {
......@@ -159,26 +172,26 @@
},
SaveMsg: {
CourseId: 0,
StuId:0,
GuestId:0,
ClassScrollType:0,
OrderId:0,
StudyID:0,
Words:0,
Practice:0,
ReadingAloud:0,
Other:[],
ChapterId:0,
StudyType:0,
Remarks:'',
StudyValue:'',
StuId: 0,
GuestId: 0,
ClassScrollType: 0,
OrderId: 0,
StudyID: 0,
Words: 0,
Practice: 0,
ReadingAloud: 0,
Other: [],
ChapterId: 0,
StudyType: 0,
Remarks: '',
StudyValue: '',
},
nowOther:{
Name:"",
Score:"",
nowOther: {
Name: "",
Score: "",
},
Edit:{
index:-1,
Edit: {
index: -1,
},
};
},
......@@ -188,40 +201,55 @@
}
},
methods: {
//刷新表格
refreshTable() {
this.$emit("success");
},
getTeacherManager(row) {
let managerName = "<span class='text-grey-4'>暂无</span>";
if (row.AssistList && row.AssistList.length > 0) {
row.AssistList.forEach(y => {
if (y.AssistType == 4) {
managerName = `<span class='text-dark'>${y.AssistName}</span>`;
deleteStudy(item) {
let that = this
this.$q.dialog({
title: '删除确认',
message: '删除且无法恢复,你确定要删除吗',
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true,
color: "negative"
}
});
}).onOk(() => {
RemoveStuStudyInfo({
StudyID: item.StudyID
}).then(res => {
if (res.Code === 1) {
that.$message.success("操作成功")
that.clearSaveMsg();
that.refreshTable();
}
return managerName;
})
})
},
SetStudentStudy(obj,index){
this.Edit.index=index;
SetStudentStudy(obj, index) {
this.Edit.index = index;
},
//保存信息
SaveStudentStudy(obj){
this.SaveMsg.CourseId=this.BaseInfo.CourseId,
this.SaveMsg.StuId=this.BaseInfo.StuId,
this.SaveMsg.GuestId=this.BaseInfo.GuestId,
this.SaveMsg.OrderId=this.BaseInfo.OrderId,
this.SaveMsg.StudyID=obj.StudyID,
this.SaveMsg.Practice=0,
this.SaveMsg.ReadingAloud=0,
this.SaveMsg.Words=0,
this.SaveMsg.Other='';
this.SaveMsg.Remarks=obj.Remarks,
this.SaveMsg.StudyValue=obj.ClassDate;
this.SaveMsg.ChapterId=0,
this.SaveMsg.StudyType=3,
SaveStudentStudy(obj) {
this.SaveMsg.CourseId = this.BaseInfo.CourseId;
this.SaveMsg.StuId = this.BaseInfo.StuId;
this.SaveMsg.GuestId = this.BaseInfo.GuestId;
this.SaveMsg.OrderId = this.BaseInfo.OrderId;
this.SaveMsg.StudyID = obj.StudyID;
this.SaveMsg.Practice = "";
this.SaveMsg.ReadingAloud = "";
this.SaveMsg.Words = "";
this.SaveMsg.Other = '';
this.SaveMsg.Remarks = obj.Remarks;
this.SaveMsg.StudyValue = obj.ClassDate;
this.SaveMsg.ChapterId = 0;
this.SaveMsg.StudyType = 3;
SetStuStudyInfo(this.SaveMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
......@@ -239,36 +267,33 @@
.catch(() => {
this.loading = false;
});
},
SetStudentStudyOther(index){
SetStudentStudyOther(index) {
this.dataObj[index].Other.push(JSON.parse(JSON.stringify(this.nowOther)))
},
DelStudentStudyOther(obj,index,indexOther){
if(obj.Other&&obj.Other.length>0){
DelStudentStudyOther(obj, index, indexOther) {
if (obj.Other && obj.Other.length > 0) {
obj.Other.splice(indexOther, 1);
}
this.dataObj[index] = obj
},
clearSaveMsg(){
this.SaveMsg.CourseId= 0,
this.SaveMsg.StuId=0,
this.SaveMsg.GuestId=0,
this.SaveMsg. ClassScrollType=0,
this.SaveMsg. OrderId=0,
this.SaveMsg. StudyID=0,
this.SaveMsg.Words=0,
this.SaveMsg.Practice=0,
this.SaveMsg.ReadingAloud=0,
this.SaveMsg.Other=[],
this.SaveMsg. ChapterId=0,
this.SaveMsg.StudyType=0,
this.SaveMsg.Remarks='',
this.SaveMsg. StudyValue='',
this.Edit.index=-1;
clearSaveMsg() {
this.SaveMsg.CourseId = 0;
this.SaveMsg.StuId = 0;
this.SaveMsg.GuestId = 0;
this.SaveMsg.ClassScrollType = 0;
this.SaveMsg.OrderId = 0;
this.SaveMsg.StudyID = 0;
this.SaveMsg.Words = "";
this.SaveMsg.Practice = "";
this.SaveMsg.ReadingAloud = "";
this.SaveMsg.Other = "";
this.SaveMsg.ChapterId = 0;
this.SaveMsg.StudyType = 0;
this.SaveMsg.Remarks = '';
this.SaveMsg.StudyValue = '';
this.Edit.index = -1;
},
//关闭弹窗
closeStuForm() {
this.isShowStuRight = false;
......
......@@ -76,7 +76,7 @@
<th width="80">金额</th>
<th style="min-width:250px;">基本情况</th>
<th width="200">续费课程</th>
<th width="80">续费级别</th>
<!-- <th width="80">续费级别</th> -->
<th width="80">续费金额</th>
<th width="80">最新进度</th>
<th width="90">负责人</th>
......@@ -153,12 +153,12 @@
<span>{{sItem.CourseName}}</span>
</div>
</td>
<td>
<!-- <td>
<div v-for="(sItem,sIndex) in item.RenewOrderList" style="border-bottom:1px dashed #d1d1d1;"
:key="sIndex+40000">
<span>{{ sItem.CourseRateName?sItem.CourseRateName:'-' }}</span>
</div>
</td>
</td> -->
<td>
<div v-for="(sItem,sIndex) in item.RenewOrderList" style="border-bottom:1px dashed #d1d1d1;"
:key="sIndex+50000">
......@@ -171,7 +171,7 @@
<td>
{{ item.CreateByName?item.CreateByName:'-' }}
</td>
<td >
<td>
<div class="text-blue cursor-pointer" @click="getStudentStudy(item)">
学习情况
</div>
......@@ -243,7 +243,7 @@
</div>
</div>
<div style="width:100%;margin-bottom:15px;" v-if="customObj.EditType==3">
<div style="width:13%;display:inline-block;vertical-align:top;">基本<br/>情况:</div>
<div style="width:13%;display:inline-block;vertical-align:top;">基本<br />情况:</div>
<div style="width:86%;display:inline-block;">
<UeEditor v-model="customObj.Remark" class="q-pb-sm" :config="config"></UeEditor>
</div>
......@@ -389,8 +389,8 @@
var qObj = {
StuId: obj.StuId,
StuName: obj.StuName,
GuestId:obj.GuestId,
CourseRateName:obj.CourseRateName,
GuestId: obj.GuestId,
CourseRateName: obj.CourseRateName,
};
this.OpenNewUrl('/teacher/studentStudy', qObj)
},
......
This diff is collapsed.
......@@ -61,18 +61,14 @@
<li @click="tiggerMax" class="source">
原图
</li>
<!-- <li class="save" @click="outerVisible=true">
保存
</li> -->
<li class="save" @click="getFileBase64(2)">
保存
</li>
<li class="down" @click="getFileBase64(1)">
下载
</li>
<!-- <li class="return" @click="returnback">
返回
</li> -->
</ul>
<div class="property-box" v-if='currentNode.type==0 && !isMax'>
<el-form ref="form" :model="currentNode" label-width="80px">
......@@ -172,12 +168,7 @@
</div>
<div class="property-box" v-if='currentNode.type==1 && !isMax'>
<el-form ref="form" :model="currentNode" label-width="80px">
<!-- <el-form-item label="宽度:">
<el-input-number v-model="currentNode.width" :min="0"></el-input-number>
</el-form-item>
<el-form-item label="高度">
<el-input-number v-model="currentNode.height" :min="0"></el-input-number>
</el-form-item> -->
<el-form-item label="圆角:">
<el-input-number v-model="currentNode.radius" :min="0"></el-input-number>
<label class="remark">修改块的圆角弧度(有背景色时体现)</label>
......@@ -399,7 +390,7 @@
import browserMD5File from 'browser-md5-file';
import vueWaterfallEasy from 'vue-waterfall-easy'
import h2c from 'html2canvas'
// import Canvas2Image from 'Canvas2Image'
import {
getAdvertisingList,
saveMakeAd,
......@@ -502,19 +493,15 @@
}
},
mounted() {
if (this.$route.query.id) {
this.dataId = this.$route.query.id
}
// this.user = JSON.parse(window.localStorage.userInfo)
if (this.dataId != 0) {
this.bg = ' '
this.loadObj()
} else {
this.isLoading = false
}
// this.loadingFont(this.nodes[0])
this.nodes.forEach(x => {
this.currentZIndex = x.zindex > this.currentZIndex ? x.zindex : this.currentZIndex
this.currentMaxId = x.nodeId > this.currentMaxId ? x.nodeId : this.currentMaxId
......@@ -587,7 +574,7 @@
'label': '叶根友毛笔行书体',
'value': 'YGYXSZITI'
})
// this.getline()
this.getaddatas(0)
var sUserAgent = navigator.userAgent;
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
......@@ -622,7 +609,8 @@
this.currentMaxId = y.nodeId > this.currentMaxId ? y.nodeId : this.currentMaxId
})
let reg = /^http(s)?:\/\/(.*?)\//
let getBlob = this.getFileBlob(data.pictureUrl.replace(reg, ''), 'aa.jpg')
console.log("getMyAdDetail",data.pictureUrl);
let getBlob = this.getAnyFileBlob(data.pictureUrl.replace(reg, ''))
let that = this
getBlob.then(blob => {
that.blobToDataURL(blob, function (e) {
......@@ -658,9 +646,6 @@
})
}
})
},
uuid(len, radix) {
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
......@@ -701,7 +686,8 @@
this.st = x.SamplePicturesUrl + '?width=470'
this.templateId = x.ID
let reg = /^http(s)?:\/\/(.*?)\//
let getBlob = this.getFileBlob(x.PictureUrl.replace(reg, ''), 'aa.jpg')
let getBlob = this.getAnyFileBlob(x.PictureUrl.replace(reg, ''))
let that = this
getBlob.then(blob => {
that.blobToDataURL(blob, function (e) {
......
......@@ -55,8 +55,8 @@
text-align: right;
}
</style>
<template>
</style>
<template>
<div class="flexOne currentManage page-body" style="position: relative;">
<div class="query-box" style="border-bottom:0">
<ul>
......@@ -73,9 +73,8 @@
</div>
<div class="cm_content _scrollbar"
style="position: absolute;top:83px;bottom: 20px;left: 15px;right:15px;overflow-y: scroll;">
<table class="po_content singeRowTable"
style="border:1px solid #E6E6E6;" cellspacing="0"
cellpadding="0" v-loading="loading">
<table class="po_content singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0"
v-loading="loading">
<tr>
<th>币种名称</th>
<th>汇率类型</th>
......@@ -117,7 +116,8 @@
<el-col :span="5">
<el-form-item label="币种类型" prop="CurrencyId">
<el-select filterable v-model='addMsg.CurrencyId' @change="getType">
<el-option v-for="item in currencyTypeList" :key="item.ID" :value="item.ID" :label="item.Name"></el-option>
<el-option v-for="item in currencyTypeList" :key="item.ID" :value="item.ID" :label="item.Name">
</el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -141,8 +141,8 @@
</div>
</div>
</template>
<script>
</template>
<script>
import bankForm from './suject/bank'
import cashForm from './suject/cash'
import costForm from './suject/cost'
......@@ -207,7 +207,7 @@
},
dataList: [],
loading: false,
currencyTypeList:[]
currencyTypeList: []
}
},
created() {
......@@ -218,7 +218,7 @@
},
methods: {
Delete(item){
Delete(item) {
let _this = this
let msg = {
Id: item.Id
......@@ -231,8 +231,8 @@
ok: "确定",
cancel: "取消",
}).onOk(() => {
this.apipost('Financial_post_DelKingdeeCurrency',msg, res => {
if(res.data.resultCode == 1) {
this.apipost('Financial_post_DelKingdeeCurrency', msg, res => {
if (res.data.resultCode == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
......@@ -252,9 +252,9 @@
});
},
// 获取币种名称
getType(ID){
this.currencyTypeList.forEach(item=>{
if(item.ID==ID){
getType(ID) {
this.currencyTypeList.forEach(item => {
if (item.ID == ID) {
this.addMsg.CurrencyName = item.Name
}
})
......@@ -325,11 +325,10 @@
},
clickEdit(item) {
this.addShow = false
if(item){
if (item) {
this.text = '编辑金蝶币种'
console.log(item)
this.addMsg = JSON.parse(JSON.stringify(item))
}else{
} else {
this.text = '新增金蝶币种'
}
this.addShow = true
......@@ -348,5 +347,4 @@
},
}
</script>
\ No newline at end of file
</script>
<style scoped>
@import "../css/cssReset.css";
.suject-title-box {
border-bottom: 1px solid #dedede;
}
......@@ -74,9 +75,8 @@
</div>
<div class="cm_content _scrollbar"
style="position: absolute;top:83px;bottom: 20px;left: 15px;right:15px;overflow-y: scroll;">
<table class="po_content singeRowTable"
style="border:1px solid #E6E6E6;" cellspacing="0"
cellpadding="0" v-loading="loading">
<table class="po_content singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0"
v-loading="loading">
<tr>
<th width="260px">校区/公司名称</th>
<th>项目名称</th>
......@@ -119,7 +119,8 @@
<el-col :span="8">
<el-form-item label="校区" prop="BranchId">
<el-select filterable v-model='addMsg.BranchId' @change="getType">
<el-option v-for="item in CompanyList" :key="item.SId" :value="item.SId" :label="item.SName"></el-option>
<el-option v-for="item in CompanyList" :key="item.SId" :value="item.SId" :label="item.SName">
</el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -189,7 +190,7 @@
},
dataList: [],
loading: false,
CompanyList:[]
CompanyList: []
}
},
created() {
......@@ -200,7 +201,7 @@
},
methods: {
Delete(item){
Delete(item) {
let _this = this
let msg = {
Id: item.Id
......@@ -213,8 +214,8 @@
ok: "确定",
cancel: "取消",
}).onOk(() => {
this.apipost('Financial_post_DelKingdeeItem',msg, res => {
if(res.data.resultCode == 1) {
this.apipost('Financial_post_DelKingdeeItem', msg, res => {
if (res.data.resultCode == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
......@@ -233,7 +234,7 @@
});
},
getBranchList() {//获取校区
getBranchList() { //获取校区
getSchoolDropdown({}).then(res => {
this.CompanyList = res.Data;
// var obj = {
......@@ -246,9 +247,9 @@
})
},
// 获取金蝶项目名称
getType(ID){
this.CompanyList.forEach(item=>{
if(item.SId==ID){
getType(ID) {
this.CompanyList.forEach(item => {
if (item.SId == ID) {
this.addMsg.BranchName = item.SName
}
})
......@@ -304,11 +305,10 @@
},
clickEdit(item) {
this.addShow = false
if(item){
if (item) {
this.text = '编辑金蝶项目'
console.log(item)
this.addMsg = JSON.parse(JSON.stringify(item))
}else{
} else {
this.text = '新增金蝶项目'
}
this.addShow = true
......
<style>
.baseSet_Title {
.baseSet_Title {
width: 120px !important;
padding: 18px 0 0 16px;
text-align: right;
}
}
.userCommissionDetails .border-bottom {
.userCommissionDetails .border-bottom {
/* border-bottom: 1px dashed #EEE; */
padding-bottom: 5px;
margin-bottom: 5px;
}
}
.userCommissionDetails .text-bottom {
.userCommissionDetails .text-bottom {
height: 32px;
line-height: 32px;
margin-bottom: 10px;
}
}
.userCommissionDetails ._icon_btn i.icon-sousuo {
.userCommissionDetails ._icon_btn i.icon-sousuo {
background-color: #47bf8c;
}
}
.userCommissionDetails ._icon_btn i {
.userCommissionDetails ._icon_btn i {
width: 30px;
height: 30px;
display: inline-block;
......@@ -32,12 +32,13 @@
margin-right: 10px;
cursor: pointer;
outline: none;
}
}
.userCommissionDetails .el-table td,
.el-table th {
.userCommissionDetails .el-table td,
.el-table th {
padding: 5px 0;
}
}
</style>
<template>
<div class="page-body userCommissionDetails">
......@@ -48,9 +49,9 @@
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select @input="getList" filled stack-label option-value="Id" option-label="EmployeeName" use-input input-debounce="0"
v-model="msg.UserId" :options="PersionList" label="销售" :dense="false"
emit-value map-options @filter="filterFn2">
<q-select @input="getList" filled stack-label option-value="Id" option-label="EmployeeName" use-input
input-debounce="0" v-model="msg.UserId" :options="PersionList" label="销售" :dense="false" emit-value
map-options @filter="filterFn2">
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
......@@ -66,34 +67,26 @@
</div>
</div>
<template>
<el-table
ref="filterTable"
:data="tableData"
v-loading="loading"
:header-cell-style="{ backgroundColor: '#f5f6f7', color: '#a8a8b3' }"
border
style="width: 100%"
>
<el-table ref="filterTable" :data="tableData" v-loading="loading"
:header-cell-style="{ backgroundColor: '#f5f6f7', color: '#a8a8b3' }" border style="width: 100%">
<el-table-column prop="SchoolName" width="130" label="校区"></el-table-column>
        <el-table-column prop="DeptName" width="100" label="部门"></el-table-column>
        <el-table-column prop="DeptName" width="100" label="部门"></el-table-column>
 <el-table-column prop="AccountName" width="100"  label="销售"></el-table-column>
       <el-table-column prop="OrderId" width="80" label="订单号">
       <el-table-column prop="OrderId" width="80" label="订单号">
<template slot-scope="scope">
<div
style="cursor: pointer;text-decoration: underline;"
@click="goUrlorderList('/sale/orderStatistics',scope.row)"
>{{ scope.row.OrderId }}</div>
<div style="cursor: pointer;text-decoration: underline;"
@click="goUrlorderList('/sale/orderStatistics',scope.row)">{{ scope.row.OrderId }}</div>
</template>
</el-table-column>
<el-table-column prop="OrderGuestNum" width="80" label="订单人数"></el-table-column>
        <el-table-column prop="OrderIncom" width="85" label="订单实收"></el-table-column>
        <el-table-column prop="OrderIncom" width="85" label="订单实收"></el-table-column>
<el-table-column prop="OrderMoney" width="85" label="提成金额">
<template slot-scope="scope">
<div style="color: rgb(233, 82, 82);">{{ scope.row.OrderMoney }}</div>
</template>
</el-table-column>
  <el-table-column prop="ClassName" width="180" label="班级"></el-table-column>
        <el-table-column prop="ClassGuestNum" width="80" label="班级人数"></el-table-column>
        <el-table-column prop="ClassGuestNum" width="80" label="班级人数"></el-table-column>
<el-table-column prop="Periods" width="80" label="期数"></el-table-column>
<el-table-column prop="Remarks" width="" label="备注"></el-table-column>
</el-table>
......@@ -101,21 +94,23 @@
</div>
</template>
<script>
import { date } from 'quasar'
import {
import {
date
} from 'quasar'
import {
GetClassTypePageList,
} from '../../../api/system/index';
import {
} from '../../../api/system/index';
import {
GetLanguagePeriodDetails,
getSellAchievementsChangeLog
} from '../../../api/finance/index'
import {
} from '../../../api/finance/index'
import {
queryEmployee
} from '../../../api/users/user'
import {
} from '../../../api/users/user'
import {
getClassDropDownList,
} from "../../../api/school/index";
export default {
} from "../../../api/school/index";
export default {
meta: {
title: "员工提成明细列表"
},
......@@ -140,12 +135,12 @@ export default {
department: [],
ClassList: [],
allClassList: [],
ChangeLog:'',
ChangeLog: '',
PersionList: [], //员工列表
AllemployeeList: [], //所有员工
}
},
created() { },
created() {},
mounted() {
if (this.$route.query && this.$route.query.userId) {
this.msg.UserId = Number(this.$route.query.userId)
......@@ -180,34 +175,11 @@ export default {
SchoolName: '合计',
OrderMoney: 0,
}
console.log("obj",obj);
this.tableData.forEach((x) => {
obj.OrderMoney += x.OrderMoney
})
console.log("obj",obj);
this.tableData.push(obj)
},
// accAdd(arg1, arg2) { //js 加法精确计算
// var r1, r2, m;
// try {
// r1 = arg1.toString().split(".")[1].length;
// } catch (e) {
// r1 = 0;
// }
// try {
// r2 = arg2.toString().split(".")[1].length;
// } catch (e) {
// r2 = 0;
// }
// m = Math.pow(10, Math.max(r1, r2));
// return (arg1 * m + arg2 * m) / m;
// },
//选择班级
setClass(item) {
this.isShowClass = true;
......@@ -222,7 +194,6 @@ export default {
ClassName: '不限'
}
jsonData.unshift(obj)
if (jsonData && jsonData.length > 0) {
this.ClassList = JSON.parse(JSON.stringify(jsonData));
this.allClassList = JSON.parse(JSON.stringify(jsonData));;
......@@ -302,32 +273,32 @@ export default {
goreturn() {
this.$router.go(-1);
},
goUrlorderList(path, row) {//订单跳转
if(row.OrderId!=-1){
goUrlorderList(path, row) { //订单跳转
if (row.OrderId != -1) {
this.OpenNewUrl(path, {
OrderId: row.OrderId,
// EnterID:row.UserId
});
}else{
} else {
// row.IsDept==2
let newDate = row.Periods.split('-')
let MonthDayNum = new Date(newDate[0], newDate[1], 0).getDate(); //计算当月的天数
this.OpenNewUrl(path, {
OrderId: row.OrderId,
startTime: row.Periods+'-01',
endTime: row.Periods+'-'+MonthDayNum,
startTime: row.Periods + '-01',
endTime: row.Periods + '-' + MonthDayNum,
createBy: row.UserId
});
}
},
goUrlclass(path, Names) {//班级
goUrlclass(path, Names) { //班级
let Name = encodeURI(Names)
this.OpenNewUrl(path, {
ClassName: Name,
});
},
goUrlkehao(path, row) {//跳转到学生课耗
goUrlkehao(path, row) { //跳转到学生课耗
let StartMonth = ''
let EndMonth = ''
if (row.IsFirstCommission == 1) {
......@@ -350,7 +321,7 @@ export default {
comefrom: 1,
});
},
getmingxi(row){//明细
getmingxi(row) { //明细
getSellAchievementsChangeLog({
OrderId: row.OrderId,
UserId: row.UserId,
......@@ -364,9 +335,10 @@ export default {
}
},
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
@import url('~assets/css/table.sass')
</style>
......@@ -116,7 +116,8 @@
<div class="Myprint Receipt_boxNew" :class="[GetDetail.Type==1 || GetDetail.Type==5?'':'color_blur',isPrintPage?'_PrintPageStyle':'']" :style="{width:width,backgroundColor:color}" @click.stop v-loading='loading'>
<div class="11" v-show="disabled">
<div class="_border_1" v-for="(val,index) in loopNumN" :key="index">
<template v-for="(val,index) in loopNumN">
<div v-if="index==1" class="_border_1" :key="index">
<el-tooltip class="item" effect="dark" content="追加团款" placement="top">
<span v-if="GetDetail.OtherType == 1" class="zhuiClass zhuiClassdetails"></span>
</el-tooltip>
......@@ -317,9 +318,12 @@
</template>
</div>
</div>
</template>
</div>
<div class="22" v-show="!disabled">
<div class="_border_1" v-for="(val,index) in loopNumN" :key="index">
<template v-for="(val,index) in loopNumN">
<div v-if="index==1" class="_border_1" :key="index">
<el-tooltip class="item" effect="dark" content="追加团款" placement="top">
<span v-if="GetDetail.OtherType == 1" class="zhuiClass zhuiClassdetails"></span>
</el-tooltip>
......@@ -545,6 +549,8 @@
</template>
</div>
</div>
</template>
</div>
</div>
</template>
......
......@@ -94,7 +94,8 @@
<template v-if="GetDetail&&GetDetail.DetailList.length>0">
<div class="Receipt_box" :class="[GetDetail.Type==1?'':'color_blur',isPrintPage?'_PrintPageStyle':'']" :style="{width:width,backgroundColor:color}" @click.stop v-loading='loading'>
<div v-show="disabled">
<div class="_border_1" v-for="(val,index) in loopNumN" :key="index">
<template v-for="(val,index) in loopNumN">
<div v-if="index==1" class="_border_1" :key="index">
<div class="_sanjiao_"></div>
<p class="rb_tit">{{GetDetail.CompanyName}}</p>
<table class="Receipt_table" border="1" :class="[GetDetail.Type==1?'_border_color_r':'_border_color_b',isPrintPage?'_border_color_p':'']" :bordercolor="GetDetail.Type==1?'#c94052':'#106BAF'" style="border-collapse:collapse;">
......@@ -217,9 +218,12 @@
</tr>
</table>`
</div>
</template>
</div>
<div v-show="!disabled">
<div class="_border_1" v-for="(val,index) in loopNumN" :key="index">
<template v-for="(val,index) in loopNumN">
<div v-if="index==1" class="_border_1" :key="index">
<div class="_sanjiao_"></div>
<p class="rb_tit">
<el-input size="small" style="width:auto" v-model="GetDetail.CompanyName" placeholder="请输入"></el-input>
......@@ -369,6 +373,8 @@
</tr>
</table>
</div>
</template>
</div>
</div>
......
......@@ -98,7 +98,8 @@
<template v-if="GetDetail.DetailList.length>0" >
<div class="Myprint Receipt_boxNew" :class="[GetDetail.Type==1|| GetDetail.Type==5?'':'color_blur',isPrintPage?'_PrintPageStyle':'']" :style="{width:width,backgroundColor:color}" @click.stop v-loading='loading'>
<div v-show="disabled">
<div class="_border_1" v-for="(val,index) in loopNumN" :key="index">
<template v-for="(val,index) in loopNumN">
<div v-if="index==1" class="_border_1" :key="index">
<p class="rb_tit" style="font-size: 16px !important;">{{GetDetail.CompanyName}}{{GetDetail.BranchName}}</p>
<p class="rb_stit" style="position:relative">
<span :class="isPrintPage?'_rb_stit_print':''">{{GetDetail.FinanceName}}</span>
......@@ -264,7 +265,7 @@
</tr>
<tr v-if="isPrintPage">
<td height="26px">{{$t('hotel.hotel_remark')}}</td>
<td height="26px" colspan="7">
<td height="26px" colspan="7" v-if="GetDetail.AuditSteps&&GetDetail.AuditSteps.length">
{{GetDetail.AuditSteps[GetDetail.AuditSteps.length-1].AuditRecordList[0].Remark ? GetDetail.AuditSteps[GetDetail.AuditSteps.length-1].AuditRecordList[0].Remark : '无'}}
</td>
</tr>
......@@ -280,10 +281,12 @@
</template>
</div>
</div>
</template>
</div>
<div v-show="!disabled">
<div class="_border_1" v-for="(val,index) in loopNumN" :key="index">
<template v-for="(val,index) in loopNumN">
<div v-if="index==1" class="_border_1" :key="index">
<p class="rb_tit" style="font-size: 16px !important;">
<el-input :disabled="disabled" size="small" style="width:135px" v-model="GetDetail.CompanyName" placeholder="请输入"></el-input>
(<el-input :disabled="disabled" size="small" style="width:80px" v-model="GetDetail.BranchName" placeholder="请输入"></el-input>)
......@@ -478,7 +481,7 @@
</tr>
<tr v-if="isPrintPage">
<td height="26px">{{$t('hotel.hotel_remark')}}</td>
<td height="26px" colspan="7">
<td height="26px" colspan="7" v-if="GetDetail.AuditSteps&&GetDetail.AuditSteps.length">
<el-input :disabled="disabled" size="small" style="width:auto" v-model="GetDetail.AuditSteps[GetDetail.AuditSteps.length-1].AuditRecordList[0].Remark" placeholder="请输入"></el-input>
<!-- {{GetDetail.AuditSteps[GetDetail.AuditSteps.length-1].AuditRecordList[0].Remark ? GetDetail.AuditSteps[GetDetail.AuditSteps.length-1].AuditRecordList[0].Remark : '无'}} -->
......@@ -496,6 +499,7 @@
</template>
</div>
</div>
</template>
</div>
......
......@@ -276,7 +276,8 @@
<template>
<div class="CapitalDetail">
<div class="11" v-show="disabled">
<div v-for="(val,index) in loopNumN" :key="index" style="margin-bottom:20px">
<template v-for="(val,index) in loopNumN">
<div v-if="index==1" :key="index" style="margin-bottom:20px">
<div class="myCapital">
<div>
<div class="Ca_title">{{dataList.CompanyName}}</div>
......@@ -418,9 +419,12 @@
</div>
</div>
</div>
</template>
</div>
<div class="22" v-show="!disabled">
<div v-for="(val,index) in loopNumN" :key="index" style="margin-bottom:20px">
<template v-for="(val,index) in loopNumN">
<div v-if="index==1" :key="index" style="margin-bottom:20px">
<div class="myCapital">
<div class="Ca_leftOrder">
<div class="Ca_title">
......@@ -551,6 +555,8 @@
</div>
</div>
</div>
</template>
</div>
</div>
</template>
......
......@@ -25,31 +25,41 @@
<div class="_PrintPage">
<div class="_PrintPage_box">
<template v-if="type==='2'&&(Merge==='0'||Merge===null)">
<div class="_border_1" v-for="(item,index) in loopNumT">
<template v-for="(item,index) in loopNumT">
<div v-if="index==1" class="_border_1">
<my-Bill :ID="id" :width="widthSon" :isPrintPage="true" :color="colorSon" :OrderSource="OrderSource" :name='index+1'></my-Bill>
</div>
</template>
</template>
<template v-else-if="type==='1'&&(Merge==='0'||Merge===null)">
<div class="_border_1" v-for="(item,index) in loopNumN">
<template v-for="(item,index) in loopNumN">
<div v-if="index==1" class="_border_1">
<my-RVB-Bill v-on:helloPP="numAdd" :Num="num" :ID="id" :width="widthSon" :isPrintPage="true" :OrderSource="OrderSource" :color="colorSon" :name='index+1'></my-RVB-Bill>
</div>
</template>
</template>
<template v-if="type==='7'&&(Merge==='0'||Merge===null)">
<div class="_border_1" v-for="(item,index) in loopNumT">
<template v-for="(item,index) in loopNumT">
<div v-if="index==1" class="_border_1">
<my-GZ-Bill :ID="id" :width="widthSon" :isPrintPage="true" :color="colorSon" :OrderSource="OrderSource" :name='index+1'></my-GZ-Bill>
</div>
</template>
</template>
<!-- 收据3 -->
<template v-if="type==='3'">
<div class="_border_1" v-for="(item,index) in loopNumT">
<template v-for="(item,index) in loopNumT">
<div v-if="index==1" class="_border_1">
<my-SJ-Bill :ID="id" :width="widthSon" :isPrintPage="true" :color="colorSon" :OrderSource="OrderSource" :name='index+1'></my-SJ-Bill>
</div>
</template>
</template>
<template v-if="Merge==='1'">
<div class="_border_1" v-for="(item,index) in loopNumN">
<template v-for="(item,index) in loopNumN">
<div v-if="index==1" class="_border_1">
<my-HB-Bill v-on:helloPP="numAdd" :Num="num" :ID="id" :width="widthSon" :isPrintPage="true" :color="colorSon" :name='index+1'></my-HB-Bill>
</div>
</template>
</template>
</div>
</div>
</template>
......
......@@ -67,11 +67,13 @@
</div>
</template>
<template v-if="type==='7'&&(Merge==='0'||Merge===null)">
<div class="_border_1" v-for="(item,index) in loopNumT">
<template v-for="(item,index) in loopNumT">
<div v-if="index==1" class="_border_1">
<my-GZ-Bill :ID="id" :width="widthSon" :isPrintPage="true" :color="colorSon" :OrderSource="OrderSource"
:name='index+1'></my-GZ-Bill>
</div>
</template>
</template>
<template v-if="(Merge==='1' && hedan==2)">
<div class="SetDiv">
<span @click="goUrl(2)">切换</span>
......
......@@ -475,9 +475,11 @@
._TCIDAndTCNUMList {
display: flex;
}
.caoz i{
.caoz i {
margin-bottom: 5px;
}
</style>
<template>
......@@ -487,9 +489,8 @@
<el-row style="padding:15px 20px 0 0;">
<el-col :span="6">
<el-form-item label="交易日期:">
<el-date-picker class="h34" v-model="transactionDate"
@change="timeAdd(3)" type="daterange" :picker-options="pickerOptions"
value-format="yyyy-MM-dd">
<el-date-picker class="h34" v-model="transactionDate" @change="timeAdd(3)" type="daterange"
:picker-options="pickerOptions" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
......@@ -504,7 +505,9 @@
</el-col>
</el-row>
</el-form>
<div style="display: inline-block;padding: 0 5px;height: 42px;line-height: 40px;font-weight: bold;font-size: 14px;border-radius: 4px;box-sizing: border-box;white-space: nowrap;margin: 0px 0px 4px 28px;"><span >
<div
style="display: inline-block;padding: 0 5px;height: 42px;line-height: 40px;font-weight: bold;font-size: 14px;border-radius: 4px;box-sizing: border-box;white-space: nowrap;margin: 0px 0px 4px 28px;">
<span>
总收入:</span> <span style="color:red;">{{DataList.Income}}</span> <span style="padding-left:20px;">
总支出:</span><span style="color:red;">{{DataList.Expenditure}}</span></div>
<ul class="clearfix">
......@@ -520,10 +523,11 @@
<div v-if="DataList.Result.length>0" v-for="(item,index) in DataList.Result" :index="index">
<div style="text-align:center;height:50px;padding-top:20px;font-weight:bold;"><span>{{item.Alias}}</span>
<span>{{item.BankNo}}</span><span style="padding-left:20px;">收入:{{item.Income}}</span><span style="padding-left:20px;">支出{{item.Expenditure}}</span>
<span>{{item.BankNo}}</span><span style="padding-left:20px;">收入:{{item.Income}}</span><span
style="padding-left:20px;">支出{{item.Expenditure}}</span>
</div>
<el-table :data="item.FinanceList" border style="width: 100%;font-size: 12px">
<el-table-column prop="CreateDate"label="交易日期" width="150">
<el-table-column prop="CreateDate" label="交易日期" width="150">
<template slot-scope="scope">
<span>{{scope.row.CreateDate}}</span>
</template>
......@@ -538,12 +542,12 @@
<span v-if="scope.row.Type==2"> {{scope.row.Money}}</span>
</template>
</el-table-column>
<el-table-column prop="RemitterName" label="对方单位" >
<el-table-column prop="RemitterName" label="对方单位">
<template slot-scope="scope">
<span> {{scope.row.RemitterName}}</span>
</template>
</el-table-column>
<el-table-column prop="RemitterName" label="对方账号" >
<el-table-column prop="RemitterName" label="对方账号">
<template slot-scope="scope">
<span> {{scope.row.CardNum}}</span>
</template>
......@@ -573,7 +577,8 @@
</el-table-column>
</el-table>
</div>
<div style="width: 100%;height: 50px;line-height: 50px;text-align: center;" v-if="DataList.Result!=null&&DataList.Result.length==0">暂无数据</div>
<div style="width: 100%;height: 50px;line-height: 50px;text-align: center;"
v-if="DataList.Result!=null&&DataList.Result.length==0">暂无数据</div>
</div>
</div>
</template>
......@@ -596,7 +601,7 @@
import {
getSchoolDropdown
} from '../../../api/school/index'
import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
export default {
data() {
......@@ -604,7 +609,10 @@ import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
selectDate: '',
// 日期时间范围在一个月以内
pickerOptions: {
onPick: ({ maxDate, minDate }) => {
onPick: ({
maxDate,
minDate
}) => {
this.selectDate = minDate.getTime()
if (maxDate) {
this.selectDate = ''
......@@ -626,8 +634,8 @@ import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
searchList: [],
widthSon: '700px',
colorSon: "#f5f5f5",
Finance_InvoiceUpdate:false,
Finance_ExpenseType:false,
Finance_InvoiceUpdate: false,
Finance_ExpenseType: false,
msg: {
FrID: '',
sDate: '',
......@@ -738,13 +746,13 @@ import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
SName: "",
Status: '-1'
},
modifydjfp:{
modifydjfp: {
},
xgfpBox:false,
getInvoiceList:[],
costmode:false,//费用类型的修改弹窗
trabeList:[],//修改费用类型的下啦数据
xgfpBox: false,
getInvoiceList: [],
costmode: false, //费用类型的修改弹窗
trabeList: [], //修改费用类型的下啦数据
}
},
created() {
......@@ -792,10 +800,10 @@ import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
let ActionMenuList = JSON.parse(localStorageData).data.ActionMenuList
if (ActionMenuList && ActionMenuList.length > 0) {
ActionMenuList.forEach(x => {
if (x.FunctionCode == 'Finance_InvoiceUpdate') {//发票修改权限
if (x.FunctionCode == 'Finance_InvoiceUpdate') { //发票修改权限
this.Finance_InvoiceUpdate = true
}
if(x.FunctionCode == 'Finance_ExpenseType'){//费用类型修改权限
if (x.FunctionCode == 'Finance_ExpenseType') { //费用类型修改权限
this.Finance_ExpenseType = true
}
})
......@@ -880,11 +888,9 @@ import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
if (!this.msg.KJCostTypeId) this.msg.KJCostTypeId = 0;
if (!this.msg.IsSelectKJSetCostType) this.msg.IsSelectKJSetCostType = 0;
this.loading = true;
console.log("进方法啦");
this.apipost('Financial_post_GetEduALLPageList', this.msg, res => {
if (res.data.resultCode == 1) {
this.DataList = res.data.data;
console.log("this.DataList",this.DataList);
let userInfo = this.getLocalStorage();
this.loading = false;
} else {
......@@ -916,7 +922,6 @@ import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
mathMoney(n) { // 数字转中文大写 1
this.ChineseStr = this.$commonUtils.changeMoneyToChinese(n)
},
timeAdd(t) { // 日期格式
if (t == 3) { //交易日期
if (!this.transactionDate) {
......@@ -924,7 +929,6 @@ import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
this.msg.eTradeDate = '';
return
}
console.log("this.transactionDate",this.transactionDate);
this.msg.sTradeDate = this.transactionDate[0];
this.msg.eTradeDate = this.transactionDate[1];
}
......
......@@ -47,6 +47,7 @@
height: 40px;
background-color: rgb(238, 238, 239);
}
</style>
<template>
<div class="page-body studentTracking">
......@@ -66,7 +67,7 @@
<div class="col-2" style="width: 13%">
<q-field filled dense>
<el-date-picker v-model="msg.StartTime" type="month" value-format="yyyy-MM" placeholder="订单日期" size="small"
style="width: 100%" @change="resetSearch" clear-icon="iconfont icon-guanbi" >
style="width: 100%" @change="resetSearch" clear-icon="iconfont icon-guanbi">
</el-date-picker>
</q-field>
</div>
......@@ -104,7 +105,8 @@
<span>{{dataList.totalPriceXia}}</span>
</div>
<div v-if="dataList.sourceList&&dataList.sourceList.length>0" v-for=" ( itemSource , indexSource ) in dataList.sourceList " :key="indexSource">
<div v-if="dataList.sourceList&&dataList.sourceList.length>0"
v-for=" ( itemSource , indexSource ) in dataList.sourceList " :key="indexSource">
<div class="col stics">
<span class="stics-name">{{itemSource.CreateTypeStr}}</span>
......@@ -116,8 +118,8 @@
</div>
<div style="width: 100%;margin-top: 20px">
<monthStatisticslist :dataObj="dataList" @success="refreshPage"
:loading="loading" ref="monthStatisticslist"></monthStatisticslist>
<monthStatisticslist :dataObj="dataList" @success="refreshPage" :loading="loading" ref="monthStatisticslist">
</monthStatisticslist>
</div>
</div>
......@@ -177,7 +179,7 @@
let firstDay = new Date();
var year = firstDay.getFullYear(); //年
var month = firstDay.getMonth() + 1; //月
this.msg.StartTime=year + '-' + month;
this.msg.StartTime = year + '-' + month;
},
......@@ -235,16 +237,13 @@
getList() {
this.loading = true;
let msg = JSON.parse(JSON.stringify(this.msg))
GetStudentMonthList(msg).then(res => {
this.loading = false;
console.log("res.Data",res.Data.list);
this.dataList = res.Data;
})
.catch(() => {
this.loading = false;
});
},
//获取客户类型
getCustomTypeList() {
......@@ -273,9 +272,11 @@
},
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
<style scoped>
/deep/.el-input__inner,
......@@ -302,4 +303,5 @@
.roatImg {
transform: rotate(180deg);
}
</style>
......@@ -552,12 +552,10 @@
this.orderHandoverMsg.UserId = row.EmAccountId
this.orderIsDetails = true
},
// 协助老师交接
teacherHandover(row) {
console.log("row", row);
this.teacherHandoverMsg.UserId = row.EmAccountId;
this.teacherHandoverMsg.EmployeeName=row.EmployeeName;
this.teacherHandoverMsg.EmployeeName = row.EmployeeName;
this.teacherIsDetails = true
},
saveOrderHandoverInfo() { //保存
......@@ -639,7 +637,6 @@
UserId: this.teacherHandoverMsg.UserId,
ReceiveId: this.teacherHandoverMsg.ReceiveId
}
console.log("开始保存咔咔咔咔咔咔");
SetUserLeaveTearchCareOf(msg).then(res => {
if (res.Code == 1)
this.$q.notify({
......
......@@ -30,11 +30,11 @@
</template>
<template v-slot:body-cell-Using="props">
<q-td :props="props">
<div class="site_ListDiv">空间名称(Bucket):{{props.row.Bucket}}</div>
<!-- <div class="site_ListDiv">空间名称(Bucket):{{props.row.Bucket}}</div>
<div class="site_ListDiv">所属地域:{{props.row.Region}}</div>
<div class="site_ListDiv">自定义域名:{{props.row.CustomDomain}}</div>
<div class="site_ListDiv">SecretId:{{props.row.SecretId}}</div>
<div>SecretKey:{{props.row.SecretKey}}</div>
<div class="site_ListDiv">自定义域名:{{props.row.CustomDomain}}</div> -->
<!-- <div class="site_ListDiv">SecretId:{{props.row.SecretId}}</div>
<div>SecretKey:{{props.row.SecretKey}}</div> -->
</q-td>
</template>
<template v-slot:bottom>
......
......@@ -53,14 +53,12 @@
<div class="page-body studentTracking">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<p style="margin-bottom:10px;"> 学生姓名:<strong style="color:red;">{{this.$route.query.StuName}}</strong></p>
<q-select dense filled option-value="CourseId" option-label="CourseName" v-model="msg.CourseId"
:options="allCourseList" emit-value map-options label="课程名称"
@update:model-value="getCourseId" @input="refreshPage" />
:options="allCourseList" emit-value map-options label="课程名称" @update:model-value="getCourseId"
@input="refreshPage" />
</div>
</div>
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增考试" @click="AddExam(2)" />
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增月度总结" @click="AddExam(3)" />
......@@ -70,12 +68,13 @@
<el-tab-pane label="月度总结" name="second"></el-tab-pane>
</el-tabs>
<div style="width: 100%;margin-top: 20px" v-if="activeName=='first'">
<stufollowlist :dataObj="dataList" :CourseRateName="CourseRateName" :BaseInfo="msg" @success="refreshPage" :titlelist="titlelist"
:loading="loading" ref="stuFollowList" :AuthObj="AuthObj"></stufollowlist>
<stufollowlist :dataObj="dataList" :CourseRateName="CourseRateName" :BaseInfo="msg" @success="refreshPage"
:titlelist="titlelist" :loading="loading" ref="stuFollowList" :AuthObj="AuthObj"></stufollowlist>
</div>
<div style="width: 100%;margin-top: 20px" v-if="activeName=='second'">
<studentStudylMonthlist :dataObj="dataList" :CourseRateName="CourseRateName" :BaseInfo="msg" @success="refreshPage" :titlelist="titlelist"
:loading="loading" ref="studentStudylMonthlist" :AuthObj="AuthObj"></studentStudylMonthlist>
<studentStudylMonthlist :dataObj="dataList" :CourseRateName="CourseRateName" :BaseInfo="msg"
@success="refreshPage" :titlelist="titlelist" :loading="loading" ref="studentStudylMonthlist"
:AuthObj="AuthObj"></studentStudylMonthlist>
</div>
<q-dialog persistent v-model="isShowManagerForm">
<studentStudyAddForm :saveObj="managerOption" :BaseInfo="msg" @close="closeStuForm" @success="refreshPage">
......@@ -93,22 +92,13 @@
queryStuOrderPage, //学员订单分页列表
} from '../../api/customerstudent/customerstudent';
import {
EduDownLoad
} from "../../api/common/common";
import {
GetStudentAdvisorConfigList,
} from "../../api/customerstudent/customerstudent";
import stufollowlist from "../../components/school/student/studentStudylist";
import studentStudylMonthlist from "../../components/school/student/studentStudylMonthlist";
import studentStudyAddForm from "../../components/school/student/studentStudyAddForm";
import {
mapState
} from "vuex";
export default {
meta: {
title: "学员学情况"
title: "学员学情况"
},
props: {},
components: {
......@@ -123,20 +113,20 @@
IsLeave: 1,
titlelist: [],
msg: {
CourseId: 0, //课程 "StuId":1746,"CourseId":322,"GuestId":1162,"ClassScrollType":2
StuId:0,
GuestId:0,
ClassScrollType:0,
OrderId:0,
CourseId: 0,
StuId: 0,
GuestId: 0,
ClassScrollType: 0,
OrderId: 0,
},
loading: false,
isShowManagerForm:false,
isShowManagerForm: false,
dataList: null, //列表数据
managerOption: 0,
PageCount: 0,
CourseRateName: '',
allCourseList: [], //课程
myCourseList:[],
myCourseList: [],
customMsg: {
pageIndex: 1,
pageSize: 10000,
......@@ -157,54 +147,37 @@
}
if (this.$route.query.ClassScrollType) {
this.msg.ClassScrollType = this.customMsg.ClassScrollType = parseInt(this.$route.query.ClassScrollType)
} if (this.$route.query.CourseRateName) {
}
if (this.$route.query.CourseRateName) {
this.CourseRateName = this.$route.query.CourseRateName
}
}
this.getCourseList(); //获取课程下拉
},
computed: mapState({
//是否有下载权限
isHaveDownLoad(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 == "studentTracking_download") {
return x;
}
});
return action && action.FunctionCode;
}
return false;
}
}),
mounted() {
},
mounted() {},
methods: {
handleClick(tab, event) {
this.refreshPage()
},
AddExam(type) {
this.isShowManagerForm = true;
this.managerOption=type;
this.managerOption = type;
},
//关闭表单
closeStuForm() {
this.isShowManagerForm = false;
},
getCourseId(val){
for(let i =0;i<this.allCourseList.length;i++){
if(this.allCourseList[i].CourseId==val){
this.msg.ClassScrollType=this.allCourseList[i].ClassScrollType
this.msg.OrderId=this.allCourseList[i].OrderId
getCourseId(val) {
for (let i = 0; i < this.allCourseList.length; i++) {
if (this.allCourseList[i].CourseId == val) {
this.msg.ClassScrollType = this.allCourseList[i].ClassScrollType
this.msg.OrderId = this.allCourseList[i].OrderId
}
}
console.log("我进来了哈哈哈哈1");
this.refreshPage()
},
//刷新页面
refreshPage() {
console.log("我进来了哈哈哈哈21");
this.getList()
},
//获取课程
......@@ -214,10 +187,10 @@
let data = res.Data.PageData
this.allCourseList = JSON.parse(JSON.stringify(data));
this.myCourseList = JSON.parse(JSON.stringify(data));
if(this.allCourseList&&this.allCourseList.length>0){
this.msg.CourseId=this.allCourseList[0].CourseId
this.msg.ClassScrollType=this.allCourseList[0].ClassScrollType
this.msg.OrderId=this.allCourseList[0].OrderId
if (this.allCourseList && this.allCourseList.length > 0) {
this.msg.CourseId = this.allCourseList[0].CourseId
this.msg.ClassScrollType = this.allCourseList[0].ClassScrollType
this.msg.OrderId = this.allCourseList[0].OrderId
this.getList(); //获取列表
}
}
......@@ -226,7 +199,7 @@
getList() {
this.loading = true;
let msg = JSON.parse(JSON.stringify(this.msg))
if(this.activeName=='first'){
if (this.activeName == 'first') {
GetStuStudyList(this.msg).then(res => {
this.loading = false;
var pageData = JSON.parse(JSON.stringify(res.Data));
......@@ -235,8 +208,7 @@
.catch(() => {
this.loading = false;
});
}
else if(this.activeName=='second'){
} else if (this.activeName == 'second') {
GetStuStudyMonthList(this.msg).then(res => {
this.loading = false;
var pageData = JSON.parse(JSON.stringify(res.Data));
......
This diff is collapsed.
This diff is collapsed.
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