后台订单管理 完善详情 增加备注

main
yanzai 1 year ago
parent c5ca122b2a
commit 7262c7e466

@ -24,9 +24,28 @@ class OrderController extends Controller
$list = $list->where('order_number', $searchInfo['order_number'] ); $list = $list->where('order_number', $searchInfo['order_number'] );
} }
$count=$list->count(); $count=$list->count();
$list=$list $list=$list->orderBy('id','desc')
->skip(($page-1)*$pageSize) // 跳过前9999条记录 ->skip(($page-1)*$pageSize) // 跳过前9999条记录
->take($pageSize)->get(); ->take($pageSize)->get();
return \Yz::Return(true,"查询完成",['list'=>$list,'count'=>$count]); return \Yz::Return(true,"查询完成",['list'=>$list,'count'=>$count]);
} }
public function GetDetail()
{
$id = request('id');
$order=DB::table('orders')->where(['id'=>$id])->first();
return \Yz::Return(true,"查询完成",['info'=>$order]);
}
public function Save()
{
$info = request('info');
$date=[
'note'=>$info['note']
];
$u=DB::table('orders')->where(['id'=>$info['id']])->update($date);
if($u){
return \Yz::Return(true,"操作完成",[]);
}else{
return \Yz::echoError1("保存失败");
}
}
} }

@ -98,6 +98,8 @@ Route::group(['middleware' => ['checktoken', 'log'], 'prefix' => 'v1'], function
Route::post('admin/ComboCrowdSave', 'App\Http\Controllers\API\Admin\YeWu\ComboCrowdController@Save');//套餐适应人群保存 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/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/OrderGetDetail', 'App\Http\Controllers\API\Admin\YeWu\OrderController@GetDetail');//订单详情
Route::post('admin/OrderSave', 'App\Http\Controllers\API\Admin\YeWu\OrderController@Save');//订单保存
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');//保存题目
Route::post('admin/QuestionGetDetail', 'App\Http\Controllers\API\Admin\YeWu\QuestionController@GetDetail');//题目详情 Route::post('admin/QuestionGetDetail', 'App\Http\Controllers\API\Admin\YeWu\QuestionController@GetDetail');//题目详情

@ -225,6 +225,14 @@ export const ComboCrowdDel = (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})
} }
//获取订单详情
export const OrderGetDetail = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/OrderGetDetail',data:data})
}
//保存订单信息
export const OrderSave = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/OrderSave',data:data})
}
//获取问答列表 //获取问答列表
export const QuestionGetList = (data={}) => { export const QuestionGetList = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/QuestionGetList',data:data}) return axios({url:import.meta.env.VITE_APP_API+'v1/admin/QuestionGetList',data:data})

@ -48,7 +48,7 @@
</el-row> </el-row>
</el-header> </el-header>
<el-container> <el-container>
<el-aside style="overflow-y: scroll; height: calc(100vh - 60px) ;"> <el-aside >
<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')">
@ -159,6 +159,7 @@ watch(()=>router.currentRoute.value,(newVal,oldVal)=>{
console.log(url) console.log(url)
activeMenu.value=url activeMenu.value=url
window.location.href = "./#/" + url window.location.href = "./#/" + url
window.scroll(0, 0);
} }
const menuList = () => { // const menuList = () => { //
GetAdminBaseMenuList().then(res => { GetAdminBaseMenuList().then(res => {

@ -23,7 +23,8 @@
<el-table-column prop="id_number" label="身份证" width="160" /> <el-table-column prop="id_number" label="身份证" width="160" />
<el-table-column prop="phone" label="电话" /> <el-table-column prop="phone" label="电话" />
<el-table-column prop="order_number" label="订单号" /> <el-table-column prop="order_number" label="订单号" />
<el-table-column prop="type" label="类型" > <el-table-column prop="title" label="订单名称" />
<el-table-column prop="type" label="类型">
<template #default="scope"> <template #default="scope">
<span v-if="scope.row.type==1" style="color: #409EFF;"></span> <span v-if="scope.row.type==1" style="color: #409EFF;"></span>
<span v-if="scope.row.type==2" style="color: #E6A23C;"></span> <span v-if="scope.row.type==2" style="color: #E6A23C;"></span>
@ -39,10 +40,16 @@
<span v-if="scope.row.status==5" style="color: #F56C6C;">退</span> <span v-if="scope.row.status==5" style="color: #F56C6C;">退</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="check_status" label="到检状态">
<template #default="scope">
<span v-if="scope.row.check_status==1" style="color: #ffb682;"></span>
<span v-if="scope.row.check_status==2" style="color: #9dd978;"></span>
</template>
</el-table-column>
<el-table-column prop="created_at" label="创建时间" width="180" /> <el-table-column prop="created_at" label="创建时间" width="180" />
<el-table-column label="操作" width="100"> <el-table-column label="操作" width="100">
<template #default="scope"> <template #default="scope">
<el-button type="primary" :icon="Edit" circle /> <el-button type="primary" @click="EditFunc(scope.row)" :icon="Edit" circle />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -51,6 +58,64 @@
:page-sizes="[15, 50, 100, 200]" layout="total,sizes, prev, pager, next" :total="total" :page-sizes="[15, 50, 100, 200]" layout="total,sizes, prev, pager, next" :total="total"
@size-change="PageSizeChange" @current-change="PageCurrentChange" /> @size-change="PageSizeChange" @current-change="PageCurrentChange" />
</div> </div>
<el-dialog v-model="dialogVisible" title="订单详情">
<div class="chuansuokuang" v-loading="loading">
<el-form v-if="Info" :model="Info" label-width="100" style="max-width: 600px">
<el-form-item label="姓名:">
{{Info.name}}
</el-form-item>
<el-form-item label="电话:">
{{Info.phone}}
</el-form-item>
<el-form-item label="身份证:">
{{Info.id_number}}
</el-form-item>
<el-form-item label="订单名称:">
{{Info.title}}
</el-form-item>
<el-form-item label="类型:">
<span v-if="Info.type==1"></span><span v-if="Info.type==2"></span>
</el-form-item>
<el-form-item label="实付金额:">
{{Info.true_price}}
</el-form-item>
<el-form-item label="使用积分:">
{{Info.jifen}}
</el-form-item>
<el-form-item label="预存款抵扣:">
{{Info.yucunkuan}}
</el-form-item>
<el-form-item label="订单状态:">
<span v-if="Info.status==1" style="color: #409EFF;"></span>
<span v-if="Info.status==2" style="color: #E6A23C;"></span>
<span v-if="Info.status==3" style="color: #909399;"></span>
<span v-if="Info.status==4" style="color: #67C23A;"></span>
<span v-if="Info.status==5" style="color: #F56C6C;">退</span>
</el-form-item>
<el-form-item label="到检状态:">
<span v-if="Info.status==1" style="color: #ffb682;"></span>
<span v-if="Info.status==2" style="color: #9dd978;"></span>
</el-form-item>
<el-form-item v-if="Info.pay_time" label="支付时间:">
{{Info.pay_time}}
</el-form-item>
<el-form-item v-if="Info.appointment_date" label="预约时间:">
{{Info.appointment_date}} {{Info.appointment_time}}
</el-form-item>
<el-form-item label="备注:">
<el-input v-model="Info.note" :rows="3" type="textarea" placeholder="备注信息" />
</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> </div>
</template> </template>
@ -63,9 +128,11 @@
ElMessage ElMessage
} from 'element-plus' } from 'element-plus'
import { import {
OrderGetList OrderGetList,
OrderGetDetail,
OrderSave
} from '@/api/api.js' } from '@/api/api.js'
import { import {
Edit Edit
} from '@element-plus/icons-vue' } from '@element-plus/icons-vue'
@ -100,6 +167,38 @@ import {
} }
}) })
} }
let dialogVisible = ref(false);
let Info = ref(null);
const EditFunc = (row) => {
dialogVisible.value = true
GetDetailFunc(row.id)
}
const GetDetailFunc = (id) => {
loading.value = true
OrderGetDetail({
id: id
}).then(res => {
loading.value = false
Info.value = res.data.info
})
}
const Save = () => {
loading.value = true
OrderSave({
info: Info.value
}).then(res => {
loading.value = false
if(res.status){
ElMessage({
message: '保存成功',
type: 'success',
})
dialogVisible.value = false
}else{
ElMessage.error(res.msg)
}
})
}
onMounted(() => { onMounted(() => {
GetList() GetList()
}) })

Loading…
Cancel
Save