莳松crm管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ss-crm-manage-web/src/views/XjApplet/Resell/index.vue

144 lines
3.8 KiB

4 months ago
<template>
<div>
<el-form :model="searchForm" label-width="0" inline>
<el-form-item>
<el-input v-model="searchForm.phone" placeholder="请输入手机号" />
</el-form-item>
<el-form-item>
<el-input v-model="searchForm.name" placeholder="请输入姓名" />
</el-form-item>
<el-form-item>
<el-button @click="searchList">查询</el-button>
<el-button type="primary" @click="handleAdd">新增</el-button>
</el-form-item>
</el-form>
4 months ago
<el-table v-loading="loading" :data="tableData" max-height="calc(100vh - 200px)">
4 months ago
<el-table-column type="index" width="50" />
<el-table-column prop="phone" label="手机号" />
<el-table-column prop="name" label="姓名" />
<el-table-column prop="mark" label="标记" />
4 months ago
<el-table-column label="小程序码" align="center" width="120px">
4 months ago
<template #default="{ row }">
4 months ago
<img
:src="`https://ss-cloud.ahduima.com/xjxc/pic/${row.appletUrl}`"
style="width: 80px; height: 80px"
/>
4 months ago
</template>
</el-table-column>
<el-table-column label="操作" width="120px">
<template #default="{ row }">
<el-button type="primary" link @click="handleEdit(row)">修改</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="searchForm.pageNo"
v-model:limit="searchForm.pageSize"
@pagination="getList"
/>
<el-dialog title="分销配置" v-model="showDialog" width="500px">
<el-form :model="form" ref="formRef" :rules="rules" label-width="80px">
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" maxlength="11" />
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" />
</el-form-item>
<el-form-item label="标记" prop="mark">
<el-input v-model="form.mark" />
</el-form-item>
</el-form>
<template #footer>
<span>
<el-button @click="showDialog = false">取消</el-button>
<el-button type="primary" @click="handleSave">确认</el-button>
</span>
</template>
</el-dialog>
</div>
</template>
<script setup name="Resell">
4 months ago
import { getResellList, addResell, updateResell } from '@/api/xjapplet/resell'
4 months ago
const message = useMessage()
const searchForm = ref({
pageNo: 1,
4 months ago
pageSize: 50,
4 months ago
phone: '',
name: ''
})
const tableData = ref([])
const total = ref(0)
4 months ago
const loading = ref(false)
4 months ago
const showDialog = ref(false)
const form = ref({
phone: '',
name: '',
mark: ''
})
const rules = {
phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
name: [{ required: true, message: '请输入姓名', trigger: 'blur' }]
}
4 months ago
onMounted(() => {
searchList()
})
4 months ago
function searchList() {
searchForm.value.pageNo = 1
getList()
}
function getList() {
4 months ago
loading.value = true
getResellList(searchForm.value).then((response) => {
tableData.value = response.list
total.value = response.total
loading.value = false
})
4 months ago
}
function handleAdd() {
showDialog.value = true
}
function handleEdit(row) {
form.value = { ...row }
showDialog.value = true
}
const formRef = ref(null)
async function handleSave() {
if (!formRef.value) return
const valid = await formRef.value.validate()
if (!valid) return
// 调用接口
4 months ago
if (form.value.id) {
updateResell(form.value).then(() => {
message.success('修改成功')
showDialog.value = false
searchList()
})
} else {
addResell(form.value).then(() => {
message.success('新增成功')
showDialog.value = false
searchList()
})
}
4 months ago
}
</script>
<style lang="scss" scoped></style>