后台增加撤销转赠码

main
yanzai 2 months ago
parent dc8251f1b8
commit ed43d8d66d

@ -18,7 +18,7 @@ class ConfigController extends Controller
$is_admin=true; $is_admin=true;
} }
$configs = new ConfigService(); $configs = new ConfigService();
return $configs->GetConfigInfo(['站点名称','站点图片'],$is_admin); return $configs->GetConfigInfo(['站点名称','站点图片','撤销转赠权限'],$is_admin);
} }
public function SaveConfig(){ public function SaveConfig(){

@ -0,0 +1,55 @@
<?php
namespace App\Http\Controllers\API\Admin\YeWu;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class TransferCodeController
{
public function CancelZhuanZeng(Request $request){
$userid = $request->get('userid');//中间件产生的参数
$group=$request->get('role');
$code_id = request('code_id');
$order_id = request('order_id');
$config=DB::table('configs')->where(['label'=>'撤销转赠权限'])->first();
$orderInfo=DB::table('orders')->where(['id'=>$order_id])->first();
if(!!$config){
$config->value= explode(',', $config->value);
if(in_array($group, $config->value)){
$code=DB::table('transfer_code')->where(['id'=>$code_id,'is_del'=>0,'status'=>1])->first();
if(!!$code){
if($code->link_order_id<>$order_id){
return \Yz::echoError1("订单id与转赠码关联不匹配");
}
DB::beginTransaction();
try {
$u_code=DB::table('transfer_code')->where(['id'=>$code_id])->update([
'is_del'=>1,
]);
$u_order=DB::table('orders')->where(['id'=>$order_id])->update([
'status'=>2,
'transfer_type'=>null,
'transfer_link'=>null,
]);
if($u_code&&$u_order){
DB::commit();
return \Yz::Return(true,'操作成功',['orderid'=>$order_id]);
}else{
DB::rollBack();
}
}catch ( \Exception $e ) {
DB::rollBack();
}
}else{
return \Yz::echoError1("未找到有效转赠码");
}
}else{
return \Yz::echoError1("暂无权限");
}
}
}
}

@ -18,6 +18,9 @@ class ConfigService
if(count($q)>0) { if(count($q)>0) {
$result = []; $result = [];
foreach ($q as $k => $v) { foreach ($q as $k => $v) {
if($v->label=='撤销转赠权限'){
$v->value= explode(',', $v->value);
}
$result[$v->label] = $v->value; $result[$v->label] = $v->value;
} }
return \Yz::Return(true, '查询成功', $result); return \Yz::Return(true, '查询成功', $result);

@ -141,6 +141,7 @@ Route::group(['middleware' => ['checktoken', 'log'], 'prefix' => 'v1'], function
Route::post('admin/QuestionExport', 'App\Http\Controllers\API\Admin\YeWu\QuestionLogController@Export');//导出回答 Route::post('admin/QuestionExport', 'App\Http\Controllers\API\Admin\YeWu\QuestionLogController@Export');//导出回答
Route::post('admin/GetWorkUnitEnableList', 'App\Http\Controllers\API\Admin\YeWu\WorkUnitController@GetEnableList');//获取单位列表 Route::post('admin/GetWorkUnitEnableList', 'App\Http\Controllers\API\Admin\YeWu\WorkUnitController@GetEnableList');//获取单位列表
Route::post('admin/CancelZhuanZengCode', 'App\Http\Controllers\API\Admin\YeWu\TransferCodeController@CancelZhuanZeng');//取消转赠

@ -459,4 +459,8 @@ export const ComboSaveOrder = (data = {}) => {
//获取单位可用列表 //获取单位可用列表
export const GetWorkUnitEnableList = (data = {}) => { export const GetWorkUnitEnableList = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + `v1/admin/GetWorkUnitEnableList`, data: data }) return axios({ url: import.meta.env.VITE_APP_API + `v1/admin/GetWorkUnitEnableList`, data: data })
}
//取消转赠码
export const CancelZhuanZengCode = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + `v1/admin/CancelZhuanZengCode`, data: data })
} }

@ -202,6 +202,7 @@ watch(()=>router.currentRoute.value,(newVal,oldVal)=>{
if(res.status){ if(res.status){
configInfo.value=res.data configInfo.value=res.data
configInfo.value.站点图片=import.meta.env.VITE_APP_FILE+configInfo.value.站点图片 configInfo.value.站点图片=import.meta.env.VITE_APP_FILE+configInfo.value.站点图片
sessionStorage.setItem('ConfigInfo',JSON.stringify(configInfo.value))
} }
}) })
} }

@ -105,7 +105,10 @@
<span style="color: #67C23A;">已完成</span> <span style="color: #67C23A;">已完成</span>
</div> </div>
<span v-if="Info.status==5" style="color: #F56C6C;">退</span> <span v-if="Info.status==5" style="color: #F56C6C;">退</span>
<span v-if="Info.status==6" style="color: #3a8c7e;"></span> <span v-if="Info.status==6" style="color: #3a8c7e;">
已转赠
<el-button v-if="Info.transfer_type==2 && SessionConfigInfo.撤销转赠权限.includes(String(SessionUserInfo.group))" @click="CheXiaoZhuanZeng()" type="danger" style="margin-left: 10px;"></el-button>
</span>
<div v-if="[2,4].indexOf(Info.status) !== -1 && !Info.source?.includes('转赠')"> <div v-if="[2,4].indexOf(Info.status) !== -1 && !Info.source?.includes('转赠')">
<el-button @click="Refund(1)" type="danger" style="margin-left: 10px;">仅退款</el-button> <el-button @click="Refund(1)" type="danger" style="margin-left: 10px;">仅退款</el-button>
<el-button @click="Refund(2)" type="danger" style="margin-left: 10px;">取消预约退款</el-button> <el-button @click="Refund(2)" type="danger" style="margin-left: 10px;">取消预约退款</el-button>
@ -156,7 +159,8 @@ import {ElMessage, ElMessageBox} from 'element-plus'
import { import {
OrderGetList, OrderGetList,
OrderGetDetail, OrderGetDetail,
OrderSave,OrderRefund OrderSave,OrderRefund,
CancelZhuanZengCode
} from '@/api/api.js' } from '@/api/api.js'
import { import {
Edit Edit
@ -168,6 +172,8 @@ import {ElMessage, ElMessageBox} from 'element-plus'
let currentPage = ref(1) // let currentPage = ref(1) //
let pageSize = ref(15) // let pageSize = ref(15) //
let total = 0 // let total = 0 //
let SessionConfigInfo=ref({})
let SessionUserInfo=ref({})
const PageSizeChange = (e) => { // const PageSizeChange = (e) => { //
pageSize.value = e pageSize.value = e
GetList() GetList()
@ -197,6 +203,7 @@ import {ElMessage, ElMessageBox} from 'element-plus'
let Info = ref(null); let Info = ref(null);
const EditFunc = (row) => { const EditFunc = (row) => {
dialogVisible.value = true dialogVisible.value = true
console.log('------------',SessionConfigInfo.value,SessionUserInfo.value);
GetDetailFunc(row.id) GetDetailFunc(row.id)
} }
const GetDetailFunc = (id) => { const GetDetailFunc = (id) => {
@ -250,9 +257,36 @@ import {ElMessage, ElMessageBox} from 'element-plus'
}).catch(() => { }).catch(() => {
}) })
}
const CheXiaoZhuanZeng=()=>{
ElMessageBox.confirm(
'确定撤销吗?',
'提示',
{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
loading.value = true
CancelZhuanZengCode({
order_id: Info.value.id,
code_id: Info.value.transfer_link,
}).then(res => {
loading.value = false
if (res.status) {
GetDetailFunc(Info.value.id)
} else {
ElMessage.error(res.msg)
}
})
}).catch(() => {
})
} }
onMounted(() => { onMounted(() => {
GetList() GetList()
SessionConfigInfo.value=JSON.parse(sessionStorage.getItem('ConfigInfo'))
SessionUserInfo.value=JSON.parse(sessionStorage.getItem('LoginUserInfo'))
}) })
</script> </script>

Loading…
Cancel
Save