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'];
|
||||
unset($params['id']);
|
||||
$result = ContractLogic::initiate_contract($params);
|
||||
if ($result['code'] == 1) {
|
||||
if (!empty($result) && $result['code'] == 1) {
|
||||
return $this->success($result['msg'], $result['data']);
|
||||
}
|
||||
return $this->fail(ContractLogic::getError());
|
||||
@ -197,11 +197,14 @@ class CompanyController extends BaseAdminController
|
||||
];
|
||||
$res = app(JunziqianController::class)->EnterpriseCertification($data);
|
||||
if ($res->success == true) {
|
||||
Db::name('company')->where('id', $params['id'])->update(['master_email' => $res->data]);
|
||||
return $this->success('系统认证中,请稍后刷新页面查看', ['email' => $res->data], 1, 1);
|
||||
Db::name('company')->where('id', $params['id'])->update(['master_email' => $res->data,'is_authentication'=>1]);
|
||||
return $this->success('认证成功',[],1, 1);
|
||||
// return $this->success('系统认证中,请稍后刷新页面查看', ['email' => $res->data], 1, 1);
|
||||
} else {
|
||||
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()
|
||||
{
|
||||
$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);
|
||||
if($this->adminInfo['root']!=1){
|
||||
$companyIds = CompanyLogic::getAllCompanyIds();
|
||||
if (!empty($companyIds)) {
|
||||
$query->whereIn('company_id', $companyIds);
|
||||
}
|
||||
$query->where('company_id', $this->adminInfo['company_id']);
|
||||
}
|
||||
|
||||
$ArticleLists = $query->with(['company'])
|
||||
@ -99,7 +96,11 @@ class ArticleLists extends BaseAdminDataLists implements ListsSearchInterface, L
|
||||
*/
|
||||
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()
|
||||
|
@ -59,14 +59,14 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
$params=$this->request->param();
|
||||
$where=[];
|
||||
if ($this->adminInfo['root'] != 1) {
|
||||
if($this->adminInfo['role_id'][0]==10){
|
||||
if(isset($params['type']) && $params['type']==1){
|
||||
$where[] = ['check_status', '=',1];
|
||||
}else{
|
||||
$where[] = ['status', '=',0];
|
||||
$where[] = ['check_status', 'in',[2,3]];
|
||||
}
|
||||
}
|
||||
// if($this->adminInfo['role_id'][0]==10){
|
||||
// if(isset($params['type']) && $params['type']==1){
|
||||
// $where[] = ['check_status', '=',1];
|
||||
// }else{
|
||||
// $where[] = ['status', '=',0];
|
||||
// $where[] = ['check_status', 'in',[2,3]];
|
||||
// }
|
||||
// }
|
||||
}
|
||||
if(isset($params['company_id']) && $params['company_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\lists\ListsSearchInterface;
|
||||
use app\common\model\user\UserAccountLog;
|
||||
use app\common\model\user\UserRole;
|
||||
use app\common\service\FileService;
|
||||
|
||||
|
||||
@ -38,7 +39,7 @@ class AccountLogLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
public function setSearch(): array
|
||||
{
|
||||
return [
|
||||
'=' => ['al.change_type'],
|
||||
'=' => ['change_type','company_id'],
|
||||
];
|
||||
}
|
||||
|
||||
@ -56,18 +57,13 @@ class AccountLogLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
$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'])) {
|
||||
$where[] = ['al.create_time', '>=', strtotime($this->params['start_time'])];
|
||||
$where[] = ['create_time', '>=', strtotime($this->params['start_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;
|
||||
}
|
||||
|
||||
@ -80,19 +76,16 @@ class AccountLogLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
*/
|
||||
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::alias('al')
|
||||
->join('user u', 'u.id = al.user_id')
|
||||
->field($field)
|
||||
->where($this->searchWhere)
|
||||
$lists = UserAccountLog::where($this->searchWhere)
|
||||
->with(['company_info','user_info'])
|
||||
->where($this->queryWhere())
|
||||
->order('al.id', 'desc')
|
||||
->order('id', 'desc')
|
||||
->limit($this->limitOffset, $this->limitLength)
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
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']);
|
||||
$symbol = $item['action'] == AccountLogEnum::INC ? '+' : '-';
|
||||
$item['change_amount'] = $symbol . $item['change_amount'];
|
||||
@ -110,9 +103,7 @@ class AccountLogLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
*/
|
||||
public function count(): int
|
||||
{
|
||||
return UserAccountLog::alias('al')
|
||||
->join('user u', 'u.id = al.user_id')
|
||||
->where($this->queryWhere())
|
||||
return UserAccountLog::where($this->queryWhere())
|
||||
->where($this->searchWhere)
|
||||
->count();
|
||||
}
|
||||
|
@ -104,7 +104,6 @@ class RechargeLists extends BaseAdminDataLists implements ListsSearchInterface,
|
||||
*/
|
||||
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 .= ',u.avatar,u.nickname,u.company_id';
|
||||
$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',
|
||||
'organization_code' => 'require',
|
||||
'master_name' => 'require',
|
||||
'id_card' => 'require',
|
||||
'master_position' => 'require',
|
||||
'master_phone' => 'require',
|
||||
'master_email' => 'require',
|
||||
@ -52,6 +53,7 @@ class CompanyValidate extends BaseValidate
|
||||
'company_name' => '公司名称',
|
||||
'organization_code' => '组织机构代码',
|
||||
'master_name' => '主联系人姓名',
|
||||
'id_card' => '主联系人身份证',
|
||||
'master_position' => '主联系人职务',
|
||||
'master_phone' => '主联系人手机',
|
||||
'master_email' => '主联系人邮箱',
|
||||
@ -68,7 +70,7 @@ class CompanyValidate extends BaseValidate
|
||||
*/
|
||||
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()
|
||||
{
|
||||
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
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\common\logic\finance\ShareProfit;
|
||||
use app\common\logic\task\TaskLogic;
|
||||
use app\common\model\Company;
|
||||
use app\common\model\company\CompanyAccountLog;
|
||||
use app\common\model\task\Task;
|
||||
use app\common\model\task_scheduling\TaskScheduling;
|
||||
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
||||
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 app\job\TaskAdd;
|
||||
use app\job\TaskInformationJob;
|
||||
use Symfony\Component\HttpClient\HttpClient;
|
||||
|
||||
class CeshiController extends BaseApiController
|
||||
{
|
||||
@ -21,24 +23,60 @@ class CeshiController extends BaseApiController
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
// $all=TaskSchedulingPlan::whereDay('end_time','yesterday')->where('is_pay',0)->with(['template_info','scheduling'])->select()->toArray();
|
||||
// halt($all);
|
||||
$all=TaskSchedulingPlan::whereDay('end_time')->where('is_pay',0)->with(['template_info','scheduling'])->select()->toArray();
|
||||
|
||||
// $transaction_pool=780;
|
||||
// $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){
|
||||
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(){
|
||||
|
||||
return false;
|
||||
$time=strtotime(date('Y-m-d'));
|
||||
// $time=strtotime(date('Y-m-d'));
|
||||
// $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){
|
||||
$all=TaskTemplate::where('status',1)->where('task_scheduling',$v['id'])->limit(30)->select()->toArray();
|
||||
if($all){
|
||||
@ -49,53 +87,7 @@ class CeshiController extends BaseApiController
|
||||
}
|
||||
$company_id=[];
|
||||
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){
|
||||
halt($v);
|
||||
TaskLogic::CronAdd($vv,$v);
|
||||
}
|
||||
$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]);
|
||||
}
|
||||
}
|
@ -187,4 +187,76 @@ class CompanyController extends BaseApiController
|
||||
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){
|
||||
$query = Contract::where("type",2)->where('party_b',$this->userId);
|
||||
} 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);
|
||||
$count = $query->count();
|
||||
$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]);
|
||||
}
|
||||
|
||||
|
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\common\model\contract\VehicleContract;
|
||||
use app\Request;
|
||||
use think\facade\Db;
|
||||
use think\response\Json;
|
||||
@ -18,14 +19,14 @@ class HetongController extends BaseApiController
|
||||
{
|
||||
|
||||
|
||||
public array $notNeedLogin = ['url'];
|
||||
public array $notNeedLogin = ['url','info'];
|
||||
|
||||
public function url()
|
||||
{
|
||||
$id = Request()->get('id');
|
||||
$type = Request()->get('type');
|
||||
$msg='合同不存在';
|
||||
if(!empty($type)){
|
||||
if(empty($type)){
|
||||
$msg='参数错误';
|
||||
}
|
||||
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>';
|
||||
}
|
||||
|
||||
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
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
|
||||
use app\api\logic\IndexLogic;
|
||||
use app\common\model\Company;
|
||||
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\Log;
|
||||
use think\response\Json;
|
||||
@ -30,11 +30,7 @@ use think\response\Json;
|
||||
*/
|
||||
class IndexController extends BaseApiController
|
||||
{
|
||||
|
||||
|
||||
public array $notNeedLogin = ['index', 'config', 'policy', 'decorate', 'notifyUrl','notifyProperty','notifyAuthentication'];
|
||||
|
||||
|
||||
public array $notNeedLogin = ['index', 'config', 'policy', 'decorate', 'notifyUrl', 'notifyProperty', 'notifyAuthentication', 'notifyVehicleContractUpdate', 'systemCarRent', 'selfCarRent', 'cancelRent'];
|
||||
|
||||
/**
|
||||
* @notes 首页数据
|
||||
@ -63,8 +59,9 @@ class IndexController extends BaseApiController
|
||||
*/
|
||||
public function config()
|
||||
{
|
||||
$parmas = $this->request->param();
|
||||
$group_id = $this->userInfo ? $this->userInfo['group_id'] : 1;
|
||||
$result = IndexLogic::getConfigData($group_id);
|
||||
$result = IndexLogic::getConfigData($group_id, $parmas);
|
||||
return $this->data($result);
|
||||
}
|
||||
|
||||
@ -116,43 +113,274 @@ class IndexController extends BaseApiController
|
||||
Db::name('user')->where('id', $find['party_b'])->update(['is_contract' => 1]);
|
||||
}
|
||||
}
|
||||
try {
|
||||
//获取租赁信息
|
||||
$vehicleRent = Db::name('vehicle_rent')->where('contract_id',$a['id'])->find();
|
||||
//获取公司信息
|
||||
$company = Db::name('company')->where('id',$vehicleRent['party_b'])->find();
|
||||
//通知物流系统
|
||||
if($vehicleRent && $company){
|
||||
$result = curl_post('http://logistics.lihaink.cn/api/vehicleRent', [], [
|
||||
'contract_id' => $a['id'],
|
||||
'car_id' => $vehicleRent['car_ids'],
|
||||
'company_id' => $company['id'],
|
||||
'company_name' => $company['company_name'],
|
||||
'company_user_id' => $company['user_id'],
|
||||
'company_user_name' => $company['master_name'],
|
||||
'company_user_phone' => $company['master_phone'],
|
||||
'rent_type' => $vehicleRent['rent_type']
|
||||
}
|
||||
}
|
||||
return json(['success' => true, 'msg' => '成功']);
|
||||
}
|
||||
|
||||
//镇街车辆租赁回调
|
||||
public function townCarRent() {
|
||||
$id = Request()->get('id');
|
||||
if(empty($id)){
|
||||
return json(['success' => false, 'msg' => '缺少参数']);
|
||||
}
|
||||
//获取合同数据
|
||||
$contract = VehicleContract::where('id', $id)->find();
|
||||
if (empty($contract)) {
|
||||
return json(['success' => false, 'msg' => '获取数据失败']);
|
||||
}
|
||||
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){
|
||||
$carids = explode(',',$vehicleRent['car_ids']);
|
||||
$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();
|
||||
if(!$updateLocalRes || $updateSverRes['code']==0){
|
||||
return json(['success' => false, 'msg' => '更新失败']);
|
||||
}
|
||||
Db::name('company_property')->insertAll($pro_data);
|
||||
Db::name('vehicle_rent')->update(['status'=>2,'update_time'=>time(),'id'=>$vehicleRent['id']]);
|
||||
}
|
||||
}
|
||||
}catch (\Exception $e){
|
||||
return false;
|
||||
}else if($contract['signing_timer'] == 1){
|
||||
//更新本地合同状态
|
||||
$updateLocalRes = VehicleContract::where('id',$contract['id'])->update(['signing_timer'=>2,'status' => 3]);
|
||||
//更新远程
|
||||
$updateSverRes =curl_post(env('project.logistic_domain').'/api/index/notifyContractUpdate',[],[
|
||||
'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' => '成功']);
|
||||
} 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('更新失败');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -177,9 +405,10 @@ class IndexController extends BaseApiController
|
||||
$data[$k]['type'] = 1;
|
||||
}
|
||||
}
|
||||
if (count($data)>0){
|
||||
$res = CompanyProperty::insertAll($data);
|
||||
if (count($data) <= 0) {
|
||||
return json(['success' => false, 'msg' => '失败']);
|
||||
}
|
||||
$res = CompanyProperty::insertAll($data);
|
||||
if ($res) {
|
||||
return json(['success' => true, 'msg' => '成功']);
|
||||
} else {
|
||||
@ -195,12 +424,19 @@ class IndexController extends BaseApiController
|
||||
public function notifyAuthentication()
|
||||
{
|
||||
$parmas = Request()->param();
|
||||
Log::error('notifyAuthentication', $parmas);
|
||||
Log::info('认证回调:'.$parmas);
|
||||
try {
|
||||
if ($parmas) {
|
||||
Company::where('id',$parmas['id'])->update(['is_authentication'=>1]);
|
||||
return json(['success' => true, 'msg' => '成功']);
|
||||
|
||||
$data=json_decode($parmas['data'],true);
|
||||
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' => '失败,没有参数']);
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\common\model\contract\VehicleContract;
|
||||
use app\Request;
|
||||
use junziqian\sdk\bean\req\sign\ApplySignReq;
|
||||
use junziqian\sdk\bean\req\user\OrganizationCreateReq;
|
||||
@ -21,7 +22,12 @@ class JunziqianController extends BaseApiController
|
||||
private $appkey = '3121e0d911b7943d';
|
||||
/**secret*/
|
||||
private $appSecret = '1e66d8b73121e0d911b7943d82bba174';
|
||||
|
||||
/**请求地址*/
|
||||
// private $serviceUrl = 'https://api.junziqian.com';
|
||||
// /**appkey*/
|
||||
// private $appkey = '62dc4ab579153712';
|
||||
// /**secret*/
|
||||
// private $appSecret = 'b7f65acc62dc4ab579153712fc9ebfc5';
|
||||
/**默认加密方式:不输入使用sha256,其它可选择项md5,sha1,sha3-256*/
|
||||
private $encryMethod;
|
||||
/**默认ts单位:1毫秒,2秒*/
|
||||
@ -74,7 +80,9 @@ class JunziqianController extends BaseApiController
|
||||
if (isset($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);
|
||||
return $response;
|
||||
@ -126,7 +134,48 @@ class JunziqianController extends BaseApiController
|
||||
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);
|
||||
$request = new ApplySignReq();
|
||||
@ -135,7 +184,8 @@ class JunziqianController extends BaseApiController
|
||||
$request->serverCa = 1; //是否需要服务端云证书
|
||||
$request->fileType = 1; //合同上传方式 url
|
||||
$request->url = $data['url'];
|
||||
$request->notifyUrl = 'https://worker-task.lihaink.cn/notify_url?id=' . $id;
|
||||
$request->notifyUrl = $notify.'?id='.$id;
|
||||
|
||||
$request->needQifengSign = 1;
|
||||
//发起PING请求
|
||||
// halt($request);
|
||||
@ -143,6 +193,25 @@ class JunziqianController extends BaseApiController
|
||||
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)
|
||||
{
|
||||
//构建请求工具
|
||||
@ -180,7 +249,7 @@ class JunziqianController extends BaseApiController
|
||||
$request->serverCa = 1; //是否需要服务端云证书
|
||||
$request->fileType = 3;
|
||||
$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;
|
||||
|
||||
//发起PING请求
|
||||
@ -193,7 +262,7 @@ class JunziqianController extends BaseApiController
|
||||
$requestUtils = new RequestUtils($this->serviceUrl, $this->appkey, $this->appSecret);
|
||||
$find = Db::name('contract')->where('contract_no', $applyNo)->value('contract_url');
|
||||
if ($find) {
|
||||
return $this->success('获取成功', ['url' => 'https://worker-task.lihaink.cn' . $find]);
|
||||
return $this->success('获取成功', ['url' => env('url.url_prefix') . $find]);
|
||||
}
|
||||
//初始化请求参数
|
||||
$request = array(
|
||||
@ -203,7 +272,7 @@ class JunziqianController extends BaseApiController
|
||||
if ($response->success == true) {
|
||||
$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']);
|
||||
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 {
|
||||
return $this->fail('获取失败');
|
||||
}
|
||||
|
@ -16,9 +16,13 @@ namespace app\api\controller;
|
||||
|
||||
use app\api\validate\{LoginAccountValidate, RegisterValidate, WebScanLoginValidate, WechatLoginValidate};
|
||||
use app\api\logic\LoginLogic;
|
||||
use app\Request;
|
||||
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
|
||||
{
|
||||
|
||||
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,7 +52,8 @@ class LoginController extends BaseApiController
|
||||
return $this->fail(LoginLogic::getError());
|
||||
}
|
||||
|
||||
public function add(){
|
||||
public function add()
|
||||
{
|
||||
$params = Request()->param();
|
||||
$params['company_id'] = $this->userInfo['company_id'];
|
||||
$result = LoginLogic::register($params);
|
||||
@ -72,7 +77,7 @@ class LoginController extends BaseApiController
|
||||
* @notes 账号密码/手机号密码/手机号验证码登录
|
||||
* @return \think\response\Json
|
||||
* @author 段誉
|
||||
* @date 2022/9/16 10:42
|
||||
* @date 2022/9/16 10:42la_other_user
|
||||
*/
|
||||
public function account()
|
||||
{
|
||||
@ -84,6 +89,22 @@ class LoginController extends BaseApiController
|
||||
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 退出登录
|
||||
@ -234,6 +255,4 @@ class LoginController extends BaseApiController
|
||||
LoginLogic::updateUser($params, $this->userId);
|
||||
return $this->success('操作成功', [], 1, 1);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -5,13 +5,14 @@ namespace app\api\controller;
|
||||
use Symfony\Component\HttpClient\HttpClient;
|
||||
use think\facade\Log;
|
||||
use app\common\model\informationg\UserInformationg;
|
||||
use app\common\model\task_template\TaskTemplate;
|
||||
|
||||
class RemoteController extends BaseApiController
|
||||
{
|
||||
|
||||
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){
|
||||
$start_time = date('Y-m-d');
|
||||
@ -33,20 +34,20 @@ class RemoteController extends BaseApiController
|
||||
];
|
||||
switch ($company['company_type']) {
|
||||
case 18:
|
||||
$parmas['brigade_id'] = $company['brigade'];
|
||||
$parmas['brigade_id'] = $company['responsible_area'];
|
||||
$parmas['village_code'] = $company['village'];
|
||||
$parmas['street_code'] = $company['street'];
|
||||
$parmas['district_code'] = $company['area'];
|
||||
$parmas['city_code'] = $company['city'];
|
||||
break;
|
||||
case 17:
|
||||
$parmas['village_code'] = $company['village'];
|
||||
$parmas['village_code'] = $company['responsible_area'];
|
||||
$parmas['street_code'] = $company['street'];
|
||||
$parmas['district_code'] = $company['area'];
|
||||
$parmas['city_code'] = $company['city'];
|
||||
break;
|
||||
case 16:
|
||||
$parmas['street_code'] = $company['street'];
|
||||
$parmas['street_code'] = $company['responsible_area'];
|
||||
$parmas['district_code'] = $company['area'];
|
||||
$parmas['city_code'] = $company['city'];
|
||||
break;
|
||||
@ -63,7 +64,7 @@ class RemoteController extends BaseApiController
|
||||
return false;
|
||||
}
|
||||
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,
|
||||
]);
|
||||
$json = json_decode($res->getContent(), true);
|
||||
@ -75,11 +76,12 @@ class RemoteController extends BaseApiController
|
||||
$arr['total_price'] = $json['data']['total_price'];
|
||||
//基础金额*(每日基户数*天数)//且户数小于公司总户数
|
||||
$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;
|
||||
}else{
|
||||
$user_count_two = 5 * $company['day_count'];
|
||||
$user_count_two = 5 * $day_count;
|
||||
}
|
||||
if ($user_count_two > $user_count) {
|
||||
$user_count_money = 58 * $user_count;
|
||||
@ -122,20 +124,20 @@ class RemoteController extends BaseApiController
|
||||
];
|
||||
switch ($company['company_type']) {
|
||||
case 18:
|
||||
$parmas['brigade_id'] = $company['brigade'];
|
||||
$parmas['brigade_id'] = $company['responsible_area'];
|
||||
$parmas['village_code'] = $company['village'];
|
||||
$parmas['street_code'] = $company['street'];
|
||||
$parmas['district_code'] = $company['area'];
|
||||
$parmas['city_code'] = $company['city'];
|
||||
break;
|
||||
case 17:
|
||||
$parmas['village_code'] = $company['village'];
|
||||
$parmas['village_code'] = $company['responsible_area'];
|
||||
$parmas['street_code'] = $company['street'];
|
||||
$parmas['district_code'] = $company['area'];
|
||||
$parmas['city_code'] = $company['city'];
|
||||
break;
|
||||
case 16:
|
||||
$parmas['street_code'] = $company['street'];
|
||||
$parmas['street_code'] = $company['responsible_area'];
|
||||
$parmas['district_code'] = $company['area'];
|
||||
$parmas['city_code'] = $company['city'];
|
||||
break;
|
||||
@ -153,12 +155,13 @@ class RemoteController extends BaseApiController
|
||||
if(isset($querys['page'])){
|
||||
$parmas['page']=$querys['page'];
|
||||
}
|
||||
|
||||
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,
|
||||
]);
|
||||
|
||||
$json_list = json_decode($list->getContent(), true);
|
||||
|
||||
$data=[];
|
||||
if($json_list['status'] == 200){
|
||||
$data=$json_list['data']['list'];
|
||||
@ -175,17 +178,18 @@ class RemoteController extends BaseApiController
|
||||
* 获取坐标的距离
|
||||
*/
|
||||
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,
|
||||
]);
|
||||
$json=json_decode($res->getContent(),true);
|
||||
$points=$json['data'];
|
||||
|
||||
if(empty($points)){
|
||||
return false;
|
||||
}
|
||||
$target =[
|
||||
"lat"=> $latitude1,
|
||||
"lon"=> $longitude1
|
||||
];
|
||||
|
||||
$closestPoint = $this->getClosestPoint($points, $target);
|
||||
return $this->calculateDistance($target['lon'], $target['lat'], $closestPoint[0]['lon'], $closestPoint[0]['lat']);
|
||||
|
||||
@ -204,6 +208,8 @@ class RemoteController extends BaseApiController
|
||||
if ($distance < $minDistance) {
|
||||
$minDistance = $distance;
|
||||
$closestPoint = $point;
|
||||
}else{
|
||||
$distance=0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -225,6 +231,6 @@ class RemoteController extends BaseApiController
|
||||
sin($dLon/2) * sin($dLon/2);
|
||||
$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\informationg\UserInformationg;
|
||||
use app\common\model\task\Task;
|
||||
use app\common\model\task_template\TaskTemplate;
|
||||
use app\common\model\user\User;
|
||||
use think\facade\Log;
|
||||
|
||||
class TaskController extends BaseApiController
|
||||
{
|
||||
@ -55,9 +57,15 @@ class TaskController extends BaseApiController
|
||||
->select()->toArray();
|
||||
foreach ($res as $k => $item) {
|
||||
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(); // 可能要判断预存金是否满足
|
||||
$find = App(RemoteController::class)->shang_date_total_price($company,1,$param);
|
||||
$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,$item['template_id']);
|
||||
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;
|
||||
Task::where('id',$item['id'])->update(['extend'=>json_encode(['transaction'=>$find],true)]);
|
||||
} else {
|
||||
@ -72,23 +80,38 @@ class TaskController extends BaseApiController
|
||||
public function order_detail()
|
||||
{
|
||||
$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){
|
||||
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(); // 可能要判断预存金是否满足
|
||||
// $find = App(RemoteController::class)->shang_date_total_price($company);
|
||||
$transaction_pool=TaskTemplate::where('id',$task['template_id'])->value('transaction_pool');
|
||||
|
||||
$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['end_time']=$task['end_time'].' 23:59:59';
|
||||
$list = App(RemoteController::class)->shang_date_list($company, 1, $parmas);
|
||||
if ($task != false) {
|
||||
$find['list'] = $list;
|
||||
$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');
|
||||
}
|
||||
|
||||
/**
|
||||
* 入股
|
||||
*/
|
||||
public function shareholder(){
|
||||
$parmas = $this->request->param();
|
||||
$task = TaskLogic::detail($parmas);
|
||||
return $this->success('ok', $task);
|
||||
}
|
||||
/**
|
||||
* 三轮车详情
|
||||
*/
|
||||
|
@ -2,149 +2,591 @@
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\common\logic\vehicle\VehicleLogic;
|
||||
use app\common\enum\notice\NoticeEnum;
|
||||
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
|
||||
{
|
||||
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('缺少必要参数');
|
||||
}
|
||||
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']){
|
||||
return $this->fail('甲方和乙方不能是同一个公司');
|
||||
//查找乙方公司信息
|
||||
$party_b = Company::field('id,company_name,organization_code,master_name,master_phone,master_email,company_type')->where('id',$this->userInfo['company_id'])->find();
|
||||
if(empty($party_b)) {
|
||||
return $this->fail('数据不存在');
|
||||
}
|
||||
$params['rent_type'] = 1;//镇街公司批量租赁
|
||||
$result = VehicleLogic::initiate_contract($params);
|
||||
//返回数据
|
||||
if($result['code'] == 1){
|
||||
return $this->success($result['msg'],$result['data']);
|
||||
//判断是否是镇街公司
|
||||
if($party_b['company_type'] != 16){
|
||||
return ['code'=>0,'msg'=>'非镇街公司不能签约'];
|
||||
}
|
||||
//发送生成合同给物流信息
|
||||
$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{
|
||||
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']);
|
||||
//验证参数
|
||||
if(empty($params['party_b']) || empty($params['car_ids'])){
|
||||
$params = $this->request->post(['id','car_id']);
|
||||
if(empty($params['id'])){
|
||||
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($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)){
|
||||
if($this->userInfo['company_id'] != $vehicleContract['company_a_id']){
|
||||
return $this->fail('数据错误');
|
||||
}
|
||||
$result = VehicleLogic::villageCompanyCar($company_id);
|
||||
//返回数据
|
||||
if($result['code'] == 1){
|
||||
return $this->success($result['msg'],$result['data']);
|
||||
if($vehicleContract['status'] != -1) {
|
||||
return $this->fail('数据状态错误');
|
||||
}
|
||||
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{
|
||||
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']);
|
||||
//验证参数
|
||||
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'])){
|
||||
$params = $this->request->post(['id']);
|
||||
if(empty($params['id'])){
|
||||
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('数据不存在');
|
||||
}
|
||||
//获取车辆详情
|
||||
$result = curl_post('http://logistics.lihaink.cn/api/carInfo',[],$params);
|
||||
//返回数据
|
||||
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($contract['status'] != 1){
|
||||
return $this->fail('合同状态错误');
|
||||
}
|
||||
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{
|
||||
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');
|
||||
$result = curl_post('http://logistics.lihaink.cn/api/checkNum',[],['num'=>$num]);
|
||||
//返回数据
|
||||
if($result && $result['code'] == 1){
|
||||
return $this->success($result['msg'],$result['data']);
|
||||
$id = $this->request->post('id');
|
||||
if(empty($id)){
|
||||
return $this->fail('参数错误');
|
||||
}
|
||||
//获取数据
|
||||
$contract = VehicleContract::where('id',$id)->find();
|
||||
if(empty($contract)){
|
||||
return $this->fail('数据错误');
|
||||
}
|
||||
if($contract['type'] == 2){
|
||||
$smsTitle = '《解约合同》';
|
||||
}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小时后的时间戳
|
||||
$where[] = ['create_time', 'between', [$startTime, $endTime]];
|
||||
}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)
|
||||
->where($where)
|
||||
->with(['userInfo'])
|
||||
|
@ -16,6 +16,7 @@ namespace app\api\logic;
|
||||
|
||||
|
||||
use app\common\logic\BaseLogic;
|
||||
use app\common\model\AppUpdate;
|
||||
use app\common\model\article\Article;
|
||||
use app\common\model\decorate\DecoratePage;
|
||||
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\FileService;
|
||||
|
||||
|
||||
/**
|
||||
* index
|
||||
* Class IndexLogic
|
||||
@ -106,7 +106,7 @@ class IndexLogic extends BaseLogic
|
||||
* @author 段誉
|
||||
* @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) {
|
||||
$group_id = 1;
|
||||
@ -114,7 +114,7 @@ class IndexLogic extends BaseLogic
|
||||
$group_find = UserRole::where('id', $group_id)->find();
|
||||
$menu = [];
|
||||
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 = [];
|
||||
foreach ($select as $k => $v) {
|
||||
if ($v['pid'] == 0) {
|
||||
@ -131,41 +131,64 @@ class IndexLogic extends BaseLogic
|
||||
$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 = [
|
||||
// 登录方式
|
||||
'login_way' => ConfigService::get('login', 'login_way', config('project.login.login_way')),
|
||||
// 注册强制绑定手机
|
||||
'coerce_mobile' => ConfigService::get('login', 'coerce_mobile', config('project.login.coerce_mobile')),
|
||||
// 政策协议
|
||||
'login_agreement' => ConfigService::get('login', 'login_agreement', config('project.login.login_agreement')),
|
||||
// 第三方登录 开关
|
||||
// 'third_auth' => ConfigService::get('login', 'third_auth', config('project.login.third_auth')),
|
||||
// 微信授权登录
|
||||
'wechat_auth' => ConfigService::get('login', 'wechat_auth', config('project.login.wechat_auth')),
|
||||
// qq授权登录
|
||||
// 'qq_auth' => ConfigService::get('login', 'qq_auth', config('project.login.qq_auth')),
|
||||
];
|
||||
// $loginConfig = [
|
||||
// // 登录方式
|
||||
// 'login_way' => ConfigService::get('login', 'login_way', config('project.login.login_way')),
|
||||
// // 注册强制绑定手机
|
||||
// 'coerce_mobile' => ConfigService::get('login', 'coerce_mobile', config('project.login.coerce_mobile')),
|
||||
// // 政策协议
|
||||
// 'login_agreement' => ConfigService::get('login', 'login_agreement', config('project.login.login_agreement')),
|
||||
// // 第三方登录 开关
|
||||
// // 'third_auth' => ConfigService::get('login', 'third_auth', config('project.login.third_auth')),
|
||||
// // 微信授权登录
|
||||
// 'wechat_auth' => ConfigService::get('login', 'wechat_auth', config('project.login.wechat_auth')),
|
||||
// // qq授权登录
|
||||
// // 'qq_auth' => ConfigService::get('login', 'qq_auth', config('project.login.qq_auth')),
|
||||
// ];
|
||||
// 网址信息
|
||||
$website = [
|
||||
'shop_name' => ConfigService::get('website', 'shop_name'),
|
||||
'shop_logo' => FileService::getFileUrl(ConfigService::get('website', 'shop_logo')),
|
||||
];
|
||||
// H5配置
|
||||
|
||||
|
||||
// $website = [
|
||||
// 'shop_name' => ConfigService::get('website', 'shop_name'),
|
||||
// 'shop_logo' => FileService::getFileUrl(ConfigService::get('website', 'shop_logo')),
|
||||
// ];
|
||||
$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 [
|
||||
'domain' => FileService::getFileUrl(),
|
||||
'style' => $style,
|
||||
'tabbar' => $tabbar,
|
||||
// 'style' => $style,
|
||||
// 'tabbar' => $tabbar,
|
||||
'menu' => $menu,
|
||||
'login' => $loginConfig,
|
||||
'website' => $website,
|
||||
'version'=> config('project.version')
|
||||
// 'login' => $loginConfig,
|
||||
// 'website' => $website,
|
||||
'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 think\facade\{Db, Config};
|
||||
|
||||
use Firebase\JWT\JWT;
|
||||
use Firebase\JWT\Key;
|
||||
/**
|
||||
* 登录逻辑
|
||||
* Class LoginLogic
|
||||
@ -135,7 +136,13 @@ class LoginLogic extends BaseLogic
|
||||
//返回登录信息
|
||||
$avatar = $user->avatar ?: Config::get('project.default_image.user_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 [
|
||||
'nickname' => $userInfo['nickname'],
|
||||
'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 退出登录
|
||||
* @param $userInfo
|
||||
|
@ -19,7 +19,7 @@ use app\common\logic\BaseLogic;
|
||||
use app\common\model\recharge\RechargeOrder;
|
||||
use app\common\model\user\User;
|
||||
use app\common\service\ConfigService;
|
||||
|
||||
use think\facade\Log;
|
||||
|
||||
/**
|
||||
* 充值逻辑层
|
||||
@ -46,6 +46,9 @@ class RechargeLogic extends BaseLogic
|
||||
'pay_status' => PayEnum::UNPAID,
|
||||
'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);
|
||||
|
||||
return [
|
||||
|
@ -78,13 +78,16 @@ class UserTokenService
|
||||
public static function overtimeToken($token)
|
||||
{
|
||||
$time = time();
|
||||
$adminSession = UserSession::where('token', '=', $token)->find();
|
||||
$userSession = UserSession::where('token', '=', $token)->find();
|
||||
if ($userSession->isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
//延长token过期时间
|
||||
$adminSession->expire_time = $time + Config::get('project.user_token.expire_duration');
|
||||
$adminSession->update_time = $time;
|
||||
$adminSession->save();
|
||||
$userSession->expire_time = $time + Config::get('project.user_token.expire_duration');
|
||||
$userSession->update_time = $time;
|
||||
$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\contract\Contract;
|
||||
use app\common\model\user\User;
|
||||
use think\Exception;
|
||||
use think\exception\ValidateException;
|
||||
use think\facade\Db;
|
||||
use app\adminapi\validate\CompanyValidate;
|
||||
@ -54,6 +55,13 @@ class CompanyLogic extends BaseLogic
|
||||
// if (!empty($exist)) {
|
||||
// throw new ValidateException('该账号已经注册过企业');
|
||||
// }
|
||||
|
||||
// 手机号不能重复
|
||||
$companyInfo = Company::where(['master_phone'=>$params['master_phone']])->find();
|
||||
if (!empty($companyInfo)) {
|
||||
Db::rollback();
|
||||
throw new Exception('手机号已存在');
|
||||
}
|
||||
$arr=[
|
||||
'company_name' => $params['company_name'],
|
||||
'organization_code' => $params['organization_code'],
|
||||
@ -66,6 +74,7 @@ class CompanyLogic extends BaseLogic
|
||||
'address' => $params['address'],
|
||||
'company_type' => $params['company_type'],
|
||||
'master_name' => $params['master_name'],
|
||||
'master_id_card' => $params['id_card'], // 主联系人证件号
|
||||
'master_position' => $params['master_position'],
|
||||
'master_phone' => $params['master_phone'],
|
||||
'master_email' => $params['master_email'],
|
||||
@ -123,9 +132,6 @@ class CompanyLogic extends BaseLogic
|
||||
'company_type'=>$params['company_type'],
|
||||
];
|
||||
TaskScheduling::create($scheduling);
|
||||
// if ($level_one > 0) {
|
||||
// $contractId = self::contract($data['id'], $params);
|
||||
// }
|
||||
Db::commit();
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
@ -147,6 +153,12 @@ class CompanyLogic extends BaseLogic
|
||||
{
|
||||
Db::startTrans();
|
||||
try {
|
||||
// 手机号不能重复
|
||||
$companyInfo = Company::where(['master_phone'=>$params['master_phone']])->find();
|
||||
if (!empty($companyInfo)) {
|
||||
Db::rollback();
|
||||
throw new Exception('手机号已存在');
|
||||
}
|
||||
$arr=[
|
||||
'company_name' => $params['company_name'],
|
||||
'organization_code' => $params['organization_code'],
|
||||
@ -159,6 +171,7 @@ class CompanyLogic extends BaseLogic
|
||||
'address' => $params['address'],
|
||||
'company_type' => $params['company_type'],
|
||||
'master_name' => $params['master_name'],
|
||||
'master_id_card' => $params['id_card'], // 主联系人证件号
|
||||
'master_position' => $params['master_position'],
|
||||
'master_phone' => $params['master_phone'],
|
||||
'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['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;
|
||||
@ -270,15 +287,4 @@ class CompanyLogic extends BaseLogic
|
||||
$model->save();
|
||||
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\user\AccountLogEnum;
|
||||
use app\common\model\company\CompanyAccountLog;
|
||||
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 think\facade\Db;
|
||||
use think\facade\Log;
|
||||
@ -61,6 +64,14 @@ class PayNotifyLogic extends BaseLogic
|
||||
public static function recharge($orderSn, $extra = [])
|
||||
{
|
||||
$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->total_recharge_amount += $order->order_amount;
|
||||
@ -76,6 +87,7 @@ class PayNotifyLogic extends BaseLogic
|
||||
$order->sn,
|
||||
'用户充值'
|
||||
);
|
||||
}
|
||||
|
||||
// 更新充值订单状态
|
||||
$order->transaction_id = $extra['transaction_id'];
|
||||
@ -83,6 +95,4 @@ class PayNotifyLogic extends BaseLogic
|
||||
$order->pay_time = time();
|
||||
$order->save();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -177,13 +177,41 @@ class ContractLogic extends BaseLogic
|
||||
return $data['status'] == 1 ? '已签约' : '未签约';
|
||||
})
|
||||
->find();
|
||||
$data['signed_contract_url'] = self::getSignedContract($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)
|
||||
{
|
||||
$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)) {
|
||||
$model = new Contract();
|
||||
$model->contract_no = time();
|
||||
@ -205,15 +233,6 @@ class ContractLogic extends BaseLogic
|
||||
$model->update_time = time();
|
||||
$model->setAttrs($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){
|
||||
return ['code'=>1,'msg'=>'发起成功,等待平台风控部上传合同','data'=>['id'=>$model->id]];
|
||||
}else{
|
||||
@ -235,17 +254,17 @@ class ContractLogic extends BaseLogic
|
||||
}
|
||||
if ($result && isset($result['contract']) && isset($result['contract']['file']) && $result['contract']['file'] != '') {
|
||||
if ($result['contract']['check_status'] == 3) {
|
||||
return self::setError('你已经生成过合同,请问重复生成');
|
||||
return self::setError('你已经生成过合同,请勿重复生成');
|
||||
}
|
||||
if($type==1){
|
||||
$name=$result['company_name'];
|
||||
$data = [
|
||||
'name' => $name . '的合同',
|
||||
'signatories' => [
|
||||
['fullName' => $name, 'identityType' => 12, 'identityCard' => $result['organization_code'], 'email' => $result['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, '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, 'authLevel'=>[11],'signLevel' => 1]
|
||||
],
|
||||
'url' => $result['contract']['file']
|
||||
'url' => $result['contract']['file'],
|
||||
];
|
||||
}else{
|
||||
$name=$result['nickname'];
|
||||
|
@ -5,20 +5,25 @@ namespace app\common\logic\finance;
|
||||
use app\common\enum\user\AccountLogEnum;
|
||||
use app\common\logic\AccountLogLogic;
|
||||
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 think\facade\Db;
|
||||
use think\facade\Log;
|
||||
|
||||
class ShareProfit
|
||||
{
|
||||
public function first($data, $company)
|
||||
public function first($data, $company, $datas = [])
|
||||
{
|
||||
if ($company['day_count'] <= $data['proportion_one']) {
|
||||
$proportion = $data['proportion_one'];
|
||||
} else {
|
||||
$proportion = $data['proportion_two'];
|
||||
}
|
||||
// if ($company['day_count'] <= $data['proportion_one']) {
|
||||
// $proportion = $data['proportion_one'];
|
||||
// } else {
|
||||
// $proportion = $data['proportion_two'];
|
||||
// }
|
||||
Db::startTrans();
|
||||
try {
|
||||
$proportion = 0;
|
||||
//总金额除以2等于不可提现账号金额和收益
|
||||
$master_maoney = bcdiv($data['money'], 2, 2);
|
||||
//收益的百分之25为负责人的收益其余为成员的平分收益
|
||||
@ -31,8 +36,7 @@ class ShareProfit
|
||||
$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']];
|
||||
$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']];
|
||||
@ -46,7 +50,52 @@ class ShareProfit
|
||||
$this->Account($arr_two);
|
||||
}
|
||||
//公司
|
||||
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();
|
||||
return true;
|
||||
} 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
|
||||
*/
|
||||
|
@ -17,6 +17,7 @@ namespace app\common\logic\task;
|
||||
|
||||
use app\common\model\task\Task;
|
||||
use app\common\logic\BaseLogic;
|
||||
use app\common\model\Company;
|
||||
use app\common\model\informationg\UserInformationg;
|
||||
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
||||
use app\common\model\task_template\TaskTemplate;
|
||||
@ -73,8 +74,16 @@ class TaskLogic extends BaseLogic
|
||||
public static function CronAdd(array $v, $datas): bool
|
||||
{
|
||||
try {
|
||||
if ($v['types'] == 3) {
|
||||
$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=TaskSchedulingPlan::create([
|
||||
$TaskSchedulingPlan_data = [
|
||||
'create_user_id' => 0,
|
||||
'company_id' => $v['company_id'],
|
||||
'template_id' => $v['id'],
|
||||
@ -83,7 +92,8 @@ class TaskLogic extends BaseLogic
|
||||
'end_time' => $time + 86399,
|
||||
'sn' => User::createUserSn(),
|
||||
'status' => 1
|
||||
]);
|
||||
];
|
||||
$TaskSchedulingPlan = TaskSchedulingPlan::create($TaskSchedulingPlan_data);
|
||||
$arr = [
|
||||
'template_id' => $v['id'],
|
||||
'scheduling_plan_id' => $TaskSchedulingPlan['id'],
|
||||
@ -118,12 +128,56 @@ class TaskLogic extends BaseLogic
|
||||
if ($v['type'] == 32) {
|
||||
$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);
|
||||
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;
|
||||
} catch (\Exception $e) {
|
||||
Log::error('定时任务添加失败', [$e->getMessage()]);
|
||||
Log::error('定时任务添加失败'.$e->getMessage().'line'.$e->getLine());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -131,26 +185,26 @@ class TaskLogic extends BaseLogic
|
||||
private static function task_money($v, $datas)
|
||||
{
|
||||
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'];
|
||||
} else {
|
||||
return $v['money_two'];
|
||||
}
|
||||
} 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'];
|
||||
} elseif ($datas['company_info']['day_count'] <= $v['stage_day_two']) {
|
||||
} elseif ($v['day_count'] <= $v['stage_day_two']) {
|
||||
return $v['money_two'];
|
||||
} else {
|
||||
return $v['money_three'];
|
||||
}
|
||||
} else {
|
||||
if ( $datas['company_info']['day_count'] <= $v['stage_day_one']) {
|
||||
if ($v['day_count'] <= $v['stage_day_one']) {
|
||||
$a = $v['money'];
|
||||
} else {
|
||||
$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]);
|
||||
}
|
||||
return $a;
|
||||
|
@ -62,12 +62,12 @@ class TaskTemplateLogic extends BaseLogic
|
||||
return false;
|
||||
}
|
||||
$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('任务模板二阶段合计金额不能大于任务调度金额');
|
||||
return false;
|
||||
}
|
||||
$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('任务模板长期合计金额不能大于任务调度金额');
|
||||
return false;
|
||||
}
|
||||
@ -81,6 +81,9 @@ class TaskTemplateLogic extends BaseLogic
|
||||
if($params['types']!=33){
|
||||
$params['money_three']=0;
|
||||
}
|
||||
if($params['type']==35){
|
||||
$params['extend']=['shareholder'=>['user_id'=>$params['task_admin']]];
|
||||
}
|
||||
TaskTemplate::create([
|
||||
'title' => $params['title'],
|
||||
'admin_id' => $params['admin_id'],
|
||||
@ -98,6 +101,7 @@ class TaskTemplateLogic extends BaseLogic
|
||||
'proportion_one' => $params['proportion_one']??0,
|
||||
'stage_day_two' => $params['stage_day_two']??0,
|
||||
'proportion_two' => $params['proportion_two']??0,
|
||||
'recharge' => $params['recharge']??0,
|
||||
]);
|
||||
|
||||
Db::commit();
|
||||
@ -121,7 +125,7 @@ class TaskTemplateLogic extends BaseLogic
|
||||
{
|
||||
Db::startTrans();
|
||||
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']){
|
||||
self::setError('已经有同一种任务类型了');
|
||||
return false;
|
||||
@ -134,17 +138,17 @@ class TaskTemplateLogic extends BaseLogic
|
||||
}
|
||||
}
|
||||
$moeny=TaskTemplate::where('company_id', $params['company_id'])->sum('money');
|
||||
if($moeny+$params['money']>200){
|
||||
if($moeny+$params['money']-$find['money']>200){
|
||||
self::setError('任务模板一阶段合计金额不能大于任务调度金额');
|
||||
return false;
|
||||
}
|
||||
$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('任务模板二阶段合计金额不能大于任务调度金额');
|
||||
return false;
|
||||
}
|
||||
$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('任务模板长期合计金额不能大于任务调度金额');
|
||||
return false;
|
||||
}
|
||||
@ -158,6 +162,9 @@ class TaskTemplateLogic extends BaseLogic
|
||||
if($params['types']!=33){
|
||||
$params['money_three']=0;
|
||||
}
|
||||
if($params['type']==35){
|
||||
$params['extend']=['shareholder'=>['user_id'=>$params['task_admin']]];
|
||||
}
|
||||
TaskTemplate::where('id', $params['id'])->update([
|
||||
'title' => $params['title'],
|
||||
'admin_id' => $params['admin_id'],
|
||||
@ -173,6 +180,7 @@ class TaskTemplateLogic extends BaseLogic
|
||||
'proportion_one' => $params['proportion_one']??0,
|
||||
'stage_day_two' => $params['stage_day_two']??0,
|
||||
'proportion_two' => $params['proportion_two']??0,
|
||||
'recharge' => $params['recharge']??0,
|
||||
]);
|
||||
|
||||
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';
|
||||
|
||||
|
||||
public function getExtendAttr($value){
|
||||
if($value){
|
||||
return json_decode($value, true);
|
||||
}else{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @notes 支付方式
|
||||
* @param $value
|
||||
|
@ -15,6 +15,7 @@
|
||||
namespace app\common\model\user;
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
use app\common\model\Company;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
/**
|
||||
@ -30,6 +31,10 @@ class UserAccountLog extends BaseModel
|
||||
|
||||
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\common\logic\finance\ShareProfit;
|
||||
use app\common\model\task\Task;
|
||||
use Symfony\Component\HttpClient\HttpClient;
|
||||
use think\queue\Job;
|
||||
use think\facade\Log;
|
||||
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_template\TaskTemplate;
|
||||
use think\facade\Db;
|
||||
|
||||
/**
|
||||
* 任务结算执行的具体逻辑
|
||||
@ -26,8 +25,9 @@ class TaskInformationJob
|
||||
// }
|
||||
try {
|
||||
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['company_account_type'] = 1;
|
||||
//信息更新
|
||||
if ($data['template_info']['type'] == 31) {
|
||||
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]);
|
||||
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']){
|
||||
$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)]);
|
||||
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'];
|
||||
$arr['status'] = $shang_date_total_price['arr']['status'];
|
||||
@ -68,6 +80,33 @@ class TaskInformationJob
|
||||
$name=$task['director_info']['nickname'];
|
||||
$arr['status'] = 1;
|
||||
$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 {
|
||||
//其他类型任务
|
||||
@ -81,21 +120,20 @@ class TaskInformationJob
|
||||
$arr['status'] = 1;
|
||||
$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) {
|
||||
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;
|
||||
}
|
||||
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 {
|
||||
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));
|
||||
}
|
||||
//如果任务执行成功后 记得删除任务,不然这个任务会重复执行,直到达到最大重试次数后失败后,执行failed方法
|
||||
|
@ -16,8 +16,8 @@ class TaskCron extends Task
|
||||
|
||||
public function configure()
|
||||
{
|
||||
// $this->daily(); //设置任务的周期,每天执行一次,更多的方法可以查看源代码,都有注释
|
||||
$this->everyMinute();//每分钟
|
||||
$this->daily(); //设置任务的周期,每天执行一次,更多的方法可以查看源代码,都有注释
|
||||
// $this->everyMinute();//每分钟
|
||||
}
|
||||
/**
|
||||
* 执行任务
|
||||
@ -49,7 +49,7 @@ class TaskCron extends Task
|
||||
}
|
||||
Company::where('id', 'in', $company_id)->inc('day_count')->update();
|
||||
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",
|
||||
"w7corp/easywechat": "^6.8",
|
||||
"yunwuxin/think-cron": "^3.0",
|
||||
"topthink/think-queue": "^3.0"
|
||||
"topthink/think-queue": "^3.0",
|
||||
"firebase/php-jwt": "^6.8"
|
||||
},
|
||||
"require-dev": {
|
||||
"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",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "90f60bd55476b5210a9bd6fa3ad453eb",
|
||||
"content-hash": "fdd9d31f9958a1263e4623ab634b9cc9",
|
||||
"packages": [
|
||||
{
|
||||
"name": "adbario/php-dot-notation",
|
||||
@ -331,37 +331,6 @@
|
||||
],
|
||||
"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",
|
||||
"version": "v4.16.0",
|
||||
@ -429,6 +398,59 @@
|
||||
},
|
||||
"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",
|
||||
"version": "1.3.0",
|
||||
|
@ -76,7 +76,7 @@ return [
|
||||
|
||||
// 文件上传限制 (文件)
|
||||
'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\http\HttpClientUtils;
|
||||
use think\facade\Log;
|
||||
|
||||
/**
|
||||
* Class RequestUtils http请求
|
||||
* @package com\junziqian\sdk\bean
|
||||
@ -54,13 +56,15 @@ class RequestUtils{
|
||||
$req=Array();
|
||||
}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();
|
||||
}else{
|
||||
throw new ResultInfoException("不支持的请求req");
|
||||
}
|
||||
$req=$this->fillSign($req);
|
||||
// Log::error([$url,json_encode($req)]);
|
||||
//请求服务端sass
|
||||
// halt($url,$req);
|
||||
//print_r(CommonUtil::json_encode($req));
|
||||
$response= HttpClientUtils::getPost($url,$req);
|
||||
$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