退款 逻辑调整。

代码冲突 合并
main
鹿和sa0ChunLuyu 2 years ago
parent c014a2b3ef
commit f21d2ee1ea

@ -16,14 +16,6 @@ export default defineConfig({
build: {
outDir: `../public/${admin_path}`, assetsDir: 'lib'
},
server:{
fs: {
allow: [
'D:\\Code\\lanke\\tijian\\sixin\\admin',
'D:\\Code\\lanke\\tijian\\sixin\\node_modules'
],
},
},
resolve: {alias: {'~/': `${path.resolve(__dirname, 'src')}/`}},
plugins: [Vue({reactivityTransform: true}), viteCommonjs(), Pages(), Layouts(), AutoImport({
imports: ['vue', 'vue/macros', 'vue-router', '@vueuse/core',],

@ -72,15 +72,16 @@ class ChatController extends Controller
public function GetWorkOrderList(){
Login::user();
$UserId=Login::$info->id;
//查看是否有未完结工单
$IncompleteCount=DB::table('chat_workorders')->where('userid',$UserId)->whereIn('status',[1,2])->count();
// $query=DB::table('chat_workorders')->where(
// 'userid','=',$UserId )->where('status','<>',0)
// ->where( 'del','=',2)->get();
$query=DB::select("SELECT a.title,a.status,a.created_at ,b.content,a.id FROM
( SELECT * FROM chat_workorders WHERE userid = ? AND STATUS <> 0 AND del = 2 ) AS a
LEFT JOIN (
select * from( select * from chat_lists where userid = ? AND msg_type = 0 ) as aa INNER JOIN
(SELECT max(id) as bid, work_order_id as w_id FROM chat_lists WHERE userid = ? AND msg_type = 0 GROUP BY work_order_id) as bb
on aa.id=bb.bid) AS b ON a.id = b.work_order_id order by a.id desc",[$UserId,$UserId,$UserId] );
return Yo::echo(['status' => true,'list'=>$query,'incompleteCount'=>$IncompleteCount]);
return Yo::echo(['status' => true,'list'=>$query]);
}
//admin获取工单列表
public function GetAdminWorkOrderList(){
@ -145,21 +146,6 @@ class ChatController extends Controller
return Yo::echo(['status' => false,'msg'=>'操作失败']);
}
}
//H5用户自己关闭工单
public function UserChangeWorkOrder(){
$WorkOrderId=request('WorkOrder');
Login::user();
$UserId=Login::$info->id;
$u=DB::table('chat_workorders')->where(['id'=>$WorkOrderId,'userid'=>$UserId])->update([
'status'=>3
]);
if($u){
return Yo::echo(['status' => true,'msg'=>'操作完成']);
}else{
return Yo::echo(['status' => false,'msg'=>'操作失败']);
}
}
}

@ -530,16 +530,14 @@ class UserOrderController extends Controller
if (!$order_info) Yo::error_echo(100000, ['订单']);
if ($order_info->status != 2) Yo::error_echo(200051);
if ($order_info->check_status == 2) Yo::error_echo(200052);
self::cancel_appointment($order_info->hospital, [
$res = self::appointment_info($order_info->hospital, [
'type' => $order_info->type,
'预约Id' => $order_info->appointment_number
"证件号码" => null,
"电话号码" => null,
"预约Id" => $order_info->appointment_number,
]);
$appointment = Appointment::where('id', $order_info->appointment)->first();
if (!!$appointment) {
$appointment->used_count -= 1;
$appointment->save();
}
$order_info->appointment_number = '';
if (count($res['data']) < 1) Yo::error_echo(200052);
if ($res['data'][0]['当前状态'] !== '未登记') Yo::error_echo(200052);
switch ($order_info->pay_type) {
case 1:
$hospital_extra_content = self::pay_config($order_info->hospital);
@ -570,15 +568,26 @@ class UserOrderController extends Controller
$order_info->refund = $wcr->id;
$order_info->refund_time = date('Y-m-d H:i:s');
$order_info->save();
return Yo::echo();
break;
case 2:
Yo::error_echo(200047);
break;
case 3:
$order_info->status = 5;
$order_info->refund_time = date('Y-m-d H:i:s');
$order_info->save();
return Yo::echo();
break;
}
self::cancel_appointment($order_info->hospital, [
'type' => $order_info->type,
'预约Id' => $order_info->appointment_number
]);
$appointment = Appointment::where('id', $order_info->appointment)->first();
if (!!$appointment) {
$appointment->used_count -= 1;
$appointment->save();
}
$order_info->appointment_number = '';
$order_info->save();
return Yo::echo(['info' => $order_info]);
}

@ -132,7 +132,7 @@
// login_type: 1
// }
,{
title: '联系客服',
title: '提交工单',
icon: '/storage/assets/mp/user/会员卡信息@2x.png',
show: true,
jump_type: 3,

@ -16,7 +16,6 @@ url_array['Chat/creatNew'] = `${url_}/api/Mp/Chat/creatNew`;//新建对话
url_array['Chat/InsertMsg'] = `${url_}/api/Mp/Chat/InsertMsg`; //留言插入
url_array['Chat/GetSelfMsgList'] = `${url_}/api/Mp/Chat/GetSelfMsgList`;//获取留言列表(聊天记录)
url_array['Chat/GetWorkOrderList'] = `${url_}/api/Mp/Chat/GetWorkOrderList`;//获取工单列表
url_array['Chat/UserChangeWorkOrder'] = `${url_}/api/Mp/Chat/UserChangeWorkOrder`;//更改工单状态
url_array['YO'] = `${url_}/api/yo`;
const api = (mark) => {

@ -52,12 +52,6 @@ export const ChatGetWorkOrderListAction = async (data) => await $post({
url: 'Chat/GetWorkOrderList',
data
})
//更改工单状态
export const ChatChangeWorkOrderAction = async (data) => await $post({
url: 'Chat/UserChangeWorkOrder',
data
})
export const $image = (path) => {
return `${url_}${path}`
}

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title></title>
<!--preload-links-->
<!--app-context-->

@ -27,23 +27,14 @@
<view class="ding"></view>
</view>
<view class="end">
<view v-if="workOrderstatus.status==1 || workOrderstatus.status==2 " >
<switch :checked="switchchecked" color="#ff7c2e" @change="CloseWorkOrderChange" style="transform:scale(0.7); margin-bottom: 10rpx;"/><span style="color:#808080; font-size: 22rpx;">关闭此工单</span>
</view>
<view class="msg_k">
<view class="msg_k_left">
<uni-easyinput :disabled="workOrderstatus.status!=3?false:true" type="textarea" v-model="msgContent" placeholder="请输入留言信息" />
<uni-easyinput :disabled="workOrderstatus.status!=3?false:true" type="textarea" v-model="msgContent" placeholder="请输入留言信息" />
</view>
<view class="msg_k_right"><button type="primary" size="mini" plain="true" @click="send"></button></view>
</view>
</view>
<view>
<!-- 提示窗示例 -->
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog cancelText="取消" confirmText="确定" title="提示" content="确定关闭此工单吗?" @confirm="dialogConfirm"
@close="dialogClose"></uni-popup-dialog>
</uni-popup>
</view>
</view>
</template>
@ -56,57 +47,12 @@
import {
ChatInsertMsgAction,
ChatGetSelfMsgListAction,
ChatChangeWorkOrderAction,
$response
} from '@/api'
let switchchecked=ref(true);
let alertDialog=ref(null)
const dialogClose=()=>{
switchchecked.value=true
}
//
const CloseWorkOrderChange=(e)=>{
if(e.detail.value==false){
alertDialog.value.open()
switchchecked.value=false
}
}
let workOrderId=ref('')
onLoad((option)=>{
workOrderId.value=option.workorder
})
//
const dialogConfirm=async ()=>{
let data={
WorkOrder:workOrderId.value
}
const response = await ChatChangeWorkOrderAction(data)
$response(response, () => {
console.log(response)
if(response.data.status){
uni.showToast({
title: "工单成功关闭",
duration: 2000,
icon:'none'
});
getList()
}else{
uni.showToast({
title: response.data.msg,
duration: 2000,
icon:'none'
});
}
})
}
let msgContent = ref("")
let chatList=ref([]) //
let workOrderstatus=ref('')//

@ -60,18 +60,8 @@ watch(
let title=ref('')
//
const creatClick=()=>{
if(IncompleteCount.value==0){
title.value=''
titleInputDialog.value.open()
}else{
uni.showToast({
title: "存在未关闭工单,请先关闭,再创建新工单",
duration: 2000,
icon:'none'
});
return false
}
title.value=''
titleInputDialog.value.open()
}
const creatNew = async () => {
@ -99,7 +89,6 @@ watch(
}
})
}
let IncompleteCount=ref(0)
let orderList = ref([])
const getlist = async () => {
uni.showLoading({
@ -111,7 +100,6 @@ watch(
console.log('---------------------')
if (response.data.status) {
orderList.value = response.data.list
IncompleteCount.value=response.data.incompleteCount
}
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Loading…
Cancel
Save