于宏哲PHP 1 year ago
parent
commit
7fafb16dc5
  1. 1
      admin/components.d.ts
  2. 2
      admin/src/addon/zhjw/views/feedback/feedback_edit.vue
  3. 18
      admin/src/addon/zhjw/views/orders/orders_edit.vue
  4. 3
      niucloud/addon/shop/app/lang/zh-cn/validate.php
  5. 16
      niucloud/addon/zhjw/app/adminapi/controller/orders/Orders.php
  6. 4
      niucloud/addon/zhjw/app/validate/campuses/Campuses.php
  7. 4
      niucloud/addon/zhjw/app/validate/classes/Classes.php
  8. 4
      niucloud/addon/zhjw/app/validate/courses/Courses.php
  9. 5
      niucloud/addon/zhjw/app/validate/staff/Staff.php
  10. 4
      niucloud/addon/zhjw/app/validate/venues/Venues.php
  11. 4
      niucloud/app/api/controller/member/Member.php
  12. 2
      niucloud/app/api/route/member.php
  13. 48
      niucloud/app/service/api/member/MemberService.php

1
admin/components.d.ts

@ -17,6 +17,7 @@ declare module '@vue/runtime-core' {
ElButton: typeof import('element-plus/es')['ElButton']
ElCalendar: typeof import('element-plus/es')['ElCalendar']
ElCard: typeof import('element-plus/es')['ElCard']
ElCascader: typeof import('element-plus/es')['ElCascader']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
ElCol: typeof import('element-plus/es')['ElCol']

2
admin/src/addon/zhjw/views/feedback/feedback_edit.vue

@ -55,7 +55,7 @@ import { useDictionary } from '@/app/api/dict'
import type { FormInstance } from 'element-plus'
import { getFeedbackInfo,addFeedback,editFeedback, getWithStudentsList } from '@/addon/zhjw/api/feedback';
import { useRoute } from 'vue-router'
import { img } from '@/utils/common'
const route = useRoute()
const id:number = parseInt(route.query.id);
const loading = ref(false)

18
admin/src/addon/zhjw/views/orders/orders_edit.vue

@ -35,7 +35,7 @@
</el-form-item>
<el-form-item :label="t('amount')" prop="amount">
<el-input-number v-model="formData.amount" clearable :placeholder="t('amountPlaceholder')" class="input-width" :min = "0.01" max = "999999" />
<el-input-number v-model="formData.amount" clearable :placeholder="t('amountPlaceholder')" class="input-width" :min = "0.01" :max = "999999" />
</el-form-item>
<el-form-item :label="t('orderType')" prop="order_type">
@ -188,10 +188,20 @@ const formRules = computed(() => {
]
,
amount: [
amount: [
{ required: true, message: t('amountPlaceholder'), trigger: 'blur' },
{ validator: (rule: any, value: string, callback: any) => { if (value && !/^\d{0.01,999999}$/.test(value)) { callback(new Error(t('generateBetween')))} else { callback() }}},
]
{
validator: (rule: any, value: string, callback: any) => {
const num = parseFloat(value);
if (!/^\d+(\.\d{1,2})?$/.test(value) || num < 0.01 || num > 999999) {
callback(new Error("请输入正确金额"));
} else {
callback();
}
},
trigger: 'blur'
}
]
,
order_type: [
{ required: true, message: t('orderTypePlaceholder'), trigger: 'blur' },

3
niucloud/addon/shop/app/lang/zh-cn/validate.php

@ -4,4 +4,7 @@ return [
'common_validate' => [
'mobile' => '手机号格式有误',
],
'common_validate' => [
'email' => '邮箱格式有误',
],
];

16
niucloud/addon/zhjw/app/adminapi/controller/orders/Orders.php

@ -12,7 +12,7 @@
namespace addon\zhjw\app\adminapi\controller\orders;
use core\base\BaseAdminController;
use addon\zhjw\app\service\admin\orders\CommonService;
use addon\zhjw\app\service\admin\orders\OrdersService;
/**
@ -37,7 +37,7 @@ class Orders extends BaseAdminController
["payment_time",["",""]],
["create_time",["",""]]
]);
return success((new CommonService())->getPage($data));
return success((new OrdersService())->getPage($data));
}
/**
@ -46,7 +46,7 @@ class Orders extends BaseAdminController
* @return \think\Response
*/
public function info(int $id){
return success((new CommonService())->getInfo($id));
return success((new OrdersService())->getInfo($id));
}
/**
@ -65,7 +65,7 @@ class Orders extends BaseAdminController
]);
$this->validate($data, 'addon\zhjw\app\validate\orders\Orders.add');
$id = (new CommonService())->add($data);
$id = (new OrdersService())->add($data);
return success('ADD_SUCCESS', ['id' => $id]);
}
@ -86,7 +86,7 @@ class Orders extends BaseAdminController
]);
$this->validate($data, 'addon\zhjw\app\validate\orders\Orders.edit');
(new CommonService())->edit($id, $data);
(new OrdersService())->edit($id, $data);
return success('EDIT_SUCCESS');
}
@ -96,17 +96,17 @@ class Orders extends BaseAdminController
* @return \think\Response
*/
public function del(int $id){
(new CommonService())->del($id);
(new OrdersService())->del($id);
return success('DELETE_SUCCESS');
}
public function getStudentsAll(){
return success(( new CommonService())->getStudentsAll());
return success(( new OrdersService())->getStudentsAll());
}
public function getContractsAll(){
return success(( new CommonService())->getContractsAll());
return success(( new OrdersService())->getContractsAll());
}
}

4
niucloud/addon/zhjw/app/validate/campuses/Campuses.php

@ -42,8 +42,8 @@ class Campuses extends BaseValidate
];
protected $scene = [
"add" => ['name', 'coordinate', 'address', 'contact_person', 'contact_phone', 'status', 'thumbnail', 'description'],
"edit" => ['name', 'coordinate', 'address', 'contact_person', 'contact_phone', 'status', 'thumbnail', 'description']
"add" => ['name', 'coordinate', 'address', 'contact_person', 'contact_phone', 'status', 'description'],
"edit" => ['name', 'coordinate', 'address', 'contact_person', 'contact_phone', 'status', 'description']
];
}

4
niucloud/addon/zhjw/app/validate/classes/Classes.php

@ -40,8 +40,8 @@ class Classes extends BaseValidate
];
protected $scene = [
"add" => ['venue_id', 'thumbnail', 'name', 'max_students', 'start_date', 'end_date', 'status'],
"edit" => ['venue_id', 'thumbnail', 'name', 'max_students', 'start_date', 'end_date', 'status']
"add" => ['venue_id', 'name', 'max_students', 'start_date', 'end_date', 'status'],
"edit" => ['venue_id', 'name', 'max_students', 'start_date', 'end_date', 'status']
];
}

4
niucloud/addon/zhjw/app/validate/courses/Courses.php

@ -46,8 +46,8 @@ class Courses extends BaseValidate
];
protected $scene = [
"add" => ['name', 'description', 'thumbnail', 'target_group', 'duration', 'taste_price', 'price', 'is_automatic_signing', 'automatic_signing_time', 'status'],
"edit" => ['name', 'description', 'thumbnail', 'target_group', 'duration', 'taste_price', 'price', 'is_automatic_signing', 'automatic_signing_time', 'status']
"add" => ['name', 'description', 'target_group', 'duration', 'taste_price', 'price', 'is_automatic_signing', 'automatic_signing_time', 'status'],
"edit" => ['name', 'description', 'target_group', 'duration', 'taste_price', 'price', 'is_automatic_signing', 'automatic_signing_time', 'status']
];
}

5
niucloud/addon/zhjw/app/validate/staff/Staff.php

@ -44,8 +44,9 @@ class Staff extends BaseValidate
];
protected $scene = [
"add" => ['name', 'header', 'gender', 'phone', 'email', 'position', 'status', 'role_id'],
"edit" => ['name', 'header', 'gender', 'phone', 'email', 'position', 'status', 'role_id']
"add" => ['name', 'gender', 'phone', 'email', 'position', 'status', 'role_id'],
"edit" => ['name', 'gender', 'phone', 'email', 'position', 'status', 'role_id']
];
}

4
niucloud/addon/zhjw/app/validate/venues/Venues.php

@ -40,8 +40,8 @@ class Venues extends BaseValidate
];
protected $scene = [
"add" => ['campus_id', 'name', 'thumbnail', 'type', 'capacity', 'available_time', 'status'],
"edit" => ['campus_id', 'name', 'thumbnail', 'type', 'capacity', 'available_time', 'status']
"add" => ['campus_id', 'name', 'type', 'capacity', 'available_time', 'status'],
"edit" => ['campus_id', 'name', 'type', 'capacity', 'available_time', 'status']
];
}

4
niucloud/app/api/controller/member/Member.php

@ -155,4 +155,8 @@ class Member extends BaseApiController
]);
return success(( new MemberService() )->set_feedback($data));
}
public function index(){
return success(( new MemberService() )->index());
}
}

2
niucloud/app/api/route/member.php

@ -114,6 +114,8 @@ Route::group('member', function () {
Route::post('set_feedback', 'member.Member/set_feedback');
Route::get('index', 'member.Member/index');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class, true)
->middleware(ApiLog::class);

48
niucloud/app/service/api/member/MemberService.php

@ -73,7 +73,12 @@ class MemberService extends BaseApiService
->append(['sex_name'])
->findOrEmpty()->toArray();
$data = (new Students())->where(['user_id' => $this->member_id])->find();
$info['height'] = $data['height'];
$info['weight'] = $data['weight'];
$info['score'] = $data['score'];
$info['students_id'] = $data['id'];
$info['evaluation_time'] = $data['evaluation_time'];
$info['name'] = $data['name'] ?? '';
//课程
@ -222,6 +227,7 @@ class MemberService extends BaseApiService
->join(['school_courses' => 'd'],'c.courses_id = d.id','left')
->where('a.start_date', '<=', $data['schedule_date'])
->where('a.end_date', '>=', $data['schedule_date'])
->where('a.status','<',3)
->whereRaw("FIND_IN_SET(?, a.max_students)", [$member_info['students_id']])
->field("a.id,a.status,a.venue_id,a.start_date,a.end_date,a.max_students,a.name,b.name as address,d.name as courses_name,
LENGTH(a.max_students) - LENGTH(REPLACE(a.max_students, ',', '')) + 1 as students_count,d.id as courses_id
@ -278,5 +284,47 @@ class MemberService extends BaseApiService
return true;
}
public function index(){
$venues = new Venues();
$classes = new Classes();
$data = [];
$member_info = $this->getInfo();
$data['info'] = $member_info;
$classes_info = $classes
->alias("a")
->join(['school_venues' => 'b'],'a.venue_id = b.id','left')
->join(['school_timetables' => 'c'],'a.id = c.class_id','left')
->join(['school_courses' => 'd'],'c.courses_id = d.id','left')
->where('a.status','<',3)
->whereRaw("FIND_IN_SET(?, a.max_students)", [$member_info['students_id']])
->field("a.id,a.status,a.venue_id,a.start_date,a.end_date,a.max_students,a.name,b.name as address,d.name as courses_name,
LENGTH(a.max_students) - LENGTH(REPLACE(a.max_students, ',', '')) + 1 as students_count,d.id as courses_id
")
->order("a.end_date desc")
->group("a.venue_id")
->find();
$classes_info['sign_count'] = Db::name("zhjw_students_sign")
->alias("a")
->join(['school_member' => 'b'],'a.students_id = b.member_id','left')
->where(['a.courses_id' => $classes_info['courses_id']])
->count();
$classes_info['my_sign_count'] = Db::name("zhjw_students_sign")
->alias("a")
->join(['school_member' => 'b'],'a.students_id = b.member_id','left')
->where(['a.courses_id' => $classes_info['courses_id'],'a.students_id' => $member_info['students_id']])
->count();
$data['classes_info'] = $classes_info;
return $data;
}
}

Loading…
Cancel
Save