后台订单管理,

wenjuan
yanzai 1 year ago
parent 5196c636d5
commit 876616d5d0

@ -128,6 +128,7 @@ class ComboController extends Controller
$query=DB::table('combos')->where(['id'=>$id])->first(); $query=DB::table('combos')->where(['id'=>$id])->first();
if(!!$query){ if(!!$query){
$query->tags=implode(", ", json_decode($query->tags,true)); $query->tags=implode(", ", json_decode($query->tags,true));
$query->tags2=implode(", ", json_decode($query->tags2,true));
$query->items=json_decode($query->items); $query->items=json_decode($query->items);
return \Yz::Return(true,"查询完成",$query); return \Yz::Return(true,"查询完成",$query);
}else{ }else{
@ -141,6 +142,7 @@ class ComboController extends Controller
'type_id'=>$Info['type_id'], 'type_id'=>$Info['type_id'],
'crowd_id'=>$Info['crowd_id'], 'crowd_id'=>$Info['crowd_id'],
'tags'=>isset($Info['tags'])?json_encode($Info['tags'],JSON_UNESCAPED_UNICODE):[], 'tags'=>isset($Info['tags'])?json_encode($Info['tags'],JSON_UNESCAPED_UNICODE):[],
'tags2'=>isset($Info['tags2'])?json_encode($Info['tags2'],JSON_UNESCAPED_UNICODE):[],
'cover'=>$Info['cover'], 'cover'=>$Info['cover'],
'intro'=>$Info['intro'], 'intro'=>$Info['intro'],
'sub_intro'=>$Info['sub_intro'], 'sub_intro'=>$Info['sub_intro'],

@ -0,0 +1,32 @@
<?php
namespace App\Http\Controllers\API\Admin\YeWu;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class OrderController extends Controller
{
public function GetList()
{
$page = request('page');
$pageSize = request('pageSize');
$searchInfo = request('searchInfo');
$list=DB::table('orders');
if(isset($searchInfo['name'])){
$list = $list->where('name', 'like', '%' . $searchInfo['name'] . '%');
}
if(isset($searchInfo['id_number'])){
$list = $list->where('id_number', $searchInfo['id_number'] );
}
if(isset($searchInfo['order_number'])){
$list = $list->where('order_number', $searchInfo['order_number'] );
}
$count=$list->count();
$list=$list
->skip(($page-1)*$pageSize) // 跳过前9999条记录
->take($pageSize)->get();
return \Yz::Return(true,"查询完成",['list'=>$list,'count'=>$count]);
}
}

@ -75,6 +75,9 @@ 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/OrderGetList', 'App\Http\Controllers\API\Admin\YeWu\OrderController@GetList');//订单列表
}); });

@ -209,3 +209,7 @@ 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})
} }
//获取订单列表
export const OrderGetList = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/OrderGetList',data:data})
}

@ -141,6 +141,13 @@ const router = createRouter({
meta: { meta: {
title: '医院管理' title: '医院管理'
} }
},{
path: '/orderMngr/order',
name: 'OrderMngrOrder',
component: () => import('../views/OrderMngr/Order.vue'),
meta: {
title: '订单列表'
}
}] }]
}, },

@ -64,6 +64,9 @@
<el-form-item label="标签"> <el-form-item label="标签">
<el-input v-model="Info.tags" type="textarea" /> <el-input v-model="Info.tags" type="textarea" />
</el-form-item> </el-form-item>
<el-form-item label="标签2">
<el-input v-model="Info.tags2" type="textarea" />
</el-form-item>
<el-form-item label="简介"> <el-form-item label="简介">
<el-input v-model="Info.intro" type="textarea" /> <el-input v-model="Info.intro" type="textarea" />
</el-form-item> </el-form-item>
@ -164,6 +167,9 @@
if(!Array.isArray(Info.value.tags)){ if(!Array.isArray(Info.value.tags)){
Info.value.tags = toArray(Info.value.tags) Info.value.tags = toArray(Info.value.tags)
} }
if(!Array.isArray(Info.value.tags2)){
Info.value.tags2 = toArray(Info.value.tags2)
}
loading.value = true loading.value = true
ComboSave({ ComboSave({

@ -0,0 +1,109 @@
<template>
<div>
<div class="head">
<el-row>
<el-form-item>
<el-input v-model="searchInfo.name" placeholder="姓名" />
</el-form-item>
<el-form-item>
<el-input v-model="searchInfo.id_number" placeholder="身份证" />
</el-form-item>
<el-form-item>
<el-input v-model="searchInfo.order_number" placeholder="订单号" />
</el-form-item>
<el-form-item>
<el-button type="primary" style="margin-left: 10px;" @click="GetList()"></el-button>
</el-form-item>
</el-row>
</div>
<el-table :data="tableData" style="width: 100%;" row-key="id" v-loading="loading">
<el-table-column prop="name" label="姓名" width="100" />
<el-table-column prop="id_number" label="身份证" width="160" />
<el-table-column prop="phone" label="电话" />
<el-table-column prop="order_number" label="订单号" />
<el-table-column prop="type" label="类型" >
<template #default="scope">
<span v-if="scope.row.type==1" style="color: #409EFF;"></span>
<span v-if="scope.row.type==2" style="color: #E6A23C;"></span>
</template>
</el-table-column>
<el-table-column prop="price" label="金额" />
<el-table-column prop="order_number" label="状态">
<template #default="scope">
<span v-if="scope.row.status==1" style="color: #409EFF;"></span>
<span v-if="scope.row.status==2" style="color: #E6A23C;"></span>
<span v-if="scope.row.status==3" style="color: #909399;"></span>
<span v-if="scope.row.status==4" style="color: #67C23A;"></span>
<span v-if="scope.row.status==5" style="color: #F56C6C;">退</span>
</template>
</el-table-column>
<el-table-column prop="created_at" label="创建时间" width="180" />
<el-table-column label="操作" width="100">
<template #default="scope">
<el-button type="primary" :icon="Edit" circle />
</template>
</el-table-column>
</el-table>
<div class="page">
<el-pagination v-model:current-page="currentPage" v-model:page-size="pageSize"
:page-sizes="[15, 50, 100, 200]" layout="total,sizes, prev, pager, next" :total="total"
@size-change="PageSizeChange" @current-change="PageCurrentChange" />
</div>
</div>
</template>
<script setup>
import {
ref,
onMounted
} from 'vue'
import {
ElMessage
} from 'element-plus'
import {
OrderGetList
} from '@/api/api.js'
import {
Edit
} from '@element-plus/icons-vue'
let loading = ref(false)
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()
}
let searchInfo = ref({})
const GetList = () => {
loading.value = true
OrderGetList({
page: currentPage.value,
pageSize: pageSize.value,
searchInfo: searchInfo.value
}).then(res => {
loading.value = false
if (res.status) {
tableData.value = res.data.list
total = res.data.count
} else {
ElMessage.error(res.msg)
}
})
}
onMounted(() => {
GetList()
})
</script>
<style>
</style>

@ -237,6 +237,6 @@
.status_tingyong{ .status_tingyong{
background-color: #5f5f5f; background-color: #5f5f5f;
border: 1px solid #857467; border: 1px solid #857467;
color:#110500 color:#fff
} }
</style> </style>
Loading…
Cancel
Save