后台适应人群管理

main
yanzai 1 year ago
parent 0c386a5db2
commit 34321489d9

@ -14,4 +14,32 @@ class ComboCrowdController extends Controller
$list=DB::table('combo_crowd')->get(); $list=DB::table('combo_crowd')->get();
return \Yz::Return(true,'查询成功',['list'=>$list]); return \Yz::Return(true,'查询成功',['list'=>$list]);
} }
public function Save()
{
$Info=request('Info');
$data=['name'=>$Info['name']];
$u=false;
if(isset($Info['id']) and $Info['id']<>0){
//更新
$u=DB::table('combo_crowd')->where('id',$Info['id'])->update($data);
}else{
//添加
$u=DB::table('combo_crowd')->insert($data);
}
if($u){
return \Yz::Return(true,"操作完成",[]);
}else{
return \Yz::echoError1("操作失败");
}
}
public function Del(){
$id=request('id');
$d=DB::table('combo_crowd')->where('id',$id)->delete();
if($d){
return \Yz::Return(true,"操作完成",[]);
}else{
return \Yz::echoError1("操作失败");
}
}
} }

@ -95,6 +95,8 @@ Route::group(['middleware' => ['checktoken', 'log'], 'prefix' => 'v1'], function
Route::post('admin/SaveCacheInfo', 'App\Http\Controllers\API\Admin\YeWu\HospitalController@SaveCacheInfo'); Route::post('admin/SaveCacheInfo', 'App\Http\Controllers\API\Admin\YeWu\HospitalController@SaveCacheInfo');
Route::post('admin/ComboTypeGetList', 'App\Http\Controllers\API\Admin\YeWu\ComboTypeController@GetList');//套餐类型列表 Route::post('admin/ComboTypeGetList', 'App\Http\Controllers\API\Admin\YeWu\ComboTypeController@GetList');//套餐类型列表
Route::post('admin/ComboCrowdGetList', 'App\Http\Controllers\API\Admin\YeWu\ComboCrowdController@GetList');//套餐适应人群 Route::post('admin/ComboCrowdGetList', 'App\Http\Controllers\API\Admin\YeWu\ComboCrowdController@GetList');//套餐适应人群
Route::post('admin/ComboCrowdSave', 'App\Http\Controllers\API\Admin\YeWu\ComboCrowdController@Save');//套餐适应人群保存
Route::post('admin/ComboCrowdDel', 'App\Http\Controllers\API\Admin\YeWu\ComboCrowdController@Del');//套餐适应人群删除
Route::post('admin/OrderGetList', 'App\Http\Controllers\API\Admin\YeWu\OrderController@GetList');//订单列表 Route::post('admin/OrderGetList', 'App\Http\Controllers\API\Admin\YeWu\OrderController@GetList');//订单列表
Route::post('admin/QuestionGetList', 'App\Http\Controllers\API\Admin\YeWu\QuestionController@GetList');//问答列表 Route::post('admin/QuestionGetList', 'App\Http\Controllers\API\Admin\YeWu\QuestionController@GetList');//问答列表
Route::post('admin/QuestionSave', 'App\Http\Controllers\API\Admin\YeWu\QuestionController@Save');//保存题目 Route::post('admin/QuestionSave', 'App\Http\Controllers\API\Admin\YeWu\QuestionController@Save');//保存题目

@ -213,6 +213,14 @@ export const ComboTypeGetList = (data={}) => {
export const ComboCrowdGetList = (data={}) => { export const ComboCrowdGetList = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboCrowdGetList',data:data}) return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboCrowdGetList',data:data})
} }
//获取套餐适用人群save
export const ComboCrowdSave = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboCrowdSave',data:data})
}
//获取套餐适用人群del
export const ComboCrowdDel = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboCrowdDel',data:data})
}
//获取订单列表 //获取订单列表
export const OrderGetList = (data={}) => { export const OrderGetList = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/OrderGetList',data:data}) return axios({url:import.meta.env.VITE_APP_API+'v1/admin/OrderGetList',data:data})

@ -190,6 +190,13 @@ const router = createRouter({
meta: { meta: {
title: '问卷项目' title: '问卷项目'
} }
},{
path: '/comboMngr/crowd',
name: 'ComboMngrCrowd',
component: () => import('../views/ComboMngr/Crowd.vue'),
meta: {
title: '套餐适用人群'
}
}] }]
}, },

@ -0,0 +1,155 @@
<template>
<div>
<div class="head">
<div class="head">
<el-row>
<!-- <el-form-item>
<el-input v-model="searchInfo.name" placeholder="请输入类型名称" style="margin-left: 10px;" />
</el-form-item>
<el-button type="primary" @click="GetList()" style="margin-left: 10px;">查询</el-button> -->
<el-button type="success" @click="Add()" style="margin-left: 10px;">添加</el-button>
</el-row>
</div>
</div>
<el-table :data="tableData" style="width: 100%;" row-key="id" v-loading="loading">
<el-table-column prop="id" label="Id" width="100" v-if="false" />
<el-table-column prop="name" label="名称" />
<el-table-column prop="" label="操作" width="150">
<template #default="scope">
<el-button type="primary" @click="Edit(scope.row)" size="small">修改</el-button>
<el-button type="danger" @click="Del(scope.row.id)" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog v-model="dialogVisible" title="适应人群设置">
<div class="chuansuokuang" v-loading="loading">
<el-form :model="Info" label-width="80" style="max-width: 600px">
<el-form-item label="名称">
<el-input v-model="Info.name" />
</el-form-item>
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="Save()">
确定
</el-button>
</span>
</template>
</el-dialog>
</div>
</template>
<script setup>
import {
ref,
onMounted
} from 'vue';
import {
ElMessage,
ElMessageBox
} from 'element-plus'
import {
ComboCrowdGetList,
ComboCrowdSave,
ComboCrowdDel
} from '@/api/api.js'
let loading = ref(false)
let searchInfo = ref({})
let tableData = ref([])
let currentPage = ref(1) //
let pageSize = ref(15) //
let total = 0 //
const PageSizeChange = (e) => { //
pageSize.value = e
GetList()
}
const PageCurrentChange = (e) => { //
currentPage.value = e
GetList()
}
const GetList = () => {
loading.value = true
ComboCrowdGetList({
searchInfo: searchInfo.value,
page: currentPage.value,
pageSize: pageSize.value
}).then(res => {
loading.value = false
if (res.status) {
tableData.value = res.data.list
total = res.data.count
} else {
ElMessage.error(res.msg)
}
})
}
let Info = ref({});
let dialogVisible = ref(false);
const Add = () => {
Info.value = {}
Info.value.id = 0
Info.value.status = 1
dialogVisible.value = true
}
const Save = () => {
loading.value = true
ComboCrowdSave({
Info: Info.value
}).then(res => {
loading.value = false
if (res.status) {
dialogVisible.value = false
GetList()
} else {
ElMessage.error(res.msg)
}
})
}
const Edit=(row)=>{
dialogVisible.value = true
Info.value.name =row.name
Info.value.id = row.id
}
//
const GetDetailFunc=(id)=>{
loading.value = true
PlanTypeGetDetail({
id: id
}).then(res => {
loading.value = false
if (res.status) {
Info.value=res.data
} else {
ElMessage.error(res.msg)
}
})
}
const Del=(id)=>{
loading.value = true
ComboCrowdDel({
id: id
}).then(res => {
loading.value = false
if (res.status) {
GetList()
} else {
ElMessage.error(res.msg)
}
})
}
onMounted(() => {
GetList()
})
</script>
<style scoped>
.head{
margin: 10px auto;
}
</style>

@ -48,7 +48,7 @@
</el-row> </el-row>
</el-header> </el-header>
<el-container> <el-container>
<el-aside> <el-aside style="overflow-y: scroll; height: calc(100vh - 60px) ;">
<el-menu class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" :default-active="activeMenu" <el-menu class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" :default-active="activeMenu"
:collapse="isCollapse" > :collapse="isCollapse" >
<el-menu-item index="2-222" @click="to('dashboard')"> <el-menu-item index="2-222" @click="to('dashboard')">

Loading…
Cancel
Save