Commit 84756243 authored by zhengke's avatar zhengke

1

parent 71aa2c01
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
<div class="info_item"> <div class="info_item">
<div class="item_label">创建人</div> <div class="item_label">创建人</div>
<div class="item_value"> <div class="item_value">
<q-select filled v-model="customObj.CreateBy" :options="employeeList" option-label="EmployeeName" <q-select filled v-model="customObj.CreateBy" @filter="filterEmployee" use-input :options="myEmployeeList" option-label="EmployeeName"
option-value="Id" emit-value map-options /> option-value="Id" emit-value map-options />
</div> </div>
</div> </div>
...@@ -215,6 +215,7 @@ ...@@ -215,6 +215,7 @@
goalsList: [], goalsList: [],
//员工列表 //员工列表
employeeList: [], employeeList: [],
myEmployeeList: []
} }
}, },
created() { created() {
...@@ -251,8 +252,17 @@ ...@@ -251,8 +252,17 @@
IsLeave: 1 IsLeave: 1
}).then(res => { }).then(res => {
this.employeeList = res.Data; this.employeeList = res.Data;
this.myEmployeeList = res.Data;
}) })
}, },
//筛选员工
filterEmployee(val, update, abort){
update(() => {
this.myEmployeeList = this.employeeList.filter(
v => v.EmployeeName.indexOf(val) > -1
);
});
},
//获取日语基础列表 //获取日语基础列表
getBasicList() { getBasicList() {
getGuestBasicsEnumList({}).then(res => { getGuestBasicsEnumList({}).then(res => {
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<template> <template>
<div> <div>
<q-btn label="新增" color="accent q-mb-lg" size="sm" @click="isShowAdd=true" /> <q-btn label="新增" color="accent q-mb-lg" size="sm" @click="isShowAdd=true" />
<q-btn label="取消" style="margin-left:20px;" v-if="isShowAdd" flat color="grey-10 q-mb-lg" size="sm" @click="isShowAdd=false" />
<template v-if="isShowAdd"> <template v-if="isShowAdd">
<div class="row wrap"> <div class="row wrap">
<q-select filled option-value="SId" class="col-6 q-pb-lg q-pr-lg" option-label="SName" <q-select filled option-value="SId" class="col-6 q-pb-lg q-pr-lg" option-label="SName"
...@@ -32,7 +33,9 @@ ...@@ -32,7 +33,9 @@
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
<q-input filled v-model="VisitMsg.ReceptionPersion" class="col-6 q-pb-lg" label="接待人"></q-input> <q-select filled v-model="VisitMsg.ReceptionPersion" @filter="filterEmployee" class="col-6 q-pb-lg"
:options="myEmployeeList" option-label="EmployeeName" use-input
option-value="Id" emit-value map-options label="接待人" />
</div> </div>
<div class="row wrap"> <div class="row wrap">
<q-input filled v-model="VisitMsg.Remark" :rows="3" type="textarea" class="col-12 q-pb-lg" label="备注"> <q-input filled v-model="VisitMsg.Remark" :rows="3" type="textarea" class="col-12 q-pb-lg" label="备注">
...@@ -87,6 +90,9 @@ ...@@ -87,6 +90,9 @@
saveStudentVisit, saveStudentVisit,
deleteStudentVisit deleteStudentVisit
} from '../../../api/customerstudent/customerstudent'; } from '../../../api/customerstudent/customerstudent';
import {
queryEmployee
} from '../../../api/users/user'
export default { export default {
meta: { meta: {
...@@ -121,11 +127,15 @@ ...@@ -121,11 +127,15 @@
}, },
isShowAdd: false, isShowAdd: false,
dataList: [], dataList: [],
page_Count: 0 page_Count: 0,
//员工列表
employeeList: [],
myEmployeeList: []
} }
}, },
mounted() { mounted() {
this.getSchool(); this.getSchool();
this.getEmployeeList();
this.getList(); this.getList();
}, },
methods: { methods: {
...@@ -141,6 +151,23 @@ ...@@ -141,6 +151,23 @@
} }
}) })
}, },
//获取员工列表
getEmployeeList() {
queryEmployee({
IsLeave: 1
}).then(res => {
this.employeeList = res.Data;
this.myEmployeeList = this.ClassList;
})
},
//下拉搜索
filterEmployee(val, update, abort){
update(() => {
this.myEmployeeList = this.employeeList.filter(
v => v.EmployeeName.indexOf(val) > -1
);
});
},
//获取到访分页 //获取到访分页
getList() { getList() {
queryStudentVisitPage(this.msg).then(res => { queryStudentVisitPage(this.msg).then(res => {
......
...@@ -3,28 +3,62 @@ ...@@ -3,28 +3,62 @@
</style> </style>
<template> <template>
<div> <div>
<div style="margin-top:30px;"> <div class="row wrap">
<div class="row wrap"> <q-btn label="新增" color="accent q-mb-lg" size="sm" @click="isShowAdd=true" />
<q-input filled class="col-6 q-pb-lg" label="地点"></q-input> <q-btn label="取消" style="margin-left:20px;" v-if="isShowAdd" flat color="grey-10 q-mb-lg" size="sm" @click="isShowAdd=false" />
</div> </div>
<template v-if="isShowAdd">
<div class="row wrap"> <div class="row wrap">
<q-input filled class="col-6 q-pb-lg" mask="date" label="日期"> <q-input filled class="col-6 q-pb-lg q-pr-lg" v-model="yueMsg.AppointmentPoint" label="约访地点"></q-input>
<q-input filled class="col-6 q-pb-lg" v-model="yueMsg.AppointmentTime" mask="date" label="约访时间">
<template v-slot:append> <template v-slot:append>
<q-icon name="event" class="cursor-pointer"> <q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy1" transition-show="scale" transition-hide="scale"> <q-popup-proxy ref="qDateProxy1" transition-show="scale" transition-hide="scale">
<q-date @input="() => $refs.qDateProxy1.hide()" /> <q-date v-model="yueMsg.AppointmentTime" @input="() => $refs.qDateProxy1.hide()" />
</q-popup-proxy> </q-popup-proxy>
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
</div> </div>
<div class="row wrap"> <div class="row wrap">
<q-input filled type="textarea" class="col-6 q-pb-lg" label="目的"></q-input> <q-input filled v-model="yueMsg.Remark" :rows="3" type="textarea" class="col-12 q-pb-lg" label="备注">
</q-input>
</div> </div>
<div class="row wrap"> <div class="row wrap">
<q-btn label="保存" color="accent q-mb-lg" style="width:200px;" @click="saveYuefang()" /> <q-input filled v-model="yueMsg.Feedback" :rows="3" type="textarea" class="col-12 q-pb-lg" label="反馈">
</q-input>
</div>
<div class="row wrap" style="margin-bottom:10px;">
<q-btn label="保存" color="accent q-mb-lg" size="md" @click="savePoint()" />
</div> </div>
</template>
<div style="display:flex;flex:1;flex-direction: column;overflow:hidden;">
<div class="TimeLineDiv">
<q-timeline color="primary">
<q-timeline-entry v-for="(tItem,tIndex) in dataList" :key="tIndex">
<template v-slot:title>
<div class="visit_Cont">
<div>约访地点:{{tItem.AppointmentPoint}}</div>
<div>接待人:{{tItem.ReceptionPersion}}</div>
<div>备注:{{tItem.Remark}}</div>
<div>反馈:{{tItem.Feedback}}</div>
<div @click="delVisit(tItem.Id)" class="visit_delete">删除</div>
</div>
</template>
<template v-slot:subtitle>
<div class="Time_TopList">
<div>{{ tItem.AppointmentTime }}</div>
</div>
</template>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div style="margin:20px 0;">
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="page_Count" input
@input="changePage" />
</div> </div>
</div> </div>
</template> </template>
<script> <script>
...@@ -42,21 +76,103 @@ ...@@ -42,21 +76,103 @@
}, },
props: { props: {
saveObj: {
type: Object,
default: null
}
}, },
data() { data() {
return { return {
isShowAdd: false,
yueMsg: {
Id: 0, //约访编号
StuId: 0, //学员编号
AppointmentPoint: '', //约访地点
AppointmentTime: '', //约访时间
Remark: '', //备注
Feedback: '' //反馈
},
msg: {
pageIndex: 1,
pageSize: 12
},
dataList:[],
page_Count:0
} }
}, },
mounted() { mounted() {
this.getList();
}, },
methods: { methods: {
//保存 //保存约访
saveYuefang() { savePoint() {
this.yueMsg.StuId = this.saveObj.StuId;
saveStudentAppointment(this.yueMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '数据保存成功!',
position: 'top'
})
this.getList();
this.clearMsg();
}
}).catch(() => {
})
}, },
}, //获取数据
getList(){
queryStudentAppointmentPage(this.msg).then(res => {
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.page_Count = res.Data.PageCount;
}
}).catch(() => {
})
},
//清除数据
clearMsg() {
this.yueMsg.Id = 0;
this.yueMsg.StuId = 0;
this.yueMsg.AppointmentPoint = '';
this.yueMsg.AppointmentTime = '';
this.yueMsg.Remark = '';
this.yueMsg.Feedback = '';
this.isShowAdd = false;
},
//删除到访
delVisit(Id) {
let that = this
this.$q.dialog({
title: '提示信息',
message: '是否确定删除?',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
deleteStudentAppointment({
Id: Id
}).then((res) => {
that.$q.notify({
icon: 'iconfont icon-chenggong',
timeout: 2000,
message: res.Message,
position: 'top'
})
that.getList()
})
}).onCancel(() => {});
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
}
}
} }
</script> </script>
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