Commit 2ba5cdd1 authored by 黄奎's avatar 黄奎

页面修改

parent 8434ec94
...@@ -11,8 +11,10 @@ ...@@ -11,8 +11,10 @@
class="col-6 q-pr-lg q-pb-lg" label="项目名称" :rules="[val => !!val || '项目名称']" /> class="col-6 q-pr-lg q-pb-lg" label="项目名称" :rules="[val => !!val || '项目名称']" />
<q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.SupplierId" ref="Type" <q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.SupplierId" ref="Type"
:options="supplierList" label="供应商" :dense="false" class="col-6 q-pb-lg q-pr-lg" emit-value map-options /> :options="supplierList" label="供应商" :dense="false" class="col-6 q-pb-lg q-pr-lg" emit-value map-options />
<a v-if="objOption.SupplierContract&&isHaveViewContractAction" style="margin-left:10px;color:#2961FE;text-decoration:none;"
:href="objOption.SupplierContract">查看合同</a>
</div> </div>
<div class="row wrap"> <div class="row wrap" style="display:none;">
<div class="col-12"> <div class="col-12">
<div style="display:flex;align-items:center;"> <div style="display:flex;align-items:center;">
<a :href="fileObj.FileUrl" style="margin-right:10px;">{{fileObj.FileName}}</a> <a :href="fileObj.FileUrl" style="margin-right:10px;">{{fileObj.FileName}}</a>
...@@ -20,8 +22,7 @@ ...@@ -20,8 +22,7 @@
:multiple="uploadMultple"> :multiple="uploadMultple">
<q-btn color="accent" size="sm" icon="add" label="上传供应商合同" /> <q-btn color="accent" size="sm" icon="add" label="上传供应商合同" />
</el-upload> </el-upload>
<a v-if="objOption.SupplierContract" style="margin-left:10px;color:#2961FE;text-decoration:none;"
:href="objOption.SupplierContract">查看合同</a>
</div> </div>
</div> </div>
</div> </div>
...@@ -51,6 +52,9 @@ ...@@ -51,6 +52,9 @@
import { import {
UploadSelfFile UploadSelfFile
} from '../../api/common/common' } from '../../api/common/common'
import {
mapState
} from "vuex";
export default { export default {
props: { props: {
saveObj: { saveObj: {
...@@ -83,6 +87,20 @@ ...@@ -83,6 +87,20 @@
} }
} }
}, },
computed: mapState({
//是否有查看合同权限
isHaveViewContractAction(state) {
if (state.user.userInfo.ActionMenuList) {
let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "View_Supplier_Contract") {
return x;
}
});
return action && action.FunctionCode;
}
return false;
}
}),
mounted() { mounted() {
this.getStudyAbroadList(); this.getStudyAbroadList();
this.initObj() this.initObj()
...@@ -122,14 +140,14 @@ ...@@ -122,14 +140,14 @@
}, },
//保存留学就业信息 //保存留学就业信息
saveStudyInfo() { saveStudyInfo() {
if (this.objOption.SupplierContract == '') { // if (this.objOption.SupplierContract == '') {
this.$q.notify({ // this.$q.notify({
type: 'negative', // type: 'negative',
position: "top", // position: "top",
message: `请上传供应商合同!` // message: `请上传供应商合同!`
}) // })
return; // return;
} // }
this.saveLoading = true; this.saveLoading = true;
saveStudyAbroad(this.objOption).then(res => { saveStudyAbroad(this.objOption).then(res => {
this.saveLoading = false this.saveLoading = false
......
...@@ -152,11 +152,13 @@ ...@@ -152,11 +152,13 @@
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-6">
<div>供应商:{{saveObj.SupplierName}} <div>供应商:{{saveObj.SupplierName}}
<a v-if="saveObj.SupplierContract&&saveObj.SupplierContract!=''" :href="saveObj.SupplierContract" <template v-if="isHaveViewContractAction">
style="text-decoration:none;color:#2961fe;" target="_blank"> <a v-if="saveObj.SupplierContract&&saveObj.SupplierContract!=''" :href="saveObj.SupplierContract"
<i class="iconfont icon-view" style="font-size:18px;cursor:pointer;" @click="" title="查看合同"></i> style="text-decoration:none;color:#2961fe;" target="_blank">
</a> <i class="iconfont icon-view" style="font-size:18px;cursor:pointer;" @click="" title="查看合同"></i>
<a v-else style="font-size:12px;color:red;">(未上传合同)</a> </a>
<a v-else style="font-size:12px;color:red;">(未上传合同)</a>
</template>
</div> </div>
</div> </div>
<div class="col-6"> <div class="col-6">
...@@ -272,6 +274,7 @@ ...@@ -272,6 +274,7 @@
</div> </div>
</div> </div>
</div> </div>
<!--部门主管审核--> <!--部门主管审核-->
<template v-if="saveObj.DirectorStatus>0"> <template v-if="saveObj.DirectorStatus>0">
<div style="margin:20px;"> <div style="margin:20px;">
...@@ -318,9 +321,7 @@ ...@@ -318,9 +321,7 @@
</div> </div>
</div> </div>
</div> </div>
</template> <div style="margin:20px;" v-if="AuditType==1">
<template v-else-if="saveObj.DirectorStatus==0&&AuditType==1">
<div style="margin:20px;">
<div class="row" style="margin-bottom:0;"> <div class="row" style="margin-bottom:0;">
<div class="col-12"> <div class="col-12">
<q-radio v-model="directorMsg.DirectorStatus" style="margin-right:20px;" :val="1" size="xs" label="通过" <q-radio v-model="directorMsg.DirectorStatus" style="margin-right:20px;" :val="1" size="xs" label="通过"
...@@ -339,6 +340,8 @@ ...@@ -339,6 +340,8 @@
</div> </div>
</div> </div>
</template> </template>
<!--部门负责人审核--> <!--部门负责人审核-->
<template v-if="saveObj.ManagerStatus>0"> <template v-if="saveObj.ManagerStatus>0">
<div style="margin:20px;"> <div style="margin:20px;">
...@@ -369,7 +372,7 @@ ...@@ -369,7 +372,7 @@
</div> </div>
</div> </div>
</template> </template>
<template v-if="saveObj.ManagerStatus==0"> <template v-if="saveObj.ManagerStatus==0 && saveObj.DirectorStatus>0">
<div style="margin:20px;"> <div style="margin:20px;">
<div class="Study_drawerTop"> <div class="Study_drawerTop">
<div style="display:flex;align-items:center;margin:20px 0"> <div style="display:flex;align-items:center;margin:20px 0">
...@@ -385,9 +388,7 @@ ...@@ -385,9 +388,7 @@
</div> </div>
</div> </div>
</div> </div>
</template> <div style="margin:20px;" v-if="AuditType==2">
<template v-if="saveObj.ManagerStatus==0&&AuditType==2">
<div style="margin:20px;">
<div class="row" style="margin-bottom:0;"> <div class="row" style="margin-bottom:0;">
<div class="col-12"> <div class="col-12">
<q-radio v-model="managerMsg.ManagerStatus" style="margin-right:20px;" :val="1" size="xs" label="通过" <q-radio v-model="managerMsg.ManagerStatus" style="margin-right:20px;" :val="1" size="xs" label="通过"
...@@ -406,6 +407,7 @@ ...@@ -406,6 +407,7 @@
</div> </div>
</div> </div>
</template> </template>
</q-card> </q-card>
<div class="dialog-out-close" @click="closeperForm" <div class="dialog-out-close" @click="closeperForm"
style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;"> style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;">
...@@ -419,6 +421,9 @@ ...@@ -419,6 +421,9 @@
saveDirectorAudit, saveDirectorAudit,
saveManagerAudit saveManagerAudit
} from "../../api/studyabroad/index"; } from "../../api/studyabroad/index";
import {
mapState
} from "vuex";
export default { export default {
meta: { meta: {
title: "留学详情" title: "留学详情"
...@@ -453,6 +458,20 @@ ...@@ -453,6 +458,20 @@
AuditType: 0, //1-部门主管审核,2-部门负责人审核 AuditType: 0, //1-部门主管审核,2-部门负责人审核
} }
}, },
computed: mapState({
//是否有查看合同权限
isHaveViewContractAction(state) {
if (state.user.userInfo.ActionMenuList) {
let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "View_Supplier_Contract") {
return x;
}
});
return action && action.FunctionCode;
}
return false;
}
}),
mounted() { mounted() {
this.msg.Id = this.Id; this.msg.Id = this.Id;
this.directorMsg.Id = this.Id; this.directorMsg.Id = this.Id;
......
...@@ -154,11 +154,13 @@ ...@@ -154,11 +154,13 @@
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-6">
<div>供应商:{{saveObj.SupplierName}} <div>供应商:{{saveObj.SupplierName}}
<a :href="saveObj.SupplierContract" v-if="saveObj.SupplierContract&&saveObj.SupplierContract!=''" <template v-if="isHaveViewContractAction">
style="text-decoration:none;color:#2961fe;" target="_blank"> <a v-if="saveObj.SupplierContract&&saveObj.SupplierContract!=''" :href="saveObj.SupplierContract"
<i class="iconfont icon-view" style="font-size:18px;cursor:pointer;" @click="" title="查看合同"></i> style="text-decoration:none;color:#2961fe;" target="_blank">
</a> <i class="iconfont icon-view" style="font-size:18px;cursor:pointer;" @click="" title="查看合同"></i>
<a v-else style="font-size:12px;color:red;">(未上传合同)</a> </a>
<a v-else style="font-size:12px;color:red;">(未上传合同)</a>
</template>
</div> </div>
</div> </div>
<div class="col-6"> <div class="col-6">
...@@ -339,6 +341,9 @@ ...@@ -339,6 +341,9 @@
import { import {
queryStudyAbroadInfo, queryStudyAbroadInfo,
} from "../../api/studyabroad/index"; } from "../../api/studyabroad/index";
import {
mapState
} from "vuex";
export default { export default {
meta: { meta: {
title: "留学详情" title: "留学详情"
...@@ -359,6 +364,20 @@ ...@@ -359,6 +364,20 @@
} }
} }
}, },
computed: mapState({
//是否有查看合同权限
isHaveViewContractAction(state) {
if (state.user.userInfo.ActionMenuList) {
let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "View_Supplier_Contract") {
return x;
}
});
return action && action.FunctionCode;
}
return false;
}
}),
mounted() { mounted() {
this.msg.Id = this.Id; this.msg.Id = this.Id;
this.initObj(); this.initObj();
......
...@@ -36,6 +36,22 @@ ...@@ -36,6 +36,22 @@
</div> </div>
</template> </template>
</q-input> </q-input>
<div class="row wrap" style="margin-bottom:10px;">
<div class="col-12">
<div style="display:flex;align-items:center;">
<el-upload class="upload-demo" action="" :show-file-list="false" :http-request="UploadAttachment"
:multiple="uploadMultple">
<q-btn color="accent" size="sm" icon="add" label="上传供应商合同" />
</el-upload>
<a v-if="addMsg.ContractUrl" style="margin-left:10px;color:#2961FE;text-decoration:none;"
:href="addMsg.ContractUrl" target="_blank">
<template v-if="fileObj.FileName&&fileObj.FileName!=''">
{{fileObj.FileName}}
</template>
查看合同</a>
</div>
</div>
</div>
<q-input filled stack-label :dense="false" maxlength="200" v-model="addMsg.Remark" type="textarea" <q-input filled stack-label :dense="false" maxlength="200" v-model="addMsg.Remark" type="textarea"
class="col-12" label="备注" /> class="col-12" label="备注" />
</div> </div>
...@@ -55,6 +71,9 @@ ...@@ -55,6 +71,9 @@
querySupplierInfo, querySupplierInfo,
querySupplierType querySupplierType
} from '../../api/studyabroad/index' } from '../../api/studyabroad/index'
import {
UploadSelfFile
} from '../../api/common/common'
export default { export default {
props: { props: {
saveObj: { saveObj: {
...@@ -76,8 +95,14 @@ ...@@ -76,8 +95,14 @@
Remark: "", //备注 Remark: "", //备注
CommissionType: 0, //返佣类型(0-百分比,1-固定金额) CommissionType: 0, //返佣类型(0-百分比,1-固定金额)
CommissionMoney: 0, //返佣值 CommissionMoney: 0, //返佣值
ContractUrl: "", //供应商合同
}, },
supplierTypeList: [], //供应商类型列表 supplierTypeList: [], //供应商类型列表
uploadMultple: true,
fileObj: {
FileName: '',
FileUrl: ''
}
} }
}, },
created() { created() {
...@@ -118,6 +143,7 @@ ...@@ -118,6 +143,7 @@
this.addMsg.Remark = tempObj.Remark; this.addMsg.Remark = tempObj.Remark;
this.addMsg.CommissionType = tempObj.CommissionType; this.addMsg.CommissionType = tempObj.CommissionType;
this.addMsg.CommissionMoney = tempObj.CommissionMoney; this.addMsg.CommissionMoney = tempObj.CommissionMoney;
this.addMsg.ContractUrl = tempObj.ContractUrl;
} }
} }
}) })
...@@ -131,6 +157,7 @@ ...@@ -131,6 +157,7 @@
this.addMsg.Remark = ""; this.addMsg.Remark = "";
this.addMsg.CommissionType = 0; this.addMsg.CommissionType = 0;
this.addMsg.CommissionMoney = 0; this.addMsg.CommissionMoney = 0;
this.addMsg.ContractUrl = "";
} }
}, },
//关闭弹窗 //关闭弹窗
...@@ -156,7 +183,17 @@ ...@@ -156,7 +183,17 @@
this.closeSaveForm(); this.closeSaveForm();
}) })
} }
} },
//上传附件
UploadAttachment(files) {
UploadSelfFile('Attachment', files.file, res => {
if (res.Code == 1) {
this.fileObj.FileName = res.FileName;
this.fileObj.FileUrl = res.FileUrl;
this.addMsg.ContractUrl = res.FileUrl;
}
})
},
} }
} }
......
...@@ -199,13 +199,14 @@ ...@@ -199,13 +199,14 @@
style="color:var(--q-color-negative);font-weight: bold">{{item.SurplusNum}}人</span></div> style="color:var(--q-color-negative);font-weight: bold">{{item.SurplusNum}}人</span></div>
</div> </div>
<div class="d7"> <div class="d7">
<q-btn color="primary" label="立即下单" v-if="item.IsCanApply==1" @click="placeAnorder(item)" /> <q-btn style="width:100%" color="primary" label="立即下单" v-if="item.IsCanApply==1" @click="placeAnorder(item)" />
<div v-if="item.IsCanApply==0"> <div v-if="item.IsCanApply==0">
<img src="../../assets/images/administration/bmym.png" alt="" <img src="../../assets/images/administration/bmym.png" alt=""
style="width: 64px;height: 62px;margin-right: 15px" v-if="item.SurplusNum==0"> style="width: 64px;height: 62px;margin-right: 15px" v-if="item.SurplusNum==0">
<img src="../../assets/images/administration/guoqi.png" alt="" style="width: 64px;height: 62px" <img src="../../assets/images/administration/guoqi.png" alt="" style="width: 64px;height: 62px"
v-if="getEXPDate(item.EndOrderTime)==true"> v-if="getEXPDate(item.EndOrderTime)==true">
</div> </div>
<q-btn style="width:100%;margin-top:10px;" color="primary" label="订单中心" @click="goclassorder(item)" />
</div> </div>
</div> </div>
<div class="d6 row"> <div class="d6 row">
...@@ -332,6 +333,13 @@ ...@@ -332,6 +333,13 @@
this.getList(); this.getList();
}, },
methods: { methods: {
//跳转到班级订单
goclassorder(item) {
var tempStr = '/course/classorder?ClassId=' + item.ClassId;
this.$router.push({
path: tempStr
});
},
//获取校区列表 //获取校区列表
getSchool() { getSchool() {
getSchoolDropdown({}).then(res => { getSchoolDropdown({}).then(res => {
...@@ -608,7 +616,6 @@ ...@@ -608,7 +616,6 @@
.japaneseTrain li .d7 { .japaneseTrain li .d7 {
flex: 1; flex: 1;
width: 1px; width: 1px;
display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center justify-content: center
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<div>{{col.value}}</div> <div>{{col.value}}</div>
<div> <div>
<a :href="props.row.SupplierContract" style="color:#2961FE;text-decoration:none;" <a :href="props.row.SupplierContract" style="color:#2961FE;text-decoration:none;"
v-if="props.row.SupplierContract" target="_blank"> v-if="props.row.SupplierContract && isHaveViewContractAction" target="_blank">
查看合同 查看合同
</a> </a>
</div> </div>
...@@ -181,7 +181,9 @@ ...@@ -181,7 +181,9 @@
} from '../../api/studyabroad/index' } from '../../api/studyabroad/index'
import studyAbroadForm from '../../components/studyAbroad/studyAbroad-form' import studyAbroadForm from '../../components/studyAbroad/studyAbroad-form'
import studyAbroadpriceForm from '../../components/studyAbroad/studyAbroadprice-form' import studyAbroadpriceForm from '../../components/studyAbroad/studyAbroadprice-form'
import {
mapState
} from "vuex";
export default { export default {
meta: { meta: {
title: "就业管理" title: "就业管理"
...@@ -276,6 +278,20 @@ ...@@ -276,6 +278,20 @@
saleDownList: [], //销售状态下拉 saleDownList: [], //销售状态下拉
} }
}, },
computed: mapState({
//是否有查看合同权限
isHaveViewContractAction(state) {
if (state.user.userInfo.ActionMenuList) {
let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "View_Supplier_Contract") {
return x;
}
});
return action && action.FunctionCode;
}
return false;
}
}),
mounted() { mounted() {
this.getList(); this.getList();
}, },
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<div>{{props.row.SupplierName}}</div> <div>{{props.row.SupplierName}}</div>
<div> <div>
<a :href="props.row.SupplierContract" target="_blank" style="color:#2961FE;text-decoration:none;" <a :href="props.row.SupplierContract" target="_blank" style="color:#2961FE;text-decoration:none;"
v-if="props.row.SupplierContract"> v-if="props.row.SupplierContract&&isHaveViewContractAction">
查看合同 查看合同
</a> </a>
</div> </div>
...@@ -137,7 +137,10 @@ ...@@ -137,7 +137,10 @@
} from '../../api/studyabroad/index' } from '../../api/studyabroad/index'
import studyproauditForm from '../../components/studyAbroad/studyproaudit-form' import studyproauditForm from '../../components/studyAbroad/studyproaudit-form'
import studyproauditinfoForm from '../../components/studyAbroad/studyproauditinfo-form' import studyproauditinfoForm from '../../components/studyAbroad/studyproauditinfo-form'
import {
mapState
} from "vuex";
export default { export default {
meta: { meta: {
title: "留学产品审核" title: "留学产品审核"
...@@ -239,6 +242,20 @@ ...@@ -239,6 +242,20 @@
isShowInfo: false isShowInfo: false
} }
}, },
computed: mapState({
//是否有查看合同权限
isHaveViewContractAction(state) {
if (state.user.userInfo.ActionMenuList) {
let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "View_Supplier_Contract") {
return x;
}
});
return action && action.FunctionCode;
}
return false;
}
}),
mounted() { mounted() {
this.getList(); this.getList();
}, },
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<div>{{col.value}}</div> <div>{{col.value}}</div>
<div> <div>
<a :href="props.row.SupplierContract" style="color:#2961FE;text-decoration:none;" <a :href="props.row.SupplierContract" style="color:#2961FE;text-decoration:none;"
v-if="props.row.SupplierContract" target="_blank"> v-if="props.row.SupplierContract&& isHaveViewContractAction" target="_blank">
查看合同 查看合同
</a> </a>
</div> </div>
...@@ -182,7 +182,10 @@ ...@@ -182,7 +182,10 @@
} from '../../api/studyabroad/index' } from '../../api/studyabroad/index'
import studyAbroadForm from '../../components/studyAbroad/studyAbroad-form' import studyAbroadForm from '../../components/studyAbroad/studyAbroad-form'
import studyAbroadpriceForm from '../../components/studyAbroad/studyAbroadprice-form' import studyAbroadpriceForm from '../../components/studyAbroad/studyAbroadprice-form'
import {
mapState
} from "vuex";
export default { export default {
meta: { meta: {
title: "留学产品" title: "留学产品"
...@@ -277,6 +280,20 @@ ...@@ -277,6 +280,20 @@
saleDownList: [], //销售状态下拉 saleDownList: [], //销售状态下拉
} }
}, },
computed: mapState({
//是否有查看合同权限
isHaveViewContractAction(state) {
if (state.user.userInfo.ActionMenuList) {
let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "View_Supplier_Contract") {
return x;
}
});
return action && action.FunctionCode;
}
return false;
}
}),
mounted() { mounted() {
this.getList(); this.getList();
}, },
......
...@@ -23,6 +23,18 @@ ...@@ -23,6 +23,18 @@
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增供应商" @click="EditSupplier(null)" /> <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增供应商" @click="EditSupplier(null)" />
</div> </div>
</template> </template>
<template v-slot:body-cell-Name="props">
<q-td>
<template v-if="props.row.ContractUrl&&props.row.ContractUrl!=''">
<a style="color:#2961FE;text-decoration:none;cursor:pointer" :href="props.row.ContractUrl" target="_blank"
title="点击查看合同">{{props.row.Name}}</a>
</template>
<template v-else>
{{props.row.Name}}
<a style="color:red;text-decoration:none;">(未上传合同)</a>
</template>
</q-td>
</template>
<template v-slot:body-cell-LinkAddress="props"> <template v-slot:body-cell-LinkAddress="props">
<q-td> <q-td>
<div style="width:300px;white-space:normal; word-break:break-all;">{{props.row.LinkAddress}}</div> <div style="width:300px;white-space:normal; word-break:break-all;">{{props.row.LinkAddress}}</div>
......
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