qsh 2 months ago
parent 47bac0315f
commit 467e1eceb7
  1. 8
      src/api/xjapplet/discount.js
  2. 5
      src/views/XjApplet/Resell/index.vue
  3. 53
      src/views/XjApplet/Vip/components/UserDiscount.vue
  4. 4
      src/views/XjApplet/Vip/components/VipType.vue
  5. 16
      src/views/XjApplet/Vip/components/VipUser.vue

@ -27,6 +27,12 @@ export const deleteVipDiscount = async (id) => {
}) })
} }
export const getVipDiscountOptions = async () => {
return await request.get({
url: '/admin-api/applet/xunjia/member/discount/simple-list'
})
}
export const getUserDiscountList = async (params) => { export const getUserDiscountList = async (params) => {
return await request.get({ return await request.get({
url: '/admin-api/applet/xunjia/user/discount/list', url: '/admin-api/applet/xunjia/user/discount/list',
@ -36,7 +42,7 @@ export const getUserDiscountList = async (params) => {
export const giveUserDiscount = async (data) => { export const giveUserDiscount = async (data) => {
return await request.post({ return await request.post({
url: '/admin-api/applet/xunjia/user/discount/add', url: '/admin-api/applet/xunjia/user/discount/send',
data data
}) })
} }

@ -19,10 +19,7 @@
<el-table-column prop="mark" label="标记" /> <el-table-column prop="mark" label="标记" />
<el-table-column label="小程序码" align="center" width="120px"> <el-table-column label="小程序码" align="center" width="120px">
<template #default="{ row }"> <template #default="{ row }">
<img <img :src="row.appletUrl" style="width: 80px; height: 80px" />
:src="`https://ss-cloud.ahduima.com/xjxc/pic/${row.appletUrl}`"
style="width: 80px; height: 80px"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="120px"> <el-table-column label="操作" width="120px">

@ -11,13 +11,18 @@
</el-form> </el-form>
<el-table v-loading="loading" :data="tableList"> <el-table v-loading="loading" :data="tableList">
<el-table-column type="index" width="55" align="center" /> <el-table-column type="index" width="55" align="center" />
<el-table-column label="手机号" align="center" prop="phone" min-width="140" /> <el-table-column label="手机号" align="left" prop="phone" width="140" />
<el-table-column label="折扣描述" align="center" prop="memberName" min-width="140" /> <el-table-column label="折扣描述" align="left" prop="description" min-width="140" />
<el-table-column label="折后价格" align="center" prop="carName" min-width="100" /> <el-table-column label="折后价格" align="center" prop="discount" width="100" />
<el-table-column label="有效期至" align="center" prop="subjects" min-width="100" /> <el-table-column
<el-table-column label="截止时间" align="center" prop="endDate" min-width="100" /> label="截止时间"
<el-table-column label="操作人" align="center" prop="" min-width="100" /> align="left"
<el-table-column label="操作时间" align="center" prop="" min-width="100" /> prop="endTime"
:formatter="dateFormatter"
width="150"
/>
<el-table-column label="操作人" align="left" prop="operUser" width="100" />
<el-table-column label="操作时间" align="left" prop="operTime" width="150" />
</el-table> </el-table>
<pagination <pagination
v-show="total > 0" v-show="total > 0"
@ -32,13 +37,13 @@
<el-form-item label="手机号" prop="phone"> <el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" maxlength="11" /> <el-input v-model="form.phone" maxlength="11" />
</el-form-item> </el-form-item>
<el-form-item label="会员描述" prop="vipType"> <el-form-item label="会员描述" prop="discountId">
<el-select v-model="form.vipType" clearable filterable style="width: 100%"> <el-select v-model="form.discountId" clearable filterable style="width: 100%">
<el-option <el-option
v-for="item in vipTypeOptions" v-for="item in discountOptions"
:key="item.value" :key="item.id"
:label="item.label" :label="item.description"
:value="item.value" :value="item.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -55,7 +60,12 @@
</template> </template>
<script setup name="UserDiscount"> <script setup name="UserDiscount">
import { getUserDiscountList, giveUserDiscount } from '@/api/xjapplet/discount' import {
getUserDiscountList,
giveUserDiscount,
getVipDiscountOptions
} from '@/api/xjapplet/discount'
import { dateFormatter } from '@/utils/formatTime'
const message = useMessage() const message = useMessage()
@ -69,11 +79,14 @@ const loading = ref(false)
const tableList = ref([]) const tableList = ref([])
const total = ref(0) const total = ref(0)
const vipTypeOptions = ref([ const discountOptions = ref([])
{ label: '普通会员', value: '1' },
{ label: 'VIP会员', value: '2' }
])
onMounted(() => {
searchList()
getVipDiscountOptions().then((response) => {
discountOptions.value = response
})
})
function searchList() { function searchList() {
searchForm.value.pageNo = 1 searchForm.value.pageNo = 1
getList() getList()
@ -91,11 +104,11 @@ function getList() {
const showDialog = ref(false) const showDialog = ref(false)
const form = ref({ const form = ref({
phone: '', phone: '',
vipType: '' discountId: ''
}) })
const rules = ref({ const rules = ref({
phone: [{ required: true, message: '请输入用户手机号', trigger: 'blur' }], phone: [{ required: true, message: '请输入用户手机号', trigger: 'blur' }],
vipType: [{ required: true, message: '请选择会员类型', trigger: 'change' }] discountId: [{ required: true, message: '请选择会员类型', trigger: 'change' }]
}) })
function addVipUser() { function addVipUser() {

@ -57,7 +57,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="科目" prop="subjects"> <el-form-item label="科目" prop="subjects">
<el-select v-model="searchForm.subjects" placeholder="多选" multiple style="width: 100%"> <el-select v-model="form.subjects" placeholder="多选" multiple style="width: 100%">
<el-option label="科一" value="4" /> <el-option label="科一" value="4" />
<el-option label="科四" value="1" /> <el-option label="科四" value="1" />
</el-select> </el-select>
@ -152,7 +152,7 @@ function addVip() {
} }
function editVip(row) { function editVip(row) {
form.value = { ...row } form.value = { ...row, subjects: row.subjects.split(','), unit: Number(row.unit) }
showDialog.value = true showDialog.value = true
} }

@ -27,18 +27,18 @@
</el-form> </el-form>
<el-table v-loading="loading" :data="tableList" height="calc(100vh - 260px)"> <el-table v-loading="loading" :data="tableList" height="calc(100vh - 260px)">
<el-table-column type="index" width="55" align="center" /> <el-table-column type="index" width="55" align="center" />
<el-table-column label="手机号" align="center" prop="phone" min-width="140" /> <el-table-column label="手机号" align="left" prop="phone" min-width="140" />
<el-table-column label="会员名" align="center" prop="memberName" min-width="140" /> <el-table-column label="会员名" align="left" prop="memberName" min-width="140" />
<el-table-column label="车型" align="center" min-width="100"> <el-table-column label="车型" align="left" min-width="100">
<template #default="{ row }"> <template #default="{ row }">
{{ row.carTypeId == 1001 ? '小车' : '摩托车' }} {{ row.carTypeId == 1001 ? '小车' : '摩托车' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="科目" align="center" prop="subjects" min-width="100" /> <el-table-column label="科目" align="left" prop="subjects" min-width="100" />
<el-table-column label="开始时间" align="center" prop="startDate" min-width="120" /> <el-table-column label="来源" align="left" prop="useType" min-width="100" />
<el-table-column label="结束时间" align="center" prop="endDate" min-width="120" /> <el-table-column label="截止日期" align="left" prop="endDate" min-width="120" />
<el-table-column label="操作人" align="center" prop="" min-width="100" /> <el-table-column label="操作人" align="left" prop="operUser" min-width="100" />
<el-table-column label="操作时间" align="center" prop="" min-width="120" /> <el-table-column label="操作时间" align="left" prop="createTime" min-width="120" />
</el-table> </el-table>
<pagination <pagination
v-show="total > 0" v-show="total > 0"

Loading…
Cancel
Save