Commit daf67bdb authored by 黄奎's avatar 黄奎

页面修改

parent ea70034c
<style lang="scss"> <style lang="scss">
.stuList .q-table__bottom { .stuList .q-table__bottom {
min-height: 0; min-height: 0;
} }
</style> </style>
<template> <template>
<div class="stuList"> <div class="stuList">
<q-table <q-table :pagination="pageMsg" :loading="loading" no-data-label="暂无相关数据" flat selection="multiple"
:pagination="pageMsg" :selected.sync="selection" class="sticky-right-column-table sticky-tow-column-table" separator="none"
:loading="loading" :data="dataList" :columns="columns" row-key="StuId" hide-bottom>
no-data-label="暂无相关数据"
flat
selection="multiple"
:selected.sync="selection"
class="sticky-right-column-table sticky-tow-column-table"
separator="none"
:data="dataList"
:columns="columns"
row-key="StuId"
hide-bottom
>
<template v-slot:top="props"> <template v-slot:top="props">
<div class="col-2 q-table__title">我的客户</div> <div class="col-2 q-table__title">我的客户</div>
<q-space /> <q-space />
<div class="page-option"> <div class="page-option">
<q-btn <q-btn color="accent" class="q-mr-md" size="sm" icon="swap_horiz" label="转订单" :disable="selection.length===0"
color="accent" @click="transferOrder" />
class="q-mr-md" <q-btn color="accent" class="q-mr-md" size="sm" icon="add" label="新增客户" @click="EditStudent(null)" />
size="sm"
icon="swap_horiz"
label="转订单"
:disable="selection.length===0"
@click="transferOrder"
/>
<q-btn
color="accent"
class="q-mr-md"
size="sm"
icon="add"
label="新增客户"
@click="EditStudent(null)"
/>
</div> </div>
</template> </template>
<template v-slot:body-cell-StuIcon="props"> <template v-slot:body-cell-StuIcon="props">
...@@ -47,14 +22,8 @@ ...@@ -47,14 +22,8 @@
<q-avatar size="md" v-if="props.value"> <q-avatar size="md" v-if="props.value">
<img :src="props.value" /> <img :src="props.value" />
</q-avatar> </q-avatar>
<q-avatar <q-avatar size="md" color="teal-10" text-color="white" v-if="!props.value">
size="md" {{ props.row.StuName.substring(0, 1) }}</q-avatar>
color="teal-10"
text-color="white"
v-if="!props.value"
>
{{ props.row.StuName.substring(0, 1) }}</q-avatar
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-StuName="props"> <template v-slot:body-cell-StuName="props">
...@@ -66,301 +35,305 @@ ...@@ -66,301 +35,305 @@
</template> </template>
<template v-slot:body-cell-StuSex="props"> <template v-slot:body-cell-StuSex="props">
<q-td :props="props"> <q-td :props="props">
<q-badge <q-badge :color="props.value == 1 ? 'negative' : 'primary'" :label="props.value == 1 ? '女' : '男'" />
:color="props.value == 1 ? 'negative' : 'primary'"
:label="props.value == 1 ? '女' : '男'"
/>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-Status="props"> <template v-slot:body-cell-Status="props">
<q-td :props="props"> <q-td :props="props">
<q-toggle <q-toggle size="md" color="primary" :false-value="1" :true-value="0" v-model="props.row.Status"
size="md" title="注意:关闭后,学员将无法正常使用." @input="deleteStudentInfo(props.row)" />
color="primary"
:false-value="1"
:true-value="0"
v-model="props.row.Status"
title="注意:关闭后,学员将无法正常使用."
@input="deleteStudentInfo(props.row)"
/>
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
<student-form <student-form v-if="isShowStuForm" :save-obj="stuOption" @close="closeStuForm" @success="refreshStuList">
v-if="isShowStuForm"
:save-obj="stuOption"
@close="closeStuForm"
@success="refreshStuList"
>
</student-form> </student-form>
<studentRight-form <studentRight-form v-if="isShowStuRight" :save-obj="stuOption" @close="closeStuForm" @success="refreshStuList">
v-if="isShowStuRight"
:save-obj="stuOption"
@close="closeStuForm"
@success="refreshStuList"
>
</studentRight-form> </studentRight-form>
<studentAdd-form <studentAdd-form v-if="isShowAdd" :save-obj="stuOption" @close="closeStuForm" @success="refreshStuList">
v-if="isShowAdd"
:save-obj="stuOption"
@close="closeStuForm"
@success="refreshStuList"
>
</studentAdd-form> </studentAdd-form>
<transfer-order <transfer-order v-if="isShowTransfer" :select="selection" @close="closeStuForm" @success="refreshStuList">
v-if="isShowTransfer"
:select="selection"
@close="closeStuForm"
@success="refreshStuList"
>
</transfer-order> </transfer-order>
</div> </div>
</template> </template>
<script> <script>
import studentForm from "./student-form"; import studentForm from "./student-form";
import studentRightForm from "./studentRight-form"; import studentRightForm from "./studentRight-form";
import studentAddForm from "./studentAdd-form"; import studentAddForm from "./studentAdd-form";
import transferOrder from "./transfer-order" import transferOrder from "./transfer-order"
export default { export default {
props: { props: {
dataList: { dataList: {
type: Array, type: Array,
default: null default: null
} }
}, },
components: { components: {
studentForm, studentForm,
studentRightForm, studentRightForm,
studentAddForm, studentAddForm,
transferOrder transferOrder
}, },
data() { data() {
return { return {
columns: [ columns: [{
{ name: "StuIcon",
name: "StuIcon", label: "",
label: "", field: "StuIcon",
field: "StuIcon", align: "left"
align: "left" },
}, {
{ name: "StuName",
name: "StuName", required: true,
required: true, label: "昵称",
label: "昵称", align: "left",
align: "left", field: row => row.StuName
field: row => row.StuName },
}, {
{ name: "StuSex",
name: "StuSex", label: "性别",
label: "性别", field: "StuSex",
field: "StuSex", align: "left"
align: "left" },
}, {
{ name: "StuTel",
name: "StuBirth", label: "电话",
label: "出生日期", field: "StuTel",
field: "StuBirth", align: "left"
align: "left" },
}, {
{ name: "StuStageName",
name: "StuTel", label: "客户阶段",
label: "手机号码", field: "StuStageName",
field: "StuTel", align: "left"
align: "left" },
}, {
{ name: "StuProfession",
name: "CreateTypeStr", label: "职业",
label: "客户来源", field: "StuProfession",
field: "CreateTypeStr", align: "left"
align: "left" },
}, {
{ name: "StuEducationName",
name: "StuStageName", label: "学历",
label: "客户阶段", field: "StuEducationName",
field: "StuStageName", align: "left"
align: "left" },
}, {
{ name: "StuPurposeName",
name: "CreateTimeStr", label: "目的",
label: "创建时间", field: "StuPurposeName",
field: "CreateTimeStr", align: "left"
align: "left" },
{
name: "CreateByName",
label: "负责人",
align: "left",
field: "CreateByName"
},
{
name: "AssistList",
label: "协同人",
align: "left",
field: "AssistList"
},
{
name: "CreateTypeStr",
label: "获取渠道",
field: "CreateTypeStr",
align: "left"
},
{
name: "StuSourceIdName",
label: "关联人",
field: "StuSourceIdName",
align: "left"
},
{
name: "VisitCount",
label: "到访次数",
field: "VisitCount",
align: "left"
},
{
name: "TrialLessonCount",
label: "试听次数",
field: "TrialLessonCount",
align: "left"
},
{
name: "CreateTimeStr",
label: "创建时间",
field: "CreateTimeStr",
align: "left"
}
],
pageMsg: {
rowsPerPage: 12
}, },
{ loading: false,
name: "CreateByName", isShowStuForm: false,
label: "负责人", resetLoading: false,
align: "left", isShowStuRight: false,
field: "CreateByName" stuOption: null,
} isShowAdd: false,
], selection: [],
pageMsg: { isShowTransfer: false,
rowsPerPage: 12
},
loading: false,
isShowStuForm: false,
resetLoading: false,
isShowStuRight: false,
stuOption: null,
isShowAdd: false,
selection: [],
isShowTransfer:false,
}; };
}, },
created() { created() {
this.initAuth(); this.initAuth();
}, },
mounted() {}, mounted() {},
methods: { methods: {
//初始化权限 //初始化权限
initAuth() {}, initAuth() {},
//创建账号 //创建账号
createAccount(id) { createAccount(id) {
let that = this; let that = this;
createStudentAccount({ createStudentAccount({
StuId: id StuId: id
}).then(res => { }).then(res => {
that.$q that.$q
.dialog({
title: "创建账号",
message: res.Message,
persistent: true,
ok: {
label: "确认",
flat: true,
focus: true
}
})
.onOk(() => {
that.getStudent();
})
.onCancel(() => {
that.getStudent();
});
});
},
resetPw(id) {
let that = this;
this.$q
.dialog({ .dialog({
title: "创建账号", title: "重置密码",
message: res.Message, message: "你正在进行重置密码行为,是否确认执行",
persistent: true, persistent: true,
cancel: {
label: "取消",
flat: true
},
ok: { ok: {
label: "确认", label: "确认重置",
flat: true, flat: true,
focus: true focus: true
} }
}) })
.onOk(() => { .onOk(() => {
that.getStudent(); that.resetLoading = true;
}) resetPassword({
.onCancel(() => { AccountType: 4,
that.getStudent(); AccountId: id
})
.then(res => {
that.resetLoading = false;
that.$q.dialog({
title: "密码重置成功",
message: res.Message,
persistent: true,
ok: {
label: "确认",
flat: true,
focus: true
}
});
})
.catch(() => {
that.resetLoading = false;
});
}); });
}); },
}, //删除客户资料
resetPw(id) { deleteStudentInfo(obj) {
let that = this; let that = this;
this.$q var str = obj.Status == 1 ? "【禁用】" : "【启用】";
.dialog({ this.$q
title: "重置密码", .dialog({
message: "你正在进行重置密码行为,是否确认执行", title: str + "学员",
persistent: true, message: "你正在进行" + str + "学员行为,一旦执行无法找回,是否确认执行?",
cancel: { persistent: true,
label: "取消", cancel: {
flat: true label: "取消",
}, flat: true
ok: { },
label: "确认重置", ok: {
flat: true, label: "确认",
focus: true flat: true,
} focus: true
}) }
.onOk(() => {
that.resetLoading = true;
resetPassword({
AccountType: 4,
AccountId: id
}) })
.then(res => { .onOk(() => {
that.resetLoading = false; that.resetLoading = true;
that.$q.dialog({ deleteStudent({
title: "密码重置成功", StuId: obj.StuId,
message: res.Message, Status: obj.Status
persistent: true, }).then(res => {
ok: { this.$q.notify({
label: "确认", icon: "iconfont icon-chenggong",
flat: true, color: "accent",
focus: true timeout: 2000,
} message: "数据操作成功!",
position: "top"
}); });
}) this.getStudent();
.catch(() => {
that.resetLoading = false;
});
});
},
//删除客户资料
deleteStudentInfo(obj) {
let that = this;
var str = obj.Status == 1 ? "【禁用】" : "【启用】";
this.$q
.dialog({
title: str + "学员",
message:
"你正在进行" + str + "学员行为,一旦执行无法找回,是否确认执行?",
persistent: true,
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true
}
})
.onOk(() => {
that.resetLoading = true;
deleteStudent({
StuId: obj.StuId,
Status: obj.Status
}).then(res => {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "数据操作成功!",
position: "top"
}); });
this.getStudent(); })
.onCancel(() => {
obj.Status = obj.Status == 1 ? 0 : 1;
}); });
},
refreshStuList() {
this.$emit("success");
},
EditStudent(obj) {
if (obj) {
this.stuOption = obj;
} else {
this.stuOption = null;
}
this.isShowAdd = true;
},
closeStuForm() {
this.isShowStuForm = false;
this.isShowStuRight = false;
this.isShowAdd = false;
this.isShowTransfer = false;
},
//点击学生姓名弹出
getStuRight(obj) {
if (obj) {
this.stuOption = obj;
} else {
this.stuOption = null;
}
this.isShowStuRight = true;
},
transferOrder() {
const firstId = this.selection[0].CustomerId
const flag = this.selection.every(e => {
return e.CustomerId == firstId
}) })
.onCancel(() => { if (!flag) {
obj.Status = obj.Status == 1 ? 0 : 1; this.$q.notify({
});
},
refreshStuList() {
this.$emit("success");
},
EditStudent(obj) {
if (obj) {
this.stuOption = obj;
} else {
this.stuOption = null;
}
this.isShowAdd = true;
},
closeStuForm() {
this.isShowStuForm = false;
this.isShowStuRight = false;
this.isShowAdd = false;
this.isShowTransfer=false;
},
//点击学生姓名弹出
getStuRight(obj) {
if (obj) {
this.stuOption = obj;
} else {
this.stuOption = null;
}
this.isShowStuRight = true;
},
transferOrder(){
const firstId=this.selection[0].CustomerId
const flag= this.selection.every(e=>{
return e.CustomerId==firstId
})
if(!flag){
this.$q.notify({
type: 'negative', type: 'negative',
position: "top", position: "top",
message: `负责人不一致,请重新选择` message: `负责人不一致,请重新选择`
}) })
return return
}
this.isShowTransfer = true
} }
this.isShowTransfer=true
} }
} };
}; </script>
</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