套餐适用人群,参数设置

wenjuan
yanzai 1 year ago
parent 537751d71c
commit a2e580b276

@ -10,14 +10,23 @@ class ConfigController extends Controller
{
//获取站点配置信息
public function GetConfigInfo(){
public function GetConfigInfo(Request $request){
$userid = $request->get('userid');//中间件产生的参数
$group=$request->get('role');
$is_admin=false;
if(in_array($group,[1])){
$is_admin=true;
}
$configs = new ConfigService();
return $configs->GetConfigInfo(['站点名称','站点图片']);
return $configs->GetConfigInfo(['站点名称','站点图片'],$is_admin);
}
public function SaveConfig(){
$name = request('name');
$logo = request('logo');
$configs = new ConfigService();
return $configs->SaveConfig($name,$logo);
$data = request('data');
if(count($data)>0){
$configs = new ConfigService();
return $configs->SaveConfig($data);
}
}
}

@ -106,9 +106,10 @@ class ComboController extends Controller
$pageSize = request('pageSize');
$searchInfo = request('searchInfo');
$list=DB::table('combos')
->select('combos.*','hospitals.name as hospital_name','combo_type.name as combo_type_name')
->select('combos.*','hospitals.name as hospital_name','combo_type.name as combo_type_name','combo_crowd.name as combo_crowd_name')
->leftJoin('hospitals','hospitals.id','=','combos.hospital_id')
->leftJoin('combo_type','combos.type_id','=','combo_type.id');
->leftJoin('combo_type','combos.type_id','=','combo_type.id')
->leftJoin('combo_crowd','combos.crowd_id','=','combo_crowd.id');
if(isset($searchInfo['name'])){
$list = $list->where('combos.name', 'like', '%' . $searchInfo['name'] . '%');
@ -137,6 +138,7 @@ class ComboController extends Controller
$Info = request('Info');
$u=DB::table('combos')->where(['id'=>$Info['id']])->update([
'type_id'=>$Info['type_id'],
'crowd_id'=>$Info['crowd_id'],
'tags'=>isset($Info['tags'])?json_encode($Info['tags'],JSON_UNESCAPED_UNICODE):[],
'cover'=>$Info['cover'],
'intro'=>$Info['intro'],

@ -0,0 +1,17 @@
<?php
namespace App\Http\Controllers\API\Admin\YeWu;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class ComboCrowdController extends Controller
{
//获取适用人群列表
public function GetList()
{
$list=DB::table('combo_crowd')->get();
return \Yz::Return(true,'查询成功',['list'=>$list]);
}
}

@ -7,8 +7,14 @@ class ConfigService
{
//获取配置信息
public function GetConfigInfo($arr){
$q=DB::table('configs')->select(['label','value'])->whereIn('label',$arr)->get();
public function GetConfigInfo($arr,$is_admin=false){
$q=DB::table('configs')->select(['label','value']);
if($is_admin){
}else{
$q=$q->whereIn('label',$arr);
}
$q=$q->get();
if(count($q)>0) {
$result = [];
foreach ($q as $k => $v) {
@ -19,19 +25,19 @@ class ConfigService
return \Yz::Return(false, '查询失败');
}
}
public function SaveConfig($name,$logo){
$result=array();
DB::beginTransaction();
try {
$d= DB::table('configs')->where('label', '=', '站点名称')->update(['value'=>$name]);
$d= DB::table('configs')->where('label', '=', '站点图片')->update(['value'=>$logo]);
DB::commit(); // 手动提交事务
return \Yz::Return(true, '操作成功');
} catch (\Exception $e) {
DB::rollback(); // 发生异常时手动回滚事务
return \Yz::Return(false, '操作失败');
public function SaveConfig($data){
foreach ($data as $key=>$item){
$u=DB::table('configs')->where('label', '=', $key)->update(['value'=>$item]);
}
if($u){
return \Yz::Return(true, '操作成功');
}else{
return \Yz::Return(false, '操作失败');
}
}
}

@ -74,6 +74,7 @@ Route::group(['middleware' => ['checktoken', 'log'], 'prefix' => 'v1'], function
Route::post('admin/GetBaseInfoDetail', 'App\Http\Controllers\API\Admin\YeWu\HospitalController@GetBaseInfoDetail');
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/ComboCrowdGetList', 'App\Http\Controllers\API\Admin\YeWu\ComboCrowdController@GetList');//套餐适应人群
});

@ -204,3 +204,8 @@ export const SaveCacheInfo = (data={}) => {
export const ComboTypeGetList = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboTypeGetList',data:data})
}
//获取套餐适用人群
export const ComboCrowdGetList = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/ComboCrowdGetList',data:data})
}

@ -13,6 +13,7 @@
<el-table-column prop="hospital_name" label="医院" />
<el-table-column prop="name" label="套餐名称" />
<el-table-column prop="combo_type_name" label="套餐类型" />
<el-table-column prop="combo_crowd_name" label="适用人群" />
<el-table-column prop="price" label="价格" />
<el-table-column prop="sex" label="性别">
<template #default="scope">
@ -54,6 +55,12 @@
<el-option v-for="(item,index) in ComboTypeList" :key="index" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="适应人群">
<el-select :filterable="true" clearable v-model="Info.crowd_id" placeholder="选择适应人群"
>
<el-option v-for="(item,index) in ComboCrowdList" :key="index" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="标签">
<el-input v-model="Info.tags" type="textarea" />
</el-form-item>
@ -104,7 +111,7 @@
UpFileUrl,
ComboGetList,
ComboGetDetail,
ComboSave,ComboTypeGetList
ComboSave,ComboTypeGetList,ComboCrowdGetList
} from '@/api/api.js'
import {
Edit
@ -165,6 +172,7 @@
loading.value = false
if (res.status) {
dialogVisible.value = false
GetList()
} else {
ElMessage.error(res.msg)
}
@ -174,6 +182,7 @@
dialogVisible.value = true
loading.value = true
GetComboType()
GetComboCrowd()
ComboGetDetail({
id: row.id
}).then(res => {
@ -245,6 +254,19 @@
}
})
}
//
let ComboCrowdList=ref([]);
const GetComboCrowd = () => {
loading.value = true
ComboCrowdGetList({}).then(res => {
loading.value = false
if (res.status) {
ComboCrowdList.value=res.data.list
} else {
ElMessage.error(res.msg)
}
})
}
onMounted(() => {
GetList()
})

@ -14,22 +14,27 @@
inactive-action-icon="Sunny" @change="toggleDark" />
</div>
</div>
<el-form style="width: 400px;" ref="ruleFormRef" status-icon class="demo-ruleForm">
<el-form-item>
<span style="font-size: 22px;">登录您的账户</span>
</el-form-item>
<el-form-item>
<el-input v-model.number="username" ref="usernameRef" @keyup.enter="focusNextTo()" :prefix-icon="User" placeholder="用户名" size="large" />
</el-form-item>
<el-form-item>
<el-input v-model="pwd" type="password" ref="passwordRef" @keyup.enter="login()" autocomplete="off" placeholder="密码" size="large"/>
</el-form-item>
<el-form-item>
<el-button style="width: 100%;" type="primary" @click="login(ruleFormRef)"
size="large">登录</el-button>
</el-form-item>
<div style="height: 160px;"></div>
</el-form>
<div style="margin-top: -100px;">
<div style="font-size: 36px; margin-left: -100px;margin-bottom: 50px;">海南现代妇女儿童医院体检预约平台</div>
<el-form style="width: 400px;" ref="ruleFormRef" status-icon class="demo-ruleForm">
<el-form-item>
<span style="font-size: 22px;">登录您的账户</span>
</el-form-item>
<el-form-item>
<el-input v-model.number="username" ref="usernameRef" @keyup.enter="focusNextTo()"
:prefix-icon="User" placeholder="用户名" size="large" />
</el-form-item>
<el-form-item>
<el-input v-model="pwd" type="password" ref="passwordRef" @keyup.enter="login()"
autocomplete="off" placeholder="密码" size="large" :prefix-icon="Lock" />
</el-form-item>
<el-form-item>
<el-button style="width: 100%;" type="primary" @click="login(ruleFormRef)"
size="large">登录</el-button>
</el-form-item>
<div style="height: 160px;"></div>
</el-form>
</div>
<div class="right_bottom"></div>
</el-col>
</el-row>

@ -6,8 +6,8 @@
站点信息
</el-col>
</el-row>
<el-row style="padding: 20px;margin:10px ;">
<el-col :span="16">
<el-row style="padding:auto 20px;margin:auto 10px ;">
<el-col :span="8">
<el-form-item label="Logo">
<el-upload style="margin-left: 20px;" class="avatar-uploader" :action="upfileurl"
:headers="headerObj" :show-file-list="false" :on-success="upLoadSuccess">
@ -17,16 +17,50 @@
</el-icon>
</el-upload>
</el-form-item>
<el-form-item label="站点名称">
<!-- <el-form-item label="站点名称">
<el-input size="large" v-model="configInfo.name" placeholder="名称"
style=" margin: auto 20px;" />
</el-form-item>
</el-form-item> -->
</el-col>
<el-col :span="8" style="display:flex;align-items:center;"><el-button type="primary" size="large"
@click="saveInfo"> </el-button></el-col>
@click="saveInfo('站点图片')"> </el-button></el-col>
</el-row>
<el-row style="padding:auto 20px;margin: auto 10px ;">
<el-col :span="8">
<el-form-item label="站点名称">
<el-input size="large" v-model="configInfo." placeholder="名称"
style=" margin: auto 20px;" />
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" size="large"
@click="saveInfo('站点名称')"> </el-button>
</el-col>
</el-row>
<el-row style="padding:auto 20px;margin: auto 10px ;">
<el-col :span="8">
<el-form-item label="客服电话">
<el-input size="large" v-model="configInfo." placeholder="客服电话"
style=" margin: auto 20px;" />
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" size="large"
@click="saveInfo('客服电话')"> </el-button>
</el-col>
</el-row>
<el-row style="padding:auto 20px;margin: auto 10px ;">
<el-col :span="8">
<el-form-item label="积分抵扣比例">
<el-input size="large" v-model="configInfo." placeholder="积分抵扣比例"
style=" margin: auto 20px;" />
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="primary" size="large"
@click="saveInfo('积分抵扣比例')"> </el-button>
</el-col>
</el-row>
</el-form>
</div>
</template>
@ -54,7 +88,7 @@
//
const upLoadSuccess = (res) => {
logo.value = import.meta.env.VITE_APP_FILE + res.data
configInfo.value.logo = res.data
configInfo.value.站点图片 = res.data
}
//
const GetConfig=()=>{
@ -62,23 +96,20 @@
GetConfigInfo().then(res => {
loading.value=false
if(res.status){
configInfo.value.name=res.data.站点名称
configInfo.value.logo=res.data.站点图片
logo.value=import.meta.env.VITE_APP_FILE+configInfo.value.logo
configInfo.value=res.data
logo.value=import.meta.env.VITE_APP_FILE+configInfo.value.站点图片
}
})
}
//
let configInfo=ref({
name:'',
logo:''
});
const saveInfo = () => {
const saveInfo = (name) => {
let data={[name]:configInfo.value[name]}
loading.value=true
SaveConfigInfo({
'name': configInfo.value.name,
'logo': configInfo.value.logo
}).then(res => {
SaveConfigInfo({data:data}).then(res => {
loading.value=false
if (res.status) {
ElMessage({
@ -86,7 +117,7 @@
type: 'success',
})
setTimeout(()=>{
location.reload();
//location.reload();
},500)
} else {
ElMessage.error(res.msg)

Loading…
Cancel
Save