Commit fa6dba0b authored by 罗超's avatar 罗超
parents eeade482 390b7d26
...@@ -12,7 +12,7 @@ export default { ...@@ -12,7 +12,7 @@ export default {
<style> <style>
@import url("~assets/css/font.css"); @import url("~assets/css/font.css");
@import url("//at.alicdn.com/t/font_2077629_fty5i519neb.css"); @import url("//at.alicdn.com/t/font_2077629_ew7nihu6b4p.css");
.q-scrollarea__thumb { .q-scrollarea__thumb {
z-index: 999999 !important; z-index: 999999 !important;
} }
......
...@@ -75,6 +75,44 @@ export function getBuyingRequisitionAuditDetail(data) { ...@@ -75,6 +75,44 @@ export function getBuyingRequisitionAuditDetail(data) {
}); });
} }
//耗材 入库单的审核
export function suppliesStockInAuditOrRefund(data) {
return request({
url: '/supplies/SuppliesStockInAuditOrRefund',
method: 'post',
data
});
}
//耗材 入库单的详情
export function getSuppliesStockInAuditDetail(data) {
return request({
url: '/supplies/GetSuppliesStockInAuditDetail',
method: 'post',
data
});
}
//资产 入库单的审核
export function propertyStockInAuditOrRefund(data) {
return request({
url: '/property/PropertyStockInAuditOrRefund',
method: 'post',
data
});
}
//资产 入库单的详情
export function getPropertyStockInAuditDetail(data) {
return request({
url: '/property/GetPropertyStockInAuditDetail',
method: 'post',
data
});
}
export function UploadSelfFileT(path, files, successCall, ocr) { export function UploadSelfFileT(path, files, successCall, ocr) {
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
</q-item-section> </q-item-section>
</q-item> </q-item>
<!-- 跳转资产 --> <!-- 跳转资产 -->
<q-item class="q-my-sm" clickable v-ripple @click="goUrlZC"> <q-item class="q-my-sm" clickable v-ripple @click="goUrlZC(1)">
<q-item-section avatar> <q-item-section avatar>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary"> <q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i class="iconfont icon-zichan"></i> <i class="iconfont icon-zichan"></i>
...@@ -48,6 +48,28 @@ ...@@ -48,6 +48,28 @@
<q-item-label class="font-pfb">资产管理</q-item-label> <q-item-label class="font-pfb">资产管理</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
<!-- 跳转资产 -->
<q-item class="q-my-sm" clickable v-ripple @click="goUrlZC(2)">
<q-item-section avatar>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i class="iconfont icon-qinggoudan"></i>
</q-avatar>
</q-item-section>
<q-item-section>
<q-item-label class="font-pfb">请购审核</q-item-label>
</q-item-section>
</q-item>
<!-- 跳转资产 -->
<q-item class="q-my-sm" clickable v-ripple @click="goUrlZC(3)">
<q-item-section avatar>
<q-avatar style="background-color: #F3F6F9;" rounded size="40px" text-color="primary">
<i class="iconfont icon-ruku"></i>
</q-avatar>
</q-item-section>
<q-item-section>
<q-item-label class="font-pfb">入库审核</q-item-label>
</q-item-section>
</q-item>
</q-list> </q-list>
<q-separator color="grey-2" class="q-my-md"></q-separator> <q-separator color="grey-2" class="q-my-md"></q-separator>
<div class="text-weight-bold" style="font-size:16px;">常用功能</div> <div class="text-weight-bold" style="font-size:16px;">常用功能</div>
...@@ -170,13 +192,22 @@ export default { ...@@ -170,13 +192,22 @@ export default {
}) })
}, },
goUrlZC() { goUrlZC(type) {
let userinfo = this.getLocalStorage(); let userinfo = this.getLocalStorage();
let token=Lockr.get("Token"); let token=Lockr.get("Token");
// let url = "http://www.test.com:8080/#/Autologin?ObjInfo=" + token + "&SecretKey=" + userinfo.UploadConfig.SecretKey; // let url = "http://www.test.com:8080/#/Autologin?ObjInfo=" + token + "&SecretKey=" + userinfo.UploadConfig.SecretKey;
// let url = "http://zcyx.oytour.com/#/Autologin?ObjInfo=" + token + "&SecretKey=" + userinfo.UploadConfig.SecretKey; // let url = "http://zcyx.oytour.com/#/Autologin?ObjInfo=" + token + "&SecretKey=" + userinfo.UploadConfig.SecretKey;
let url = url_jump_zc +"/#/Autologin?ObjInfo=" + token + "&SecretKey=" + userinfo.UploadConfig.SecretKey; if(type==1){
window.open(url) let url = url_jump_zc +"/#/Autologin?ObjInfo=" + token + "&SecretKey=" + userinfo.UploadConfig.SecretKey;
window.open(url)
}else if(type==2){
let url = url_jump_zc +"/#/Autologin?ObjInfo=" + token + "&SecretKey=" + userinfo.UploadConfig.SecretKey+ "&ComeFrom=2";
window.open(url)
}else if(type==3){
let url = url_jump_zc +"/#/Autologin?ObjInfo=" + token + "&SecretKey=" + userinfo.UploadConfig.SecretKey+ "&ComeFrom=3";
window.open(url)
}
}, },
}, },
} }
......
This diff is collapsed.
...@@ -66,15 +66,18 @@ ...@@ -66,15 +66,18 @@
<q-badge v-if="item.TargetJoinType==3" color="green" label="已续费" style="margin-left:5px;" <q-badge v-if="item.TargetJoinType==3" color="green" label="已续费" style="margin-left:5px;"
class="q-mr-xs" /> class="q-mr-xs" />
<div style="display:inline-block;"> <div style="display:inline-block;">
<q-badge v-if="(item.JoinType==4||item.JoinType==5 ||item.TargetJoinType==4||item.TargetJoinType==5) &&item.FirstOrderId>0" color="blue" label="关联拆分订单" <q-badge
style="margin-left:5px;cursor:pointer;"> v-if="(item.JoinType==4||item.JoinType==5 ||item.TargetJoinType==4||item.TargetJoinType==5) &&item.FirstOrderId>0"
color="blue" label="关联拆分订单" style="margin-left:5px;cursor:pointer;">
</q-badge> </q-badge>
<q-popup-proxy> <q-popup-proxy>
<q-banner> <q-banner>
<div style="width: 500px;"> <div style="width: 500px;">
<template v-if="item.SplitDetailsList&&item.SplitDetailsList.length>0"> <template v-if="item.SplitDetailsList&&item.SplitDetailsList.length>0">
<div style="margin-bottom:5px;color:#000;" v-for="(subItem,subIndex) in item.SplitDetailsList" :key="subIndex"> <div style="margin-bottom:5px;color:#000;" v-for="(subItem,subIndex) in item.SplitDetailsList"
从 【{{subItem.S_ClassName}}】({{subItem.S_OrderId}}) {{subItem.T_JoinTypeName}}到【{{subItem.T_ClassName}}】({{subItem.T_OrderId}}) :key="subIndex">
从 【{{subItem.S_ClassName}}】({{subItem.S_OrderId}})
{{subItem.T_JoinTypeName}}到【{{subItem.T_ClassName}}】({{subItem.T_OrderId}})
</div> </div>
</template> </template>
</div> </div>
...@@ -387,7 +390,10 @@ ...@@ -387,7 +390,10 @@
</tr> </tr>
<tr v-for="subItem in item.GuestList"> <tr v-for="subItem in item.GuestList">
<td>{{subItem.GuestName}}</td> <td>{{subItem.GuestName}}</td>
<td>{{subItem.ContractNo}}</td> <td>
<span style="color:var(--q-color-primary);cursor:pointer;"
@click="getShowContract(subItem)">{{subItem.ContractNo}}</span>
</td>
<td>{{subItem.ContractStatusStr}}</td> <td>{{subItem.ContractStatusStr}}</td>
<td> <td>
<template v-if="subItem.ContractId==0"> <template v-if="subItem.ContractId==0">
...@@ -875,6 +881,23 @@ ...@@ -875,6 +881,23 @@
<!--合同信息--> <!--合同信息-->
<eduinfo-form v-if="isShowEduForm" :seting-obj="eduObj" @close="closeEdudia" @success="refreshPage"> <eduinfo-form v-if="isShowEduForm" :seting-obj="eduObj" @close="closeEdudia" @success="refreshPage">
</eduinfo-form> </eduinfo-form>
<div v-if="isShowContract" class="_show_img_box" @click="(isShowContract = false), (imgViewList = [])">
<div style="
position: absolute;
width: 800px;
height: 600px;
left: 50%;
top: 50%;
margin-left: -400px;
margin-top: -300px;
">
<el-carousel :initial-index="initialIndex" height="600px" :interval="5000" trigger="click">
<el-carousel-item style="height: 600px; overflow: auto" v-for="(item, index) in imgViewList" :key="index">
<img :src="item" style="" />
</el-carousel-item>
</el-carousel>
</div>
</div>
</div> </div>
</template> </template>
...@@ -1017,6 +1040,10 @@ ...@@ -1017,6 +1040,10 @@
HelpEnterId: '', HelpEnterId: '',
}, //关联老师参数 }, //关联老师参数
TeacherList: [], //下拉老师 TeacherList: [], //下拉老师
isShowContract: false,
imgViewUrl: '',
imgViewList: [],
initialIndex: 0,
} }
}, },
created() { created() {
...@@ -1060,6 +1087,21 @@ ...@@ -1060,6 +1087,21 @@
}, },
mounted() {}, mounted() {},
methods: { methods: {
//点击合同编号预览
getShowContract(item) {
this.isShowPop=false;
if (item.ContractUrlList.length > 0) {
//预览图片
if (item.ContractType == 2) {
this.isShowContract = true;
this.imgViewUrl = item.ContractUrlList[0];
this.imgViewList = item.ContractUrlList;
}
if(item.ContractType==1){
this.previewPDF(item.ContractUrlList[0]);
}
}
},
//初始化权限信息 //初始化权限信息
initAuth() { initAuth() {
if (this.authObj) { if (this.authObj) {
......
...@@ -315,7 +315,7 @@ ...@@ -315,7 +315,7 @@
</div> </div>
</template> </template>
<div v-if="GetDetail.Is_CanAudit==1 && compType=='shenpi' && !needSign" class="_upload_box" style="margin-bottom:20px;padding-left:75px"> <div v-if="GetDetail.Is_CanAudit==1 && compType=='shenpi' && !needSign" class="_upload_box" style="margin-bottom:20px;padding-left:75px">
<ul class="clearfix"> <ul class="clearfix" style="padding: 0;margin: 0;">
<li v-for="(img,imgIndex) in uploadImgList" :key="imgIndex"> <li v-for="(img,imgIndex) in uploadImgList" :key="imgIndex">
<img :src="img" alt=""> <img :src="img" alt="">
<div class="_delete_img" @click="deleteImg(imgIndex)"> <div class="_delete_img" @click="deleteImg(imgIndex)">
...@@ -406,7 +406,9 @@ ...@@ -406,7 +406,9 @@
import CheckDetails from "./CheckDetails.vue"; import CheckDetails from "./CheckDetails.vue";
import {getAuditChangeLogPageList,setBuyingRequisitionManagers,getEmployeeList,bRAuditOrRefund,getBuyingRequisitionAuditDetail} from "../../../api/administration/AssetsShenpi" import {getAuditChangeLogPageList,setBuyingRequisitionManagers,getEmployeeList,bRAuditOrRefund,getBuyingRequisitionAuditDetail} from "../../../api/administration/AssetsShenpi"
import {url_jump_zc,ViittoFileUrl} from "../../../utils/url" import {url_jump_zc,ViittoFileUrl} from "../../../utils/url"
import {
UploadSelfFile
} from '../../../api/common/common'
export default { export default {
name: 'PurchaseRequisitionDetail', name: 'PurchaseRequisitionDetail',
components: { components: {
...@@ -574,8 +576,13 @@ export default { ...@@ -574,8 +576,13 @@ export default {
var fileName = `${that.uuid(10,10)}.png`; var fileName = `${that.uuid(10,10)}.png`;
var path = `/assets/sign/`; var path = `/assets/sign/`;
newArr.push(this.dataURLtoFile(imgUrl,fileName)) newArr.push(this.dataURLtoFile(imgUrl,fileName))
this.UploadSelfFileT(path, newArr, x => { // this.UploadSelfFileT(path, newArr, x => {
this.addMsg.SignImage=that.domainManager().ViittoFileUrl+x.data.FilePath; // this.addMsg.SignImage=that.domainManager().ViittoFileUrl+x.data.FilePath;
// }, 1);
UploadSelfFile('Temporary', this.dataURLtoFile(imgUrl,fileName), x => {
if(x.Code==1){
this.addMsg.SignImage = x.FileUrl
}
}, 1); }, 1);
this.signState=false; this.signState=false;
...@@ -784,10 +791,12 @@ export default { ...@@ -784,10 +791,12 @@ export default {
newArr.push(file.file) newArr.push(file.file)
let path = "/Upload/Temporary/" let path = "/Upload/Temporary/"
this.$message.info('上传中...') this.$message.info('上传中...')
this.UploadSelfFileT(path, newArr, x => { UploadSelfFile('Temporary', file.file, x => {
let obj = this.domainManager().ViittoFileUrl + x.data.FilePath if(x.Code==1){
this.uploadImgList.push(obj) let obj = x.FileUrl
this.$message.success('上传成功') this.uploadImgList.push(obj)
this.$message.success('上传成功')
}
}, 1); }, 1);
}, },
getDetail(){ getDetail(){
......
<template>
<div>
退学协议管理
</div>
</template>
\ No newline at end of file
<template>
<div>报名合同管理</div>
</template>
\ No newline at end of file
<style>
.TuitractView {
width: 930px;
min-height: 500px;
height: auto;
margin: auto;
padding: 20px 0;
color: #000;
}
.firstPage {
margin: 30px;
}
.operationAgree {
font-size: 40px;
letter-spacing: 10px;
text-align: center;
margin: 20px 0;
}
.operationTitle {
display: flex;
align-items: baseline;
justify-content: center;
position: relative;
}
.TuiContract {
position: absolute;
bottom: 28px;
right: 130px;
}
.Tui_Jiafang{
display:flex;
font-size:20px;
margin-bottom:20px;
}
.Tui_Inner{
text-indent: 40px;
font-size:20px;
line-height: 35px;
margin-bottom:10px;
}
.TuitractInput {
border: 0;
display: inline-block;
border-bottom: 1px solid #c0c0c0;
width: 200px;
font-size: 20px;
text-align: center;
text-indent: 0;
}
.Tui_SignZhang{
display: flex;
font-size:20px;
justify-content: space-between;
margin-bottom:20px;
}
</style>
<template>
<div class="TuitractView">
<div class="firstPage">
<div class="operationTitle">
<div class="operationAgree">培训课程退款协议</div>
<div class="TuiContract">合约编号:123</div>
</div>
<div class="Tui_Jiafang">
<div style="margin-right:100px;">甲方:</div>
<div>(家长/监护人):</div>
</div>
<div class="Tui_Jiafang">
<div style="margin-right:150px;">乙方:</div>
<div>法定代表人:</div>
</div>
<div class="Tui_Inner">
甲乙双方经平等友好协商就 <div class="TuitractInput" style="width: 90px;">1988</div>
<div class="TuitractInput" style="width: 80px;">12</div><div class="TuitractInput" style="width: 80px;">12</div>
签订的《培训课程协议》解除合作关系。
</div>
<div class="Tui_Inner">第一条:原协议内容</div>
<div class="Tui_Inner">
原协议报名人员:<div class="TuitractInput" style="width: 300px;">1988</div>
</div>
<div class="Tui_Inner">
原报名项目:<div class="TuitractInput" style="width: 300px;">1988</div>
</div>
<div class="Tui_Inner">
原报名项目原价:<div class="TuitractInput" style="width: 100px;">1988</div>
折后(优惠)价:<div class="TuitractInput" style="width: 100px;">1988</div>
</div>
<div class="Tui_Inner">
原协议已收学费:<div class="TuitractInput" style="width: 300px;text-align:left;">
大写:
</div>
(¥<div class="TuitractInput" style="width: 100px;">12</div>元整)。
</div>
<div class="Tui_Inner">
原收据编号:<div class="TuitractInput" style="width: 150px;"></div>
</div>
<div class="Tui_Inner">
原收款人:<div class="TuitractInput" style="width: 150px;"></div>
</div>
<div class="Tui_Inner">
第二条:乙方共计课时<div class="TuitractInput" style="width: 80px;"></div>节;已销课时
<div class="TuitractInput" style="width: 80px;"></div>节:剩余课时
<div class="TuitractInput" style="width: 80px;"></div>
</div>
<div class="Tui_Inner">
甲方应退还乙方未上课时费用<div class="TuitractInput" style="width: 200px;">五千六百八十元整</div>
(¥<div class="TuitractInput" style="width: 80px;"></div>元整),原协
议自动终止、收据自动失效。退还帐户名<div class="TuitractInput" style="width: 200px;"></div>,退还帐号:<div class="TuitractInput" style="width: 300px;"></div>
退还学费=乙方已缴总学费-已上课程学费-(乙方已缴学费-已上课程学费)*10%,其中“(乙方已缴课程学费)*10%”为违约金。
</div>
<div class="Tui_Inner">
第三条:乙方应将原协议和收据原件交还甲方,若原件无法交还,请乙方<br/>在此声明:
<div class="TuitractInput" style="width: 300px;"></div>
</div>
<div class="Tui_Inner">
第四条:本协议自签订之日起正式生效。
</div>
<div class="Tui_SignZhang">
<div>甲方(家长/监护人)签字(盖章): </div>
<div>甲方(家长/监护人)签字(盖章): </div>
</div>
<div class="Tui_SignZhang">
<div>签署日期:</div>
<div>签署日期:</div>
</div>
</div>
</div>
</template>
...@@ -383,6 +383,9 @@ export default { ...@@ -383,6 +383,9 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
onItemClick(){
},
//获取校区列表 //获取校区列表
getList() { getList() {
this.loading = true; this.loading = true;
......
This diff is collapsed.
...@@ -669,6 +669,16 @@ const routes = [{ ...@@ -669,6 +669,16 @@ const routes = [{
component: () => component: () =>
import("pages/administration/outWorkApproval.vue") import("pages/administration/outWorkApproval.vue")
}, },
{
path: "/administration/registContractManage", //报名合同管理
component: () =>
import("pages/administration/registContractManage.vue")
},
{
path: "/administration/dropSchoolManage", //退学协议管理
component: () =>
import("pages/administration/dropSchoolManage.vue")
},
{ {
path: "/sale/japaneseTrain", //日语培训列表 path: "/sale/japaneseTrain", //日语培训列表
component: () => component: () =>
...@@ -1140,6 +1150,11 @@ const routes = [{ ...@@ -1140,6 +1150,11 @@ const routes = [{
component: () => component: () =>
import("pages/contractView.vue") import("pages/contractView.vue")
}, },
{
path: "/courseRefund",
component: () =>
import("pages/courseRefund.vue")
},
{ {
path: "/financial/financalDocument/PrintPage", //财务单据打印 path: "/financial/financalDocument/PrintPage", //财务单据打印
component: () => component: () =>
...@@ -1168,6 +1183,16 @@ const routes = [{ ...@@ -1168,6 +1183,16 @@ const routes = [{
title: '资产管理' title: '资产管理'
}, },
}, },
{
path: "/SuppliesStockInShenpi", //耗材入库审核
component: () =>
import("pages/administration/AssetsSystem/SuppliesStockInShenpi")
},
{
path: "/PropertyStockInShenpi", //资产入库审核
component: () =>
import("pages/administration/AssetsSystem/PropertyStockInShenpi")
},
{ {
path: "/course/chapter-editor", //章节管理 path: "/course/chapter-editor", //章节管理
component: () => component: () =>
......
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