Merge branch 'chenbo_dev' into dev
This commit is contained in:
commit
6e8408a490
108
app/adminapi/controller/AppUpdateController.php
Normal file
108
app/adminapi/controller/AppUpdateController.php
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | 开源版本可自由商用,可去除界面版权logo
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||||
|
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||||
|
// | 访问官网:https://www.likeadmin.cn
|
||||||
|
// | likeadmin团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeadminTeam
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
namespace app\adminapi\controller;
|
||||||
|
|
||||||
|
|
||||||
|
use app\adminapi\controller\BaseAdminController;
|
||||||
|
use app\adminapi\lists\AppUpdateLists;
|
||||||
|
use app\adminapi\logic\AppUpdateLogic;
|
||||||
|
use app\adminapi\validate\AppUpdateValidate;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* app更新控制器
|
||||||
|
* Class AppUpdateController
|
||||||
|
* @package app\adminapi\controller
|
||||||
|
*/
|
||||||
|
class AppUpdateController extends BaseAdminController
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 获取app更新列表
|
||||||
|
* @return \think\response\Json
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function lists()
|
||||||
|
{
|
||||||
|
return $this->dataLists(new AppUpdateLists());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 添加app更新
|
||||||
|
* @return \think\response\Json
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function add()
|
||||||
|
{
|
||||||
|
$params = (new AppUpdateValidate())->post()->goCheck('add');
|
||||||
|
$result = AppUpdateLogic::add($params);
|
||||||
|
if (true === $result) {
|
||||||
|
return $this->success('添加成功', [], 1, 1);
|
||||||
|
}
|
||||||
|
return $this->fail(AppUpdateLogic::getError());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 编辑app更新
|
||||||
|
* @return \think\response\Json
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function edit()
|
||||||
|
{
|
||||||
|
$params = (new AppUpdateValidate())->post()->goCheck('edit');
|
||||||
|
$result = AppUpdateLogic::edit($params);
|
||||||
|
if (true === $result) {
|
||||||
|
return $this->success('编辑成功', [], 1, 1);
|
||||||
|
}
|
||||||
|
return $this->fail(AppUpdateLogic::getError());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 删除app更新
|
||||||
|
* @return \think\response\Json
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function delete()
|
||||||
|
{
|
||||||
|
$params = (new AppUpdateValidate())->post()->goCheck('delete');
|
||||||
|
AppUpdateLogic::delete($params);
|
||||||
|
return $this->success('删除成功', [], 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 获取app更新详情
|
||||||
|
* @return \think\response\Json
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function detail()
|
||||||
|
{
|
||||||
|
$params = (new AppUpdateValidate())->goCheck('detail');
|
||||||
|
$result = AppUpdateLogic::detail($params);
|
||||||
|
return $this->data($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -151,7 +151,7 @@ class CompanyController extends BaseAdminController
|
|||||||
$params['party_b'] = $params['id'];
|
$params['party_b'] = $params['id'];
|
||||||
unset($params['id']);
|
unset($params['id']);
|
||||||
$result = ContractLogic::initiate_contract($params);
|
$result = ContractLogic::initiate_contract($params);
|
||||||
if ($result['code'] == 1) {
|
if (!empty($result) && $result['code'] == 1) {
|
||||||
return $this->success($result['msg'], $result['data']);
|
return $this->success($result['msg'], $result['data']);
|
||||||
}
|
}
|
||||||
return $this->fail(ContractLogic::getError());
|
return $this->fail(ContractLogic::getError());
|
||||||
@ -197,11 +197,14 @@ class CompanyController extends BaseAdminController
|
|||||||
];
|
];
|
||||||
$res = app(JunziqianController::class)->EnterpriseCertification($data);
|
$res = app(JunziqianController::class)->EnterpriseCertification($data);
|
||||||
if ($res->success == true) {
|
if ($res->success == true) {
|
||||||
Db::name('company')->where('id', $params['id'])->update(['master_email' => $res->data]);
|
Db::name('company')->where('id', $params['id'])->update(['master_email' => $res->data,'is_authentication'=>1]);
|
||||||
return $this->success('系统认证中,请稍后刷新页面查看', ['email' => $res->data], 1, 1);
|
return $this->success('认证成功',[],1, 1);
|
||||||
|
// return $this->success('系统认证中,请稍后刷新页面查看', ['email' => $res->data], 1, 1);
|
||||||
} else {
|
} else {
|
||||||
return $this->fail($res->msg);
|
return $this->fail($res->msg);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return $this->fail("公司不存在");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//重新认证
|
//重新认证
|
||||||
@ -228,6 +231,47 @@ class CompanyController extends BaseAdminController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 企业人脸校验上传
|
||||||
|
public function organizationFaceCreate()
|
||||||
|
{
|
||||||
|
$params = (new CompanyValidate())->goCheck('detail');
|
||||||
|
$company = Db::name('company')->where('id', $params['id'])->find();
|
||||||
|
// 公司数据合法性校验
|
||||||
|
$this->companyCheck($company);
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'company_name' => $company['company_name'],
|
||||||
|
'organization_code' => $company['organization_code'],
|
||||||
|
'master_name' => $company['master_name'],
|
||||||
|
'master_id_card' => $company['master_id_card'],
|
||||||
|
'master_email' => $company['master_email'],
|
||||||
|
'master_phone' => $company['master_phone'],
|
||||||
|
'id' => $company['id'],
|
||||||
|
];
|
||||||
|
$res = app(JunziqianController::class)->organizationFaceCreate($data);
|
||||||
|
if ($res->success == true && !empty($res->data)) {
|
||||||
|
return $this->success('成功',["faceCreateUrl"=>$res->data],1, 1);
|
||||||
|
} else {
|
||||||
|
return $this->fail($res->msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
private function companyCheck($company) {
|
||||||
|
if (empty($company)) {
|
||||||
|
return $this->fail("公司不存在");
|
||||||
|
}
|
||||||
|
if (empty($company['master_face'])) {
|
||||||
|
return $this->fail("未上传主联系人头像信息,无法上传企业人脸");
|
||||||
|
}
|
||||||
|
if(empty($company['master_id_card'])) {
|
||||||
|
return $this->fail("主联系人证件号为空,无法上传企业人脸");
|
||||||
|
}
|
||||||
|
if(empty($company['master_email'])) {
|
||||||
|
return $this->fail("主联系人邮箱为空,无法上传企业人脸");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function userList()
|
public function userList()
|
||||||
{
|
{
|
||||||
$existUsers = Company::where('status', '<>', -1)->column('admin_id');
|
$existUsers = Company::where('status', '<>', -1)->column('admin_id');
|
||||||
|
234
app/adminapi/controller/contract/VehicleContractController.php
Normal file
234
app/adminapi/controller/contract/VehicleContractController.php
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\adminapi\controller\contract;
|
||||||
|
|
||||||
|
use app\adminapi\controller\BaseAdminController;
|
||||||
|
use app\api\controller\JunziqianController;
|
||||||
|
use app\common\enum\notice\NoticeEnum;
|
||||||
|
use app\common\model\contract\VehicleContract;
|
||||||
|
|
||||||
|
class VehicleContractController extends BaseAdminController
|
||||||
|
{
|
||||||
|
//风控中心上传合同
|
||||||
|
public function uploadContract() {
|
||||||
|
//获取参数
|
||||||
|
$params = $this->request->post(['id','file']);
|
||||||
|
if(empty($params['id']) || empty($params['file'])){
|
||||||
|
return $this->fail('缺少必要参数');
|
||||||
|
}
|
||||||
|
//获取合同信息
|
||||||
|
$vehicle_contract = VehicleContract::where('id',$params['id'])->find();
|
||||||
|
if(empty($vehicle_contract)){
|
||||||
|
return $this->fail('合同信息错误');
|
||||||
|
}
|
||||||
|
if($vehicle_contract['status'] != 0){
|
||||||
|
return $this->fail('合同状态错误');
|
||||||
|
}
|
||||||
|
//更新本地
|
||||||
|
try {
|
||||||
|
//判断合同类型
|
||||||
|
if(!empty($vehicle_contract['contract_logistic_id'])){
|
||||||
|
//更新物流系统
|
||||||
|
curl_post(env('project.logistic_domain').'/api/updateContract',[],[
|
||||||
|
'id' => $vehicle_contract['contract_logistic_id'],
|
||||||
|
'file' => $params['file'],
|
||||||
|
'status' => 1
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
VehicleContract::where('id', $params['id'])->update(['file' => $params['file'],'status'=>1]);
|
||||||
|
}catch (\Exception $e){
|
||||||
|
return $this->fail($e->getMessage());
|
||||||
|
}
|
||||||
|
//发送短信
|
||||||
|
$sms = [
|
||||||
|
'mobile' => $vehicle_contract['company_a_phone'],
|
||||||
|
'name' => $vehicle_contract['company_user'],
|
||||||
|
'scene' => 'WQTZ'
|
||||||
|
];
|
||||||
|
$this->rentNoticeSms($sms);
|
||||||
|
return $this->success('上传成功', [], 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//发送通知短信
|
||||||
|
public function rentNoticeSms($params) {
|
||||||
|
try {
|
||||||
|
$scene = NoticeEnum::getSceneByTag($params['scene']);
|
||||||
|
if (empty($scene)) {
|
||||||
|
throw new \Exception('场景值异常');
|
||||||
|
}
|
||||||
|
$result = event('Notice', [
|
||||||
|
'scene_id' => $scene,
|
||||||
|
'params' => $params
|
||||||
|
]);
|
||||||
|
return $result[0];
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function lists() {
|
||||||
|
$param = $this->request->get();
|
||||||
|
$where = [];
|
||||||
|
if(isset($param['company_name'])){
|
||||||
|
$where[] = ['company_b_name','like','%'.$param['company_name'].'%'];
|
||||||
|
}
|
||||||
|
if(isset($param['contract_no'])){
|
||||||
|
$where[] = ['contract_no','like','%'.$param['contract_no'].'%'];
|
||||||
|
}
|
||||||
|
if(isset($param['status']) && in_array($param['status'],[0,1])){
|
||||||
|
if($param['status'] == 1){
|
||||||
|
$where[] = ['status','in', '1,2,3'];
|
||||||
|
}else{
|
||||||
|
$where[] = ['status','=', $param['status']];
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$where[] = ['status','in', '0,1,2,3'];
|
||||||
|
}
|
||||||
|
$pageNo = !empty($param['page_no']) ? $param['page_no'] : 1;
|
||||||
|
$pageSize = !empty($param['page_size']) ? $param['page_size'] : 15;
|
||||||
|
$data = VehicleContract::where($where)
|
||||||
|
->page($pageNo, $pageSize)
|
||||||
|
->order('create_time desc')
|
||||||
|
->select()->each(function($item){
|
||||||
|
$item['cars_info'] = json_decode($item['cars_info'],true);
|
||||||
|
});
|
||||||
|
return $this->success('success',['lists'=>$data->toArray(),'page_no'=>$pageNo,'page_size'=>$pageSize,'count'=>$data->count()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function townRentList() {
|
||||||
|
$param = $this->request->get();
|
||||||
|
$where = [];
|
||||||
|
if(isset($param['company_name'])){
|
||||||
|
$where[] = ['company_b_name','like','%'.$param['company_name'].'%'];
|
||||||
|
}
|
||||||
|
if(isset($param['contract_no'])){
|
||||||
|
$where[] = ['contract_no','like','%'.$param['contract_no'].'%'];
|
||||||
|
}
|
||||||
|
if(isset($param['status']) && in_array($param['status'],[0,1])){
|
||||||
|
if($param['status'] == 1){
|
||||||
|
$where[] = ['status','in', '1,2,3'];
|
||||||
|
}else{
|
||||||
|
$where[] = ['status','=', $param['status']];
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$where[] = ['status','in', '0,1,2,3'];
|
||||||
|
}
|
||||||
|
$pageNo = !empty($param['page_no']) ? $param['page_no'] : 1;
|
||||||
|
$pageSize = !empty($param['page_size']) ? $param['page_size'] : 15;
|
||||||
|
$data = VehicleContract::where($where)->where('contract_logistic_id','<>',0)
|
||||||
|
->page($pageNo, $pageSize)
|
||||||
|
->order('create_time desc')
|
||||||
|
->select()->each(function($item){
|
||||||
|
$item['cars_info'] = json_decode($item['cars_info'],true);
|
||||||
|
});
|
||||||
|
return $this->success('success',['lists'=>$data->toArray(),'page_no'=>$pageNo,'page_size'=>$pageSize,'count'=>$data->count()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function initiatingRentCarContract() {
|
||||||
|
//获取参数
|
||||||
|
$params = $this->request->post(['id']);
|
||||||
|
if(empty($params['id'])){
|
||||||
|
return $this->fail('缺少必要参数');
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
$contract = VehicleContract::where('id',$params['id'])->find();
|
||||||
|
if(empty($contract)){
|
||||||
|
return $this->fail('数据不存在');
|
||||||
|
}
|
||||||
|
if($contract['status'] != 1){
|
||||||
|
return $this->fail('合同状态错误');
|
||||||
|
}
|
||||||
|
$signData = [
|
||||||
|
'name' => $contract['company_a_name'] . '的合同',
|
||||||
|
'signatories' => [
|
||||||
|
['fullName' => $contract['company_a_name'], 'identityType' => 12, 'identityCard' => $contract['company_a_code'], 'email' => $contract['company_a_email'], 'noNeedVerify' => 1, 'signLevel' => 1],
|
||||||
|
['fullName' => $contract['company_b_name'], 'identityType' => 12, 'identityCard' => $contract['company_b_code'], 'email' => $contract['company_b_email'], 'noNeedVerify' => 1, 'signLevel' => 1]
|
||||||
|
],
|
||||||
|
'url' => $contract['file']
|
||||||
|
];
|
||||||
|
$signRes = app(JunziqianController::class)->VehicleRentSigning($signData, $params['id'],env('project.website_domain').'/api/index/townCarRent');
|
||||||
|
if ($signRes->success) {
|
||||||
|
$contract->save([
|
||||||
|
'id' => $contract['id'],
|
||||||
|
'contract_no' => $signRes->data,
|
||||||
|
'status' => 2
|
||||||
|
]);
|
||||||
|
$this->sendSms($params['id'],'《租赁合同》');
|
||||||
|
return $this->success('合同发送成功');
|
||||||
|
} else {
|
||||||
|
return $this->fail($signRes->msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sendSms($id,$title) {
|
||||||
|
//获取合同数据
|
||||||
|
$contract = VehicleContract::where('id',$id)->find();
|
||||||
|
if ($contract && !$contract->isEmpty() && $contract['file'] != '') {
|
||||||
|
//发送短信
|
||||||
|
$data = [
|
||||||
|
//甲方
|
||||||
|
[
|
||||||
|
"applyNo" => $contract['contract_no'],
|
||||||
|
"fullName" => $contract['company_a_name'],
|
||||||
|
"identityCard" => $contract['company_a_code'],
|
||||||
|
"identityType" => 12,
|
||||||
|
"master_phone" => $contract['company_a_phone'],
|
||||||
|
"type"=>"party_a"
|
||||||
|
],
|
||||||
|
//乙方
|
||||||
|
[
|
||||||
|
"applyNo" => $contract['contract_no'],
|
||||||
|
"fullName" => $contract['company_b_name'],
|
||||||
|
"identityCard" => $contract['company_b_code'],
|
||||||
|
"identityType" => 12,
|
||||||
|
"master_phone" => $contract['company_b_phone'],
|
||||||
|
"type"=>"party_b"
|
||||||
|
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$url = [];
|
||||||
|
foreach ($data as $v) {
|
||||||
|
$res = app(JunziqianController::class)->SigningLink($v);
|
||||||
|
if (!$res->success) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($v['type'] == 'party_a') {
|
||||||
|
$url['party_a'] =$res->data;
|
||||||
|
} else {
|
||||||
|
$url['party_b'] =$res->data;
|
||||||
|
}
|
||||||
|
//发送短信
|
||||||
|
$sms = [
|
||||||
|
'mobile' => $v['master_phone'],
|
||||||
|
'name' => $v['fullName'],
|
||||||
|
'type' => $title,
|
||||||
|
'code' => 'api/Hetong/info?id='.$id.'&type='.$v['type'],
|
||||||
|
'scene' => 'WQ'
|
||||||
|
];
|
||||||
|
$scene = NoticeEnum::getSceneByTag($sms['scene']);
|
||||||
|
if (empty($scene)) {
|
||||||
|
throw new \Exception('场景值异常');
|
||||||
|
}
|
||||||
|
event('Notice', [
|
||||||
|
'scene_id' => $scene,
|
||||||
|
'params' => $sms
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
VehicleContract::where('id', $id)->update(['url' => json_encode($url)]);
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function detail() {
|
||||||
|
$id = $this->request->get('id');
|
||||||
|
if(empty($id)){
|
||||||
|
$this->fail('参数错误');
|
||||||
|
}
|
||||||
|
$data = VehicleContract::where('id',$id)->find();
|
||||||
|
$data['cars_info'] = json_decode($data['cars_info'],true);
|
||||||
|
return $this->success('success',$data->toArray());
|
||||||
|
}
|
||||||
|
}
|
77
app/adminapi/lists/AppUpdateLists.php
Normal file
77
app/adminapi/lists/AppUpdateLists.php
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | 开源版本可自由商用,可去除界面版权logo
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||||
|
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||||
|
// | 访问官网:https://www.likeadmin.cn
|
||||||
|
// | likeadmin团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeadminTeam
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace app\adminapi\lists;
|
||||||
|
|
||||||
|
|
||||||
|
use app\adminapi\lists\BaseAdminDataLists;
|
||||||
|
use app\common\model\AppUpdate;
|
||||||
|
use app\common\lists\ListsSearchInterface;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* app更新列表
|
||||||
|
* Class AppUpdateLists
|
||||||
|
* @package app\adminapi\lists
|
||||||
|
*/
|
||||||
|
class AppUpdateLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 设置搜索条件
|
||||||
|
* @return \string[][]
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function setSearch(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'=' => ['title', 'content', 'type', 'version', 'dow_url', 'force', 'quiet'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 获取app更新列表
|
||||||
|
* @return array
|
||||||
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
|
* @throws \think\db\exception\DbException
|
||||||
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function lists(): array
|
||||||
|
{
|
||||||
|
return AppUpdate::where($this->searchWhere)
|
||||||
|
->field(['id', 'title', 'content', 'type', 'version', 'dow_url', 'force', 'quiet'])
|
||||||
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
|
->order(['id' => 'desc'])
|
||||||
|
->select()
|
||||||
|
->toArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 获取app更新数量
|
||||||
|
* @return int
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function count(): int
|
||||||
|
{
|
||||||
|
return AppUpdate::where($this->searchWhere)->count();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -75,10 +75,7 @@ class ArticleLists extends BaseAdminDataLists implements ListsSearchInterface, L
|
|||||||
{
|
{
|
||||||
$query = Article::where($this->searchWhere);
|
$query = Article::where($this->searchWhere);
|
||||||
if($this->adminInfo['root']!=1){
|
if($this->adminInfo['root']!=1){
|
||||||
$companyIds = CompanyLogic::getAllCompanyIds();
|
$query->where('company_id', $this->adminInfo['company_id']);
|
||||||
if (!empty($companyIds)) {
|
|
||||||
$query->whereIn('company_id', $companyIds);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$ArticleLists = $query->with(['company'])
|
$ArticleLists = $query->with(['company'])
|
||||||
@ -99,7 +96,11 @@ class ArticleLists extends BaseAdminDataLists implements ListsSearchInterface, L
|
|||||||
*/
|
*/
|
||||||
public function count(): int
|
public function count(): int
|
||||||
{
|
{
|
||||||
return Article::where($this->searchWhere)->count();
|
$query = Article::where($this->searchWhere);
|
||||||
|
if($this->adminInfo['root']!=1){
|
||||||
|
$query->where('company_id', $this->adminInfo['company_id']);
|
||||||
|
}
|
||||||
|
return $query->count();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function extend()
|
public function extend()
|
||||||
|
@ -59,14 +59,14 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface
|
|||||||
$params=$this->request->param();
|
$params=$this->request->param();
|
||||||
$where=[];
|
$where=[];
|
||||||
if ($this->adminInfo['root'] != 1) {
|
if ($this->adminInfo['root'] != 1) {
|
||||||
if($this->adminInfo['role_id'][0]==10){
|
// if($this->adminInfo['role_id'][0]==10){
|
||||||
if(isset($params['type']) && $params['type']==1){
|
// if(isset($params['type']) && $params['type']==1){
|
||||||
$where[] = ['check_status', '=',1];
|
// $where[] = ['check_status', '=',1];
|
||||||
}else{
|
// }else{
|
||||||
$where[] = ['status', '=',0];
|
// $where[] = ['status', '=',0];
|
||||||
$where[] = ['check_status', 'in',[2,3]];
|
// $where[] = ['check_status', 'in',[2,3]];
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
if(isset($params['company_id']) && $params['company_id']!=''){
|
if(isset($params['company_id']) && $params['company_id']!=''){
|
||||||
$arr= Company::where('company_name','like','%'.$params['company_id'].'%')->column('id');
|
$arr= Company::where('company_name','like','%'.$params['company_id'].'%')->column('id');
|
||||||
|
@ -18,6 +18,7 @@ use app\adminapi\lists\BaseAdminDataLists;
|
|||||||
use app\common\enum\user\AccountLogEnum;
|
use app\common\enum\user\AccountLogEnum;
|
||||||
use app\common\lists\ListsSearchInterface;
|
use app\common\lists\ListsSearchInterface;
|
||||||
use app\common\model\user\UserAccountLog;
|
use app\common\model\user\UserAccountLog;
|
||||||
|
use app\common\model\user\UserRole;
|
||||||
use app\common\service\FileService;
|
use app\common\service\FileService;
|
||||||
|
|
||||||
|
|
||||||
@ -38,7 +39,7 @@ class AccountLogLists extends BaseAdminDataLists implements ListsSearchInterface
|
|||||||
public function setSearch(): array
|
public function setSearch(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'=' => ['al.change_type'],
|
'=' => ['change_type','company_id'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,18 +57,13 @@ class AccountLogLists extends BaseAdminDataLists implements ListsSearchInterface
|
|||||||
$where[] = ['change_type', 'in', AccountLogEnum::getUserMoneyChangeType()];
|
$where[] = ['change_type', 'in', AccountLogEnum::getUserMoneyChangeType()];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($this->params['user_info'])) {
|
|
||||||
$where[] = ['u.sn|u.nickname|u.mobile', 'like', '%' . $this->params['user_info'] . '%'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($this->params['start_time'])) {
|
if (!empty($this->params['start_time'])) {
|
||||||
$where[] = ['al.create_time', '>=', strtotime($this->params['start_time'])];
|
$where[] = ['create_time', '>=', strtotime($this->params['start_time'])];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($this->params['end_time'])) {
|
if (!empty($this->params['end_time'])) {
|
||||||
$where[] = ['al.create_time', '<=', strtotime($this->params['end_time'])];
|
$where[] = ['create_time', '<=', strtotime($this->params['end_time'])];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $where;
|
return $where;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,19 +76,16 @@ class AccountLogLists extends BaseAdminDataLists implements ListsSearchInterface
|
|||||||
*/
|
*/
|
||||||
public function lists(): array
|
public function lists(): array
|
||||||
{
|
{
|
||||||
$field = 'u.nickname,u.sn,u.avatar,u.mobile,al.action,al.change_amount,al.left_amount,al.change_type,al.source_sn,al.create_time';
|
$lists = UserAccountLog::where($this->searchWhere)
|
||||||
$lists = UserAccountLog::alias('al')
|
->with(['company_info','user_info'])
|
||||||
->join('user u', 'u.id = al.user_id')
|
|
||||||
->field($field)
|
|
||||||
->where($this->searchWhere)
|
|
||||||
->where($this->queryWhere())
|
->where($this->queryWhere())
|
||||||
->order('al.id', 'desc')
|
->order('id', 'desc')
|
||||||
->limit($this->limitOffset, $this->limitLength)
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
->select()
|
->select()
|
||||||
->toArray();
|
->toArray();
|
||||||
|
|
||||||
foreach ($lists as &$item) {
|
foreach ($lists as &$item) {
|
||||||
$item['avatar'] = FileService::getFileUrl($item['avatar']);
|
$item['user_info']['avatar'] = FileService::getFileUrl($item['user_info']['avatar']);
|
||||||
|
$item['user_info']['group_name']=UserRole::where('id',$item['user_info']['group_id'])->value('name');
|
||||||
$item['change_type_desc'] = AccountLogEnum::getChangeTypeDesc($item['change_type']);
|
$item['change_type_desc'] = AccountLogEnum::getChangeTypeDesc($item['change_type']);
|
||||||
$symbol = $item['action'] == AccountLogEnum::INC ? '+' : '-';
|
$symbol = $item['action'] == AccountLogEnum::INC ? '+' : '-';
|
||||||
$item['change_amount'] = $symbol . $item['change_amount'];
|
$item['change_amount'] = $symbol . $item['change_amount'];
|
||||||
@ -110,9 +103,7 @@ class AccountLogLists extends BaseAdminDataLists implements ListsSearchInterface
|
|||||||
*/
|
*/
|
||||||
public function count(): int
|
public function count(): int
|
||||||
{
|
{
|
||||||
return UserAccountLog::alias('al')
|
return UserAccountLog::where($this->queryWhere())
|
||||||
->join('user u', 'u.id = al.user_id')
|
|
||||||
->where($this->queryWhere())
|
|
||||||
->where($this->searchWhere)
|
->where($this->searchWhere)
|
||||||
->count();
|
->count();
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,6 @@ class RechargeLists extends BaseAdminDataLists implements ListsSearchInterface,
|
|||||||
*/
|
*/
|
||||||
public function lists(): array
|
public function lists(): array
|
||||||
{
|
{
|
||||||
// $companyIds = CompanyLogic::getAllCompanyIds();
|
|
||||||
$field = 'ro.id,ro.sn,ro.order_amount,ro.pay_way,ro.pay_time,ro.pay_status,ro.create_time,ro.refund_status';
|
$field = 'ro.id,ro.sn,ro.order_amount,ro.pay_way,ro.pay_time,ro.pay_status,ro.create_time,ro.refund_status';
|
||||||
$field .= ',u.avatar,u.nickname,u.company_id';
|
$field .= ',u.avatar,u.nickname,u.company_id';
|
||||||
$lists = RechargeOrder::alias('ro')
|
$lists = RechargeOrder::alias('ro')
|
||||||
|
118
app/adminapi/logic/AppUpdateLogic.php
Normal file
118
app/adminapi/logic/AppUpdateLogic.php
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | 开源版本可自由商用,可去除界面版权logo
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||||
|
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||||
|
// | 访问官网:https://www.likeadmin.cn
|
||||||
|
// | likeadmin团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeadminTeam
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace app\adminapi\logic;
|
||||||
|
|
||||||
|
|
||||||
|
use app\common\model\AppUpdate;
|
||||||
|
use app\common\logic\BaseLogic;
|
||||||
|
use think\facade\Db;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* app更新逻辑
|
||||||
|
* Class AppUpdateLogic
|
||||||
|
* @package app\adminapi\logic
|
||||||
|
*/
|
||||||
|
class AppUpdateLogic extends BaseLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 添加app更新
|
||||||
|
* @param array $params
|
||||||
|
* @return bool
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public static function add(array $params): bool
|
||||||
|
{
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
AppUpdate::create([
|
||||||
|
'title' => $params['title'],
|
||||||
|
'content' => $params['content'],
|
||||||
|
'type' => $params['type'],
|
||||||
|
'version' => $params['version'],
|
||||||
|
'dow_url' => $params['dow_url'],
|
||||||
|
'force' => $params['force'],
|
||||||
|
'quiet' => $params['quiet']
|
||||||
|
]);
|
||||||
|
|
||||||
|
Db::commit();
|
||||||
|
return true;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
Db::rollback();
|
||||||
|
self::setError($e->getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 编辑app更新
|
||||||
|
* @param array $params
|
||||||
|
* @return bool
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public static function edit(array $params): bool
|
||||||
|
{
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
AppUpdate::where('id', $params['id'])->update([
|
||||||
|
'title' => $params['title'],
|
||||||
|
'content' => $params['content'],
|
||||||
|
'type' => $params['type'],
|
||||||
|
'version' => $params['version'],
|
||||||
|
'dow_url' => $params['dow_url'],
|
||||||
|
'force' => $params['force'],
|
||||||
|
'quiet' => $params['quiet']
|
||||||
|
]);
|
||||||
|
|
||||||
|
Db::commit();
|
||||||
|
return true;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
Db::rollback();
|
||||||
|
self::setError($e->getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 删除app更新
|
||||||
|
* @param array $params
|
||||||
|
* @return bool
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public static function delete(array $params): bool
|
||||||
|
{
|
||||||
|
return AppUpdate::destroy($params['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 获取app更新详情
|
||||||
|
* @param $params
|
||||||
|
* @return array
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public static function detail($params): array
|
||||||
|
{
|
||||||
|
return AppUpdate::findOrEmpty($params['id'])->toArray();
|
||||||
|
}
|
||||||
|
}
|
104
app/adminapi/validate/AppUpdateValidate.php
Normal file
104
app/adminapi/validate/AppUpdateValidate.php
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | 开源版本可自由商用,可去除界面版权logo
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||||
|
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||||
|
// | 访问官网:https://www.likeadmin.cn
|
||||||
|
// | likeadmin团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeadminTeam
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace app\adminapi\validate;
|
||||||
|
|
||||||
|
|
||||||
|
use app\common\validate\BaseValidate;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* app更新验证器
|
||||||
|
* Class AppUpdateValidate
|
||||||
|
* @package app\adminapi\validate
|
||||||
|
*/
|
||||||
|
class AppUpdateValidate extends BaseValidate
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置校验规则
|
||||||
|
* @var string[]
|
||||||
|
*/
|
||||||
|
protected $rule = [
|
||||||
|
'id' => 'require',
|
||||||
|
'title' => 'require',
|
||||||
|
'content' => 'require',
|
||||||
|
'type' => 'require',
|
||||||
|
'version' => 'require',
|
||||||
|
'dow_url' => 'require',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 参数描述
|
||||||
|
* @var string[]
|
||||||
|
*/
|
||||||
|
protected $field = [
|
||||||
|
'id' => 'id',
|
||||||
|
'title' => '标题',
|
||||||
|
'content' => '内容',
|
||||||
|
'type' => '1ios 2安卓',
|
||||||
|
'version' => '版本',
|
||||||
|
'dow_url' => 'app链接',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 添加场景
|
||||||
|
* @return AppUpdateValidate
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function sceneAdd()
|
||||||
|
{
|
||||||
|
return $this->only(['title','content','type','version','dow_url']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 编辑场景
|
||||||
|
* @return AppUpdateValidate
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function sceneEdit()
|
||||||
|
{
|
||||||
|
return $this->only(['id','title','content','type','version','dow_url']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 删除场景
|
||||||
|
* @return AppUpdateValidate
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function sceneDelete()
|
||||||
|
{
|
||||||
|
return $this->only(['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @notes 详情场景
|
||||||
|
* @return AppUpdateValidate
|
||||||
|
* @author likeadmin
|
||||||
|
* @date 2023/08/31 11:08
|
||||||
|
*/
|
||||||
|
public function sceneDetail()
|
||||||
|
{
|
||||||
|
return $this->only(['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -35,6 +35,7 @@ class CompanyValidate extends BaseValidate
|
|||||||
'company_name' => 'require|unique:Company',
|
'company_name' => 'require|unique:Company',
|
||||||
'organization_code' => 'require',
|
'organization_code' => 'require',
|
||||||
'master_name' => 'require',
|
'master_name' => 'require',
|
||||||
|
'id_card' => 'require',
|
||||||
'master_position' => 'require',
|
'master_position' => 'require',
|
||||||
'master_phone' => 'require',
|
'master_phone' => 'require',
|
||||||
'master_email' => 'require',
|
'master_email' => 'require',
|
||||||
@ -52,6 +53,7 @@ class CompanyValidate extends BaseValidate
|
|||||||
'company_name' => '公司名称',
|
'company_name' => '公司名称',
|
||||||
'organization_code' => '组织机构代码',
|
'organization_code' => '组织机构代码',
|
||||||
'master_name' => '主联系人姓名',
|
'master_name' => '主联系人姓名',
|
||||||
|
'id_card' => '主联系人身份证',
|
||||||
'master_position' => '主联系人职务',
|
'master_position' => '主联系人职务',
|
||||||
'master_phone' => '主联系人手机',
|
'master_phone' => '主联系人手机',
|
||||||
'master_email' => '主联系人邮箱',
|
'master_email' => '主联系人邮箱',
|
||||||
@ -68,7 +70,7 @@ class CompanyValidate extends BaseValidate
|
|||||||
*/
|
*/
|
||||||
public function sceneAdd()
|
public function sceneAdd()
|
||||||
{
|
{
|
||||||
return $this->only(['company_name','organization_code','master_name','master_position','master_phone']);
|
return $this->only(['company_name','organization_code','master_name','id_card','master_position','master_phone']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -80,7 +82,7 @@ class CompanyValidate extends BaseValidate
|
|||||||
*/
|
*/
|
||||||
public function sceneEdit()
|
public function sceneEdit()
|
||||||
{
|
{
|
||||||
return $this->only(['id','company_name','organization_code','master_name','master_position','master_phone']);
|
return $this->only(['id','company_name','organization_code','master_name','id_card','master_position','master_phone']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,16 +1,18 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace app\api\controller;
|
namespace app\api\controller;
|
||||||
|
|
||||||
use app\common\logic\finance\ShareProfit;
|
|
||||||
use app\common\logic\task\TaskLogic;
|
use app\common\logic\task\TaskLogic;
|
||||||
use app\common\model\Company;
|
use app\common\model\Company;
|
||||||
|
use app\common\model\company\CompanyAccountLog;
|
||||||
use app\common\model\task\Task;
|
use app\common\model\task\Task;
|
||||||
use app\common\model\task_scheduling\TaskScheduling;
|
use app\common\model\task_scheduling\TaskScheduling;
|
||||||
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
||||||
use app\common\model\task_template\TaskTemplate;
|
use app\common\model\task_template\TaskTemplate;
|
||||||
|
use app\common\model\user\User as UserModel;
|
||||||
|
use app\common\model\user\UserAccountLog;
|
||||||
use think\facade\Log;
|
use think\facade\Log;
|
||||||
|
use app\job\TaskAdd;
|
||||||
use app\job\TaskInformationJob;
|
use app\job\TaskInformationJob;
|
||||||
use Symfony\Component\HttpClient\HttpClient;
|
|
||||||
|
|
||||||
class CeshiController extends BaseApiController
|
class CeshiController extends BaseApiController
|
||||||
{
|
{
|
||||||
@ -21,24 +23,60 @@ class CeshiController extends BaseApiController
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
// $all=TaskSchedulingPlan::whereDay('end_time','yesterday')->where('is_pay',0)->with(['template_info','scheduling'])->select()->toArray();
|
|
||||||
// halt($all);
|
// $transaction_pool=780;
|
||||||
$all=TaskSchedulingPlan::whereDay('end_time')->where('is_pay',0)->with(['template_info','scheduling'])->select()->toArray();
|
// $shang_date_total_price=[
|
||||||
|
// 'arr'=>['total_price'=>305,'day_money'=>580]
|
||||||
|
// ];
|
||||||
|
// if(bcadd($shang_date_total_price['arr']['total_price'],$transaction_pool,2)>$shang_date_total_price['arr']['day_money']){
|
||||||
|
// if($shang_date_total_price['arr']['total_price']<$shang_date_total_price['arr']['day_money']){
|
||||||
|
// $shang_date_total_price['arr']['supplement']=bcsub($shang_date_total_price['arr']['day_money'],$shang_date_total_price['arr']['total_price'],2);
|
||||||
|
// }else{
|
||||||
|
// $shang_date_total_price['arr']['supplement']=0;
|
||||||
|
// $shang_date_total_price['arr']['after_transaction_pool']=0;
|
||||||
|
// }
|
||||||
|
// $shang_date_total_price['arr']['before_transaction_pool']=$transaction_pool;
|
||||||
|
// Task::where('id', 839)->update(['status' => 3,'extend'=>json_encode($shang_date_total_price)]);
|
||||||
|
|
||||||
|
// $day_money=bcsub($shang_date_total_price['arr']['total_price'],$shang_date_total_price['arr']['day_money'],2);//当天还剩多少
|
||||||
|
|
||||||
|
// TaskTemplate::where('id',109)->update(['transaction_pool'=>bcadd($transaction_pool,$day_money,2)]);
|
||||||
|
// }
|
||||||
|
$all=TaskSchedulingPlan::where('id',928)->with(['template_info','scheduling'])->select()->toArray();
|
||||||
foreach($all as $k=>$v){
|
foreach($all as $k=>$v){
|
||||||
queue(TaskInformationJob::class,$v);
|
queue(TaskInformationJob::class,$v);
|
||||||
}
|
}
|
||||||
halt(1);
|
return true;
|
||||||
|
$plan_all = TaskScheduling::where('id',119)->with('company_info')->select()->toArray();
|
||||||
|
$plan_ids = [];
|
||||||
|
foreach ($plan_all as $k => $v) {
|
||||||
|
$all = TaskTemplate::where('id', 118)->where('task_scheduling', $v['id'])->limit(30)->select()->toArray();
|
||||||
|
$plan_ids[] = $v['id'];
|
||||||
|
if ($all) {
|
||||||
|
$plan_all[$k]['template'] = $all;
|
||||||
|
} else {
|
||||||
|
unset($plan_all[$k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$company_id = [];
|
||||||
|
foreach ($plan_all as $k => $v) {
|
||||||
|
foreach ($v['template'] as $kk => $vv) {
|
||||||
|
|
||||||
|
queue(TaskAdd::class,['data'=>$vv,'data_two'=>$v]);
|
||||||
|
}
|
||||||
|
$company_id[] = $v['company_id'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务刷新
|
* 任务刷新
|
||||||
*/
|
*/
|
||||||
public function ceshi(){
|
public function ceshi(){
|
||||||
|
return false;
|
||||||
$time=strtotime(date('Y-m-d'));
|
$time=strtotime(date('Y-m-d'));
|
||||||
// $time=strtotime(date('Y-m-d'));
|
// $time=strtotime(date('Y-m-d'));
|
||||||
// $tiem_end=$time+86399;where('cron_time','<',$time)->
|
// $tiem_end=$time+86399;where('cron_time','<',$time)->
|
||||||
$plan_all=TaskScheduling::where('status',1)->with('company_info')->select()->toArray();
|
$plan_all=TaskScheduling::where('id',99)->with('company_info')->select()->toArray();
|
||||||
foreach($plan_all as $k=>$v){
|
foreach($plan_all as $k=>$v){
|
||||||
$all=TaskTemplate::where('status',1)->where('task_scheduling',$v['id'])->limit(30)->select()->toArray();
|
$all=TaskTemplate::where('status',1)->where('task_scheduling',$v['id'])->limit(30)->select()->toArray();
|
||||||
if($all){
|
if($all){
|
||||||
@ -49,53 +87,7 @@ class CeshiController extends BaseApiController
|
|||||||
}
|
}
|
||||||
$company_id=[];
|
$company_id=[];
|
||||||
foreach($plan_all as $k=>$v){
|
foreach($plan_all as $k=>$v){
|
||||||
|
|
||||||
foreach($v['template'] as $kkk=>$vvv){
|
|
||||||
if ($v['types'] == 1 ||$vvv['types'] == 3) {
|
|
||||||
if ($v['company_info'] && $v['company_info']['day_count'] <=$vvv['stage_day_one']) {
|
|
||||||
$res=$this->stage_inspection($v['template'],'moeny','一');
|
|
||||||
if($res==false){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$res=$this->stage_inspection($v['template'],'money_two','二');
|
|
||||||
if($res==false){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} elseif ($v['types'] == 2) {
|
|
||||||
if ($v['company_info']['day_count'] <=$vvv['stage_day_one']) {
|
|
||||||
$res=$this->stage_inspection($v['template'],'moeny','一');
|
|
||||||
if($res==false){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} elseif ($v['company_info']['day_count'] <=$vvv['stage_day_two']) {
|
|
||||||
$res=$this->stage_inspection($v['template'],'money_two','二');
|
|
||||||
if($res==false){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$res=$this->stage_inspection($v['template'],'money_three','三');
|
|
||||||
if($res==false){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ( $v['company_info']['day_count'] <=$vvv['stage_day_one']) {
|
|
||||||
$res=$this->stage_inspection($v['template'],'money_three','三');
|
|
||||||
if($res==false){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$res=$this->stage_inspection($v['template'],'money_two','二');
|
|
||||||
if($res==false){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
foreach($v['template'] as $kk=>$vv){
|
foreach($v['template'] as $kk=>$vv){
|
||||||
halt($v);
|
|
||||||
TaskLogic::CronAdd($vv,$v);
|
TaskLogic::CronAdd($vv,$v);
|
||||||
}
|
}
|
||||||
$company_id[]=$v['company_id'];
|
$company_id[]=$v['company_id'];
|
||||||
|
19
app/api/controller/CompanyAccountLogController.php
Normal file
19
app/api/controller/CompanyAccountLogController.php
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\api\controller;
|
||||||
|
|
||||||
|
use app\common\model\company\CompanyAccountLog;
|
||||||
|
|
||||||
|
class CompanyAccountLogController extends BaseApiController{
|
||||||
|
|
||||||
|
public function lists(){
|
||||||
|
[$page,$limit]=$this->getPage();
|
||||||
|
$where=[];
|
||||||
|
$where['company_id']=$this->userInfo['company_id'];
|
||||||
|
$where['change_object']=CompanyAccountLog::SHAREHOLDER;
|
||||||
|
$where['change_type']=CompanyAccountLog::TASK_INC_SHAREHOLDER_MONEY;
|
||||||
|
$count=CompanyAccountLog::where($where)->count();
|
||||||
|
$lists=CompanyAccountLog::where($where)->page($page,$limit)->order('id','desc')->select();
|
||||||
|
return $this->success('ok',['count'=>$count,'list'=>$lists]);
|
||||||
|
}
|
||||||
|
}
|
@ -25,7 +25,7 @@ class CompanyController extends BaseApiController
|
|||||||
[$page, $limit] = $this->getPage();
|
[$page, $limit] = $this->getPage();
|
||||||
$myCompany = Company::findOrEmpty($this->userInfo['company_id'])->toArray();
|
$myCompany = Company::findOrEmpty($this->userInfo['company_id'])->toArray();
|
||||||
$companyIds = Contract::where('party_a', $myCompany['id'])->column('party_b');
|
$companyIds = Contract::where('party_a', $myCompany['id'])->column('party_b');
|
||||||
$query = Company::whereIn('id', $companyIds)->where('status', 1)->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name','brigade_name','area_manager_name']);
|
$query = Company::whereIn('id', $companyIds)->where('status', 1)->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name', 'brigade_name', 'area_manager_name']);
|
||||||
$count = $query->count();
|
$count = $query->count();
|
||||||
$companies = $query->page($page)->limit($limit)->select()->each(function ($company) {
|
$companies = $query->page($page)->limit($limit)->select()->each(function ($company) {
|
||||||
$company['other_contacts'] = json_decode($company['other_contacts'], true);
|
$company['other_contacts'] = json_decode($company['other_contacts'], true);
|
||||||
@ -41,7 +41,7 @@ class CompanyController extends BaseApiController
|
|||||||
public function unsigned()
|
public function unsigned()
|
||||||
{
|
{
|
||||||
$myCompany = Company::findOrEmpty($this->userInfo['company_id'])->toArray();
|
$myCompany = Company::findOrEmpty($this->userInfo['company_id'])->toArray();
|
||||||
$query = Company::where(['street' => $myCompany['street'], 'company_type' => [17, 18], 'is_contract' => 0])->where('id','<>',$this->userInfo['company_id']);
|
$query = Company::where(['street' => $myCompany['street'], 'company_type' => [17, 18], 'is_contract' => 0])->where('id', '<>', $this->userInfo['company_id']);
|
||||||
$count = $query->count();
|
$count = $query->count();
|
||||||
$companies = $query->field('*,street street_name,area area_name,city city_name,province province_name,village village_name,brigade brigade_name')->select()->toArray();
|
$companies = $query->field('*,street street_name,area area_name,city city_name,province province_name,village village_name,brigade brigade_name')->select()->toArray();
|
||||||
return $this->success('', ['count' => $count, 'data' => $companies]);
|
return $this->success('', ['count' => $count, 'data' => $companies]);
|
||||||
@ -58,13 +58,13 @@ class CompanyController extends BaseApiController
|
|||||||
if (!$query) {
|
if (!$query) {
|
||||||
return $this->fail('公司不存在');
|
return $this->fail('公司不存在');
|
||||||
}
|
}
|
||||||
$company = $query->append(['province_name', 'city_name', 'area_name', 'street_name', 'area_manager_name','village_name','brigade_name'])->toArray();
|
$company = $query->append(['province_name', 'city_name', 'area_name', 'street_name', 'area_manager_name', 'village_name', 'brigade_name'])->toArray();
|
||||||
$company['other_contacts'] = json_decode($company['other_contacts'], true);
|
$company['other_contacts'] = json_decode($company['other_contacts'], true);
|
||||||
$company['qualification'] = $company['qualification'] != null ? json_decode($company['qualification'], true) : '';
|
$company['qualification'] = $company['qualification'] != null ? json_decode($company['qualification'], true) : '';
|
||||||
if($company['qualification'] && isset($company['qualification']['other_qualifications'])){
|
if ($company['qualification'] && isset($company['qualification']['other_qualifications'])) {
|
||||||
$company['qualification']['other_qualifications']=json_decode($company['qualification']['other_qualifications'],true);
|
$company['qualification']['other_qualifications'] = json_decode($company['qualification']['other_qualifications'], true);
|
||||||
}
|
}
|
||||||
$contract = Contract::where('party_b',$id)->find();
|
$contract = Contract::where('party_b', $id)->find();
|
||||||
if (!empty($contract)) {
|
if (!empty($contract)) {
|
||||||
if ($contract['type'] == 2) {
|
if ($contract['type'] == 2) {
|
||||||
$contract['party_b_name'] = User::where('id', $contract['party_b'])->value('nickname');
|
$contract['party_b_name'] = User::where('id', $contract['party_b'])->value('nickname');
|
||||||
@ -114,7 +114,7 @@ class CompanyController extends BaseApiController
|
|||||||
$count = $query->count();
|
$count = $query->count();
|
||||||
$users = $query->order('id', 'desc')->page($page)->limit($limit)->with(['company' => function ($query) {
|
$users = $query->order('id', 'desc')->page($page)->limit($limit)->with(['company' => function ($query) {
|
||||||
$query->field('id,company_name');
|
$query->field('id,company_name');
|
||||||
}])->append(['province_name', 'city_name', 'area_name', 'street_name','village_name','brigade_name'])
|
}])->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name', 'brigade_name'])
|
||||||
->field('id,avatar,real_name,account,mobile as phone,province,city,area,street,village,brigade,company_id,create_time,qualification,nickname,is_contract,is_captain')
|
->field('id,avatar,real_name,account,mobile as phone,province,city,area,street,village,brigade,company_id,create_time,qualification,nickname,is_contract,is_captain')
|
||||||
->select()->each(function ($item, $key) {
|
->select()->each(function ($item, $key) {
|
||||||
if ($item['qualification'] != '') {
|
if ($item['qualification'] != '') {
|
||||||
@ -122,12 +122,12 @@ class CompanyController extends BaseApiController
|
|||||||
}
|
}
|
||||||
if ($item['is_captain'] == 1) {
|
if ($item['is_captain'] == 1) {
|
||||||
$item['informationg_count'] = UserInformationg::where(['create_user_id' => $item['id'], 'status' => 1])->count();
|
$item['informationg_count'] = UserInformationg::where(['create_user_id' => $item['id'], 'status' => 1])->count();
|
||||||
$item['informationg_update_count'] = UserInformationg::where(['create_user_id' => $item['id'], 'status' => 1,'is_update'=>1])->count();
|
$item['informationg_update_count'] = UserInformationg::where(['create_user_id' => $item['id'], 'status' => 1, 'is_update' => 1])->count();
|
||||||
$time=UserInformationgDemand::order('update_time','desc')->value('update_time');
|
$time = UserInformationgDemand::order('update_time', 'desc')->value('update_time');
|
||||||
if($time){
|
if ($time) {
|
||||||
$item['informationg_update_time']=date('Y-m-d H:i:s', $time);
|
$item['informationg_update_time'] = date('Y-m-d H:i:s', $time);
|
||||||
}else{
|
} else {
|
||||||
$item['informationg_update_time']='';
|
$item['informationg_update_time'] = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -141,7 +141,7 @@ class CompanyController extends BaseApiController
|
|||||||
$query->field('id,company_name');
|
$query->field('id,company_name');
|
||||||
}])->field('id,sex,avatar,nickname name,account,mobile phone,id_card,qualification,province,province province_name,city,city city_name,area,area area_name,street,street street_name,village,village village_name,brigade,brigade brigade_name, is_contract,company_id,is_captain')->find()->toArray();
|
}])->field('id,sex,avatar,nickname name,account,mobile phone,id_card,qualification,province,province province_name,city,city city_name,area,area area_name,street,street street_name,village,village village_name,brigade,brigade brigade_name, is_contract,company_id,is_captain')->find()->toArray();
|
||||||
|
|
||||||
$contract = Contract::where("type",2)->where('party_b',$id)->append(['contract_type_name'])->find();
|
$contract = Contract::where("type", 2)->where('party_b', $id)->append(['contract_type_name'])->find();
|
||||||
$user['contract'] = $contract;
|
$user['contract'] = $contract;
|
||||||
// $roleIds = AdminRole::where('admin_id', $user['id'])->column('role_id');
|
// $roleIds = AdminRole::where('admin_id', $user['id'])->column('role_id');
|
||||||
// $user['roles'] = SystemRole::whereIn('id', $roleIds)->column('name');
|
// $user['roles'] = SystemRole::whereIn('id', $roleIds)->column('name');
|
||||||
@ -168,7 +168,7 @@ class CompanyController extends BaseApiController
|
|||||||
public function Draftingcontracts()
|
public function Draftingcontracts()
|
||||||
{
|
{
|
||||||
$params = $this->request->param();
|
$params = $this->request->param();
|
||||||
$result = ContractLogic::Draftingcontracts($params,1);
|
$result = ContractLogic::Draftingcontracts($params, 1);
|
||||||
if ($result == true) {
|
if ($result == true) {
|
||||||
return $this->success('生成合同成功');
|
return $this->success('生成合同成功');
|
||||||
}
|
}
|
||||||
@ -179,12 +179,84 @@ class CompanyController extends BaseApiController
|
|||||||
public function postsms()
|
public function postsms()
|
||||||
{
|
{
|
||||||
$params = $this->request->param();
|
$params = $this->request->param();
|
||||||
$id=Contract::where('party_b', $params['id'])->value('id');
|
$id = Contract::where('party_b', $params['id'])->value('id');
|
||||||
$res = ContractLogic::postsms(['id'=>$id]);
|
$res = ContractLogic::postsms(['id' => $id]);
|
||||||
if ($res == true) {
|
if ($res == true) {
|
||||||
return $this->success('发送成功', [], 1, 1);
|
return $this->success('发送成功', [], 1, 1);
|
||||||
} else {
|
} else {
|
||||||
return $this->fail(ContractLogic::getError());
|
return $this->fail(ContractLogic::getError());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 股金管理
|
||||||
|
*/
|
||||||
|
public function shareholder_info()
|
||||||
|
{
|
||||||
|
// $params = $this->request->param();
|
||||||
|
$find = Company::where('id', $this->userInfo['company_id'])->field('shareholder_money,village')->find()->toArray();
|
||||||
|
$find['is_contract'] = 0;
|
||||||
|
$find['check_status'] = 0;
|
||||||
|
if ($find) {
|
||||||
|
$contract = Contract::where('party_b', $this->userInfo['company_id'])->where('contract_type', 40)->field('id,contract_no,contract_url,create_time,check_status,status')->find();
|
||||||
|
if ($contract) {
|
||||||
|
if($contract['contract_url']=='' &&$contract['status']==1){
|
||||||
|
app(JunziqianController::class)->download_file($contract['contract_no']);
|
||||||
|
$contract_url = Contract::where('id', $contract['id'])->value('contract_url');
|
||||||
|
$find['contract_url'] = env('url.url_prefix'). $contract_url;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$find['contract_url'] = env('url.url_prefix') . $contract['contract_url'];
|
||||||
|
}
|
||||||
|
$find['contract_time'] = $contract['create_time'];
|
||||||
|
$find['check_status'] = $contract['check_status'];
|
||||||
|
if ($contract['status'] == 1) {
|
||||||
|
$find['is_contract'] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$village_info = Company::where('village', $find['village'])->where('company_type', 17)->find();
|
||||||
|
if ($village_info) {
|
||||||
|
$find['is_village'] = 1;
|
||||||
|
} else {
|
||||||
|
$find['is_village'] = 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$find['contract_url'] = '';
|
||||||
|
$find['contract_time'] = '';
|
||||||
|
$find['is_village'] = 0;
|
||||||
|
}
|
||||||
|
return $this->success('ok', $find);
|
||||||
|
}
|
||||||
|
|
||||||
|
//**发起股金合同 */
|
||||||
|
public function initiate_shareholder_contract()
|
||||||
|
{
|
||||||
|
$params = $this->request->param();
|
||||||
|
$params['party_b'] = $this->userInfo['company_id'];
|
||||||
|
if(!$params['party_b']){
|
||||||
|
return $this->fail('请先绑定公司');
|
||||||
|
}
|
||||||
|
$Company = Company::where('id', $this->userInfo['company_id'])->where('company_type',18)->field('shareholder_money,village')->find();
|
||||||
|
if($Company){
|
||||||
|
$params['party_a'] = Company::where('village', $Company['village'])->where('company_type', 17)->value('id');
|
||||||
|
}else{
|
||||||
|
return $this->fail('您不是小组公司');
|
||||||
|
|
||||||
|
}
|
||||||
|
if(!isset($params['party_a'])||$params['party_a']==0){
|
||||||
|
return $this->fail('甲方公司不存在');
|
||||||
|
}
|
||||||
|
$area_manager = Company::where('id', $params['party_b'])->value('area_manager');
|
||||||
|
$params['area_manager'] = $area_manager;
|
||||||
|
$params['type'] = 1;
|
||||||
|
$result = ContractLogic::initiate_contract($params);
|
||||||
|
if ($result == true) {
|
||||||
|
return $this->success('发起成功,等待平台风控部上传合同');
|
||||||
|
}
|
||||||
|
return $this->fail(ContractLogic::getError());
|
||||||
|
}
|
||||||
|
public function pay_share_capital()
|
||||||
|
{
|
||||||
|
// return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,26 +22,11 @@ class ContractController extends BaseApiController
|
|||||||
if($this->userInfo['admin_id']==0){
|
if($this->userInfo['admin_id']==0){
|
||||||
$query = Contract::where("type",2)->where('party_b',$this->userId);
|
$query = Contract::where("type",2)->where('party_b',$this->userId);
|
||||||
} else {
|
} else {
|
||||||
$query = Contract::where("type",1)->where('party_b',$this->userInfo['company_id']);
|
$query = Contract::where("type",1)->where('party_a|party_b',$this->userInfo['company_id']);
|
||||||
}
|
}
|
||||||
$query->where('status',1);
|
$query->where('status',1);
|
||||||
$count = $query->count();
|
$count = $query->count();
|
||||||
$contract = $query->with(['party_a_info','party_b_info','contract_type'])->page($page)->limit($limit)->select();
|
$contract = $query->with(['party_a_info','party_b_info','contract_type'])->page($page)->limit($limit)->select();
|
||||||
// ->each(function ($item, $key) {
|
|
||||||
// $company_name= Db::name('company')->where('id', $item['party_a'])->value('company_name');
|
|
||||||
// $contract_type_name= Db::name('dict_data')->where('id', $item['contract_type'])->value('name');
|
|
||||||
// $datas=[
|
|
||||||
// 'id'=>$item['id'],
|
|
||||||
// 'company_name'=>$company_name,
|
|
||||||
// 'contract_type_name'=>$contract_type_name,
|
|
||||||
// ];
|
|
||||||
// $item->company=$datas;
|
|
||||||
// if ($item->type == 2) {
|
|
||||||
// $item['party_b_name'] = User::where('id', $item['party_b'])->value('name');
|
|
||||||
// } else {
|
|
||||||
// $item['party_b_name'] = Db::name('company')->where('id', $item['party_b'])->value('company_name');
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
return $this->success('success', ['count' => $count, 'data' => $contract]);
|
return $this->success('success', ['count' => $count, 'data' => $contract]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
63
app/api/controller/CronController.php
Normal file
63
app/api/controller/CronController.php
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\api\controller;
|
||||||
|
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
||||||
|
use app\job\TaskInformationJob;
|
||||||
|
use think\facade\Log;
|
||||||
|
use app\common\model\Company;
|
||||||
|
use app\common\model\task_template\TaskTemplate;
|
||||||
|
use app\common\model\task_scheduling\TaskScheduling;
|
||||||
|
use app\job\TaskAdd;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* index
|
||||||
|
* Class IndexController
|
||||||
|
* @package app\api\controller
|
||||||
|
*/
|
||||||
|
class CronController extends BaseApiController
|
||||||
|
{
|
||||||
|
public array $notNeedLogin = ['settlement','task_add'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结算
|
||||||
|
*/
|
||||||
|
public function settlement(){
|
||||||
|
$all=TaskSchedulingPlan::where('is_pay',0)->with(['template_info','scheduling'])->select()->toArray();
|
||||||
|
foreach($all as $k=>$v){
|
||||||
|
queue(TaskInformationJob::class,$v);
|
||||||
|
}
|
||||||
|
Log::info('定时任务结算执行成功'.date('Y-m-d H:i:s'));
|
||||||
|
return $this->success('定时任务结算执行成功');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function task_add(){
|
||||||
|
//任务下发
|
||||||
|
// $time=strtotime(date('Y-m-d',strtotime('-1 day')));
|
||||||
|
$time = strtotime(date('Y-m-d'));
|
||||||
|
// $tiem_end=$time+86399;
|
||||||
|
$plan_all = TaskScheduling::where('cron_time', '<', $time)->where('status', 1)->with('company_info')->select()->toArray();
|
||||||
|
$plan_ids = [];
|
||||||
|
foreach ($plan_all as $k => $v) {
|
||||||
|
$all = TaskTemplate::where('status', 1)->where('task_scheduling', $v['id'])->limit(30)->select()->toArray();
|
||||||
|
$plan_ids[] = $v['id'];
|
||||||
|
if ($all) {
|
||||||
|
$plan_all[$k]['template'] = $all;
|
||||||
|
} else {
|
||||||
|
unset($plan_all[$k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$company_id = [];
|
||||||
|
foreach ($plan_all as $k => $v) {
|
||||||
|
foreach ($v['template'] as $kk => $vv) {
|
||||||
|
queue(TaskAdd::class,['data'=>$vv,'data_two'=>$v]);
|
||||||
|
}
|
||||||
|
$company_id[] = $v['company_id'];
|
||||||
|
}
|
||||||
|
Company::where('id', 'in', $company_id)->inc('day_count')->update();
|
||||||
|
TaskScheduling::where('id', 'in', $plan_ids)->update(['cron_time' => time()]);
|
||||||
|
Log::info('定时任务下发执行成功' . date('Y-m-d H:i:s'));
|
||||||
|
return $this->success('定时任务下发执行成功');
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,7 @@ namespace app\api\controller;
|
|||||||
|
|
||||||
|
|
||||||
use app\api\logic\IndexLogic;
|
use app\api\logic\IndexLogic;
|
||||||
|
use app\common\model\contract\VehicleContract;
|
||||||
use app\Request;
|
use app\Request;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
use think\response\Json;
|
use think\response\Json;
|
||||||
@ -18,14 +19,14 @@ class HetongController extends BaseApiController
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
public array $notNeedLogin = ['url'];
|
public array $notNeedLogin = ['url','info'];
|
||||||
|
|
||||||
public function url()
|
public function url()
|
||||||
{
|
{
|
||||||
$id = Request()->get('id');
|
$id = Request()->get('id');
|
||||||
$type = Request()->get('type');
|
$type = Request()->get('type');
|
||||||
$msg='合同不存在';
|
$msg='合同不存在';
|
||||||
if(!empty($type)){
|
if(empty($type)){
|
||||||
$msg='参数错误';
|
$msg='参数错误';
|
||||||
}
|
}
|
||||||
if ($id && $type) {
|
if ($id && $type) {
|
||||||
@ -39,4 +40,19 @@ class HetongController extends BaseApiController
|
|||||||
}
|
}
|
||||||
return '<style type="text/css"> * { padding: 0; margin: 0; } div { padding: 4px 48px; } a { color: #2E5CD5; cursor: pointer; text-decoration: none } a:hover { text-decoration: underline; } body { background: #fff; font-family: "Century Gothic", "Microsoft yahei"; color: #333; font-size: 18px; } h1 { font-size: 100px; font-weight: normal; margin-bottom: 12px; } p { line-height: 1.6em; font-size: 42px } </style> <div style="padding: 24px 48px;"> <h1>:) </h1> <p>'.$msg.'</p> </div>';
|
return '<style type="text/css"> * { padding: 0; margin: 0; } div { padding: 4px 48px; } a { color: #2E5CD5; cursor: pointer; text-decoration: none } a:hover { text-decoration: underline; } body { background: #fff; font-family: "Century Gothic", "Microsoft yahei"; color: #333; font-size: 18px; } h1 { font-size: 100px; font-weight: normal; margin-bottom: 12px; } p { line-height: 1.6em; font-size: 42px } </style> <div style="padding: 24px 48px;"> <h1>:) </h1> <p>'.$msg.'</p> </div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function info(){
|
||||||
|
$params = $this->request->get(['id','type']);
|
||||||
|
if(empty($params['id']) || empty($params['type'])){
|
||||||
|
return $this->fail('缺少必要参数');
|
||||||
|
}
|
||||||
|
$find = VehicleContract::where('id', $params['id'])->find();
|
||||||
|
if (!empty($find) && $find['url']) {
|
||||||
|
$url = json_decode($find['url'], true);
|
||||||
|
if(isset($url[$params['type']])){
|
||||||
|
return redirect($url[$params['type']]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return '<style type="text/css"> * { padding: 0; margin: 0; } div { padding: 4px 48px; } a { color: #2E5CD5; cursor: pointer; text-decoration: none } a:hover { text-decoration: underline; } body { background: #fff; font-family: "Century Gothic", "Microsoft yahei"; color: #333; font-size: 18px; } h1 { font-size: 100px; font-weight: normal; margin-bottom: 12px; } p { line-height: 1.6em; font-size: 42px } </style> <div style="padding: 24px 48px;"> <h1>:) </h1> <p></p> </div>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,13 +11,13 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | author: likeadminTeam
|
// | author: likeadminTeam
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
namespace app\api\controller;
|
namespace app\api\controller;
|
||||||
|
|
||||||
|
|
||||||
use app\api\logic\IndexLogic;
|
use app\api\logic\IndexLogic;
|
||||||
use app\common\model\Company;
|
use app\common\model\Company;
|
||||||
use app\common\model\company\CompanyProperty;
|
use app\common\model\company\CompanyProperty;
|
||||||
|
use app\common\model\contract\VehicleContract;
|
||||||
|
use app\common\model\vehicle\VehicleRent;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
use think\facade\Log;
|
use think\facade\Log;
|
||||||
use think\response\Json;
|
use think\response\Json;
|
||||||
@ -30,11 +30,7 @@ use think\response\Json;
|
|||||||
*/
|
*/
|
||||||
class IndexController extends BaseApiController
|
class IndexController extends BaseApiController
|
||||||
{
|
{
|
||||||
|
public array $notNeedLogin = ['index', 'config', 'policy', 'decorate', 'notifyUrl', 'notifyProperty', 'notifyAuthentication', 'notifyVehicleContractUpdate', 'systemCarRent', 'selfCarRent', 'cancelRent'];
|
||||||
|
|
||||||
public array $notNeedLogin = ['index', 'config', 'policy', 'decorate', 'notifyUrl','notifyProperty','notifyAuthentication'];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notes 首页数据
|
* @notes 首页数据
|
||||||
@ -63,8 +59,9 @@ class IndexController extends BaseApiController
|
|||||||
*/
|
*/
|
||||||
public function config()
|
public function config()
|
||||||
{
|
{
|
||||||
$group_id=$this->userInfo?$this->userInfo['group_id']:1;
|
$parmas = $this->request->param();
|
||||||
$result = IndexLogic::getConfigData($group_id);
|
$group_id = $this->userInfo ? $this->userInfo['group_id'] : 1;
|
||||||
|
$result = IndexLogic::getConfigData($group_id, $parmas);
|
||||||
return $this->data($result);
|
return $this->data($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,43 +113,274 @@ class IndexController extends BaseApiController
|
|||||||
Db::name('user')->where('id', $find['party_b'])->update(['is_contract' => 1]);
|
Db::name('user')->where('id', $find['party_b'])->update(['is_contract' => 1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
}
|
||||||
//获取租赁信息
|
}
|
||||||
$vehicleRent = Db::name('vehicle_rent')->where('contract_id',$a['id'])->find();
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
//获取公司信息
|
}
|
||||||
$company = Db::name('company')->where('id',$vehicleRent['party_b'])->find();
|
|
||||||
//通知物流系统
|
//镇街车辆租赁回调
|
||||||
if($vehicleRent && $company){
|
public function townCarRent() {
|
||||||
$result = curl_post('http://logistics.lihaink.cn/api/vehicleRent', [], [
|
$id = Request()->get('id');
|
||||||
'contract_id' => $a['id'],
|
if(empty($id)){
|
||||||
'car_id' => $vehicleRent['car_ids'],
|
return json(['success' => false, 'msg' => '缺少参数']);
|
||||||
'company_id' => $company['id'],
|
}
|
||||||
'company_name' => $company['company_name'],
|
//获取合同数据
|
||||||
'company_user_id' => $company['user_id'],
|
$contract = VehicleContract::where('id', $id)->find();
|
||||||
'company_user_name' => $company['master_name'],
|
if (empty($contract)) {
|
||||||
'company_user_phone' => $company['master_phone'],
|
return json(['success' => false, 'msg' => '获取数据失败']);
|
||||||
'rent_type' => $vehicleRent['rent_type']
|
}
|
||||||
|
if($contract['status'] != 2){
|
||||||
|
return json(['success' => false, 'msg' => '合同状态错误']);
|
||||||
|
}
|
||||||
|
if ($contract['signing_timer'] == 0) {
|
||||||
|
//更新本地合同状态
|
||||||
|
$updateLocalRes = VehicleContract::where('id',$contract['id'])->update(['signing_timer'=>1]);
|
||||||
|
//更新远程
|
||||||
|
$updateSverRes =curl_post(env('project.logistic_domain').'/api/index/notifyContractUpdate',[],[
|
||||||
|
'id' => $contract['contract_logistic_id'],
|
||||||
|
'signing_timer' => 1,
|
||||||
]);
|
]);
|
||||||
if($result['code'] == 1){
|
if(!$updateLocalRes || $updateSverRes['code']==0){
|
||||||
$carids = explode(',',$vehicleRent['car_ids']);
|
return json(['success' => false, 'msg' => '更新失败']);
|
||||||
$pro_data = [];
|
|
||||||
foreach($carids as $k => $v){
|
|
||||||
$pro_data[$k]['company_id']=$company['id'];
|
|
||||||
$pro_data[$k]['object_id']=$v;
|
|
||||||
$pro_data[$k]['type']=1;
|
|
||||||
$pro_data[$k]['create_time']=time();
|
|
||||||
}
|
}
|
||||||
Db::name('company_property')->insertAll($pro_data);
|
}else if($contract['signing_timer'] == 1){
|
||||||
Db::name('vehicle_rent')->update(['status'=>2,'update_time'=>time(),'id'=>$vehicleRent['id']]);
|
//更新本地合同状态
|
||||||
}
|
$updateLocalRes = VehicleContract::where('id',$contract['id'])->update(['signing_timer'=>2,'status' => 3]);
|
||||||
}
|
//更新远程
|
||||||
}catch (\Exception $e){
|
$updateSverRes =curl_post(env('project.logistic_domain').'/api/index/notifyContractUpdate',[],[
|
||||||
return false;
|
'id' => $contract['contract_logistic_id'],
|
||||||
|
'signing_timer' => 2,
|
||||||
|
'status' => 3
|
||||||
|
]);
|
||||||
|
if(!$updateLocalRes || $updateSverRes['code']==0){
|
||||||
|
return json(['success' => false, 'msg' => '更新失败']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//系统车辆租赁回来
|
||||||
|
public function systemCarRent()
|
||||||
|
{
|
||||||
|
//获取参数
|
||||||
|
$id = $this->request->get('id');
|
||||||
|
if (empty($id)) {
|
||||||
|
return json(['success' => false, 'msg' => '失败1.1']);
|
||||||
|
}
|
||||||
|
//获取合同数据
|
||||||
|
$contract = VehicleContract::where('id', $id)->find();
|
||||||
|
if (empty($contract)) {
|
||||||
|
return json(['success' => false, 'msg' => '失败1.2']);
|
||||||
|
}
|
||||||
|
if ($contract['type'] != 0) {
|
||||||
|
return json(['success' => false, 'msg' => '失败1.3']);
|
||||||
|
}
|
||||||
|
if ($contract['status'] != 2) {
|
||||||
|
return json(['success' => false, 'msg' => '失败1.4']);
|
||||||
|
}
|
||||||
|
//判断签约方
|
||||||
|
if ($contract['signing_timer'] == 0) {
|
||||||
|
//更新合同的签约次数
|
||||||
|
$res = VehicleContract::where('id', $id)->update(['signing_timer' => 1]);
|
||||||
|
if (!$res) {
|
||||||
|
return json(['success' => false, 'msg' => '失败1.5']);
|
||||||
|
}
|
||||||
return json(['success' => true, 'msg' => '成功']);
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
} else if ($contract['signing_timer'] == 1) {
|
||||||
|
//获取签约后的合同
|
||||||
|
$signContractFile = app(JunziqianController::class)->downloadVehicleContractFile($contract['contract_no']);
|
||||||
|
$signContractFile = $signContractFile ?? '';
|
||||||
|
//更改合同状态
|
||||||
|
VehicleContract::where('id', $id)->update(['signing_timer' => 2, 'status' => 3,'contract_url'=>$signContractFile]);
|
||||||
|
//添加车辆到租赁列表
|
||||||
|
$vehicle = json_decode($contract['cars_info'], true);
|
||||||
|
VehicleRent::where('car_id', $vehicle['id'])->update([
|
||||||
|
'status' => 2,
|
||||||
|
'rent_time' => time(),
|
||||||
|
'rent_company_id' => $contract['company_b_id'],
|
||||||
|
]);
|
||||||
|
$party_b = Company::where('id', $contract['company_b_id'])->find();
|
||||||
|
//通知物流系统跟新
|
||||||
|
curl_post(env('project.logistic_domain').'/api/updateVehicleRent', [], [
|
||||||
|
'car_id' => $vehicle['id'],
|
||||||
|
'use_user_id' => $party_b['user_id'],
|
||||||
|
'use_user_name' => $party_b['master_name'],
|
||||||
|
'use_user_phone' => $party_b['master_phone']
|
||||||
|
]);
|
||||||
|
CompanyProperty::create([
|
||||||
|
'company_id' => $contract['company_b_id'],
|
||||||
|
'object_id' => $vehicle['id'],
|
||||||
|
'type' => 1,
|
||||||
|
'create_time' => time(),
|
||||||
|
'update_time' => time(),
|
||||||
|
]);
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
} else {
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//自有车辆租赁回答
|
||||||
|
public function selfCarRent()
|
||||||
|
{
|
||||||
|
//获取参数
|
||||||
|
$id = $this->request->get('id');
|
||||||
|
if (empty($id)) {
|
||||||
|
return json(['success' => false, 'msg' => '失败2.1']);
|
||||||
|
}
|
||||||
|
//获取合同数据
|
||||||
|
$contract = VehicleContract::where('id', $id)->find();
|
||||||
|
if (empty($contract)) {
|
||||||
|
return json(['success' => false, 'msg' => '失败2.2']);
|
||||||
|
}
|
||||||
|
if ($contract['type'] != 1) {
|
||||||
|
return json(['success' => false, 'msg' => '失败2.3']);
|
||||||
|
}
|
||||||
|
if ($contract['status'] != 2) {
|
||||||
|
return json(['success' => false, 'msg' => '失败2.4']);
|
||||||
|
}
|
||||||
|
//判断签约方
|
||||||
|
if ($contract['signing_timer'] == 0) {
|
||||||
|
$res = VehicleContract::where('id', $id)->update(['signing_timer' => 1]);
|
||||||
|
if (!$res) {
|
||||||
|
return json(['success' => false, 'msg' => '失败2.5']);
|
||||||
|
}
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
} else if ($contract['signing_timer'] == 1) {
|
||||||
|
//添加车辆到物流系统
|
||||||
|
$vehicle = json_decode($contract['cars_info'], true);
|
||||||
|
$curl_res = curl_post(env('project.logistic_domain').'/api/addSelfCar', [], [
|
||||||
|
'license' => $vehicle['license'],
|
||||||
|
'company_id' => $contract['company_a_id'],
|
||||||
|
'company_name' => $contract['company_a_name'],
|
||||||
|
'company_user' => $contract['company_a_user'],
|
||||||
|
'company_phone' => $contract['company_a_phone'],
|
||||||
|
]);
|
||||||
|
if (!$curl_res || $curl_res['code'] == 0) {
|
||||||
|
return json(['success' => false, 'msg' => '失败2.6']);
|
||||||
|
}
|
||||||
|
$cars_info = json_encode(['id' => $curl_res['data']['car_id'], 'license' => $vehicle['license']]);
|
||||||
|
//获取签约后的合同
|
||||||
|
$signContractFile = app(JunziqianController::class)->downloadVehicleContractFile($contract['contract_no']);
|
||||||
|
$signContractFile = $signContractFile ?? '';
|
||||||
|
VehicleContract::where('id', $id)->update(['cars_info'=>$cars_info,'update_time'=>time(),'signing_timer'=>2,'status'=>3,'contract_url'=>$signContractFile]);
|
||||||
|
VehicleRent::create([
|
||||||
|
'car_id' => $curl_res['data']['car_id'],
|
||||||
|
'contract_id' => $contract['id'],
|
||||||
|
'company_id' => $contract['company_a_id'],
|
||||||
|
'car_license' => $vehicle['license'],
|
||||||
|
'status' => 2,
|
||||||
|
'rent_time' => time(),
|
||||||
|
'rent_company_id' => $contract['company_b_id'],
|
||||||
|
'create_time' => time(),
|
||||||
|
'type' => 1
|
||||||
|
]);
|
||||||
|
$car_id = $curl_res['data']['car_id'];
|
||||||
|
$party_b = Company::where('id', $contract['company_b_id'])->find();
|
||||||
|
//通知物流系统跟新
|
||||||
|
curl_post(env('project.logistic_domain').'/api/updateVehicleRent', [], [
|
||||||
|
'car_id' => $car_id,
|
||||||
|
'use_user_id' => $party_b['user_id'],
|
||||||
|
'use_user_name' => $party_b['master_name'],
|
||||||
|
'use_user_phone' => $party_b['master_phone']
|
||||||
|
]);
|
||||||
|
CompanyProperty::create([
|
||||||
|
'company_id' => $contract['company_b_id'],
|
||||||
|
'object_id' => $car_id,
|
||||||
|
'type' => 1,
|
||||||
|
'create_time' => time(),
|
||||||
|
'update_time' => time(),
|
||||||
|
]);
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
} else {
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//解除合同回调
|
||||||
|
public function cancelRent()
|
||||||
|
{
|
||||||
|
//获取参数
|
||||||
|
$id = $this->request->get('id');
|
||||||
|
if (empty($id)) {
|
||||||
|
return json(['success' => false, 'msg' => '失败3.1']);
|
||||||
|
}
|
||||||
|
//获取合同数据
|
||||||
|
$contract = VehicleContract::where('id', $id)->find();
|
||||||
|
if (empty($contract)) {
|
||||||
|
return json(['success' => false, 'msg' => '失败3.2']);
|
||||||
|
}
|
||||||
|
if ($contract['type'] != 2) {
|
||||||
|
return json(['success' => false, 'msg' => '失败3.3']);
|
||||||
|
}
|
||||||
|
if ($contract['status'] != 2) {
|
||||||
|
return json(['success' => false, 'msg' => '失败3.4']);
|
||||||
|
}
|
||||||
|
if ($contract['signing_timer'] == 0) {
|
||||||
|
$res = VehicleContract::where('id', $id)->update(['signing_timer' => 1]);
|
||||||
|
if (!$res) {
|
||||||
|
return json(['success' => false, 'msg' => '失败3.5']);
|
||||||
|
}
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
} else if ($contract['signing_timer'] == 1) {
|
||||||
|
//获取签约后的合同
|
||||||
|
$signContractFile = app(JunziqianController::class)->downloadVehicleContractFile($contract['contract_no']);
|
||||||
|
$signContractFile = $signContractFile ?? '';
|
||||||
|
//更改合同状态
|
||||||
|
VehicleContract::where('id', $id)->update(['signing_timer'=>2,'status'=>3,'contract_url'=>$signContractFile]);
|
||||||
|
//更改租赁列表车辆状态
|
||||||
|
$vehicle = json_decode($contract['cars_info'], true);
|
||||||
|
//获取租赁车辆信息
|
||||||
|
$vehicleRentInfo = VehicleRent::where('car_id', $vehicle['id'])->find();
|
||||||
|
//更新原始合同类型
|
||||||
|
VehicleContract::where('id', $vehicleRentInfo['contract_id'])->update(['type' => 2]);
|
||||||
|
VehicleRent::where('car_id', $vehicle['id'])->update([
|
||||||
|
'status' => 3,
|
||||||
|
]);
|
||||||
|
//通知物流系统跟新
|
||||||
|
curl_post(env('project.logistic_domain').'/api/cancelRent', [], [
|
||||||
|
'car_id' => $vehicle['id'],
|
||||||
|
'status' => 1
|
||||||
|
]);
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
} else {
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//车辆租赁签约合同状态更改
|
||||||
|
public function notifyVehicleContractUpdate()
|
||||||
|
{
|
||||||
|
if (!$this->request->isPost()) {
|
||||||
|
return $this->fail('请求方式错误');
|
||||||
|
}
|
||||||
|
$param = $this->request->post();
|
||||||
|
if (empty($param['contract_logistic_id'])) {
|
||||||
|
return $this->fail('缺少必要参数');
|
||||||
|
}
|
||||||
|
$model = VehicleContract::where('contract_logistic_id', $param['contract_logistic_id'])->find();
|
||||||
|
if (empty($model)) {
|
||||||
|
return $this->fail('数据不存在');
|
||||||
|
}
|
||||||
|
$cars = json_decode($model['cars_info'], true);
|
||||||
|
$result = $model->where('id', $model['id'])->save($param);
|
||||||
|
if ($result && isset($param['status']) && $param['status'] == 3) {
|
||||||
|
$data = [];
|
||||||
|
foreach ($cars as $k => $v) {
|
||||||
|
$data[$k]['car_id'] = $v['id'];
|
||||||
|
$data[$k]['car_license'] = $v['license'];
|
||||||
|
$data[$k]['type'] = 0;
|
||||||
|
$data[$k]['status'] = 0;
|
||||||
|
$data[$k]['company_id'] = $model['company_b_id'];
|
||||||
|
$data[$k]['rent_time'] = 0;
|
||||||
|
$data[$k]['rent_company_id'] = 0;
|
||||||
|
$data[$k]['contract_id'] = $model['id'];
|
||||||
|
$data[$k]['create_time'] = strtotime($model['create_time']);
|
||||||
|
}
|
||||||
|
$vehicleRent = new VehicleRent();
|
||||||
|
$vehicleRent->saveAll($data);
|
||||||
|
}
|
||||||
|
//返回
|
||||||
|
return $result ? $this->success('更新成功') : $this->fail('更新失败');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -168,18 +396,19 @@ class IndexController extends BaseApiController
|
|||||||
if (!isset($parmas['object_id'])) {
|
if (!isset($parmas['object_id'])) {
|
||||||
return json(['success' => false, 'msg' => '对象id不能为空']);
|
return json(['success' => false, 'msg' => '对象id不能为空']);
|
||||||
}
|
}
|
||||||
$data=[];
|
$data = [];
|
||||||
$object_id = explode(',',$parmas['object_id']);
|
$object_id = explode(',', $parmas['object_id']);
|
||||||
foreach($object_id as $k=>$v){
|
foreach ($object_id as $k => $v) {
|
||||||
if($v>0){
|
if ($v > 0) {
|
||||||
$data[$k]['company_id']=$parmas['company_id'];
|
$data[$k]['company_id'] = $parmas['company_id'];
|
||||||
$data[$k]['object_id']=$v;
|
$data[$k]['object_id'] = $v;
|
||||||
$data[$k]['type']=1;
|
$data[$k]['type'] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (count($data)>0){
|
if (count($data) <= 0) {
|
||||||
|
return json(['success' => false, 'msg' => '失败']);
|
||||||
|
}
|
||||||
$res = CompanyProperty::insertAll($data);
|
$res = CompanyProperty::insertAll($data);
|
||||||
}
|
|
||||||
if ($res) {
|
if ($res) {
|
||||||
return json(['success' => true, 'msg' => '成功']);
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
} else {
|
} else {
|
||||||
@ -195,12 +424,19 @@ class IndexController extends BaseApiController
|
|||||||
public function notifyAuthentication()
|
public function notifyAuthentication()
|
||||||
{
|
{
|
||||||
$parmas = Request()->param();
|
$parmas = Request()->param();
|
||||||
Log::error('notifyAuthentication', $parmas);
|
Log::info('认证回调:'.$parmas);
|
||||||
|
try {
|
||||||
if ($parmas) {
|
if ($parmas) {
|
||||||
Company::where('id',$parmas['id'])->update(['is_authentication'=>1]);
|
$data=json_decode($parmas['data'],true);
|
||||||
return json(['success' => true, 'msg' => '成功']);
|
if($data['status']==2){
|
||||||
|
Company::where('id', $parmas['id'])->update(['is_authentication' => 2]);
|
||||||
}
|
}
|
||||||
|
return json(['success' => true, 'msg' => '成功']);
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
Log::error('认证回调错误:'.$e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
return json(['success' => false, 'msg' => '失败,没有参数']);
|
return json(['success' => false, 'msg' => '失败,没有参数']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace app\api\controller;
|
namespace app\api\controller;
|
||||||
|
|
||||||
|
use app\common\model\contract\VehicleContract;
|
||||||
use app\Request;
|
use app\Request;
|
||||||
use junziqian\sdk\bean\req\sign\ApplySignReq;
|
use junziqian\sdk\bean\req\sign\ApplySignReq;
|
||||||
use junziqian\sdk\bean\req\user\OrganizationCreateReq;
|
use junziqian\sdk\bean\req\user\OrganizationCreateReq;
|
||||||
@ -21,7 +22,12 @@ class JunziqianController extends BaseApiController
|
|||||||
private $appkey = '3121e0d911b7943d';
|
private $appkey = '3121e0d911b7943d';
|
||||||
/**secret*/
|
/**secret*/
|
||||||
private $appSecret = '1e66d8b73121e0d911b7943d82bba174';
|
private $appSecret = '1e66d8b73121e0d911b7943d82bba174';
|
||||||
|
/**请求地址*/
|
||||||
|
// private $serviceUrl = 'https://api.junziqian.com';
|
||||||
|
// /**appkey*/
|
||||||
|
// private $appkey = '62dc4ab579153712';
|
||||||
|
// /**secret*/
|
||||||
|
// private $appSecret = 'b7f65acc62dc4ab579153712fc9ebfc5';
|
||||||
/**默认加密方式:不输入使用sha256,其它可选择项md5,sha1,sha3-256*/
|
/**默认加密方式:不输入使用sha256,其它可选择项md5,sha1,sha3-256*/
|
||||||
private $encryMethod;
|
private $encryMethod;
|
||||||
/**默认ts单位:1毫秒,2秒*/
|
/**默认ts单位:1毫秒,2秒*/
|
||||||
@ -74,7 +80,9 @@ class JunziqianController extends BaseApiController
|
|||||||
if (isset($data['master_email'])) {
|
if (isset($data['master_email'])) {
|
||||||
$request->emailOrMobile = $data['master_email']; //邮箱
|
$request->emailOrMobile = $data['master_email']; //邮箱
|
||||||
}
|
}
|
||||||
$request->notifyUrl = 'https://worker-task.lihaink.cn/notify_authentication?id=' . $data['id'];
|
// $request->notifyUrl = env('url.url_prefix').'/notifyAuthentication?ids=22222';
|
||||||
|
$request->notifyUrl = env('url.url_prefix').'/notifyAuthentication?id='.$data['id'];
|
||||||
|
// halt($request);
|
||||||
//发起创建企业请求
|
//发起创建企业请求
|
||||||
$response = $requestUtils->doPost("/v2/user/organizationCreate", $request);
|
$response = $requestUtils->doPost("/v2/user/organizationCreate", $request);
|
||||||
return $response;
|
return $response;
|
||||||
@ -126,7 +134,48 @@ class JunziqianController extends BaseApiController
|
|||||||
return $this->success('', (array)$response);
|
return $this->success('', (array)$response);
|
||||||
}
|
}
|
||||||
//签约
|
//签约
|
||||||
public function Signing($data, $id)
|
public function Signing($data, $id, $notify = '')
|
||||||
|
{
|
||||||
|
if($notify==''){
|
||||||
|
$notify=env('url.url_prefix').'/notify_url';
|
||||||
|
}
|
||||||
|
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
|
||||||
|
$request = new ApplySignReq();
|
||||||
|
$request->contractName = $data['name'];
|
||||||
|
$request->signatories = $data['signatories']; //签约方
|
||||||
|
$request->faceThreshold = 79; // 人脸识别阀值:默认等级(1-100之间整数),建议范围(60-79)
|
||||||
|
$request->serverCa = 1; //是否需要服务端云证书
|
||||||
|
$request->fileType = 1; //合同上传方式 url
|
||||||
|
$request->url = $data['url'];
|
||||||
|
$request->notifyUrl = $notify.'?id='.$id;
|
||||||
|
$request->needQifengSign = 1;
|
||||||
|
//发起PING请求
|
||||||
|
// halt($request);
|
||||||
|
$response = $requestUtils->doPost("/v2/sign/applySign", $request);
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企业人脸校验上传
|
||||||
|
public function OrganizationFaceCreate($data)
|
||||||
|
{
|
||||||
|
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
|
||||||
|
$request=new OrganizationCreateReq();
|
||||||
|
$request-> orderNo = uniqid();
|
||||||
|
$request-> email = $data['master_email'];
|
||||||
|
$request-> enterpriseName = $data['company_name'];
|
||||||
|
$request-> identityNo = $data['organization_code'];
|
||||||
|
$request-> legalPersonName = $data['master_name'];
|
||||||
|
$request-> legalIdentityCard = $data['master_id_card'];//法人证件号
|
||||||
|
$request-> legalMobile = $data['master_phone'];
|
||||||
|
$request-> facePerType = 1; // 1代理人
|
||||||
|
$request-> faceAgantIdenName = $data['master_name'];
|
||||||
|
$request-> faceAgantIdenCard = $data['master_id_card'];
|
||||||
|
$request-> backUrl = env('url.url_prefix').'/mobile'; // 做完人脸识别后,指定跳转到供销系统mobile首页
|
||||||
|
$response = $requestUtils->doPost("/v2/user/organizationFaceCreate",$request);
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function VehicleRentSigning($data, $id, $notify)
|
||||||
{
|
{
|
||||||
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
|
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
|
||||||
$request = new ApplySignReq();
|
$request = new ApplySignReq();
|
||||||
@ -135,7 +184,8 @@ class JunziqianController extends BaseApiController
|
|||||||
$request->serverCa = 1; //是否需要服务端云证书
|
$request->serverCa = 1; //是否需要服务端云证书
|
||||||
$request->fileType = 1; //合同上传方式 url
|
$request->fileType = 1; //合同上传方式 url
|
||||||
$request->url = $data['url'];
|
$request->url = $data['url'];
|
||||||
$request->notifyUrl = 'https://worker-task.lihaink.cn/notify_url?id=' . $id;
|
$request->notifyUrl = $notify.'?id='.$id;
|
||||||
|
|
||||||
$request->needQifengSign = 1;
|
$request->needQifengSign = 1;
|
||||||
//发起PING请求
|
//发起PING请求
|
||||||
// halt($request);
|
// halt($request);
|
||||||
@ -143,6 +193,25 @@ class JunziqianController extends BaseApiController
|
|||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function downloadVehicleContractFile($applyNo) {
|
||||||
|
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
|
||||||
|
$contract_url = VehicleContract::where('contract_no', $applyNo)->value('contract_url');
|
||||||
|
if ($contract_url && !empty($contract_url)) {
|
||||||
|
return $contract_url;
|
||||||
|
}
|
||||||
|
//初始化请求参数
|
||||||
|
$request = array(
|
||||||
|
"applyNo" => $applyNo, //TODO +
|
||||||
|
);
|
||||||
|
$response = $requestUtils->doPost("/v2/sign/linkFile", $request);
|
||||||
|
if ($response->success) {
|
||||||
|
$this->getDownload($response->data, root_path() . 'public/uploads/vehicle_contract/' . $applyNo . '.pdf');
|
||||||
|
return env('project.website_domain').'/uploads/vehicle_contract/' . $applyNo . '.pdf';
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function SigningLink($data)
|
public function SigningLink($data)
|
||||||
{
|
{
|
||||||
//构建请求工具
|
//构建请求工具
|
||||||
@ -180,7 +249,7 @@ class JunziqianController extends BaseApiController
|
|||||||
$request->serverCa = 1; //是否需要服务端云证书
|
$request->serverCa = 1; //是否需要服务端云证书
|
||||||
$request->fileType = 3;
|
$request->fileType = 3;
|
||||||
$request->htmlContent = $data['content'];
|
$request->htmlContent = $data['content'];
|
||||||
$request->notifyUrl = 'https://worker-task.lihaink.cn/notify_url?id=' . $id;
|
$request->notifyUrl = env('url.url_prefix').'/notify_url?id=' . $id;
|
||||||
$request->needQifengSign = 1;
|
$request->needQifengSign = 1;
|
||||||
|
|
||||||
//发起PING请求
|
//发起PING请求
|
||||||
@ -193,7 +262,7 @@ class JunziqianController extends BaseApiController
|
|||||||
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
|
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
|
||||||
$find = Db::name('contract')->where('contract_no', $applyNo)->value('contract_url');
|
$find = Db::name('contract')->where('contract_no', $applyNo)->value('contract_url');
|
||||||
if ($find) {
|
if ($find) {
|
||||||
return $this->success('获取成功', ['url' => 'https://worker-task.lihaink.cn' . $find]);
|
return $this->success('获取成功', ['url' => env('url.url_prefix') . $find]);
|
||||||
}
|
}
|
||||||
//初始化请求参数
|
//初始化请求参数
|
||||||
$request = array(
|
$request = array(
|
||||||
@ -203,7 +272,7 @@ class JunziqianController extends BaseApiController
|
|||||||
if ($response->success == true) {
|
if ($response->success == true) {
|
||||||
$this->getDownload($response->data, root_path() . 'public/uploads/contract/' . $applyNo . '.pdf');
|
$this->getDownload($response->data, root_path() . 'public/uploads/contract/' . $applyNo . '.pdf');
|
||||||
Db::name('contract')->where('contract_no', $applyNo)->update(['contract_url' => '/uploads/contract/' . $applyNo . '.pdf']);
|
Db::name('contract')->where('contract_no', $applyNo)->update(['contract_url' => '/uploads/contract/' . $applyNo . '.pdf']);
|
||||||
return $this->success('获取成功', ['url' => 'https://worker-task.lihaink.cn/uploads/contract/' . $applyNo . '.pdf']);
|
return $this->success('获取成功', ['url' => env('url.url_prefix').'/uploads/contract/' . $applyNo . '.pdf']);
|
||||||
} else {
|
} else {
|
||||||
return $this->fail('获取失败');
|
return $this->fail('获取失败');
|
||||||
}
|
}
|
||||||
|
@ -16,9 +16,13 @@ namespace app\api\controller;
|
|||||||
|
|
||||||
use app\api\validate\{LoginAccountValidate, RegisterValidate, WebScanLoginValidate, WechatLoginValidate};
|
use app\api\validate\{LoginAccountValidate, RegisterValidate, WebScanLoginValidate, WechatLoginValidate};
|
||||||
use app\api\logic\LoginLogic;
|
use app\api\logic\LoginLogic;
|
||||||
use app\Request;
|
|
||||||
use app\api\logic\UserLogic;
|
use app\api\logic\UserLogic;
|
||||||
use app\common\model\Company;
|
use app\api\service\UserTokenService;
|
||||||
|
use app\common\model\user\User;
|
||||||
|
use Firebase\JWT\JWT;
|
||||||
|
use Firebase\JWT\Key;
|
||||||
|
use think\facade\{Db, Config};
|
||||||
|
use app\common\service\FileService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录注册
|
* 登录注册
|
||||||
@ -28,7 +32,7 @@ use app\common\model\Company;
|
|||||||
class LoginController extends BaseApiController
|
class LoginController extends BaseApiController
|
||||||
{
|
{
|
||||||
|
|
||||||
public array $notNeedLogin = ['register', 'account', 'logout', 'codeUrl', 'oaLogin', 'mnpLogin', 'getScanCode', 'scanLogin'];
|
public array $notNeedLogin = ['register', 'account', 'logout', 'codeUrl', 'oaLogin', 'mnpLogin', 'getScanCode', 'scanLogin', 'shop_account'];
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -48,9 +52,10 @@ class LoginController extends BaseApiController
|
|||||||
return $this->fail(LoginLogic::getError());
|
return $this->fail(LoginLogic::getError());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function add(){
|
public function add()
|
||||||
$params=Request()->param();
|
{
|
||||||
$params['company_id']=$this->userInfo['company_id'];
|
$params = Request()->param();
|
||||||
|
$params['company_id'] = $this->userInfo['company_id'];
|
||||||
$result = LoginLogic::register($params);
|
$result = LoginLogic::register($params);
|
||||||
if (true === $result) {
|
if (true === $result) {
|
||||||
return $this->success('添加成功', [], 1, 1);
|
return $this->success('添加成功', [], 1, 1);
|
||||||
@ -60,8 +65,8 @@ class LoginController extends BaseApiController
|
|||||||
|
|
||||||
public function setInfo()
|
public function setInfo()
|
||||||
{
|
{
|
||||||
$params=Request()->param();
|
$params = Request()->param();
|
||||||
$result = UserLogic::setInfo($params['user_id'], ['field'=>'is_captain','value'=>$params['is_captain']]);
|
$result = UserLogic::setInfo($params['user_id'], ['field' => 'is_captain', 'value' => $params['is_captain']]);
|
||||||
if (false === $result) {
|
if (false === $result) {
|
||||||
return $this->fail(UserLogic::getError());
|
return $this->fail(UserLogic::getError());
|
||||||
}
|
}
|
||||||
@ -72,7 +77,7 @@ class LoginController extends BaseApiController
|
|||||||
* @notes 账号密码/手机号密码/手机号验证码登录
|
* @notes 账号密码/手机号密码/手机号验证码登录
|
||||||
* @return \think\response\Json
|
* @return \think\response\Json
|
||||||
* @author 段誉
|
* @author 段誉
|
||||||
* @date 2022/9/16 10:42
|
* @date 2022/9/16 10:42la_other_user
|
||||||
*/
|
*/
|
||||||
public function account()
|
public function account()
|
||||||
{
|
{
|
||||||
@ -84,6 +89,22 @@ class LoginController extends BaseApiController
|
|||||||
return $this->data($result);
|
return $this->data($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商城登录
|
||||||
|
*/
|
||||||
|
public function shop_account()
|
||||||
|
{
|
||||||
|
$params = $this->request->param();
|
||||||
|
if (isset($params['shop_token']) && $params['shop_token'] != '') {
|
||||||
|
$result = LoginLogic::shop($params['shop_token']);
|
||||||
|
if (false === $result) {
|
||||||
|
return $this->fail(LoginLogic::getError());
|
||||||
|
}
|
||||||
|
return $this->data($result);
|
||||||
|
}
|
||||||
|
return $this->fail('无登录信息');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notes 退出登录
|
* @notes 退出登录
|
||||||
@ -234,6 +255,4 @@ class LoginController extends BaseApiController
|
|||||||
LoginLogic::updateUser($params, $this->userId);
|
LoginLogic::updateUser($params, $this->userId);
|
||||||
return $this->success('操作成功', [], 1, 1);
|
return $this->success('操作成功', [], 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -5,13 +5,14 @@ namespace app\api\controller;
|
|||||||
use Symfony\Component\HttpClient\HttpClient;
|
use Symfony\Component\HttpClient\HttpClient;
|
||||||
use think\facade\Log;
|
use think\facade\Log;
|
||||||
use app\common\model\informationg\UserInformationg;
|
use app\common\model\informationg\UserInformationg;
|
||||||
|
use app\common\model\task_template\TaskTemplate;
|
||||||
|
|
||||||
class RemoteController extends BaseApiController
|
class RemoteController extends BaseApiController
|
||||||
{
|
{
|
||||||
|
|
||||||
public array $notNeedLogin = ['index'];
|
public array $notNeedLogin = ['index'];
|
||||||
|
|
||||||
public function shang_date_total_price($company,$isDay=1,$arr=[])
|
public function shang_date_total_price($company,$isDay=1,$arr=[],$template_id=0)
|
||||||
{
|
{
|
||||||
if($isDay==1){
|
if($isDay==1){
|
||||||
$start_time = date('Y-m-d');
|
$start_time = date('Y-m-d');
|
||||||
@ -33,20 +34,20 @@ class RemoteController extends BaseApiController
|
|||||||
];
|
];
|
||||||
switch ($company['company_type']) {
|
switch ($company['company_type']) {
|
||||||
case 18:
|
case 18:
|
||||||
$parmas['brigade_id'] = $company['brigade'];
|
$parmas['brigade_id'] = $company['responsible_area'];
|
||||||
$parmas['village_code'] = $company['village'];
|
$parmas['village_code'] = $company['village'];
|
||||||
$parmas['street_code'] = $company['street'];
|
$parmas['street_code'] = $company['street'];
|
||||||
$parmas['district_code'] = $company['area'];
|
$parmas['district_code'] = $company['area'];
|
||||||
$parmas['city_code'] = $company['city'];
|
$parmas['city_code'] = $company['city'];
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
$parmas['village_code'] = $company['village'];
|
$parmas['village_code'] = $company['responsible_area'];
|
||||||
$parmas['street_code'] = $company['street'];
|
$parmas['street_code'] = $company['street'];
|
||||||
$parmas['district_code'] = $company['area'];
|
$parmas['district_code'] = $company['area'];
|
||||||
$parmas['city_code'] = $company['city'];
|
$parmas['city_code'] = $company['city'];
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
$parmas['street_code'] = $company['street'];
|
$parmas['street_code'] = $company['responsible_area'];
|
||||||
$parmas['district_code'] = $company['area'];
|
$parmas['district_code'] = $company['area'];
|
||||||
$parmas['city_code'] = $company['city'];
|
$parmas['city_code'] = $company['city'];
|
||||||
break;
|
break;
|
||||||
@ -63,7 +64,7 @@ class RemoteController extends BaseApiController
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
$res = HttpClient::create()->request('GET', 'https://crmeb-test.shop.lihaink.cn/api/order/statistics', [
|
$res = HttpClient::create()->request('GET', env('url.shop_prefix').'/api/order/statistics', [
|
||||||
'query' => $parmas,
|
'query' => $parmas,
|
||||||
]);
|
]);
|
||||||
$json = json_decode($res->getContent(), true);
|
$json = json_decode($res->getContent(), true);
|
||||||
@ -75,11 +76,12 @@ class RemoteController extends BaseApiController
|
|||||||
$arr['total_price'] = $json['data']['total_price'];
|
$arr['total_price'] = $json['data']['total_price'];
|
||||||
//基础金额*(每日基户数*天数)//且户数小于公司总户数
|
//基础金额*(每日基户数*天数)//且户数小于公司总户数
|
||||||
$user_count = UserInformationg::where('company_id', $company['id'])->count();
|
$user_count = UserInformationg::where('company_id', $company['id'])->count();
|
||||||
|
$day_count=TaskTemplate::where('id',$template_id)->value('day_count');
|
||||||
//
|
//
|
||||||
if($company['day_count']==0){
|
if($day_count==0){
|
||||||
$user_count_two = 5 * 1;
|
$user_count_two = 5 * 1;
|
||||||
}else{
|
}else{
|
||||||
$user_count_two = 5 * $company['day_count'];
|
$user_count_two = 5 * $day_count;
|
||||||
}
|
}
|
||||||
if ($user_count_two > $user_count) {
|
if ($user_count_two > $user_count) {
|
||||||
$user_count_money = 58 * $user_count;
|
$user_count_money = 58 * $user_count;
|
||||||
@ -122,20 +124,20 @@ class RemoteController extends BaseApiController
|
|||||||
];
|
];
|
||||||
switch ($company['company_type']) {
|
switch ($company['company_type']) {
|
||||||
case 18:
|
case 18:
|
||||||
$parmas['brigade_id'] = $company['brigade'];
|
$parmas['brigade_id'] = $company['responsible_area'];
|
||||||
$parmas['village_code'] = $company['village'];
|
$parmas['village_code'] = $company['village'];
|
||||||
$parmas['street_code'] = $company['street'];
|
$parmas['street_code'] = $company['street'];
|
||||||
$parmas['district_code'] = $company['area'];
|
$parmas['district_code'] = $company['area'];
|
||||||
$parmas['city_code'] = $company['city'];
|
$parmas['city_code'] = $company['city'];
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
$parmas['village_code'] = $company['village'];
|
$parmas['village_code'] = $company['responsible_area'];
|
||||||
$parmas['street_code'] = $company['street'];
|
$parmas['street_code'] = $company['street'];
|
||||||
$parmas['district_code'] = $company['area'];
|
$parmas['district_code'] = $company['area'];
|
||||||
$parmas['city_code'] = $company['city'];
|
$parmas['city_code'] = $company['city'];
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
$parmas['street_code'] = $company['street'];
|
$parmas['street_code'] = $company['responsible_area'];
|
||||||
$parmas['district_code'] = $company['area'];
|
$parmas['district_code'] = $company['area'];
|
||||||
$parmas['city_code'] = $company['city'];
|
$parmas['city_code'] = $company['city'];
|
||||||
break;
|
break;
|
||||||
@ -153,12 +155,13 @@ class RemoteController extends BaseApiController
|
|||||||
if(isset($querys['page'])){
|
if(isset($querys['page'])){
|
||||||
$parmas['page']=$querys['page'];
|
$parmas['page']=$querys['page'];
|
||||||
}
|
}
|
||||||
|
|
||||||
try{
|
try{
|
||||||
$list = HttpClient::create()->request('GET', 'https://crmeb-test.shop.lihaink.cn/api/region/order', [
|
$list = HttpClient::create()->request('GET', env('url.shop_prefix').'/api/region/order', [
|
||||||
'query' => $parmas,
|
'query' => $parmas,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$json_list = json_decode($list->getContent(), true);
|
$json_list = json_decode($list->getContent(), true);
|
||||||
|
|
||||||
$data=[];
|
$data=[];
|
||||||
if($json_list['status'] == 200){
|
if($json_list['status'] == 200){
|
||||||
$data=$json_list['data']['list'];
|
$data=$json_list['data']['list'];
|
||||||
@ -175,17 +178,18 @@ class RemoteController extends BaseApiController
|
|||||||
* 获取坐标的距离
|
* 获取坐标的距离
|
||||||
*/
|
*/
|
||||||
public function coordinate($parmas,$longitude1,$latitude1){
|
public function coordinate($parmas,$longitude1,$latitude1){
|
||||||
$res = HttpClient::create()->request('GET', 'http://logistics.lihaink.cn/api/getCarHistory', [
|
$res = HttpClient::create()->request('GET', env('project.logistic_domain').'/api/getCarHistory', [
|
||||||
'query' => $parmas,
|
'query' => $parmas,
|
||||||
]);
|
]);
|
||||||
$json=json_decode($res->getContent(),true);
|
$json=json_decode($res->getContent(),true);
|
||||||
$points=$json['data'];
|
$points=$json['data'];
|
||||||
|
if(empty($points)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
$target =[
|
$target =[
|
||||||
"lat"=> $latitude1,
|
"lat"=> $latitude1,
|
||||||
"lon"=> $longitude1
|
"lon"=> $longitude1
|
||||||
];
|
];
|
||||||
|
|
||||||
$closestPoint = $this->getClosestPoint($points, $target);
|
$closestPoint = $this->getClosestPoint($points, $target);
|
||||||
return $this->calculateDistance($target['lon'], $target['lat'], $closestPoint[0]['lon'], $closestPoint[0]['lat']);
|
return $this->calculateDistance($target['lon'], $target['lat'], $closestPoint[0]['lon'], $closestPoint[0]['lat']);
|
||||||
|
|
||||||
@ -204,6 +208,8 @@ class RemoteController extends BaseApiController
|
|||||||
if ($distance < $minDistance) {
|
if ($distance < $minDistance) {
|
||||||
$minDistance = $distance;
|
$minDistance = $distance;
|
||||||
$closestPoint = $point;
|
$closestPoint = $point;
|
||||||
|
}else{
|
||||||
|
$distance=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,6 +231,6 @@ class RemoteController extends BaseApiController
|
|||||||
sin($dLon/2) * sin($dLon/2);
|
sin($dLon/2) * sin($dLon/2);
|
||||||
$c = 2 * asin(sqrt($a));
|
$c = 2 * asin(sqrt($a));
|
||||||
|
|
||||||
return $earthRadius * $c*1000;
|
return $earthRadius * $c*100;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,9 @@ use app\common\model\Company;
|
|||||||
use app\common\model\company\CompanyProperty;
|
use app\common\model\company\CompanyProperty;
|
||||||
use app\common\model\informationg\UserInformationg;
|
use app\common\model\informationg\UserInformationg;
|
||||||
use app\common\model\task\Task;
|
use app\common\model\task\Task;
|
||||||
|
use app\common\model\task_template\TaskTemplate;
|
||||||
use app\common\model\user\User;
|
use app\common\model\user\User;
|
||||||
|
use think\facade\Log;
|
||||||
|
|
||||||
class TaskController extends BaseApiController
|
class TaskController extends BaseApiController
|
||||||
{
|
{
|
||||||
@ -55,9 +57,15 @@ class TaskController extends BaseApiController
|
|||||||
->select()->toArray();
|
->select()->toArray();
|
||||||
foreach ($res as $k => $item) {
|
foreach ($res as $k => $item) {
|
||||||
if ($item['type'] == 33) {
|
if ($item['type'] == 33) {
|
||||||
$company = Company::where('id', $item['company_id'])->field('id,deposit,company_money,user_id,day_count,company_type,province,city,area,street,village,brigade')->find(); // 可能要判断预存金是否满足
|
$company = Company::where('id', $item['company_id'])->field('id,deposit,company_money,user_id,day_count,company_type,province,city,area,street,village,brigade,responsible_area')->find(); // 可能要判断预存金是否满足
|
||||||
$find = App(RemoteController::class)->shang_date_total_price($company,1,$param);
|
$find = App(RemoteController::class)->shang_date_total_price($company,1,$param,$item['template_id']);
|
||||||
if ($find != false) {
|
if ($find != false) {
|
||||||
|
$transaction_pool=TaskTemplate::where('id',$item['template_id'])->value('transaction_pool');
|
||||||
|
if($transaction_pool==0){
|
||||||
|
$find['transaction_pool']=0;
|
||||||
|
}else{
|
||||||
|
$find['transaction_pool']=$transaction_pool;
|
||||||
|
}
|
||||||
$res[$k]['extend']['transaction'] = $find;
|
$res[$k]['extend']['transaction'] = $find;
|
||||||
Task::where('id',$item['id'])->update(['extend'=>json_encode(['transaction'=>$find],true)]);
|
Task::where('id',$item['id'])->update(['extend'=>json_encode(['transaction'=>$find],true)]);
|
||||||
} else {
|
} else {
|
||||||
@ -72,23 +80,38 @@ class TaskController extends BaseApiController
|
|||||||
public function order_detail()
|
public function order_detail()
|
||||||
{
|
{
|
||||||
$parmas = $this->request->param();
|
$parmas = $this->request->param();
|
||||||
$task=Task::where('id',$parmas['id'])->field('company_id,start_time,end_time,extend,type')->find();
|
$task=Task::where('id',$parmas['id'])->field('company_id,start_time,end_time,extend,type,template_id')->find();
|
||||||
if(!$task){
|
if(!$task){
|
||||||
return $this->fail('任务不存在');
|
return $this->fail('任务不存在');
|
||||||
}
|
}
|
||||||
$company = Company::where('id', $task['company_id'])->field('id,deposit,company_money,user_id,day_count,company_type,province,city,area,street,village,brigade')->find(); // 可能要判断预存金是否满足
|
$transaction_pool=TaskTemplate::where('id',$task['template_id'])->value('transaction_pool');
|
||||||
// $find = App(RemoteController::class)->shang_date_total_price($company);
|
|
||||||
|
$company = Company::where('id', $task['company_id'])->field('id,deposit,company_money,user_id,day_count,company_type,province,city,area,street,village,brigade,responsible_area')->find(); // 可能要判断预存金是否满足
|
||||||
|
// $list = App(RemoteController::class)->shang_date_list($company, 1, $parmas);
|
||||||
$parmas['start_time']=date('Y-m-d',$task['start_time']);
|
$parmas['start_time']=date('Y-m-d',$task['start_time']);
|
||||||
$parmas['end_time']=$task['end_time'].' 23:59:59';
|
$parmas['end_time']=$task['end_time'].' 23:59:59';
|
||||||
$list = App(RemoteController::class)->shang_date_list($company, 1, $parmas);
|
$list = App(RemoteController::class)->shang_date_list($company, 1, $parmas);
|
||||||
if ($task != false) {
|
if ($task != false) {
|
||||||
$find['list'] = $list;
|
$find['list'] = $list;
|
||||||
$find['extend']=$task['extend'];
|
$find['extend']=$task['extend'];
|
||||||
|
if($transaction_pool==0){
|
||||||
|
$find['transaction_pool']=0;
|
||||||
|
}else{
|
||||||
|
$find['transaction_pool']=$transaction_pool;
|
||||||
|
}
|
||||||
return $this->success('ok', $find);
|
return $this->success('ok', $find);
|
||||||
}
|
}
|
||||||
return $this->success('ok');
|
return $this->success('ok');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入股
|
||||||
|
*/
|
||||||
|
public function shareholder(){
|
||||||
|
$parmas = $this->request->param();
|
||||||
|
$task = TaskLogic::detail($parmas);
|
||||||
|
return $this->success('ok', $task);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 三轮车详情
|
* 三轮车详情
|
||||||
*/
|
*/
|
||||||
|
@ -2,149 +2,591 @@
|
|||||||
|
|
||||||
namespace app\api\controller;
|
namespace app\api\controller;
|
||||||
|
|
||||||
use app\common\logic\vehicle\VehicleLogic;
|
use app\common\enum\notice\NoticeEnum;
|
||||||
use app\common\model\Company;
|
use app\common\model\Company;
|
||||||
use think\response\Json;
|
use app\common\model\contract\Contract;
|
||||||
|
use app\common\model\contract\VehicleContract;
|
||||||
|
use app\common\model\vehicle\VehicleRent;
|
||||||
|
use think\facade\Db;
|
||||||
|
|
||||||
class VehicleController extends BaseApiController
|
class VehicleController extends BaseApiController
|
||||||
{
|
{
|
||||||
public function setContractByTownCompany():Json
|
//镇街公司想物流平台申请租赁车辆
|
||||||
|
public function setContractByTownCompany()
|
||||||
{
|
{
|
||||||
//获取参数
|
//获取参数
|
||||||
$params = $this->request->post(['party_a','num','car_ids']);
|
$params = $this->request->post(['num']);
|
||||||
//验证参数
|
//验证参数
|
||||||
if(empty($params['party_a']) || empty($params['num']) || empty($params['car_ids'])){
|
if(empty($params['num'])){
|
||||||
return $this->fail('缺少必要参数');
|
return $this->fail('缺少必要参数');
|
||||||
}
|
}
|
||||||
if(empty($this->userInfo['company_id'])){
|
//获取该公司已签约的小组服务公司数量
|
||||||
return $this->fail('签约公司不存在');
|
$villageCompany = Contract::field('id')->where('party_a',$this->userInfo['company_id'])->where('signing_timer',2)->count();
|
||||||
|
//系统车辆数量
|
||||||
|
$rentCar = VehicleRent::field('id')->where('company_id',$this->userInfo['company_id'])->where('status','<>',3)->where('type',0)->count();
|
||||||
|
//申请中的车辆
|
||||||
|
$applyCar = VehicleContract::field('num')->where('company_b_id',$this->userInfo['company_id'])->where('status','in','-1,0,1,2')->sum('num');
|
||||||
|
//自有车辆数量
|
||||||
|
$selfCar = VehicleRent::field('id')->where('company_id',$this->userInfo['company_id'])->where('status','<>',3)->where('type',1)->count();
|
||||||
|
//可在租车辆
|
||||||
|
$doubleRentCar = $villageCompany - $rentCar - $applyCar - $selfCar;
|
||||||
|
if($params['num'] > $doubleRentCar ){
|
||||||
|
return $this->fail('数量超过可再租车辆数');
|
||||||
}
|
}
|
||||||
$params['party_b'] = $this->userInfo['company_id'];
|
//查找乙方公司信息
|
||||||
if($params['party_b'] == $params['party_a']){
|
$party_b = Company::field('id,company_name,organization_code,master_name,master_phone,master_email,company_type')->where('id',$this->userInfo['company_id'])->find();
|
||||||
return $this->fail('甲方和乙方不能是同一个公司');
|
if(empty($party_b)) {
|
||||||
|
return $this->fail('数据不存在');
|
||||||
}
|
}
|
||||||
$params['rent_type'] = 1;//镇街公司批量租赁
|
//判断是否是镇街公司
|
||||||
$result = VehicleLogic::initiate_contract($params);
|
if($party_b['company_type'] != 16){
|
||||||
//返回数据
|
return ['code'=>0,'msg'=>'非镇街公司不能签约'];
|
||||||
if($result['code'] == 1){
|
}
|
||||||
return $this->success($result['msg'],$result['data']);
|
//发送生成合同给物流信息
|
||||||
|
$curl_result = curl_post(env('project.logistic_domain').'/api/signContract',[],[
|
||||||
|
'num' => $params['num'],
|
||||||
|
'company_id' => $party_b['id'],
|
||||||
|
'company_name' => $party_b['company_name'],
|
||||||
|
'company_code' => $party_b['organization_code'],
|
||||||
|
'company_user' => $party_b['master_name'],
|
||||||
|
'company_phone' => $party_b['master_phone'],
|
||||||
|
'company_email' => $party_b['master_email'],
|
||||||
|
]);
|
||||||
|
if(empty($curl_result)){
|
||||||
|
return $this->fail('null return from logistic');
|
||||||
|
}
|
||||||
|
if($curl_result['code'] == 0){
|
||||||
|
return $this->fail($curl_result['msg'].' from logistic');
|
||||||
|
}
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
$create_result = VehicleContract::create($curl_result['data']);
|
||||||
|
if($create_result->id){
|
||||||
|
Db::commit();
|
||||||
|
return $this->success('合同发起成功,等待审核 from task');
|
||||||
}else{
|
}else{
|
||||||
return $this->fail($result['msg']);
|
Db::rollback();
|
||||||
|
return $this->success('合同发起失败,请稍后重试 from task');
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
Db::rollback();
|
||||||
|
return $this->fail($e->getMessage().' from task');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setContractByVillageCompany():Json
|
//镇街公司生成小组服务公司租赁合同
|
||||||
{
|
public function setContractByVillageCompany(){
|
||||||
//获取参数
|
//获取参数
|
||||||
$params = $this->request->post(['party_b','car_ids']);
|
$params = $this->request->post(['id','car_id']);
|
||||||
//验证参数
|
if(empty($params['id'])){
|
||||||
if(empty($params['party_b']) || empty($params['car_ids'])){
|
|
||||||
return $this->fail('缺少必要参数');
|
return $this->fail('缺少必要参数');
|
||||||
}
|
}
|
||||||
if(empty($this->userInfo['company_id'])){
|
//获取数据
|
||||||
return $this->fail('签约公司不存在');
|
$vehicleContract = VehicleContract::where('id',$params['id'])->find();
|
||||||
|
if(empty($vehicleContract)){
|
||||||
|
return $this->fail('未找到数据');
|
||||||
}
|
}
|
||||||
$params['party_a'] = $this->userInfo['company_id'];
|
if($this->userInfo['company_id'] != $vehicleContract['company_a_id']){
|
||||||
if($params['party_b'] == $params['party_a']){
|
|
||||||
return $this->fail('甲方和乙方不能是同一个公司');
|
|
||||||
}
|
|
||||||
$params['rent_type'] = 2;//小组服务公司单辆租赁
|
|
||||||
$params['num'] = 1;
|
|
||||||
$result = VehicleLogic::initiate_contract($params);
|
|
||||||
//返回数据
|
|
||||||
if($result['code'] == 1){
|
|
||||||
return $this->success($result['msg'],$result['data']);
|
|
||||||
}else{
|
|
||||||
return $this->fail($result['msg']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function townCompanyCarList():Json {
|
|
||||||
//获取参数
|
|
||||||
$params = $this->request->get(['is_rent','license','company_name','page_no','page_size']);
|
|
||||||
if(empty($params['is_rent'])){
|
|
||||||
return $this->fail('缺少必要参数');
|
|
||||||
}
|
|
||||||
if(!in_array($params['is_rent'],[1,2])){
|
|
||||||
return $this->fail('参数错误');
|
|
||||||
}
|
|
||||||
//获取公司id
|
|
||||||
$params['company_id'] = $this->userInfo['company_id'];
|
|
||||||
//获取车辆
|
|
||||||
$result = VehicleLogic::townCompanyCarList($params);
|
|
||||||
//返回数据
|
|
||||||
if($result['code'] == 1){
|
|
||||||
return $this->success($result['msg'],$result['data']);
|
|
||||||
}else{
|
|
||||||
return $this->fail($result['msg']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function villageCompanyCar():Json {
|
|
||||||
//获取公司id
|
|
||||||
$company_id = $this->userInfo['company_id'];
|
|
||||||
if(empty($company_id)){
|
|
||||||
return $this->fail('数据错误');
|
return $this->fail('数据错误');
|
||||||
}
|
}
|
||||||
$result = VehicleLogic::villageCompanyCar($company_id);
|
if($vehicleContract['status'] != -1) {
|
||||||
//返回数据
|
return $this->fail('数据状态错误');
|
||||||
if($result['code'] == 1){
|
}
|
||||||
return $this->success($result['msg'],$result['data']);
|
if($vehicleContract['type'] == 0){
|
||||||
|
if(empty($params['car_id'])){
|
||||||
|
return $this->fail('缺少参数car_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($vehicleContract['type'] == 0){
|
||||||
|
$car = VehicleRent::field('car_id as id,car_license as license')->where('car_id',$params['car_id'])->find();
|
||||||
|
if(empty($car)){
|
||||||
|
return $this->fail('车辆数据有误');
|
||||||
|
}
|
||||||
|
$json = json_encode($car->toArray());
|
||||||
|
//更改车辆状态
|
||||||
|
VehicleRent::where('car_id',$params['car_id'])->update(['status'=>1]);
|
||||||
|
//更改状态
|
||||||
|
$result = VehicleContract::where('id',$params['id'])->update(['status'=>0,'cars_info'=>$json,'update_time'=>time()]);
|
||||||
}else{
|
}else{
|
||||||
return $this->fail($result['msg']);
|
//更改状态
|
||||||
|
$result = VehicleContract::where('id',$params['id'])->update(['status'=>0,'update_time'=>time()]);
|
||||||
|
}
|
||||||
|
//返回数据
|
||||||
|
if($result){
|
||||||
|
return $this->success('合同生成成功,等待风控部审核');
|
||||||
|
}else{
|
||||||
|
return $this->fail('合同生成失败,请稍后重试');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addCar():Json {
|
//镇街公司发起合同
|
||||||
|
public function initiatingRentCarContract() {
|
||||||
//获取参数
|
//获取参数
|
||||||
$params = $this->request->post(['license']);
|
$params = $this->request->post(['id']);
|
||||||
//验证参数
|
if(empty($params['id'])){
|
||||||
if(empty($params['license'])){
|
|
||||||
return $this->fail('缺啥破必要参数');
|
|
||||||
}
|
|
||||||
//获取公司id
|
|
||||||
$params['company_id'] = $this->userInfo['company_id'];
|
|
||||||
$result = VehicleLogic::addCar($params);
|
|
||||||
//返回数据
|
|
||||||
if($result['code'] == 1){
|
|
||||||
return $this->success($result['msg']);
|
|
||||||
}else{
|
|
||||||
return $this->fail($result['msg']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getCarInfo():Json {
|
|
||||||
//获取参数
|
|
||||||
$params = $this->request->get(['car_id','car_type']);
|
|
||||||
if(empty($params['car_id']) || empty($params['car_type'])){
|
|
||||||
return $this->fail('缺少必要参数');
|
return $this->fail('缺少必要参数');
|
||||||
}
|
}
|
||||||
if(!in_array($params['car_type'],[1,2])){
|
//获取数据
|
||||||
return $this->fail('车辆类型错误');
|
$contract = VehicleContract::where('id',$params['id'])->find();
|
||||||
|
if(empty($contract)){
|
||||||
|
return $this->fail('数据不存在');
|
||||||
}
|
}
|
||||||
//获取车辆详情
|
if($contract['status'] != 1){
|
||||||
$result = curl_post('http://logistics.lihaink.cn/api/carInfo',[],$params);
|
return $this->fail('合同状态错误');
|
||||||
//返回数据
|
|
||||||
if($result && $result['code'] == 1){
|
|
||||||
if($result['data']['type'] == 1 && $result['data']['lessee_two_flag'] == 1){
|
|
||||||
$lessee_two_company = Company::where('id','lessee_two_company_id')->find();
|
|
||||||
$result['data']['lessee_two_company_address'] = $lessee_two_company['address'];
|
|
||||||
}
|
}
|
||||||
return $this->success($result['msg'],$result['data']);
|
$signData = [
|
||||||
|
'name' => $contract['company_a_name'] . '的合同',
|
||||||
|
'signatories' => [
|
||||||
|
['fullName' => $contract['company_a_name'], 'identityType' => 12, 'identityCard' => $contract['company_a_code'], 'email' => $contract['company_a_email'], 'noNeedVerify' => 1, 'signLevel' => 1],
|
||||||
|
['fullName' => $contract['company_b_name'], 'identityType' => 12, 'identityCard' => $contract['company_b_code'], 'email' => $contract['company_b_email'], 'noNeedVerify' => 1, 'signLevel' => 1]
|
||||||
|
],
|
||||||
|
'url' => $contract['file']
|
||||||
|
];
|
||||||
|
$notify_url = '';
|
||||||
|
if($contract['type'] == 0){
|
||||||
|
$notify_url = env('project.website_domain').'/api/index/systemCarRent';
|
||||||
|
}elseif($contract['type'] == 1){
|
||||||
|
$notify_url = env('project.website_domain').'/api/index/selfCarRent';
|
||||||
|
}elseif($contract['type'] == 2){
|
||||||
|
$notify_url = env('project.website_domain').'/api/index/cancelRent';
|
||||||
|
}
|
||||||
|
$signRes = app(JunziqianController::class)->VehicleRentSigning($signData, $params['id'],$notify_url);
|
||||||
|
if ($signRes->success) {
|
||||||
|
$contract->save([
|
||||||
|
'id' => $contract['id'],
|
||||||
|
'contract_no' => $signRes->data,
|
||||||
|
'status' => 2
|
||||||
|
]);
|
||||||
|
if($contract['type'] == 2){
|
||||||
|
$smsTitle = '《解约合同》';
|
||||||
}else{
|
}else{
|
||||||
return $this->fail($result['msg']);
|
$smsTitle = '《租赁合同》';
|
||||||
|
}
|
||||||
|
$this->sendSms($params['id'],$smsTitle);
|
||||||
|
return $this->success('合同发送成功');
|
||||||
|
} else {
|
||||||
|
return $this->fail($signRes->msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function checkNum():Json {
|
public function sendSmsAgain() {
|
||||||
//获取参数
|
//获取参数
|
||||||
$num = $this->request->get('num');
|
$id = $this->request->post('id');
|
||||||
$result = curl_post('http://logistics.lihaink.cn/api/checkNum',[],['num'=>$num]);
|
if(empty($id)){
|
||||||
//返回数据
|
return $this->fail('参数错误');
|
||||||
if($result && $result['code'] == 1){
|
}
|
||||||
return $this->success($result['msg'],$result['data']);
|
//获取数据
|
||||||
|
$contract = VehicleContract::where('id',$id)->find();
|
||||||
|
if(empty($contract)){
|
||||||
|
return $this->fail('数据错误');
|
||||||
|
}
|
||||||
|
if($contract['type'] == 2){
|
||||||
|
$smsTitle = '《解约合同》';
|
||||||
}else{
|
}else{
|
||||||
return $this->fail($result['msg']);
|
$smsTitle = '《租赁合同》';
|
||||||
|
}
|
||||||
|
$this->sendSms($id,$smsTitle);
|
||||||
|
return $this->success('发送成功');
|
||||||
|
}
|
||||||
|
|
||||||
|
//小组服务公司租赁申请
|
||||||
|
public function rentApply() {
|
||||||
|
//验证请求类型
|
||||||
|
if(!$this->request->isPost()){
|
||||||
|
return $this->fail('请求类型错误');
|
||||||
|
}
|
||||||
|
//获取参数
|
||||||
|
$license = $this->request->post('license');
|
||||||
|
//获取当前公司信息
|
||||||
|
$party_b = Company::field('id,company_name,master_name,master_phone,master_email,is_contract,organization_code,company_type')->where('id',$this->userInfo['company_id'])->find();
|
||||||
|
if(empty($party_b)){
|
||||||
|
return $this->fail('账号异常');
|
||||||
|
}
|
||||||
|
if($party_b['company_type'] != 18){
|
||||||
|
return $this->fail('非小组服务公司不能申请');
|
||||||
|
}
|
||||||
|
if($party_b['is_contract'] != 1){
|
||||||
|
return $this->fail('当前小组服务公司未签约');
|
||||||
|
}
|
||||||
|
//获取签约信息
|
||||||
|
$contract = Contract::where('party_b',$this->userInfo['company_id'])->where('signing_timer',2)->find();
|
||||||
|
$party_a = Company::field('id,company_name,master_name,master_phone,master_email,is_contract,organization_code,company_type')->where('id',$contract['party_a'])->find();
|
||||||
|
if(empty($contract) || empty($party_a)){
|
||||||
|
return $this->fail('未找到签约镇街公司');
|
||||||
|
}
|
||||||
|
if($party_a['company_type'] != 16){
|
||||||
|
return $this->fail('不能与非镇街公司签约');
|
||||||
|
}
|
||||||
|
if($party_a['is_contract'] != 1){
|
||||||
|
return $this->fail('当前镇街公司未签约');
|
||||||
|
}
|
||||||
|
//判断是否申请过
|
||||||
|
$vehicleContract = VehicleContract::where('company_b_id',$this->userInfo['company_id'])->where('type','<>',2)->where('status','<>',4)->find();
|
||||||
|
if(!empty($vehicleContract)){
|
||||||
|
return $this->fail('请勿重复申请');
|
||||||
|
}
|
||||||
|
//设置数据
|
||||||
|
$data = [
|
||||||
|
'contract_logistic_id' => 0,
|
||||||
|
'contract_no' => time(),
|
||||||
|
'company_a_id' => $party_a['id'],
|
||||||
|
'company_a_name' => $party_a['company_name'],
|
||||||
|
'company_a_code' => $party_a['organization_code'],
|
||||||
|
'company_a_user' => $party_a['master_name'],
|
||||||
|
'company_a_phone' => $party_a['master_phone'],
|
||||||
|
'company_a_email' => $party_a['master_email'],
|
||||||
|
'company_b_id' => $party_b['id'],
|
||||||
|
'company_b_name' => $party_b['company_name'],
|
||||||
|
'company_b_code' => $party_b['organization_code'],
|
||||||
|
'company_b_user' => $party_b['master_name'],
|
||||||
|
'company_b_phone' => $party_b['master_phone'],
|
||||||
|
'company_b_email' => $party_b['master_email'],
|
||||||
|
'cars_info' => isset($license) ? json_encode(['license'=>$license]) : null,
|
||||||
|
'num' => 1,
|
||||||
|
'type' => isset($license) ? 1 : 0,
|
||||||
|
'status' => -1,
|
||||||
|
'create_time' => time(),
|
||||||
|
'update_time' => time()
|
||||||
|
];
|
||||||
|
//写入数据
|
||||||
|
$result = VehicleContract::create($data);
|
||||||
|
if($result){
|
||||||
|
return $this->success('申请成功,待镇街公司审核');
|
||||||
|
}else{
|
||||||
|
return $this->fail('申请失败,请稍后重试');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//镇街公司驳回小组服务公司的租赁申请
|
||||||
|
public function rejectRentApply() {
|
||||||
|
//验证请求类型
|
||||||
|
if(!$this->request->isPost()){
|
||||||
|
return $this->fail('请求类型错误');
|
||||||
|
}
|
||||||
|
//获取参数
|
||||||
|
$params = $this->request->post(['id','content']);
|
||||||
|
if(empty($params['id']) || empty($params['content'])){
|
||||||
|
return $this->fail('缺少必要参数');
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
$vehicleContract = VehicleContract::where('id',$params['id'])->find();
|
||||||
|
if(empty($vehicleContract)){
|
||||||
|
return $this->fail('未查找到数据');
|
||||||
|
}
|
||||||
|
if($vehicleContract['company_a_id'] != $this->userInfo['company_id']){
|
||||||
|
return $this->fail('数据不匹配');
|
||||||
|
}
|
||||||
|
//更新
|
||||||
|
$result = VehicleContract::where('id',$params['id'])->update([
|
||||||
|
'status' => 4,
|
||||||
|
'reject_message' => $params['content']
|
||||||
|
]);
|
||||||
|
if($result){
|
||||||
|
return $this->success('驳回成功');
|
||||||
|
}else{
|
||||||
|
return $this->fail('驳回失败');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//镇街公司收到的小组服务公司租赁申请列表
|
||||||
|
public function rentApplyList() {
|
||||||
|
|
||||||
|
$data = VehicleContract::where('company_a_id',$this->userInfo['company_id'])->where('status','<>',4)->select();
|
||||||
|
return $this->success('请求成功',$data->toArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
//小组服务公司租赁申请详情
|
||||||
|
public function rentApplyInfo() {
|
||||||
|
//获取参数
|
||||||
|
$id = $this->request->get('id');
|
||||||
|
if(empty($id)){
|
||||||
|
return $this->fail('缺少必要参数');
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
$vehicleContract = VehicleContract::where('id',$id)->find();
|
||||||
|
if(empty($vehicleContract)){
|
||||||
|
return $this->fail('获取数据失败');
|
||||||
|
}
|
||||||
|
if($vehicleContract['company_a_id'] != $this->userInfo['company_id']){
|
||||||
|
return $this->fail('数据不匹配');
|
||||||
|
}
|
||||||
|
$vehicleRentCars = VehicleRent::where('company_id',$vehicleContract['company_a_id'])->where('status',0)->select()->toArray();
|
||||||
|
$data = [
|
||||||
|
'vehicleContract' => $vehicleContract->toArray(),
|
||||||
|
'vehicleRentCars' => $vehicleRentCars
|
||||||
|
];
|
||||||
|
return $this->success('请求成功',$data);
|
||||||
|
}
|
||||||
|
|
||||||
|
//镇街公司车辆管理首页
|
||||||
|
public function townCompanyVehicleIndex() {
|
||||||
|
//获取公司信息
|
||||||
|
$company = Company::where('id',$this->userInfo['company_id'])->find();
|
||||||
|
if(empty($company)){
|
||||||
|
return $this->fail('数据错误');
|
||||||
|
}
|
||||||
|
if($company['company_type'] != 16){
|
||||||
|
return $this->fail('非镇街公司不能访问');
|
||||||
|
}
|
||||||
|
//获取小组服务公司申请信息
|
||||||
|
$vehicleContract = VehicleContract::where('company_a_id',$company['id'])->where('status','in','-1,0,1,2')->limit(4)->order('create_time desc')->select()->toArray();
|
||||||
|
//获取车辆列表
|
||||||
|
$vehicleRentCars = VehicleRent::where('company_id',$company['id'])->where('status','in','0,1,2')->select()->each(function($item){
|
||||||
|
if($item['status'] == 2){
|
||||||
|
$item['rent_user'] = Company::field('company_name,master_name as user_name,master_phone as user_phone,province,city,area,street,village,brigade')->where('id',$item['rent_company_id'])->find()->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name','brigade_name']);
|
||||||
|
}
|
||||||
|
})->toArray();
|
||||||
|
//获取该公司已签约的小组服务公司数量
|
||||||
|
$villageCompany = Contract::field('id')->where('party_a',$company['id'])->where('signing_timer',2)->count();
|
||||||
|
//系统车辆数量
|
||||||
|
$rentCar = VehicleRent::field('id')->where('company_id',$company['id'])->where('status','<>', 3)->where('type',0)->count();
|
||||||
|
//申请中的车辆
|
||||||
|
$applyCar = VehicleContract::field('num')->where('company_b_id',$company['id'])->where('status','in','-1,0,1,2')->sum('num');
|
||||||
|
//自有车辆数量
|
||||||
|
$selfCar = VehicleRent::field('id')->where('company_id',$company['id'])->where('status','<>',3)->where('type',1)->count();
|
||||||
|
//可在租车辆
|
||||||
|
$doubleRentCar = $villageCompany - $rentCar - $applyCar - $selfCar;
|
||||||
|
//设置数据
|
||||||
|
$data = [
|
||||||
|
'apply' => $vehicleContract,
|
||||||
|
'car_list' => $vehicleRentCars,
|
||||||
|
'monitor_num' => $villageCompany,
|
||||||
|
'rent_num' => $rentCar,
|
||||||
|
'can_rent_num' => intval($doubleRentCar),
|
||||||
|
'self_num' => $selfCar,
|
||||||
|
'apply_num' => $applyCar
|
||||||
|
];
|
||||||
|
//返回
|
||||||
|
return $this->success('请求成功',$data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function villageCompanyIndex() {
|
||||||
|
//获取公司信息
|
||||||
|
$company = Company::field('id,company_type,province,city,area,street,village,brigade')->where('id',$this->userInfo['company_id'])->find()->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name','brigade_name']);
|
||||||
|
if(empty($company)){
|
||||||
|
return $this->fail('数据错误');
|
||||||
|
}
|
||||||
|
if($company['company_type'] != 18 ){
|
||||||
|
return $this->fail('非小组公司不能访问');
|
||||||
|
}
|
||||||
|
//获取申请信息
|
||||||
|
$vehicleContract = VehicleContract::where('company_b_id',$company['id'])->order('id desc')->find();
|
||||||
|
if(empty($vehicleContract)){
|
||||||
|
return $this->success('没有数据,请申请',['status'=>-2]);
|
||||||
|
}
|
||||||
|
if($vehicleContract['type'] == 2){
|
||||||
|
return $this->success('合同已解除',['status'=>-3]);
|
||||||
|
}
|
||||||
|
if($vehicleContract['status'] == 3){
|
||||||
|
if(!empty($vehicleContract['cars_info'])){
|
||||||
|
$vehicleContract['cars_info'] = json_decode($vehicleContract['cars_info'],true);
|
||||||
|
if(!empty($vehicleContract['cars_info'])){
|
||||||
|
$arr = $vehicleContract['cars_info'];
|
||||||
|
$arr['mileage'] = 0;
|
||||||
|
$position = curl_get(env('project.logistic_domain').'/api/getCarLocal?car_id='.$arr['id']);
|
||||||
|
if($position && $position['code'] == 1){
|
||||||
|
$arr['lon'] = $position['data']['lon'];
|
||||||
|
$arr['lat'] = $position['data']['lat'];
|
||||||
|
}
|
||||||
|
$vehicleContract['cars_info'] = $arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$vehicleContract['province'] = $company['province_name'];
|
||||||
|
$vehicleContract['city'] = $company['city_name'];
|
||||||
|
$vehicleContract['area'] = $company['area_name'];
|
||||||
|
$vehicleContract['street'] = $company['street_name'];
|
||||||
|
$vehicleContract['village'] = $company['village_name'];
|
||||||
|
$vehicleContract['brigade'] = $company['brigade_name'];
|
||||||
|
}
|
||||||
|
//返回数据
|
||||||
|
return $this->success('请求成功',$vehicleContract->toArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
//车辆详情
|
||||||
|
public function vehicleInfo() {
|
||||||
|
//获取参数
|
||||||
|
$carId = $this->request->get('car_id');
|
||||||
|
if(empty($carId)){
|
||||||
|
return $this->fail('缺少必要参数');
|
||||||
|
}
|
||||||
|
//获取数据
|
||||||
|
$data = VehicleRent::where('car_id',$carId)->find();
|
||||||
|
if(empty($data)){
|
||||||
|
return $this->fail('数据错误');
|
||||||
|
}
|
||||||
|
$data['mileage'] = 0;
|
||||||
|
if($data['status'] == 2){
|
||||||
|
$data['company'] = Company::field('company_name,master_name as user_name,master_phone as user_phone,province,city,area,street,village,brigade')->where('id',$data['rent_company_id'])->find()->append(['province_name', 'city_name', 'area_name', 'street_name', 'village_name','brigade_name']);
|
||||||
|
//获取合同
|
||||||
|
$data['contract'] = VehicleContract::field('id,contract_no,contract_url,file,status,create_time,update_time')->where('id',$data['contract_id'])->findOrEmpty();
|
||||||
|
}
|
||||||
|
//当前坐标位置
|
||||||
|
$position = curl_get(env('project.logistic_domain').'/api/getCarLocal?car_id='.$carId);
|
||||||
|
if($position && $position['code'] == 1){
|
||||||
|
$data['position'] = $position['data'];
|
||||||
|
}else{
|
||||||
|
$data['position'] = [];
|
||||||
|
}
|
||||||
|
return $this->success('请求成功',$data->toArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function vehicleTrack() {
|
||||||
|
//获取参数
|
||||||
|
$params = $this->request->post(['car_id','start_time','end_time']);
|
||||||
|
if(empty($params['car_id']) || empty($params['start_time']) || empty($params['end_time'])){
|
||||||
|
return $this->fail('缺少必要参数');
|
||||||
|
}
|
||||||
|
//获取轨迹
|
||||||
|
$url = env('project.logistic_domain').'/api/getCarHistory?car_id='.$params['car_id'].'&start_time='.$params['start_time'].'&end_time='.$params['end_time'];
|
||||||
|
$result = curl_get($url);
|
||||||
|
$data = [];
|
||||||
|
foreach($result['data'] as $k => $v){
|
||||||
|
$data[$k]['latitude'] = $v['lat'];
|
||||||
|
$data[$k]['longitude'] = $v['lon'];
|
||||||
|
}
|
||||||
|
return $this->success('success',$data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function cancelContract() {
|
||||||
|
//获取参数
|
||||||
|
$params = $this->request->post(['car_id']);
|
||||||
|
if(empty($params['car_id'])){
|
||||||
|
return $this->fail('参数错误');
|
||||||
|
}
|
||||||
|
//获取车辆信息
|
||||||
|
$carInfo = VehicleRent::where('car_id',$params['car_id'])->where('type',1)->find();
|
||||||
|
if(empty($carInfo)){
|
||||||
|
return $this->fail('车辆信息错误');
|
||||||
|
}
|
||||||
|
if($carInfo['rent_company_id'] != $this->userInfo['company_id']){
|
||||||
|
return $this->fail('当前公司与车辆信息不匹配');
|
||||||
|
}
|
||||||
|
//获取原签约信息
|
||||||
|
$contract = VehicleContract::where('id',$carInfo['contract_id'])->where('status',3)->find();
|
||||||
|
if(empty($contract)){
|
||||||
|
return $this->fail('原签约信息错误');
|
||||||
|
}
|
||||||
|
//获取甲方公司信息
|
||||||
|
$party_a = Company::where('id',$carInfo['company_id'])->find();
|
||||||
|
if(empty($party_a)){
|
||||||
|
return $this->fail('甲方公司信息错误');
|
||||||
|
}
|
||||||
|
//获取乙方公司信息
|
||||||
|
$party_b = Company::where('id',$this->userInfo['company_id'])->find();
|
||||||
|
if(empty($party_b)){
|
||||||
|
return $this->fail('乙方公司信息错误');
|
||||||
|
}
|
||||||
|
//判断是否申请过
|
||||||
|
$vehicleContract = VehicleContract::where('company_b_id',$this->userInfo['company_id'])->where('type',3)->where('status','<>',4)->find();
|
||||||
|
if(!empty($vehicleContract)){
|
||||||
|
return $this->fail('请勿重复申请');
|
||||||
|
}
|
||||||
|
//设置数据
|
||||||
|
$data = [
|
||||||
|
'contract_logistic_id' => 0,
|
||||||
|
'contract_no' => time(),
|
||||||
|
'company_a_id' => $party_a['id'],
|
||||||
|
'company_a_name' => $party_a['company_name'],
|
||||||
|
'company_a_code' => $party_a['organization_code'],
|
||||||
|
'company_a_user' => $party_a['master_name'],
|
||||||
|
'company_a_phone' => $party_a['master_phone'],
|
||||||
|
'company_a_email' => $party_a['master_email'],
|
||||||
|
'company_b_id' => $party_b['id'],
|
||||||
|
'company_b_name' => $party_b['company_name'],
|
||||||
|
'company_b_code' => $party_b['organization_code'],
|
||||||
|
'company_b_user' => $party_b['master_name'],
|
||||||
|
'company_b_phone' => $party_b['master_phone'],
|
||||||
|
'company_b_email' => $party_b['master_email'],
|
||||||
|
'cars_info' => json_encode(['id'=>$carInfo['car_id'],'license'=>$carInfo['car_license']]),
|
||||||
|
'num' => 1,
|
||||||
|
'type' => 2,
|
||||||
|
'status' => -1,
|
||||||
|
'create_time' => time(),
|
||||||
|
'update_time' => time(),
|
||||||
|
'old_file' => $contract['contract_url'],
|
||||||
|
];
|
||||||
|
//写入数据
|
||||||
|
$result = VehicleContract::create($data);
|
||||||
|
if($result){
|
||||||
|
return $this->success('申请成功,待镇街公司审核');
|
||||||
|
}else{
|
||||||
|
return $this->fail('申请失败,请稍后重试');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function townCompanyContractList() {
|
||||||
|
//获取公司信息
|
||||||
|
$company = Company::where('id',$this->userInfo['company_id'])->find();
|
||||||
|
if(empty($company)){
|
||||||
|
return $this->fail('请求错误');
|
||||||
|
}
|
||||||
|
if($company['company_type'] != 16){
|
||||||
|
return $this->fail('非镇街公司不能访问');
|
||||||
|
}
|
||||||
|
$data = VehicleContract::field('id,contract_no,contract_url,status,create_time,update_time')->where('contract_logistic_id','<>',0)->where('company_b_id',$company['id'])->select();
|
||||||
|
return $this->success('请求成功',$data->toArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sendSms($id,$title) {
|
||||||
|
//获取合同数据
|
||||||
|
$contract = VehicleContract::where('id',$id)->find();
|
||||||
|
if ($contract && !$contract->isEmpty() && $contract['file'] != '') {
|
||||||
|
//发送短信
|
||||||
|
$data = [
|
||||||
|
//甲方
|
||||||
|
[
|
||||||
|
"applyNo" => $contract['contract_no'],
|
||||||
|
"fullName" => $contract['company_a_name'],
|
||||||
|
"identityCard" => $contract['company_a_code'],
|
||||||
|
"identityType" => 12,
|
||||||
|
"master_phone" => $contract['company_a_phone'],
|
||||||
|
"type"=>"party_a"
|
||||||
|
],
|
||||||
|
//乙方
|
||||||
|
[
|
||||||
|
"applyNo" => $contract['contract_no'],
|
||||||
|
"fullName" => $contract['company_b_name'],
|
||||||
|
"identityCard" => $contract['company_b_code'],
|
||||||
|
"identityType" => 12,
|
||||||
|
"master_phone" => $contract['company_b_phone'],
|
||||||
|
"type"=>"party_b"
|
||||||
|
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$url = [];
|
||||||
|
foreach ($data as $v) {
|
||||||
|
$res = app(JunziqianController::class)->SigningLink($v);
|
||||||
|
if (!$res->success) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($v['type'] == 'party_a') {
|
||||||
|
$url['party_a'] =$res->data;
|
||||||
|
} else {
|
||||||
|
$url['party_b'] =$res->data;
|
||||||
|
}
|
||||||
|
//发送短信
|
||||||
|
$sms = [
|
||||||
|
'mobile' => $v['master_phone'],
|
||||||
|
'name' => $v['fullName'],
|
||||||
|
'type' => $title,
|
||||||
|
'code' => 'api/Hetong/info?id='.$id.'&type='.$v['type'],
|
||||||
|
'scene' => 'WQ'
|
||||||
|
];
|
||||||
|
$scene = NoticeEnum::getSceneByTag($sms['scene']);
|
||||||
|
if (empty($scene)) {
|
||||||
|
throw new \Exception('场景值异常');
|
||||||
|
}
|
||||||
|
event('Notice', [
|
||||||
|
'scene_id' => $scene,
|
||||||
|
'params' => $sms
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
VehicleContract::where('id', $id)->update(['url' => json_encode($url)]);
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -115,8 +115,9 @@ class AccountLogLists extends BaseApiDataLists
|
|||||||
$endTime = $date + 86399; // 获取该日期24小时后的时间戳
|
$endTime = $date + 86399; // 获取该日期24小时后的时间戳
|
||||||
$where[] = ['create_time', 'between', [$startTime, $endTime]];
|
$where[] = ['create_time', 'between', [$startTime, $endTime]];
|
||||||
}else{
|
}else{
|
||||||
$where[] = ['create_time', 'between', [strtotime(date('Y-m-d')), strtotime(date('Y-m-d'))+86366]];
|
// $where[] = ['create_time', 'between', [strtotime(date('Y-m-d')), strtotime(date('Y-m-d'))+86366]];
|
||||||
}
|
}
|
||||||
|
|
||||||
$lists = UserAccountLog::field($field)
|
$lists = UserAccountLog::field($field)
|
||||||
->where($where)
|
->where($where)
|
||||||
->with(['userInfo'])
|
->with(['userInfo'])
|
||||||
|
@ -16,6 +16,7 @@ namespace app\api\logic;
|
|||||||
|
|
||||||
|
|
||||||
use app\common\logic\BaseLogic;
|
use app\common\logic\BaseLogic;
|
||||||
|
use app\common\model\AppUpdate;
|
||||||
use app\common\model\article\Article;
|
use app\common\model\article\Article;
|
||||||
use app\common\model\decorate\DecoratePage;
|
use app\common\model\decorate\DecoratePage;
|
||||||
use app\common\model\decorate\DecorateTabbar;
|
use app\common\model\decorate\DecorateTabbar;
|
||||||
@ -24,7 +25,6 @@ use app\common\model\user\UserRole;
|
|||||||
use app\common\service\ConfigService;
|
use app\common\service\ConfigService;
|
||||||
use app\common\service\FileService;
|
use app\common\service\FileService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* index
|
* index
|
||||||
* Class IndexLogic
|
* Class IndexLogic
|
||||||
@ -106,66 +106,89 @@ class IndexLogic extends BaseLogic
|
|||||||
* @author 段誉
|
* @author 段誉
|
||||||
* @date 2022/9/21 19:38
|
* @date 2022/9/21 19:38
|
||||||
*/
|
*/
|
||||||
public static function getConfigData($group_id=1)
|
public static function getConfigData($group_id = 1,$parmas=[])
|
||||||
{
|
{
|
||||||
if($group_id==null){
|
if ($group_id == null) {
|
||||||
$group_id=1;
|
$group_id = 1;
|
||||||
}
|
}
|
||||||
$group_find=UserRole::where('id',$group_id)->find();
|
$group_find = UserRole::where('id', $group_id)->find();
|
||||||
$menu=[];
|
$menu = [];
|
||||||
if($group_find){
|
if ($group_find) {
|
||||||
$select=UserMenu::where('id','in',$group_find['menu_arr'])->field('id,pid,name,icon,sort,paths')->limit(100)->select()->toArray();
|
$select = UserMenu::where('id', 'in', $group_find['menu_arr'])->field('id,pid,name,icon,sort,paths')->order('sort', 'desc')->limit(100)->select()->toArray();
|
||||||
$arr=[];
|
$arr = [];
|
||||||
foreach($select as $k=>$v){
|
foreach ($select as $k => $v) {
|
||||||
if($v['pid']==0){
|
if ($v['pid'] == 0) {
|
||||||
$arr[]=$v;
|
$arr[] = $v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach($arr as $k=>$v){
|
foreach ($arr as $k => $v) {
|
||||||
foreach($select as $kk=>$vv){
|
foreach ($select as $kk => $vv) {
|
||||||
if($v['id']==$vv['pid']){
|
if ($v['id'] == $vv['pid']) {
|
||||||
$arr[$k]['children'][]=$vv;
|
$arr[$k]['children'][] = $vv;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$menu=$arr;
|
$menu = $arr;
|
||||||
}
|
}
|
||||||
// 底部导航
|
// 底部导航
|
||||||
$tabbar = DecorateTabbar::getTabbarLists();
|
// $tabbar = DecorateTabbar::getTabbarLists();
|
||||||
// 导航颜色
|
// 导航颜色
|
||||||
$style = ConfigService::get('tabbar', 'style', config('project.decorate.tabbar_style'));
|
// $style = ConfigService::get('tabbar', 'style', config('project.decorate.tabbar_style'));
|
||||||
// 登录配置
|
// 登录配置
|
||||||
$loginConfig = [
|
// $loginConfig = [
|
||||||
// 登录方式
|
// // 登录方式
|
||||||
'login_way' => ConfigService::get('login', 'login_way', config('project.login.login_way')),
|
// 'login_way' => ConfigService::get('login', 'login_way', config('project.login.login_way')),
|
||||||
// 注册强制绑定手机
|
// // 注册强制绑定手机
|
||||||
'coerce_mobile' => ConfigService::get('login', 'coerce_mobile', config('project.login.coerce_mobile')),
|
// 'coerce_mobile' => ConfigService::get('login', 'coerce_mobile', config('project.login.coerce_mobile')),
|
||||||
// 政策协议
|
// // 政策协议
|
||||||
'login_agreement' => ConfigService::get('login', 'login_agreement', config('project.login.login_agreement')),
|
// 'login_agreement' => ConfigService::get('login', 'login_agreement', config('project.login.login_agreement')),
|
||||||
// 第三方登录 开关
|
// // 第三方登录 开关
|
||||||
// 'third_auth' => ConfigService::get('login', 'third_auth', config('project.login.third_auth')),
|
// // 'third_auth' => ConfigService::get('login', 'third_auth', config('project.login.third_auth')),
|
||||||
// 微信授权登录
|
// // 微信授权登录
|
||||||
'wechat_auth' => ConfigService::get('login', 'wechat_auth', config('project.login.wechat_auth')),
|
// 'wechat_auth' => ConfigService::get('login', 'wechat_auth', config('project.login.wechat_auth')),
|
||||||
// qq授权登录
|
// // qq授权登录
|
||||||
// 'qq_auth' => ConfigService::get('login', 'qq_auth', config('project.login.qq_auth')),
|
// // 'qq_auth' => ConfigService::get('login', 'qq_auth', config('project.login.qq_auth')),
|
||||||
];
|
// ];
|
||||||
// 网址信息
|
// 网址信息
|
||||||
$website = [
|
// $website = [
|
||||||
'shop_name' => ConfigService::get('website', 'shop_name'),
|
// 'shop_name' => ConfigService::get('website', 'shop_name'),
|
||||||
'shop_logo' => FileService::getFileUrl(ConfigService::get('website', 'shop_logo')),
|
// 'shop_logo' => FileService::getFileUrl(ConfigService::get('website', 'shop_logo')),
|
||||||
];
|
// ];
|
||||||
// H5配置
|
$versionInfo = [];
|
||||||
|
$version='1.0.0';
|
||||||
|
if((isset($parmas['os'])&&$parmas['os']=='android')){
|
||||||
|
$versionInfo=AppUpdate::where('type',2)->order('id','desc')->find();
|
||||||
|
}elseif((isset($parmas['os'])&&$parmas['os']=='ios')){
|
||||||
|
$versionInfo=AppUpdate::where('type',1)->order('id','desc')->find();
|
||||||
|
}elseif(self::isAndroid()){
|
||||||
|
$versionInfo=AppUpdate::where('type',2)->order('id','desc')->find();
|
||||||
|
}elseif(self::isIOS()){
|
||||||
|
$versionInfo=AppUpdate::where('type',1)->order('id','desc')->find();
|
||||||
|
}
|
||||||
|
if($versionInfo){
|
||||||
|
$version=$versionInfo['version'];
|
||||||
|
}
|
||||||
return [
|
return [
|
||||||
'domain' => FileService::getFileUrl(),
|
'domain' => FileService::getFileUrl(),
|
||||||
'style' => $style,
|
// 'style' => $style,
|
||||||
'tabbar' => $tabbar,
|
// 'tabbar' => $tabbar,
|
||||||
'menu' => $menu,
|
'menu' => $menu,
|
||||||
'login' => $loginConfig,
|
// 'login' => $loginConfig,
|
||||||
'website' => $website,
|
// 'website' => $website,
|
||||||
'version'=> config('project.version')
|
'version' => $version,
|
||||||
|
'version_info' => $versionInfo,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function isAndroid()
|
||||||
|
{
|
||||||
|
$userAgent = $_SERVER['HTTP_USER_AGENT'];
|
||||||
|
return strpos($userAgent, 'Android') !== false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function isIOS()
|
||||||
|
{
|
||||||
|
$userAgent = $_SERVER['HTTP_USER_AGENT'];
|
||||||
|
return strpos($userAgent, 'iPhone') !== false;
|
||||||
|
}
|
||||||
}
|
}
|
@ -29,7 +29,8 @@ use app\common\service\{
|
|||||||
};
|
};
|
||||||
use app\common\model\user\{User, UserAuth};
|
use app\common\model\user\{User, UserAuth};
|
||||||
use think\facade\{Db, Config};
|
use think\facade\{Db, Config};
|
||||||
|
use Firebase\JWT\JWT;
|
||||||
|
use Firebase\JWT\Key;
|
||||||
/**
|
/**
|
||||||
* 登录逻辑
|
* 登录逻辑
|
||||||
* Class LoginLogic
|
* Class LoginLogic
|
||||||
@ -135,7 +136,13 @@ class LoginLogic extends BaseLogic
|
|||||||
//返回登录信息
|
//返回登录信息
|
||||||
$avatar = $user->avatar ?: Config::get('project.default_image.user_avatar');
|
$avatar = $user->avatar ?: Config::get('project.default_image.user_avatar');
|
||||||
$avatar = FileService::getFileUrl($avatar);
|
$avatar = FileService::getFileUrl($avatar);
|
||||||
|
if(isset($params['shop_token'])&&$params['shop_token']!=''){
|
||||||
|
$jwt = JWT::decode($params['shop_token'], new Key('ae47e94a7dcd1fdfacb499b60e361a8d', 'HS256'));
|
||||||
|
if ($jwt) {
|
||||||
|
$user_id = $jwt->jti[0];
|
||||||
|
Db::name('user_other')->insert(['user_id'=>$user->id,'other_user_id'=>$user_id,'type'=>'shop_user']);
|
||||||
|
}
|
||||||
|
}
|
||||||
return [
|
return [
|
||||||
'nickname' => $userInfo['nickname'],
|
'nickname' => $userInfo['nickname'],
|
||||||
'sn' => $userInfo['sn'],
|
'sn' => $userInfo['sn'],
|
||||||
@ -149,7 +156,33 @@ class LoginLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function shop($payload,$type=1){
|
||||||
|
$jwt = JWT::decode($payload, new Key('ae47e94a7dcd1fdfacb499b60e361a8d', 'HS256'));
|
||||||
|
if ($jwt) {
|
||||||
|
$user_id = $jwt->jti[0];
|
||||||
|
$find = Db::name('user_other')->where('other_user_id', $user_id)->where('type', 'shop_user')->find();
|
||||||
|
if ($find) {
|
||||||
|
$user = User::where('id', $find['user_id'])->findOrEmpty();
|
||||||
|
if ($user->isEmpty()) {
|
||||||
|
self::setError('无登录信息');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$userInfo = UserTokenService::setToken($user->id, 3);
|
||||||
|
//返回登录信息
|
||||||
|
$avatar = $user->avatar ?: Config::get('project.default_image.user_avatar');
|
||||||
|
$avatar = FileService::getFileUrl($avatar);
|
||||||
|
return [
|
||||||
|
'nickname' => $userInfo['nickname'],
|
||||||
|
'sn' => $userInfo['sn'],
|
||||||
|
'mobile' => $userInfo['mobile'],
|
||||||
|
'avatar' => $avatar,
|
||||||
|
'token' => $userInfo['token'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self::setError('无登录信息');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* @notes 退出登录
|
* @notes 退出登录
|
||||||
* @param $userInfo
|
* @param $userInfo
|
||||||
|
@ -19,7 +19,7 @@ use app\common\logic\BaseLogic;
|
|||||||
use app\common\model\recharge\RechargeOrder;
|
use app\common\model\recharge\RechargeOrder;
|
||||||
use app\common\model\user\User;
|
use app\common\model\user\User;
|
||||||
use app\common\service\ConfigService;
|
use app\common\service\ConfigService;
|
||||||
|
use think\facade\Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 充值逻辑层
|
* 充值逻辑层
|
||||||
@ -46,6 +46,9 @@ class RechargeLogic extends BaseLogic
|
|||||||
'pay_status' => PayEnum::UNPAID,
|
'pay_status' => PayEnum::UNPAID,
|
||||||
'order_amount' => $params['money'],
|
'order_amount' => $params['money'],
|
||||||
];
|
];
|
||||||
|
if(isset($params['task_id']) &&$params['task_id']>0){
|
||||||
|
$data['extend']=json_encode(['task_id'=>$params['task_id'],'type'=>1]);
|
||||||
|
}
|
||||||
$order = RechargeOrder::create($data);
|
$order = RechargeOrder::create($data);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
@ -78,13 +78,16 @@ class UserTokenService
|
|||||||
public static function overtimeToken($token)
|
public static function overtimeToken($token)
|
||||||
{
|
{
|
||||||
$time = time();
|
$time = time();
|
||||||
$adminSession = UserSession::where('token', '=', $token)->find();
|
$userSession = UserSession::where('token', '=', $token)->find();
|
||||||
|
if ($userSession->isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
//延长token过期时间
|
//延长token过期时间
|
||||||
$adminSession->expire_time = $time + Config::get('project.user_token.expire_duration');
|
$userSession->expire_time = $time + Config::get('project.user_token.expire_duration');
|
||||||
$adminSession->update_time = $time;
|
$userSession->update_time = $time;
|
||||||
$adminSession->save();
|
$userSession->save();
|
||||||
|
|
||||||
return (new UserTokenCache())->setUserInfo($adminSession->token);
|
return (new UserTokenCache())->setUserInfo($userSession->token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ use app\common\logic\BaseLogic;
|
|||||||
use app\common\model\auth\Admin;
|
use app\common\model\auth\Admin;
|
||||||
use app\common\model\contract\Contract;
|
use app\common\model\contract\Contract;
|
||||||
use app\common\model\user\User;
|
use app\common\model\user\User;
|
||||||
|
use think\Exception;
|
||||||
use think\exception\ValidateException;
|
use think\exception\ValidateException;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
use app\adminapi\validate\CompanyValidate;
|
use app\adminapi\validate\CompanyValidate;
|
||||||
@ -54,6 +55,13 @@ class CompanyLogic extends BaseLogic
|
|||||||
// if (!empty($exist)) {
|
// if (!empty($exist)) {
|
||||||
// throw new ValidateException('该账号已经注册过企业');
|
// throw new ValidateException('该账号已经注册过企业');
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
// 手机号不能重复
|
||||||
|
$companyInfo = Company::where(['master_phone'=>$params['master_phone']])->find();
|
||||||
|
if (!empty($companyInfo)) {
|
||||||
|
Db::rollback();
|
||||||
|
throw new Exception('手机号已存在');
|
||||||
|
}
|
||||||
$arr=[
|
$arr=[
|
||||||
'company_name' => $params['company_name'],
|
'company_name' => $params['company_name'],
|
||||||
'organization_code' => $params['organization_code'],
|
'organization_code' => $params['organization_code'],
|
||||||
@ -66,6 +74,7 @@ class CompanyLogic extends BaseLogic
|
|||||||
'address' => $params['address'],
|
'address' => $params['address'],
|
||||||
'company_type' => $params['company_type'],
|
'company_type' => $params['company_type'],
|
||||||
'master_name' => $params['master_name'],
|
'master_name' => $params['master_name'],
|
||||||
|
'master_id_card' => $params['id_card'], // 主联系人证件号
|
||||||
'master_position' => $params['master_position'],
|
'master_position' => $params['master_position'],
|
||||||
'master_phone' => $params['master_phone'],
|
'master_phone' => $params['master_phone'],
|
||||||
'master_email' => $params['master_email'],
|
'master_email' => $params['master_email'],
|
||||||
@ -114,7 +123,7 @@ class CompanyLogic extends BaseLogic
|
|||||||
$admin['phone']=$params['master_phone'];
|
$admin['phone']=$params['master_phone'];
|
||||||
$admin['create_time']=time();
|
$admin['create_time']=time();
|
||||||
$admin['update_time']=time();
|
$admin['update_time']=time();
|
||||||
$user_id=User::strict(false)->insertGetId($admin);
|
$user_id = User::strict(false)->insertGetId($admin);
|
||||||
Company::where('id',$data['id'])->update(['admin_id'=>$admin_id,'user_id'=>$user_id]);
|
Company::where('id',$data['id'])->update(['admin_id'=>$admin_id,'user_id'=>$user_id]);
|
||||||
|
|
||||||
$scheduling=[
|
$scheduling=[
|
||||||
@ -123,9 +132,6 @@ class CompanyLogic extends BaseLogic
|
|||||||
'company_type'=>$params['company_type'],
|
'company_type'=>$params['company_type'],
|
||||||
];
|
];
|
||||||
TaskScheduling::create($scheduling);
|
TaskScheduling::create($scheduling);
|
||||||
// if ($level_one > 0) {
|
|
||||||
// $contractId = self::contract($data['id'], $params);
|
|
||||||
// }
|
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return true;
|
return true;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
@ -147,6 +153,12 @@ class CompanyLogic extends BaseLogic
|
|||||||
{
|
{
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
|
// 手机号不能重复
|
||||||
|
$companyInfo = Company::where(['master_phone'=>$params['master_phone']])->find();
|
||||||
|
if (!empty($companyInfo)) {
|
||||||
|
Db::rollback();
|
||||||
|
throw new Exception('手机号已存在');
|
||||||
|
}
|
||||||
$arr=[
|
$arr=[
|
||||||
'company_name' => $params['company_name'],
|
'company_name' => $params['company_name'],
|
||||||
'organization_code' => $params['organization_code'],
|
'organization_code' => $params['organization_code'],
|
||||||
@ -159,6 +171,7 @@ class CompanyLogic extends BaseLogic
|
|||||||
'address' => $params['address'],
|
'address' => $params['address'],
|
||||||
'company_type' => $params['company_type'],
|
'company_type' => $params['company_type'],
|
||||||
'master_name' => $params['master_name'],
|
'master_name' => $params['master_name'],
|
||||||
|
'master_id_card' => $params['id_card'], // 主联系人证件号
|
||||||
'master_position' => $params['master_position'],
|
'master_position' => $params['master_position'],
|
||||||
'master_phone' => $params['master_phone'],
|
'master_phone' => $params['master_phone'],
|
||||||
'master_email' => $params['master_email'],
|
'master_email' => $params['master_email'],
|
||||||
@ -247,7 +260,11 @@ class CompanyLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
$data['area_manager_name'] = Db::name('admin')->where('id', $data['area_manager'])->value('name');
|
$data['area_manager_name'] = Db::name('admin')->where('id', $data['area_manager'])->value('name');
|
||||||
$data['responsible_area'] = explode(',', $data['responsible_area']);
|
$data['responsible_area'] = explode(',', $data['responsible_area']);
|
||||||
$data['contract'] = Contract::where(['party_b' => $data['id']])->with(['party_a_info', 'contractType'])->find();
|
$where[]=['party_b','=', $data['id']];
|
||||||
|
if(isset($params['contract_type'])){
|
||||||
|
$where[]=['contract_type','=',$params['contract_type']];
|
||||||
|
}
|
||||||
|
$data['contract'] = Contract::where($where)->with(['party_a_info', 'contractType'])->find();
|
||||||
|
|
||||||
}
|
}
|
||||||
return $data;
|
return $data;
|
||||||
@ -270,15 +287,4 @@ class CompanyLogic extends BaseLogic
|
|||||||
$model->save();
|
$model->save();
|
||||||
return $model->id;
|
return $model->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getAllCompanyIds()
|
|
||||||
{
|
|
||||||
$companyId = request()->adminInfo['company_id'] ?? 0;
|
|
||||||
$companyIds[] = $companyId;
|
|
||||||
$companies = loopGetChild(Company::class, $companyId, 'level_one', 'id,level_one');
|
|
||||||
if (!empty($companies)) {
|
|
||||||
$companyIds = array_merge(array_column($companies, 'id'), $companyIds);
|
|
||||||
}
|
|
||||||
return array_filter($companyIds);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,10 @@ namespace app\common\logic;
|
|||||||
|
|
||||||
use app\common\enum\PayEnum;
|
use app\common\enum\PayEnum;
|
||||||
use app\common\enum\user\AccountLogEnum;
|
use app\common\enum\user\AccountLogEnum;
|
||||||
|
use app\common\model\company\CompanyAccountLog;
|
||||||
use app\common\model\recharge\RechargeOrder;
|
use app\common\model\recharge\RechargeOrder;
|
||||||
|
use app\common\model\task\Task;
|
||||||
|
use app\common\model\task_template\TaskTemplate;
|
||||||
use app\common\model\user\User;
|
use app\common\model\user\User;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
use think\facade\Log;
|
use think\facade\Log;
|
||||||
@ -61,6 +64,14 @@ class PayNotifyLogic extends BaseLogic
|
|||||||
public static function recharge($orderSn, $extra = [])
|
public static function recharge($orderSn, $extra = [])
|
||||||
{
|
{
|
||||||
$order = RechargeOrder::where('sn', $orderSn)->findOrEmpty();
|
$order = RechargeOrder::where('sn', $orderSn)->findOrEmpty();
|
||||||
|
|
||||||
|
if ($order && isset($order['extend']['type']) && $order['extend']['type'] == 1) {
|
||||||
|
$find = Task::where('id', $order['extend']['task_id'])->find();
|
||||||
|
$extend=$find['extend'];
|
||||||
|
$extend['shareholder']['order_sn']=$order->sn;
|
||||||
|
Task::where('id', $order['extend']['task_id'])->update(['status' => 3,'extend'=>json_encode($extend)]);
|
||||||
|
TaskTemplate::where('id', $find['template_id'])->update(['over_decimal' => $order->order_amount]);
|
||||||
|
} else {
|
||||||
// 增加用户累计充值金额及用户余额
|
// 增加用户累计充值金额及用户余额
|
||||||
$user = User::findOrEmpty($order->user_id);
|
$user = User::findOrEmpty($order->user_id);
|
||||||
$user->total_recharge_amount += $order->order_amount;
|
$user->total_recharge_amount += $order->order_amount;
|
||||||
@ -76,6 +87,7 @@ class PayNotifyLogic extends BaseLogic
|
|||||||
$order->sn,
|
$order->sn,
|
||||||
'用户充值'
|
'用户充值'
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// 更新充值订单状态
|
// 更新充值订单状态
|
||||||
$order->transaction_id = $extra['transaction_id'];
|
$order->transaction_id = $extra['transaction_id'];
|
||||||
@ -83,6 +95,4 @@ class PayNotifyLogic extends BaseLogic
|
|||||||
$order->pay_time = time();
|
$order->pay_time = time();
|
||||||
$order->save();
|
$order->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -177,13 +177,41 @@ class ContractLogic extends BaseLogic
|
|||||||
return $data['status'] == 1 ? '已签约' : '未签约';
|
return $data['status'] == 1 ? '已签约' : '未签约';
|
||||||
})
|
})
|
||||||
->find();
|
->find();
|
||||||
|
$data['signed_contract_url'] = self::getSignedContract($data);
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取已签约盖章的合同
|
||||||
|
*/
|
||||||
|
public static function getSignedContract($contract)
|
||||||
|
{
|
||||||
|
$signedContractUrl = '';
|
||||||
|
if($contract['status'] == 1){
|
||||||
|
if ($contract['contract_url'] == '') {
|
||||||
|
$res = app(JunziqianController::class)->download_file($contract['contract_no']);
|
||||||
|
if ($res['code'] == 1) {
|
||||||
|
$signedContractUrl = $res['data']['url'];
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
$signedContractUrl = env('url.url_prefix').$contract['contract_url'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $signedContractUrl;
|
||||||
|
}
|
||||||
|
|
||||||
//生成合同
|
//生成合同
|
||||||
public static function Initiate_contract($data)
|
public static function Initiate_contract($data)
|
||||||
{
|
{
|
||||||
$model = Contract::where(['party_b' => $data['party_b']])->find();
|
// 平台公司可以直接签合同,其他类型的公司需要做过合同乙方才能签合同
|
||||||
|
$partyACompamyInfo = Company::where(['id'=>$data['party_a']])->find();
|
||||||
|
if ($partyACompamyInfo['company_type'] != 30) {
|
||||||
|
$partyAModel = Contract::where(['party_b' => $data['party_a']])->find();
|
||||||
|
if (empty($partyAModel)) {
|
||||||
|
return self::setError('当前甲方暂无和平台或上级公司签约,请先进行签约');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$model = Contract::where(['party_b' => $data['party_b'],'contract_type'=>$data['contract_type']])->find();
|
||||||
if (empty($model)) {
|
if (empty($model)) {
|
||||||
$model = new Contract();
|
$model = new Contract();
|
||||||
$model->contract_no = time();
|
$model->contract_no = time();
|
||||||
@ -205,15 +233,6 @@ class ContractLogic extends BaseLogic
|
|||||||
$model->update_time = time();
|
$model->update_time = time();
|
||||||
$model->setAttrs($data);
|
$model->setAttrs($data);
|
||||||
$res = $model->save($data);
|
$res = $model->save($data);
|
||||||
//如果是租赁合同,调用接口通知物流系统
|
|
||||||
// if($data['contract_type'] == 29){
|
|
||||||
// curl_post('http://logistics.lihaink.cn/api/setContract',[],[
|
|
||||||
// 'party_a' => $data['party_a'],
|
|
||||||
// 'party_b' => $data['party_b'],
|
|
||||||
// 'num' => $data['num'],
|
|
||||||
// 'rent_type' => 1
|
|
||||||
// ]);
|
|
||||||
// }
|
|
||||||
if($res){
|
if($res){
|
||||||
return ['code'=>1,'msg'=>'发起成功,等待平台风控部上传合同','data'=>['id'=>$model->id]];
|
return ['code'=>1,'msg'=>'发起成功,等待平台风控部上传合同','data'=>['id'=>$model->id]];
|
||||||
}else{
|
}else{
|
||||||
@ -235,17 +254,17 @@ class ContractLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
if ($result && isset($result['contract']) && isset($result['contract']['file']) && $result['contract']['file'] != '') {
|
if ($result && isset($result['contract']) && isset($result['contract']['file']) && $result['contract']['file'] != '') {
|
||||||
if ($result['contract']['check_status'] == 3) {
|
if ($result['contract']['check_status'] == 3) {
|
||||||
return self::setError('你已经生成过合同,请问重复生成');
|
return self::setError('你已经生成过合同,请勿重复生成');
|
||||||
}
|
}
|
||||||
if($type==1){
|
if($type==1){
|
||||||
$name=$result['company_name'];
|
$name=$result['company_name'];
|
||||||
$data = [
|
$data = [
|
||||||
'name' => $name . '的合同',
|
'name' => $name . '的合同',
|
||||||
'signatories' => [
|
'signatories' => [
|
||||||
['fullName' => $name, 'identityType' => 12, 'identityCard' => $result['organization_code'], 'email' => $result['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1],
|
['fullName' => $name, 'identityType' => 12, 'identityCard' => $result['organization_code'], 'email' => $result['master_email'], 'noNeedVerify' => 1, 'authLevel'=>[11],'signLevel' => 1],
|
||||||
['fullName' => $result['contract']['party_a_info']['company_name'], 'identityType' => 12, 'identityCard' => $result['contract']['party_a_info']['organization_code'], 'email' => $result['contract']['party_a_info']['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1]
|
['fullName' => $result['contract']['party_a_info']['company_name'], 'identityType' => 12, 'identityCard' => $result['contract']['party_a_info']['organization_code'], 'email' => $result['contract']['party_a_info']['master_email'], 'noNeedVerify' => 1, 'authLevel'=>[11],'signLevel' => 1]
|
||||||
],
|
],
|
||||||
'url' => $result['contract']['file']
|
'url' => $result['contract']['file'],
|
||||||
];
|
];
|
||||||
}else{
|
}else{
|
||||||
$name=$result['nickname'];
|
$name=$result['nickname'];
|
||||||
|
@ -5,20 +5,25 @@ namespace app\common\logic\finance;
|
|||||||
use app\common\enum\user\AccountLogEnum;
|
use app\common\enum\user\AccountLogEnum;
|
||||||
use app\common\logic\AccountLogLogic;
|
use app\common\logic\AccountLogLogic;
|
||||||
use app\common\model\Company;
|
use app\common\model\Company;
|
||||||
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
use app\common\model\company\CompanyAccountLog;
|
||||||
|
use app\common\model\task\Task;
|
||||||
|
use app\common\model\user\UserAccountLog;
|
||||||
use app\common\model\user\User;
|
use app\common\model\user\User;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
use think\facade\Log;
|
use think\facade\Log;
|
||||||
|
|
||||||
class ShareProfit
|
class ShareProfit
|
||||||
{
|
{
|
||||||
public function first($data, $company)
|
public function first($data, $company, $datas = [])
|
||||||
{
|
{
|
||||||
if ($company['day_count'] <= $data['proportion_one']) {
|
// if ($company['day_count'] <= $data['proportion_one']) {
|
||||||
$proportion = $data['proportion_one'];
|
// $proportion = $data['proportion_one'];
|
||||||
} else {
|
// } else {
|
||||||
$proportion = $data['proportion_two'];
|
// $proportion = $data['proportion_two'];
|
||||||
}
|
// }
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
$proportion = 0;
|
||||||
//总金额除以2等于不可提现账号金额和收益
|
//总金额除以2等于不可提现账号金额和收益
|
||||||
$master_maoney = bcdiv($data['money'], 2, 2);
|
$master_maoney = bcdiv($data['money'], 2, 2);
|
||||||
//收益的百分之25为负责人的收益其余为成员的平分收益
|
//收益的百分之25为负责人的收益其余为成员的平分收益
|
||||||
@ -31,8 +36,7 @@ class ShareProfit
|
|||||||
$member_maoney_user = bcdiv($master_maoney_user, $yser_all_count, 2);
|
$member_maoney_user = bcdiv($master_maoney_user, $yser_all_count, 2);
|
||||||
|
|
||||||
//负责人
|
//负责人
|
||||||
Db::startTrans();
|
|
||||||
try {
|
|
||||||
$arr = [$company['user_id'], AccountLogEnum::UM_INC_TASK, AccountLogEnum::INC, $master_maoney_user, $data['sn'], $data['msg'] . '获得收益' . $master_maoney_user . '元', ['company_id' => $data['company_id'], 'proportion' => $proportion], $data['status']];
|
$arr = [$company['user_id'], AccountLogEnum::UM_INC_TASK, AccountLogEnum::INC, $master_maoney_user, $data['sn'], $data['msg'] . '获得收益' . $master_maoney_user . '元', ['company_id' => $data['company_id'], 'proportion' => $proportion], $data['status']];
|
||||||
$this->master($arr);
|
$this->master($arr);
|
||||||
$arr_two = [$company['user_id'], AccountLogEnum::UM_INC_TASKUSER, AccountLogEnum::INC, $master_maoney_user, $data['sn'], $data['msg'] . '获得账户余额' . $master_maoney_user . '元', ['company_id' => $data['company_id'], 'proportion' => $proportion], $data['status']];
|
$arr_two = [$company['user_id'], AccountLogEnum::UM_INC_TASKUSER, AccountLogEnum::INC, $master_maoney_user, $data['sn'], $data['msg'] . '获得账户余额' . $master_maoney_user . '元', ['company_id' => $data['company_id'], 'proportion' => $proportion], $data['status']];
|
||||||
@ -46,7 +50,52 @@ class ShareProfit
|
|||||||
$this->Account($arr_two);
|
$this->Account($arr_two);
|
||||||
}
|
}
|
||||||
//公司
|
//公司
|
||||||
Company::where('id', $data['company_id'])->update(['deposit'=>Db::raw('deposit+' . $master_maoney), 'company_money'=>Db::raw('company_money+' .$master_maoney)]);
|
if ($data['company_account_type'] == 1) {
|
||||||
|
$deposit_count = bcadd($company['deposit'], $master_maoney, 2);
|
||||||
|
$this->AccountLog($data['company_id'], $deposit_count, $master_maoney);
|
||||||
|
|
||||||
|
$company_money_count = bcadd($company['company_money'], $master_maoney, 2);
|
||||||
|
$this->AccountLog($data['company_id'], $company_money_count, $master_maoney);
|
||||||
|
|
||||||
|
Company::where('id', $data['company_id'])->update(['deposit' => Db::raw('deposit+' . $master_maoney), 'company_money' => Db::raw('company_money+' . $master_maoney)]);
|
||||||
|
} elseif ($data['company_account_type'] == 2) {
|
||||||
|
$company_money_count = bcadd($company['shareholder_money'], $data['money'], 2);
|
||||||
|
$this->AccountLog($data['company_id'], $company_money_count, $data['money'], 1, 2);
|
||||||
|
Company::where('id', $data['company_id'])->update([
|
||||||
|
'deposit' => Db::raw('deposit+' . $master_maoney),
|
||||||
|
'company_money' => Db::raw('company_money+' . $master_maoney),
|
||||||
|
'shareholder_money' => Db::raw('shareholder_money+' . $datas['template_info']['over_decimal'])
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($datas['template_info']['type']) && $datas['template_info']['type'] == 35) {
|
||||||
|
if ($company['responsible_area']) {
|
||||||
|
$responsible_area = explode(',', $company['responsible_area']);
|
||||||
|
} else {
|
||||||
|
Log::error('结算失败:没有区域' . json_encode($data));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$director_uid = Task::where('id', $datas['task_id'])->value('director_uid');
|
||||||
|
$shareholder_user = User::where('id', $director_uid)->field('id,nickname,brigade')->find();
|
||||||
|
$money = bcdiv($datas['template_info']['over_decimal'], count($responsible_area), 2);
|
||||||
|
$left_amount = 0;
|
||||||
|
foreach ($responsible_area as $kkk => $vvv) {
|
||||||
|
$left_amount += bcadd(1000, $money, 2);
|
||||||
|
$company_log = [
|
||||||
|
'sn' => generate_sn(UserAccountLog::class, 'sn', 20),
|
||||||
|
'company_id' => $datas['company_id'],
|
||||||
|
'change_object' => CompanyAccountLog::SHAREHOLDER, //变动对象
|
||||||
|
'change_type' => CompanyAccountLog::TASK_INC_SHAREHOLDER_MONEY, //变动类型
|
||||||
|
'action' => CompanyAccountLog::INC, //1-增加 2-减少
|
||||||
|
'left_amount' => $left_amount, //变动后数量
|
||||||
|
'change_amount' => $money, //变动数量
|
||||||
|
'remark' => $shareholder_user['nickname'] . '完成了' . $vvv . '队的股金:' . $money . '元',
|
||||||
|
'status' => 1,
|
||||||
|
];
|
||||||
|
CompanyAccountLog::create($company_log);
|
||||||
|
}
|
||||||
|
}
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return true;
|
return true;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
@ -56,6 +105,20 @@ class ShareProfit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function AccountLog($companyId, $left_amount, $changeAmount, $change_object = 1, $change_type = 1, $action = 1)
|
||||||
|
{
|
||||||
|
$company_log = [
|
||||||
|
'sn' => generate_sn(UserAccountLog::class, 'sn', 20),
|
||||||
|
'company_id' => $companyId,
|
||||||
|
'change_object' => $change_object, //变动对象
|
||||||
|
'change_type' => $change_type, //变动类型
|
||||||
|
'action' => $action, //1-增加 2-减少
|
||||||
|
'left_amount' => $left_amount, //变动后数量
|
||||||
|
'change_amount' => $changeAmount, //变动数量
|
||||||
|
'status' => 1,
|
||||||
|
];
|
||||||
|
CompanyAccountLog::create($company_log);
|
||||||
|
}
|
||||||
/**负责人的分润
|
/**负责人的分润
|
||||||
* @param $data
|
* @param $data
|
||||||
*/
|
*/
|
||||||
|
@ -17,6 +17,7 @@ namespace app\common\logic\task;
|
|||||||
|
|
||||||
use app\common\model\task\Task;
|
use app\common\model\task\Task;
|
||||||
use app\common\logic\BaseLogic;
|
use app\common\logic\BaseLogic;
|
||||||
|
use app\common\model\Company;
|
||||||
use app\common\model\informationg\UserInformationg;
|
use app\common\model\informationg\UserInformationg;
|
||||||
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
||||||
use app\common\model\task_template\TaskTemplate;
|
use app\common\model\task_template\TaskTemplate;
|
||||||
@ -70,20 +71,29 @@ class TaskLogic extends BaseLogic
|
|||||||
/**
|
/**
|
||||||
* 定时添加任务
|
* 定时添加任务
|
||||||
*/
|
*/
|
||||||
public static function CronAdd(array $v,$datas): bool
|
public static function CronAdd(array $v, $datas): bool
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$time=strtotime(date('Y-m-d'));
|
if ($v['types'] == 3) {
|
||||||
$TaskSchedulingPlan=TaskSchedulingPlan::create([
|
$task = Task::where('template_id', $v['id'])->find();
|
||||||
|
if ($task) {
|
||||||
|
Task::where('template_id', $v['id'])->update(['start_time' => $task['start_time'] + 86400, 'end_time' => $task['end_time'] + 86400]);
|
||||||
|
TaskTemplate::where('id', $v['id'])->inc('day_count')->update();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$time = strtotime(date('Y-m-d'));
|
||||||
|
$TaskSchedulingPlan_data = [
|
||||||
'create_user_id' => 0,
|
'create_user_id' => 0,
|
||||||
'company_id' => $v['company_id'],
|
'company_id' => $v['company_id'],
|
||||||
'template_id' => $v['id'],
|
'template_id' => $v['id'],
|
||||||
'scheduling_id' => $v['task_scheduling'],
|
'scheduling_id' => $v['task_scheduling'],
|
||||||
'start_time' => $time,
|
'start_time' => $time,
|
||||||
'end_time' => $time+86399,
|
'end_time' => $time + 86399,
|
||||||
'sn' =>User::createUserSn(),
|
'sn' => User::createUserSn(),
|
||||||
'status' => 1
|
'status' => 1
|
||||||
]);
|
];
|
||||||
|
$TaskSchedulingPlan = TaskSchedulingPlan::create($TaskSchedulingPlan_data);
|
||||||
$arr = [
|
$arr = [
|
||||||
'template_id' => $v['id'],
|
'template_id' => $v['id'],
|
||||||
'scheduling_plan_id' => $TaskSchedulingPlan['id'],
|
'scheduling_plan_id' => $TaskSchedulingPlan['id'],
|
||||||
@ -93,23 +103,23 @@ class TaskLogic extends BaseLogic
|
|||||||
'type' => $v['type'],
|
'type' => $v['type'],
|
||||||
'content' => $v['content'],
|
'content' => $v['content'],
|
||||||
'start_time' => $time,
|
'start_time' => $time,
|
||||||
'end_time' => $time+86399,
|
'end_time' => $time + 86399,
|
||||||
'create_time' => time(),
|
'create_time' => time(),
|
||||||
'update_time' => time(),
|
'update_time' => time(),
|
||||||
];
|
];
|
||||||
$data = $arr;
|
$data = $arr;
|
||||||
$data['money'] = self::task_money($v,$datas);
|
$data['money'] = self::task_money($v, $datas);
|
||||||
$data['extend'] = json_encode($v['extend']);
|
$data['extend'] = json_encode($v['extend']);
|
||||||
//信息更新
|
//信息更新
|
||||||
if ($v['type'] == 31) {
|
if ($v['type'] == 31) {
|
||||||
$finds=TaskTemplate::where('id', $v['id'])->field('information_count,information_day_count')->find();
|
$finds = TaskTemplate::where('id', $v['id'])->field('information_count,information_day_count')->find();
|
||||||
$update=0;
|
$update = 0;
|
||||||
if($finds['information_count']>$finds['information_day_count']){
|
if ($finds['information_count'] > $finds['information_day_count']) {
|
||||||
$day_count=$finds['information_count']-$finds['information_day_count'];
|
$day_count = $finds['information_count'] - $finds['information_day_count'];
|
||||||
if($day_count>=5){
|
if ($day_count >= 5) {
|
||||||
$update=5;
|
$update = 5;
|
||||||
}else{
|
} else {
|
||||||
$update=$day_count;
|
$update = $day_count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$data["extend"] = json_encode(['informationg' => ['count' => 5, 'update' => $update]]);
|
$data["extend"] = json_encode(['informationg' => ['count' => 5, 'update' => $update]]);
|
||||||
@ -118,39 +128,83 @@ class TaskLogic extends BaseLogic
|
|||||||
if ($v['type'] == 32) {
|
if ($v['type'] == 32) {
|
||||||
$data['director_uid'] = $datas['company_info']['user_id'];
|
$data['director_uid'] = $datas['company_info']['user_id'];
|
||||||
}
|
}
|
||||||
|
//入股任务
|
||||||
|
if ($v['type'] == 35) {
|
||||||
|
$responsible_area = Company::where('id', $v['company_id'])->value('responsible_area');
|
||||||
|
if ($responsible_area) {
|
||||||
|
$responsible_area = explode(',', $responsible_area);
|
||||||
|
} else {
|
||||||
|
Log::error('定时任务添加失败:没有区域' . json_encode($v));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (isset($v['extend']['shareholder'])) {
|
||||||
|
$shareholder_user = User::where('id', $v['extend']['shareholder']['user_id'])->field('id,nickname,brigade')->find();
|
||||||
|
|
||||||
|
$v['extend']['shareholder']['money'] = $v['recharge'];
|
||||||
|
$v['extend']['shareholder']['over_decimal'] = $v['over_decimal'];
|
||||||
|
foreach ($responsible_area as $kkk => $vvv) {
|
||||||
|
$v['extend']['shareholder']['user_list'][$kkk] = ['info' => $shareholder_user['nickname'] . '需缴纳' . $vvv . '队,股金:' . bcdiv($v['recharge'], count($responsible_area), 2), 'time' => $v['create_time']];
|
||||||
|
}
|
||||||
|
$data['director_uid'] = $v['extend']['shareholder']['user_id'];
|
||||||
|
}
|
||||||
|
$data['extend'] = json_encode($v['extend']);
|
||||||
|
$money_one = bcmul($v['stage_day_one'], $v['money'], 2);
|
||||||
|
$money_two = bcmul($v['stage_day_two'], $v['money_two'], 2);
|
||||||
|
$data['money'] = bcadd($money_one, $money_two);
|
||||||
|
}
|
||||||
|
//片区交易
|
||||||
|
if ($v['type'] == 33) {
|
||||||
|
//基础金额*(每日基户数*天数)//且户数小于公司总户数
|
||||||
|
$user_count = UserInformationg::where('company_id', $v['company_id'])->count();
|
||||||
|
//
|
||||||
|
if ($v['day_count'] == 0) {
|
||||||
|
$user_count_two = 5 * 1;
|
||||||
|
} else {
|
||||||
|
$user_count_two = 5 * $v['day_count'];
|
||||||
|
}
|
||||||
|
if ($user_count_two > $user_count) {
|
||||||
|
$user_count_money = 58 * $user_count;
|
||||||
|
} else {
|
||||||
|
$user_count_money = 58 * $user_count_two;
|
||||||
|
}
|
||||||
|
$extend = [
|
||||||
|
'transaction' => ['arr' => ['day_money' => $user_count_money, 'total_price' => 0]]
|
||||||
|
];
|
||||||
|
$data['extend'] = json_encode($extend);
|
||||||
|
}
|
||||||
$task_id = (new Task())->insertGetId($data);
|
$task_id = (new Task())->insertGetId($data);
|
||||||
TaskSchedulingPlan::where('id', $TaskSchedulingPlan['id'])->update(['task_id' => $task_id, 'is_execute' => 1]);
|
TaskSchedulingPlan::where('id', $TaskSchedulingPlan['id'])->update(['task_id' => $task_id, 'is_execute' => 1]);
|
||||||
// TaskTemplate::where('id', $v['id'])->update(['cron_time' => time()]);
|
TaskTemplate::where('id', $v['id'])->inc('day_count')->update();
|
||||||
return true;
|
return true;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
Log::error('定时任务添加失败', [$e->getMessage()]);
|
Log::error('定时任务添加失败'.$e->getMessage().'line'.$e->getLine());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//任务金额
|
//任务金额
|
||||||
private static function task_money($v,$datas)
|
private static function task_money($v, $datas)
|
||||||
{
|
{
|
||||||
if ($v['types'] == 1 || $v['types'] == 3) {
|
if ($v['types'] == 1 || $v['types'] == 3) {
|
||||||
if ($datas['company_info'] && $datas['company_info']['day_count'] <= $v['stage_day_one']) {
|
if ($v['day_count'] <= $v['stage_day_one']) {
|
||||||
return $v['money'];
|
return $v['money'];
|
||||||
} else {
|
} else {
|
||||||
return $v['money_two'];
|
return $v['money_two'];
|
||||||
}
|
}
|
||||||
} elseif ($v['types'] == 2) {
|
} elseif ($v['types'] == 2) {
|
||||||
if ($datas['company_info']['day_count'] <= $v['stage_day_one']) {
|
if ($v['day_count'] <= $v['stage_day_one']) {
|
||||||
return $v['money'];
|
return $v['money'];
|
||||||
} elseif ($datas['company_info']['day_count'] <= $v['stage_day_two']) {
|
} elseif ($v['day_count'] <= $v['stage_day_two']) {
|
||||||
return $v['money_two'];
|
return $v['money_two'];
|
||||||
} else {
|
} else {
|
||||||
return $v['money_three'];
|
return $v['money_three'];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( $datas['company_info']['day_count'] <= $v['stage_day_one']) {
|
if ($v['day_count'] <= $v['stage_day_one']) {
|
||||||
$a = $v['money'];
|
$a = $v['money'];
|
||||||
} else {
|
} else {
|
||||||
$a = $v['money_two'];
|
$a = $v['money_two'];
|
||||||
}
|
}
|
||||||
if ($datas['company_info'] && $datas['company_info']['day_count'] >= $v['stage_day_two']) {
|
if ($v['day_count'] >= $v['stage_day_two']) {
|
||||||
TaskTemplate::where('id', $v['id'])->update(['status' => 0]);
|
TaskTemplate::where('id', $v['id'])->update(['status' => 0]);
|
||||||
}
|
}
|
||||||
return $a;
|
return $a;
|
||||||
|
@ -62,12 +62,12 @@ class TaskTemplateLogic extends BaseLogic
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$money_two=TaskTemplate::where('company_id', $params['company_id'])->sum('money_two');
|
$money_two=TaskTemplate::where('company_id', $params['company_id'])->sum('money_two');
|
||||||
if($money_two+$params['money']>200){
|
if($money_two+$params['money_two']>200){
|
||||||
self::setError('任务模板二阶段合计金额不能大于任务调度金额');
|
self::setError('任务模板二阶段合计金额不能大于任务调度金额');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$money_three=TaskTemplate::where('company_id', $params['company_id'])->sum('money_three');
|
$money_three=TaskTemplate::where('company_id', $params['company_id'])->sum('money_three');
|
||||||
if($money_three+$params['money']>200){
|
if($money_three+$params['money_three']>200){
|
||||||
self::setError('任务模板长期合计金额不能大于任务调度金额');
|
self::setError('任务模板长期合计金额不能大于任务调度金额');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -81,6 +81,9 @@ class TaskTemplateLogic extends BaseLogic
|
|||||||
if($params['types']!=33){
|
if($params['types']!=33){
|
||||||
$params['money_three']=0;
|
$params['money_three']=0;
|
||||||
}
|
}
|
||||||
|
if($params['type']==35){
|
||||||
|
$params['extend']=['shareholder'=>['user_id'=>$params['task_admin']]];
|
||||||
|
}
|
||||||
TaskTemplate::create([
|
TaskTemplate::create([
|
||||||
'title' => $params['title'],
|
'title' => $params['title'],
|
||||||
'admin_id' => $params['admin_id'],
|
'admin_id' => $params['admin_id'],
|
||||||
@ -98,6 +101,7 @@ class TaskTemplateLogic extends BaseLogic
|
|||||||
'proportion_one' => $params['proportion_one']??0,
|
'proportion_one' => $params['proportion_one']??0,
|
||||||
'stage_day_two' => $params['stage_day_two']??0,
|
'stage_day_two' => $params['stage_day_two']??0,
|
||||||
'proportion_two' => $params['proportion_two']??0,
|
'proportion_two' => $params['proportion_two']??0,
|
||||||
|
'recharge' => $params['recharge']??0,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Db::commit();
|
Db::commit();
|
||||||
@ -121,7 +125,7 @@ class TaskTemplateLogic extends BaseLogic
|
|||||||
{
|
{
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
$find=TaskTemplate::where('task_scheduling', $params['task_scheduling'])->where('company_id',$params['company_id'])->where('type',$params['type'])->field('id,types,type')->find();
|
$find=TaskTemplate::where('task_scheduling', $params['task_scheduling'])->where('company_id',$params['company_id'])->where('type',$params['type'])->field('id,types,type,money,money_two,money_three')->find();
|
||||||
if($find && $find['id']!=$params['id']&&$params['type']==$find['type']){
|
if($find && $find['id']!=$params['id']&&$params['type']==$find['type']){
|
||||||
self::setError('已经有同一种任务类型了');
|
self::setError('已经有同一种任务类型了');
|
||||||
return false;
|
return false;
|
||||||
@ -134,17 +138,17 @@ class TaskTemplateLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$moeny=TaskTemplate::where('company_id', $params['company_id'])->sum('money');
|
$moeny=TaskTemplate::where('company_id', $params['company_id'])->sum('money');
|
||||||
if($moeny+$params['money']>200){
|
if($moeny+$params['money']-$find['money']>200){
|
||||||
self::setError('任务模板一阶段合计金额不能大于任务调度金额');
|
self::setError('任务模板一阶段合计金额不能大于任务调度金额');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$money_two=TaskTemplate::where('company_id', $params['company_id'])->sum('money_two');
|
$money_two=TaskTemplate::where('company_id', $params['company_id'])->sum('money_two');
|
||||||
if($money_two+$params['money']>200){
|
if($money_two+$params['money_two']-$find['money_two']>200){
|
||||||
self::setError('任务模板二阶段合计金额不能大于任务调度金额');
|
self::setError('任务模板二阶段合计金额不能大于任务调度金额');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$money_three=TaskTemplate::where('company_id', $params['company_id'])->sum('money_three');
|
$money_three=TaskTemplate::where('company_id', $params['company_id'])->sum('money_three');
|
||||||
if($money_three+$params['money']>200){
|
if($money_three+$params['money_three']-$find['money_three']>200){
|
||||||
self::setError('任务模板长期合计金额不能大于任务调度金额');
|
self::setError('任务模板长期合计金额不能大于任务调度金额');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -158,6 +162,9 @@ class TaskTemplateLogic extends BaseLogic
|
|||||||
if($params['types']!=33){
|
if($params['types']!=33){
|
||||||
$params['money_three']=0;
|
$params['money_three']=0;
|
||||||
}
|
}
|
||||||
|
if($params['type']==35){
|
||||||
|
$params['extend']=['shareholder'=>['user_id'=>$params['task_admin']]];
|
||||||
|
}
|
||||||
TaskTemplate::where('id', $params['id'])->update([
|
TaskTemplate::where('id', $params['id'])->update([
|
||||||
'title' => $params['title'],
|
'title' => $params['title'],
|
||||||
'admin_id' => $params['admin_id'],
|
'admin_id' => $params['admin_id'],
|
||||||
@ -173,6 +180,7 @@ class TaskTemplateLogic extends BaseLogic
|
|||||||
'proportion_one' => $params['proportion_one']??0,
|
'proportion_one' => $params['proportion_one']??0,
|
||||||
'stage_day_two' => $params['stage_day_two']??0,
|
'stage_day_two' => $params['stage_day_two']??0,
|
||||||
'proportion_two' => $params['proportion_two']??0,
|
'proportion_two' => $params['proportion_two']??0,
|
||||||
|
'recharge' => $params['recharge']??0,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Db::commit();
|
Db::commit();
|
||||||
|
@ -1,123 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace app\common\logic\vehicle;
|
|
||||||
|
|
||||||
use app\common\logic\BaseLogic;
|
|
||||||
use app\common\model\Company;
|
|
||||||
use app\common\model\contract\Contract;
|
|
||||||
use Exception;
|
|
||||||
use think\facade\Db;
|
|
||||||
|
|
||||||
class VehicleLogic extends BaseLogic
|
|
||||||
{
|
|
||||||
public static string $url = 'http://logistics.lihaink.cn';
|
|
||||||
// public static string $url = 'http://www.lst.local';
|
|
||||||
public static function initiate_contract($data):array {
|
|
||||||
$party_b = Company::field('company_type')->where('id',$data['party_b'])->find();
|
|
||||||
if($data['rent_type'] == 1){
|
|
||||||
//镇街公司
|
|
||||||
if($party_b['company_type'] != 16){
|
|
||||||
return ['code'=>0,'msg'=>'非镇街公司不能签约'];
|
|
||||||
}
|
|
||||||
}elseif($data['rent_type'] == 2){
|
|
||||||
//小组服务公司
|
|
||||||
if($party_b['company_type'] != 18){
|
|
||||||
return ['code'=>0,'msg'=>'非小组服务公司不能签约'];
|
|
||||||
}
|
|
||||||
//判断小组服务公司是否添加了自有车辆
|
|
||||||
$selfCar = curl_post(self::$url.'/api/getSelfCar',[],['company_id'=>$data['party_b']]);
|
|
||||||
if($selfCar && $selfCar['data']['has_car']){
|
|
||||||
return ['code'=>0,'msg'=>'已上传自有车辆不能签约'];
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
return ['code'=>0,'msg'=>'参数错误'];
|
|
||||||
}
|
|
||||||
Db::startTrans();
|
|
||||||
try {
|
|
||||||
$contract = Contract::create([
|
|
||||||
'admin_id' => 0,
|
|
||||||
'company_id' =>0,
|
|
||||||
'contract_type' => 29,
|
|
||||||
'file' => '',
|
|
||||||
'contract_no' => time(),
|
|
||||||
'create_time' => time(),
|
|
||||||
'update_time' => time(),
|
|
||||||
'check_status' => 1,
|
|
||||||
'party_a' => $data['party_a'],
|
|
||||||
'party_b' => $data['party_b'],
|
|
||||||
'area_manager' => 0,
|
|
||||||
'type' => 1,
|
|
||||||
]);
|
|
||||||
$vehicleRent = Db::name('vehicle_rent')->insert([
|
|
||||||
'car_ids' => $data['car_ids'],
|
|
||||||
'contract_id' => $contract->id,
|
|
||||||
'party_a' => $data['party_a'],
|
|
||||||
'party_b' => $data['party_b'],
|
|
||||||
'num' => $data['num'],
|
|
||||||
'rent_type' => $data['rent_type'],
|
|
||||||
'status' => 1,
|
|
||||||
'create_time' => time(),
|
|
||||||
'update_time' => time(),
|
|
||||||
]);
|
|
||||||
if($contract->id && $vehicleRent) {
|
|
||||||
Db::commit();
|
|
||||||
return ['code'=>1,'msg'=>'发起成功,等待平台风控部上传合同','data'=>['id'=>$contract->id]];
|
|
||||||
}else{
|
|
||||||
Db::rollback();
|
|
||||||
return ['code'=>0,'msg'=>'发起失败,请稍后重试'];
|
|
||||||
}
|
|
||||||
}catch (Exception $e) {
|
|
||||||
Db::rollback();
|
|
||||||
return ['code'=>0,'msg'=>$e->getMessage()];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function townCompanyCarList($params):array {
|
|
||||||
//请求物流系统获取车辆详情
|
|
||||||
$result = curl_post(self::$url.'/api/companyCarList',[],$params);
|
|
||||||
if($result && $result['code'] == 1){
|
|
||||||
foreach ($result['data'] as $k=>$v){
|
|
||||||
if($v['lessee_two_flag'] == 1){
|
|
||||||
$lessee_two_company = Company::where('id','lessee_two_company_id')->find();
|
|
||||||
$result['data'][$k]['lessee_two_company_address'] = $lessee_two_company['address'];
|
|
||||||
}else{
|
|
||||||
$result['data'][$k]['lessee_two_company_address'] = '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ['code'=>1,'msg'=>'请求成功','data'=>$result['data']];
|
|
||||||
}else{
|
|
||||||
return ['code'=>0,'msg'=>'请求失败'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function villageCompanyCar($company_id):array {
|
|
||||||
$result = curl_post(self::$url.'/api/companyCar',[],['company_id'=>$company_id]);
|
|
||||||
//返回数据
|
|
||||||
if($result && $result['code'] == 1){
|
|
||||||
if($result['data']['type'] == 1 && $result['data']['lessee_two_flag'] == 1){
|
|
||||||
$lessee_two_company = Company::where('id','lessee_two_company_id')->find();
|
|
||||||
$result['data']['lessee_two_company_address'] = $lessee_two_company['address'];
|
|
||||||
}
|
|
||||||
if($result['data']['type'] == 2){
|
|
||||||
$lessee_two_company = Company::where('id',$result['data']['company_id'])->find();
|
|
||||||
$result['data']['lessee_two_company_address'] = $lessee_two_company['address'];
|
|
||||||
}
|
|
||||||
return ['code'=>1,'msg'=>'请求成功','data'=>$result['data']];
|
|
||||||
}else{
|
|
||||||
return ['code'=>0,'msg'=>'请求失败'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function addCar($params):array {
|
|
||||||
$company = Company::field('company_type')->where('id',$params['company_id'])->find();
|
|
||||||
if($company['company_type'] != 18){
|
|
||||||
return ['code'=>0,'msg'=>'非小组服务公司不能添加车辆'];
|
|
||||||
}
|
|
||||||
$result = curl_post(self::$url.'/api/addVehicle',[],$params);
|
|
||||||
if($result && $result['code'] == 1){
|
|
||||||
return ['code'=>1,'msg'=>$result['msg']];
|
|
||||||
}else{
|
|
||||||
return ['code'=>0,'msg'=>$result['msg']];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
34
app/common/model/AppUpdate.php
Normal file
34
app/common/model/AppUpdate.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | 开源版本可自由商用,可去除界面版权logo
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||||
|
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||||
|
// | 访问官网:https://www.likeadmin.cn
|
||||||
|
// | likeadmin团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeadminTeam
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace app\common\model;
|
||||||
|
|
||||||
|
|
||||||
|
use app\common\model\BaseModel;
|
||||||
|
use think\model\concern\SoftDelete;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* app更新模型
|
||||||
|
* Class AppUpdate
|
||||||
|
* @package app\common\model
|
||||||
|
*/
|
||||||
|
class AppUpdate extends BaseModel
|
||||||
|
{
|
||||||
|
use SoftDelete;
|
||||||
|
protected $name = 'app_update';
|
||||||
|
protected $deleteTime = 'delete_time';
|
||||||
|
|
||||||
|
|
||||||
|
}
|
86
app/common/model/company/CompanyAccountLog.php
Normal file
86
app/common/model/company/CompanyAccountLog.php
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | 开源版本可自由商用,可去除界面版权logo
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||||
|
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||||
|
// | 访问官网:https://www.likeadmin.cn
|
||||||
|
// | likeadmin团队 版权所有 拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeadminTeam
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace app\common\model\company;
|
||||||
|
|
||||||
|
use think\model\concern\SoftDelete;
|
||||||
|
use app\common\model\BaseModel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公司流水模型
|
||||||
|
* Class CompanyProperty
|
||||||
|
* @package app\common\model
|
||||||
|
*/
|
||||||
|
class CompanyAccountLog extends BaseModel
|
||||||
|
{
|
||||||
|
use SoftDelete;
|
||||||
|
|
||||||
|
protected $deleteTime = 'delete_time';
|
||||||
|
/**
|
||||||
|
* 变动类型命名规则:对象_动作_简洁描述
|
||||||
|
* 动作 DEC-减少 INC-增加
|
||||||
|
* 对象 TASK 任务金额
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 变动对象
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 金额
|
||||||
|
*/
|
||||||
|
const TASK = 1;
|
||||||
|
/**
|
||||||
|
* 股金
|
||||||
|
*/
|
||||||
|
const SHAREHOLDER = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 动作
|
||||||
|
* INC 增加
|
||||||
|
* DEC 减少
|
||||||
|
*/
|
||||||
|
const INC = 1;
|
||||||
|
const DEC = 2;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户余额减少类型
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 任务
|
||||||
|
*/
|
||||||
|
const TASK_DEC_DEPOSIT = 100;
|
||||||
|
/**
|
||||||
|
* 股金
|
||||||
|
*/
|
||||||
|
const SHAREHOLDER_DEC_DEPOSIT = 101;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户余额增加类型
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保证金
|
||||||
|
*/
|
||||||
|
const TASK_INC_DEPOSIT = 200;
|
||||||
|
/**
|
||||||
|
* 收益
|
||||||
|
*/
|
||||||
|
const TASK_INC_COMPANY_MONEY = 201;
|
||||||
|
/**
|
||||||
|
* 股金
|
||||||
|
*/
|
||||||
|
const TASK_INC_SHAREHOLDER_MONEY = 202;
|
||||||
|
|
||||||
|
}
|
10
app/common/model/contract/VehicleContract.php
Normal file
10
app/common/model/contract/VehicleContract.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\common\model\contract;
|
||||||
|
|
||||||
|
use app\common\model\BaseModel;
|
||||||
|
|
||||||
|
class VehicleContract extends BaseModel
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -29,7 +29,13 @@ class RechargeOrder extends BaseModel
|
|||||||
|
|
||||||
protected $deleteTime = 'delete_time';
|
protected $deleteTime = 'delete_time';
|
||||||
|
|
||||||
|
public function getExtendAttr($value){
|
||||||
|
if($value){
|
||||||
|
return json_decode($value, true);
|
||||||
|
}else{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* @notes 支付方式
|
* @notes 支付方式
|
||||||
* @param $value
|
* @param $value
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
namespace app\common\model\user;
|
namespace app\common\model\user;
|
||||||
|
|
||||||
use app\common\model\BaseModel;
|
use app\common\model\BaseModel;
|
||||||
|
use app\common\model\Company;
|
||||||
use think\model\concern\SoftDelete;
|
use think\model\concern\SoftDelete;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -30,6 +31,10 @@ class UserAccountLog extends BaseModel
|
|||||||
|
|
||||||
public function userInfo()
|
public function userInfo()
|
||||||
{
|
{
|
||||||
return $this->hasOne(User::class, 'id', 'user_id')->field('id,nickname');
|
return $this->hasOne(User::class, 'id', 'user_id')->field('id,nickname,avatar,sn,mobile,group_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function companyInfo(){
|
||||||
|
return $this->hasOne(Company::class, 'id', 'company_id')->field('id,company_name');
|
||||||
}
|
}
|
||||||
}
|
}
|
15
app/common/model/vehicle/VehicleRent.php
Normal file
15
app/common/model/vehicle/VehicleRent.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\common\model\vehicle;
|
||||||
|
|
||||||
|
use app\common\model\BaseModel;
|
||||||
|
|
||||||
|
class VehicleRent extends BaseModel
|
||||||
|
{
|
||||||
|
protected $name = 'vehicle_rent';
|
||||||
|
|
||||||
|
public function getRentTimeAttr($value): string
|
||||||
|
{
|
||||||
|
return !empty($value) ? date('Y-m-d H:i:s',$value) : '';
|
||||||
|
}
|
||||||
|
}
|
11
app/common/model/vehicle/VehicleVillageApply.php
Normal file
11
app/common/model/vehicle/VehicleVillageApply.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\common\model\vehicle;
|
||||||
|
|
||||||
|
use app\common\model\BaseModel;
|
||||||
|
|
||||||
|
class VehicleVillageApply extends BaseModel
|
||||||
|
{
|
||||||
|
|
||||||
|
protected $name = 'vehicle_village_apply';
|
||||||
|
}
|
@ -5,13 +5,12 @@ namespace app\job;
|
|||||||
use app\api\controller\RemoteController;
|
use app\api\controller\RemoteController;
|
||||||
use app\common\logic\finance\ShareProfit;
|
use app\common\logic\finance\ShareProfit;
|
||||||
use app\common\model\task\Task;
|
use app\common\model\task\Task;
|
||||||
use Symfony\Component\HttpClient\HttpClient;
|
|
||||||
use think\queue\Job;
|
use think\queue\Job;
|
||||||
use think\facade\Log;
|
use think\facade\Log;
|
||||||
use app\common\model\Company;
|
use app\common\model\Company;
|
||||||
use app\common\model\informationg\UserInformationg;
|
|
||||||
use think\facade\App;
|
|
||||||
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
||||||
|
use app\common\model\task_template\TaskTemplate;
|
||||||
|
use think\facade\Db;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务结算执行的具体逻辑
|
* 任务结算执行的具体逻辑
|
||||||
@ -26,8 +25,9 @@ class TaskInformationJob
|
|||||||
// }
|
// }
|
||||||
try {
|
try {
|
||||||
TaskSchedulingPlan::where('id', $data['id'])->update(['is_pay' => 1]);
|
TaskSchedulingPlan::where('id', $data['id'])->update(['is_pay' => 1]);
|
||||||
$company = Company::where('id', $data['company_id'])->field('id,deposit,company_money,user_id,day_count,company_type,province,city,area,street,village,brigade')->find(); // 可能要判断预存金是否满足
|
$company = Company::where('id', $data['company_id'])->field('id,deposit,responsible_area,company_money,shareholder_money,user_id,day_count,company_type,province,city,area,street,village,brigade')->find(); // 可能要判断预存金是否满足
|
||||||
$arr['status'] = 0;
|
$arr['status'] = 0;
|
||||||
|
$arr['company_account_type'] = 1;
|
||||||
//信息更新
|
//信息更新
|
||||||
if ($data['template_info']['type'] == 31) {
|
if ($data['template_info']['type'] == 31) {
|
||||||
if ($data['template_info']['information_count'] < $data['template_info']['information_day_count']) {
|
if ($data['template_info']['information_count'] < $data['template_info']['information_day_count']) {
|
||||||
@ -49,8 +49,20 @@ class TaskInformationJob
|
|||||||
Task::where('id', $data['task_id'])->update(['status' => 5]);
|
Task::where('id', $data['task_id'])->update(['status' => 5]);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
$transaction_pool=$data['template_info']['transaction_pool'];//交易金额剩余池
|
||||||
|
if(bcadd($shang_date_total_price['arr']['total_price'],$transaction_pool,2)>$shang_date_total_price['arr']['day_money']){
|
||||||
if($shang_date_total_price['arr']['total_price']>$shang_date_total_price['arr']['day_money']){
|
if($shang_date_total_price['arr']['total_price']>$shang_date_total_price['arr']['day_money']){
|
||||||
|
$day_money=bcsub($shang_date_total_price['arr']['total_price'],$shang_date_total_price['arr']['day_money'],2);//当天还剩多少
|
||||||
|
$shang_date_total_price['arr']['supplement']=$day_money;
|
||||||
|
}else{
|
||||||
|
$shang_date_total_price['arr']['supplement']=0;
|
||||||
|
$shang_date_total_price['arr']['after_transaction_pool']=0;
|
||||||
|
$day_money=0;
|
||||||
|
}
|
||||||
|
$shang_date_total_price['arr']['before_transaction_pool']=$day_money;
|
||||||
Task::where('id', $data['task_id'])->update(['status' => 3,'extend'=>json_encode($shang_date_total_price)]);
|
Task::where('id', $data['task_id'])->update(['status' => 3,'extend'=>json_encode($shang_date_total_price)]);
|
||||||
|
TaskTemplate::where('id',$data['template_info']['id'])->update(['transaction_pool'=>bcadd($transaction_pool,$day_money,2)]);
|
||||||
|
$shang_date_total_price['arr']['status']=1;
|
||||||
}
|
}
|
||||||
$name = $shang_date_total_price['name'];
|
$name = $shang_date_total_price['name'];
|
||||||
$arr['status'] = $shang_date_total_price['arr']['status'];
|
$arr['status'] = $shang_date_total_price['arr']['status'];
|
||||||
@ -68,6 +80,33 @@ class TaskInformationJob
|
|||||||
$name=$task['director_info']['nickname'];
|
$name=$task['director_info']['nickname'];
|
||||||
$arr['status'] = 1;
|
$arr['status'] = 1;
|
||||||
$arr['money'] = $task['money'];
|
$arr['money'] = $task['money'];
|
||||||
|
}elseif
|
||||||
|
//入股任务
|
||||||
|
($data['template_info']['type'] == 35){
|
||||||
|
$task_35 = Task::where('id', $data['task_id'])->field('director_uid,status,money')->with('director_info')->find();
|
||||||
|
if($task_35){
|
||||||
|
$day= $data['template_info']['stage_day_one'] + $data['template_info']['stage_day_two'];
|
||||||
|
if($task_35['status']==3 && $data['template_info']['day_count']<=$day){
|
||||||
|
$name = $task_35['director_info']['nickname'];
|
||||||
|
$arr['status'] = 1;
|
||||||
|
$arr['money'] = $task_35['money'];
|
||||||
|
$arr['company_account_type'] = 2;
|
||||||
|
}else{
|
||||||
|
if($data['template_info']['day_count']<=$day){
|
||||||
|
$time = strtotime(date('Y-m-d'));
|
||||||
|
Task::where('id', $data['task_id'])->update(['create_time' => $time,'end_time' => $time + 86399,'start_time'=>$time,'end_time'=> $time + 86399]);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if($data['template_info']['day_count']>$day){
|
||||||
|
Task::where('id', $data['task_id'])->update(['status' =>5]);
|
||||||
|
Log::info('入股任务 ' . $data['template_info']['title'] . '结算失败,任务为超时:' . json_encode($data));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
Log::info('入股任务 ' . $data['template_info']['title'] . '结算失败,任务为空:' . json_encode($data));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//其他类型任务
|
//其他类型任务
|
||||||
@ -81,21 +120,20 @@ class TaskInformationJob
|
|||||||
$arr['status'] = 1;
|
$arr['status'] = 1;
|
||||||
$arr['money'] = $task_count['money'];
|
$arr['money'] = $task_count['money'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$arr['company_id'] = $data['scheduling']['company_id'];
|
|
||||||
$arr['msg'] = '来自任务【' . $data['template_info']['title'] . '】,完成方:' . $name . ',任务结算';
|
|
||||||
$arr['proportion_one'] = $data['template_info']['proportion_one'];
|
|
||||||
$arr['proportion_two'] = $data['template_info']['proportion_two'];
|
|
||||||
$arr['sn'] = $data['sn'];
|
|
||||||
$arr['id'] = $data['id'];
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
Log::error('异常报错:任务结算失败:' . $data['template_info']['title'] . $e->getMessage() . json_encode($data));
|
Log::error('line:'.$e->getLine().'异常报错:任务结算失败:' . $data['template_info']['title'] . $e->getMessage() . json_encode($data));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ($arr['status'] == 1) {
|
if ($arr['status'] == 1) {
|
||||||
(new ShareProfit())->first($arr, $company);
|
$arr['company_id'] = $data['scheduling']['company_id'];
|
||||||
|
$arr['msg'] = '来自任务【' . $data['template_info']['title'] . '】,完成方:' . $name . ',任务结算';
|
||||||
|
// $arr['proportion_one'] = $data['template_info']['proportion_one'];
|
||||||
|
// $arr['proportion_two'] = $data['template_info']['proportion_two'];
|
||||||
|
$arr['sn'] = $data['sn'];
|
||||||
|
$arr['id'] = $data['id'];
|
||||||
|
(new ShareProfit())->first($arr, $company,$data);
|
||||||
} else {
|
} else {
|
||||||
Task::where('id', $data['task_id'])->update(['status' => 5,'extend'=>json_encode($shang_date_total_price)]);
|
Task::where('id', $data['task_id'])->update(['status' => 5]);
|
||||||
Log::info('任务status=0结算失败:' . $data['template_info']['title'] . '未完成' . json_encode($data));
|
Log::info('任务status=0结算失败:' . $data['template_info']['title'] . '未完成' . json_encode($data));
|
||||||
}
|
}
|
||||||
//如果任务执行成功后 记得删除任务,不然这个任务会重复执行,直到达到最大重试次数后失败后,执行failed方法
|
//如果任务执行成功后 记得删除任务,不然这个任务会重复执行,直到达到最大重试次数后失败后,执行failed方法
|
||||||
|
@ -16,8 +16,8 @@ class TaskCron extends Task
|
|||||||
|
|
||||||
public function configure()
|
public function configure()
|
||||||
{
|
{
|
||||||
// $this->daily(); //设置任务的周期,每天执行一次,更多的方法可以查看源代码,都有注释
|
$this->daily(); //设置任务的周期,每天执行一次,更多的方法可以查看源代码,都有注释
|
||||||
$this->everyMinute();//每分钟
|
// $this->everyMinute();//每分钟
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 执行任务
|
* 执行任务
|
||||||
@ -49,7 +49,7 @@ class TaskCron extends Task
|
|||||||
}
|
}
|
||||||
Company::where('id', 'in', $company_id)->inc('day_count')->update();
|
Company::where('id', 'in', $company_id)->inc('day_count')->update();
|
||||||
TaskScheduling::where('id', 'in', $plan_ids)->update(['cron_time' => time()]);
|
TaskScheduling::where('id', 'in', $plan_ids)->update(['cron_time' => time()]);
|
||||||
Log::error('定时任务下发执行成功' . date('Y-m-d H:i:s'));
|
Log::info('定时任务下发执行成功' . date('Y-m-d H:i:s'));
|
||||||
//...具体的任务执行
|
//...具体的任务执行
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,7 +35,8 @@
|
|||||||
"rmccue/requests": "^2.0",
|
"rmccue/requests": "^2.0",
|
||||||
"w7corp/easywechat": "^6.8",
|
"w7corp/easywechat": "^6.8",
|
||||||
"yunwuxin/think-cron": "^3.0",
|
"yunwuxin/think-cron": "^3.0",
|
||||||
"topthink/think-queue": "^3.0"
|
"topthink/think-queue": "^3.0",
|
||||||
|
"firebase/php-jwt": "^6.8"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/var-dumper": "^4.2",
|
"symfony/var-dumper": "^4.2",
|
||||||
|
86
composer.lock
generated
86
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "90f60bd55476b5210a9bd6fa3ad453eb",
|
"content-hash": "fdd9d31f9958a1263e4623ab634b9cc9",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "adbario/php-dot-notation",
|
"name": "adbario/php-dot-notation",
|
||||||
@ -331,37 +331,6 @@
|
|||||||
],
|
],
|
||||||
"time": "2022-01-18T15:43:28+00:00"
|
"time": "2022-01-18T15:43:28+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ebaoquan/junziqian_sdk",
|
|
||||||
"version": "2.0.3",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://gitee.com/ebaoquan/jzq_sdk_php.git",
|
|
||||||
"reference": "1294ea49ff9ecc4532821f8798304816cbf8dd74"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"ext-curl": "*",
|
|
||||||
"ext-iconv": "*",
|
|
||||||
"ext-json": "*",
|
|
||||||
"php": ">=5.6"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"com\\junziqian\\sdk\\": "src/com/junziqian/sdk"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "huhu",
|
|
||||||
"email": "3811970@qq.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "php ebaoquan/junziqian_sdk",
|
|
||||||
"homepage": "https://gitee.com/ebaoquan/jzq_sdk_php.git",
|
|
||||||
"time": "2021-08-18T07:45:10+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "ezyang/htmlpurifier",
|
"name": "ezyang/htmlpurifier",
|
||||||
"version": "v4.16.0",
|
"version": "v4.16.0",
|
||||||
@ -429,6 +398,59 @@
|
|||||||
},
|
},
|
||||||
"time": "2022-09-18T07:06:19+00:00"
|
"time": "2022-09-18T07:06:19+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "firebase/php-jwt",
|
||||||
|
"version": "v6.8.1",
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://mirrors.tencent.com/repository/composer/firebase/php-jwt/v6.8.1/firebase-php-jwt-v6.8.1.zip",
|
||||||
|
"reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.4||^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"guzzlehttp/guzzle": "^6.5||^7.4",
|
||||||
|
"phpspec/prophecy-phpunit": "^2.0",
|
||||||
|
"phpunit/phpunit": "^9.5",
|
||||||
|
"psr/cache": "^1.0||^2.0",
|
||||||
|
"psr/http-client": "^1.0",
|
||||||
|
"psr/http-factory": "^1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-sodium": "Support EdDSA (Ed25519) signatures",
|
||||||
|
"paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Firebase\\JWT\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Neuman Vong",
|
||||||
|
"email": "neuman+pear@twilio.com",
|
||||||
|
"role": "Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Anant Narayanan",
|
||||||
|
"email": "anant@php.net",
|
||||||
|
"role": "Developer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
|
||||||
|
"homepage": "https://github.com/firebase/php-jwt",
|
||||||
|
"keywords": [
|
||||||
|
"jwt",
|
||||||
|
"php"
|
||||||
|
],
|
||||||
|
"time": "2023-07-14T18:33:00+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/command",
|
"name": "guzzlehttp/command",
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
|
@ -76,7 +76,7 @@ return [
|
|||||||
|
|
||||||
// 文件上传限制 (文件)
|
// 文件上传限制 (文件)
|
||||||
'file_file' => [
|
'file_file' => [
|
||||||
'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'txt'
|
'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'txt','apk','ipa','wgt'
|
||||||
],
|
],
|
||||||
|
|
||||||
// 登录设置
|
// 登录设置
|
||||||
|
@ -5,6 +5,8 @@ namespace junziqian\sdk\util;
|
|||||||
|
|
||||||
use junziqian\sdk\util\exception\ResultInfoException;
|
use junziqian\sdk\util\exception\ResultInfoException;
|
||||||
use junziqian\sdk\util\http\HttpClientUtils;
|
use junziqian\sdk\util\http\HttpClientUtils;
|
||||||
|
use think\facade\Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class RequestUtils http请求
|
* Class RequestUtils http请求
|
||||||
* @package com\junziqian\sdk\bean
|
* @package com\junziqian\sdk\bean
|
||||||
@ -54,13 +56,15 @@ class RequestUtils{
|
|||||||
$req=Array();
|
$req=Array();
|
||||||
}else if(is_array($req)){
|
}else if(is_array($req)){
|
||||||
//
|
//
|
||||||
}else if(is_a($req,"com\junziqian\sdk\bean\Req2MapInterface")){
|
}else if(is_a($req,"junziqian\sdk\bean\Req2MapInterface")){
|
||||||
$req=$req->build();
|
$req=$req->build();
|
||||||
}else{
|
}else{
|
||||||
throw new ResultInfoException("不支持的请求req");
|
throw new ResultInfoException("不支持的请求req");
|
||||||
}
|
}
|
||||||
$req=$this->fillSign($req);
|
$req=$this->fillSign($req);
|
||||||
|
// Log::error([$url,json_encode($req)]);
|
||||||
//请求服务端sass
|
//请求服务端sass
|
||||||
|
// halt($url,$req);
|
||||||
//print_r(CommonUtil::json_encode($req));
|
//print_r(CommonUtil::json_encode($req));
|
||||||
$response= HttpClientUtils::getPost($url,$req);
|
$response= HttpClientUtils::getPost($url,$req);
|
||||||
$res=json_decode($response);
|
$res=json_decode($response);
|
||||||
|
@ -1 +1 @@
|
|||||||
import o from"./error.867f649f.js";import{d as r,o as i,c as p,U as m,L as e,a as t}from"./@vue.51d7f2d8.js";import"./element-plus.cdda5c3e.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.9f65afb1.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const s="/admin/assets/no_perms.a56e95a5.png",a={class:"error404"},u=t("div",{class:"flex justify-center"},[t("img",{class:"w-[150px] h-[150px]",src:s,alt:""})],-1),T=r({__name:"403",setup(c){return(n,_)=>(i(),p("div",a,[m(o,{code:"403",title:"\u60A8\u7684\u8D26\u53F7\u6743\u9650\u4E0D\u8DB3\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650\uFF01","show-btn":!1},{content:e(()=>[u]),_:1})]))}});export{T as default};
|
import o from"./error.21e04f2c.js";import{d as r,o as i,c as p,U as m,L as e,a as t}from"./@vue.51d7f2d8.js";import"./element-plus.b771dc38.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.9f65afb1.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const s="/admin/assets/no_perms.a56e95a5.png",a={class:"error404"},u=t("div",{class:"flex justify-center"},[t("img",{class:"w-[150px] h-[150px]",src:s,alt:""})],-1),T=r({__name:"403",setup(c){return(n,_)=>(i(),p("div",a,[m(o,{code:"403",title:"\u60A8\u7684\u8D26\u53F7\u6743\u9650\u4E0D\u8DB3\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650\uFF01","show-btn":!1},{content:e(()=>[u]),_:1})]))}});export{T as default};
|
@ -1 +1 @@
|
|||||||
import o from"./error.867f649f.js";import{d as r,o as t,c as m,U as p}from"./@vue.51d7f2d8.js";import"./element-plus.cdda5c3e.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.9f65afb1.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const i={class:"error404"},P=r({__name:"404",setup(e){return(u,c)=>(t(),m("div",i,[p(o,{code:"404",title:"\u54CE\u5440\uFF0C\u51FA\u9519\u4E86\uFF01\u60A8\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728\u2026"})]))}});export{P as default};
|
import o from"./error.21e04f2c.js";import{d as r,o as t,c as m,U as p}from"./@vue.51d7f2d8.js";import"./element-plus.b771dc38.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.9f65afb1.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const i={class:"error404"},P=r({__name:"404",setup(e){return(u,c)=>(t(),m("div",i,[p(o,{code:"404",title:"\u54CE\u5440\uFF0C\u51FA\u9519\u4E86\uFF01\u60A8\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728\u2026"})]))}});export{P as default};
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
import"./account-adjust.vue_vue_type_script_setup_true_lang.6569c452.js";import{_ as N}from"./account-adjust.vue_vue_type_script_setup_true_lang.6569c452.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";export{N as default};
|
import"./account-adjust.vue_vue_type_script_setup_true_lang.7af6cb84.js";import{_ as N}from"./account-adjust.vue_vue_type_script_setup_true_lang.7af6cb84.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";export{N as default};
|
@ -1 +1 @@
|
|||||||
import{C as x,G as B,H as R,B as g,D as N}from"./element-plus.cdda5c3e.js";import{P as q}from"./index.e209d8e5.js";import{f as C}from"./index.36ebd16e.js";import{d as A,s as D,$ as I,e as S,w as b,o as U,K as j,L as a,a as G,U as o,u as r,R as n,S as E}from"./@vue.51d7f2d8.js";const P={class:"pr-8"},T=A({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:i}){const c=d,s=D(),u=I({action:1,num:"",remark:""}),m=D(),f=S(()=>Number(c.value)+Number(u.num)*(u.action==1?1:-1)),w={num:[{required:!0,message:"\u8BF7\u8F93\u5165\u8C03\u6574\u7684\u91D1\u989D"}]},v=e=>{if(e.includes("-"))return C.msgError("\u8BF7\u8F93\u5165\u6B63\u6574\u6570");u.num=e},y=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),i("confirm",u)},V=()=>{var e;i("update:show",!1),(e=s.value)==null||e.resetFields()};return b(()=>c.show,e=>{var l,t;e?(l=m.value)==null||l.open():(t=m.value)==null||t.close()}),b(f,e=>{e<0&&(C.msgError("\u8C03\u6574\u540E\u4F59\u989D\u9700\u5927\u4E8E0"),u.num="")}),(e,l)=>{const t=x,_=B,h=R,F=g,k=N;return U(),j(q,{ref_key:"popupRef",ref:m,title:"\u4F59\u989D\u8C03\u6574",width:"500px",onConfirm:y,async:!0,onClose:V},{default:a(()=>[G("div",P,[o(k,{ref_key:"formRef",ref:s,model:r(u),"label-width":"120px",rules:w},{default:a(()=>[o(t,{label:"\u5F53\u524D\u4F59\u989D"},{default:a(()=>[n("\xA5 "+E(d.value),1)]),_:1}),o(t,{label:"\u4F59\u989D\u589E\u51CF",required:"",prop:"action"},{default:a(()=>[o(h,{modelValue:r(u).action,"onUpdate:modelValue":l[0]||(l[0]=p=>r(u).action=p)},{default:a(()=>[o(_,{label:1},{default:a(()=>[n("\u589E\u52A0\u4F59\u989D")]),_:1}),o(_,{label:2},{default:a(()=>[n("\u6263\u51CF\u4F59\u989D")]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(t,{label:"\u8C03\u6574\u4F59\u989D",prop:"num"},{default:a(()=>[o(F,{"model-value":r(u).num,placeholder:"\u8BF7\u8F93\u5165\u8C03\u6574\u7684\u91D1\u989D",type:"number",onInput:v},null,8,["model-value"])]),_:1}),o(t,{label:"\u8C03\u6574\u540E\u4F59\u989D"},{default:a(()=>[n(" \xA5 "+E(r(f)),1)]),_:1}),o(t,{label:"\u5907\u6CE8",prop:"remark"},{default:a(()=>[o(F,{modelValue:r(u).remark,"onUpdate:modelValue":l[1]||(l[1]=p=>r(u).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{T as _};
|
import{C as x,G as B,H as R,B as g,D as N}from"./element-plus.b771dc38.js";import{P as q}from"./index.3c7aa4ba.js";import{f as C}from"./index.6b8fec87.js";import{d as A,s as D,$ as I,e as S,w as b,o as U,K as j,L as a,a as G,U as o,u as r,R as n,S as E}from"./@vue.51d7f2d8.js";const P={class:"pr-8"},T=A({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:i}){const c=d,s=D(),u=I({action:1,num:"",remark:""}),m=D(),f=S(()=>Number(c.value)+Number(u.num)*(u.action==1?1:-1)),w={num:[{required:!0,message:"\u8BF7\u8F93\u5165\u8C03\u6574\u7684\u91D1\u989D"}]},v=e=>{if(e.includes("-"))return C.msgError("\u8BF7\u8F93\u5165\u6B63\u6574\u6570");u.num=e},y=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),i("confirm",u)},V=()=>{var e;i("update:show",!1),(e=s.value)==null||e.resetFields()};return b(()=>c.show,e=>{var l,t;e?(l=m.value)==null||l.open():(t=m.value)==null||t.close()}),b(f,e=>{e<0&&(C.msgError("\u8C03\u6574\u540E\u4F59\u989D\u9700\u5927\u4E8E0"),u.num="")}),(e,l)=>{const t=x,_=B,h=R,F=g,k=N;return U(),j(q,{ref_key:"popupRef",ref:m,title:"\u4F59\u989D\u8C03\u6574",width:"500px",onConfirm:y,async:!0,onClose:V},{default:a(()=>[G("div",P,[o(k,{ref_key:"formRef",ref:s,model:r(u),"label-width":"120px",rules:w},{default:a(()=>[o(t,{label:"\u5F53\u524D\u4F59\u989D"},{default:a(()=>[n("\xA5 "+E(d.value),1)]),_:1}),o(t,{label:"\u4F59\u989D\u589E\u51CF",required:"",prop:"action"},{default:a(()=>[o(h,{modelValue:r(u).action,"onUpdate:modelValue":l[0]||(l[0]=p=>r(u).action=p)},{default:a(()=>[o(_,{label:1},{default:a(()=>[n("\u589E\u52A0\u4F59\u989D")]),_:1}),o(_,{label:2},{default:a(()=>[n("\u6263\u51CF\u4F59\u989D")]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(t,{label:"\u8C03\u6574\u4F59\u989D",prop:"num"},{default:a(()=>[o(F,{"model-value":r(u).num,placeholder:"\u8BF7\u8F93\u5165\u8C03\u6574\u7684\u91D1\u989D",type:"number",onInput:v},null,8,["model-value"])]),_:1}),o(t,{label:"\u8C03\u6574\u540E\u4F59\u989D"},{default:a(()=>[n(" \xA5 "+E(r(f)),1)]),_:1}),o(t,{label:"\u5907\u6CE8",prop:"remark"},{default:a(()=>[o(F,{modelValue:r(u).remark,"onUpdate:modelValue":l[1]||(l[1]=p=>r(u).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{T as _};
|
@ -1 +1 @@
|
|||||||
import"./add-nav.vue_vue_type_script_setup_true_lang.83dbe35f.js";import{_ as Z}from"./add-nav.vue_vue_type_script_setup_true_lang.83dbe35f.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.ca37cd92.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.19fee0e6.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.d2e10a77.js";import"./index.35174697.js";import"./index.vue_vue_type_script_setup_true_lang.6c37bae0.js";import"./index.23117a16.js";import"./index.vue_vue_type_script_setup_true_lang.767d5b76.js";import"./usePaging.4ce91869.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{Z as default};
|
import"./add-nav.vue_vue_type_script_setup_true_lang.29a2a6c1.js";import{_ as Z}from"./add-nav.vue_vue_type_script_setup_true_lang.29a2a6c1.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.746b02c3.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.1a358636.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.38c17f14.js";import"./index.e69540e3.js";import"./index.vue_vue_type_script_setup_true_lang.5d4d280e.js";import"./index.8615e578.js";import"./index.vue_vue_type_script_setup_true_lang.49284deb.js";import"./usePaging.2ad8e1e6.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{Z as default};
|
@ -1 +1 @@
|
|||||||
import{B,w as D}from"./element-plus.cdda5c3e.js";import{_ as F}from"./index.ca37cd92.js";import{_ as A}from"./picker.19fee0e6.js";import{_ as y}from"./picker.d2e10a77.js";import{f as p,b as E}from"./index.36ebd16e.js";import{D as U}from"./vuedraggable.cbc8d603.js";import{d as C,e as w,o as c,c as N,a as e,U as t,L as m,K as $,u as r,k as z,R as L}from"./@vue.51d7f2d8.js";const R={class:"bg-fill-light flex items-center w-full p-4 mb-4 cursor-move"},I={class:"upload-btn w-[60px] h-[60px]"},K={class:"ml-3 flex-1"},P={class:"flex"},T=e("span",{class:"text-tx-regular flex-none mr-3"},"\u540D\u79F0",-1),j={class:"flex mt-[18px]"},q=e("span",{class:"text-tx-regular flex-none mr-3"},"\u94FE\u63A5",-1),W=C({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:10},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:i}){const o=_,s=w({get(){return o.modelValue},set(a){i("update:modelValue",a)}}),f=()=>{var a;((a=o.modelValue)==null?void 0:a.length)<o.max?s.value.push({image:"",name:"\u5BFC\u822A\u540D\u79F0",link:{}}):p.msgError(`\u6700\u591A\u6DFB\u52A0${o.max}\u4E2A`)},V=a=>{var u;if(((u=o.modelValue)==null?void 0:u.length)<=o.min)return p.msgError(`\u6700\u5C11\u4FDD\u7559${o.min}\u4E2A`);s.value.splice(a,1)};return(a,u)=>{const x=E,g=y,h=B,v=A,k=F,b=D;return c(),N("div",null,[e("div",null,[t(r(U),{class:"draggable",modelValue:r(s),"onUpdate:modelValue":u[0]||(u[0]=l=>z(s)?s.value=l:null),animation:"300"},{item:m(({element:l,index:d})=>[(c(),$(k,{class:"max-w-[400px]",key:d,onClose:n=>V(d)},{default:m(()=>[e("div",R,[t(g,{modelValue:l.image,"onUpdate:modelValue":n=>l.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:m(()=>[e("div",I,[t(x,{name:"el-icon-Plus",size:20})])]),_:2},1032,["modelValue","onUpdate:modelValue"]),e("div",K,[e("div",P,[T,t(h,{modelValue:l.name,"onUpdate:modelValue":n=>l.name=n,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",j,[q,t(v,{modelValue:l.link,"onUpdate:modelValue":n=>l.link=n},null,8,["modelValue","onUpdate:modelValue"])])])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),e("div",null,[t(b,{type:"primary",onClick:f},{default:m(()=>[L("\u6DFB\u52A0")]),_:1})])])}}});export{W as _};
|
import{B,w as D}from"./element-plus.b771dc38.js";import{_ as F}from"./index.746b02c3.js";import{_ as A}from"./picker.1a358636.js";import{_ as y}from"./picker.38c17f14.js";import{f as p,b as E}from"./index.6b8fec87.js";import{D as U}from"./vuedraggable.cbc8d603.js";import{d as C,e as w,o as c,c as N,a as e,U as t,L as m,K as $,u as r,k as z,R as L}from"./@vue.51d7f2d8.js";const R={class:"bg-fill-light flex items-center w-full p-4 mb-4 cursor-move"},I={class:"upload-btn w-[60px] h-[60px]"},K={class:"ml-3 flex-1"},P={class:"flex"},T=e("span",{class:"text-tx-regular flex-none mr-3"},"\u540D\u79F0",-1),j={class:"flex mt-[18px]"},q=e("span",{class:"text-tx-regular flex-none mr-3"},"\u94FE\u63A5",-1),W=C({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:10},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:i}){const o=_,s=w({get(){return o.modelValue},set(a){i("update:modelValue",a)}}),f=()=>{var a;((a=o.modelValue)==null?void 0:a.length)<o.max?s.value.push({image:"",name:"\u5BFC\u822A\u540D\u79F0",link:{}}):p.msgError(`\u6700\u591A\u6DFB\u52A0${o.max}\u4E2A`)},V=a=>{var u;if(((u=o.modelValue)==null?void 0:u.length)<=o.min)return p.msgError(`\u6700\u5C11\u4FDD\u7559${o.min}\u4E2A`);s.value.splice(a,1)};return(a,u)=>{const x=E,g=y,h=B,v=A,k=F,b=D;return c(),N("div",null,[e("div",null,[t(r(U),{class:"draggable",modelValue:r(s),"onUpdate:modelValue":u[0]||(u[0]=l=>z(s)?s.value=l:null),animation:"300"},{item:m(({element:l,index:d})=>[(c(),$(k,{class:"max-w-[400px]",key:d,onClose:n=>V(d)},{default:m(()=>[e("div",R,[t(g,{modelValue:l.image,"onUpdate:modelValue":n=>l.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:m(()=>[e("div",I,[t(x,{name:"el-icon-Plus",size:20})])]),_:2},1032,["modelValue","onUpdate:modelValue"]),e("div",K,[e("div",P,[T,t(h,{modelValue:l.name,"onUpdate:modelValue":n=>l.name=n,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",j,[q,t(v,{modelValue:l.link,"onUpdate:modelValue":n=>l.link=n},null,8,["modelValue","onUpdate:modelValue"])])])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),e("div",null,[t(b,{type:"primary",onClick:f},{default:m(()=>[L("\u6DFB\u52A0")]),_:1})])])}}});export{W as _};
|
@ -1 +1 @@
|
|||||||
import{r as n}from"./index.36ebd16e.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function r(t){return n.post({url:"/auth.admin/add",params:t})}function u(t){return n.post({url:"/auth.admin/edit",params:t})}function i(t){return n.post({url:"/auth.admin/delete",params:t})}function s(t){return n.get({url:"/auth.admin/detail",params:t})}function d(t){return n.get({url:"/auth.admin/Draftingcontracts",params:t})}function o(t){return n.get({url:"/auth.admin/postsms",params:t})}export{e as a,u as b,r as c,s as d,i as e,d as g,o as s};
|
import{r as n}from"./index.6b8fec87.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function r(t){return n.post({url:"/auth.admin/add",params:t})}function u(t){return n.post({url:"/auth.admin/edit",params:t})}function i(t){return n.post({url:"/auth.admin/delete",params:t})}function s(t){return n.get({url:"/auth.admin/detail",params:t})}function d(t){return n.get({url:"/auth.admin/Draftingcontracts",params:t})}function o(t){return n.get({url:"/auth.admin/postsms",params:t})}export{e as a,u as b,r as c,s as d,i as e,d as g,o as s};
|
@ -1 +1 @@
|
|||||||
import{r as e}from"./index.36ebd16e.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{c as a,i as b,n as c,u as d,s as e,a as f,p as g,l as h,f as i,d as j,g as k,C as l,o as m};
|
import{r as e}from"./index.6b8fec87.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{c as a,i as b,n as c,u as d,s as e,a as f,p as g,l as h,f as i,d as j,g as k,C as l,o as m};
|
1
public/admin/assets/attr-setting.b475afbb.js
Normal file
1
public/admin/assets/attr-setting.b475afbb.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import"./attr-setting.vue_vue_type_script_setup_true_lang.c0708207.js";import{_ as gm}from"./attr-setting.vue_vue_type_script_setup_true_lang.c0708207.js";import"./index.3d6a58f1.js";import"./attr.vue_vue_type_script_setup_true_lang.732aa5b3.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.746b02c3.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.1a358636.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.38c17f14.js";import"./index.e69540e3.js";import"./index.vue_vue_type_script_setup_true_lang.5d4d280e.js";import"./index.8615e578.js";import"./index.vue_vue_type_script_setup_true_lang.49284deb.js";import"./usePaging.2ad8e1e6.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";import"./content.vue_vue_type_script_setup_true_lang.958512a2.js";import"./decoration-img.67a82d3e.js";import"./attr.vue_vue_type_script_setup_true_lang.93f8983b.js";import"./content.d8c57820.js";import"./attr.vue_vue_type_script_setup_true_lang.b1eeafd5.js";import"./add-nav.vue_vue_type_script_setup_true_lang.29a2a6c1.js";import"./content.5dc7e6c9.js";import"./attr.vue_vue_type_script_setup_true_lang.c91602b9.js";import"./content.vue_vue_type_script_setup_true_lang.9306fa2b.js";import"./attr.vue_vue_type_script_setup_true_lang.d01577b5.js";import"./content.92497bd5.js";import"./decoration.4d9fb009.js";import"./attr.vue_vue_type_script_setup_true_lang.0fc534ba.js";import"./content.8abddb77.js";import"./attr.vue_vue_type_script_setup_true_lang.526c7546.js";import"./content.vue_vue_type_script_setup_true_lang.40c10e8b.js";import"./attr.vue_vue_type_script_setup_true_lang.00e826d0.js";import"./content.830b8c62.js";export{gm as default};
|
@ -1 +0,0 @@
|
|||||||
import"./attr-setting.vue_vue_type_script_setup_true_lang.3923e606.js";import{_ as gm}from"./attr-setting.vue_vue_type_script_setup_true_lang.3923e606.js";import"./index.b7259093.js";import"./attr.vue_vue_type_script_setup_true_lang.33c578eb.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.ca37cd92.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.19fee0e6.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.d2e10a77.js";import"./index.35174697.js";import"./index.vue_vue_type_script_setup_true_lang.6c37bae0.js";import"./index.23117a16.js";import"./index.vue_vue_type_script_setup_true_lang.767d5b76.js";import"./usePaging.4ce91869.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";import"./content.vue_vue_type_script_setup_true_lang.e1178cb9.js";import"./decoration-img.96adb25b.js";import"./attr.vue_vue_type_script_setup_true_lang.4576b24f.js";import"./content.fadc9154.js";import"./attr.vue_vue_type_script_setup_true_lang.9e236257.js";import"./add-nav.vue_vue_type_script_setup_true_lang.83dbe35f.js";import"./content.481d298a.js";import"./attr.vue_vue_type_script_setup_true_lang.0dc98949.js";import"./content.vue_vue_type_script_setup_true_lang.3232b144.js";import"./attr.vue_vue_type_script_setup_true_lang.d01577b5.js";import"./content.b880d321.js";import"./decoration.b18acc76.js";import"./attr.vue_vue_type_script_setup_true_lang.0fc534ba.js";import"./content.553d5899.js";import"./attr.vue_vue_type_script_setup_true_lang.469e7d9a.js";import"./content.vue_vue_type_script_setup_true_lang.c9d981e6.js";import"./attr.vue_vue_type_script_setup_true_lang.00e826d0.js";import"./content.31792b01.js";export{gm as default};
|
|
@ -1 +1 @@
|
|||||||
import{w as c}from"./index.b7259093.js";import{d as l,o as t,c as d,a as m,S as p,K as r,P as f,u as g,aK as y}from"./@vue.51d7f2d8.js";const b={class:"pages-setting"},u={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"},v=l({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},setup(e){return(w,x)=>{var s,a,n,o,i;return t(),d("div",b,[m("div",u,p((s=e.widget)==null?void 0:s.title),1),(t(),r(y,null,[(t(),r(f((n=g(c)[(a=e.widget)==null?void 0:a.name])==null?void 0:n.attr),{class:"pt-5 pr-4",content:(o=e.widget)==null?void 0:o.content,styles:(i=e.widget)==null?void 0:i.styles,type:e.type},null,8,["content","styles","type"]))],1024))])}}});export{v as _};
|
import{w as c}from"./index.3d6a58f1.js";import{d as l,o as t,c as d,a as m,S as p,K as r,P as f,u as g,aK as y}from"./@vue.51d7f2d8.js";const b={class:"pages-setting"},u={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"},v=l({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},setup(e){return(w,x)=>{var s,a,n,o,i;return t(),d("div",b,[m("div",u,p((s=e.widget)==null?void 0:s.title),1),(t(),r(y,null,[(t(),r(f((n=g(c)[(a=e.widget)==null?void 0:a.name])==null?void 0:n.attr),{class:"pt-5 pr-4",content:(o=e.widget)==null?void 0:o.content,styles:(i=e.widget)==null?void 0:i.styles,type:e.type},null,8,["content","styles","type"]))],1024))])}}});export{v as _};
|
@ -1 +1 @@
|
|||||||
import"./attr.vue_vue_type_script_setup_true_lang.4576b24f.js";import{_ as Y}from"./attr.vue_vue_type_script_setup_true_lang.4576b24f.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./picker.d2e10a77.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./index.35174697.js";import"./index.vue_vue_type_script_setup_true_lang.6c37bae0.js";import"./index.ca37cd92.js";import"./index.23117a16.js";import"./index.vue_vue_type_script_setup_true_lang.767d5b76.js";import"./usePaging.4ce91869.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{Y as default};
|
import"./attr.vue_vue_type_script_setup_true_lang.93f8983b.js";import{_ as Y}from"./attr.vue_vue_type_script_setup_true_lang.93f8983b.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./picker.38c17f14.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./index.e69540e3.js";import"./index.vue_vue_type_script_setup_true_lang.5d4d280e.js";import"./index.746b02c3.js";import"./index.8615e578.js";import"./index.vue_vue_type_script_setup_true_lang.49284deb.js";import"./usePaging.2ad8e1e6.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{Y as default};
|
@ -1 +1 @@
|
|||||||
import"./attr.vue_vue_type_script_setup_true_lang.9e236257.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang.9e236257.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./add-nav.vue_vue_type_script_setup_true_lang.83dbe35f.js";import"./index.ca37cd92.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.19fee0e6.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.d2e10a77.js";import"./index.35174697.js";import"./index.vue_vue_type_script_setup_true_lang.6c37bae0.js";import"./index.23117a16.js";import"./index.vue_vue_type_script_setup_true_lang.767d5b76.js";import"./usePaging.4ce91869.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{$ as default};
|
import"./attr.vue_vue_type_script_setup_true_lang.c91602b9.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang.c91602b9.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./add-nav.vue_vue_type_script_setup_true_lang.29a2a6c1.js";import"./index.746b02c3.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.1a358636.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.38c17f14.js";import"./index.e69540e3.js";import"./index.vue_vue_type_script_setup_true_lang.5d4d280e.js";import"./index.8615e578.js";import"./index.vue_vue_type_script_setup_true_lang.49284deb.js";import"./usePaging.2ad8e1e6.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{$ as default};
|
@ -1 +1 @@
|
|||||||
import"./attr.vue_vue_type_script_setup_true_lang.469e7d9a.js";import{_ as Z}from"./attr.vue_vue_type_script_setup_true_lang.469e7d9a.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.ca37cd92.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.19fee0e6.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.d2e10a77.js";import"./index.35174697.js";import"./index.vue_vue_type_script_setup_true_lang.6c37bae0.js";import"./index.23117a16.js";import"./index.vue_vue_type_script_setup_true_lang.767d5b76.js";import"./usePaging.4ce91869.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{Z as default};
|
import"./attr.vue_vue_type_script_setup_true_lang.526c7546.js";import{_ as Z}from"./attr.vue_vue_type_script_setup_true_lang.526c7546.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.746b02c3.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.1a358636.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.38c17f14.js";import"./index.e69540e3.js";import"./index.vue_vue_type_script_setup_true_lang.5d4d280e.js";import"./index.8615e578.js";import"./index.vue_vue_type_script_setup_true_lang.49284deb.js";import"./usePaging.2ad8e1e6.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{Z as default};
|
@ -1 +1 @@
|
|||||||
import"./attr.vue_vue_type_script_setup_true_lang.33c578eb.js";import{_ as Z}from"./attr.vue_vue_type_script_setup_true_lang.33c578eb.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.ca37cd92.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.19fee0e6.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.d2e10a77.js";import"./index.35174697.js";import"./index.vue_vue_type_script_setup_true_lang.6c37bae0.js";import"./index.23117a16.js";import"./index.vue_vue_type_script_setup_true_lang.767d5b76.js";import"./usePaging.4ce91869.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{Z as default};
|
import"./attr.vue_vue_type_script_setup_true_lang.732aa5b3.js";import{_ as Z}from"./attr.vue_vue_type_script_setup_true_lang.732aa5b3.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.746b02c3.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.1a358636.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.38c17f14.js";import"./index.e69540e3.js";import"./index.vue_vue_type_script_setup_true_lang.5d4d280e.js";import"./index.8615e578.js";import"./index.vue_vue_type_script_setup_true_lang.49284deb.js";import"./usePaging.2ad8e1e6.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{Z as default};
|
@ -1 +1 @@
|
|||||||
import"./attr.vue_vue_type_script_setup_true_lang.0dc98949.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang.0dc98949.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./add-nav.vue_vue_type_script_setup_true_lang.83dbe35f.js";import"./index.ca37cd92.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.19fee0e6.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.d2e10a77.js";import"./index.35174697.js";import"./index.vue_vue_type_script_setup_true_lang.6c37bae0.js";import"./index.23117a16.js";import"./index.vue_vue_type_script_setup_true_lang.767d5b76.js";import"./usePaging.4ce91869.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{$ as default};
|
import"./attr.vue_vue_type_script_setup_true_lang.b1eeafd5.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang.b1eeafd5.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./add-nav.vue_vue_type_script_setup_true_lang.29a2a6c1.js";import"./index.746b02c3.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./picker.1a358636.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./picker.38c17f14.js";import"./index.e69540e3.js";import"./index.vue_vue_type_script_setup_true_lang.5d4d280e.js";import"./index.8615e578.js";import"./index.vue_vue_type_script_setup_true_lang.49284deb.js";import"./usePaging.2ad8e1e6.js";import"./vue3-video-play.b911321b.js";import"./vuedraggable.cbc8d603.js";import"./vue.e7f41fea.js";import"./sortablejs.24719fd4.js";export{$ as default};
|
@ -1 +1 @@
|
|||||||
import{G as D,H as U,C as y,B as v,w,D as N}from"./element-plus.cdda5c3e.js";import{_ as R}from"./index.ca37cd92.js";import{_ as $}from"./picker.19fee0e6.js";import{_ as j}from"./picker.d2e10a77.js";import{f as F}from"./index.36ebd16e.js";import{D as G}from"./vuedraggable.cbc8d603.js";import{d as I,o as c,c as O,U as e,L as t,R as _,a as m,u as H,K as E,Q as K}from"./@vue.51d7f2d8.js";const L={class:"flex-1"},Q=m("div",{class:"form-tips"},"\u6700\u591A\u6DFB\u52A05\u5F20\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A750px*200px",-1),T={class:"bg-fill-light flex items-center w-full p-4 mt-4 cursor-move"},q={class:"ml-3 flex-1"},r=5,Y=I({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(a){const s=a,V=()=>{var u;((u=s.content.data)==null?void 0:u.length)<r?s.content.data.push({image:"",name:"",link:{}}):F.msgError(`\u6700\u591A\u6DFB\u52A0${r}\u5F20\u56FE\u7247`)},g=u=>{var o;if(((o=s.content.data)==null?void 0:o.length)<=1)return F.msgError("\u6700\u5C11\u4FDD\u7559\u4E00\u5F20\u56FE\u7247");s.content.data.splice(u,1)};return(u,o)=>{const p=D,b=U,d=y,B=j,k=v,x=$,h=R,A=w,C=N;return c(),O("div",null,[e(C,{"label-width":"70px"},{default:t(()=>{var i;return[e(d,{label:"\u662F\u5426\u542F\u7528"},{default:t(()=>[e(b,{modelValue:a.content.enabled,"onUpdate:modelValue":o[0]||(o[0]=l=>a.content.enabled=l)},{default:t(()=>[e(p,{label:1},{default:t(()=>[_("\u5F00\u542F")]),_:1}),e(p,{label:0},{default:t(()=>[_("\u505C\u7528")]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(d,{label:"\u56FE\u7247\u8BBE\u7F6E"},{default:t(()=>[m("div",L,[Q,e(H(G),{class:"draggable",modelValue:a.content.data,"onUpdate:modelValue":o[1]||(o[1]=l=>a.content.data=l),animation:"300"},{item:t(({element:l,index:f})=>[(c(),E(h,{key:f,onClose:n=>g(f),class:"max-w-[400px]"},{default:t(()=>[m("div",T,[e(B,{modelValue:l.image,"onUpdate:modelValue":n=>l.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),m("div",q,[e(d,{label:"\u56FE\u7247\u540D\u79F0"},{default:t(()=>[e(k,{modelValue:l.name,"onUpdate:modelValue":n=>l.name=n,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(d,{class:"mt-[18px]",label:"\u56FE\u7247\u94FE\u63A5"},{default:t(()=>[e(x,{modelValue:l.link,"onUpdate:modelValue":n=>l.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])])]),_:1}),((i=a.content.data)==null?void 0:i.length)<r?(c(),E(d,{key:0},{default:t(()=>[e(A,{type:"primary",onClick:V},{default:t(()=>[_("\u6DFB\u52A0\u56FE\u7247")]),_:1})]),_:1})):K("",!0)]}),_:1})])}}});export{Y as _};
|
import{G as D,H as U,C as y,B as v,w,D as N}from"./element-plus.b771dc38.js";import{_ as R}from"./index.746b02c3.js";import{_ as $}from"./picker.1a358636.js";import{_ as j}from"./picker.38c17f14.js";import{f as F}from"./index.6b8fec87.js";import{D as G}from"./vuedraggable.cbc8d603.js";import{d as I,o as c,c as O,U as e,L as t,R as _,a as m,u as H,K as E,Q as K}from"./@vue.51d7f2d8.js";const L={class:"flex-1"},Q=m("div",{class:"form-tips"},"\u6700\u591A\u6DFB\u52A05\u5F20\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A750px*200px",-1),T={class:"bg-fill-light flex items-center w-full p-4 mt-4 cursor-move"},q={class:"ml-3 flex-1"},r=5,Y=I({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(a){const s=a,V=()=>{var u;((u=s.content.data)==null?void 0:u.length)<r?s.content.data.push({image:"",name:"",link:{}}):F.msgError(`\u6700\u591A\u6DFB\u52A0${r}\u5F20\u56FE\u7247`)},g=u=>{var o;if(((o=s.content.data)==null?void 0:o.length)<=1)return F.msgError("\u6700\u5C11\u4FDD\u7559\u4E00\u5F20\u56FE\u7247");s.content.data.splice(u,1)};return(u,o)=>{const p=D,b=U,d=y,B=j,k=v,x=$,h=R,A=w,C=N;return c(),O("div",null,[e(C,{"label-width":"70px"},{default:t(()=>{var i;return[e(d,{label:"\u662F\u5426\u542F\u7528"},{default:t(()=>[e(b,{modelValue:a.content.enabled,"onUpdate:modelValue":o[0]||(o[0]=l=>a.content.enabled=l)},{default:t(()=>[e(p,{label:1},{default:t(()=>[_("\u5F00\u542F")]),_:1}),e(p,{label:0},{default:t(()=>[_("\u505C\u7528")]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(d,{label:"\u56FE\u7247\u8BBE\u7F6E"},{default:t(()=>[m("div",L,[Q,e(H(G),{class:"draggable",modelValue:a.content.data,"onUpdate:modelValue":o[1]||(o[1]=l=>a.content.data=l),animation:"300"},{item:t(({element:l,index:f})=>[(c(),E(h,{key:f,onClose:n=>g(f),class:"max-w-[400px]"},{default:t(()=>[m("div",T,[e(B,{modelValue:l.image,"onUpdate:modelValue":n=>l.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),m("div",q,[e(d,{label:"\u56FE\u7247\u540D\u79F0"},{default:t(()=>[e(k,{modelValue:l.name,"onUpdate:modelValue":n=>l.name=n,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(d,{class:"mt-[18px]",label:"\u56FE\u7247\u94FE\u63A5"},{default:t(()=>[e(x,{modelValue:l.link,"onUpdate:modelValue":n=>l.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])])]),_:1}),((i=a.content.data)==null?void 0:i.length)<r?(c(),E(d,{key:0},{default:t(()=>[e(A,{type:"primary",onClick:V},{default:t(()=>[_("\u6DFB\u52A0\u56FE\u7247")]),_:1})]),_:1})):K("",!0)]}),_:1})])}}});export{Y as _};
|
@ -1 +1 @@
|
|||||||
import{G as D,H as U,C as v,B as w,w as N,D as R}from"./element-plus.cdda5c3e.js";import{_ as $}from"./index.ca37cd92.js";import{_ as j}from"./picker.19fee0e6.js";import{_ as G}from"./picker.d2e10a77.js";import{f as b}from"./index.36ebd16e.js";import{D as I}from"./vuedraggable.cbc8d603.js";import{d as O,o as n,c as H,U as t,L as l,K as s,R as i,Q as r,a as p,u as K}from"./@vue.51d7f2d8.js";const L={class:"flex-1"},Q=p("div",{class:"form-tips"},"\u6700\u591A\u6DFB\u52A05\u5F20\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A750px*340px",-1),S={class:"bg-fill-light flex items-center w-full p-4 mt-4 cursor-move"},T={class:"ml-3 flex-1"},_=5,Y=O({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},setup(o){const c=o,g=()=>{var d;((d=c.content.data)==null?void 0:d.length)<_?c.content.data.push({image:"",name:"",link:{}}):b.msgError(`\u6700\u591A\u6DFB\u52A0${_}\u5F20\u56FE\u7247`)},k=d=>{var u;if(((u=c.content.data)==null?void 0:u.length)<=1)return b.msgError("\u6700\u5C11\u4FDD\u7559\u4E00\u5F20\u56FE\u7247");c.content.data.splice(d,1)};return(d,u)=>{const f=D,y=U,m=v,B=G,F=w,h=j,x=$,A=N,C=R;return n(),H("div",null,[t(C,{"label-width":"70px"},{default:l(()=>{var V;return[o.type=="mobile"?(n(),s(m,{key:0,label:"\u662F\u5426\u542F\u7528"},{default:l(()=>[t(y,{modelValue:o.content.enabled,"onUpdate:modelValue":u[0]||(u[0]=e=>o.content.enabled=e)},{default:l(()=>[t(f,{label:1},{default:l(()=>[i("\u5F00\u542F")]),_:1}),t(f,{label:0},{default:l(()=>[i("\u505C\u7528")]),_:1})]),_:1},8,["modelValue"])]),_:1})):r("",!0),t(m,{label:"\u56FE\u7247\u8BBE\u7F6E"},{default:l(()=>[p("div",L,[Q,t(K(I),{class:"draggable",modelValue:o.content.data,"onUpdate:modelValue":u[1]||(u[1]=e=>o.content.data=e),animation:"300"},{item:l(({element:e,index:E})=>[(n(),s(x,{key:E,onClose:a=>k(E),class:"max-w-[400px]"},{default:l(()=>[p("div",S,[t(B,{modelValue:e.image,"onUpdate:modelValue":a=>e.image=a,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),p("div",T,[t(m,{label:"\u56FE\u7247\u540D\u79F0"},{default:l(()=>[t(F,{modelValue:e.name,"onUpdate:modelValue":a=>e.name=a,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(m,{class:"mt-[18px]",label:"\u56FE\u7247\u94FE\u63A5"},{default:l(()=>[o.type=="mobile"?(n(),s(h,{key:0,modelValue:e.link,"onUpdate:modelValue":a=>e.link=a},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),o.type=="pc"?(n(),s(F,{key:1,placeholder:"\u8BF7\u8F93\u5165\u94FE\u63A5",modelValue:e.link.path,"onUpdate:modelValue":a=>e.link.path=a},null,8,["modelValue","onUpdate:modelValue"])):r("",!0)]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])])]),_:1}),((V=o.content.data)==null?void 0:V.length)<_?(n(),s(m,{key:1},{default:l(()=>[t(A,{type:"primary",onClick:g},{default:l(()=>[i("\u6DFB\u52A0\u56FE\u7247")]),_:1})]),_:1})):r("",!0)]}),_:1})])}}});export{Y as _};
|
import{G as D,H as U,C as v,B as w,w as N,D as R}from"./element-plus.b771dc38.js";import{_ as $}from"./index.746b02c3.js";import{_ as j}from"./picker.1a358636.js";import{_ as G}from"./picker.38c17f14.js";import{f as b}from"./index.6b8fec87.js";import{D as I}from"./vuedraggable.cbc8d603.js";import{d as O,o as n,c as H,U as t,L as l,K as s,R as i,Q as r,a as p,u as K}from"./@vue.51d7f2d8.js";const L={class:"flex-1"},Q=p("div",{class:"form-tips"},"\u6700\u591A\u6DFB\u52A05\u5F20\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A750px*340px",-1),S={class:"bg-fill-light flex items-center w-full p-4 mt-4 cursor-move"},T={class:"ml-3 flex-1"},_=5,Y=O({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},setup(o){const c=o,g=()=>{var d;((d=c.content.data)==null?void 0:d.length)<_?c.content.data.push({image:"",name:"",link:{}}):b.msgError(`\u6700\u591A\u6DFB\u52A0${_}\u5F20\u56FE\u7247`)},k=d=>{var u;if(((u=c.content.data)==null?void 0:u.length)<=1)return b.msgError("\u6700\u5C11\u4FDD\u7559\u4E00\u5F20\u56FE\u7247");c.content.data.splice(d,1)};return(d,u)=>{const f=D,y=U,m=v,B=G,F=w,h=j,x=$,A=N,C=R;return n(),H("div",null,[t(C,{"label-width":"70px"},{default:l(()=>{var V;return[o.type=="mobile"?(n(),s(m,{key:0,label:"\u662F\u5426\u542F\u7528"},{default:l(()=>[t(y,{modelValue:o.content.enabled,"onUpdate:modelValue":u[0]||(u[0]=e=>o.content.enabled=e)},{default:l(()=>[t(f,{label:1},{default:l(()=>[i("\u5F00\u542F")]),_:1}),t(f,{label:0},{default:l(()=>[i("\u505C\u7528")]),_:1})]),_:1},8,["modelValue"])]),_:1})):r("",!0),t(m,{label:"\u56FE\u7247\u8BBE\u7F6E"},{default:l(()=>[p("div",L,[Q,t(K(I),{class:"draggable",modelValue:o.content.data,"onUpdate:modelValue":u[1]||(u[1]=e=>o.content.data=e),animation:"300"},{item:l(({element:e,index:E})=>[(n(),s(x,{key:E,onClose:a=>k(E),class:"max-w-[400px]"},{default:l(()=>[p("div",S,[t(B,{modelValue:e.image,"onUpdate:modelValue":a=>e.image=a,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),p("div",T,[t(m,{label:"\u56FE\u7247\u540D\u79F0"},{default:l(()=>[t(F,{modelValue:e.name,"onUpdate:modelValue":a=>e.name=a,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(m,{class:"mt-[18px]",label:"\u56FE\u7247\u94FE\u63A5"},{default:l(()=>[o.type=="mobile"?(n(),s(h,{key:0,modelValue:e.link,"onUpdate:modelValue":a=>e.link=a},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),o.type=="pc"?(n(),s(F,{key:1,placeholder:"\u8BF7\u8F93\u5165\u94FE\u63A5",modelValue:e.link.path,"onUpdate:modelValue":a=>e.link.path=a},null,8,["modelValue","onUpdate:modelValue"])):r("",!0)]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])])]),_:1}),((V=o.content.data)==null?void 0:V.length)<_?(n(),s(m,{key:1},{default:l(()=>[t(A,{type:"primary",onClick:g},{default:l(()=>[i("\u6DFB\u52A0\u56FE\u7247")]),_:1})]),_:1})):r("",!0)]}),_:1})])}}});export{Y as _};
|
@ -1 +1 @@
|
|||||||
import{B as c,C as i,D as F}from"./element-plus.cdda5c3e.js";import{_ as p}from"./picker.d2e10a77.js";import{d as r,o as f,c as V,U as e,L as o,a as m}from"./@vue.51d7f2d8.js";const B=m("div",{class:"form-tips"},"\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A200*200\u50CF\u7D20\uFF1B\u56FE\u7247\u683C\u5F0F\uFF1Ajpg\u3001png\u3001jpeg",-1),A=r({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){return(E,l)=>{const a=c,n=i,d=p,s=F;return f(),V("div",null,[e(s,{"label-width":"90px"},{default:o(()=>[e(n,{label:"\u5BA2\u670D\u6807\u9898"},{default:o(()=>[e(a,{class:"w-[400px]",modelValue:t.content.title,"onUpdate:modelValue":l[0]||(l[0]=u=>t.content.title=u)},null,8,["modelValue"])]),_:1}),e(n,{label:"\u670D\u52A1\u65F6\u95F4"},{default:o(()=>[e(a,{class:"w-[400px]",modelValue:t.content.time,"onUpdate:modelValue":l[1]||(l[1]=u=>t.content.time=u)},null,8,["modelValue"])]),_:1}),e(n,{label:"\u8054\u7CFB\u7535\u8BDD"},{default:o(()=>[e(a,{class:"w-[400px]",modelValue:t.content.mobile,"onUpdate:modelValue":l[2]||(l[2]=u=>t.content.mobile=u)},null,8,["modelValue"])]),_:1}),e(n,{label:"\u5BA2\u670D\u4E8C\u7EF4\u7801"},{default:o(()=>[m("div",null,[e(d,{modelValue:t.content.qrcode,"onUpdate:modelValue":l[3]||(l[3]=u=>t.content.qrcode=u),"exclude-domain":""},null,8,["modelValue"]),B])]),_:1})]),_:1})])}}});export{A as _};
|
import{B as c,C as i,D as F}from"./element-plus.b771dc38.js";import{_ as p}from"./picker.38c17f14.js";import{d as r,o as f,c as V,U as e,L as o,a as m}from"./@vue.51d7f2d8.js";const B=m("div",{class:"form-tips"},"\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A200*200\u50CF\u7D20\uFF1B\u56FE\u7247\u683C\u5F0F\uFF1Ajpg\u3001png\u3001jpeg",-1),A=r({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){return(E,l)=>{const a=c,n=i,d=p,s=F;return f(),V("div",null,[e(s,{"label-width":"90px"},{default:o(()=>[e(n,{label:"\u5BA2\u670D\u6807\u9898"},{default:o(()=>[e(a,{class:"w-[400px]",modelValue:t.content.title,"onUpdate:modelValue":l[0]||(l[0]=u=>t.content.title=u)},null,8,["modelValue"])]),_:1}),e(n,{label:"\u670D\u52A1\u65F6\u95F4"},{default:o(()=>[e(a,{class:"w-[400px]",modelValue:t.content.time,"onUpdate:modelValue":l[1]||(l[1]=u=>t.content.time=u)},null,8,["modelValue"])]),_:1}),e(n,{label:"\u8054\u7CFB\u7535\u8BDD"},{default:o(()=>[e(a,{class:"w-[400px]",modelValue:t.content.mobile,"onUpdate:modelValue":l[2]||(l[2]=u=>t.content.mobile=u)},null,8,["modelValue"])]),_:1}),e(n,{label:"\u5BA2\u670D\u4E8C\u7EF4\u7801"},{default:o(()=>[m("div",null,[e(d,{modelValue:t.content.qrcode,"onUpdate:modelValue":l[3]||(l[3]=u=>t.content.qrcode=u),"exclude-domain":""},null,8,["modelValue"]),B])]),_:1})]),_:1})])}}});export{A as _};
|
@ -1 +1 @@
|
|||||||
import{G as r,H as _,C as i,B as f,D as p}from"./element-plus.cdda5c3e.js";import{_ as V}from"./add-nav.vue_vue_type_script_setup_true_lang.83dbe35f.js";import{d as b,o as E,c as x,U as e,L as t,R as d,a as B}from"./@vue.51d7f2d8.js";const F={class:"flex-1"},w=b({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(l){return(y,o)=>{const u=r,m=_,n=i,s=f,c=p;return E(),x("div",null,[e(c,{"label-width":"70px"},{default:t(()=>[e(n,{label:"\u6392\u7248\u6837\u5F0F"},{default:t(()=>[e(m,{modelValue:l.content.style,"onUpdate:modelValue":o[0]||(o[0]=a=>l.content.style=a)},{default:t(()=>[e(u,{label:1},{default:t(()=>[d("\u6A2A\u6392")]),_:1}),e(u,{label:2},{default:t(()=>[d("\u7AD6\u6392")]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(n,{label:"\u6807\u9898\u540D\u79F0"},{default:t(()=>[e(s,{class:"w-[400px]",modelValue:l.content.title,"onUpdate:modelValue":o[1]||(o[1]=a=>l.content.title=a)},null,8,["modelValue"])]),_:1}),e(n,{label:"\u83DC\u5355\u8BBE\u7F6E"},{default:t(()=>[B("div",F,[e(V,{modelValue:l.content.data,"onUpdate:modelValue":o[2]||(o[2]=a=>l.content.data=a)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{w as _};
|
import{G as r,H as _,C as i,B as f,D as p}from"./element-plus.b771dc38.js";import{_ as V}from"./add-nav.vue_vue_type_script_setup_true_lang.29a2a6c1.js";import{d as b,o as E,c as x,U as e,L as t,R as d,a as B}from"./@vue.51d7f2d8.js";const F={class:"flex-1"},w=b({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(l){return(y,o)=>{const u=r,m=_,n=i,s=f,c=p;return E(),x("div",null,[e(c,{"label-width":"70px"},{default:t(()=>[e(n,{label:"\u6392\u7248\u6837\u5F0F"},{default:t(()=>[e(m,{modelValue:l.content.style,"onUpdate:modelValue":o[0]||(o[0]=a=>l.content.style=a)},{default:t(()=>[e(u,{label:1},{default:t(()=>[d("\u6A2A\u6392")]),_:1}),e(u,{label:2},{default:t(()=>[d("\u7AD6\u6392")]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(n,{label:"\u6807\u9898\u540D\u79F0"},{default:t(()=>[e(s,{class:"w-[400px]",modelValue:l.content.title,"onUpdate:modelValue":o[1]||(o[1]=a=>l.content.title=a)},null,8,["modelValue"])]),_:1}),e(n,{label:"\u83DC\u5355\u8BBE\u7F6E"},{default:t(()=>[B("div",F,[e(V,{modelValue:l.content.data,"onUpdate:modelValue":o[2]||(o[2]=a=>l.content.data=a)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{w as _};
|
@ -1 +1 @@
|
|||||||
import{G as _,H as r,C as i,D as f}from"./element-plus.cdda5c3e.js";import{_ as p}from"./add-nav.vue_vue_type_script_setup_true_lang.83dbe35f.js";import{d as F,o as E,c as b,U as e,L as t,R as d,a as s}from"./@vue.51d7f2d8.js";const V={class:"flex-1"},x=s("div",{class:"form-tips mb-4"},"\u6700\u591A\u53EF\u6DFB\u52A010\u4E2A\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A100px*100px",-1),y=F({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){return(B,a)=>{const u=_,m=r,n=i,c=f;return E(),b("div",null,[e(c,{"label-width":"70px"},{default:t(()=>[e(n,{label:"\u662F\u5426\u542F\u7528"},{default:t(()=>[e(m,{modelValue:o.content.enabled,"onUpdate:modelValue":a[0]||(a[0]=l=>o.content.enabled=l)},{default:t(()=>[e(u,{label:1},{default:t(()=>[d("\u5F00\u542F")]),_:1}),e(u,{label:0},{default:t(()=>[d("\u505C\u7528")]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(n,{label:"\u83DC\u5355\u8BBE\u7F6E"},{default:t(()=>[s("div",V,[x,e(p,{modelValue:o.content.data,"onUpdate:modelValue":a[1]||(a[1]=l=>o.content.data=l)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{y as _};
|
import{G as _,H as r,C as i,D as f}from"./element-plus.b771dc38.js";import{_ as p}from"./add-nav.vue_vue_type_script_setup_true_lang.29a2a6c1.js";import{d as F,o as E,c as b,U as e,L as t,R as d,a as s}from"./@vue.51d7f2d8.js";const V={class:"flex-1"},x=s("div",{class:"form-tips mb-4"},"\u6700\u591A\u53EF\u6DFB\u52A010\u4E2A\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A100px*100px",-1),y=F({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){return(B,a)=>{const u=_,m=r,n=i,c=f;return E(),b("div",null,[e(c,{"label-width":"70px"},{default:t(()=>[e(n,{label:"\u662F\u5426\u542F\u7528"},{default:t(()=>[e(m,{modelValue:o.content.enabled,"onUpdate:modelValue":a[0]||(a[0]=l=>o.content.enabled=l)},{default:t(()=>[e(u,{label:1},{default:t(()=>[d("\u5F00\u542F")]),_:1}),e(u,{label:0},{default:t(()=>[d("\u505C\u7528")]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(n,{label:"\u83DC\u5355\u8BBE\u7F6E"},{default:t(()=>[s("div",V,[x,e(p,{modelValue:o.content.data,"onUpdate:modelValue":a[1]||(a[1]=l=>o.content.data=l)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{y as _};
|
@ -1 +0,0 @@
|
|||||||
import"./auth.vue_vue_type_script_setup_true_lang.3fd27600.js";import{_ as P}from"./auth.vue_vue_type_script_setup_true_lang.3fd27600.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./role.7b7d4e7a.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./menu.11f41b5c.js";export{P as default};
|
|
1
public/admin/assets/auth.64365707.js
Normal file
1
public/admin/assets/auth.64365707.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import"./auth.vue_vue_type_script_setup_true_lang.31d556e8.js";import{_ as P}from"./auth.vue_vue_type_script_setup_true_lang.31d556e8.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./user_menu.dd4b73e2.js";import"./user_role.4aa3c381.js";export{P as default};
|
@ -1 +1 @@
|
|||||||
import"./auth.vue_vue_type_script_setup_true_lang.234ff6ee.js";import{_ as P}from"./auth.vue_vue_type_script_setup_true_lang.234ff6ee.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./role.7b7d4e7a.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./index.e209d8e5.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./menu.11f41b5c.js";export{P as default};
|
import"./auth.vue_vue_type_script_setup_true_lang.cbdbd6e4.js";import{_ as P}from"./auth.vue_vue_type_script_setup_true_lang.cbdbd6e4.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./role.12af286a.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";import"./index.3c7aa4ba.js";import"./index.vue_vue_type_style_index_0_scoped_95d1884e_lang.0fc4c9f8.js";import"./menu.9a490e1a.js";export{P as default};
|
@ -0,0 +1 @@
|
|||||||
|
import{F as T,V as P,C as q,E as H,D as I,Q as O}from"./element-plus.b771dc38.js";import"./index.6b8fec87.js";import{P as Q}from"./index.3c7aa4ba.js";import"./lodash.d89407d4.js";import{e as $}from"./user_menu.dd4b73e2.js";import{a as j}from"./user_role.4aa3c381.js";import{d as z,s as f,r as c,$ as G,o as v,c as J,U as a,L as i,M as W,K as X,u as r,a as k,k as Y,n as y}from"./@vue.51d7f2d8.js";const Z={class:"edit-popup"},ce=z({__name:"auth",emits:["success","close"],setup(ee,{expose:C,emit:_}){const o=f(),h=f(),d=f(),x=c(!1),u=c(!0),m=c(!1),b=c([]),p=c([]),l=G({id:"",name:"",desc:"",sort:0,menu_arr:[]}),g={name:[{required:!0,message:"\u8BF7\u8F93\u5165\u540D\u79F0",trigger:["blur"]}]},E=()=>{m.value=!0,$().then(s=>{for(let e of s.lists)if(e.notes?e.nameAndNotes=e.name+" ("+e.notes+")":e.nameAndNotes=e.name,e.children)for(let t of e.children)t.notes?t.nameAndNotes=t.name+" ("+t.notes+")":t.nameAndNotes=t.name;p.value=s.lists,y(()=>{D()}),m.value=!1})},A=()=>{var t,n;const s=(t=o.value)==null?void 0:t.getCheckedKeys(),e=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return s==null||s.unshift.apply(s,e),s},D=()=>{l.menu_arr.forEach(s=>{y(()=>{var e;(e=o.value)==null||e.setChecked(s,!0,!1)})})},R=s=>{const e=p.value;for(let t=0;t<e.length;t++)o.value.store.nodesMap[e[t].id].expanded=s},w=s=>{var e,t;s?(e=o.value)==null||e.setCheckedKeys(b.value.map(n=>n.id)):(t=o.value)==null||t.setCheckedKeys([])},F=async()=>{var s,e;await((s=h.value)==null?void 0:s.validate()),l.menu_arr=A(),await j(l),(e=d.value)==null||e.close(),_("success")},K=()=>{_("close")},N=()=>{var s;(s=d.value)==null||s.open()},B=async s=>{for(const e in l)s[e]!=null&&s[e]!=null&&(l[e]=s[e])};return E(),C({open:N,setFormData:B}),(s,e)=>{const t=T,n=P,V=q,L=H,S=I,U=O;return v(),J("div",Z,[a(Q,{ref_key:"popupRef",ref:d,title:"\u5206\u914D\u6743\u9650",async:!0,width:"550px",onConfirm:F,onClose:K},{default:i(()=>[W((v(),X(S,{class:"ls-form",ref_key:"formRef",ref:h,rules:g,model:r(l),"label-width":"60px"},{default:i(()=>[a(L,{class:"h-[400px] sm:h-[600px]"},{default:i(()=>[a(V,{label:"\u6743\u9650",prop:"menu_arr"},{default:i(()=>[k("div",null,[a(t,{label:"\u5C55\u5F00/\u6298\u53E0",onChange:R}),a(t,{label:"\u5168\u9009/\u4E0D\u5168\u9009",onChange:w}),a(t,{modelValue:r(u),"onUpdate:modelValue":e[0]||(e[0]=M=>Y(u)?u.value=M:null),label:"\u7236\u5B50\u8054\u52A8"},null,8,["modelValue"]),k("div",null,[a(n,{ref_key:"treeRef",ref:o,data:r(p),props:{label:"nameAndNotes",children:"children"},"check-strictly":!r(u),"node-key":"id","default-expand-all":r(x),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[U,r(m)]])]),_:1},512)])}}});export{ce as _};
|
@ -1 +0,0 @@
|
|||||||
import{F as P,T as U,C as q,E as H,D as I,N as O}from"./element-plus.cdda5c3e.js";import{a as $}from"./role.7b7d4e7a.js";import{P as j}from"./index.e209d8e5.js";import{t as z}from"./index.36ebd16e.js";import{m as G}from"./menu.11f41b5c.js";import{d as J,s as f,r as u,$ as Q,o as k,c as W,U as s,L as d,M as X,K as Y,u as c,a as y,k as Z,n as C}from"./@vue.51d7f2d8.js";const ee={class:"edit-popup"},ue=J({__name:"auth",emits:["success","close"],setup(le,{expose:x,emit:_}){const o=f(),h=f(),i=f(),b=u(!1),r=u(!0),m=u(!1),v=u([]),p=u([]),a=Q({id:"",name:"",desc:"",sort:0,menu_id:[]}),g={name:[{required:!0,message:"\u8BF7\u8F93\u5165\u540D\u79F0",trigger:["blur"]}]},E=()=>{m.value=!0,G().then(e=>{p.value=e,v.value=z(e),C(()=>{w()}),m.value=!1})},D=()=>{var t,n;const e=(t=o.value)==null?void 0:t.getCheckedKeys(),l=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,l),e},w=()=>{a.menu_id.forEach(e=>{C(()=>{var l;(l=o.value)==null||l.setChecked(e,!0,!1)})})},F=e=>{const l=p.value;for(let t=0;t<l.length;t++)o.value.store.nodesMap[l[t].id].expanded=e},R=e=>{var l,t;e?(l=o.value)==null||l.setCheckedKeys(v.value.map(n=>n.id)):(t=o.value)==null||t.setCheckedKeys([])},A=async()=>{var e,l;await((e=h.value)==null?void 0:e.validate()),a.menu_id=D(),await $(a),(l=i.value)==null||l.close(),_("success")},K=()=>{_("close")},B=()=>{var e;(e=i.value)==null||e.open()},T=async e=>{for(const l in a)e[l]!=null&&e[l]!=null&&(a[l]=e[l])};return E(),x({open:B,setFormData:T}),(e,l)=>{const t=P,n=U,V=q,S=H,L=I,N=O;return k(),W("div",ee,[s(j,{ref_key:"popupRef",ref:i,title:"\u5206\u914D\u6743\u9650",async:!0,width:"550px",onConfirm:A,onClose:K},{default:d(()=>[X((k(),Y(L,{class:"ls-form",ref_key:"formRef",ref:h,rules:g,model:c(a),"label-width":"60px"},{default:d(()=>[s(S,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[s(V,{label:"\u6743\u9650",prop:"menu_id"},{default:d(()=>[y("div",null,[s(t,{label:"\u5C55\u5F00/\u6298\u53E0",onChange:F}),s(t,{label:"\u5168\u9009/\u4E0D\u5168\u9009",onChange:R}),s(t,{modelValue:c(r),"onUpdate:modelValue":l[0]||(l[0]=M=>Z(r)?r.value=M:null),label:"\u7236\u5B50\u8054\u52A8"},null,8,["modelValue"]),y("div",null,[s(n,{ref_key:"treeRef",ref:o,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(r),"node-key":"id","default-expand-all":c(b),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[N,c(m)]])]),_:1},512)])}}});export{ue as _};
|
|
@ -1 +1 @@
|
|||||||
import{F as P,T as U,C as q,E as H,D as I,N as O}from"./element-plus.cdda5c3e.js";import{a as $}from"./role.7b7d4e7a.js";import{P as j}from"./index.e209d8e5.js";import{t as z}from"./index.36ebd16e.js";import{m as G}from"./menu.11f41b5c.js";import{d as J,s as f,r as u,$ as Q,o as k,c as W,U as s,L as d,M as X,K as Y,u as c,a as y,k as Z,n as C}from"./@vue.51d7f2d8.js";const ee={class:"edit-popup"},ue=J({__name:"auth",emits:["success","close"],setup(le,{expose:x,emit:_}){const o=f(),h=f(),i=f(),b=u(!1),r=u(!0),m=u(!1),v=u([]),p=u([]),a=Q({id:"",name:"",desc:"",sort:0,menu_id:[]}),g={name:[{required:!0,message:"\u8BF7\u8F93\u5165\u540D\u79F0",trigger:["blur"]}]},E=()=>{m.value=!0,G().then(e=>{p.value=e,v.value=z(e),C(()=>{w()}),m.value=!1})},D=()=>{var t,n;const e=(t=o.value)==null?void 0:t.getCheckedKeys(),l=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,l),e},w=()=>{a.menu_id.forEach(e=>{C(()=>{var l;(l=o.value)==null||l.setChecked(e,!0,!1)})})},F=e=>{const l=p.value;for(let t=0;t<l.length;t++)o.value.store.nodesMap[l[t].id].expanded=e},R=e=>{var l,t;e?(l=o.value)==null||l.setCheckedKeys(v.value.map(n=>n.id)):(t=o.value)==null||t.setCheckedKeys([])},A=async()=>{var e,l;await((e=h.value)==null?void 0:e.validate()),a.menu_id=D(),await $(a),(l=i.value)==null||l.close(),_("success")},K=()=>{_("close")},B=()=>{var e;(e=i.value)==null||e.open()},T=async e=>{for(const l in a)e[l]!=null&&e[l]!=null&&(a[l]=e[l])};return E(),x({open:B,setFormData:T}),(e,l)=>{const t=P,n=U,V=q,S=H,L=I,N=O;return k(),W("div",ee,[s(j,{ref_key:"popupRef",ref:i,title:"\u5206\u914D\u6743\u9650",async:!0,width:"550px",onConfirm:A,onClose:K},{default:d(()=>[X((k(),Y(L,{class:"ls-form",ref_key:"formRef",ref:h,rules:g,model:c(a),"label-width":"60px"},{default:d(()=>[s(S,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[s(V,{label:"\u6743\u9650",prop:"menu_id"},{default:d(()=>[y("div",null,[s(t,{label:"\u5C55\u5F00/\u6298\u53E0",onChange:F}),s(t,{label:"\u5168\u9009/\u4E0D\u5168\u9009",onChange:R}),s(t,{modelValue:c(r),"onUpdate:modelValue":l[0]||(l[0]=M=>Z(r)?r.value=M:null),label:"\u7236\u5B50\u8054\u52A8"},null,8,["modelValue"]),y("div",null,[s(n,{ref_key:"treeRef",ref:o,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(r),"node-key":"id","default-expand-all":c(b),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[N,c(m)]])]),_:1},512)])}}});export{ue as _};
|
import{F as P,V as U,C as q,E as H,D as I,Q as O}from"./element-plus.b771dc38.js";import{a as Q}from"./role.12af286a.js";import{P as $}from"./index.3c7aa4ba.js";import{t as j}from"./index.6b8fec87.js";import{m as z}from"./menu.9a490e1a.js";import{d as G,s as f,r as u,$ as J,o as k,c as W,U as s,L as d,M as X,K as Y,u as c,a as y,k as Z,n as C}from"./@vue.51d7f2d8.js";const ee={class:"edit-popup"},ue=G({__name:"auth",emits:["success","close"],setup(le,{expose:x,emit:_}){const o=f(),h=f(),i=f(),b=u(!1),r=u(!0),m=u(!1),v=u([]),p=u([]),a=J({id:"",name:"",desc:"",sort:0,menu_id:[]}),g={name:[{required:!0,message:"\u8BF7\u8F93\u5165\u540D\u79F0",trigger:["blur"]}]},E=()=>{m.value=!0,z().then(e=>{p.value=e,v.value=j(e),C(()=>{w()}),m.value=!1})},D=()=>{var t,n;const e=(t=o.value)==null?void 0:t.getCheckedKeys(),l=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,l),e},w=()=>{a.menu_id.forEach(e=>{C(()=>{var l;(l=o.value)==null||l.setChecked(e,!0,!1)})})},F=e=>{const l=p.value;for(let t=0;t<l.length;t++)o.value.store.nodesMap[l[t].id].expanded=e},R=e=>{var l,t;e?(l=o.value)==null||l.setCheckedKeys(v.value.map(n=>n.id)):(t=o.value)==null||t.setCheckedKeys([])},A=async()=>{var e,l;await((e=h.value)==null?void 0:e.validate()),a.menu_id=D(),await Q(a),(l=i.value)==null||l.close(),_("success")},K=()=>{_("close")},B=()=>{var e;(e=i.value)==null||e.open()},V=async e=>{for(const l in a)e[l]!=null&&e[l]!=null&&(a[l]=e[l])};return E(),x({open:B,setFormData:V}),(e,l)=>{const t=P,n=U,S=q,T=H,L=I,M=O;return k(),W("div",ee,[s($,{ref_key:"popupRef",ref:i,title:"\u5206\u914D\u6743\u9650",async:!0,width:"550px",onConfirm:A,onClose:K},{default:d(()=>[X((k(),Y(L,{class:"ls-form",ref_key:"formRef",ref:h,rules:g,model:c(a),"label-width":"60px"},{default:d(()=>[s(T,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[s(S,{label:"\u6743\u9650",prop:"menu_id"},{default:d(()=>[y("div",null,[s(t,{label:"\u5C55\u5F00/\u6298\u53E0",onChange:F}),s(t,{label:"\u5168\u9009/\u4E0D\u5168\u9009",onChange:R}),s(t,{modelValue:c(r),"onUpdate:modelValue":l[0]||(l[0]=N=>Z(r)?r.value=N:null),label:"\u7236\u5B50\u8054\u52A8"},null,8,["modelValue"]),y("div",null,[s(n,{ref_key:"treeRef",ref:o,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(r),"node-key":"id","default-expand-all":c(b),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[M,c(m)]])]),_:1},512)])}}});export{ue as _};
|
1
public/admin/assets/balance_details.78493f4f.js
Normal file
1
public/admin/assets/balance_details.78493f4f.js
Normal file
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
|||||||
import{K as U,B as K,C as N,Q as P,R,w as I,D as O,I as S,L as $,M as z,N as M}from"./element-plus.cdda5c3e.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang.6c37bae0.js";import{_ as q}from"./index.36ebd16e.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang.76142360.js";import{d as w,$ as G,o as r,c as b,U as e,L as a,u as o,a8 as H,T as J,a7 as W,K as h,R as m,M as X,a as p,S as B,O as Y,k as Z}from"./@vue.51d7f2d8.js";import{g as ee,a as te}from"./finance.05603d8a.js";import{u as oe}from"./useDictOptions.f9e70309.js";import{u as ae}from"./usePaging.4ce91869.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const ne={class:"flex items-center"},le={class:"flex justify-end mt-4"},ue=w({name:"articleLists"}),He=w({...ue,setup(ie){const n=G({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:i,getLists:_,resetPage:c,resetParams:E}=ae({fetchFun:te,params:n}),{optionsData:C}=oe({change_type:{api:ee}});return _(),(se,l)=>{const D=U,v=K,s=N,d=P,y=R,x=Q,f=I,V=O,g=S,u=$,T=q,A=z,k=j,L=M;return r(),b("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:a(()=>[e(D,{type:"warning",title:"\u6E29\u99A8\u63D0\u793A\uFF1A\u7528\u6237\u8D26\u6237\u53D8\u52A8\u8BB0\u5F55",closable:!1,"show-icon":""}),e(V,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:o(n),inline:!0},{default:a(()=>[e(s,{label:"\u7528\u6237\u4FE1\u606F"},{default:a(()=>[e(v,{class:"w-[280px]",modelValue:o(n).user_info,"onUpdate:modelValue":l[0]||(l[0]=t=>o(n).user_info=t),placeholder:"\u8BF7\u8F93\u5165\u7528\u6237\u7F16\u53F7/\u6635\u79F0/\u624B\u673A\u53F7",clearable:"",onKeyup:H(o(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(s,{label:"\u53D8\u52A8\u7C7B\u578B"},{default:a(()=>[e(y,{class:"w-[280px]",modelValue:o(n).change_type,"onUpdate:modelValue":l[1]||(l[1]=t=>o(n).change_type=t)},{default:a(()=>[e(d,{label:"\u5168\u90E8",value:""}),(r(!0),b(J,null,W(o(C).change_type,(t,F)=>(r(),h(d,{key:F,label:t,value:F},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"\u8BB0\u5F55\u65F6\u95F4"},{default:a(()=>[e(x,{startTime:o(n).start_time,"onUpdate:startTime":l[2]||(l[2]=t=>o(n).start_time=t),endTime:o(n).end_time,"onUpdate:endTime":l[3]||(l[3]=t=>o(n).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(s,null,{default:a(()=>[e(f,{type:"primary",onClick:o(c)},{default:a(()=>[m("\u67E5\u8BE2")]),_:1},8,["onClick"]),e(f,{onClick:o(E)},{default:a(()=>[m("\u91CD\u7F6E")]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[X((r(),h(A,{size:"large",data:o(i).lists},{default:a(()=>[e(u,{label:"\u7528\u6237\u7F16\u53F7",prop:"sn","min-width":"100"}),e(u,{label:"\u7528\u6237\u6635\u79F0","min-width":"160"},{default:a(({row:t})=>[p("div",ne,[e(T,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),m(" "+B(t.nickname),1)])]),_:1}),e(u,{label:"\u624B\u673A\u53F7\u7801",prop:"mobile","min-width":"100"}),e(u,{label:"\u53D8\u52A8\u91D1\u989D",prop:"change_amount","min-width":"100"},{default:a(({row:t})=>[p("span",{class:Y({"text-error":t.action==2})},B(t.change_amount),3)]),_:1}),e(u,{label:"\u5269\u4F59\u91D1\u989D",prop:"left_amount","min-width":"100"}),e(u,{label:"\u53D8\u52A8\u7C7B\u578B",prop:"change_type_desc","min-width":"120"}),e(u,{label:"\u6765\u6E90\u5355\u53F7",prop:"source_sn","min-width":"100"}),e(u,{label:"\u8BB0\u5F55\u65F6\u95F4",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[L,o(i).loading]]),p("div",le,[e(k,{modelValue:o(i),"onUpdate:modelValue":l[4]||(l[4]=t=>Z(i)?i.value=t:null),onChange:o(_)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{He as default};
|
|
1
public/admin/assets/breeding.1c801ca1.js
Normal file
1
public/admin/assets/breeding.1c801ca1.js
Normal file
File diff suppressed because one or more lines are too long
1
public/admin/assets/breeding.c015dafe.css
Normal file
1
public/admin/assets/breeding.c015dafe.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
.tit[data-v-b354e75b]{font-size:1.2rem;translate:1vw -1vw;background-color:#fff;margin:2vh 0 0}.tit .time[data-v-b354e75b]{display:inline-block;font-size:.8rem;margin-left:1vw;color:#999}
|
@ -1 +0,0 @@
|
|||||||
.tit[data-v-d8b50ca5]{font-size:1.2rem;translate:1vw -1vw;background-color:#fff;margin:2vh 0 0}.tit .time[data-v-d8b50ca5]{display:inline-block;font-size:.8rem;margin-left:1vw;color:#999}
|
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
import{K as s,I as c,L as l,w as _,M as d}from"./element-plus.cdda5c3e.js";import{s as F}from"./system.ea336da6.js";import{f as B}from"./index.36ebd16e.js";import{d as r,r as E,o as f,c as C,U as t,L as o,u as h,R as b}from"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const D={class:"cache"},w=r({name:"cache"}),nt=r({...w,setup(A){const a=E([{content:"\u7CFB\u7EDF\u7F13\u5B58",desc:"\u7CFB\u7EDF\u8FD0\u884C\u8FC7\u7A0B\u4E2D\u4EA7\u751F\u7684\u5404\u7C7B\u7F13\u5B58\u6570\u636E"}]),i=async()=>{await B.confirm("\u786E\u8BA4\u6E05\u9664\u7CFB\u7EDF\u7F13\u5B58\uFF1F"),await F()};return(k,x)=>{const m=s,u=c,e=l,n=_,p=d;return f(),C("div",D,[t(u,{class:"!border-none",shadow:"never"},{default:o(()=>[t(m,{type:"warning",title:"\u6E29\u99A8\u63D0\u793A\uFF1A\u7BA1\u7406\u7CFB\u7EDF\u8FD0\u884C\u8FC7\u7A0B\u4E2D\u4EA7\u751F\u7684\u7F13\u5B58",closable:!1,"show-icon":""})]),_:1}),t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[t(p,{data:h(a),size:"large"},{default:o(()=>[t(e,{label:"\u7BA1\u7406\u5185\u5BB9",prop:"content","min-width":"130"}),t(e,{label:"\u5185\u5BB9\u8BF4\u660E",prop:"desc","min-width":"180"}),t(e,{label:"\u64CD\u4F5C",width:"130",fixed:"right"},{default:o(()=>[t(n,{type:"primary",link:"",onClick:i},{default:o(()=>[b("\u6E05\u9664\u7CFB\u7EDF\u7F13\u5B58")]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{nt as default};
|
import{S as s,I as c,O as l,w as _,P as d}from"./element-plus.b771dc38.js";import{s as F}from"./system.ccc16733.js";import{f as B}from"./index.6b8fec87.js";import{d as r,r as E,o as f,c as C,U as t,L as o,u as h,R as b}from"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const D={class:"cache"},w=r({name:"cache"}),nt=r({...w,setup(A){const a=E([{content:"\u7CFB\u7EDF\u7F13\u5B58",desc:"\u7CFB\u7EDF\u8FD0\u884C\u8FC7\u7A0B\u4E2D\u4EA7\u751F\u7684\u5404\u7C7B\u7F13\u5B58\u6570\u636E"}]),i=async()=>{await B.confirm("\u786E\u8BA4\u6E05\u9664\u7CFB\u7EDF\u7F13\u5B58\uFF1F"),await F()};return(k,x)=>{const m=s,u=c,e=l,n=_,p=d;return f(),C("div",D,[t(u,{class:"!border-none",shadow:"never"},{default:o(()=>[t(m,{type:"warning",title:"\u6E29\u99A8\u63D0\u793A\uFF1A\u7BA1\u7406\u7CFB\u7EDF\u8FD0\u884C\u8FC7\u7A0B\u4E2D\u4EA7\u751F\u7684\u7F13\u5B58",closable:!1,"show-icon":""})]),_:1}),t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[t(p,{data:h(a),size:"large"},{default:o(()=>[t(e,{label:"\u7BA1\u7406\u5185\u5BB9",prop:"content","min-width":"130"}),t(e,{label:"\u5185\u5BB9\u8BF4\u660E",prop:"desc","min-width":"180"}),t(e,{label:"\u64CD\u4F5C",width:"130",fixed:"right"},{default:o(()=>[t(n,{type:"primary",link:"",onClick:i},{default:o(()=>[b("\u6E05\u9664\u7CFB\u7EDF\u7F13\u5B58")]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{nt as default};
|
@ -1 +1 @@
|
|||||||
import"./code-preview.vue_vue_type_script_setup_true_lang.122e749d.js";import{_ as L}from"./code-preview.vue_vue_type_script_setup_true_lang.122e749d.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";export{L as default};
|
import"./code-preview.vue_vue_type_script_setup_true_lang.f2725b00.js";import{_ as L}from"./code-preview.vue_vue_type_script_setup_true_lang.f2725b00.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";export{L as default};
|
@ -1 +0,0 @@
|
|||||||
import{x as w,y as B,E as D,w as T,J as N}from"./element-plus.cdda5c3e.js";import{f as r,b as U}from"./index.36ebd16e.js";import{u as $}from"./vue-clipboard3.dca5bca3.js";import{d as j,r as F,e as L,a4 as R,o as c,c as d,U as o,L as t,u as m,k as i,T as S,a7 as J,K,a as p,R as P}from"./@vue.51d7f2d8.js";const q={class:"code-preview"},z={class:"flex",style:{height:"50vh"}},O=j({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(_,{emit:f}){const b=_,{toClipboard:h}=$(),n=F("index0"),V=async a=>{try{await h(a),r.msgSuccess("\u590D\u5236\u6210\u529F")}catch{r.msgError("\u590D\u5236\u5931\u8D25")}},s=L({get(){return b.modelValue},set(a){f("update:modelValue",a)}});return(a,l)=>{const g=R("highlightjs"),v=D,y=U,C=T,E=w,k=B,x=N;return c(),d("div",q,[o(x,{modelValue:m(s),"onUpdate:modelValue":l[1]||(l[1]=e=>i(s)?s.value=e:null),width:"900px",title:"\u4EE3\u7801\u9884\u89C8"},{default:t(()=>[o(k,{modelValue:m(n),"onUpdate:modelValue":l[0]||(l[0]=e=>i(n)?n.value=e:null)},{default:t(()=>[(c(!0),d(S,null,J(a.code,(e,u)=>(c(),K(E,{label:e.name,name:`index${u}`,key:u},{default:t(()=>[p("div",z,[o(v,{class:"flex-1"},{default:t(()=>[o(g,{autodetect:"",code:e.content},null,8,["code"])]),_:2},1024),p("div",null,[o(C,{onClick:A=>V(e.content),type:"primary",link:""},{icon:t(()=>[o(y,{name:"el-icon-CopyDocument"})]),default:t(()=>[P(" \u590D\u5236 ")]),_:2},1032,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{O as _};
|
|
@ -0,0 +1 @@
|
|||||||
|
import{x as w,y as B,E as D,w as T,L}from"./element-plus.b771dc38.js";import{f as r,b as N}from"./index.6b8fec87.js";import{u as U}from"./vue-clipboard3.dca5bca3.js";import{d as $,r as j,e as F,a4 as R,o as c,c as d,U as o,L as t,u as m,k as i,T as S,a7 as K,K as P,a as p,R as q}from"./@vue.51d7f2d8.js";const z={class:"code-preview"},A={class:"flex",style:{height:"50vh"}},O=$({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(_,{emit:f}){const b=_,{toClipboard:h}=U(),n=j("index0"),V=async a=>{try{await h(a),r.msgSuccess("\u590D\u5236\u6210\u529F")}catch{r.msgError("\u590D\u5236\u5931\u8D25")}},s=F({get(){return b.modelValue},set(a){f("update:modelValue",a)}});return(a,l)=>{const g=R("highlightjs"),v=D,y=N,C=T,E=w,k=B,x=L;return c(),d("div",z,[o(x,{modelValue:m(s),"onUpdate:modelValue":l[1]||(l[1]=e=>i(s)?s.value=e:null),width:"900px",title:"\u4EE3\u7801\u9884\u89C8"},{default:t(()=>[o(k,{modelValue:m(n),"onUpdate:modelValue":l[0]||(l[0]=e=>i(n)?n.value=e:null)},{default:t(()=>[(c(!0),d(S,null,K(a.code,(e,u)=>(c(),P(E,{label:e.name,name:`index${u}`,key:u},{default:t(()=>[p("div",A,[o(v,{class:"flex-1"},{default:t(()=>[o(g,{autodetect:"",code:e.content},null,8,["code"])]),_:2},1024),p("div",null,[o(C,{onClick:G=>V(e.content),type:"primary",link:""},{icon:t(()=>[o(y,{name:"el-icon-CopyDocument"})]),default:t(()=>[q(" \u590D\u5236 ")]),_:2},1032,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{O as _};
|
@ -1 +1 @@
|
|||||||
import{r as t}from"./index.36ebd16e.js";function o(e){return t.get({url:"/tools.generator/generateTable",params:e})}function n(e){return t.get({url:"/tools.generator/dataTable",params:e})}function a(e){return t.post({url:"/tools.generator/selectTable",params:e})}function l(e){return t.get({url:"/tools.generator/detail",params:e})}function s(e){return t.post({url:"/tools.generator/syncColumn",params:e})}function u(e){return t.post({url:"/tools.generator/delete",params:e})}function g(e){return t.post({url:"/tools.generator/edit",params:e})}function i(e){return t.post({url:"/tools.generator/preview",params:e})}function c(e){return t.post({url:"/tools.generator/generate",params:e})}function f(){return t.get({url:"/tools.generator/getModels"})}export{f as a,u as b,i as c,c as d,o as e,a as f,g,n as h,s,l as t};
|
import{r as t}from"./index.6b8fec87.js";function o(e){return t.get({url:"/tools.generator/generateTable",params:e})}function n(e){return t.get({url:"/tools.generator/dataTable",params:e})}function a(e){return t.post({url:"/tools.generator/selectTable",params:e})}function l(e){return t.get({url:"/tools.generator/detail",params:e})}function s(e){return t.post({url:"/tools.generator/syncColumn",params:e})}function u(e){return t.post({url:"/tools.generator/delete",params:e})}function g(e){return t.post({url:"/tools.generator/edit",params:e})}function i(e){return t.post({url:"/tools.generator/preview",params:e})}function c(e){return t.post({url:"/tools.generator/generate",params:e})}function f(){return t.get({url:"/tools.generator/getModels"})}export{f as a,u as b,i as c,c as d,o as e,a as f,g,n as h,s,l as t};
|
@ -1 +1 @@
|
|||||||
import{r}from"./index.36ebd16e.js";function i(t){return r.get({url:"/common/province",params:t})}function n(t){return r.get({url:"/common/city",params:t})}function o(t){return r.get({url:"/common/area",params:t})}function a(t){return r.get({url:"/common/street",params:t})}function u(t){return r.get({url:"/common/village",params:t})}function c(){return r.get({url:"/common/brigade"})}export{i as a,n as b,o as c,a as d,u as e,c as f};
|
import{r}from"./index.6b8fec87.js";function i(t){return r.get({url:"/common/province",params:t})}function n(t){return r.get({url:"/common/city",params:t})}function o(t){return r.get({url:"/common/area",params:t})}function a(t){return r.get({url:"/common/street",params:t})}function u(t){return r.get({url:"/common/village",params:t})}function c(){return r.get({url:"/common/brigade"})}export{i as a,n as b,o as c,a as d,u as e,c as f};
|
1
public/admin/assets/company.2c4a5654.js
Normal file
1
public/admin/assets/company.2c4a5654.js
Normal file
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
import{r as n}from"./index.36ebd16e.js";function r(t){return n.get({url:"/company/lists",params:t})}function e(t){return n.post({url:"/company/add",params:t})}function o(t){return n.post({url:"/company/edit",params:t})}function i(t){return n.post({url:"/company/delete",params:t})}function u(t){return n.get({url:"/company/detail",params:t})}function c(t){return n.get({url:"/company/subordinate",params:t})}function s(t){return n.get({url:"/company/postsms",params:t})}function p(t){return n.get({url:"/company/initiate_contract",params:t})}function m(t){return n.get({url:"/company/Draftingcontracts",params:t})}function l(t){return n.get({url:"/company/authentication",params:t})}function y(t){return n.get({url:"/company/list_two",params:t})}function f(t){return n.get({url:"/company/responsible_area",params:t})}export{r as a,u as b,f as c,o as d,e,i as f,m as g,l as h,p as i,y as j,c as k,s};
|
import{r as n}from"./index.6b8fec87.js";function r(t){return n.get({url:"/company/lists",params:t})}function e(t){return n.post({url:"/company/add",params:t})}function o(t){return n.post({url:"/company/edit",params:t})}function i(t){return n.post({url:"/company/delete",params:t})}function u(t){return n.get({url:"/company/detail",params:t})}function c(t){return n.get({url:"/company/subordinate",params:t})}function s(t){return n.get({url:"/company/postsms",params:t})}function p(t){return n.get({url:"/company/initiate_contract",params:t})}function m(t){return n.get({url:"/company/Draftingcontracts",params:t})}function l(t){return n.get({url:"/company/authentication",params:t})}function y(t){return n.get({url:"/company/list_two",params:t})}function f(t){return n.get({url:"/company/responsible_area",params:t})}export{u as a,f as b,y as c,o as d,e,i as f,m as g,l as h,p as i,r as j,c as k,s};
|
1
public/admin/assets/company.ed16e5c3.css
Normal file
1
public/admin/assets/company.ed16e5c3.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
.btn{position:absolute}h1{text-align:center;font-weight:700;font-size:30px;color:red;margin-bottom:10px}.content{font-size:20px}.info{color:red;font-weight:700;font-size:18px;display:inline-block;margin:0 5px}.btn_menu{margin-top:10vh;display:flex;justify-content:space-around}.formdata .el-form-item{width:20%}
|
1
public/admin/assets/company.fd560493.js
Normal file
1
public/admin/assets/company.fd560493.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/admin/assets/config.b20308e1.js
Normal file
1
public/admin/assets/config.b20308e1.js
Normal file
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
import{r}from"./index.36ebd16e.js";function n(t){return r.get({url:"/user.user/lists",params:t},{ignoreCancelToken:!0})}function u(t){return r.get({url:"/user.user/detail",params:t})}function s(t){return r.post({url:"/user.user/edit",params:t})}function o(t){return r.post({url:"/user.user/adjustMoney",params:t})}function a(t){return r.post({url:"/user.user/initiate_contract",params:t})}function c(t){return r.post({url:"/contract.contract/wind_control",params:t})}function i(t){return r.post({url:"/user.user/Draftingcontracts",params:t})}function l(t){return r.get({url:"/contract.contract/postsms",params:t})}export{o as a,c as b,n as c,i as d,u as g,a as i,l as s,s as u};
|
import{r}from"./index.6b8fec87.js";function n(t){return r.get({url:"/user.user/lists",params:t},{ignoreCancelToken:!0})}function u(t){return r.get({url:"/user.user/detail",params:t})}function s(t){return r.post({url:"/user.user/edit",params:t})}function o(t){return r.post({url:"/user.user/adjustMoney",params:t})}function a(t){return r.post({url:"/user.user/initiate_contract",params:t})}function c(t){return r.post({url:"/contract.contract/wind_control",params:t})}function i(t){return r.post({url:"/user.user/Draftingcontracts",params:t})}function l(t){return r.get({url:"/contract.contract/postsms",params:t})}export{o as a,c as b,n as c,i as d,u as g,a as i,l as s,s as u};
|
@ -1 +1 @@
|
|||||||
import"./content.vue_vue_type_script_setup_true_lang.e1178cb9.js";import{_ as M}from"./content.vue_vue_type_script_setup_true_lang.e1178cb9.js";import"./decoration-img.96adb25b.js";import"./element-plus.cdda5c3e.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.36ebd16e.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";export{M as default};
|
import"./content.vue_vue_type_script_setup_true_lang.40c10e8b.js";import{_ as M}from"./content.vue_vue_type_script_setup_true_lang.40c10e8b.js";import"./decoration-img.67a82d3e.js";import"./element-plus.b771dc38.js";import"./@vue.51d7f2d8.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.6b8fec87.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";export{M as default};
|
@ -1 +1 @@
|
|||||||
import{b as x,d as _}from"./index.36ebd16e.js";import c from"./decoration-img.96adb25b.js";import{d as u,o as t,c as e,a as r,S as s,Q as p,T as a,a7 as l,U as m}from"./@vue.51d7f2d8.js";import"./element-plus.cdda5c3e.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const f={class:"my-service"},h={key:0,class:"title px-[15px] py-[10px]"},y={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},v={class:"mt-[7px]"},b={key:2},g={class:"ml-[10px] flex-1"},k=u({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){return(w,B)=>{const d=x;return t(),e("div",f,[o.content.title?(t(),e("div",h,[r("div",null,s(o.content.title),1)])):p("",!0),o.content.style==1?(t(),e("div",y,[(t(!0),e(a,null,l(o.content.data,(i,n)=>(t(),e("div",{key:n,class:"flex flex-col items-center w-1/4 mb-[15px]"},[m(c,{width:"26px",height:"26px",src:i.image,alt:""},null,8,["src"]),r("div",v,s(i.name),1)]))),128))])):p("",!0),o.content.style==2?(t(),e("div",b,[(t(!0),e(a,null,l(o.content.data,(i,n)=>(t(),e("div",{key:n,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[m(c,{width:"24px",height:"24px",src:i.image,alt:""},null,8,["src"]),r("div",g,s(i.name),1),r("div",null,[m(d,{name:"el-icon-ArrowRight"})])]))),128))])):p("",!0)])}}});const st=_(k,[["__scopeId","data-v-26886ebe"]]);export{st as default};
|
import{b as x,d as _}from"./index.6b8fec87.js";import c from"./decoration-img.67a82d3e.js";import{d as u,o as t,c as e,a as r,S as s,Q as p,T as a,a7 as l,U as m}from"./@vue.51d7f2d8.js";import"./element-plus.b771dc38.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const f={class:"my-service"},h={key:0,class:"title px-[15px] py-[10px]"},y={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},v={class:"mt-[7px]"},b={key:2},g={class:"ml-[10px] flex-1"},k=u({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){return(w,B)=>{const d=x;return t(),e("div",f,[o.content.title?(t(),e("div",h,[r("div",null,s(o.content.title),1)])):p("",!0),o.content.style==1?(t(),e("div",y,[(t(!0),e(a,null,l(o.content.data,(i,n)=>(t(),e("div",{key:n,class:"flex flex-col items-center w-1/4 mb-[15px]"},[m(c,{width:"26px",height:"26px",src:i.image,alt:""},null,8,["src"]),r("div",v,s(i.name),1)]))),128))])):p("",!0),o.content.style==2?(t(),e("div",b,[(t(!0),e(a,null,l(o.content.data,(i,n)=>(t(),e("div",{key:n,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[m(c,{width:"24px",height:"24px",src:i.image,alt:""},null,8,["src"]),r("div",g,s(i.name),1),r("div",null,[m(d,{name:"el-icon-ArrowRight"})])]))),128))])):p("",!0)])}}});const st=_(k,[["__scopeId","data-v-26886ebe"]]);export{st as default};
|
@ -1 +1 @@
|
|||||||
import{d as r}from"./index.36ebd16e.js";import{o as i,c as e,bf as m,be as s,a as o}from"./@vue.51d7f2d8.js";import"./element-plus.cdda5c3e.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const c="/admin/assets/default_avatar.fa19527b.png";const _={},p=t=>(m("data-v-4b1b613f"),t=t(),s(),t),a={class:"user-info flex items-center px-[25px]"},n=p(()=>o("img",{src:c,class:"w-[60px] h-[60px]",alt:""},null,-1)),d=p(()=>o("div",{class:"text-white text-[18px] ml-[10px]"},"\u672A\u767B\u5F55",-1)),f=[n,d];function l(t,x){return i(),e("div",a,f)}const X=r(_,[["render",l],["__scopeId","data-v-4b1b613f"]]);export{X as default};
|
import{d as r}from"./index.6b8fec87.js";import{o as i,c as e,bf as m,be as s,a as o}from"./@vue.51d7f2d8.js";import"./element-plus.b771dc38.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const c="/admin/assets/default_avatar.fa19527b.png";const _={},p=t=>(m("data-v-4b1b613f"),t=t(),s(),t),a={class:"user-info flex items-center px-[25px]"},n=p(()=>o("img",{src:c,class:"w-[60px] h-[60px]",alt:""},null,-1)),d=p(()=>o("div",{class:"text-white text-[18px] ml-[10px]"},"\u672A\u767B\u5F55",-1)),f=[n,d];function l(t,x){return i(),e("div",a,f)}const X=r(_,[["render",l],["__scopeId","data-v-4b1b613f"]]);export{X as default};
|
@ -1 +1 @@
|
|||||||
import{d as r,b as e}from"./index.36ebd16e.js";import{o as i,c as m,a as t,U as c,bf as s,be as a}from"./@vue.51d7f2d8.js";import"./element-plus.cdda5c3e.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const _={},n=o=>(s("data-v-3514bdd8"),o=o(),a(),o),d={class:"search"},l={class:"search-con flex items-center px-[15px]"},f=n(()=>t("span",{class:"ml-[5px]"},"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",-1));function h(o,x){const p=e;return i(),m("div",d,[t("div",l,[c(p,{name:"el-icon-Search",size:17}),f])])}const X=r(_,[["render",h],["__scopeId","data-v-3514bdd8"]]);export{X as default};
|
import{d as r,b as e}from"./index.6b8fec87.js";import{o as i,c as m,a as t,U as c,bf as s,be as a}from"./@vue.51d7f2d8.js";import"./element-plus.b771dc38.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const _={},n=o=>(s("data-v-3514bdd8"),o=o(),a(),o),d={class:"search"},l={class:"search-con flex items-center px-[15px]"},f=n(()=>t("span",{class:"ml-[5px]"},"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",-1));function h(o,x){const p=e;return i(),m("div",d,[t("div",l,[c(p,{name:"el-icon-Search",size:17}),f])])}const X=r(_,[["render",h],["__scopeId","data-v-3514bdd8"]]);export{X as default};
|
@ -1 +1 @@
|
|||||||
import{b as n,d as m}from"./index.36ebd16e.js";import{g as d}from"./decoration.b18acc76.js";import{d as l,r as _,o as s,c as i,T as x,a7 as f,a as t,Q as u,S as r,U as v,u as b,bf as h,be as y}from"./@vue.51d7f2d8.js";import"./element-plus.cdda5c3e.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const w=o=>(h("data-v-18ea8db2"),o=o(),y(),o),g={class:"news"},j=w(()=>t("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," \u6700\u65B0\u8D44\u8BAF ",-1)),k={key:0,class:"mr-[10px]"},B=["src"],D={class:"flex flex-col justify-between flex-1"},S={class:"text-[15px] font-medium line-clamp-2"},I={class:"line-clamp-1 text-sm mt-[8px]"},V={class:"text-[#999] text-xs w-full flex justify-between mt-[8px]"},N={class:"flex items-center"},A={class:"ml-[5px]"},C=l({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const c=_([]);return(async()=>{const p=await d({limit:10});c.value=p})(),(p,L)=>{const a=n;return s(),i("div",g,[j,(s(!0),i(x,null,f(b(c),e=>(s(),i("div",{key:e.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[e.image?(s(),i("div",k,[t("img",{src:e.image,class:"w-[120px] h-[90px] object-contain"},null,8,B)])):u("",!0),t("div",D,[t("div",S,r(e.title),1),t("div",I,r(e.desc),1),t("div",V,[t("div",null,r(e.create_time),1),t("div",N,[v(a,{name:"el-icon-View"}),t("div",A,r(e.click),1)])])])]))),128))])}}});const ut=m(C,[["__scopeId","data-v-18ea8db2"]]);export{ut as default};
|
import{b as n,d as m}from"./index.6b8fec87.js";import{g as d}from"./decoration.4d9fb009.js";import{d as l,r as _,o as s,c as i,T as x,a7 as f,a as t,Q as u,S as r,U as v,u as b,bf as h,be as y}from"./@vue.51d7f2d8.js";import"./element-plus.b771dc38.js";import"./@vueuse.ec90c285.js";import"./@element-plus.a074d1f6.js";import"./lodash-es.29c53eac.js";import"./dayjs.e873ead7.js";import"./@amap.8a62addd.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.d89407d4.js";import"./axios.dc5a985d.js";import"./vue-router.9f65afb1.js";import"./pinia.56356cb7.js";import"./vue-demi.b3a9cad9.js";import"./css-color-function.6a1c18cc.js";import"./color.3dc06ff1.js";import"./clone.eade3c99.js";import"./color-convert.755d189f.js";import"./color-name.e7a4e1d3.js";import"./color-string.e356f5de.js";import"./balanced-match.d2a36341.js";import"./debug.f423cd8a.js";import"./ms.a9ae1d6d.js";import"./nprogress.f73355d0.js";import"./vue-clipboard3.dca5bca3.js";import"./clipboard.16e4491b.js";import"./echarts.ac57a99a.js";import"./zrender.d54ce080.js";import"./tslib.60310f1a.js";import"./highlight.js.dba6fa1b.js";import"./@highlightjs.40d5feba.js";const w=o=>(h("data-v-18ea8db2"),o=o(),y(),o),g={class:"news"},j=w(()=>t("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," \u6700\u65B0\u8D44\u8BAF ",-1)),k={key:0,class:"mr-[10px]"},B=["src"],D={class:"flex flex-col justify-between flex-1"},S={class:"text-[15px] font-medium line-clamp-2"},I={class:"line-clamp-1 text-sm mt-[8px]"},V={class:"text-[#999] text-xs w-full flex justify-between mt-[8px]"},N={class:"flex items-center"},A={class:"ml-[5px]"},C=l({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const c=_([]);return(async()=>{const p=await d({limit:10});c.value=p})(),(p,L)=>{const a=n;return s(),i("div",g,[j,(s(!0),i(x,null,f(b(c),e=>(s(),i("div",{key:e.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[e.image?(s(),i("div",k,[t("img",{src:e.image,class:"w-[120px] h-[90px] object-contain"},null,8,B)])):u("",!0),t("div",D,[t("div",S,r(e.title),1),t("div",I,r(e.desc),1),t("div",V,[t("div",null,r(e.create_time),1),t("div",N,[v(a,{name:"el-icon-View"}),t("div",A,r(e.click),1)])])])]))),128))])}}});const ut=m(C,[["__scopeId","data-v-18ea8db2"]]);export{ut as default};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user