154 lines
7.0 KiB
Vue
Raw Normal View History

2023-07-16 19:14:41 +08:00
<template>
<div>
<el-card class="!border-none" shadow="never">
<el-form ref="formRef" class="mb-[-16px]" :model="queryParams" :inline="true">
<el-form-item label="用户信息">
<el-input
class="w-[280px]"
v-model="queryParams.keyword"
placeholder="用户编号/昵称/手机号码"
clearable
@keyup.enter="resetPage"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
<export-data
class="ml-2.5"
:fetch-fun="getUserList"
:params="queryParams"
:page-size="pager.size"
/>
</el-form-item>
</el-form>
</el-card>
<el-card class="!border-none mt-4" shadow="never">
<el-table size="large" v-loading="pager.loading" :data="pager.lists">
<el-table-column label="用户编号" prop="sn" min-width="120" />
<el-table-column label="头像" min-width="100">
<template #default="{ row }">
<el-avatar :src="row.avatar" :size="50" />
</template>
</el-table-column>
<el-table-column label="账号" prop="account" min-width="120" />
2023-07-31 17:39:32 +08:00
<el-table-column label="姓名" prop="nickname" min-width="100" />
<el-table-column label="联系方式" prop="mobile" min-width="100" />
<el-table-column
label="隶属公司"
prop="company_name"
min-width="180"
align="center"
>
<template #default="{ row }">
{{ row.company?.company_name || '/' }}
</template>
</el-table-column>
<el-table-column label="所在乡镇" prop="street_name" min-width="120" />
<el-table-column label="授权身份" prop="role_name" min-width="120">
<template #default="{ row }">
<span v-if="row.admin_id == row.company?.admin_id" style="color: #67c23a"
>公司后台管理人员</span
>
<span v-else style="color: #fe0000"></span>
</template>
</el-table-column>
<el-table-column label="是否签约" prop="is_contract" align="center" min-width="120">
<template #default="{ row }">
<span v-if="row.is_contract == 1" style="color: #67c23a">已签约</span>
<span v-else style="color: #fe0000">未签约</span>
</template>
</el-table-column>
2023-07-16 19:14:41 +08:00
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button v-perms="['user.user/detail']" type="primary" link>
<router-link
:to="{
path: getRoutePath('user.user/detail'),
query: {
id: row.id
}
}"
>
详情
</router-link>
</el-button>
2023-07-31 17:39:32 +08:00
<!-- <el-button
v-if="row.root != 1"
v-perms="['auth.admin/delete']"
type="danger"
link
@click="handleDelete(row.id)"
>删除</el-button
>
<el-button
v-if="row.is_contract == 1"
v-perms="['auth.admin/abolition']"
type="danger"
link
@click="handleAbolition(row.id)"
>废除合同</el-button
>
<template v-if="row.company_id != 0 && row.is_contract == 0">
<el-button
v-perms="['auth.admin/Draftingcontracts']"
type="primary"
link
@click="
;(showPop = true),
(showConctactPop = true),
(contractId = row.id)
"
>生成个人合同</el-button
>
<el-button
v-perms="['auth.admin/postsms']"
type="primary"
link
@click=";(showPop = true), (contractId = row.id)"
>重新短信</el-button
>
</template> -->
2023-07-16 19:14:41 +08:00
</template>
</el-table-column>
</el-table>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
</div>
</template>
<script lang="ts" setup name="consumerLists">
import { usePaging } from '@/hooks/usePaging'
import { getRoutePath } from '@/router'
import { getUserList } from '@/api/consumer'
import { ClientMap } from '@/enums/appEnums'
2023-07-31 17:39:32 +08:00
import feedback from '@/utils/feedback'
2023-07-16 19:14:41 +08:00
const queryParams = reactive({
keyword: '',
channel: '',
create_time_start: '',
create_time_end: ''
})
2023-07-31 17:39:32 +08:00
// const handleDelete = async (id: number) => {
// await feedback.confirm('确定要删除?')
// await adminDelete({ id })
// getLists()
// }
// const handleAbolition = async (id: number) => {
// await feedback.confirm('确定要废除合同?')
// await abolition({ id })
// getLists()
// }
2023-07-16 19:14:41 +08:00
const { pager, getLists, resetPage, resetParams } = usePaging({
fetchFun: getUserList,
params: queryParams
})
onActivated(() => {
getLists()
})
getLists()
</script>