Commit cd081268 authored by 黄奎's avatar 黄奎

页面修改

parent 7fb42d73
...@@ -3,71 +3,27 @@ ...@@ -3,71 +3,27 @@
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-input <q-input @input="resetSearch" clearable filled v-model="msg.StuName" label="昵称" maxlength="20" />
@input="resetSearch"
clearable
filled
v-model="msg.StuName"
label="昵称"
maxlength="20"
/>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-input <q-input @input="resetSearch" clearable filled v-model="msg.StuTel" label="电话" maxlength="20" />
@input="resetSearch"
clearable
filled
v-model="msg.StuTel"
label="电话"
maxlength="20"
/>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select <q-select @input="resetSearch" filled v-model="msg.StuStage" :options="customState" option-label="Name"
@input="resetSearch" option-value="Id" emit-value map-options label="客户状态" clearable />
filled
v-model="msg.StuStage"
:options="customState"
option-label="Name"
option-value="Id"
emit-value
map-options
label="客户状态"
clearable
/>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-field filled> <q-field filled>
<template v-slot:control> <template v-slot:control>
<el-date-picker <el-date-picker v-model="dateArray" @change="resetSearch" value-format="yyyy-MM-dd" type="daterange"
v-model="dateArray" style="border:none;" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
@change="resetSearch"
value-format="yyyy-MM-dd"
type="daterange"
style="border:none;"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
/>
</template> </template>
</q-field> </q-field>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select <q-select @input="resetSearch" v-model="msg.CustomerId" :options="myCustomerList" filled use-input label="同行"
@input="resetSearch" option-label="CustomerName" option-value="CustomerId" ref="CustomerName" class="col-6 q-pb-lg" emit-value
v-model="msg.CustomerId" map-options @filter="cusfilterFn">
:options="myCustomerList"
filled
use-input
label="同行"
option-label="CustomerName"
option-value="CustomerId"
ref="CustomerName"
class="col-6 q-pb-lg"
emit-value
map-options
@filter="cusfilterFn"
>
<template v-slot:no-option> <template v-slot:no-option>
<q-item> <q-item>
<q-item-section class="text-grey"> <q-item-section class="text-grey">
...@@ -77,149 +33,168 @@ ...@@ -77,149 +33,168 @@
</template> </template>
</q-select> </q-select>
</div> </div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.BelongType" :options="BelongTypeList" emit-value map-options label="归属类型" />
</div>
</div> </div>
</div> </div>
<div class="page-content"> <div class="page-content">
<stulist :dataList="data" @success="refreshPage" ref="stuList"> </stulist> <stulist :dataList="data" @success="refreshPage" ref="stuList"> </stulist>
<div class="row" style="justify-content: flex-end;padding: 5px 20px"> <div class="row" style="justify-content: flex-end;padding: 5px 20px">
<q-pagination <q-pagination v-model="msg.pageIndex" :max="pageCount" @input="changePage" class="full-width justify-end"
v-model="msg.pageIndex" color="primary" :input="true">
:max="pageCount"
@input="changePage"
class="full-width justify-end"
color="primary"
:input="true"
>
</q-pagination> </q-pagination>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { import {
getStudentPage, getStudentPage,
getSchoolDropdown, getSchoolDropdown,
deleteStudent, deleteStudent,
createStudentAccount, createStudentAccount,
queryStuStageList queryStuStageList
} from "../../api/school/index"; } from "../../api/school/index";
import { queryEmployee } from "../../api/users/user"; import {
import { resetPassword } from "../../api/users/user.js"; queryEmployee
} from "../../api/users/user";
import {
resetPassword
} from "../../api/users/user.js";
import stulist from "../../components/school/student/stulist"; import stulist from "../../components/school/student/stulist";
import { getMyCustomerList } from "../../api/sale/sale"; import {
export default { getMyCustomerList
meta: { } from "../../api/sale/sale";
title: "客户管理" export default {
}, meta: {
components: { title: "客户管理"
stulist
},
data() {
return {
currentUrl: "",
data: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
StuName: "",
StuTel: "",
Status: "-1",
CreateBy: "",
IsQueryMyStu: 1,
StuStage: "", //客户阶段
StartTime: "", //开始时间
EndTime: "", //结束时间
CustomerId: 0
},
dateArray: [], //日期数组
pageCount: 0,
//客户阶段状态列表
customState: [],
myCustomerList: [], //同行列表
allCustomerList: [] //所有同行列表
};
},
created() {
this.getSchool();
this.getStuStageList();
},
mounted() {
this.currentUrl = this.$route.path;
this.getStudent();
this.getCustomerList();
},
methods: {
//获取客户阶段列表
getStuStageList() {
queryStuStageList().then(res => {
this.customState = res.Data;
});
}, },
resetSearch() { components: {
this.msg.pageIndex = 1; stulist
this.getStudent();
}, },
changePage(val) { data() {
this.msg.pageIndex = val; return {
this.getStudent(); currentUrl: "",
data: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12,
StuName: "",
StuTel: "",
Status: "-1",
CreateBy: "",
IsQueryMyStu: 1,
StuStage: "", //客户阶段
StartTime: "", //开始时间
EndTime: "", //结束时间
CustomerId: 0,
BelongType: 1, //归属类型
},
dateArray: [], //日期数组
pageCount: 0,
//客户阶段状态列表
customState: [],
myCustomerList: [], //同行列表
allCustomerList: [], //所有同行列表
//归属类型列表
BelongTypeList: [{
Id: 1,
Name: "全部"
},
{
Id: 2,
Name: "我负责的"
},
{
Id: 3,
Name: "我协同的"
},
],
};
}, },
getSchool() { created() {
getSchoolDropdown({}).then(res => { this.getSchool();
this.schoolList = res.Data; this.getStuStageList();
});
}, },
getStudent() { mounted() {
if (this.dateArray && this.dateArray.length > 0) { this.currentUrl = this.$route.path;
this.msg.StartTime = this.dateArray[0];
this.msg.EndTime = this.dateArray[1];
} else {
this.msg.StartTime = "";
this.msg.EndTime = "";
}
this.loading = true;
getStudentPage(this.msg)
.then(res => {
this.loading = false;
this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount;
})
.catch(() => {
this.loading = false;
});
},
refreshPage() {
this.getStudent(); this.getStudent();
this.getCustomerList();
}, },
getCustomerList() { methods: {
getMyCustomerList({}).then(res => { //获取客户阶段列表
this.myCustomerList = res.Data; getStuStageList() {
this.allCustomerList = res.Data; queryStuStageList().then(res => {
this.myCustomerList.unshift({ this.customState = res.Data;
CustomerName:"不限", });
CustomerId:0, },
}) resetSearch() {
}); this.msg.pageIndex = 1;
}, this.getStudent();
cusfilterFn(val, update) { },
update(() => { changePage(val) {
if (val === "") { this.msg.pageIndex = val;
this.myCustomerList = JSON.parse( this.getStudent();
JSON.stringify(this.allCustomerList) },
); getSchool() {
getSchoolDropdown({}).then(res => {
this.schoolList = res.Data;
});
},
getStudent() {
if (this.dateArray && this.dateArray.length > 0) {
this.msg.StartTime = this.dateArray[0];
this.msg.EndTime = this.dateArray[1];
} else { } else {
const needle = val.toLowerCase(); this.msg.StartTime = "";
this.myCustomerList = this.allCustomerList.filter( this.msg.EndTime = "";
v => v.CustomerName.toLowerCase().indexOf(needle) > -1
);
} }
}); this.loading = true;
getStudentPage(this.msg)
.then(res => {
this.loading = false;
this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount;
})
.catch(() => {
this.loading = false;
});
},
refreshPage() {
this.getStudent();
},
getCustomerList() {
getMyCustomerList({}).then(res => {
this.myCustomerList = res.Data;
this.allCustomerList = res.Data;
this.myCustomerList.unshift({
CustomerName: "不限",
CustomerId: 0,
})
});
},
cusfilterFn(val, update) {
update(() => {
if (val === "") {
this.myCustomerList = JSON.parse(
JSON.stringify(this.allCustomerList)
);
} else {
const needle = val.toLowerCase();
this.myCustomerList = this.allCustomerList.filter(
v => v.CustomerName.toLowerCase().indexOf(needle) > -1
);
}
});
}
} }
} };
};
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style> </style>
\ 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