Commit 833d23d4 authored by zhengke's avatar zhengke

修改

parent b1e20128
......@@ -17,62 +17,32 @@
<q-card style="margin-top:61px;width:500px" class="no-border-radius classinfo_Dialog">
<div class="editOrderDrawerTop">
<div style="display:flex;align-items:center;margin-left:10px;">
<span class="drawer_Span">订单</span>
<span class="drawer_Span">转订单</span>
</div>
</div>
<div style="padding:20px 15px;">
<q-input filled stack-label maxlength="100" :dense="false" @keyup.native="checkInteger(OrderMsg,'GuestNum')"
v-model="OrderMsg.GuestNum" @input="changePrice(),countPrice()" class="col-12" label="人数"
:rules="[val => !!val || '请填写人数']" :disable="modityOrderType==2" />
<template v-if="isChaBan==1">
<q-select filled option-value="CourseId" :disable="modityOrderType==2" option-label="CourseName"
:rules="[val => !!val || '请填写人数']" />
<q-select filled v-model="OrderMsg.ClassId" class="q-pb-lg" ref="ClassId"
:options="classList" option-label="ClassName" option-value="ClassId" emit-value map-options
:rules="[val => !!val || '请选择班级']" label="选择班级" @input="getClassList(OrderMsg.ClassId)"/>
<q-select filled option-value="CourseId" option-label="CourseName"
ref="CourseId" v-model="OrderMsg.CourseId" :options="CourseList" emit-value map-options class="q-pb-lg"
:rules="[val => !!val || '请选择课程']" label="选择课程" @input="changePrice" />
<q-input filled stack-label :dense="false" v-model="OrderMsg.StartClassHours" :disable="modityOrderType==2"
@keyup.native="checkInteger(OrderMsg,'StartClassHours')" ref="StartClassHours" @input="countPrice"
class="col-12 q-pb-lg" label="起始课时" />
<q-input filled v-model="OrderMsg.EffectTime" ref="EffectTime" :rules="[val => !!val || '请填生效时间']" class="col-6 q-pb-lg"
:disable="modityOrderType==2" mask="date" label="生效时间">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy1" transition-show="scale" transition-hide="scale">
<q-date v-model="OrderMsg.EffectTime" @input="() => $refs.qDateProxy1.hide()" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
<q-select filled option-value="OrderId" option-label="CourseName" class="q-pb-lg" :disable="modityOrderType==2"
v-model="OrderMsg.UpOrderId" :options="beforeOrderList" emit-value map-options label="前置订单">
<template v-slot:option="{ itemProps, itemEvents, opt, selected, toggleOption }">
<q-item v-bind="itemProps" v-on="itemEvents">
<q-item-section>
<q-item-label><span style="color:blue">{{opt.OrderId}}</span> {{opt.CourseName}} {{opt.ClassName}} {{getStudent(opt.GuestList)}}</q-item-label>
</q-item-section>
</q-item>
</template>
</q-select>
</template>
<template v-if="modityOrderType==1">
<q-input filled stack-label :dense="false" v-model="OrderMsg.Unit_Price"
:disable="IsShowUpPrice==true?false:true" @blur="countPrice" class="col-12" label="成交单价"
:rules="[val => !!val || '请填成交单价']" />
<q-toggle v-model="IsShowUpPrice" label="高于定价收生" class="q-mb-md" />
</template>
<template v-if="modityOrderType==2">
<q-input filled stack-label :dense="false" v-model="OrderMsg.Unit_Price" :disable="true" @input="countPrice"
class="col-12" label="成交单价" :rules="[val => !!val || '请填成交单价']" />
</template>
<template v-if="modityOrderType==3">
<q-input filled stack-label :dense="false" v-model="OrderMsg.Unit_Price" @input="countPrice" class="col-12"
label="成交单价" :rules="[val => !!val || '请填成交单价']" />
</template>
<q-input filled stack-label :disable="modityOrderType!=3" :dense="false" maxlength="10"
<q-input filled stack-label :dense="false" maxlength="10"
@keyup.native="checkPrice(OrderMsg,'PreferPrice')" v-model="OrderMsg.PreferPrice" class="col-12 q-pb-lg"
label="应收" />
<q-select :disable="modityOrderType==2" standout="bg-primary text-white" option-value="Id" option-label="Name"
<q-select standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="OrderMsg.OrderSource" :options="SourceEnumList" emit-value map-options class="q-pb-lg"
label="客人来源" />
<q-select :disable="(modityOrderType==2)" v-model="OrderMsg.HelpEnterId" :options="EmployeeList" filled
<q-select v-model="OrderMsg.HelpEnterId" :options="EmployeeList" filled
use-input label="协助人员" option-label="EmployeeName" option-value="Id" ref="EmployeeName" class="col-6 q-pb-lg"
emit-value map-options @filter="filterFn">
<template v-slot:no-option>
......@@ -83,14 +53,14 @@
</q-item>
</template>
</q-select>
<q-input :disable="(modityOrderType==2)" v-if="OrderMsg.OrderSource==3" filled stack-label :dense="false"
<q-input v-if="OrderMsg.OrderSource==3" filled stack-label :dense="false"
maxlength="50" v-model="OrderMsg.GeneralOccupation" class="col-12 q-pb-lg" label="一般同行" />
<q-input :disable="(modityOrderType==2)" v-if="OrderMsg.OrderSource==7" filled stack-label :dense="false"
<q-input v-if="OrderMsg.OrderSource==7" filled stack-label :dense="false"
maxlength="50" v-model="OrderMsg.EduOccupation" class="col-12 q-pb-lg" label="教育同行" />
<q-toggle :disable="(modityOrderType==2)" v-model="OrderMsg.IsLessPrice" :false-value="0" :true-value="1"
<q-toggle v-model="OrderMsg.IsLessPrice" :false-value="0" :true-value="1"
label="是否少价" class="q-mb-md" />
<q-input :disable="(modityOrderType==2)" v-if="OrderMsg.IsLessPrice==1"
<q-input v-if="OrderMsg.IsLessPrice==1"
@keyup.native="checkPrice(OrderMsg,'LessPrice')" maxlength="10" filled stack-label :dense="false"
v-model="OrderMsg.LessPrice" class="col-12" label="少价金额" />
<q-input filled stack-label :dense="false" v-model="OrderMsg.SaleRemark" style="margin-top: 20px"
......@@ -109,7 +79,6 @@
</template>
<script>
import {
getClassOrderInfo, //获取订单操作日志列表
getOrderSourceEnumList, //获取订单来源 枚举
setClassOrder, //修改订单
queryChaClassInfo,
......@@ -118,6 +87,10 @@
import {
queryEmployee
} from '../../api/users/user'; //获取员工
import {
getClassPage_ck
} from '../../api/school/index';//获取校区列表
import {
mapState
} from "vuex";
......@@ -128,35 +101,23 @@
saveObj: {
type: Object,
default: null,
},
//订单类型
orderType: {
type: Number,
default: 1,
},
//修改订单类型
modityOrderType: {
type: Number,
default: 0, //1-销售修改,2-OP修改,3-总经理修改
},
isChaBan: {
type: Number,
default: 0, //1-是插班报入
}
},
data() {
return {
IsShowEditOrder: true,
classList:[],
OrderMsg: {
VisitorReserveId:0,
ClassId: 0, //班级编号
GuestNum: 0, //人数
GuestNum: 1, //人数
Unit_Price: 0,
PreferPrice: 0,
OrderSource: 0,
SaleRemark: "",
Class_Price: 0,
OrderId: 0,
OrderType: 0, //订单类型(1-班级课程订单,2-留学就业订单)
OrderType: 1, //订单类型(1-班级课程订单,2-留学就业订单)
SourceId: 0, //来源编号
HelpEnterId: 0, //协助人员编号
GeneralOccupation: "", //一般同行
......@@ -181,11 +142,8 @@
}
},
created() {
this.OrderMsg.IsChaBan = this.isChaBan;
this.initConfig();
this.getOrderSEList();
this.getEmployee();
this.getSelectClass();
var localStorageData = window.localStorage["loginUserInfo"];
let ActionMenuList = JSON.parse(localStorageData).data.ActionMenuList
if (ActionMenuList && ActionMenuList.length > 0) {
......@@ -197,32 +155,43 @@
}
},
mounted() {
this.initData()
this.getClass();
},
watch: {
},
methods: {
//获取插班报入配置信息
initConfig() {
//获取课程信息
getClassList(ClassId) {
this.OrderMsg.CourseId='';
this.CourseList = [];
var qMsg = {
ClassId: 0
ClassId: ClassId
};
if (this.saveObj.ClassId) {
qMsg.ClassId = this.saveObj.ClassId;
}
queryChaClassInfo(qMsg).then(res => {
if (res.Code == 1) {
this.CourseList = res.Data.otherCourse;
if (this.saveObj && this.saveObj.OrderId > 0) {} else {
this.OrderMsg.StartClassHours = res.Data.finishHours;
}
if (this.OrderMsg && this.OrderMsg.CourseId) {
this.courseObj = this.CourseList.find(x => x.CourseId == this.OrderMsg.CourseId);
});
},
//获取班级列表
getClass() {
getClassPage_ck({}).then(res => {
if (res.Code == 1) {
let tempArray = res.Data;
if (!tempArray) {
tempArray = [];
}
tempArray.unshift({
ClassId: 0,
ClassName: "不限"
})
this.classList = tempArray;
}
});
})
},
//选择课程切换价格
changePrice() {
let temp = this.CourseList.find(x => x.CourseId == this.OrderMsg.CourseId);
......@@ -265,74 +234,6 @@
}
this.countPrice();
},
initData() {
if (this.saveObj && this.saveObj.OrderId > 0) {
getClassOrderInfo({
OrderId: this.saveObj.OrderId
}).then(res => {
if (res.Code == 1) {
var tempData = res.Data.OrderInfo;
this.OrderMsg.ClassId = tempData.ClassId;
this.OrderMsg.GuestNum = tempData.GuestNum;
this.OrderMsg.Unit_Price = tempData.Unit_Price;
this.OrderMsg.PreferPrice = tempData.PreferPrice;
this.OrderMsg.OrderSource = tempData.OrderSource;
this.OrderMsg.SaleRemark = tempData.SaleRemark;
this.OrderMsg.Class_Price = tempData.Class_Price;
this.OrderMsg.OrderId = tempData.OrderId;
this.OrderMsg.OrderType = tempData.OrderType;
this.OrderMsg.SourceId = tempData.SourceId;
this.OrderMsg.HelpEnterId = tempData.HelpEnterId;
this.OrderMsg.GeneralOccupation = tempData.GeneralOccupation;
this.OrderMsg.EduOccupation = tempData.EduOccupation;
this.OrderMsg.IsLessPrice = tempData.IsLessPrice;
this.OrderMsg.LessPrice = tempData.LessPrice;
this.OrderMsg.OrderNature = tempData.OrderNature;
this.OrderMsg.OldPreferPrice = tempData.OldPreferPrice;
this.OrderMsg.CourseId = tempData.CourseId;
this.OrderMsg.StartClassHours = tempData.StartClassHours;
this.OrderMsg.IsChaBan = tempData.IsChaBan;
this.OrderMsg.EffectTime = tempData.EffectTime;
this.OrderMsg.UpOrderId = tempData.UpOrderId;
this.UnitPrice = this.OrderMsg.Unit_Price;
this.IsShowEditOrder = true;
}
})
} else {
this.OrderMsg.SaleRemark = ''; //清空备注
this.OrderMsg.HelpEnterId = 0;
this.OrderMsg.GeneralOccupation = '';
this.OrderMsg.EduOccupation = '';
this.OrderMsg.IsLessPrice = 0;
this.OrderMsg.LessPrice = 0;
this.OrderMsg.OrderNature = 0;
this.OrderMsg.OldPreferPrice = 0;
this.OrderMsg.GuestNum = 1;
this.OrderMsg.CourseId = '';
this.OrderMsg.StartClassHours = 0;
this.OrderMsg.IsChaBan = this.isChaBan;
this.OrderMsg.EffectTime = "";
this.OrderMsg.UpOrderId = 0;
this.OrderMsg.OrderType = this.orderType;
if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OrderNature = 1;
}
if (this.saveObj) {
if (this.saveObj.ClassId) {
this.OrderMsg.ClassId = this.saveObj.ClassId;
}
if (this.saveObj.Unit_Price) {
this.OrderMsg.Unit_Price = this.saveObj.Unit_Price;
this.UnitPrice = this.saveObj.Unit_Price;
}
if (this.saveObj.SourceId) {
this.OrderMsg.SourceId = this.saveObj.SourceId;
}
}
this.countPrice();
this.IsShowEditOrder = true;
}
},
//筛选员工
filterFn(val, update) {
update(() => {
......@@ -404,25 +305,8 @@
},
//修改订单
saveOrderInfo() {
if (this.isChaBan == 1) {
this.$refs.CourseId.validate();
this.$refs.EffectTime.validate();
if (this.$refs.CourseId.hasError || this.$refs.EffectTime.hasError) {
return;
}
}
//计算应收价格
if (this.OrderMsg.IsChaBan == 1) {
if (this.modityOrderType == 1 || this.modityOrderType == 2) {
var newPreferPrice = (this.UnitPrice / this.courseObj.ClassHours) * (this.courseObj.ClassHours -
this.OrderMsg.StartClassHours) * this.OrderMsg.GuestNum - this.OrderMsg.LessPrice;
this.OrderMsg.PreferPrice = Number(newPreferPrice).toFixed(2);
}
} else {
if (this.modityOrderType == 1 || this.modityOrderType == 2) {
this.OrderMsg.PreferPrice = (this.OrderMsg.GuestNum * this.OrderMsg.Unit_Price) - this.OrderMsg.LessPrice;
}
}
this.OrderMsg.VisitorReserveId = this.saveObj.Id;
setClassOrder(this.OrderMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
......@@ -443,31 +327,6 @@
})
}
}).catch(() => {})
},
//获取前置下拉数据
getSelectClass() {
var qMsg = {
ClassId: 0
};
if (this.saveObj.ClassId) {
qMsg.ClassId = this.saveObj.ClassId;
}
GetSelectClassOrderList(qMsg).then(res => {
if (res.Code == 1) {
this.beforeOrderList = res.Data;
console.log(res, '前置数据');
}
})
},
getStudent(item){
let str = ''
if(item&&item.length>1){
str=item[0].GuestName+'等'+item.length+'人';
}
if(item.length==1){
str=item[0].GuestName;
}
return str
}
}
}
......
......@@ -36,7 +36,7 @@
</template>
</q-table>
<yuekeForm v-if="isShowYue" :ChoiceType="ChoiceType" :save-obj="visitorItem" @close="closeYuekeForm" @success="refreshPage"></yuekeForm>
<exorderForm v-if="isShowExOrder" @close="closeOrderForm" @success="refreshPage"></exorderForm>
<exorderForm v-if="isShowExOrder" :save-obj="orderObj" @close="closeOrderForm" @success="refreshPage"></exorderForm>
</div>
</template>
......@@ -115,7 +115,8 @@
isShowYue:false,
ChoiceType:0,
visitorItem:{},//选中的对象
isShowExOrder:false
isShowExOrder:false,
orderObj:{}
}
},
......@@ -160,7 +161,8 @@
refreshPage() {
this.getList();
},
ExchangeOrder(){
ExchangeOrder(item){
this.orderObj = item;
this.isShowExOrder=true;
}
......
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