Commit 521493f2 authored by 黄奎's avatar 黄奎

页面Title修改

parent 2cce8bdf
......@@ -106,9 +106,6 @@
} from '../../api/scheduling/schedu'
import reserveForm from '../schedul/reserve-form'
export default {
meta: {
title: "班级列表"
},
props: {
data: {
type: Array,
......
......@@ -5,7 +5,6 @@
</div>
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ActivityName"
label="活动名称" @clear="resetSearch" maxlength="20" />
......@@ -20,7 +19,8 @@
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="EmployeeName"
v-model="msg.EduUserId" use-input clearable @filter="filterFn" :options="EmployeeList" emit-value map-options label="业务员">
v-model="msg.EduUserId" use-input clearable @filter="filterFn" :options="EmployeeList" emit-value
map-options label="业务员">
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
......@@ -35,20 +35,18 @@
v-model="msg.EnrollState" :options="EnrollStateOpt" emit-value map-options label="报名状态" />
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="dateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间">
 </el-date-picker>       
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间" />
</template>
</q-field>
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="活动开始时间"  end-placeholder="活动结束时间">
 </el-date-picker>       
 range-separator="至"  start-placeholder="活动开始时间"  end-placeholder="活动结束时间" />
</template>
</q-field>
</div>
......@@ -75,14 +73,6 @@
<span class="stics-name">取消人数</span>
<span>{{data.Statistics.CancelNum}}人</span>
</div>
<!-- <div class="col stics">
<span class="stics-name">提成金额</span>
<span>{{data.Statistics.CommissionMoney}}</span>
</div>
<div class="col stics">
<span class="stics-name">额外奖励</span>
<span>{{data.Statistics.ExtraRewardMoney}}</span>
</div> -->
</div>
<div class="row col" style="justify-content: flex-end">
<div class="row tis">
......@@ -112,21 +102,18 @@
</q-pagination>
</div>
</div>
</div>
</template>
<script>
import {
queryEmployee
} from '../../api/users/user' //获取业务员列表
// import myOrderForm from '../../components/sale/myOrder-form'
import activeOrder from '../../components/sale/activeOrder-item'
export default {
meta: {
title: "我的活动订单"
title: "活动报名统计"
},
components: {
// myOrderForm,
activeOrder
},
data() {
......@@ -148,7 +135,6 @@
EndTime: "", //活动结束时间
EnrollState: 3, //报名状态
LinkMan: "", //联系人
},
EnrollStateOpt: [ //报名状态列表
{
......@@ -169,8 +155,6 @@
//订单状态
OrderStateList: [],
pageCount: 1,
showone: false,
//权限判断
authObj: {
......@@ -188,13 +172,10 @@
this.msg.OrderId = this.$route.query.OrderId;
this.msg.Id = this.$route.query.OrderId;
}
this.getEmployee(0);
this.getList();
},
mounted() {
},
mounted() {},
methods: {
//筛选员工
filterFn(val, update) {
......@@ -223,11 +204,8 @@
this.EmployeeList.unshift(obj)
this.AllemployeeList = JSON.parse(JSON.stringify(this.EmployeeList));
}
}).catch(() => {
})
}).catch(() => {})
},
//翻页
changePage(val) {
if (this.showone == true) {
......@@ -279,7 +257,6 @@
},
}
}
</script>
<style>
li {
......@@ -338,5 +315,4 @@
font-weight: 600;
margin-right: 20px
}
</style>
\ No newline at end of file
......@@ -109,6 +109,7 @@
line-height: 25px;
background-color: #004d40;
}
.activeType .app-image {
background-position: center center;
width: 50px;
......@@ -117,7 +118,8 @@
float: left;
margin-right: 8px;
}
.Sysuser_Date .el-input {
.Sysuser_Date .el-input {
width: 100%;
border: none;
background-color: transparent;
......@@ -135,62 +137,47 @@
}
</style>
<template>
<!-- 销售=》活动列表 -->
<!-- 销售=》活动列表 -->
<div class="page-body activeType">
<div class="page-search row items-center flex">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ActivityName" label="活动名称"
@clear="resetSearch" maxlength="20" />
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ActivityName"
label="活动名称" @clear="resetSearch" maxlength="20" />
</div>
<div class="col-3 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<el-date-picker
v-model="msg.SelectStartTimeStr"
type="date"
placeholder="选择开始日期"
value-format="yyyy-MM-dd"
@change="resetSearch">
</el-date-picker>    
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="msg.SelectStartTimeStr" type="date" placeholder="选择开始日期"
value-format="yyyy-MM-dd" @change="resetSearch">
</el-date-picker>  
</template>
</q-field>
</div>
<div class="col-3 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<el-date-picker
v-model="msg.SelectEndTimeStr"
type="date"
placeholder="选择结束日期"
value-format="yyyy-MM-dd"
@change="resetSearch"
>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="msg.SelectEndTimeStr" type="date" placeholder="选择结束日期" value-format="yyyy-MM-dd"
@change="resetSearch">
</el-date-picker>    
</template>
</q-field>
</div>
<div class="col-3 ">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.SelectIsEnd" class="col-6 q-pr-lg q-pr-lg" :options="statusOpts"
emit-value map-options label="状态" @change="resetSearch"/>
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.SelectIsEnd"
class="col-6 q-pr-lg q-pr-lg" :options="statusOpts" emit-value map-options label="状态"
@change="resetSearch" />
</div>
</div>
<!-- <div class="col row wrap q-mr-lg q-col-gutter-md">
</div>
<div class="col row wrap q-mr-lg q-col-gutter-md">
</div> -->
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table sticky-right-column-table"
separator="none" :data="data" :columns="columns" row-key="name">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-tow-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns"
row-key="name">
<template v-slot:top="props">
<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="editQuotation(null)" /> -->
</div>
</template>
<template v-slot:body-cell-activeName="props">
......@@ -201,7 +188,6 @@
</div>
{{props.row.ActivityName}}
</div>
</q-td>
</template>
<template v-slot:body-cell-ActivityTime="props">
......@@ -222,7 +208,8 @@
<div v-if="props.row.AgeLimit==0">范围:{{props.row.StartAge}}岁~{{props.row.EndAge}}</div>
<div>报名人数</div>
<div v-if="props.row.Distinguish ==1">总人数:{{props.row.ManNum}}</div>
<div v-if="props.row.Distinguish ==0">男性:{{props.row.ManNum}}<span style="margin-left:10px">女性:{{props.row.WoManNum}}</span> </div>
<div v-if="props.row.Distinguish ==0">男性:{{props.row.ManNum}}<span
style="margin-left:10px">女性:{{props.row.WoManNum}}</span> </div>
</div>
</q-td>
</template>
......@@ -231,7 +218,6 @@
<div>
<div v-if="props.row.IsFree==1" style="color:green;">免费</div>
<div v-if="props.row.IsFree==2" style="color:red;">现金价格:{{props.row.Price}}</div>
<!-- <div v-if="props.row.IsFree==2" style="color:red;">现金点数:{{props.row.PointNum}}</div> -->
<div>报名取消确认:{{props.row.IsCancelConfirm==1?'是':'否'}}</div>
<div>内部限制:{{props.row.IsCancelConfirm==1?'是':'否'}}</div>
</div>
......@@ -247,10 +233,9 @@
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<div>
<q-btn size="xs" class="q-mb-xs" v-if="props.row.ActivityStatus!==2"
color="accent" style="font-weight:400;display:block;" label="立即下单" @click='editQuotation(props.row)'/>
<q-btn size="xs"
color="accent" style="font-weight:400" label="订单中心" @click='goUrl(props.row)'/>
<q-btn size="xs" class="q-mb-xs" v-if="props.row.ActivityStatus!==2" color="accent"
style="font-weight:400;display:block;" label="立即下单" @click='editQuotation(props.row)' />
<q-btn size="xs" color="accent" style="font-weight:400" label="订单中心" @click='goUrl(props.row)' />
</div>
</q-td>
</template>
......@@ -263,14 +248,13 @@
<!-- 新增修改活动订单 -->
<ActiveOrderForm v-if="showForm" :save-obj="orderObj" @close="closeruleset" @success="refreshPage">
</ActiveOrderForm>
</div>
</template>
<script>
import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
export default {
meta: {
title: "活动列表"
title: "活动产品"
},
components: {
ActiveOrderForm
......@@ -283,16 +267,15 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
pageIndex: 1,
pageSize: 10,
ActivityName: '',
SelectStartTimeStr:"",
SelectEndTimeStr:"",
SelectIsEnd:-1,
rowsPerPage:10,
Id:0,
SelectStartTimeStr: "",
SelectEndTimeStr: "",
SelectIsEnd: -1,
rowsPerPage: 10,
Id: 0,
},
pageCount: 0,
activityTypeList:[],
statusOpts:[
{
activityTypeList: [],
statusOpts: [{
label: "全部",
value: -1
},
......@@ -315,19 +298,19 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
label: "编号",
field: "Id",
align: "left",
required:true,
required: true,
},
{
name: "activeName",
label: "活动名称",
align: "left",
required:true,
required: true,
},
{
name: "ActivityTypeName",
label: "活动类型",
align: "left",
field:"ActivityTypeName"
field: "ActivityTypeName"
},
{
name: "ActivityTime",
......@@ -347,36 +330,29 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
{
name: "LocationName",
label: "位置",
field:"LocationName",
field: "LocationName",
align: "left",
style:"width:100px"
style: "width:100px"
},
{
name: "activeStutes",
label: "活动状态",
field:"ActivityStatusStr",
field: "ActivityStatusStr",
align: "left"
},
// {
// name: "JoinNum",
// label: "报名人数",
// field:"JoinNum",
// align: "left"
// },
{
name: 'optioned',
label: '操作',
required:true,
required: true,
align: "left"
}
],
showForm:false,
typeObj:{}
showForm: false,
typeObj: {}
}
},
mounted() {
if(this.$route.query && this.$route.query.Id){
if (this.$route.query && this.$route.query.Id) {
this.msg.Id = this.$route.query.Id
}
this.getList();
......@@ -384,28 +360,28 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
},
methods: {
//获取活动类型下拉
getActiveTypeList(){
this.apipostDS("/api/Education/GetCommerceActivityTypeList",{},(res)=>{
if(res.data.resultCode===1){
getActiveTypeList() {
this.apipostDS("/api/Education/GetCommerceActivityTypeList", {}, (res) => {
if (res.data.resultCode === 1) {
this.activityTypeList = res.data.data;
this.activityTypeList.unshift({
Id:-1,
TypeName:"不限"
Id: -1,
TypeName: "不限"
})
}
})
},
getList(){
getList() {
this.loading = true;
this.apipostDS("/api/Education/GetActivityPage",this.msg,(res)=>{
this.apipostDS("/api/Education/GetActivityPage", this.msg, (res) => {
this.loading = false
if(res.data.resultCode===1){
if (res.data.resultCode === 1) {
this.data = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
}
})
},
delActive(item){
delActive(item) {
let that = this;
that.Confirm("是否删除?", function () {
that.apipostDS(
......@@ -432,7 +408,7 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
//显示下单
editQuotation(item) {
this.showForm = true;
this.orderObj=item
this.orderObj = item
},
//重新查询
resetSearch() {
......@@ -452,15 +428,14 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
goUrl(item) {
this.$router.push({
path: "/sale/activeOrderList",
query:{
Id:item.Id,
name:item.ActivityName
query: {
Id: item.Id,
name: item.ActivityName
}
});
},
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
......
......@@ -79,7 +79,7 @@
import customcategorylist from "../../components/sale/customcategorylist"
export default {
meta: {
title: "同行管理"
title: "我的同业"
},
components: {
b2bcustomlist,
......
<style>
.page-content p {
.page-content p {
margin: 0 !important;
}
}
.quetion_Title {
.quetion_Title {
background: transparent !important;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
width: 400px;
}
}
</style>
<template>
<div class="page-body">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select
@input="resetSearch"
filled
v-model="msg.Type"
:options="TypeList"
emit-value
map-options
label="审核状态"
/>
<q-select @input="resetSearch" filled v-model="msg.Type" :options="TypeList" emit-value map-options
label="审核状态" />
</div>
<div class="col-3">
<q-select
@input="resetSearch"
filled
v-model="msg.AuditStatus"
:options="ApproveStateList"
emit-value
map-options
label="审核状态"
/>
<q-select @input="resetSearch" filled v-model="msg.AuditStatus" :options="ApproveStateList" emit-value
map-options label="审核状态" />
</div>
</div>
</div>
<div class="page-content">
<q-table
:loading="loading"
no-data-label="暂无相关数据"
flat
class="sticky-column-table sticky-right-column-table"
separator="none"
:data="dataList"
:columns="columns"
row-key="name"
>
<q-table :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table sticky-right-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:body-cell-CustomerName="props">
<q-td :props="props">
<q-avatar rounded size="sm" v-if="props.row.CustomerImage">
<img :src="props.row.CustomerImage" />
</q-avatar>
<q-avatar
rounded
size="sm"
color="teal-10"
text-color="white"
v-if="!props.row.CustomerImage"
>{{ props.row.CustomerName.substring(0, 1) }}</q-avatar>
<q-avatar rounded size="sm" color="teal-10" text-color="white" v-if="!props.row.CustomerImage">
{{ props.row.CustomerName.substring(0, 1) }}</q-avatar>
{{ props.row.CustomerName }}
</q-td>
</template>
......@@ -87,15 +58,9 @@
</template>
<template v-slot:body-cell-Remark="props">
<q-td :props="props">
<div
v-if="props.row.AuditRemark && props.row.AuditRemark != ''"
>审核备注:{{ props.row.AuditRemark }}</div>
<div
v-if="props.row.RemitRemark && props.row.RemitRemark != ''"
>打款备注:{{ props.row.RemitRemark }}</div>
<div
v-if="props.row.RejectRemark && props.row.RejectRemark != ''"
>拒绝备注:{{ props.row.RejectRemark }}</div>
<div v-if="props.row.AuditRemark && props.row.AuditRemark != ''">审核备注:{{ props.row.AuditRemark }}</div>
<div v-if="props.row.RemitRemark && props.row.RemitRemark != ''">打款备注:{{ props.row.RemitRemark }}</div>
<div v-if="props.row.RejectRemark && props.row.RejectRemark != ''">拒绝备注:{{ props.row.RejectRemark }}</div>
</q-td>
</template>
<template v-slot:body-cell-BankName="props">
......@@ -107,43 +72,19 @@
</q-td>
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props" style="width:100px;" >
<q-btn
v-if="props.row.AuditStatus==1"
flat
size="xs"
icon="edit"
color="done"
style="font-weight:400"
label="审核"
@click="operation(props.row)"
/>
<q-btn
flat
size="xs"
icon="iconfont icon-view"
color="done"
style="font-weight:400"
label="查看详情"
@click="godetails(props.row)"
/>
<q-td :props="props" style="width:100px;">
<q-btn v-if="props.row.AuditStatus==1" flat size="xs" icon="edit" color="done" style="font-weight:400"
label="审核" @click="operation(props.row)" />
<q-btn flat size="xs" icon="iconfont icon-view" color="done" style="font-weight:400" label="查看详情"
@click="godetails(props.row)" />
</q-td>
</template>
<template v-slot:bottom>
<div></div>
</template>
</q-table>
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
</div>
<q-dialog v-model="isShow" persistent>
<q-card style="width: 520px; max-width: 80vw;">
......@@ -154,8 +95,7 @@
<q-card-section class="q-pt-none" style="margin-top: 15px;padding:10px 20px;">
<q-radio v-model="remitMsg.State" val="1" label="审核通过" />
<q-radio v-model="remitMsg.State" val="2" label="审核驳回" />
<q-input filled clearable v-model="remitMsg.Remark" label="备注"
style="margin-top: 20px;" type="textarea"/>
<q-input filled clearable v-model="remitMsg.Remark" label="备注" style="margin-top: 20px;" type="textarea" />
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
......@@ -167,22 +107,21 @@
</div>
</template>
<script>
import {
import {
getCustomerRemitPageList,
setCustomerRemitState
} from '../../api/sale/peemanagement';
} from '../../api/sale/peemanagement';
export default {
export default {
meta: {
title: "同行审批"
title: "提现审核"
},
components: {
},
data() {
return {
pageCount: 0,
isShow:false,
isShow: false,
msg: {
pageIndex: 1,
pageSize: 12,
......@@ -192,7 +131,16 @@ export default {
},
loading: false,
TypeList: [{ label: "全部", value: "0", }, { label: "返佣", value: "1", }, { label: "幸福存折", value: "2", }],
TypeList: [{
label: "全部",
value: "0",
}, {
label: "返佣",
value: "1",
}, {
label: "幸福存折",
value: "2",
}],
//审核状态列表
ApproveStateList: [{
label: "不限",
......@@ -212,8 +160,7 @@ export default {
value: "4",
},
],
columns: [
{
columns: [{
name: 'CustomerName',
label: '客户信息',
field: 'CustomerName',
......@@ -286,14 +233,14 @@ export default {
authObj: {
isShowAudit: true,
},
remitMsg:{
RemitId:0,
State:1,
Remark:'',
remitMsg: {
RemitId: 0,
State: 1,
Remark: '',
}
}
},
created() { },
created() {},
mounted() {
this.getList();
},
......@@ -318,18 +265,18 @@ export default {
this.loading = false
})
},
operation(row,type){
operation(row, type) {
this.remitMsg.RemitId = row.Id;
this.remitMsg.State = '1';
this.remitMsg.Remark = '';
this.isShow = true
},
godetails(row){
godetails(row) {
this.OpenNewUrl('/financial/returnPassbook/returnpassbookStatistics', {
UnionCashOutId: row.Id,
});
},
submit(){
submit() {
setCustomerRemitState(this.remitMsg).then(res => {
this.$q.notify({
icon: 'iconfont icon-chenggong',
......@@ -345,8 +292,8 @@ export default {
})
}
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -5,80 +5,31 @@
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input
@change="resetSearch"
clearable
standout="bg-primary text-white"
v-model="msg.OrderId"
label="订单id"
@clear="resetSearch"
maxlength="30"
/>
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.OrderId" label="订单id"
@clear="resetSearch" maxlength="30" />
</div>
<div class="col-3">
<q-select
@input="resetSearch"
standout="bg-primary text-white"
option-value="Id"
option-label="Name"
v-model="msg.CType"
:options="CTypeList"
emit-value
map-options
label="类型"
/>
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.CType" :options="CTypeList" emit-value map-options label="类型" />
</div>
<div class="col-3">
<q-select
@input="resetSearch"
standout="bg-primary text-white"
v-model="msg.Status"
:options="StatusOpts"
option-value="Id"
option-label="Name"
label="状态"
emit-value
map-options
/>
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.Status" :options="StatusOpts"
option-value="Id" option-label="Name" label="状态" emit-value map-options />
</div>
<div class="col-3">
<q-input
@change="resetSearch"
clearable
standout="bg-primary text-white"
v-model="msg.ContractNo"
label="合同编号"
@clear="resetSearch"
maxlength="30"
/>
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ContractNo"
label="合同编号" @clear="resetSearch" maxlength="30" />
</div>
<div class="col-3">
<q-input
@change="resetSearch"
clearable
standout="bg-primary text-white"
v-model="msg.StudentName"
label="学生姓名"
@clear="resetSearch"
maxlength="30"
/>
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.StudentName"
label="学生姓名" @clear="resetSearch" maxlength="30" />
</div>
</div>
</div>
<div class="page-content">
<q-table
:pagination="msg"
:loading="loading"
no-data-label="暂无相关数据"
flat
class="sticky-column-table"
separator="none"
title="合同信息"
:data="dataList"
:columns="columns"
row-key="name"
>
<template v-slot:top="props">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" title="合同信息" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top>
<div class="col-2 q-table__title">合同信息</div>
<q-space />
<div class="page-option">
......@@ -91,15 +42,8 @@
<q-avatar rounded size="sm" v-if="props.row.CreateByPhoto">
<img :src="props.row.CreateByPhoto" />
</q-avatar>
<q-avatar
rounded
size="sm"
color="teal-10"
text-color="white"
v-if="!props.row.CreateByPhoto"
>
{{ props.value.substring(0, 1) }}</q-avatar
>
<q-avatar rounded size="sm" color="teal-10" text-color="white" v-if="!props.row.CreateByPhoto">
{{ props.value.substring(0, 1) }}</q-avatar>
{{ props.row.CreateByName }}
</q-td>
</template>
......@@ -110,131 +54,57 @@
{{ props.row.StudentName }}
</q-td>
</template>
<template v-slot:body-cell-Status="props">
<q-td auto-width :props="props">
<span v-if="props.row.Status == 0" style="color: #e6a23c"
>草稿</span
>
<span v-if="props.row.Status == 1" style="color: #409eff"
>提交审核</span
>
<span v-if="props.row.Status == 2" style="color: #67c23a"
>审合通过</span
>
<span v-if="props.row.Status == 3" style="color: #f56c6c"
>驳回</span
>
<span v-if="props.row.Status == 4" style="color: #e95252"
>取消</span
>
<span v-if="props.row.Status == 0" style="color: #e6a23c">草稿</span>
<span v-if="props.row.Status == 1" style="color: #409eff">提交审核</span>
<span v-if="props.row.Status == 2" style="color: #67c23a">审合通过</span>
<span v-if="props.row.Status == 3" style="color: #f56c6c">驳回</span>
<span v-if="props.row.Status == 4" style="color: #e95252">取消</span>
</q-td>
</template>
<template v-slot:body-cell-IsCompanySeal="props">
<q-td auto-width :props="props">
<span v-if="props.row.IsCompanySeal == 0" style="color: #e95252"
>未盖章</span
>
<span v-if="props.row.IsCompanySeal == 1" style="color: #67c23a"
>已盖章</span
>
<span v-if="props.row.IsCompanySeal == 0" style="color: #e95252">未盖章</span>
<span v-if="props.row.IsCompanySeal == 1" style="color: #67c23a">已盖章</span>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<div>
<q-btn
flat
size="xs"
v-if="props.row.Status == 0 || props.row.Status == 3"
icon="edit"
color="accent"
style="font-weight: 400"
@click="EditContract(props.row)"
label="编辑"
/>
<el-tooltip
content="复制链接发送给客人签字"
placement="top"
effect="light"
>
<q-btn
flat
size="xs"
v-if="
<q-btn flat size="xs" v-if="props.row.Status == 0 || props.row.Status == 3" icon="edit" color="accent"
style="font-weight: 400" @click="EditContract(props.row)" label="编辑" />
<el-tooltip content="复制链接发送给客人签字" placement="top" effect="light">
<q-btn flat size="xs" v-if="
props.row.Status == 2 &&
(props.row.Sign == '' || props.row.Sign == null)
"
icon="iconfont icon-qianming"
color="accent"
style="font-weight: 400"
@click="CopyUrl(props.row)"
label="获取合同链接"
/>
" icon="iconfont icon-qianming" color="accent" style="font-weight: 400" @click="CopyUrl(props.row)"
label="获取合同链接" />
</el-tooltip>
<q-btn
flat
size="xs"
icon="iconfont icon-View"
color="accent"
@click="goContract(props.row)"
style="font-weight: 400"
label="查看"
/>
<q-btn-dropdown
flat
size="xs"
color="dark"
label="更多"
style="margin-left: 10px"
v-if="
<q-btn flat size="xs" icon="iconfont icon-View" color="accent" @click="goContract(props.row)"
style="font-weight: 400" label="查看" />
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left: 10px" v-if="
props.row.Status == 0 ||
props.row.Status == 2 ||
props.row.Status == 3
"
>
">
<q-list>
<q-item
clickable
v-close-popup
v-if="props.row.Status == 0 || props.row.Status == 3"
@click="operationContract(props.row, 1)"
>
<q-item clickable v-close-popup v-if="props.row.Status == 0 || props.row.Status == 3"
@click="operationContract(props.row, 1)">
<q-item-section>
<q-item-label>提交审核</q-item-label>
</q-item-section>
</q-item>
<!-- <q-item clickable v-close-popup @click="copyContract(props.row)">
<q-item-section>
<q-item-label>复制合同</q-item-label>
</q-item-section>
</q-item> -->
<q-item
clickable
v-close-popup
v-if="props.row.Status == 2"
@click="downloadContract(props.row)"
>
<q-item clickable v-close-popup v-if="props.row.Status == 2" @click="downloadContract(props.row)">
<q-item-section>
<q-item-label>下载</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-if="props.row.Status == 0"
@click="operationContract(props.row, 4)"
>
<q-item clickable v-close-popup v-if="props.row.Status == 0" @click="operationContract(props.row, 4)">
<q-item-section>
<q-item-label>取消</q-item-label>
</q-item-section>
......@@ -246,39 +116,37 @@
</template>
</q-table>
</div>
<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>
</div>
</template>
<script>
import {
import {
GetEducationContractPageCodeList,
GetMyEducationContractPageList,
SetEducationContractAudit,
GetDownLoadEducationContract,
SetEducationContractCopy,
} from "../../api/sale/contract";
} from "../../api/sale/contract";
import { downloadLocalFile } from "../../api/common/common";
import {
downloadLocalFile
} from "../../api/common/common";
import eduinfoForm from "../../components/sale/eduinfo-form";
import { Encrypt } from '../../utils/encrypt'
export default {
import eduinfoForm from "../../components/sale/eduinfo-form";
import {
Encrypt
} from '../../utils/encrypt'
export default {
meta: {
title: "合同管理",
title: "语培合同",
},
components: {
eduinfoForm,
},
data() {
return {
columns: [
{
columns: [{
name: "ContractNo",
label: "合同编号",
align: "left",
......@@ -364,8 +232,7 @@ export default {
pageCount: 0,
dataList: [],
//类型下拉
CTypeList: [
{
CTypeList: [{
Id: 0,
Name: "不限",
},
......@@ -379,8 +246,7 @@ export default {
},
],
//状态下拉
StatusOpts: [
{
StatusOpts: [{
Id: -1,
Name: "不限",
},
......@@ -414,9 +280,9 @@ export default {
};
},
created() {
if(this.$route.query.no){
let no=decodeURIComponent(this.$route.query.no);
this.msg.ContractNo=no
if (this.$route.query.no) {
let no = decodeURIComponent(this.$route.query.no);
this.msg.ContractNo = no
}
},
mounted() {
......@@ -514,14 +380,14 @@ export default {
});
},
//下载合同样本
downloadYb(){
downloadYb() {
let msg = {
ContractId: 7,
CType: 1
};
GetDownLoadEducationContract(msg).then((res) => {
if (res.Code == 1) {
let sign = "吴春"+ '-' + 'JH-DZ-CD-0025'
let sign = "吴春" + '-' + 'JH-DZ-CD-0025'
downloadLocalFile(sign, res.Data);
}
});
......@@ -539,7 +405,7 @@ export default {
});
},
//复制合同样本链接
CopyYB(){
CopyYB() {
var oInput = document.createElement("input");
var url = window.location.host;
oInput.value = url + "/#/contractConfirm";
......@@ -554,7 +420,7 @@ export default {
CopyUrl(item) {
var oInput = document.createElement("input");
var url = window.location.host;
let str=Encrypt(item.Id.toString())
let str = Encrypt(item.Id.toString())
oInput.value = url + "/#/contractConfirm" + `?a=${encodeURIComponent(str)}`;
document.body.appendChild(oInput);
oInput.select(); // 选择对象
......@@ -564,8 +430,8 @@ export default {
this.Info("复制成功!");
},
},
};
};
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -35,7 +35,7 @@
import courserefundForm from "../../components/course/courserefund-form"
export default {
meta: {
title: "退课协议管理",
title: "语培退学合同",
},
components: {
courserefundForm
......
......@@ -136,7 +136,6 @@
<!-- <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="创建报价单" @click="createQuotation" /> -->
</div>
</template>
<template v-slot:body="props">
<q-tr :props="props">
<q-td auto-width>
......@@ -305,10 +304,9 @@
} from "../../api/course/index";
import quotationForm from '../../components/sale/quotation-form'
import { mapState } from "vuex";
export default {
meta: {
title: "课程预览"
title: "课程报价表"
},
components: {
quotationForm
......@@ -383,7 +381,6 @@
field: row => row.PreferentialList
},
// 12月15号新增参数
{
name: "B2CRatio",
label: "直客优惠比例",
......@@ -583,5 +580,4 @@
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -72,8 +72,8 @@
</div>
<template v-if="morequery">
<div class="col-3">
<q-select @input="resetSearch" dense filled v-model="msg.StuStage" :options="customState" option-label="Name"
option-value="Id" emit-value map-options label="客户状态" clearable />
<q-select @input="resetSearch" dense filled v-model="msg.StuStage" :options="customState"
option-label="Name" option-value="Id" emit-value map-options label="客户状态" clearable />
</div>
<div class="col-3">
<q-select @input="resetSearch" dense filled option-value="Id" option-label="EmployeeName"
......@@ -186,7 +186,7 @@
export default {
meta: {
title: "客咨询"
title: "客咨询"
},
props: {},
components: {
......
......@@ -328,7 +328,7 @@
export default {
meta: {
title: "日语培训"
title: "语培产品"
},
components: {
editorderForm
......
......@@ -132,7 +132,7 @@
import orderlist from '../../components/sale/orderlist'
export default {
meta: {
title: "我的订单"
title: "我的语培订单"
},
components: {
myOrderForm,
......
......@@ -121,7 +121,7 @@
} from "vuex";
export default {
meta: {
title: "客户管理"
title: "我的学员"
},
components: {
stulist
......
......@@ -10,8 +10,8 @@
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<div class="col-4 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="msg.StartClassDate" value-format="yyyy-MM-dd" type="date" placeholder="开始时间"
size="small" style="width:47%;" @change="resetSearch" clear-icon="iconfont icon-guanbi">
</el-date-picker>
......@@ -32,17 +32,16 @@
class="col-6 q-pb-lg" emit-value map-options />
</div>
<div class="col-3">
<q-input @input="resetSearch" clearable filled v-model="msg.LessonName"
label="试听课程名称" @clear="resetSearch" maxlength="20" />
<q-input @input="resetSearch" clearable filled v-model="msg.LessonName" label="试听课程名称" @clear="resetSearch"
maxlength="20" />
</div>
</div>
</div>
<reservelist :data="dataList" :authObj="authObj" :loading="loading" @success="refreshPage"></reservelist>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="PageCount"
:input="true" @input="changePage" />
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="PageCount" :input="true"
@input="changePage" />
</div>
</template>
<script>
import {
GetReserveClassPage
......@@ -51,12 +50,10 @@
getTeacherDropDownList,
queryClassRoomList
} from "../../api/school/index";
import reservelist from '../../components/schedul/reservelist'
export default {
meta: {
title: "试听管理"
title: "试听班级管理"
},
components: {
reservelist
......@@ -71,16 +68,15 @@
EndClassDate: "", //结束时间
TeacherId: "", //教师编号
ClassRoomId: "", //教室编号
LessonName:'' //课程名称
LessonName: '' //课程名称
},
dataList: [],
loading: false,
PageCount: 0,
TeacherList: [],
ClassRoomList: [],
authObj: {
isShowEdit:true
isShowEdit: true
}
}
},
......@@ -107,9 +103,9 @@
},
//获取课程系列分页列表
getList() {
this.loading=true;
this.loading = true;
GetReserveClassPage(this.msg).then(res => {
this.loading=false;
this.loading = false;
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.PageCount = res.Data.PageCount;
......
......@@ -108,7 +108,7 @@
import orderlist from '../../components/sale/orderlist'
export default {
meta: {
title: "我的订单"
title: "我的留学就业订单"
},
components: {
myOrderForm,
......
......@@ -198,7 +198,7 @@
export default {
meta: {
title: "留学产品审核"
title: "留学就业产品"
},
components: {
quotationstudyForm,
......
......@@ -41,11 +41,13 @@
</el-select>
</div>
<div class="col-2 yuyuezhuangtai" style="width: 10%" v-if="msg.ClassType==3">
<el-select v-model="msg.AppointState" style="width: 100%;" placeholder="预约状态" size="small" @change="getTypeWay()">
<el-select v-model="msg.AppointState" style="width: 100%;" placeholder="预约状态" size="small"
@change="getTypeWay()">
<el-option :key="0" label="不限" :value="0"> </el-option>
<el-option :key="0" label="待确认" :value="1"> </el-option>
<el-option :key="1" label="已确认" :value="2"> </el-option>
<div slot="prefix" class="full-height flex items-center" style="color: #000;margin-right:61px; white-space:nowrap;">
<div slot="prefix" class="full-height flex items-center"
style="color: #000;margin-right:61px; white-space:nowrap;">
预约状态:
</div>
</el-select>
......@@ -82,7 +84,7 @@
export default {
meta: {
title: "教师课表",
title: "上课计划",
},
components: {
classmateForm,
......@@ -106,7 +108,7 @@
TeacherId: 0,
ClassRoomId: 0,
ClassType: 0,
AppointState:0,
AppointState: 0,
},
commonType: 1, //1日历模式 2列表模式
typeName: "列表模式",
......@@ -142,7 +144,7 @@
}
},
},
loading:false,
loading: false,
};
},
created() {
......@@ -231,9 +233,9 @@
this.tabMsg.EndTime = this.msg.EndTime;
this.tabMsg.ClassRoomId = this.msg.ClassRoomId;
this.tabMsg.ClassType = this.msg.ClassType;
this.loading=true;
this.loading = true;
GetClassPlanStatisticalPage(this.tabMsg).then((res) => {
this.loading=false;
this.loading = false;
if (res.Code == 1) {
this.tableData = res.Data.PageData;
this.PageCount = res.Data.PageCount;
......@@ -258,6 +260,7 @@
.xg .el-input--prefix .el-input__inner {
padding-left: 50px;
}
.yuyuezhuangtai .el-input--prefix .el-input__inner {
padding-left: 60px;
}
......
......@@ -64,7 +64,7 @@
import changeClassForm from "../../components/teacher/changeClassForm.vue";
export default {
meta: {
title: "我的课表",
title: "上课记录",
},
components: {
classmateForm,
......
......@@ -4,6 +4,7 @@
border: none;
background-color: transparent;
}
.studentManage .el-input__inner {
width: 100%;
border: none;
......@@ -36,10 +37,9 @@
option-label="ClassName" v-model="msg.ClassId" :options="ClassList" emit-value map-options label="班级"
use-input @filter="filterClass" />
</div>
<div class="col-3 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="msg.StartDate" type="date" placeholder="开始日期" value-format="yyyy-MM-dd"
:picker-options="option" :clearable='false' @change="resetSearch">
</el-date-picker>    
......@@ -60,8 +60,8 @@
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-tow-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns"
row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">学员管理</div>
<template v-slot:top>
<div class="col-2 q-table__title">学员出勤管理</div>
<q-space />
<div class="page-option">
<q-btn color="accent" size="sm" class="q-mr-md" label="导出" @click="getexport()" />
......@@ -69,7 +69,7 @@
</template>
<template v-slot:body-cell-GuestName="props">
<q-td :props="props" style="padding-right:0px">
<div v-for="x in props.row.GuestList">
<div v-for="(x,index) in props.row.GuestList" :key="index">
<div class="border-bottom">
{{ x.GuestName }}
</div>
......@@ -81,7 +81,7 @@
</template>
<template v-slot:body-cell-CurrentDeductionHours="props">
<q-td :props="props">
<div v-for="x in props.row.GuestList">
<div v-for="(x,index) in props.row.GuestList" :key="index">
<div class="border-bottom">
{{ x.CurrentDeductionHours }}
</div>
......@@ -93,7 +93,7 @@
</template>
<template v-slot:body-cell-CheckStatus="props">
<q-td :props="props">
<div v-for="x in props.row.GuestList">
<div v-for="(x,index) in props.row.GuestList" :key="index">
<div class="border-bottom">
<span v-if="x.CheckStatus == 0">正常</span>
<span v-if="x.CheckStatus == 1">缺席</span>
......@@ -111,7 +111,7 @@
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<div v-for="x in props.row.GuestList">
<div v-for="(x,index) in props.row.GuestList" :key="index">
<div class="border-bottom">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="EditCourse(x,props.row)" />
......@@ -143,7 +143,6 @@
</template>
<script>
import {
addClassCheck
} from '../../api/course/class';
import {
......@@ -167,15 +166,14 @@
} from '../../api/common/common';
export default {
meta: {
title: "学员管理"
title: "学员出勤管理"
},
components: {
selectTree,
},
data() {
return {
columns: [
{
columns: [{
name: "ClassName",
required: true,
label: "班级",
......@@ -456,7 +454,6 @@
},
}
};
</script>
<style scoped>
.border-bottom {
......@@ -464,9 +461,7 @@
padding-bottom: 5px;
margin-bottom: 5px;
}
</style>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -12,8 +12,8 @@
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-column-table sticky-right-column-table" separator="none" :data="dataList" :columns="columns"
row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">客户名单</div>
<template v-slot:top>
<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="editVisitor(null)" />
......@@ -121,7 +121,7 @@
import appointForm from '../../components/schedul/appoint-form'
export default {
meta: {
title: "客户名单"
title: "访客管理"
},
components: {
schedulFanke,
......@@ -147,12 +147,6 @@
field: 'Name',
align: 'left'
},
// {
// name: 'Age',
// field: 'Age',
// label: '年龄',
// align: 'left',
// },
{
name: 'Tel',
field: 'Tel',
......@@ -289,14 +283,14 @@
//关闭访客弹窗
closeVisitorForm() {
this.isShowVisitor = false;
this.isShowVisitorCreate=false;
this.isShowVisitorCreate = false;
this.isShowDetail = false;
},
//刷新页面
refreshPage() {
this.isShowVisitor = false;
this.isShowDetail = false;
this.isShowVisitorCreate=false;
this.isShowVisitorCreate = false;
this.getList();
},
//打开约课
......@@ -309,7 +303,6 @@
}
}
}
</script>
<style scoped>
.border-bottom {
......@@ -317,9 +310,7 @@
padding-bottom: 5px;
margin-bottom: 5px;
}
</style>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -54,7 +54,7 @@
import typeForm from '../../../components/system/type-form'
export default {
meta: {
title: "客户阶段管理"
title: "留学产品分类"
},
components: {
typeForm
......
......@@ -3,8 +3,8 @@
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @input="resetSearch" clearable filled v-model="msg.Name" label="项目名称"
@clear="resetSearch" maxlength="20" />
<q-input @input="resetSearch" clearable filled v-model="msg.Name" label="项目名称" @clear="resetSearch"
maxlength="20" />
</div>
<div class="col-3">
<q-select class="q-pb-lg q-pr-lg" filled stack-label clearable option-value="Id" option-label="Name"
......@@ -41,10 +41,6 @@
<q-btn size="sm" color="accent" round dense @click="props.row.expand = !props.row.expand"
:icon="props.row.expand ? 'remove' : 'add'" />
</q-td>
<!-- <q-td key="ProductTypeName" :props="props" style="width:100px;">
{{props.row.ProductTypeName}}
</q-td> -->
<q-td key="Name" :props="props" style="width:100px;">
{{props.row.Name}}
</q-td>
......@@ -66,9 +62,6 @@
</a>
</div>
</q-td>
<!-- <q-td key="StudyCountryName" :props="props">
{{props.row.StudyCountryName}}
</q-td> -->
<q-td key="SchoolName" :props="props">
{{props.row.SchoolName}}
</q-td>
......@@ -290,7 +283,6 @@
queryCountryList
} from '../../api/common/common'
import studyAbroadForm from '../../components/studyAbroad/studyAbroad-form'
// import studyAbroadpriceForm from '../../components/studyAbroad/studyAbroadprice-form'
import studyAbroadpriceForm from '../../components/studyAbroad/newstudyAbroadprice-form'
import studyproauditinfoForm from '../../components/studyAbroad/studyproauditinfo-form'
import {
......@@ -298,7 +290,7 @@
} from "vuex";
export default {
meta: {
title: "就业管理"
title: "就业产品"
},
components: {
studyAbroadForm,
......@@ -326,12 +318,6 @@
field: 'Remark',
align: 'left'
},
// {
// name: 'ProductTypeName',
// label: '类型',
// field: 'ProductTypeName',
// align: 'left'
// },
{
name: 'Name',
label: '项目名称',
......
......@@ -9,6 +9,9 @@
<script>
import type from "../studyAbroad/common/type";
export default {
meta: {
title: "留学产品分类"
},
components: {
type
},
......
<template>
<div class="page-body">
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-column-table" separator="none" :data="dataList" :columns="columns"
row-key="name">
<template v-slot:top="props">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top>
<div class="col-2 q-table__title">客户需求</div>
<q-space />
<div class="page-option">
......@@ -31,7 +30,6 @@
</customneed-form>
</div>
</template>
<script>
import {
GetNeedsPage,
......@@ -40,7 +38,7 @@
import customneedForm from '../../components/system/customneed-form'
export default {
meta: {
title: "客户需求"
title: "客户需求管理"
},
components: {
customneedForm
......@@ -52,35 +50,34 @@
label: 'Id',
field: row => row.Id,
align: 'left'
},{
}, {
name: 'Name',
label: '需求',
field: 'Name',
align: 'left'
},{
}, {
name: 'CreateByName',
label: '创建人',
align: 'left',
field: 'CreateByName'
},{
}, {
name: 'CreateTime',
label: '创建时间',
align: 'left',
field: 'CreateTime'
},{
}, {
name: 'Group_Id',
label: '操作',
field: 'Group_Id'
}
],
msg:{
pageIndex:1,
pageSize:12,
Name:"",
}],
msg: {
pageIndex: 1,
pageSize: 12,
Name: "",
rowsPerPage: 12
},
dataList: [],
pageCount:0,
pageCount: 0,
loading: true,
isShowNeedForm: false,
customObj: {}
......@@ -127,7 +124,7 @@
this.loading = true;
GetNeedsPage(this.msg).then(res => {
this.loading = false;
if(res.Code==1){
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.pageCount = res.Data.PageCount;
}
......@@ -136,10 +133,10 @@
closestageForm() {
this.isShowNeedForm = false
},
refreshPage(){
refreshPage() {
this.getList();
},
addObj(obj){
addObj(obj) {
if (obj) {
this.customObj = obj
} else {
......@@ -149,10 +146,7 @@
}
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -4,7 +4,7 @@
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-column-table no-bottom-table" separator="none" :data="dataList" :columns="columns"
row-key="name">
<template v-slot:top="props">
<template v-slot:top>
<div class="col-2 q-table__title">客户阶段</div>
<q-space />
<div class="page-option">
......@@ -27,7 +27,6 @@
</stage-form>
</div>
</template>
<script>
import {
GetStageList,
......
......@@ -8,23 +8,12 @@
</div>
<div class="q-mb-md row">
<div class="col">
<q-btn
outline
color="primary"
class="q-px-lg"
@click="outerVisible = true"
>选择部门/成员</q-btn
>
<q-btn outline color="primary" class="q-px-lg" @click="outerVisible = true">选择部门/成员</q-btn>
</div>
<div class="col">已选择:{{ chosenUser.length }}</div>
</div>
<div class="q-mb-xl">
<q-badge
color="primary"
class="q-mr-md"
v-for="(x, i) in chosenUser"
:key="i"
>
<q-badge color="primary" class="q-mr-md" v-for="(x, i) in chosenUser" :key="i">
{{ x.DeptName }}
</q-badge>
</div>
......@@ -36,31 +25,28 @@
<q-radio v-model="ruleType" val="1" label="随机分配" />
</div>
</div>
<q-btn
class="q-mt-xl q-px-lg"
unelevated
color="primary"
:loading="saving"
@click="saveHandler"
>立即保存</q-btn
>
<q-btn class="q-mt-xl q-px-lg" unelevated color="primary" :loading="saving" @click="saveHandler">立即保存</q-btn>
</q-card>
<choiceapproval
v-if="outerVisible"
@close="getclose()"
@success="getsuccess2"
:byval="chosenUser"
cptype="0"
></choiceapproval>
<choiceapproval v-if="outerVisible" @close="getclose()" @success="getsuccess2" :byval="chosenUser" cptype="0">
</choiceapproval>
</div>
</template>
<script>
import choiceapproval from "../../components/enterprise/choiceapproval";
import { getDictValueList } from "../../api/administration/administration";
import { saveDict } from "../../api/system/notiveSysSet";
export default {
components: { choiceapproval },
import choiceapproval from "../../components/enterprise/choiceapproval";
import {
getDictValueList
} from "../../api/administration/administration";
import {
saveDict
} from "../../api/system/notiveSysSet";
export default {
meta: {
title: "语培客户分配规则"
},
components: {
choiceapproval
},
data() {
return {
chosenUser: [],
......@@ -86,7 +72,9 @@ export default {
this.outerVisible = false;
},
init() {
getDictValueList({ Key: "PUSH_STU_UNION_EMP" }).then(res => {
getDictValueList({
Key: "PUSH_STU_UNION_EMP"
}).then(res => {
if (res.Code == 1) {
this.dictObjEmp = res.Data[0];
if (res.Data[0].Content != "" && res.Data[0].Content != null) {
......@@ -100,7 +88,9 @@ export default {
this.chosenUser.push(temp);
});
}
getDictValueList({ Key: "PUSH_STU_RULETYPE" }).then(r => {
getDictValueList({
Key: "PUSH_STU_RULETYPE"
}).then(r => {
this.dictObjRule = r.Data[0];
if (r.Code == 1) {
if (r.Data[0].Content != "" && res.Data[0].Content != null) {
......@@ -156,7 +146,7 @@ export default {
}
}
}
};
};
</script>
<style></style>
\ No newline at end of file
......@@ -35,7 +35,6 @@
</flow-form>
</div>
</template>
<script>
import {
GetStudentAdvisorConfigPage,
......@@ -44,7 +43,7 @@
import flowForm from '../../components/system/flow-form'
export default {
meta: {
title: "客户阶段管理"
title: "跟进状态管理"
},
components: {
flowForm
......@@ -83,7 +82,8 @@
name: 'Id',
label: '操作',
field: 'Id'
}],
}
],
dataList: [],
loading: true,
isShowFlowForm: false,
......
<template>
<div class="page-body">
<q-tabs
v-model="tabCheck"
narrow-indicator
dense
align="left"
class="text-primary q-mb-sm"
>
<q-tabs v-model="tabCheck" narrow-indicator dense align="left" class="text-primary q-mb-sm">
<q-tab :ripple="false" :name="1" label="客户阶段" />
<q-tab :ripple="false" :name="2" label="客户类型" />
<q-tab :ripple="false" :name="3" label="学习目的" />
......@@ -29,16 +23,19 @@
</div>
</template>
<script>
import stage from "./stage";
import cusType from "./customType";
import aim from "./studyAim";
import channel from "./stuReceiveChannel";
import customneed from "./customneed";
import stuDistributionRule from "./stuDistributionRule";
import stuTarget from "./stuTarget";
import stuFlow from "./stuFlow";
import stuAbroad from "./stuAbroad";
export default {
import stage from "./stage";
import cusType from "./customType";
import aim from "./studyAim";
import channel from "./stuReceiveChannel";
import customneed from "./customneed";
import stuDistributionRule from "./stuDistributionRule";
import stuTarget from "./stuTarget";
import stuFlow from "./stuFlow";
import stuAbroad from "./stuAbroad";
export default {
meta: {
title: "留学客户分配规则"
},
components: {
stage,
cusType,
......@@ -55,5 +52,5 @@ export default {
tabCheck: 1
};
}
};
};
</script>
\ No newline at end of file
......@@ -5,7 +5,7 @@
</div>
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top="props">
<template v-slot:top>
<div class="col-2 q-table__title">收客渠道</div>
<q-space />
<div class="page-option">
......@@ -14,7 +14,8 @@
</template>
<template v-slot:body-cell-StaticTypeList="props">
<q-td :props="props">
<q-chip v-for="(item,index) in props.row.StaticTypeList" color="primary" text-color="white" size="sm" :key="index">
<q-chip v-for="(item,index) in props.row.StaticTypeList" color="primary" text-color="white" size="sm"
:key="index">
<span v-if="item==1">普通员工统计</span>
<span v-if="item==2">主管统计</span>
</q-chip>
......@@ -46,6 +47,9 @@
} from "../../api/system/index";
import stuReceiveChannelForm from "../../components/system/stuReceiveChannel-form";
export default {
meta: {
title: "收客渠道管理"
},
components: {
stuReceiveChannelForm
},
......@@ -156,5 +160,4 @@
this.getList();
}
};
</script>
\ No newline at end of file
<template>
<div>
<div class="row q-my-sm">
<q-input filled v-model="msg.Name" dense label="学习目的" class="col-3" @input="refreshPage"/>
<q-input filled v-model="msg.Name" dense label="学习目的" class="col-3" @input="refreshPage" />
</div>
<q-table
:pagination="msg"
:loading="loading"
no-data-label="暂无相关数据"
flat
class="sticky-column-table"
separator="none"
:data="dataList"
:columns="columns"
row-key="name"
>
<template v-slot:top="props">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top>
<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="showForm(null)"
/>
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增" @click="showForm(null)" />
</div>
</template>
<template v-slot:body-cell-Group_Id="props">
<q-td :props="props">
<div>
<q-btn
flat
size="xs"
icon="edit"
color="accent"
style="font-weight:400"
label="编辑"
@click="showForm(props.row)"
/>
<q-btn
flat
size="xs"
icon="delete"
color="negative"
class="q-mr-xs"
label="删除"
@click="del(props.row.Id)"
/>
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="showForm(props.row)" />
<q-btn flat size="xs" icon="delete" color="negative" class="q-mr-xs" label="删除"
@click="del(props.row.Id)" />
</div>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
:max="pageCount"
input
color="primary"
@input="changePage"
/>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" :max="pageCount" input color="primary"
@input="changePage" />
</template>
</q-table>
<studyAimForm
v-if="showStudyAimForm"
@success="refreshPage"
@close="closeForm"
:row="row"
></studyAimForm>
<studyAimForm v-if="showStudyAimForm" @success="refreshPage" @close="closeForm" :row="row"></studyAimForm>
</div>
</template>
<script>
import {
import {
GetLearningGoalsPage,
RemoveLearningGoals
} from "../../api/system/index";
import studyAimForm from "../../components/system/studyAim-form";
export default {
} from "../../api/system/index";
import studyAimForm from "../../components/system/studyAim-form";
export default {
meta: {
title: "学习目的管理"
},
components: {
studyAimForm
},
data() {
return {
showStudyAimForm: false,
columns: [
{
columns: [{
name: "Id",
label: "Id",
field: "Id",
......@@ -183,5 +144,5 @@ export default {
created() {
this.getList();
}
};
};
</script>
\ No newline at end of file
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