qsh 2 months ago
parent ce0da69b5f
commit 47bac0315f
  1. 2
      src/views/XjApplet/Vip/components/UserDiscount.vue
  2. 12
      src/views/XjApplet/Vip/components/VipDiscount.vue
  3. 25
      src/views/XjApplet/Vip/components/VipType.vue
  4. 34
      src/views/XjApplet/Vip/components/VipUser.vue
  5. 32
      src/views/XjApplet/VipData/conponents/SecretData.vue

@ -27,7 +27,7 @@
@pagination="getList"
/>
<el-dialog title="赠送折扣" v-model="showDialog" width="500px">
<el-dialog title="赠送折扣" v-model="showDialog" width="500px" :close-on-click-modal="false">
<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" />

@ -31,10 +31,10 @@
@pagination="getList"
/>
<el-dialog title="折扣详情" v-model="showDialog" width="500px">
<el-dialog title="折扣详情" v-model="showDialog" width="500px" :close-on-click-modal="false">
<el-form :model="form" ref="formRef" :rules="rules" label-width="80px">
<el-form-item label="折扣类型" prop="discountType">
<el-select v-model="form.discountType" style="width: 100%" :disabled="form.id">
<el-select v-model="form.discountType" style="width: 100%" :disabled="!!form.id">
<el-option
v-for="item in discountTypeOptions"
:key="item.value"
@ -46,8 +46,8 @@
<el-form-item label="折扣描述">
{{ discountDesc }}
</el-form-item>
<el-form-item v-if="form.discountType == 1" label="科目" prop="subject" :disabled="form.id">
<el-select v-model="form.subject" style="width: 100%">
<el-form-item v-if="form.discountType == 1" label="科目" prop="subject">
<el-select v-model="form.subject" style="width: 100%" :disabled="!!form.id">
<el-option
v-for="item in subjectOptions"
:key="item.value"
@ -57,7 +57,7 @@
</el-select>
</el-form-item>
<el-form-item label="变量1" prop="param1">
<el-select v-model="form.param1" style="width: 100%" clearable :disabled="form.id">
<el-select v-model="form.param1" style="width: 100%" clearable :disabled="!!form.id">
<el-option
v-for="item in vipTypeOptions"
:key="item.memberId"
@ -67,7 +67,7 @@
</el-select>
</el-form-item>
<el-form-item label="变量2" prop="param2">
<el-select v-model="form.param2" style="width: 100%" :disabled="form.id">
<el-select v-model="form.param2" style="width: 100%" :disabled="!!form.id">
<el-option
v-for="item in vipTypeOptions"
:key="item.memberId"

@ -5,10 +5,10 @@
<el-input v-model="searchForm.memberName" placeholder="会员名称" />
</el-form-item>
<el-form-item>
<el-select v-model="searchForm.carTypeId" placeholder="选择车型" clearable filterable>
<el-option label="小车" value="1001" />
<el-option label="摩托车" value="1002" />
</el-select>
<el-radio-group v-model="searchForm.carTypeId" @change="searchList">
<el-radio label="1001">小车</el-radio>
<el-radio label="1002">摩托车</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button @click="searchList">查询</el-button>
@ -29,7 +29,7 @@
<el-tag v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="使用方式" align="center" prop="typeName" />
<el-table-column label="使用方式" align="center" prop="useTypeName" />
<el-table-column label="操作" width="160">
<template #default="{ row }">
<el-button type="primary" link @click="editVip(row)">修改</el-button>
@ -45,7 +45,7 @@
@pagination="getList"
/>
<el-dialog title="会员详情" v-model="showDialog" width="500px">
<el-dialog title="会员详情" v-model="showDialog" width="500px" :close-on-click-modal="false">
<el-form :model="form" ref="formRef" :rules="rules" label-width="80px">
<el-form-item label="会员名称" prop="memberName">
<el-input v-model="form.memberName" />
@ -77,8 +77,8 @@
<el-radio :label="3"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="使用方式" prop="type">
<el-checkbox-group v-model="form.type">
<el-form-item label="使用方式" prop="useTypes">
<el-checkbox-group v-model="form.useTypes">
<el-checkbox :label="1"> 用户购买 </el-checkbox>
<el-checkbox :label="2"> 客服赠送 </el-checkbox>
</el-checkbox-group>
@ -99,8 +99,8 @@
import { getVipTypeList, addVipType, updateVipType, deleteVipType } from '@/api/xjapplet/vip'
const message = useMessage()
const searchForm = ref({
memberName: '',
carTypeId: undefined,
memberName: undefined,
carTypeId: '1001',
pageNo: 1,
pageSize: 50
})
@ -129,13 +129,13 @@ function getList() {
const showDialog = ref(false)
const form = ref({
memberName: '',
carTypeId: '',
carTypeId: undefined,
subjects: [],
price: '',
discount: '',
duration: '',
unit: 1,
type: [1]
useTypes: [1]
})
const rules = ref({
memberName: [{ required: true, message: '请输入会员名称', trigger: 'blur' }],
@ -148,6 +148,7 @@ const rules = ref({
function addVip() {
showDialog.value = true
form.value.carTypeId = searchForm.value.carTypeId
}
function editVip(row) {

@ -5,10 +5,10 @@
<el-input v-model="searchForm.phone" placeholder="学员手机号" />
</el-form-item>
<el-form-item>
<el-select v-model="searchForm.carTypeId" placeholder="选择车型" clearable filterable>
<el-option label="小车" value="1001" />
<el-option label="摩托车" value="1002" />
</el-select>
<el-radio-group v-model="searchForm.carTypeId" @change="changeCarType">
<el-radio label="1001">小车</el-radio>
<el-radio label="1002">摩托车</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item>
<el-select v-model="searchForm.memberId" placeholder="选择会员类型" clearable filterable>
@ -29,7 +29,11 @@
<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="center" prop="memberName" min-width="140" />
<el-table-column label="车型" align="center" prop="carTypeId" min-width="100" />
<el-table-column label="车型" align="center" min-width="100">
<template #default="{ row }">
{{ row.carTypeId == 1001 ? '小车' : '摩托车' }}
</template>
</el-table-column>
<el-table-column label="科目" align="center" prop="subjects" min-width="100" />
<el-table-column label="开始时间" align="center" prop="startDate" min-width="120" />
<el-table-column label="结束时间" align="center" prop="endDate" min-width="120" />
@ -44,7 +48,7 @@
@pagination="getList"
/>
<el-dialog title="赠送会员" v-model="showDialog" width="500px">
<el-dialog title="赠送会员" v-model="showDialog" width="500px" :close-on-click-modal="false">
<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" />
@ -56,7 +60,10 @@
:key="item.memberId"
:label="item.memberName"
:value="item.memberId"
/>
>
<span style="float: left">{{ item.memberName }}</span>
<span style="float: right; color: #aaa">{{ item.carName }}</span>
</el-option>
</el-select>
</el-form-item>
</el-form>
@ -75,9 +82,9 @@
import { getUserMemberList, giveUserMember, getVipTypeOptions } from '@/api/xjapplet/vip'
const message = useMessage()
const searchForm = ref({
carTypeId: undefined,
carTypeId: '1001',
memberId: undefined,
phone: '',
phone: undefined,
pageNo: 1,
pageSize: 50
})
@ -89,12 +96,15 @@ const total = ref(0)
const vipOptions = ref([])
onMounted(() => {
getList()
changeCarType()
})
getVipTypeOptions().then((response) => {
function changeCarType() {
getVipTypeOptions({ carTypeId: searchForm.value.carTypeId }).then((response) => {
vipOptions.value = response
})
})
searchList()
}
function searchList() {
searchForm.value.pageNo = 1

@ -17,7 +17,7 @@
</el-row>
</el-form>
<div style="display: flex; padding: 10px; border: 1px solid #eee; height: calc(100vh - 80px)">
<div style="width: 350px; border-right: 1px solid #eee">
<div style="width: 300px; border-right: 1px solid #eee">
<div style="display: flex; justify-content: space-between; padding-right: 20px">
<div style="font-size: 18px; font-weight: bold">密卷</div>
<el-button type="primary" link @click="addMjItem">新增</el-button>
@ -47,7 +47,12 @@
<div style="margin-left: 10px; margin-right: 10px"> 题目数{{ tableList.length }} </div>
<el-button type="primary" @click="addMjDetail">新增密卷试题</el-button>
</div>
<el-table v-loading="loading" :data="tableList" style="margin-top: 20px">
<el-table
v-loading="loading"
:data="tableList"
style="margin-top: 10px"
max-height="calc(100vh - 280px)"
>
<el-table-column type="index" width="55" align="center" />
<el-table-column label="题目" align="left" prop="question" min-width="140" />
<el-table-column label="选项" align="left" min-width="140">
@ -165,17 +170,18 @@ function addMjItem() {
})
}
function getMjTitle(idx) {
const cjObj = {
1001: '小车',
1002: '摩托车'
}
const kmObj = {
1: '科一',
4: '科四'
}
return `${cjObj[queryParams.value.carTypeId]}${kmObj[queryParams.value.subject]}考前密卷 第${
idx + 1
}`
// const cjObj = {
// 1001: '',
// 1002: ''
// }
// const kmObj = {
// 1: '',
// 4: ''
// }
// return `${cjObj[queryParams.value.carTypeId]}${kmObj[queryParams.value.subject]} ${
// idx + 1
// }`
return `考前密卷 第${idx + 1}`
}
function removeMj(item) {
message

Loading…
Cancel
Save