From a9f188f613d2c96773440aab935a06b9154e3736 Mon Sep 17 00:00:00 2001 From: yanzai Date: Mon, 3 Jun 2024 21:22:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BD=93=E6=A3=80=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E5=8F=82=E6=95=B0=E7=AE=A1=E7=90=86=EF=BC=8Ch5?= =?UTF-8?q?=E9=A2=84=E8=A7=88pdf,=E8=B0=83=E6=95=B4=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Admin/YeWu/InstitutionController.php | 103 ++ .../Http/Controllers/API/DxAppController.php | 2 +- .../API/mH5/IndustryController.php | 12 +- .../API/mH5/OrganizationController.php | 3 +- .../Controllers/API/mH5/PersonController.php | 62 ++ Laravel/app/Http/Middleware/Log.php | 6 +- .../app/Services/mH5/OrganizationService.php | 14 +- Laravel/app/Services/mH5/PersonService.php | 26 + Laravel/public/images/food.png | Bin 0 -> 9324 bytes Laravel/public/images/gonggong.png | Bin 0 -> 16923 bytes Laravel/public/images/huazhuangpin.png | Bin 0 -> 11151 bytes Laravel/public/images/xiaodu.png | Bin 0 -> 15443 bytes Laravel/public/images/yinyongshui.png | Bin 0 -> 12140 bytes Laravel/routes/api.php | 4 + el-admin/src/api/api.js | 12 + el-admin/src/router/index.js | 7 + .../Institution/InstitutionMngr.vue | 290 ++++++ mH5/.env.production | 8 +- mH5/package-lock.json | 985 +----------------- mH5/package.json | 4 +- mH5/src/api/api.js | 5 + mH5/src/router/index.js | 4 + mH5/src/tools/axios.js | 11 +- mH5/src/views/HealthCertificate.vue | 8 +- mH5/src/views/PreviewReport.vue | 79 +- mH5/src/views/SelectIndustry.vue | 136 +-- mH5/src/views/SelectOrganization.vue | 2 +- mH5/src/views/ShowReport.vue | 47 +- ...dFiles - 副本.vue => UploadFilesNoApp.vue} | 4 +- 29 files changed, 804 insertions(+), 1030 deletions(-) create mode 100644 Laravel/app/Http/Controllers/API/Admin/YeWu/InstitutionController.php create mode 100644 Laravel/public/images/food.png create mode 100644 Laravel/public/images/gonggong.png create mode 100644 Laravel/public/images/huazhuangpin.png create mode 100644 Laravel/public/images/xiaodu.png create mode 100644 Laravel/public/images/yinyongshui.png create mode 100644 el-admin/src/views/SystemMngr/Institution/InstitutionMngr.vue rename mH5/src/views/{UploadFiles - 副本.vue => UploadFilesNoApp.vue} (94%) diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/InstitutionController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/InstitutionController.php new file mode 100644 index 0000000..f0fa2f2 --- /dev/null +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/InstitutionController.php @@ -0,0 +1,103 @@ +leftJoin('users as b', 'a.link_user_id', '=', 'b.id'); + $count = $list->count(); + $list = $list->select('a.*', 'b.username'); + $list=$list->orderBy('id', 'desc')->skip(($page-1)*$pagesize)->take($pagesize)->get(); + + return \Yz::Return(true, '', ['list' => $list, 'count' => $count]); + } + //保存机构设置 + public function SavdSeting() + { + $SetingInfo= request('SetingInfo'); + if(isset($SetingInfo['institution_id'])){ + //更新机构表预约状态 + DB::table('medical_institution')->where(['id'=>$SetingInfo['institution_id']])->update([ + 'enable_yuyue'=> $SetingInfo['enable_yuyue'], + 'enable_laonianren_mf'=> $SetingInfo['enable_laonianren_mf'], + 'enable_jiankangzheng_mf'=> $SetingInfo['enable_jiankangzheng_mf'], + ]); + DB::beginTransaction(); + $saveStatus=false; + try { + //查询是否有此机构的设置信息,如果有,先删除再添加(因为设置项有可能会变,所以直接删除再添加) + $cha=DB::table('institution_seting')->where(['institution_id'=>$SetingInfo['institution_id']])->first(); + if(!!$cha){ + DB::table('institution_seting')->where(['institution_id'=>$SetingInfo['institution_id']])->delete(); + } + $i1_count=0; + $i2_count=0; + //添加设置 + foreach ($SetingInfo['laonianren_mf']['fenlei'] as $key=>$item){ + $i1= DB::table('institution_seting')->insert([ + 'institution_id'=>$SetingInfo['institution_id'], + 'big_check_type'=>"老年人免费体检", + 'small_check_type'=>$item['name'], + 'bind_check_type'=>$item['bind_check_type'], + 'bind_unit_id'=>$item['bind_unit_id'], + 'bind_group_id'=>$item['bind_group_id'], + 'bind_batch_id'=>$item['bind_batch_id'], + 'enable_yuyue'=>$item['enable_yuyue'], + ]); + if($i1) $i1_count++; + } + + foreach ($SetingInfo['jiankangzheng_mf']['fenlei'] as $key=>$item){ + $i2= DB::table('institution_seting')->insert([ + 'institution_id'=>$SetingInfo['institution_id'], + 'big_check_type'=>"健康证免费体检", + 'small_check_type'=>$item['name'], + 'bind_check_type'=>$item['bind_check_type'], + 'bind_unit_id'=>$item['bind_unit_id'], + 'bind_group_id'=>$item['bind_group_id'], + 'bind_batch_id'=>$item['bind_batch_id'], + 'enable_yuyue'=>$item['enable_yuyue'], + ]); + if($i2) $i2_count++; + } + + if(count($SetingInfo['laonianren_mf']['fenlei'])== $i1_count and count($SetingInfo['jiankangzheng_mf']['fenlei'])== $i2_count){ + DB::commit(); + return \Yz::Return(true,'操作完成',[]); + }else{ + DB::rollback(); + return \Yz::Return(false,'操作失败'); + } + } catch (\Exception $e) { + + DB::rollback(); + return \Yz::Return(false,'操作异常'.$e); + } + + + + }else{ + return \Yz::echoError1('参数缺失'); + } + } + public function GetSetingDetail() + { + $institution_id= request('institution_id'); + $seting=DB::table('institution_seting')->where(['institution_id'=>$institution_id])->get(); + $info=DB::table('medical_institution')->where(['id'=>$institution_id])->get(); + + return \Yz::Return(true,'查询成功',['info'=>$info,'seting'=>$seting]); + + } +} diff --git a/Laravel/app/Http/Controllers/API/DxAppController.php b/Laravel/app/Http/Controllers/API/DxAppController.php index a40bf59..19247cc 100644 --- a/Laravel/app/Http/Controllers/API/DxAppController.php +++ b/Laravel/app/Http/Controllers/API/DxAppController.php @@ -10,7 +10,7 @@ class DxAppController extends Controller //大兴app根据userid查询用户信息 public function getUserInfo(){ $userId=request('userId'); - $base_url="http://223.71.106.241:8097"; + $base_url="http://114.242.58.53:8782"; $url =$base_url.'/family/api/getUserFamilyDataList?userId='.$userId; $encryptStr=self::post($url,''); $r_data=json_decode($encryptStr, true); diff --git a/Laravel/app/Http/Controllers/API/mH5/IndustryController.php b/Laravel/app/Http/Controllers/API/mH5/IndustryController.php index 5bb8bba..2702992 100644 --- a/Laravel/app/Http/Controllers/API/mH5/IndustryController.php +++ b/Laravel/app/Http/Controllers/API/mH5/IndustryController.php @@ -12,7 +12,17 @@ class IndustryController extends Controller //获取行业列表 public function GetIndustry() { - $list=DB::table('industry')->get(); + $institution_id=request('institution_id'); + $alllist=DB::table('industry')->get(); + $enablelist=DB::table('institution_seting')->where(['institution_id'=>$institution_id])->get(); + $list=[]; + foreach ($alllist as $key=>$item){ + foreach ($enablelist as $K=>$it){ + if($item->name == $it->small_check_type and $it->enable_yuyue==1){ + $list[]=$item; + } + } + } return \Yz::Return(true,'查询成功',$list); } } diff --git a/Laravel/app/Http/Controllers/API/mH5/OrganizationController.php b/Laravel/app/Http/Controllers/API/mH5/OrganizationController.php index 35dbd99..28eec28 100644 --- a/Laravel/app/Http/Controllers/API/mH5/OrganizationController.php +++ b/Laravel/app/Http/Controllers/API/mH5/OrganizationController.php @@ -10,8 +10,9 @@ class OrganizationController extends Controller { //获取正常状态的体检机构 public function GetEnableList(){ + $yuyue_type=request('yuyue_type'); $s=app()->make(OrganizationService::class); - return $s->GetList(['type'=>'enable']); + return $s->GetList(['type'=>'enable','yuyue_type'=>$yuyue_type]); } //获取单独体检机构可预约日历时间表 public function GetEnableCalendar(){ diff --git a/Laravel/app/Http/Controllers/API/mH5/PersonController.php b/Laravel/app/Http/Controllers/API/mH5/PersonController.php index 07b32d7..4c5e90a 100644 --- a/Laravel/app/Http/Controllers/API/mH5/PersonController.php +++ b/Laravel/app/Http/Controllers/API/mH5/PersonController.php @@ -6,6 +6,9 @@ use App\Http\Controllers\Controller; use App\Services\mH5\PersonService; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use GuzzleHttp\Client; +use Illuminate\Support\Facades\Storage; + class PersonController extends Controller { //注册 @@ -24,23 +27,82 @@ class PersonController extends Controller //获取用户体检详情和pdf public function GetPersonReportDetail(){ $sfz =request('sfz'); + //HSM加密 + $HSM_sfz =\App\Lib\HSM::HsmEncrypt($sfz); + if($HSM_sfz['status']!=true){ + return \Yz::echoError1('调用HSM加密失败'); + } + $sfz=$HSM_sfz['data']; $info=DB::table('examination_records')->where(['id_card_num'=>$sfz]) ->orderBy('id', 'desc')->first(); if($info){ + $info->pdfs=count(json_decode($info->pdfs, true)); $item=DB::table('report_result_item') ->where(['examination_id'=>$info->id]) ->select(['item_name','item_result','flag'])->get(); $info->items=$item; + if(strlen($info->id_card_num)>30){ + //HSM解密 + $HSM_sfz =\App\Lib\HSM::HsmDecrypt($info->id_card_num); + if($HSM_sfz['status']!=true){ + return \Yz::echoError1('调用HSM加密失败'); + } + $info->id_card_num=$HSM_sfz['data']; + } + + return \Yz::Return(true,'',['info'=>$info]); }else{ return \Yz::echoError1('未找到相关体检信息'); } } + //修改H5获取用户pdf方式,改为根据体检提供的pdf链接地址获取pdf + public function GetPersonPdfDetailByLink() + { + $recordid =request('recordid'); + $pdf_num =request('pdf_num'); + $query=DB::table('examination_records')->where(['id'=>$recordid])->first(); + if(!$query) return \Yz::echoError1('未找到对应体检记录'); + $pdfs=json_decode($query->pdfs, true); + $pdfurl=$pdfs[$pdf_num]; + // 使用 GuzzleHttp 获取第三方 PDF 地址的内容 + $client = new Client(); + $response = $client->get($pdfurl); + + return response($response->getBody()); +// return response($response->getBody()->getContents(), 200) +// ->header('Content-Type', 'application/pdf') +// ->header('Content-Disposition', 'inline; filename="sample.pdf"'); +// $date = date("Ymd"); +// $filename = 'pdf_' . time() . '.pdf'; +// Storage::disk('public')->put('/pdf/'.$date.'/'."a.pdf", $response->getBody()); +// +// return \Yz::Return(true,'获取成功',['fileurl' =>'/storage/pdf/'.$date.'/'.$filename]); + + + } + //用户扫码跳转输入身份证和电话 查询用户体检详情和pdf public function H5GetPersonReportDetail(){ $get_info =request('info'); if(!isset($get_info['sfz'])) return \Yz::echoError1('身份证不能为空'); if(!isset($get_info['tel'])) return \Yz::echoError1('电话不能为空'); + + //HSM加密 + $HSM_sfz =\App\Lib\HSM::HsmEncrypt($get_info['sfz']); + if($HSM_sfz['status']!=true){ + return \Yz::echoError1('调用HSM加密失败'); + } + $get_info['sfz']=$HSM_sfz['data']; + if(isset($get_info['tel'])){ + $HSM_tel =\App\Lib\HSM::HsmEncrypt($get_info['tel']); + if($HSM_tel['status']!=true){ + return \Yz::echoError1('调用HSM加密失败'); + } + $get_info['tel']=$HSM_tel['data']; + } + + $info=DB::table('examination_records')->where(['id_card_num'=>$get_info['sfz'],'tel'=>$get_info['tel']]) ->orderBy('id', 'desc')->first(); if($info){ $item=DB::table('report_result_item') diff --git a/Laravel/app/Http/Middleware/Log.php b/Laravel/app/Http/Middleware/Log.php index 6e515d0..c8ff022 100644 --- a/Laravel/app/Http/Middleware/Log.php +++ b/Laravel/app/Http/Middleware/Log.php @@ -20,6 +20,9 @@ class Log $insert_id=0; $insert_id=self::requestLog($request,$insert_id); //记录请求时日志,不含返回信息 $response = $next($request); + if($request->getPathInfo()=='/api/v1/mH5/GetPersonPdfDetailByLink'){ + return $response; + } $content = $response->getContent(); $data = json_decode($content, true); // 解码响应内容为关联数组 @@ -29,11 +32,12 @@ class Log $data['code'] = $response->getStatusCode(); $modifiedContent = json_encode($data); // 编码修改后的关联数组为 JSON 字符串 $response->setContent($modifiedContent); + if(env('REQUEST_LOG') and $response->getStatusCode()==200){ //如果返回状态为200进行log $ip=self::getTrustedProxiesIp(); //真实ip $request_header=$request->header(); //请求头 - // dd($response); + //dd($response); $response_data = $response->getData(); //返回data,json格式 $post_data=$request->post(); //post请求数据 $get_data=$request->query(); //get请求 diff --git a/Laravel/app/Services/mH5/OrganizationService.php b/Laravel/app/Services/mH5/OrganizationService.php index e34ea86..d7f1985 100644 --- a/Laravel/app/Services/mH5/OrganizationService.php +++ b/Laravel/app/Services/mH5/OrganizationService.php @@ -8,12 +8,17 @@ class OrganizationService //如果查询可用机构列表则数组 ‘type’字段传 ‘enable’,查全部 则传 ‘all’ $result=array(); if($arr['type']){ + $list=DB::table('medical_institution'); if ($arr['type']=='enable'){ - $list=DB::table('medical_institution')->where(['status'=>1])->get(); + $list=$list->where(['status'=>1]); } if ($arr['type']=='all'){ - $list=DB::table('medical_institution')->whereIn('status',[0,1])->get(); + $list=$list->whereIn('status',[0,1]); } + if($arr['yuyue_type']=='jiankangzheng_mf'){ + $list= $list->where(['enable_yuyue'=>1,'enable_jiankangzheng_mf'=>1]); + } + $list= $list->get(); if(count($list)>0){ $result['status']=true; $result['list']=$list; @@ -95,6 +100,9 @@ class OrganizationService return \Yz::Return(false,'当前时间段预约已满'); } + //获取体检机构编号sn + $jgINfo=DB::table('medical_institution')->where('id',$info['org_id'])->first(); + $Hmac=\App\Lib\HSM::Hmac($cha_info[0]->name.$cha_info[0]->id_card_num.$info['org_id']); if($Hmac['status']!=true){ return \Yz::echoError1('HMAC摘要失败'); @@ -113,9 +121,11 @@ class OrganizationService 'openid'=>$openid, 'date'=>$q_date[0]->date, 'time'=>$q_date[0]->time, + 'fee_type'=>0, 'doc_type_id'=>$info['doc_id'], 'doc_type_name'=>$info['doc_name'], 'org_id'=>$info['org_id'], + 'org_code'=>$jgINfo->sn, 'status'=>1, 'hmac'=>$Hmac['data'], ] diff --git a/Laravel/app/Services/mH5/PersonService.php b/Laravel/app/Services/mH5/PersonService.php index 81471fc..33591f6 100644 --- a/Laravel/app/Services/mH5/PersonService.php +++ b/Laravel/app/Services/mH5/PersonService.php @@ -62,6 +62,7 @@ class PersonService $id_num=''; if(isset($arr['group']) and $arr['group']=='mH5user'){ //如果是本地项目请求(非对外接口) + $openid=$arr['openid']; $c=DB::table('persons')->select(['id_card_num'])->where(['openid'=>$openid,'status'=>1])->get(); if(count($c)>0){ @@ -69,6 +70,7 @@ class PersonService }else{ $result['status']=false; $result['msg']='未找到有效用户'; + return $result; } }else{ //对外接口,直接获取证件IdNum $id_num=$arr['id_num']; @@ -112,6 +114,30 @@ class PersonService $cha = DB::select("SELECT a.*,b.sex,b.tel,b.status,c.org_name from appointment_record as a INNER JOIN persons as b on a.person_id=b.id INNER JOIN medical_institution as c on a.org_id=c.id where a.id_card_num=? and a.status=1",[$arr['id_num']]); + + + if(count($cha)>0){ + $cha[0]->bind_check_type=null; + $cha[0]->bind_unit_id=null; + $cha[0]->bind_group_id=null; + $cha[0]->bind_batch_id=null; + $cha[0]->start_time=substr($cha[0]->time, 0,5); + $cha[0]->end_time=substr($cha[0]->time,-5); + $org_seting=DB::table('institution_seting')->where(['institution_id'=>$cha[0]->org_id,'small_check_type'=>$cha[0]->doc_type_name])->first(); + if(!!$org_seting){ + $cha[0]->bind_check_type=$org_seting->bind_check_type; + $cha[0]->bind_unit_id=$org_seting->bind_unit_id; + $cha[0]->bind_group_id=$org_seting->bind_group_id; + $cha[0]->bind_batch_id=$org_seting->bind_batch_id; + } + $cha_img =DB::table('appointment_img')->where('appointment_record_id',$cha[0]->id)->get(); + //env('APP_URL') + foreach ($cha_img as $key=>$item){ + $cha_img[$key]->imgurl=env('APP_URL').$item->imgurl; + } + $cha[0]->imgs=$cha_img; + } + if(!count($cha)>0) return \Yz::echoError1("未找到预约记录"); return \Yz::Return(true,'',$cha); } diff --git a/Laravel/public/images/food.png b/Laravel/public/images/food.png new file mode 100644 index 0000000000000000000000000000000000000000..e18cb1b98607261a3fb54cd3d31aa401dd60f944 GIT binary patch literal 9324 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 BBl-XU literal 0 HcmV?d00001 diff --git a/Laravel/public/images/gonggong.png b/Laravel/public/images/gonggong.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca090efc36cdae5a6826483250d2f0f4af48d61 GIT binary patch literal 16923 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

aa1 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 z%0AZo_gS}Jb5tq;MIyVzmJ_BPi(5A@=!^MlViIC`+8%h$M+73E?)`DEz_3yV{t43A z832Bw&7uai4hP8!lB^!`!y5TMRhcKu)*9P+=VBz zz(OpWlvag5LEL}Wi%`gy26RSEh6p1l$V1=mMoj4fWSIT;_WE2f^`U!`D$sQWeI^M7 z|6iAgSiCeeoUkV-KynZg!5;bvigWxfgCMC#ucWMLvUSP|1~uY#Z7{hY3ROA|vs8Ce zSvQKcpeb;N$HxOVtmYr#;kz#3Ubg!=(5nzpN)8g)$aM3R(vL>usv%jYgmpOt9AtGY ze8qUnjP<}5*a+%!Z*~r!U?qP*y<+IqFH+Aa{WolR{1jt%gUDJa@tdhISGieJGMb~u z9{FtUHSCKhJP9PF+)9l1+M(U zwLLPIeIn6euOU%2I`Wy}fT68*oQwb^M}BI9_`a+D<^#JB%i4mMvP7DgG3VKRmqNp% zfnBK<_;($OUP24T_q?(hlX*xK$3qD*#;Qgu+g>Pyyep+Jxr5xs)I1X<4`Bsg&c1T7@4)%*3F3Kor9eTJo3dr)_<4z3L|uUHe)(*>yiTxeIck2hzfwoU<$ii z77IAIV`4?bmd6E#KC(I5OFIRb>*MyW`46l3wTE-c(jxVp|8(di+AdC z8g4~2jV|Qy=rn7eM;$+X5H$WWUbk@Dgc!q8IM;LeI)d?NTjkB^oHH{5kB&2_;_u$y z%& zzX3-_OdffSqcbcc^)fhiryd@>AdTj?3Et1kvhe+-A9x+u9ChkWwbpNd?LT>40wO3h z)VUk86PXSElyn$_krFzs61Z5X;sXel8(eg~86XTdSG$cJ+H=aW|4WJ^gzB{@M}!k# zhD2~Eo*CT{gdVy#g65?CFDzz+umn*$SiJt3t_do4f`*~*MA0;n!b}haDZUdIMJ~llxlc%NP`NG;$@M~ zC8R?;qEo=$=6wPfoqX^@!HbOTf8{5z=S!`FNjOJlBy4E)Q66+rV=YCtp$kp{ULu0i zC`|I55H`OyZb}{4oNsd&037c?B;j}{uyfq1;s})x7mx|%IF|ew)z38$!kUu^b{bT#Qeo0sfCprNdAYARf1 zhkN?fRaS-HZzqZbu0dmP4|ke&g^F>JMA%0TiWYFsA>fGF#Z%syS0cOm5k+ka6Twb8 zVfbHkPCj zeY~?t-1r}O^=M3BZkIfRJV^oBQEx=)r7|AYZchHj5>v|8OV7odm4c)&|a{-7sX%{CZl|E)zuNV8A)uFL3jDp~v`sZ-)<$ zdD-{YzY5p1^Jj+Cj}&>hTx+A4;`6$AXpd}kH+~}yMW!tLX;;KmvU~m6Ha;a&pWGTY ziwdrMBEmQ`F`w@K!v^)G^x}Q-^*dGpN^bhvXCjr9l$z#SsEiMY8}18E4h`71j3rfV zzd+CStX;l;H^QmUKmM<``TMc;OXtbtyTc2p{yP^yzuRz54d-9`V5K(gty0$**$+iqSh z9+-YeU%Sq3Y(bvRxch3fe~g-WQ*L4S=GL~V<$v#P{=b_4x_r)pd^u{a{nT6iKa460 Ln(|e$mZ<*+xCxV( literal 0 HcmV?d00001 diff --git a/Laravel/public/images/huazhuangpin.png b/Laravel/public/images/huazhuangpin.png new file mode 100644 index 0000000000000000000000000000000000000000..c05dae167c1a2bc6290f62472d5313f77b5ba5f6 GIT binary patch literal 11151 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 literal 0 HcmV?d00001 diff --git a/Laravel/public/images/xiaodu.png b/Laravel/public/images/xiaodu.png new file mode 100644 index 0000000000000000000000000000000000000000..33173467f8807cf63ce60be9d2f0d6132747c225 GIT binary patch literal 15443 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['checktoken','log'],'prefix'=>'v1'],function () { Route::post('admin/XTSignBindUser','App\Http\Controllers\API\XTSignController@bindUser');//admin后台用户绑定协同签名useid Route::post('admin/UkeyBindUser','App\Http\Controllers\API\UkeyController@Bind');//admin后台用户绑定协同签名useid Route::post('admin/AppointmentCount','App\Http\Controllers\API\Admin\YeWu\AppointmentController@AppointmentCount'); //admin后台预约统计 + Route::post('admin/InstitutionGetList','App\Http\Controllers\API\Admin\YeWu\InstitutionController@GetList');//获取体检机构列表 + Route::post('admin/InstitutionSavdSeting','App\Http\Controllers\API\Admin\YeWu\InstitutionController@SavdSeting');//保存机构设置 + Route::post('admin/InstitutionGetSetingDetail','App\Http\Controllers\API\Admin\YeWu\InstitutionController@GetSetingDetail');//获取机构设置详情 }); @@ -69,6 +72,7 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1/mH5'],function () Route::post('UpFileBase64','App\Http\Controllers\API\UpLoadController@UpFileBase64');//上传文件base64 Route::post('GetPersonReportDetail','App\Http\Controllers\API\mH5\PersonController@GetPersonReportDetail');//获取用户pdf Route::post('GetIndustryList','App\Http\Controllers\API\mH5\IndustryController@GetIndustry'); + Route::post('GetPersonPdfDetailByLink','App\Http\Controllers\API\mH5\PersonController@GetPersonPdfDetailByLink');//根据链接获取体检那边的pdf }); diff --git a/el-admin/src/api/api.js b/el-admin/src/api/api.js index 2d6c85e..173109f 100644 --- a/el-admin/src/api/api.js +++ b/el-admin/src/api/api.js @@ -136,4 +136,16 @@ export const GetLogTableName = (data={}) => { //预约登记统计 export const AppointmentCount = (data={}) => { return axios({url:import.meta.env.VITE_APP_API+'v1/admin/AppointmentCount',data:data}) +} +//机构管理获取列表 +export const InstitutionGetList = (data={}) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/admin/InstitutionGetList',data:data}) +} +//保存机构设置 +export const InstitutionSavdSeting = (data={}) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/admin/InstitutionSavdSeting',data:data}) +} +//获取机构设置详情 +export const InstitutionGetSetingDetail = (data={}) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/admin/InstitutionGetSetingDetail',data:data}) } \ No newline at end of file diff --git a/el-admin/src/router/index.js b/el-admin/src/router/index.js index c40d34d..d6fa830 100644 --- a/el-admin/src/router/index.js +++ b/el-admin/src/router/index.js @@ -64,6 +64,13 @@ const router = createRouter({ meta: { title: '系统日志' } + } ,{ + path: '/systemMngr/InstitutionMngr', + name: 'SystemInstitutionMngr', + component: () => import('../views/SystemMngr/Institution/InstitutionMngr.vue'), + meta: { + title: '机构管理' + } },{ path: '/healthCalendar', name: 'HealthCalendar', diff --git a/el-admin/src/views/SystemMngr/Institution/InstitutionMngr.vue b/el-admin/src/views/SystemMngr/Institution/InstitutionMngr.vue new file mode 100644 index 0000000..cb16caf --- /dev/null +++ b/el-admin/src/views/SystemMngr/Institution/InstitutionMngr.vue @@ -0,0 +1,290 @@ + + + + + \ No newline at end of file diff --git a/mH5/.env.production b/mH5/.env.production index 8726ebf..da99997 100644 --- a/mH5/.env.production +++ b/mH5/.env.production @@ -1,5 +1,5 @@ ENV = 'production' -VITE_APP_API = 'http://223.71.106.251:33581/common/la/public/api/' -VITE_APP_WXCODE_URL = 'http://223.71.106.251:33581/common/la/public/wxLogin/production' -VITE_APP_FILE_URL= 'http://223.71.106.251:33581/common/la/public/' -VITE_APPID = "wx526430047d34c85c" +VITE_APP_API = 'http://223.71.106.251:82/common/la/public/api/' +VITE_APP_WXCODE_URL = 'http://223.71.106.251:82/common/la/public/wxLogin/production' +VITE_APP_FILE_URL= 'http://223.71.106.251:82/common/la/public/' +VITE_APPID = "wx526430047d34c85c" \ No newline at end of file diff --git a/mH5/package-lock.json b/mH5/package-lock.json index 0505d33..3cd39a2 100644 --- a/mH5/package-lock.json +++ b/mH5/package-lock.json @@ -9,11 +9,11 @@ "version": "0.0.0", "dependencies": { "axios": "^1.5.1", - "pdfjs-dist": "^4.0.269", "pinia": "^2.1.6", "vant": "^4.7.0", "vue": "^3.3.4", - "vue-router": "^4.2.4" + "vue-router": "^4.2.4", + "vue3-pdf-app": "^1.0.3" }, "devDependencies": { "@rushstack/eslint-patch": "^1.3.3", @@ -554,26 +554,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -992,12 +972,6 @@ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "optional": true - }, "node_modules/acorn": { "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", @@ -1019,18 +993,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "optional": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1051,7 +1013,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -1071,25 +1033,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "optional": true - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1115,7 +1058,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "devOptional": true + "dev": true }, "node_modules/big-integer": { "version": "1.6.51", @@ -1148,7 +1091,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "devOptional": true, + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1198,21 +1141,6 @@ "node": ">=6" } }, - "node_modules/canvas": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz", - "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.0", - "nan": "^2.17.0", - "simple-get": "^3.0.3" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1229,15 +1157,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "optional": true, - "engines": { - "node": ">=10" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1256,15 +1175,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "optional": true, - "bin": { - "color-support": "bin.js" - } - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -1288,13 +1198,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "devOptional": true - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "optional": true + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -1331,7 +1235,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "devOptional": true, + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -1344,18 +1248,6 @@ } } }, - "node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "optional": true, - "dependencies": { - "mimic-response": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1416,21 +1308,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "optional": true - }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "optional": true, - "engines": { - "node": ">=8" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1443,12 +1320,6 @@ "node": ">=6.0.0" } }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "optional": true - }, "node_modules/esbuild": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", @@ -1969,35 +1840,11 @@ "node": ">= 6" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "devOptional": true + "dev": true }, "node_modules/fsevents": { "version": "2.3.3", @@ -2013,26 +1860,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "optional": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -2049,7 +1876,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "devOptional": true, + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2107,25 +1934,6 @@ "node": ">=8" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "optional": true - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "optional": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -2173,7 +1981,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "devOptional": true, + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2183,7 +1991,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "devOptional": true + "dev": true }, "node_modules/is-docker": { "version": "3.0.0", @@ -2209,15 +2017,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "optional": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2394,7 +2193,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -2413,30 +2212,6 @@ "node": ">=12" } }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "optional": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "optional": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -2493,23 +2268,11 @@ "node": ">=6" } }, - "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "optional": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "devOptional": true, + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2517,63 +2280,11 @@ "node": "*" } }, - "node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "optional": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true - }, - "node_modules/nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", - "optional": true + "dev": true }, "node_modules/nanoid": { "version": "3.3.6", @@ -2598,41 +2309,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "optional": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "optional": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -2645,18 +2321,6 @@ "node": ">=8" } }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "optional": true, - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -2669,20 +2333,11 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "devOptional": true, + "dev": true, "dependencies": { "wrappy": "1" } @@ -2792,7 +2447,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2806,27 +2461,6 @@ "node": ">=8" } }, - "node_modules/path2d-polyfill": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz", - "integrity": "sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pdfjs-dist": { - "version": "4.0.269", - "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-4.0.269.tgz", - "integrity": "sha512-jjWO56tcOjnmPqDf8PmXDeZ781AGvpHMYI3HhNtaFKTRXXPaD1ArSrhVe38/XsrIQJ0onISCND/vuXaWJkiDWw==", - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "canvas": "^2.11.2", - "path2d-polyfill": "^2.0.1" - } - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -2979,20 +2613,6 @@ } ] }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -3016,7 +2636,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "devOptional": true, + "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -3104,31 +2724,11 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true - }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "devOptional": true, + "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -3139,12 +2739,6 @@ "node": ">=10" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "optional": true - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3170,38 +2764,7 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "devOptional": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true - }, - "node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "optional": true, - "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } + "dev": true }, "node_modules/source-map": { "version": "0.6.1", @@ -3234,34 +2797,11 @@ "source-map": "^0.6.0" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "optional": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "optional": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -3318,23 +2858,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "optional": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/terser": { "version": "5.24.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", @@ -3385,12 +2908,6 @@ "node": ">=8.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "optional": true - }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -3443,7 +2960,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "devOptional": true + "dev": true }, "node_modules/uuid": { "version": "9.0.1", @@ -3615,20 +3132,12 @@ "vue": "^3.2.0" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "optional": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "optional": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "node_modules/vue3-pdf-app": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vue3-pdf-app/-/vue3-pdf-app-1.0.3.tgz", + "integrity": "sha512-qegWTIF4wYKiocZ3KreB70wRXhqSdXWbdERDyyKzT7d5PbjKbS9tD6vaKkCqh3PzTM84NyKPYrQ3iuwJb60YPQ==", + "peerDependencies": { + "vue": "^3.0.0" } }, "node_modules/which": { @@ -3646,20 +3155,11 @@ "node": ">= 8" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "optional": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "devOptional": true + "dev": true }, "node_modules/xml-name-validator": { "version": "4.0.0", @@ -3674,7 +3174,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true + "dev": true }, "node_modules/yocto-queue": { "version": "0.1.0", @@ -3974,23 +3474,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "optional": true, - "requires": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - } - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4270,12 +3753,6 @@ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "optional": true - }, "acorn": { "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", @@ -4289,15 +3766,6 @@ "dev": true, "requires": {} }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "optional": true, - "requires": { - "debug": "4" - } - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -4314,7 +3782,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true + "dev": true }, "ansi-styles": { "version": "4.3.0", @@ -4325,22 +3793,6 @@ "color-convert": "^2.0.1" } }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "optional": true - }, - "are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -4366,7 +3818,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "devOptional": true + "dev": true }, "big-integer": { "version": "1.6.51", @@ -4393,7 +3845,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "devOptional": true, + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4431,17 +3883,6 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "canvas": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz", - "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", - "optional": true, - "requires": { - "@mapbox/node-pre-gyp": "^1.0.0", - "nan": "^2.17.0", - "simple-get": "^3.0.3" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -4452,12 +3893,6 @@ "supports-color": "^7.1.0" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "optional": true - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -4473,12 +3908,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "optional": true - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -4499,13 +3928,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "devOptional": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "optional": true + "dev": true }, "cross-spawn": { "version": "7.0.3", @@ -4533,20 +3956,11 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "devOptional": true, + "dev": true, "requires": { "ms": "2.1.2" } }, - "decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "optional": true, - "requires": { - "mimic-response": "^2.0.0" - } - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4586,18 +4000,6 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "optional": true - }, - "detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "optional": true - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -4607,12 +4009,6 @@ "esutils": "^2.0.2" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "optional": true - }, "esbuild": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", @@ -4972,31 +4368,11 @@ "mime-types": "^2.1.12" } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "optional": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "optional": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "devOptional": true + "dev": true }, "fsevents": { "version": "2.3.3", @@ -5005,23 +4381,6 @@ "dev": true, "optional": true }, - "gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "optional": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - } - }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -5032,7 +4391,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "devOptional": true, + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5072,22 +4431,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "optional": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "optional": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -5120,7 +4463,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "devOptional": true, + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -5130,7 +4473,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "devOptional": true + "dev": true }, "is-docker": { "version": "3.0.0", @@ -5144,12 +4487,6 @@ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "optional": true - }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -5280,7 +4617,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, + "dev": true, "requires": { "yallist": "^4.0.0" } @@ -5293,23 +4630,6 @@ "@jridgewell/sourcemap-codec": "^1.4.15" } }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "optional": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "optional": true - } - } - }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -5351,65 +4671,20 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "optional": true - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "devOptional": true, + "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "optional": true - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "optional": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "optional": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "optional": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true - }, - "nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", - "optional": true + "dev": true }, "nanoid": { "version": "3.3.6", @@ -5422,24 +4697,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "optional": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "optional": true, - "requires": { - "abbrev": "1" - } - }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -5449,18 +4706,6 @@ "path-key": "^3.0.0" } }, - "npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "optional": true, - "requires": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, "nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -5470,17 +4715,11 @@ "boolbase": "^1.0.0" } }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "optional": true - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "devOptional": true, + "dev": true, "requires": { "wrappy": "1" } @@ -5557,7 +4796,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "devOptional": true + "dev": true }, "path-key": { "version": "3.1.1", @@ -5565,21 +4804,6 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "path2d-polyfill": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz", - "integrity": "sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==", - "optional": true - }, - "pdfjs-dist": { - "version": "4.0.269", - "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-4.0.269.tgz", - "integrity": "sha512-jjWO56tcOjnmPqDf8PmXDeZ781AGvpHMYI3HhNtaFKTRXXPaD1ArSrhVe38/XsrIQJ0onISCND/vuXaWJkiDWw==", - "requires": { - "canvas": "^2.11.2", - "path2d-polyfill": "^2.0.1" - } - }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -5658,17 +4882,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "optional": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -5685,7 +4898,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "devOptional": true, + "dev": true, "requires": { "glob": "^7.1.3" } @@ -5736,27 +4949,15 @@ "queue-microtask": "^1.2.2" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "optional": true - }, "semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "devOptional": true, + "dev": true, "requires": { "lru-cache": "^6.0.0" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "optional": true - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -5776,24 +4977,7 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "devOptional": true - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "optional": true - }, - "simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "optional": true, - "requires": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } + "dev": true }, "source-map": { "version": "0.6.1", @@ -5820,31 +5004,11 @@ "source-map": "^0.6.0" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "optional": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "optional": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -5880,20 +5044,6 @@ "tslib": "^2.5.0" } }, - "tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "optional": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, "terser": { "version": "5.24.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", @@ -5929,12 +5079,6 @@ "is-number": "^7.0.0" } }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "optional": true - }, "tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -5975,7 +5119,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "devOptional": true + "dev": true }, "uuid": { "version": "9.0.1", @@ -6057,21 +5201,11 @@ "@vue/devtools-api": "^6.5.0" } }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "optional": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "optional": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } + "vue3-pdf-app": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vue3-pdf-app/-/vue3-pdf-app-1.0.3.tgz", + "integrity": "sha512-qegWTIF4wYKiocZ3KreB70wRXhqSdXWbdERDyyKzT7d5PbjKbS9tD6vaKkCqh3PzTM84NyKPYrQ3iuwJb60YPQ==", + "requires": {} }, "which": { "version": "2.0.2", @@ -6082,20 +5216,11 @@ "isexe": "^2.0.0" } }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "devOptional": true + "dev": true }, "xml-name-validator": { "version": "4.0.0", @@ -6107,7 +5232,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true + "dev": true }, "yocto-queue": { "version": "0.1.0", diff --git a/mH5/package.json b/mH5/package.json index dc0403d..b9e76c4 100644 --- a/mH5/package.json +++ b/mH5/package.json @@ -11,11 +11,11 @@ }, "dependencies": { "axios": "^1.5.1", - "pdfjs-dist": "^4.0.269", "pinia": "^2.1.6", "vant": "^4.7.0", "vue": "^3.3.4", - "vue-router": "^4.2.4" + "vue-router": "^4.2.4", + "vue3-pdf-app": "^1.0.3" }, "devDependencies": { "@rushstack/eslint-patch": "^1.3.3", diff --git a/mH5/src/api/api.js b/mH5/src/api/api.js index c09d13c..c6f7ed3 100644 --- a/mH5/src/api/api.js +++ b/mH5/src/api/api.js @@ -56,4 +56,9 @@ export const AppGetUserInfo = (data) => { //获取行业列表 export const GetIndustryList = (data) => { return axios({url:import.meta.env.VITE_APP_API+'v1/mH5/GetIndustryList',data:data}) +} + +//根据链接获取体检那边的pdf +export const GetPersonPdfDetailByLink = (data) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/mH5/GetPersonPdfDetailByLink',data:data,responseType: 'blob'}) } \ No newline at end of file diff --git a/mH5/src/router/index.js b/mH5/src/router/index.js index a966f57..a358221 100644 --- a/mH5/src/router/index.js +++ b/mH5/src/router/index.js @@ -56,6 +56,10 @@ const router = createRouter({ path: '/uploadFiles', name: 'UploadFiles', component: () => import('../views/UploadFiles.vue') + },{ + path: '/uploadFilesNoApp', + name: 'UploadFilesNoApp', + component: () => import('../views/UploadFilesNoApp.vue') },{ path: '/previewReport', name: 'PreviewReport', diff --git a/mH5/src/tools/axios.js b/mH5/src/tools/axios.js index 422b099..09ae911 100644 --- a/mH5/src/tools/axios.js +++ b/mH5/src/tools/axios.js @@ -14,10 +14,10 @@ axios.interceptors.request.use( // config.data = { // originalData: originalRequest.data ,// 携带原来请求的参数 // originalUrl: originalRequest.url ,// 携带原来请求的参数 - + // }; // config.url = 'http://daxing-middle/redirect_api'; // 将请求重定向到同一个接口 - + return config }, err => { @@ -28,7 +28,10 @@ axios.interceptors.request.use( axios.interceptors.response.use( async response => { const res = response.data - // console.log(response) + + if (res instanceof Blob) { + return res + } if (res.code !== 200) { if (res.code == 10001) { //token验证出错 window.location.href = "./#/login" @@ -124,4 +127,4 @@ function TokenRefresh() { } -export default axios \ No newline at end of file +export default axios \ No newline at end of file diff --git a/mH5/src/views/HealthCertificate.vue b/mH5/src/views/HealthCertificate.vue index 927db67..d4adeeb 100644 --- a/mH5/src/views/HealthCertificate.vue +++ b/mH5/src/views/HealthCertificate.vue @@ -8,13 +8,13 @@

类型:{{reportinfo.industry_type}}
日期:{{reportinfo.tijian_time.substring(0,10)}}
-
编号:1235454546
+
- +
{{reportinfo.name}}(男)(女)
@@ -31,7 +31,7 @@ {{item.item_name}} 合格 - 2022-05-01 + - @@ -41,7 +41,7 @@
22
- +
diff --git a/mH5/src/views/PreviewReport.vue b/mH5/src/views/PreviewReport.vue index c559942..6fda77c 100644 --- a/mH5/src/views/PreviewReport.vue +++ b/mH5/src/views/PreviewReport.vue @@ -1,24 +1,79 @@ \ No newline at end of file diff --git a/mH5/src/views/SelectOrganization.vue b/mH5/src/views/SelectOrganization.vue index e9b32d2..d6be76a 100644 --- a/mH5/src/views/SelectOrganization.vue +++ b/mH5/src/views/SelectOrganization.vue @@ -73,7 +73,7 @@ } const getList = () => { loading.value = true - GetOrgEnableList().then(res => { + GetOrgEnableList({yuyue_type:'jiankangzheng_mf'}).then(res => { loading.value = false if (res.status) { orgList.value = res.list diff --git a/mH5/src/views/ShowReport.vue b/mH5/src/views/ShowReport.vue index abee48c..9e5a969 100644 --- a/mH5/src/views/ShowReport.vue +++ b/mH5/src/views/ShowReport.vue @@ -36,6 +36,13 @@
+ + +