完成爱企查查询
This commit is contained in:
23
data.json
Normal file
23
data.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"企业名称": "杭州奥杰装饰工程有限公司",
|
||||||
|
"统一社会信用代码": "9133011031131201XU",
|
||||||
|
"法定代表人": "曾显军",
|
||||||
|
"经营状态": "开业",
|
||||||
|
"成立日期": "2014-08-05",
|
||||||
|
"行政区划": "浙江省杭州市余杭区",
|
||||||
|
"注册资本": "200万(元)",
|
||||||
|
"实缴资本": "200万(元)",
|
||||||
|
"企业类型": "有限责任公司(自然人独资)",
|
||||||
|
"所属行业": "批发业",
|
||||||
|
"工商注册号": "330184000311238",
|
||||||
|
"组织机构代码": "31131201-X",
|
||||||
|
"纳税人识别号": "9133011031131201XU",
|
||||||
|
"纳税人资质": "增值税一般纳税人",
|
||||||
|
"营业期限": "2014-08-05 至 2034-08-04",
|
||||||
|
"核准日期": "2020-08-24",
|
||||||
|
"参保人数": "3人",
|
||||||
|
"登记机关": "杭州市余杭区市场监督管理局",
|
||||||
|
"曾用名": "杭州茂复建材有限公司",
|
||||||
|
"注册地址": "浙江省杭州市余杭区五常街道郭家兜路8号1幢4楼408室",
|
||||||
|
"经营范围": "设计、施工:建筑工程、室内外装饰工程、幕墙工程;销售:建筑材料,装饰材料,石材,五金;服务:铝合金门窗上门安装,建筑工程技术咨询,国内广告设计和制作。(依法须经批准的项目,经相关部门批准后方可开展经营活动)"
|
||||||
|
}
|
||||||
693
new-group.html
Normal file
693
new-group.html
Normal file
@@ -0,0 +1,693 @@
|
|||||||
|
<html lang="en" xmlns="http://www.w3.org/1999/html"><head>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<title>集团客户</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../../../../theme/ui.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../../../../theme/qijc.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../../../../theme/purr.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="css/newGroupAddCustomer.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../../../../../../frame/lib/webui/100/pc/css/webui.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="../../../../../../frame/lib/dialog/4.1.7/skins/simpopo.css">
|
||||||
|
<link rel="stylesheet" href="../../css/font-awesome.min.css">
|
||||||
|
<!-- lining7 切换使用了弹窗 -->
|
||||||
|
<!-- <link rel="stylesheet" type="text/css" href="../../js/lib/dialog/4.1.7/skins/simpopo.css" /> -->
|
||||||
|
|
||||||
|
<!--@@include('base/header.html')@@-->
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/json/1.0/json2.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/jquery/172/jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/handlebars/3.0.3/handlebars.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/handlebars/3.0.3/helpers.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/core.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../js/lib/My97DatePicker/WdatePicker.js"></script><link href="https://intraecrm.yw.zj.chinamobile.com/page/bmV3R3JvdXBBZGRDdXN0b21lcg==/pc/busi/bboss/js/lib/My97DatePicker/skin/WdatePicker.css" rel="stylesheet" type="text/css">
|
||||||
|
<script type="text/javascript" src="../js/apply/jquery.blockUI.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/verify.common.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/webui/100/pc/js/webui.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/sea/3.0.0/sea.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/sea/3.0.0/seajs-preload.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/dialog/4.1.7/artDialog.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/dialog/4.1.7/iframeTools.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/config.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="../js/apply/Rose.src.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/Comm.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/down.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/fis.form.js"></script>
|
||||||
|
<script type="text/javascript" src="../../openOrder/js/common/common.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/fis.validator.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../js/common/date.js"></script>
|
||||||
|
|
||||||
|
<!-- 自动完成 autoComplete js、css文件-->
|
||||||
|
<script type="text/javascript" src="../../../../lib/jquery/jqueryExtend.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../component/jssearch/pinyin-min.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../component/jssearch/chineseSearch.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../component/jssearch/autoComplete.js"></script>
|
||||||
|
|
||||||
|
<!-- 提示信息qtip -->
|
||||||
|
<script type="text/javascript" src="../../../js/lib/qtip2/2.2.0/jquery.qtip.min.js"></script>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../../../js/lib/qtip2/2.2.0/jquery.qtip.min.css">
|
||||||
|
|
||||||
|
<!-- 添加我的收藏js -->
|
||||||
|
<script type="text/javascript" src="../../openOrder/js/common/myFavorite.js"></script>
|
||||||
|
<!-- 文件下载js -->
|
||||||
|
<script type="text/javascript" src="../js/apply/downFile.js"></script>
|
||||||
|
|
||||||
|
<!-- 申请单 -->
|
||||||
|
<link rel="stylesheet" type="text/css" href="../../openOrder/css/applyNote4Marketing.css">
|
||||||
|
<!-- 政企办理首页样式文件 -->
|
||||||
|
<link type="text/css" rel="stylesheet" href="../../openOrder/css/business_note.css"><base>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="../js/groupInfo.js"></script>
|
||||||
|
|
||||||
|
<!-- 申请单共用模块功能(申请说明) -->
|
||||||
|
<script type="text/javascript" src="../../openOrder/js/business/applyModule.js"></script>
|
||||||
|
<!-- 附件信息 -->
|
||||||
|
<script type="text/javascript" src="../../openOrder/js/business/attach.js"></script>
|
||||||
|
|
||||||
|
<link type="text/css" rel="stylesheet" href="../../openOrder/css/group/group.css"><base>
|
||||||
|
<link type="text/css" rel="stylesheet" href="/pc/newui/newStyleUI.css"><base>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="../../openOrder/js/common.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/newFastapplyGroupCom.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/apply/newFastgroupCustomer.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../js/common/upload/uploadFile.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../css/uploadify/ajaxfileupload.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../js/common/upload/CommUpload.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../../../frame/lib/Rose/1.0.0/RoseUpload.src.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../js/lib/tips/jquery.tooltipster.js"></script>
|
||||||
|
<script type="application/javascript" src="../../../../../log/log-common.js"></script>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
select {font-family: Trebuchet MS;}
|
||||||
|
#base_prod .fl {float: right;}
|
||||||
|
.text {*margin-bottom: 0;}
|
||||||
|
.mt5 {margin: 5px auto;}
|
||||||
|
.ml20 {margin-left: 20px; margin-right: 20px;}
|
||||||
|
.input_tip {margin-top: 4px;}
|
||||||
|
.tipsShowControl{
|
||||||
|
background-color: red;
|
||||||
|
color: blue;}
|
||||||
|
.ui-label title-control tooltips tr-label title{
|
||||||
|
background-color: yellow;
|
||||||
|
color: yellow;
|
||||||
|
}
|
||||||
|
#gisGoBack{
|
||||||
|
width: 80px;
|
||||||
|
height: 30px;
|
||||||
|
font-size: 16px;
|
||||||
|
background-color: #349CD3;
|
||||||
|
border: none;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.hide{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .td_font {width: 55px;} */
|
||||||
|
/* .pro-content {margin-top: 10px; border: 1px solid #AAAAAA; padding: 2px 8px;} */
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="//cdn.vortex.zj.chinamobile.com/aiapm-agent/aiapm.js"></script><script async="null" type="text/javascript" src="https://cdn.vortex.zj.chinamobile.com/aiapm-agent/aiapm-init.js"></script>
|
||||||
|
<script type="text/javascript" src="//cdn.vortex.zj.chinamobile.com/aiapm-agent/aiapm.js?sysName=ywdt&appName=intraecrm.yw.zj.chinamobile.com"></script><script async="null" type="text/javascript" src="https://cdn.vortex.zj.chinamobile.com/aiapm-agent/prod/control.js?version=1.0.7-20250721"></script><script type="text/javascript" defer="" src="/pc/log/crypto-js.js"></script><script type="text/javascript" defer="" src="/pc/log/log-es5.js"></script><script async="null" type="text/javascript" src="https://cdn.vortex.zj.chinamobile.com/aiapm-agent/prod/config.js?version=1.0.7-20250721"></script><script src="chrome-extension://daiklcgdelcbcmjepemiklfglodmofbm/static/js/workers.min.js"></script><script type="text/javascript" defer="" src="/pc/js/common/watermark.js"></script><script async="null" type="text/javascript" src="https://cdn.vortex.zj.chinamobile.com/aiapm-agent/crypto-js.js?version=1.0.7-20250721"></script></head>
|
||||||
|
<body style=""><div class="" style="display: none; position: absolute;"><div class="aui_outer" style="min-width:200px; min-height:100px"><table class="aui_border"><tbody><tr><td class="aui_nw"></td><td class="aui_n"></td><td class="aui_ne"></td></tr><tr><td class="aui_w"></td><td class="aui_c"><div class="aui_inner"><table class="aui_dialog"><tbody><tr><td colspan="2" class="aui_header"><div class="aui_titleBar"><div class="aui_title" style="cursor: move; display: block;"></div><a class="aui_close" href="javascript:/*artDialog*/;" style="display: block;">×</a></div></td></tr><tr><td class="aui_icon" style="display: none;"><div class="aui_iconBg" style="background: none;"></div></td><td class="aui_main" style="width: auto; height: auto;"><div class="aui_content" style="padding: 20px 25px;"></div></td></tr><tr><td colspan="2" class="aui_footer"><div class="aui_buttons" style="display: none;"></div></td></tr></tbody></table></div></td><td class="aui_e"></td></tr><tr><td class="aui_sw"></td><td class="aui_s"></td><td class="aui_se" style="cursor: se-resize;"></td></tr></tbody></table></div></div>
|
||||||
|
<div class="home-wrapper">
|
||||||
|
<!-- content -->
|
||||||
|
<div class="home-content">
|
||||||
|
<div class="container">
|
||||||
|
<div class="ui-grid-1200" style="margin-bottom:0;" id="PANEL_RIGHT">
|
||||||
|
<div class="ui-grid-line" style="margin-bottom:5px;">
|
||||||
|
<!-- Module:面包屑开始 -->
|
||||||
|
<div class="global-nav">
|
||||||
|
<div class="global-nav-menu">
|
||||||
|
<span class="global-menu-arrow" id="showpath" onclick="showPathMemuNew()"></span>
|
||||||
|
</div>
|
||||||
|
<div class="global-nav-step">
|
||||||
|
<input type="hidden" id="JS_stepValue" value="1">
|
||||||
|
<div class="ui-step" id="step1">
|
||||||
|
<ul>
|
||||||
|
<li class="ui-step-fore1">1. 集团客户新增<b></b></li><strong>
|
||||||
|
<li class="ui-step-fore2">2. 申请提交</li>
|
||||||
|
</strong></ul><strong>
|
||||||
|
</strong></div><strong>
|
||||||
|
</strong></div><strong>
|
||||||
|
<!-- <div class="global-nav-fav">
|
||||||
|
<a class="global-fav-icon" onclick="addMyFavorite()">
|
||||||
|
<input type="hidden" id="JS_favId" value="0001" />
|
||||||
|
<i class="icons i-fav-empty"></i>
|
||||||
|
<span>收藏</span>
|
||||||
|
</a>
|
||||||
|
<div class="global-fav-state" style="display:none;">
|
||||||
|
<p>提示信息</p>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div class="global-nav-path">
|
||||||
|
<div class="global-path-contents">
|
||||||
|
<a href="#" onclick="returnPageToCustMgr()">办理首页</a>
|
||||||
|
>
|
||||||
|
<span id="global-market-name">AI智能建档</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</strong></div><strong>
|
||||||
|
<!-- Module:面包屑结束 -->
|
||||||
|
|
||||||
|
</strong></div><strong>
|
||||||
|
|
||||||
|
<!-- PANEL_RIGHT_BOTTOM -->
|
||||||
|
<div style="line-height:26px;min-height:402px;padding:0px 20px 10px;background-color: #fff;*min-height:418px;">
|
||||||
|
<div id="PANEL_RIGHT_BOTTOM" style="min-height: 402px;height: auto;">
|
||||||
|
<div class="step-contains" id="step-main" fieldset="object" name="BUSI_INFO">
|
||||||
|
<!--第1步:档次选择-->
|
||||||
|
<div id="JS_STEP_1">
|
||||||
|
<div class="step-contains-cnt">
|
||||||
|
<!-- add by hbx 营销案信息展示-->
|
||||||
|
<div id="offerInfo" class="div_center" fieldset="object">
|
||||||
|
<table style="/*MARGIN: 0px auto;*/ WIDTH: 90%">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<!--
|
||||||
|
<TD style="TEXT-ALIGN: left; WIDTH: 40%"><IMG class=offer_img src="../imag/groupAdd.jpg"> </IMG><INPUT id=DEFAULT_PROGRAM_ID style="DISPLAY: none" type=text> <INPUT id=MARKET_NAME style="DISPLAY: none" type=text value=移动E管家> </TD>
|
||||||
|
-->
|
||||||
|
<td style="TEXT-ALIGN: left; WIDTH: 60%">
|
||||||
|
<div><span class="offer_name_new">AI智能建档</span>
|
||||||
|
<div style="CLEAR: both"></div></div>
|
||||||
|
<div style="MARGIN: 5px 0px 0px;">集团客户是指以组织名义与一个公司签署协议,订购并使用该公司通信产品和服务,并在该公司建立起集团客户关系管理的法人单位及所附属的产业活动单位。 集团业务的客户竞争,关键在于运营商是否有一个闭环的管理过程,必须通过内部前后端协同优化,从客户需求发现,到需求确认、方案制定、执行,以及售后服务,提供集团客户优质的服务。 </div></td></tr></tbody></table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="ml0">
|
||||||
|
<div class="info_title pl5" style="color: rgba(0,0,0,0.85)">提示</div>
|
||||||
|
<div class="pl5" style="color: red;"><span>针对营业执照、统一社会信用代码证等企业致信系统可获取数据的标准证件,通过AI智能识别后,直接建档。</span></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="ml0">
|
||||||
|
<div class="pro-mods pl5">
|
||||||
|
<div id="base_prod" fieldset="json"><div fieldset="object" id="cust_info_inner">
|
||||||
|
<div class="info_title">证件上传</div>
|
||||||
|
<div class="ml0 fn-clear" id="ocrDiv_esop">
|
||||||
|
<div id="ocrChek" style="width:100%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; width: 60px; ">证件识别:</div>
|
||||||
|
<a href="javascript:;" style="color: #fff;font-weight: bolder;text-align: center;" class="ui-button-new ui-btn-whiteblue wid78 input-dis btn-style file button-show" id="OCR_A_esop"><span>上传证件</span>
|
||||||
|
<input id="OCR_FILE_esop" type="file" name="OCR_FILE_esop" class="select-file-input back-touming-style" onchange="uploadOcrFile_esop('OCR_FILE_esop');">
|
||||||
|
</a>
|
||||||
|
<b style="color:red;font-weight:inherit;position: absolute;margin-top: 3px;">上传营业执照证件或统一社会信用代码后自动进行OCR识别,建议附件不超过2M</b>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="verifyInfo" style="width: 100%; float: left; margin-top: 8px; display: none;">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; width: 60px; ">证件认证:</div>
|
||||||
|
<input onclick="opVerify()" class="ui-button-new ui-btn-whiteblue wid78 ui-button-mblue" type="button" value="去认证">
|
||||||
|
<b style="color:red;font-weight:inherit">企业致信系统可获取数据的标准证件,请在此进行证件认证操作</b>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
<div id="faceCompareDiv" style="display: none">
|
||||||
|
<iframe id="faceCompareUrl" frameborder="no" border="0" width="800" height="600" title="menu"></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">证件类型:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select id="CUST_CERT_TYPE" name="CUST_CERT_TYPE" fieldset="str" class="select" style="width: 166px; height: 28px;">
|
||||||
|
<option value="11">营业执照</option>
|
||||||
|
<option value="26">统一社会信用代码证书</option>
|
||||||
|
<option value="13">组织机构代码证</option>
|
||||||
|
<option value="14">事业单位法人证书</option>
|
||||||
|
</select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">机构类型:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select name="ORGAN_TYPE" id="ORGAN_TYPE" fieldset="str" class="select" style="width: 166px; height: 28px;"><option value="1.2">企业</option><option value="2">个体工商户</option><option value="10">小微客户</option><option value="3">聚类客户</option><option value="1.4">社会团体</option><option value="4">民办非企业单位</option><option value="8">产业活动单位</option><option value="5">基金会</option><option value="13">律师事务所</option><option value="14">外国文化中心</option><option value="1.1">机关</option><option value="11">军队</option><option value="7">村委会</option><option value="6">居委会</option><option value="1.3">事业</option><option value="12">群团组织</option><option value="1.5">其他组织机构</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="ocrChekInfo" class="info_title">单位证件编号</div>
|
||||||
|
<div class="ml0 fn-clear" id="CheckcertInfo">
|
||||||
|
<div style="width:100%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">单位证件编号:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="OCR_CERT_CODE" id="OCR_CERT_CODE" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="50">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<input style="font-size: 12px; margin: 0 5px;" id="checkGroupInfo" ;="" onclick="checkGroupInfo()" class="ui-button-new ui-btn-whiteblue wid78 ui-button-mblue" type="button" value="搜索">
|
||||||
|
<b style="color:red;font-weight:inherit">若编号识别错误,可手工微调</b>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="ocrInfo" style="display: none;">
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px;">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">单位名称:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="OCR_CERT_NAME" id="OCR_CERT_NAME" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="50">
|
||||||
|
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">法人代表:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="OCR_LEGAL_NAME" id="OCR_LEGAL_NAME" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="50">
|
||||||
|
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">经营场所:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="OCR_BUSI_AREA" id="OCR_BUSI_AREA" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="50">
|
||||||
|
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="INDUSTRY_CODE" id="INDUSTRY_CODE" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="50">
|
||||||
|
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="INDUSTRY_SUBCODE" id="INDUSTRY_SUBCODE" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="50">
|
||||||
|
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="info_title">证照信息</div>
|
||||||
|
<div class="com_info ml0 fn-clear">
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">单位名称:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="CERT_NAME" name="CERT_NAME" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">单位证件号码:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="CERT_CODE" name="CERT_CODE" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">法人代表:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="LEGAL_PERSON" name="LEGAL_PERSON" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">证件地址:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="CERT_ADRESS" name="CERT_ADRESS" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">营业期限:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="EXPIRE_DATE" name="EXPIRE_DATE" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">行业类别1:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="INDUSTRY" name="INDUSTRY" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">行业类别2:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="INDUSTRY_SUB" name="INDUSTRY_SUB" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">核准日期:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="CHECK_DATE" name="CHECK_DATE" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">登记管理部门:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="disabled" id="REG_MANA_DEPARTMENT" name="REG_MANA_DEPARTMENT" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty" fis-tip="不可为空" maxlength="200" old-name="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="info_title">联系信息</div>
|
||||||
|
<div class="com_info ml0 fn-clear">
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">联系电话:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="CONT_PHONE" id="CONT_PHONE" fieldset="str" class="text input-150" onblur="checkIsInStaff(this);" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty&&mobileAndTel" fis-tip="不可为空&&必须为固话或手机号码" maxlength="12">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">办公地址:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select name="ADDRESS_TYPE" id="ADDRESS_TYPE" fieldset="str" disabled="" class="select" style="width: 166px; height: 28px;">
|
||||||
|
<option value="elevenAddress">13级地址</option>
|
||||||
|
<option value="fiveAddress">5级地址</option>
|
||||||
|
</select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">楼层房号:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="FLOUR" id="FLOUR" fieldset="str" class="text input-150" value="" maxlength="12">
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:64%; float:left; margin-top: 8px;" id="elevenaddress">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;width:100px;">13级地址:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;width: 88%;">
|
||||||
|
<input type="text" id="elevenaddressId" fieldset="str" style="display:none;" name="STANDARD_ADDRESS_ID" class="text">
|
||||||
|
<input type="text" style="width: 76%" maxlength="255" id="ELEVEN_ADDRESS" openwin="true" fieldset="str" readonly="" name="STANDARD_ADDRESS_NAME" class="text" fis-pattern="notempty" fis-tip="不可为空" onclick="openEdit33Dialog13LevFast(this)">
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width: 100%; float: left; margin-top: 8px; display: none;" id="fiveaddress">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;width:100px;">5级地址:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;width: 51%;">
|
||||||
|
<input id="CUST_ADDRESS" type="text" fieldset="str" value="0" name="CUST_ADDRESS" class="text input-150 fn-hide" maxlength="255" style="width: 497px;">
|
||||||
|
<input id="GROUP_PROVINCE_CODE" type="text" fieldset="str" value="浙江省" class="text input-150 fn-hide" onchange="fis.validator.check($(this))" disabled="">
|
||||||
|
<select id="GROUP_REGION_CODE" fieldset="str" class="select" style="width: 15%; height: 28px;" fis-pattern="nonReq">
|
||||||
|
<option value="">请选择</option><option value="577">温州市</option><option value="572">湖州市</option><option value="580">舟山市</option><option value="570">衢州市</option><option value="578">丽水市</option><option value="576">台州市</option><option value="571">杭州市</option><option value="579">金华市</option><option value="574">宁波市</option><option value="575">绍兴市</option><option value="573">嘉兴市</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="GROUP_COUNTY_CODE" fieldset="str" class="select" style="width: 15%; height: 28px;" fis-pattern="nonReq"><option value="">请选择</option><option value="5718">建德市</option><option value="5712">临平区</option><option value="571A">余杭区</option><option value="5717">富阳市</option><option value="571D">上城区</option><option value="571E">下城区</option><option value="5714">拱墅区</option><option value="571C">淳安县</option><option value="5715">西湖区</option><option value="5713">钱塘区</option><option value="571B">临安市</option><option value="5711">滨江区</option><option value="5719">萧山区</option><option value="5716">桐庐区</option></select>
|
||||||
|
|
||||||
|
<select id="GROUP_TOWN_CODE" fieldset="str" class="select" style="width: 15%; height: 28px;" fis-pattern="nonReq">
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<input id="GROUP_VILLEGE_CODE" type="text" fieldset="str" class="text" style="width: 35%;" fis-pattern="nonReq">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div class="ruleModal hide">
|
||||||
|
<iframe id="gisDraw" style="width: 1120px;height: 510px;" src="http://gisweb2.yw.zj.chinamobile.com:8091/html/system/admin4.html?nid=574&appid=789456#page/new/newMng.html" frameborder="0" title="gisDraw1"></iframe>
|
||||||
|
<button id="gisGoBack" style="margin-left: 420px">退出绘制</button>
|
||||||
|
</div>
|
||||||
|
<div id="addressErrorTip" class="fn-hide" style="width: 100%; float: left; margin-top: 5px; color: #f69300;">
|
||||||
|
<label class="td_font" style="display: inline-block;"></label>
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">经度[118,123]:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="LONGITUDE" id="LONGITUDE" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty&&longitude" fis-tip="不可为空&&经度范围必须在[118,123]之间" maxlength="30">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">纬度[27,35]:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" name="LATITUDE" id="LATITUDE" fieldset="str" class="text input-150" value="" onchange="fis.validator.check($(this))" fis-pattern="notempty&&latitude" fis-tip="不可为空&&纬度范围必须在[27,35]之间" maxlength="30">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="info_title">网格</div>
|
||||||
|
<div class="com_info ml0 fn-clear">
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">地市:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select id="GRID_CITY_ID" name="GRID_CITY_ID" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择地市名称">
|
||||||
|
<option value="2">杭州市</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">区县:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select id="GRID_COUNTY_ID" name="GRID_COUNTY_ID" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择区县名称">
|
||||||
|
<option value="637585637870581">西湖</option><option value="5717">桐庐</option><option value="5718">临安</option><option value="5719">滨江</option><option value="1000000002105059">临平</option><option value="1000000002105058">上城</option><option value="637585649304126">拱墅</option><option value="637585631251437">钱塘</option><option value="5712">萧山</option><option value="5713">富阳</option><option value="5714">余杭</option><option value="5715">建德</option><option value="5716">淳安</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">网格:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select id="GRID_ID" name="GRID_ID" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择网格名称">
|
||||||
|
<option value="1000000000001504">西湖之江网格</option><option value="10242888">西湖留下网格</option><option value="1000000002113457">西湖古荡网格</option><option value="1000000002103426">西湖三墩网格</option><option value="1000000002103700">西湖西溪网格</option><option value="1000000000001520">西湖西子网格</option><option value="1000000002103428">西湖西城网格</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; display: none; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">地市:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select disabled="disabled" id="CHNL_CITY_ID" name="CHNL_CITY_ID" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择地市">
|
||||||
|
<option value="">请选择</option><option value="571">杭州</option>
|
||||||
|
</select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; display: none; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">县市:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select disabled="disabled" id="CHNL_REGION_TYPE" name="CHNL_REGION_TYPE" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择县市"><option value="">请选择</option><option value="5711">上城</option><option value="5712">萧山</option><option value="5713">富阳</option><option value="5714">余杭</option><option value="5715">建德</option><option value="5716">淳安</option><option value="5717">桐庐</option><option value="5718">临安</option><option value="5719">滨江</option><option value="571A">钱塘</option><option value="571B">西湖</option><option value="571C">临平</option><option value="571D">拱墅</option><option value="571E">集团客户中心</option><option value="571Z">电子商务中心</option><option value="571F">销售部</option><option value="571Y">杭州合作商A</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">片区:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select id="CHNL_REGION_DETAIL" name="CHNL_REGION_DETAIL" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择片区"><option value="">请选择</option><option value="84">余杭未来科技城网格</option><option value="1">余杭仁和网格</option><option value="2">余杭黄湖网格</option><option value="3">余杭闲林网格</option><option value="0">余杭大客户中心</option><option value="82">余杭良渚网格</option><option value="14">余杭瓶窑网格</option><option value="15">余杭老余杭网格</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="info_title">分类信息</div>
|
||||||
|
<div class="com_info ml0 fn-clear">
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">是否中小微:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select name="IS_MINI_GROUP" id="IS_MINI_GROUP" fieldset="str" class="select" style="width: 166px; height: 28px;">
|
||||||
|
<option value="2">其他</option><option value="1">是</option>
|
||||||
|
</select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">是否同步CMIOT:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select name="IS_UP_CMIOT" id="IS_UP_CMIOT" fieldset="str" class="select" style="width: 166px; height: 28px;">
|
||||||
|
<option value="2">否</option><option value="1">是</option>
|
||||||
|
</select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">集团级别:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select name="CUST_LEVEL" id="CUST_LEVEL" fieldset="str" class="select" style="width: 166px; height: 28px;"><option value="7" selected="selected">D</option><option value="6">C2</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px;">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">管理模式:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select disabled="disabled" name="DIRECT_GROUP_TYPE" id="DIRECT_GROUP_TYPE" fieldset="str" class="select disabled" style="width: 166px; height: 28px;"><option value="1">商客管理</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">场景类别:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select id="SCENE_TYPE_All" name="SCENE_TYPE_All" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择场景类别"><option value="2" text="独立单位">独立单位</option><option value="3" text="沿街商铺">沿街商铺</option><option value="1" text="商客场景">商客场景</option><option value="4" text="泛住宿">泛住宿</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">场所类别:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select id="SCENE_TYPE" name="SCENE_TYPE" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择场所类别"><option value="独立单位" text="独立单位">独立单位</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width: 32%; float: left; margin-top: 8px; display: none;" name="JZWMC_WRAP">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">建筑物名称:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" id="BUILDING_NAME" fieldset="str" fis-tip="建筑物名称不可为空" class="text input-150 combobox-f combo-f textbox-f" value="" textboxname="BUILDING_NAME" style="display: none;" comboname="BUILDING_NAME"><span class="textbox combo" style="width: 166px; height: 28px;"><span class="textbox-addon textbox-addon-right" style="right: 0px;"><a href="javascript:void(0)" class="textbox-icon combo-arrow" icon-index="0" tabindex="-1" style="width: 18px; height: 28px;"></a></span><input type="text" class="textbox-text validatebox-text textbox-prompt" autocomplete="off" placeholder="输入名称自动搜索" style="margin-left: 0px; margin-right: 24px; padding-top: 4px; padding-bottom: 4px; width: 125.6px;"><input type="hidden" class="textbox-value" name="BUILDING_NAME" value=""></span>
|
||||||
|
<b class="input_tip red fl" style="display: none;">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width: 32%; float: left; margin-top: 8px; display: none;" name="JZWBH_WRAP">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">建筑物编号:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<input type="text" disabled="" name="BUILDING_ID" id="BUILDING_ID" fieldset="str" fis-tip="建筑物编号不可为空" class="text input-150" value="">
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px;display: none ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">商客行业一级类型:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select name="BUSINESS_VOCATION1" id="BUSINESS_VOCATION1" fieldset="str" class="select" style="width: 166px; height: 28px;"><option value="01">住宿行业</option><option value="103">直播</option><option value="104">医卫</option><option value="105">餐饮</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px;display: none ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">商客行业二级类型:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select name="BUSINESS_VOCATION2" id="BUSINESS_VOCATION2" fieldset="str" class="select" style="width: 166px; height: 28px;"><option value="12">民宿</option><option value="16">长短租公寓</option><option value="17">宿舍</option><option value="18">培训中心</option><option value="11">酒店</option><option value="19">招待所</option><option value="110">其他泛住宿</option><option value="13">养老院</option><option value="14">KTV</option><option value="15">农家乐</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px;">细分客群类别:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select id="BUSINESS_SEGMENTED_VOCATION" name="BUSINESS_SEGMENTED_VOCATION" fieldset="str" class="select" style="width: 166px; height: 28px;" fis-pattern="notempty" fis-tip="请选择,后期不支持变更"><option value="" text="请选择,后期不支持变更">请选择,后期不支持变更</option><option value="05001" text="直播">直播</option><option value="08" text="物业物管">物业物管</option><option value="07" text="IT服务业">IT服务业</option><option value="01" text="零售">零售</option><option value="02" text="餐饮">餐饮</option><option value="03" text="住宿">住宿</option><option value="04" text="药店">药店</option><option value="06" text="其他">其他</option></select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width:32%; float:left; margin-top: 8px; ">
|
||||||
|
<div class="td_font" style="float:left; line-height: 30px; height: 30px; ">是否分支机构建档:</div>
|
||||||
|
<div style="float:left; line-height: 30px; height: 30px;">
|
||||||
|
<select name="IS_BRANCH" id="IS_BRANCH" fieldset="str" class="select" style="width: 166px; height: 28px;">
|
||||||
|
<option value="0">否</option>
|
||||||
|
<option value="1">是</option>
|
||||||
|
</select>
|
||||||
|
<b class="input_tip red fl">*</b>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="auditResultContent" fieldset="json" style="margin-top: 20px;display: none">
|
||||||
|
<div class="info_title">审核结果</div>
|
||||||
|
<div class="content-show" style="margin-left:22px;margin-top:1px;margin-bottom:30px;width: 620px; min-width: 620px; display: block; background-color: rgb(219, 236, 249); border-color: rgb(194, 229, 247);vertical-align: middle;line-height: 28px; ">
|
||||||
|
<p id="auditResultContainer" style="margin-left: 15px;vertical-align: middle;font-size: 12px;color: #333;"></p>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
</div>
|
||||||
|
<div class="com_info ml0 fn-clear">
|
||||||
|
<div id="submitApply" style="width:100%;text-align: right; margin-top: 20px; ">
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
<a onclick="cancelApply()" id="btn-business-Del" class="ui-button-new ui-btn-whiteblue wid78 ui-button-mblue" style="display: none;color:#fff;text-align:center;font-weight:bolder;line-height: 28px;margin-right: 20px;" href="javascript:;">作 废</a>
|
||||||
|
<a onclick="submitApplyInfo()" id="btn-business-Affirm" class="ui-button-new ui-btn-whiteblue wid78 ui-button-mblue" style="display:inline-grid;color:#fff;text-align:center;font-weight:bolder;line-height: 28px;" href="javascript:;">提 交</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 完成申请 -->
|
||||||
|
<div id="JS_STEP_3" style="display:none;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /PANEL_RIGHT_BOTTOM -->
|
||||||
|
</div>
|
||||||
|
</strong></div><strong>
|
||||||
|
</strong></div><strong>
|
||||||
|
</strong></div><strong>
|
||||||
|
</strong></div><strong>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="fastCreateSuccess" type="text/x-handlebars-template">
|
||||||
|
<div class="ui-grid-row">
|
||||||
|
<input type="hidden" id="resultSuc" value="0" />
|
||||||
|
<div class="fn-clear">
|
||||||
|
<div class="ui-grid-13" style="width: 753px; margin-top: -1px; margin-bottom: -1px; display: inline; vertical-align: middle;">
|
||||||
|
<div class="ui-tipbox ui-tipbox-success">
|
||||||
|
<div class="ui-tipbox-icon">
|
||||||
|
<i class="tipbox-icon icon-box-success" title="成功"></i>
|
||||||
|
</div>
|
||||||
|
<div class="ui-tipbox-content">
|
||||||
|
<h3 class="ui-tipbox-title">{{OPERATE_NAME}}提交成功!</h3>
|
||||||
|
{{#if GROUP_NAME}}
|
||||||
|
<p class="ui-tipbox-explain">集团客户名称:{{GROUP_NAME}}</p>
|
||||||
|
{{/if}}
|
||||||
|
{{#if GROUP_ID}}
|
||||||
|
<p class="ui-tipbox-explain">集团客户编号:{{GROUP_ID}}</p>
|
||||||
|
{{/if}}
|
||||||
|
<p class="ui-tipbox-explain" style="font-size:15px;color:red;">协议订单编号:<a id="workflowQry" style="cursor: pointer;text-decoration: underline;">{{ORDX_PROT_ID}}</a></p>
|
||||||
|
<input type="hidden" value="{{ORDX_PROT_ID}}" id="ordx_prot_id"/>
|
||||||
|
{{#if ASSIGNEE_MAN_NAME}}
|
||||||
|
<p class="ui-tipbox-explain">审核人员:{{ASSIGNEE_MAN_NAME}}</p>
|
||||||
|
{{/if}}
|
||||||
|
{{#if_eq CHNL_FLAG compare="2"}}
|
||||||
|
<p class="ui-tipbox-explain" style="color:red;">为便于捆绑GSM号码与集团客户融合关系,请至【集团成员办理菜单】为新建客户增加综合联系人</p>
|
||||||
|
{{/if_eq}}
|
||||||
|
</div>
|
||||||
|
{{#if QUIT_HIDE}}
|
||||||
|
{{else}}
|
||||||
|
<div class="bus-info-result-btn">
|
||||||
|
<a onclick="returnPageToCustMgr();" class="ui-button ui-button-mwhite" style="width:80px;height:28px;text-align: center;line-height:28px;background-color:#349cd3;color: #fff;margin-left:-170px;">退 出</a>
|
||||||
|
<a onclick="goToPageAuthManage();" class="ui-button ui-button-mwhite" style="width:80px;height:28px;text-align: center;line-height:28px;background-color:#349cd3;color: #fff; margin-left:20px;">授权人管理</a>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</strong><div id="ue-tooltip" style="position: absolute; display: none;"><div class="arrow" style=""></div><div class="tooltip-content"></div></div><div class="panel combo-p" style="position: absolute; z-index: 10; display: none;"><div class="combo-panel panel-body panel-body-noheader" title=""></div></div><div style="display: none; position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; cursor: move; opacity: 0; background: rgb(255, 255, 255);"></div><div id="tool-container" style="position: fixed; right: 20px; bottom: 20px; z-index: 9999; display: flex; flex-direction: column; gap: 10px; width: 150px; height: auto; background-color: rgb(76, 175, 80); border-radius: 8px; transition: 0.3s; overflow: hidden; cursor: move;"><div style="color: white; font-size: 24px; text-align: center; line-height: 40px; width: 100%;">+</div><button style="padding: 8px 12px; border: none; border-radius: 4px; background-color: rgb(240, 240, 240); color: rgb(51, 51, 51); cursor: pointer; width: 100%; transition: backgroundColor 0.2s;">复制源码</button><button style="padding: 8px 12px; border: none; border-radius: 4px; background-color: white; color: rgb(51, 51, 51); cursor: pointer; width: 100%; transition: backgroundColor 0.2s;">解析公司信息</button></div></body></html>
|
||||||
1370
new-group2.html
Normal file
1370
new-group2.html
Normal file
File diff suppressed because it is too large
Load Diff
947
script2-1.js
Normal file
947
script2-1.js
Normal file
@@ -0,0 +1,947 @@
|
|||||||
|
// ==UserScript==
|
||||||
|
// @name 页面工具按钮
|
||||||
|
// @namespace http://tampermonkey.net/
|
||||||
|
// @version 0.2
|
||||||
|
// @description 在页面右下角添加工具按钮,支持复制源码和解析公司信息
|
||||||
|
// @author You
|
||||||
|
// @match https://www.qcc.com/firm/*
|
||||||
|
// @match https://aiqicha.baidu.com/company_detail_*
|
||||||
|
// @grant none
|
||||||
|
// ==/UserScript==
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
// 工具类 - 存放通用函数
|
||||||
|
class ToolUtils {
|
||||||
|
static cleanText(text) {
|
||||||
|
return text
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.replace(/[\r\n\t]/g, "")
|
||||||
|
.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
static extractText(doc, selectors) {
|
||||||
|
for (const selector of selectors) {
|
||||||
|
const element = doc.querySelector(selector);
|
||||||
|
if (element && element.textContent.trim()) {
|
||||||
|
return element.textContent.trim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
static copyToClipboard(content, successMessage) {
|
||||||
|
const textarea = document.createElement("textarea");
|
||||||
|
textarea.value = content;
|
||||||
|
textarea.style.position = "fixed";
|
||||||
|
textarea.style.top = "0";
|
||||||
|
textarea.style.left = "0";
|
||||||
|
textarea.style.width = "1px";
|
||||||
|
textarea.style.height = "1px";
|
||||||
|
textarea.style.opacity = "0";
|
||||||
|
|
||||||
|
document.body.appendChild(textarea);
|
||||||
|
textarea.select();
|
||||||
|
document.execCommand("copy");
|
||||||
|
document.body.removeChild(textarea);
|
||||||
|
|
||||||
|
if (successMessage) {
|
||||||
|
alert(successMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static showResult(data) {
|
||||||
|
const modal = document.createElement("div");
|
||||||
|
modal.style.position = "fixed";
|
||||||
|
modal.style.top = "50%";
|
||||||
|
modal.style.left = "50%";
|
||||||
|
modal.style.transform = "translate(-50%, -50%)";
|
||||||
|
modal.style.width = "600px";
|
||||||
|
modal.style.maxHeight = "80vh";
|
||||||
|
modal.style.overflowY = "auto";
|
||||||
|
modal.style.backgroundColor = "white";
|
||||||
|
modal.style.padding = "20px";
|
||||||
|
modal.style.boxShadow = "0 0 10px rgba(0,0,0,0.3)";
|
||||||
|
modal.style.zIndex = "10000";
|
||||||
|
|
||||||
|
const pre = document.createElement("pre");
|
||||||
|
pre.textContent = JSON.stringify(data, null, 2);
|
||||||
|
pre.style.whiteSpace = "pre-wrap";
|
||||||
|
pre.style.wordWrap = "break-word";
|
||||||
|
|
||||||
|
const copyBtn = document.createElement("button");
|
||||||
|
copyBtn.textContent = "复制JSON";
|
||||||
|
copyBtn.style.marginTop = "10px";
|
||||||
|
copyBtn.style.padding = "8px 16px";
|
||||||
|
copyBtn.style.backgroundColor = "#52c41a";
|
||||||
|
copyBtn.style.color = "white";
|
||||||
|
copyBtn.style.border = "none";
|
||||||
|
copyBtn.style.borderRadius = "4px";
|
||||||
|
copyBtn.style.cursor = "pointer";
|
||||||
|
|
||||||
|
copyBtn.addEventListener("click", () => {
|
||||||
|
navigator.clipboard
|
||||||
|
.writeText(JSON.stringify(data, null, 2))
|
||||||
|
.then(() => alert("已复制到剪贴板"))
|
||||||
|
.catch((err) => alert("复制失败: " + err));
|
||||||
|
});
|
||||||
|
|
||||||
|
const closeBtn = document.createElement("button");
|
||||||
|
closeBtn.textContent = "关闭";
|
||||||
|
closeBtn.style.marginLeft = "10px";
|
||||||
|
closeBtn.style.marginTop = "10px";
|
||||||
|
closeBtn.style.padding = "8px 16px";
|
||||||
|
closeBtn.style.backgroundColor = "#f5222d";
|
||||||
|
closeBtn.style.color = "white";
|
||||||
|
closeBtn.style.border = "none";
|
||||||
|
closeBtn.style.borderRadius = "4px";
|
||||||
|
closeBtn.style.cursor = "pointer";
|
||||||
|
|
||||||
|
closeBtn.addEventListener("click", () => {
|
||||||
|
document.body.removeChild(modal);
|
||||||
|
});
|
||||||
|
|
||||||
|
modal.innerHTML = '<h2 style="margin-top: 0;">企业信息解析结果</h2>';
|
||||||
|
modal.appendChild(pre);
|
||||||
|
modal.appendChild(document.createElement("br"));
|
||||||
|
modal.appendChild(copyBtn);
|
||||||
|
modal.appendChild(closeBtn);
|
||||||
|
|
||||||
|
document.body.appendChild(modal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 爱企查解析类
|
||||||
|
class AiQiChaParser {
|
||||||
|
constructor() {
|
||||||
|
this.table = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化表格
|
||||||
|
initTable() {
|
||||||
|
this.table = document.querySelector("table.zx-detail-basic-table");
|
||||||
|
if (!this.table) {
|
||||||
|
alert("未找到企业信息表格");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取优化后的值
|
||||||
|
getOptimizedValue(title) {
|
||||||
|
const cells = Array.from(this.table.querySelectorAll("td"));
|
||||||
|
const titleCell = cells.find(
|
||||||
|
(cell) => ToolUtils.cleanText(cell.textContent) === title
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!titleCell) return null;
|
||||||
|
|
||||||
|
let valueCell = titleCell.nextElementSibling;
|
||||||
|
if (!valueCell) return null;
|
||||||
|
|
||||||
|
const valueElement = valueCell.querySelector(".enter-bg-ele") ||
|
||||||
|
valueCell.querySelector(".addr-enter-bg-ele") ||
|
||||||
|
valueCell;
|
||||||
|
|
||||||
|
return ToolUtils.cleanText(valueElement.textContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取法定代表人
|
||||||
|
getLegalRepresentative() {
|
||||||
|
const legalElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => ToolUtils.cleanText(td.textContent) === "法定代表人"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (legalElements.length > 0) {
|
||||||
|
const valueCell = legalElements[0].nextElementSibling;
|
||||||
|
if (valueCell && valueCell.classList.contains("image-text-content")) {
|
||||||
|
const nameElement = valueCell.querySelector(".person-name-warp a");
|
||||||
|
if (nameElement) {
|
||||||
|
return ToolUtils.cleanText(nameElement.textContent);
|
||||||
|
}
|
||||||
|
return ToolUtils.cleanText(valueCell.textContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const titleElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => td.textContent.includes("法定代表人")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (titleElements.length > 0 && titleElements[0].nextElementSibling) {
|
||||||
|
const valueCell = titleElements[0].nextElementSibling;
|
||||||
|
return ToolUtils.cleanText(valueCell.textContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取统一社会信用代码
|
||||||
|
getUnifiedSocialCreditCode() {
|
||||||
|
const codeElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => {
|
||||||
|
return (
|
||||||
|
td.textContent.includes("统一社会信用代码") &&
|
||||||
|
td.nextElementSibling &&
|
||||||
|
td.nextElementSibling.classList.contains("table-regCapital-lable")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
if (codeElements.length > 0) {
|
||||||
|
const valueCell = codeElements[0].nextElementSibling;
|
||||||
|
const rawValue = valueCell.querySelector(".enter-bg-ele")?.textContent || valueCell.textContent;
|
||||||
|
return ToolUtils.cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
const taxElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => td.textContent.includes("纳税人识别号")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (taxElements.length > 0 && taxElements[0].nextElementSibling) {
|
||||||
|
const valueCell = taxElements[0].nextElementSibling;
|
||||||
|
const rawValue = valueCell.querySelector(".enter-bg-ele")?.textContent || valueCell.textContent;
|
||||||
|
return ToolUtils.cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取工商注册号
|
||||||
|
getBusinessRegistrationNo() {
|
||||||
|
const regElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => ToolUtils.cleanText(td.textContent).includes("工商注册号")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (regElements.length > 0 && regElements[0].nextElementSibling) {
|
||||||
|
const valueCell = regElements[0].nextElementSibling;
|
||||||
|
const rawValue = valueCell.querySelector(".enter-bg-ele")?.textContent || valueCell.textContent;
|
||||||
|
return ToolUtils.cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取组织机构代码
|
||||||
|
getOrganizationCode() {
|
||||||
|
const orgCodeElements = Array.from(
|
||||||
|
this.table.querySelectorAll(".poptip-wrap-org-no")
|
||||||
|
).filter((el) => el.textContent.includes("组织机构代码"));
|
||||||
|
|
||||||
|
if (orgCodeElements.length > 0) {
|
||||||
|
const valueCell = orgCodeElements[0].closest("td").nextElementSibling;
|
||||||
|
if (valueCell && valueCell.classList.contains("enter-bg")) {
|
||||||
|
const rawValue = valueCell.querySelector(".enter-bg-ele")?.textContent || valueCell.textContent;
|
||||||
|
return ToolUtils.cleanText(rawValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const titleElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => ToolUtils.cleanText(td.textContent) === "组织机构代码"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (titleElements.length > 0 && titleElements[0].nextElementSibling) {
|
||||||
|
const valueCell = titleElements[0].nextElementSibling;
|
||||||
|
const rawValue = valueCell.querySelector(".enter-bg-ele")?.textContent || valueCell.textContent;
|
||||||
|
return ToolUtils.cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取纳税人识别号
|
||||||
|
getTaxpayerId() {
|
||||||
|
const taxElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => ToolUtils.cleanText(td.textContent).includes("纳税人识别号")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (taxElements.length > 0 && taxElements[0].nextElementSibling) {
|
||||||
|
const valueCell = taxElements[0].nextElementSibling;
|
||||||
|
const rawValue = valueCell.querySelector(".enter-bg-ele")?.textContent || valueCell.textContent;
|
||||||
|
return ToolUtils.cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
const creditElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => ToolUtils.cleanText(td.textContent).includes("统一社会信用代码")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (creditElements.length > 0 && creditElements[0].nextElementSibling) {
|
||||||
|
const valueCell = creditElements[0].nextElementSibling;
|
||||||
|
const rawValue = valueCell.querySelector(".enter-bg-ele")?.textContent || valueCell.textContent;
|
||||||
|
return ToolUtils.cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取参保人数
|
||||||
|
getInsuranceNumber() {
|
||||||
|
const insuranceElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => {
|
||||||
|
return (
|
||||||
|
td.textContent.includes("参保人数") &&
|
||||||
|
td.querySelector(".insurance-info")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
if (insuranceElements.length > 0) {
|
||||||
|
const valueCell = insuranceElements[0].nextElementSibling;
|
||||||
|
if (!valueCell) return null;
|
||||||
|
|
||||||
|
const rawText = valueCell.textContent.replace(/[\r\n\t]/g, "").trim();
|
||||||
|
const match = rawText.match(/(\d+人)/);
|
||||||
|
return match ? match[0] : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const registrationElements = Array.from(
|
||||||
|
this.table.querySelectorAll("td")
|
||||||
|
).filter((td) => td.textContent.includes("登记机关"));
|
||||||
|
|
||||||
|
if (
|
||||||
|
registrationElements.length > 0 &&
|
||||||
|
registrationElements[0].previousElementSibling
|
||||||
|
) {
|
||||||
|
const valueCell = registrationElements[0].previousElementSibling;
|
||||||
|
const rawText = valueCell.textContent.replace(/[\r\n\t]/g, "").trim();
|
||||||
|
const match = rawText.match(/(\d+人)/);
|
||||||
|
return match ? match[0] : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取核准日期
|
||||||
|
getApprovalDate() {
|
||||||
|
const approvalElements = Array.from(
|
||||||
|
this.table.querySelectorAll(".poptip-wrap-annual-date")
|
||||||
|
).filter((el) => el.textContent.includes("核准日期"));
|
||||||
|
|
||||||
|
if (approvalElements.length > 0) {
|
||||||
|
const valueCell = approvalElements[0].closest("td").nextElementSibling;
|
||||||
|
if (valueCell) {
|
||||||
|
const rawValue = valueCell.textContent
|
||||||
|
.replace(/[\r\n\t]/g, "")
|
||||||
|
.trim();
|
||||||
|
if (/^\d{4}-\d{2}-\d{2}$/.test(rawValue)) {
|
||||||
|
return rawValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const titleElements = Array.from(this.table.querySelectorAll("td")).filter(
|
||||||
|
(td) => ToolUtils.cleanText(td.textContent) === "核准日期"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (titleElements.length > 0 && titleElements[0].nextElementSibling) {
|
||||||
|
const valueCell = titleElements[0].nextElementSibling;
|
||||||
|
const rawValue = ToolUtils.cleanText(valueCell.textContent);
|
||||||
|
if (/^\d{4}-\d{2}-\d{2}$/.test(rawValue)) {
|
||||||
|
return rawValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析公司信息主方法
|
||||||
|
parseCompanyInfo() {
|
||||||
|
if (!this.initTable()) return;
|
||||||
|
|
||||||
|
const companyData = {
|
||||||
|
企业名称: this.getOptimizedValue("企业名称"),
|
||||||
|
统一社会信用代码: this.getUnifiedSocialCreditCode(),
|
||||||
|
法定代表人: this.getLegalRepresentative(),
|
||||||
|
经营状态: this.getOptimizedValue("经营状态"),
|
||||||
|
成立日期: this.getOptimizedValue("成立日期"),
|
||||||
|
行政区划: this.getOptimizedValue("行政区划"),
|
||||||
|
注册资本: this.getOptimizedValue("注册资本"),
|
||||||
|
实缴资本: this.getOptimizedValue("实缴资本"),
|
||||||
|
企业类型: this.getOptimizedValue("企业类型"),
|
||||||
|
所属行业: this.getOptimizedValue("所属行业"),
|
||||||
|
工商注册号: this.getBusinessRegistrationNo(),
|
||||||
|
组织机构代码: this.getOrganizationCode(),
|
||||||
|
纳税人识别号: this.getTaxpayerId(),
|
||||||
|
纳税人资质: this.getOptimizedValue("纳税人资质"),
|
||||||
|
营业期限: this.getOptimizedValue("营业期限"),
|
||||||
|
核准日期: this.getApprovalDate(),
|
||||||
|
参保人数: this.getInsuranceNumber(),
|
||||||
|
登记机关: this.getOptimizedValue("登记机关"),
|
||||||
|
曾用名: this.getOptimizedValue("曾用名"),
|
||||||
|
注册地址: this.getOptimizedValue("注册地址"),
|
||||||
|
经营范围: this.getOptimizedValue("经营范围"),
|
||||||
|
};
|
||||||
|
|
||||||
|
ToolUtils.showResult(companyData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// QCC解析类 - 预留扩展
|
||||||
|
class QCCParser {
|
||||||
|
constructor() {
|
||||||
|
// 预留QCC网站解析逻辑
|
||||||
|
}
|
||||||
|
|
||||||
|
parseCompanyInfo() {
|
||||||
|
alert("QCC解析功能即将上线");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建按钮容器
|
||||||
|
function createButtonContainer() {{
|
||||||
|
const container = document.createElement("div");
|
||||||
|
container.id = "tool-container";
|
||||||
|
Object.assign(container.style, {
|
||||||
|
position: "fixed",
|
||||||
|
right: "20px",
|
||||||
|
bottom: "20px",
|
||||||
|
zIndex: "9999",
|
||||||
|
display: "flex",
|
||||||
|
flexDirection: "column",
|
||||||
|
gap: "10px",
|
||||||
|
width: "40px",
|
||||||
|
height: "40px",
|
||||||
|
backgroundColor: "#4CAF50",
|
||||||
|
borderRadius: "50%",
|
||||||
|
transition: "all 0.3s ease",
|
||||||
|
overflow: "hidden",
|
||||||
|
cursor: "move",
|
||||||
|
});
|
||||||
|
|
||||||
|
// +号指示器
|
||||||
|
const plusSign = document.createElement("div");
|
||||||
|
plusSign.textContent = "+";
|
||||||
|
Object.assign(plusSign.style, {
|
||||||
|
color: "white",
|
||||||
|
fontSize: "24px",
|
||||||
|
textAlign: "center",
|
||||||
|
lineHeight: "40px",
|
||||||
|
width: "100%",
|
||||||
|
});
|
||||||
|
container.appendChild(plusSign);
|
||||||
|
|
||||||
|
// 悬停展开效果
|
||||||
|
container.addEventListener("mouseenter", () => {
|
||||||
|
container.style.width = "150px";
|
||||||
|
container.style.height = "auto";
|
||||||
|
container.style.borderRadius = "8px";
|
||||||
|
});
|
||||||
|
|
||||||
|
container.addEventListener("mouseleave", () => {
|
||||||
|
container.style.width = "40px";
|
||||||
|
container.style.height = "40px";
|
||||||
|
container.style.borderRadius = "50%";
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加拖动功能
|
||||||
|
let isDragging = false;
|
||||||
|
let offsetX, offsetY;
|
||||||
|
|
||||||
|
// 鼠标按下开始拖动
|
||||||
|
container.addEventListener("mousedown", (e) => {
|
||||||
|
// 只有点击+号区域才允许拖动
|
||||||
|
if (e.target === plusSign || e.target === container) {
|
||||||
|
isDragging = true;
|
||||||
|
const rect = container.getBoundingClientRect();
|
||||||
|
offsetX = e.clientX - rect.left;
|
||||||
|
offsetY = e.clientY - rect.top;
|
||||||
|
container.style.cursor = "grabbing";
|
||||||
|
// 阻止事件冒泡和默认行为
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 鼠标移动时更新位置
|
||||||
|
document.addEventListener("mousemove", (e) => {
|
||||||
|
if (!isDragging) return;
|
||||||
|
container.style.left = e.clientX - offsetX + "px";
|
||||||
|
container.style.top = e.clientY - offsetY + "px";
|
||||||
|
container.style.right = "auto";
|
||||||
|
container.style.bottom = "auto";
|
||||||
|
});
|
||||||
|
|
||||||
|
// 鼠标释放结束拖动
|
||||||
|
document.addEventListener("mouseup", () => {
|
||||||
|
if (isDragging) {
|
||||||
|
isDragging = false;
|
||||||
|
container.style.cursor = "move";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 创建功能按钮
|
||||||
|
function createButton(text, onClick) {
|
||||||
|
const button = document.createElement("button");
|
||||||
|
button.textContent = text;
|
||||||
|
Object.assign(button.style, {
|
||||||
|
padding: "8px 12px",
|
||||||
|
border: "none",
|
||||||
|
borderRadius: "4px",
|
||||||
|
backgroundColor: "white",
|
||||||
|
color: "#333",
|
||||||
|
cursor: "pointer",
|
||||||
|
width: "100%",
|
||||||
|
transition: "backgroundColor 0.2s",
|
||||||
|
});
|
||||||
|
button.addEventListener(
|
||||||
|
"mouseenter",
|
||||||
|
() => (button.style.backgroundColor = "#f0f0f0")
|
||||||
|
);
|
||||||
|
button.addEventListener(
|
||||||
|
"mouseleave",
|
||||||
|
() => (button.style.backgroundColor = "white")
|
||||||
|
);
|
||||||
|
button.addEventListener("click", onClick);
|
||||||
|
return button;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 复制源码按钮
|
||||||
|
const copySourceButton = createButton("复制源码", () => {
|
||||||
|
const html = document.documentElement.outerHTML;
|
||||||
|
|
||||||
|
copyToClipboard(html, "HTML源码已复制到剪贴板");
|
||||||
|
/*
|
||||||
|
navigator.clipboard
|
||||||
|
.writeText(html)
|
||||||
|
.then(() => {
|
||||||
|
alert("源码已复制到剪贴板");
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("复制失败:", err);
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
});
|
||||||
|
|
||||||
|
// 解析公司信息按钮
|
||||||
|
const parseInfoButton = createButton("解析公司信息", () => {
|
||||||
|
// 根据当前URL选择对应的解析器
|
||||||
|
let parser;
|
||||||
|
if (window.location.host.includes('aiqicha.baidu.com')) {
|
||||||
|
parser = new AiQiChaParser();
|
||||||
|
} else if (window.location.host.includes('qcc.com')) {
|
||||||
|
parser = new QCCParser();
|
||||||
|
} else {
|
||||||
|
alert('不支持的网站');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
parser.parseCompanyInfo();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 法定代表人提取方法(优化版)
|
||||||
|
function getLegalRepresentative(table) {
|
||||||
|
// 方法1:通过特定class组合定位
|
||||||
|
const legalElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => cleanText(td.textContent) === "法定代表人"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (legalElements.length > 0) {
|
||||||
|
const valueCell = legalElements[0].nextElementSibling;
|
||||||
|
if (valueCell && valueCell.classList.contains("image-text-content")) {
|
||||||
|
// 从包含头像的复杂结构中提取姓名
|
||||||
|
const nameElement = valueCell.querySelector(".person-name-warp a");
|
||||||
|
if (nameElement) {
|
||||||
|
return cleanText(nameElement.textContent);
|
||||||
|
}
|
||||||
|
// 备用方案:直接提取单元格文本
|
||||||
|
return cleanText(valueCell.textContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 方法2:通过标题文本定位(备用方案)
|
||||||
|
const titleElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => td.textContent.includes("法定代表人")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (titleElements.length > 0 && titleElements[0].nextElementSibling) {
|
||||||
|
const valueCell = titleElements[0].nextElementSibling;
|
||||||
|
return cleanText(valueCell.textContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 核准日期提取方法(优化版)
|
||||||
|
function getApprovalDate(table) {
|
||||||
|
// 方法1:通过特定class组合定位
|
||||||
|
const approvalElements = Array.from(
|
||||||
|
table.querySelectorAll(".poptip-wrap-annual-date")
|
||||||
|
).filter((el) => el.textContent.includes("核准日期"));
|
||||||
|
|
||||||
|
if (approvalElements.length > 0) {
|
||||||
|
const valueCell = approvalElements[0].closest("td").nextElementSibling;
|
||||||
|
if (valueCell) {
|
||||||
|
const rawValue = valueCell.textContent
|
||||||
|
.replace(/[\r\n\t]/g, "")
|
||||||
|
.trim();
|
||||||
|
// 验证日期格式
|
||||||
|
if (/^\d{4}-\d{2}-\d{2}$/.test(rawValue)) {
|
||||||
|
return rawValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 方法2:通过标题文本定位
|
||||||
|
const titleElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => cleanText(td.textContent) === "核准日期"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (titleElements.length > 0 && titleElements[0].nextElementSibling) {
|
||||||
|
const valueCell = titleElements[0].nextElementSibling;
|
||||||
|
const rawValue = cleanText(valueCell.textContent);
|
||||||
|
if (/^\d{4}-\d{2}-\d{2}$/.test(rawValue)) {
|
||||||
|
return rawValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 组织机构代码提取方法
|
||||||
|
function getOrganizationCode(table) {
|
||||||
|
// 方法1:通过特定class组合定位
|
||||||
|
const orgCodeElements = Array.from(
|
||||||
|
table.querySelectorAll(".poptip-wrap-org-no")
|
||||||
|
).filter((el) => el.textContent.includes("组织机构代码"));
|
||||||
|
|
||||||
|
if (orgCodeElements.length > 0) {
|
||||||
|
const valueCell = orgCodeElements[0].closest("td").nextElementSibling;
|
||||||
|
if (valueCell && valueCell.classList.contains("enter-bg")) {
|
||||||
|
const rawValue =
|
||||||
|
valueCell.querySelector(".enter-bg-ele")?.textContent ||
|
||||||
|
valueCell.textContent;
|
||||||
|
return cleanText(rawValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 方法2:通过标题文本定位
|
||||||
|
const titleElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => cleanText(td.textContent) === "组织机构代码"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (titleElements.length > 0 && titleElements[0].nextElementSibling) {
|
||||||
|
const valueCell = titleElements[0].nextElementSibling;
|
||||||
|
const rawValue =
|
||||||
|
valueCell.querySelector(".enter-bg-ele")?.textContent ||
|
||||||
|
valueCell.textContent;
|
||||||
|
return cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 纳税人识别号提取方法
|
||||||
|
function getTaxpayerId(table) {
|
||||||
|
// 方法1:尝试直接获取纳税人识别号
|
||||||
|
const taxElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => cleanText(td.textContent).includes("纳税人识别号")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (taxElements.length > 0 && taxElements[0].nextElementSibling) {
|
||||||
|
const valueCell = taxElements[0].nextElementSibling;
|
||||||
|
const rawValue =
|
||||||
|
valueCell.querySelector(".enter-bg-ele")?.textContent ||
|
||||||
|
valueCell.textContent;
|
||||||
|
return cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 方法2:使用统一社会信用代码(通常与纳税人识别号相同)
|
||||||
|
const creditElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => cleanText(td.textContent).includes("统一社会信用代码")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (creditElements.length > 0 && creditElements[0].nextElementSibling) {
|
||||||
|
const valueCell = creditElements[0].nextElementSibling;
|
||||||
|
const rawValue =
|
||||||
|
valueCell.querySelector(".enter-bg-ele")?.textContent ||
|
||||||
|
valueCell.textContent;
|
||||||
|
return cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 工商注册号提取方法
|
||||||
|
function getBusinessRegistrationNo(table) {
|
||||||
|
const regElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => cleanText(td.textContent).includes("工商注册号")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (regElements.length > 0 && regElements[0].nextElementSibling) {
|
||||||
|
const valueCell = regElements[0].nextElementSibling;
|
||||||
|
const rawValue =
|
||||||
|
valueCell.querySelector(".enter-bg-ele")?.textContent ||
|
||||||
|
valueCell.textContent;
|
||||||
|
return cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 专用参保人数提取方法
|
||||||
|
function getInsuranceNumber(table) {
|
||||||
|
// 方法1:通过标题和特定class组合定位
|
||||||
|
const insuranceElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => {
|
||||||
|
return (
|
||||||
|
td.textContent.includes("参保人数") &&
|
||||||
|
td.querySelector(".insurance-info")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
if (insuranceElements.length > 0) {
|
||||||
|
const valueCell = insuranceElements[0].nextElementSibling;
|
||||||
|
if (!valueCell) return null;
|
||||||
|
|
||||||
|
// 提取纯文本内容,过滤掉img标签
|
||||||
|
const rawText = valueCell.textContent.replace(/[\r\n\t]/g, "").trim();
|
||||||
|
// 匹配"数字+人"格式
|
||||||
|
const match = rawText.match(/(\d+人)/);
|
||||||
|
return match ? match[0] : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 方法2:备用方案,通过相邻单元格内容定位
|
||||||
|
const registrationElements = Array.from(
|
||||||
|
table.querySelectorAll("td")
|
||||||
|
).filter((td) => td.textContent.includes("登记机关"));
|
||||||
|
|
||||||
|
if (
|
||||||
|
registrationElements.length > 0 &&
|
||||||
|
registrationElements[0].previousElementSibling
|
||||||
|
) {
|
||||||
|
const valueCell = registrationElements[0].previousElementSibling;
|
||||||
|
const rawText = valueCell.textContent.replace(/[\r\n\t]/g, "").trim();
|
||||||
|
const match = rawText.match(/(\d+人)/);
|
||||||
|
return match ? match[0] : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 优化后的统一社会信用代码提取方法
|
||||||
|
function getUnifiedSocialCreditCode(table) {
|
||||||
|
// 方法1:直接通过标题定位
|
||||||
|
const codeElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => {
|
||||||
|
return (
|
||||||
|
td.textContent.includes("统一社会信用代码") &&
|
||||||
|
td.nextElementSibling &&
|
||||||
|
td.nextElementSibling.classList.contains("table-regCapital-lable")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
if (codeElements.length > 0) {
|
||||||
|
const valueCell = codeElements[0].nextElementSibling;
|
||||||
|
const rawValue =
|
||||||
|
valueCell.querySelector(".enter-bg-ele")?.textContent ||
|
||||||
|
valueCell.textContent;
|
||||||
|
return cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 方法2:备用方案,通过纳税人识别号获取(通常与统一社会信用代码相同)
|
||||||
|
const taxElements = Array.from(table.querySelectorAll("td")).filter(
|
||||||
|
(td) => td.textContent.includes("纳税人识别号")
|
||||||
|
);
|
||||||
|
|
||||||
|
if (taxElements.length > 0 && taxElements[0].nextElementSibling) {
|
||||||
|
const valueCell = taxElements[0].nextElementSibling;
|
||||||
|
const rawValue =
|
||||||
|
valueCell.querySelector(".enter-bg-ele")?.textContent ||
|
||||||
|
valueCell.textContent;
|
||||||
|
return cleanText(rawValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通用优化字段提取方法
|
||||||
|
function getOptimizedValue(table, title) {
|
||||||
|
const cells = Array.from(table.querySelectorAll("td"));
|
||||||
|
const titleCell = cells.find(
|
||||||
|
(cell) => cleanText(cell.textContent) === title
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!titleCell) return null;
|
||||||
|
|
||||||
|
// 查找值单元格(考虑多种DOM结构情况)
|
||||||
|
let valueCell = titleCell.nextElementSibling;
|
||||||
|
if (!valueCell) return null;
|
||||||
|
|
||||||
|
// 优先提取.enter-bg-ele内的值,若无则直接取单元格文本
|
||||||
|
const valueElement =
|
||||||
|
valueCell.querySelector(".enter-bg-ele") ||
|
||||||
|
valueCell.querySelector(".addr-enter-bg-ele") ||
|
||||||
|
valueCell;
|
||||||
|
|
||||||
|
return cleanText(valueElement.textContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 文本清理函数
|
||||||
|
function cleanText(text) {
|
||||||
|
return text
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.replace(/[\r\n\t]/g, "")
|
||||||
|
.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 辅助函数:显示解析结果
|
||||||
|
function showResult(data) {
|
||||||
|
// 创建弹窗
|
||||||
|
const modal = document.createElement("div");
|
||||||
|
modal.style.position = "fixed";
|
||||||
|
modal.style.top = "50%";
|
||||||
|
modal.style.left = "50%";
|
||||||
|
modal.style.transform = "translate(-50%, -50%)";
|
||||||
|
modal.style.width = "600px";
|
||||||
|
modal.style.maxHeight = "80vh";
|
||||||
|
modal.style.overflowY = "auto";
|
||||||
|
modal.style.backgroundColor = "white";
|
||||||
|
modal.style.padding = "20px";
|
||||||
|
modal.style.boxShadow = "0 0 10px rgba(0,0,0,0.3)";
|
||||||
|
modal.style.zIndex = "10000";
|
||||||
|
|
||||||
|
// 创建JSON显示区域
|
||||||
|
const pre = document.createElement("pre");
|
||||||
|
pre.textContent = JSON.stringify(data, null, 2);
|
||||||
|
pre.style.whiteSpace = "pre-wrap";
|
||||||
|
pre.style.wordWrap = "break-word";
|
||||||
|
|
||||||
|
// 创建复制按钮
|
||||||
|
const copyBtn = document.createElement("button");
|
||||||
|
copyBtn.textContent = "复制JSON";
|
||||||
|
copyBtn.style.marginTop = "10px";
|
||||||
|
copyBtn.style.padding = "8px 16px";
|
||||||
|
copyBtn.style.backgroundColor = "#52c41a";
|
||||||
|
copyBtn.style.color = "white";
|
||||||
|
copyBtn.style.border = "none";
|
||||||
|
copyBtn.style.borderRadius = "4px";
|
||||||
|
copyBtn.style.cursor = "pointer";
|
||||||
|
|
||||||
|
copyBtn.addEventListener("click", function () {
|
||||||
|
navigator.clipboard
|
||||||
|
.writeText(JSON.stringify(data, null, 2))
|
||||||
|
.then(() => alert("已复制到剪贴板"))
|
||||||
|
.catch((err) => alert("复制失败: " + err));
|
||||||
|
});
|
||||||
|
|
||||||
|
// 创建关闭按钮
|
||||||
|
const closeBtn = document.createElement("button");
|
||||||
|
closeBtn.textContent = "关闭";
|
||||||
|
closeBtn.style.marginLeft = "10px";
|
||||||
|
closeBtn.style.marginTop = "10px";
|
||||||
|
closeBtn.style.padding = "8px 16px";
|
||||||
|
closeBtn.style.backgroundColor = "#f5222d";
|
||||||
|
closeBtn.style.color = "white";
|
||||||
|
closeBtn.style.border = "none";
|
||||||
|
closeBtn.style.borderRadius = "4px";
|
||||||
|
closeBtn.style.cursor = "pointer";
|
||||||
|
|
||||||
|
closeBtn.addEventListener("click", function () {
|
||||||
|
document.body.removeChild(modal);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 组装弹窗内容
|
||||||
|
modal.innerHTML = '<h2 style="margin-top: 0;">企业信息解析结果</h2>';
|
||||||
|
modal.appendChild(pre);
|
||||||
|
modal.appendChild(document.createElement("br"));
|
||||||
|
modal.appendChild(copyBtn);
|
||||||
|
modal.appendChild(closeBtn);
|
||||||
|
|
||||||
|
document.body.appendChild(modal);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析公司信息函数
|
||||||
|
function parseCompanyInfo(html) {
|
||||||
|
// 创建临时DOM解析器
|
||||||
|
const parser = new DOMParser();
|
||||||
|
const doc = parser.parseFromString(html, "text/html");
|
||||||
|
|
||||||
|
// 常见公司信息字段解析
|
||||||
|
const companyInfo = {
|
||||||
|
name: extractText(doc, [
|
||||||
|
".company-name",
|
||||||
|
".company-title",
|
||||||
|
"h1",
|
||||||
|
"title",
|
||||||
|
]),
|
||||||
|
socialCreditCodeText: extractText(doc, [".social-credit-code-text"]),
|
||||||
|
|
||||||
|
legalRepresentative: extractText(doc, [
|
||||||
|
".legal-representative span.a",
|
||||||
|
".legal-person",
|
||||||
|
'[itemprop="founder"]',
|
||||||
|
]),
|
||||||
|
registeredCapital: extractText(doc, [
|
||||||
|
".registered-capital",
|
||||||
|
".capital",
|
||||||
|
'[itemprop="foundingFund"]',
|
||||||
|
]),
|
||||||
|
registrationDate: extractText(doc, [
|
||||||
|
".registration-date",
|
||||||
|
".establish-date",
|
||||||
|
'[itemprop="foundingDate"]',
|
||||||
|
]),
|
||||||
|
businessScope: extractText(doc, [
|
||||||
|
".business-scope",
|
||||||
|
".scope",
|
||||||
|
'[itemprop="knowsAbout"]',
|
||||||
|
]),
|
||||||
|
address: extractText(doc, [
|
||||||
|
".addr-enter-bg-ele",
|
||||||
|
".company-address",
|
||||||
|
".address",
|
||||||
|
'[itemprop="address"]',
|
||||||
|
]),
|
||||||
|
phone: extractText(doc, [
|
||||||
|
'[data-log-title="detail-head-phone"] span',
|
||||||
|
".company-phone",
|
||||||
|
".contact-phone",
|
||||||
|
'[itemprop="telephone"]',
|
||||||
|
]),
|
||||||
|
};
|
||||||
|
|
||||||
|
return companyInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 辅助函数:从多个可能的选择器中提取文本
|
||||||
|
function extractText(doc, selectors) {
|
||||||
|
for (const selector of selectors) {
|
||||||
|
const element = doc.querySelector(selector);
|
||||||
|
if (element && element.textContent.trim()) {
|
||||||
|
return element.textContent.trim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 辅助函数:复制到剪贴板
|
||||||
|
function copyToClipboard(content, successMessage) {
|
||||||
|
const textarea = document.createElement("textarea");
|
||||||
|
textarea.value = content;
|
||||||
|
textarea.style.position = "fixed";
|
||||||
|
textarea.style.top = "0";
|
||||||
|
textarea.style.left = "0";
|
||||||
|
textarea.style.width = "1px";
|
||||||
|
textarea.style.height = "1px";
|
||||||
|
textarea.style.opacity = "0";
|
||||||
|
|
||||||
|
document.body.appendChild(textarea);
|
||||||
|
textarea.select();
|
||||||
|
document.execCommand("copy");
|
||||||
|
document.body.removeChild(textarea);
|
||||||
|
|
||||||
|
if (successMessage) {
|
||||||
|
alert(successMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加按钮到容器
|
||||||
|
container.appendChild(copySourceButton);
|
||||||
|
container.appendChild(parseInfoButton);
|
||||||
|
|
||||||
|
document.body.appendChild(container);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 页面加载完成后创建按钮
|
||||||
|
window.addEventListener("load", createButtonContainer);
|
||||||
|
})();
|
||||||
105
script2.js
105
script2.js
@@ -1,105 +0,0 @@
|
|||||||
// ==UserScript==
|
|
||||||
// @name 页面工具按钮
|
|
||||||
// @namespace http://tampermonkey.net/
|
|
||||||
// @version 0.1
|
|
||||||
// @description 在页面右下角添加工具按钮,支持复制源码和解析公司信息
|
|
||||||
// @author You
|
|
||||||
// @match *://*/*
|
|
||||||
// @grant none
|
|
||||||
// ==/UserScript==
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
// 创建按钮容器
|
|
||||||
function createButtonContainer() {
|
|
||||||
const container = document.createElement('div');
|
|
||||||
container.id = 'tool-container';
|
|
||||||
Object.assign(container.style, {
|
|
||||||
position: 'fixed',
|
|
||||||
right: '20px',
|
|
||||||
bottom: '20px',
|
|
||||||
zIndex: '9999',
|
|
||||||
display: 'flex',
|
|
||||||
flexDirection: 'column',
|
|
||||||
gap: '10px',
|
|
||||||
width: '40px',
|
|
||||||
height: '40px',
|
|
||||||
backgroundColor: '#4CAF50',
|
|
||||||
borderRadius: '50%',
|
|
||||||
transition: 'all 0.3s ease',
|
|
||||||
overflow: 'hidden',
|
|
||||||
cursor: 'pointer'
|
|
||||||
});
|
|
||||||
|
|
||||||
// +号指示器
|
|
||||||
const plusSign = document.createElement('div');
|
|
||||||
plusSign.textContent = '+';
|
|
||||||
Object.assign(plusSign.style, {
|
|
||||||
color: 'white',
|
|
||||||
fontSize: '24px',
|
|
||||||
textAlign: 'center',
|
|
||||||
lineHeight: '40px',
|
|
||||||
width: '100%'
|
|
||||||
});
|
|
||||||
container.appendChild(plusSign);
|
|
||||||
|
|
||||||
// 悬停展开效果
|
|
||||||
container.addEventListener('mouseenter', () => {
|
|
||||||
container.style.width = '150px';
|
|
||||||
container.style.height = 'auto';
|
|
||||||
container.style.borderRadius = '8px';
|
|
||||||
});
|
|
||||||
|
|
||||||
container.addEventListener('mouseleave', () => {
|
|
||||||
container.style.width = '40px';
|
|
||||||
container.style.height = '40px';
|
|
||||||
container.style.borderRadius = '50%';
|
|
||||||
});
|
|
||||||
|
|
||||||
// 创建功能按钮
|
|
||||||
function createButton(text, onClick) {
|
|
||||||
const button = document.createElement('button');
|
|
||||||
button.textContent = text;
|
|
||||||
Object.assign(button.style, {
|
|
||||||
padding: '8px 12px',
|
|
||||||
border: 'none',
|
|
||||||
borderRadius: '4px',
|
|
||||||
backgroundColor: 'white',
|
|
||||||
color: '#333',
|
|
||||||
cursor: 'pointer',
|
|
||||||
width: '100%',
|
|
||||||
transition: 'backgroundColor 0.2s'
|
|
||||||
});
|
|
||||||
button.addEventListener('mouseenter', () => button.style.backgroundColor = '#f0f0f0');
|
|
||||||
button.addEventListener('mouseleave', () => button.style.backgroundColor = 'white');
|
|
||||||
button.addEventListener('click', onClick);
|
|
||||||
return button;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 复制源码按钮
|
|
||||||
const copySourceButton = createButton('复制源码', () => {
|
|
||||||
const html = document.documentElement.outerHTML;
|
|
||||||
navigator.clipboard.writeText(html).then(() => {
|
|
||||||
alert('源码已复制到剪贴板');
|
|
||||||
}).catch(err => {
|
|
||||||
console.error('复制失败:', err);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// 解析公司信息按钮
|
|
||||||
const parseInfoButton = createButton('解析公司信息', () => {
|
|
||||||
// 这里添加解析公司信息的逻辑
|
|
||||||
alert('解析公司信息功能待实现');
|
|
||||||
});
|
|
||||||
|
|
||||||
// 添加按钮到容器
|
|
||||||
container.appendChild(copySourceButton);
|
|
||||||
container.appendChild(parseInfoButton);
|
|
||||||
|
|
||||||
document.body.appendChild(container);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 页面加载完成后创建按钮
|
|
||||||
window.addEventListener('load', createButtonContainer);
|
|
||||||
})();
|
|
||||||
|
|||||||
451
script3.js
Normal file
451
script3.js
Normal file
@@ -0,0 +1,451 @@
|
|||||||
|
// ==UserScript==
|
||||||
|
// @name 企业信息自动填写工具
|
||||||
|
// @namespace http://tampermonkey.net/
|
||||||
|
// @version 0.1
|
||||||
|
// @description 从剪贴板读取JSON数据并自动填写表单
|
||||||
|
// @author You
|
||||||
|
|
||||||
|
// @grant none
|
||||||
|
// ==/UserScript==
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
/**
|
||||||
|
{
|
||||||
|
"企业名称": "杭州奥杰装饰工程有限公司",
|
||||||
|
"统一社会信用代码": "9133011031131201XU",
|
||||||
|
"法定代表人": "曾显军",
|
||||||
|
"经营状态": "开业",
|
||||||
|
"成立日期": "2014-08-05",
|
||||||
|
"行政区划": "浙江省杭州市余杭区",
|
||||||
|
"注册资本": "200万(元)",
|
||||||
|
"实缴资本": "200万(元)",
|
||||||
|
"企业类型": "有限责任公司(自然人独资)",
|
||||||
|
"所属行业": "批发业",
|
||||||
|
"工商注册号": "330184000311238",
|
||||||
|
"组织机构代码": "31131201-X",
|
||||||
|
"纳税人识别号": "9133011031131201XU",
|
||||||
|
"纳税人资质": "增值税一般纳税人",
|
||||||
|
"营业期限": "2014-08-05 至 2034-08-04",
|
||||||
|
"核准日期": "2020-08-24",
|
||||||
|
"参保人数": "3人",
|
||||||
|
"登记机关": "杭州市余杭区市场监督管理局",
|
||||||
|
"曾用名": "杭州茂复建材有限公司",
|
||||||
|
"注册地址": "浙江省杭州市余杭区五常街道郭家兜路8号1幢4楼408室",
|
||||||
|
"经营范围": "设计、施工:建筑工程、室内外装饰工程、幕墙工程;销售:建筑材料,装饰材料,石材,五金;服务:铝合金门窗上门安装,建筑工程技术咨询,国内广告设计和制作。(依法须经批准的项目,经相关部门批准后方可开展经营活动)"
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
// 添加字段映射配置 - 新增代码
|
||||||
|
const FIELD_MAPPING = {
|
||||||
|
企业名称: { names: ["EC_CUST_NAME", "GROUP_NAME"] },
|
||||||
|
统一社会信用代码: { name: "CUST_CERT_CODE" },
|
||||||
|
法定代表人: { name: "LEGAL_CUST_NAME" },
|
||||||
|
注册地址: { name: "CUST_CERT_ADDRESS" },
|
||||||
|
证件有效期: { name: "CUST_CERT_EXPIRE", type: "date" },
|
||||||
|
集团客户状态: {
|
||||||
|
name: "GROUP_STATUS",
|
||||||
|
default: "潜在集团客户", // 添加默认值配置
|
||||||
|
},
|
||||||
|
"区县(网格平台)": {
|
||||||
|
name: "GRID_COUNTY_ID",
|
||||||
|
default: "余杭",
|
||||||
|
},
|
||||||
|
"网格(网格平台)": {
|
||||||
|
name: "GRID_ID",
|
||||||
|
default: "余杭未来科技城网格",
|
||||||
|
},
|
||||||
|
"片区(业务大厅)": {
|
||||||
|
name: "CHNL_REGION_DETAIL",
|
||||||
|
default: "余杭未来科技城网格",
|
||||||
|
},
|
||||||
|
"营业期限":{
|
||||||
|
name: "CUST_CERT_EXPIRE"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 创建按钮容器
|
||||||
|
function createButtonContainer() {
|
||||||
|
const container = document.createElement("div");
|
||||||
|
container.id = "tool-container";
|
||||||
|
Object.assign(container.style, {
|
||||||
|
position: "fixed",
|
||||||
|
right: "20px",
|
||||||
|
bottom: "20px",
|
||||||
|
zIndex: "9999",
|
||||||
|
display: "flex",
|
||||||
|
flexDirection: "column",
|
||||||
|
gap: "10px",
|
||||||
|
width: "40px",
|
||||||
|
height: "40px",
|
||||||
|
backgroundColor: "#4CAF50",
|
||||||
|
borderRadius: "50%",
|
||||||
|
transition: "all 0.3s ease",
|
||||||
|
overflow: "hidden",
|
||||||
|
cursor: "move",
|
||||||
|
});
|
||||||
|
|
||||||
|
// +号指示器
|
||||||
|
const plusSign = document.createElement("div");
|
||||||
|
plusSign.textContent = "+";
|
||||||
|
Object.assign(plusSign.style, {
|
||||||
|
color: "white",
|
||||||
|
fontSize: "24px",
|
||||||
|
textAlign: "center",
|
||||||
|
lineHeight: "40px",
|
||||||
|
width: "100%",
|
||||||
|
});
|
||||||
|
container.appendChild(plusSign);
|
||||||
|
|
||||||
|
// 添加JSON输入框
|
||||||
|
const jsonInput = document.createElement("textarea");
|
||||||
|
jsonInput.placeholder = "粘贴JSON数据...";
|
||||||
|
Object.assign(jsonInput.style, {
|
||||||
|
width: "100%",
|
||||||
|
height: "100px",
|
||||||
|
padding: "8px",
|
||||||
|
borderRadius: "4px",
|
||||||
|
border: "1px solid #ddd",
|
||||||
|
resize: "vertical",
|
||||||
|
marginBottom: "5px",
|
||||||
|
display: "none", // 默认隐藏
|
||||||
|
position: "relative",
|
||||||
|
zIndex: "10000", // 确保在最上层显示
|
||||||
|
});
|
||||||
|
|
||||||
|
// 悬停展开效果
|
||||||
|
container.addEventListener("mouseenter", () => {
|
||||||
|
container.style.width = "180px";
|
||||||
|
container.style.height = "auto";
|
||||||
|
container.style.borderRadius = "8px";
|
||||||
|
|
||||||
|
// 强制显示输入框
|
||||||
|
jsonInput.style.display = "block";
|
||||||
|
});
|
||||||
|
|
||||||
|
container.addEventListener("mouseleave", () => {
|
||||||
|
container.style.width = "40px";
|
||||||
|
container.style.height = "40px";
|
||||||
|
container.style.borderRadius = "50%";
|
||||||
|
jsonInput.style.display = "none";
|
||||||
|
});
|
||||||
|
container.appendChild(jsonInput);
|
||||||
|
|
||||||
|
// 拖拽功能实现
|
||||||
|
let isDragging = false;
|
||||||
|
let offsetX, offsetY;
|
||||||
|
|
||||||
|
container.addEventListener("mousedown", (e) => {
|
||||||
|
if (e.target === plusSign || e.target === container) {
|
||||||
|
isDragging = true;
|
||||||
|
const rect = container.getBoundingClientRect();
|
||||||
|
offsetX = e.clientX - rect.left;
|
||||||
|
offsetY = e.clientY - rect.top;
|
||||||
|
container.style.cursor = "grabbing";
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener("mousemove", (e) => {
|
||||||
|
if (!isDragging) return;
|
||||||
|
container.style.left = e.clientX - offsetX + "px";
|
||||||
|
container.style.top = e.clientY - offsetY + "px";
|
||||||
|
container.style.right = "auto";
|
||||||
|
container.style.bottom = "auto";
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener("mouseup", () => {
|
||||||
|
if (isDragging) {
|
||||||
|
isDragging = false;
|
||||||
|
container.style.cursor = "move";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 创建功能按钮
|
||||||
|
function createButton(text, onClick) {
|
||||||
|
const button = document.createElement("button");
|
||||||
|
button.textContent = text;
|
||||||
|
Object.assign(button.style, {
|
||||||
|
padding: "10px",
|
||||||
|
border: "none",
|
||||||
|
borderRadius: "4px",
|
||||||
|
backgroundColor: "white",
|
||||||
|
color: "#333",
|
||||||
|
cursor: "pointer",
|
||||||
|
width: "100%",
|
||||||
|
transition: "backgroundColor 0.2s",
|
||||||
|
});
|
||||||
|
button.addEventListener(
|
||||||
|
"mouseenter",
|
||||||
|
() => (button.style.backgroundColor = "#f0f0f0")
|
||||||
|
);
|
||||||
|
button.addEventListener(
|
||||||
|
"mouseleave",
|
||||||
|
() => (button.style.backgroundColor = "white")
|
||||||
|
);
|
||||||
|
button.addEventListener("click", onClick);
|
||||||
|
return button;
|
||||||
|
}
|
||||||
|
|
||||||
|
// autoClickToAuditTab
|
||||||
|
const autoClickToAuditTabButton = createButton(
|
||||||
|
"自动点击审核建档tab",
|
||||||
|
async () => {
|
||||||
|
try {
|
||||||
|
// 1. 点击审核建档tab
|
||||||
|
const auditTab = Array.from(
|
||||||
|
document.querySelectorAll("div, span")
|
||||||
|
).find((el) => el.textContent.trim() === "审核建档");
|
||||||
|
if (!auditTab) {
|
||||||
|
throw new Error("未找到审核建档tab");
|
||||||
|
}
|
||||||
|
auditTab.click();
|
||||||
|
|
||||||
|
// 2. 等待页面加载完成
|
||||||
|
await waitForElementToDisappear("table:contains(页面信息加载中...)");
|
||||||
|
|
||||||
|
// 5. 点击手输证件按钮
|
||||||
|
const idButton = Array.from(document.querySelectorAll("button")).find(
|
||||||
|
(btn) => btn.textContent.includes("手输证件")
|
||||||
|
);
|
||||||
|
if (idButton) {
|
||||||
|
idButton.click();
|
||||||
|
} else {
|
||||||
|
console.warn("未找到手输证件按钮");
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
alert("点击失败: " + error.message);
|
||||||
|
console.error("自动点击错误:", error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// 添加按钮到容器
|
||||||
|
container.appendChild(autoClickToAuditTabButton);
|
||||||
|
|
||||||
|
// 自动填写表单按钮
|
||||||
|
const autoFillButton = createButton("自动填写表单", async () => {
|
||||||
|
try {
|
||||||
|
// 获取JSON数据(优先使用输入框内容)
|
||||||
|
let jsonData = jsonInput.value.trim();
|
||||||
|
if (!jsonData) {
|
||||||
|
// 输入框为空时从剪贴板读取
|
||||||
|
jsonData = await navigator.clipboard.readText();
|
||||||
|
}
|
||||||
|
const companyInfo = JSON.parse(jsonData);
|
||||||
|
// 遍历字段映射配置而非JSON数据 - 修改这里
|
||||||
|
let filledCount = 0;
|
||||||
|
for (const [fieldKey, config] of Object.entries(FIELD_MAPPING)) {
|
||||||
|
// 获取值(JSON数据优先,其次使用默认值)
|
||||||
|
let value =
|
||||||
|
companyInfo[fieldKey] !== undefined
|
||||||
|
? companyInfo[fieldKey]
|
||||||
|
: config.default;
|
||||||
|
|
||||||
|
if("营业期限" == fieldKey){
|
||||||
|
value = getCustCertExpire(value)
|
||||||
|
}
|
||||||
|
if (value !== undefined) {
|
||||||
|
fillFormField(fieldKey, value);
|
||||||
|
filledCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
alert(
|
||||||
|
"表单填写完成!共填充 " + Object.keys(companyInfo).length + " 个字段"
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
alert("填写失败: " + error.message);
|
||||||
|
console.error("自动填写错误:", error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加按钮到容器
|
||||||
|
container.appendChild(autoFillButton);
|
||||||
|
document.body.appendChild(container);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 等待元素消失
|
||||||
|
function waitForElementToDisappear(selector) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
const checkInterval = setInterval(() => {
|
||||||
|
const element = document.querySelector(selector);
|
||||||
|
if (!element || !element.offsetParent) {
|
||||||
|
clearInterval(checkInterval);
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
|
|
||||||
|
// 设置超时(30秒)
|
||||||
|
setTimeout(() => {
|
||||||
|
clearInterval(checkInterval);
|
||||||
|
reject(new Error("等待超时,页面加载未完成"));
|
||||||
|
}, 30000);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCustCertExpire(value){
|
||||||
|
if (value !== undefined) {
|
||||||
|
const businessTerm = value;
|
||||||
|
const endDate = parseEndDate(businessTerm);
|
||||||
|
|
||||||
|
// 检查是否需要设置为20年后的日期
|
||||||
|
if (!endDate || endDate === "9999-01-01" || endDate === "9999-1-1") {
|
||||||
|
const currentDate = new Date();
|
||||||
|
currentDate.setFullYear(currentDate.getFullYear() + 20);
|
||||||
|
const formattedDate = `${currentDate.getFullYear()}-${String(currentDate.getMonth() + 1).padStart(2, '0')}-${String(currentDate.getDate()).padStart(2, '0')}`;
|
||||||
|
return formattedDate
|
||||||
|
} else {
|
||||||
|
return endDate
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加营业期限解析函数
|
||||||
|
function parseEndDate(businessTerm) {
|
||||||
|
if (!businessTerm || typeof businessTerm !== "string") return null;
|
||||||
|
|
||||||
|
// 分割"至"前后的日期
|
||||||
|
const parts = businessTerm.split('至').map(part => part.trim());
|
||||||
|
if (parts.length < 2) return null;
|
||||||
|
|
||||||
|
const endDateStr = parts[1];
|
||||||
|
// 验证日期格式并补全位数
|
||||||
|
if (/^\d{4}(-\d{1,2}){2}$/.test(endDateStr)) {
|
||||||
|
const [year, month, day] = endDateStr.split('-').map(Number);
|
||||||
|
return `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 表单字段填充函数
|
||||||
|
function fillFormField(fieldName, value) {
|
||||||
|
// 优先使用字段映射 - 新增代码
|
||||||
|
const fieldConfig = FIELD_MAPPING[fieldName];
|
||||||
|
let opt = false;
|
||||||
|
if (fieldConfig) {
|
||||||
|
const doOpt = function (fieldConfigFieldName) {
|
||||||
|
// 按name属性精确查找
|
||||||
|
const input = document.querySelector(
|
||||||
|
`input[name="${fieldConfigFieldName}"], textarea[name="${fieldConfigFieldName}"], select[name="${fieldConfigFieldName}"]`
|
||||||
|
);
|
||||||
|
if (input) {
|
||||||
|
// 日期字段特殊处理
|
||||||
|
if (fieldConfig.type === "date" && value) {
|
||||||
|
// 直接设置值并触发WdatePicker所需事件
|
||||||
|
input.value = value;
|
||||||
|
input.dispatchEvent(new Event("focus"));
|
||||||
|
input.dispatchEvent(new Event("blur"));
|
||||||
|
} else if (input.tagName === "SELECT") {
|
||||||
|
Array.from(input.options).forEach((option) => {
|
||||||
|
if (option.value === value || option.textContent === value) {
|
||||||
|
option.selected = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 触发change事件使选择生效
|
||||||
|
input.dispatchEvent(new Event("change"));
|
||||||
|
} else {
|
||||||
|
setInputValue(input, value);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
if (fieldConfig.names) {
|
||||||
|
// 遍历names数组填充所有关联字段
|
||||||
|
fieldConfig.names.forEach((fieldConfigFieldName) => {
|
||||||
|
let optTmp = doOpt(fieldConfigFieldName);
|
||||||
|
if (optTmp) {
|
||||||
|
opt = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (fieldConfig.name) {
|
||||||
|
let optTmp = doOpt(fieldConfig.name);
|
||||||
|
if (optTmp) {
|
||||||
|
opt = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (opt) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 尝试通过label文本匹配
|
||||||
|
const labels = document.querySelectorAll("label");
|
||||||
|
for (const label of labels) {
|
||||||
|
if (label.textContent.trim().includes(fieldName)) {
|
||||||
|
const input =
|
||||||
|
label.querySelector("input, textarea, select") ||
|
||||||
|
document.getElementById(label.htmlFor);
|
||||||
|
if (input) {
|
||||||
|
setInputValue(input, value);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 尝试通过input的placeholder匹配
|
||||||
|
const placeholders = document.querySelectorAll(
|
||||||
|
"input[placeholder], textarea[placeholder]"
|
||||||
|
);
|
||||||
|
for (const input of placeholders) {
|
||||||
|
if (input.placeholder.includes(fieldName)) {
|
||||||
|
setInputValue(input, value);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 尝试通过input的name属性匹配
|
||||||
|
const nameInputs = document.querySelectorAll(
|
||||||
|
`input[name*=${fieldName}], textarea[name*=${fieldName}]`
|
||||||
|
);
|
||||||
|
if (nameInputs.length > 0) {
|
||||||
|
setInputValue(nameInputs[0], value);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`未找到字段: ${fieldName}`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置输入框值
|
||||||
|
function setInputValue(input, value) {
|
||||||
|
if (!input) return;
|
||||||
|
|
||||||
|
// 根据输入框类型设置值
|
||||||
|
if (input.type === "checkbox") {
|
||||||
|
input.checked = value === "true" || value === true || value === "1";
|
||||||
|
} else if (input.type === "radio") {
|
||||||
|
const radio = document.querySelector(
|
||||||
|
`input[name="${input.name}"][value="${value}"]`
|
||||||
|
);
|
||||||
|
if (radio) radio.checked = true;
|
||||||
|
} else if (input.tagName === "SELECT") {
|
||||||
|
Array.from(input.options).forEach((option) => {
|
||||||
|
if (option.value === value || option.textContent === value) {
|
||||||
|
option.selected = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (
|
||||||
|
input.tagName === "TEXTAREA" ||
|
||||||
|
input.type === "text" ||
|
||||||
|
input.type === "number" ||
|
||||||
|
input.type === "email"
|
||||||
|
) {
|
||||||
|
input.value = value;
|
||||||
|
// 触发输入事件以确保表单验证和相关逻辑执行
|
||||||
|
input.dispatchEvent(new Event("input", { bubbles: true }));
|
||||||
|
input.dispatchEvent(new Event("change", { bubbles: true }));
|
||||||
|
|
||||||
|
// 日期字段额外触发focus/blur事件 - 新增代码
|
||||||
|
if (input.classList.contains("Wdate")) {
|
||||||
|
input.dispatchEvent(new Event("focus"));
|
||||||
|
input.dispatchEvent(new Event("blur"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化工具
|
||||||
|
createButtonContainer();
|
||||||
|
})();
|
||||||
Reference in New Issue
Block a user