ソースを参照

2026/8/4 历史代码提交
紫金财险增加爬虫

@dongkboy 1 ヶ月 前
コミット
1cc25dae59

+ 24 - 25
App.vue

@@ -41,7 +41,6 @@
 			}
 			// #endif
 			// #ifdef APP-PLUS
-			this.launch()
 			if (store.state.token) {} else {
 				var url = window.location.href;
 				if ((url.indexOf("pages/carInsure/payVerify") >
@@ -57,9 +56,9 @@
 			// #endif
 		},
 		onShow: function(e) {
-			// // #ifdef APP-PLUS
-			// this.getLocation();
-			// // #endif
+			// #ifdef APP-PLUS
+			// this.launch()
+			// #endif
 		},
 		onHide: function() {},
 		methods: {
@@ -166,27 +165,27 @@
 
 					// 获取本地存储中launchFlag标识(不可动)
 					const value = uni.getStorageSync("launchFlag");
-					if (value == currentdate) {} else {
-						//app启动时打开启动广告页
-						var w = plus.webview.open(
-							"/hybrid/html/advertise/advertise.html",
-							"本地地址", {
-								top: 0,
-								bottom: 0,
-								zindex: 999,
-							},
-							"fade-in",
-							500
-						);
-						//设置定时器,4s后关闭启动
-						setTimeout(function() {
-							uni.setStorage({
-								key: "launchFlag",
-								data: currentdate
-							});
-							plus.webview.close(w);
-						}, 3000);
-					}
+					// if (value == currentdate) {} else {
+					//app启动时打开启动广告页
+					var w = plus.webview.open(
+						"/hybrid/html/advertise/advertise.html",
+						"本地地址", {
+							top: 0,
+							bottom: 0,
+							zindex: 999,
+						},
+						"fade-in",
+						500
+					);
+					//设置定时器,4s后关闭启动
+					setTimeout(function() {
+						uni.setStorage({
+							key: "launchFlag",
+							data: currentdate
+						});
+						plus.webview.close(w);
+					}, 4000);
+					// }
 				} catch (e) {
 					// error
 					uni.setStorage({

+ 9 - 9
config/baseUrl.js

@@ -4,26 +4,26 @@ let socketUrl = "";
 if (process.env.NODE_ENV === 'development') {
 	// 开发环境
 	// baseUrl = "https://test.baoxianzhanggui.com/dx/"; //屈晨
-	baseUrl = "http://192.168.0.55:8080"; //董鑫
+	// baseUrl = "http://192.168.0.59:8080"; //董鑫
 	// baseUrl = "http://192.168.0.253:8080"; //田智
 	// baseUrl = "https://test.baoxianzhanggui.com/web-api"; //测试
 	// h5BaseUrl = "https://test.baoxianzhanggui.com/h5";
 	// baseUrl = "https://pre.baoxianzhanggui.com/web-api"; //预生产
 	// h5BaseUrl = "https://pre.baoxianzhanggui.com/h5";
 	// baseUrl = "https://pre.baoxianzhanggui.com/test"; //生产
-	// baseUrl = "https://sxzgkj.baoxianzhanggui.com/web-api"; //生产
-	// h5BaseUrl = "https://sxzgkj.baoxianzhanggui.com/h5";
+	baseUrl = "https://sxzgkj.baoxianzhanggui.com/web-api"; //生产
+	h5BaseUrl = "https://sxzgkj.baoxianzhanggui.com/h5";
 	socketUrl = "wss://sxzgkj.baoxianzhanggui.com/web-api/websocket";
 	// socketUrl = "ws://192.168.0.52:8080/websocket";
 } else if (process.env.NODE_ENV === 'production') {
 	// 生产环境
 	// baseUrl = "http://192.168.0.115:8090"; //董鑫
-	baseUrl = "https://test.baoxianzhanggui.com/web-api"; //测试
-	h5BaseUrl = "https://test.baoxianzhanggui.com/h5";
+	// baseUrl = "https://test.baoxianzhanggui.com/web-api"; //测试
+	// h5BaseUrl = "https://test.baoxianzhanggui.com/h5";
 	// baseUrl = "https://pre.baoxianzhanggui.com/web-api"; //预生产
 	// h5BaseUrl = "https://pre.baoxianzhanggui.com/h5";
-	// baseUrl = "https://sxzgkj.baoxianzhanggui.com/web-api"; //生产
-	// h5BaseUrl = "https://sxzgkj.baoxianzhanggui.com/h5";
+	baseUrl = "https://sxzgkj.baoxianzhanggui.com/web-api"; //生产
+	h5BaseUrl = "https://sxzgkj.baoxianzhanggui.com/h5";
 	socketUrl = "wss://sxzgkj.baoxianzhanggui.com/web-api/websocket";
 }
 const courtConfig = {
@@ -70,7 +70,7 @@ const insCompanyList = [{
 		icon: "/static/insuranceicon/renshou.png"
 	},
 	{
-		name: "众安财险",
+		name: "众安平安",
 		icon: "/static/insuranceicon/zhongan.png"
 	},
 	{
@@ -130,4 +130,4 @@ export default Object.assign({
 	mailRegular,
 	passwordRegular,
 	insCompanyList
-}, courtConfig);
+}, courtConfig);

+ 4 - 5
hybrid/html/advertise/advertise.html

@@ -27,12 +27,11 @@
 		</div>
 	</body>
 	<script>
-		
 		// var currentAd = {
 		// 	operation_type: 'NONE'
 		// };
-		
-		
+
+
 		// function getRandom(start, end, fixed = 0) {
 		// 	let differ = end - start
 		// 	let random = Math.random()
@@ -73,7 +72,7 @@
 		// 	// xhr.open("GET", "https://api-buyer-app.yinbei.cn/advertisement");
 		// 	xhr.send();
 		// }, false);
-		
+
 
 		// document.addEventListener('UniAppJSBridgeReady', function () {
 		// 	document.querySelector('.con').addEventListener('click', function (e) {
@@ -120,4 +119,4 @@
 		// 	});
 		// });
 	</script>
-</html>
+</html>

+ 4 - 3
manifest.json

@@ -7,8 +7,8 @@
 		"sizes": "分辨率,192x192",
 		"src": "图片路径"
 	}],
-	"versionName": "3.2.9",
-	"versionCode": 329,
+	"versionName": "3.4.3",
+	"versionCode": 343,
 	"app-plus": {
 		"error": {
 			"url": "hybrid/html/error.html"
@@ -206,6 +206,7 @@
 		"unipush": {
 			"enable": false
 		}
-	}
+	},
+	"locale": "auto"
 }
 // 小程序特有相关

+ 14 - 0
pages.json

@@ -231,16 +231,30 @@
 			"style": {
 				"navigationBarTitleText": "账号注销",
 				"app-plus": {
+					"titleNView": false,
+					"scrollIndicator": "none", //隐藏滚动条
+					"bounce": "none" //关闭反弹效果
+				}
+			}
+		},
+		{
+			"path": "pages/set/logoutVerificationCode",
+			"style": {
+				"navigationBarTitleText": "注销二维码页面",
+				"app-plus": {
+					"titleNView": false,
 					"scrollIndicator": "none", //隐藏滚动条
 					"bounce": "none" //关闭反弹效果
 				}
 			}
 		},
+
 		{
 			"path": "pages/login/logoutAgreement",
 			"style": {
 				"navigationBarTitleText": "注销协议",
 				"app-plus": {
+					"titleNView": false,
 					"scrollIndicator": "none", //隐藏滚动条
 					"bounce": "none" //关闭反弹效果
 				}

+ 270 - 2
pages/carInsure/chooseOption.vue

@@ -802,6 +802,174 @@
 								</view>
 							</view>
 						</template>
+						<template v-if=" planDataExpansion.namesimple=='大地财险' && dadiaccidentalDrivingVo.typeName ">
+							<view class="drivingSelection policyInfo">
+								<view class="dis a-c j-s " @click="dadiPopupshow=true">
+									<text class="tagHeader dis a-c">
+										<text>{{dadiaccidentalDrivingVo.alias}}
+											<view class="tag"></view>
+										</text>
+									</text>
+									<u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
+								</view>
+								<view>
+									<u-table border-color="#E3E9F8"
+										v-if="dadiaccidentalDrivingVo.insDrivingIntentionInsuranceSon && dadiaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
+										<u-tr class="sy">
+											<u-th width="50%"
+												style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
+											<u-th>保额</u-th>
+											<u-th>保费(元)</u-th>
+										</u-tr>
+										<view class="dis">
+											<view class="accident dis f-c">
+												<view class="diss dis"
+													v-for="(Sonitem,Sonindex) in dadiaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
+													:key="Sonindex">
+													<view style="width: 67%;padding: 5px 10px " class="boss">
+														<view class="dis a-c ">
+															<view class="circle dis a-c j-c"></view>
+															<view style="margin-left: 5px;width: 80%;"
+																class="dis j-start">
+																{{Sonitem.name}}
+															</view>
+														</view>
+													</view>
+													<view class="boss dis a-c j-c" style="width: 33%;">
+														{{Sonitem.amount}}
+													</view>
+												</view>
+											</view>
+											<view class="right dis j-c a-c">
+												{{dadiaccidentalDrivingVo.sumPremium}}
+											</view>
+										</view>
+									</u-table>
+								</view>
+								<view class="dis a-c j-s">
+									<text>份数</text>
+									<u-number-box v-model="dadiaccidentalDrivingVo.quantity" :min="1" :max="10"
+										:disabled-input="true" :input-width="70" :input-height="44" size="26"
+										:long-press="false"></u-number-box>
+								</view>
+								<view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
+									<text>总保费</text>
+									<text>¥{{dadiaccidentalDrivingVo.sumPremium*dadiaccidentalDrivingVo.quantity}}</text>
+								</view>
+							</view>
+						</template>
+						<template v-if=" planDataExpansion.namesimple=='申能财险' && shennengaccidentalDrivingVo.typeName">
+							<view class="drivingSelection policyInfo">
+								<view class="dis a-c j-s " @click="shennengPopupshow=true">
+									<text class="tagHeader dis a-c">
+										<text>{{shennengaccidentalDrivingVo.alias}}
+											<view class="tag"></view>
+										</text>
+									</text>
+									<u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
+								</view>
+								<view>
+									<u-table border-color="#E3E9F8"
+										v-if="shennengaccidentalDrivingVo.insDrivingIntentionInsuranceSon && shennengaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
+										<u-tr class="sy">
+											<u-th width="50%"
+												style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
+											<u-th>保额</u-th>
+											<u-th>保费(元)</u-th>
+										</u-tr>
+										<view class="dis">
+											<view class="accident dis f-c">
+												<view class="diss dis"
+													v-for="(Sonitem,Sonindex) in shennengaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
+													:key="Sonindex">
+													<view style="width: 67%;padding: 5px 10px " class="boss">
+														<view class="dis a-c ">
+															<view class="circle dis a-c j-c"></view>
+															<view style="margin-left: 5px;width: 80%;"
+																class="dis j-start">
+																{{Sonitem.name}}
+															</view>
+														</view>
+													</view>
+													<view class="boss dis a-c j-c" style="width: 33%;">
+														{{Sonitem.amount}}
+													</view>
+												</view>
+											</view>
+											<view class="right dis j-c a-c">
+												{{shennengaccidentalDrivingVo.sumPremium}}
+											</view>
+										</view>
+									</u-table>
+								</view>
+								<view class="dis a-c j-s">
+									<text>份数</text>
+									<u-number-box v-model="shennengaccidentalDrivingVo.quantity" :min="1" :max="10"
+										:disabled-input="true" :input-width="70" :input-height="44" size="26"
+										:long-press="false"></u-number-box>
+								</view>
+								<view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
+									<text>总保费</text>
+									<text>¥{{shennengaccidentalDrivingVo.sumPremium*shennengaccidentalDrivingVo.quantity}}</text>
+								</view>
+							</view>
+						</template>
+						<template v-if=" planDataExpansion.namesimple=='泰山财险' && taishanaccidentalDrivingVo.typeName ">
+							<view class="drivingSelection policyInfo">
+								<view class="dis a-c j-s " @click="taishanPopupshow=true">
+									<text class="tagHeader dis a-c">
+										<text>{{taishanaccidentalDrivingVo.alias}}
+											<view class="tag"></view>
+										</text>
+									</text>
+									<u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
+								</view>
+								<view>
+									<u-table border-color="#E3E9F8"
+										v-if="taishanaccidentalDrivingVo.insDrivingIntentionInsuranceSon && taishanaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
+										<u-tr class="sy">
+											<u-th width="50%"
+												style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
+											<u-th>保额</u-th>
+											<u-th>保费(元)</u-th>
+										</u-tr>
+										<view class="dis">
+											<view class="accident dis f-c">
+												<view class="diss dis"
+													v-for="(Sonitem,Sonindex) in taishanaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
+													:key="Sonindex">
+													<view style="width: 67%;padding: 5px 10px " class="boss">
+														<view class="dis a-c ">
+															<view class="circle dis a-c j-c"></view>
+															<view style="margin-left: 5px;width: 80%;"
+																class="dis j-start">
+																{{Sonitem.name}}
+															</view>
+														</view>
+													</view>
+													<view class="boss dis a-c j-c" style="width: 33%;">
+														{{Sonitem.amount}}
+													</view>
+												</view>
+											</view>
+											<view class="right dis j-c a-c">
+												{{taishanaccidentalDrivingVo.sumPremium}}
+											</view>
+										</view>
+									</u-table>
+								</view>
+								<view class="dis a-c j-s">
+									<text>份数</text>
+									<u-number-box v-model="taishanaccidentalDrivingVo.quantity" :min="1" :max="10"
+										:disabled-input="true" :input-width="70" :input-height="44" size="26"
+										:long-press="false"></u-number-box>
+								</view>
+								<view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
+									<text>总保费</text>
+									<text>¥{{taishanaccidentalDrivingVo.sumPremium*taishanaccidentalDrivingVo.quantity}}</text>
+								</view>
+							</view>
+						</template>
 						<template v-if=" planDataExpansion.namesimple=='渤海财险' && bohaiaccidentalDrivingVo.typeName ">
 							<view class="drivingSelection policyInfo">
 								<view class="dis a-c j-s " @click="bohaiPopupshow=true">
@@ -1146,7 +1314,13 @@
 					<view class="btn" @click="confirmPlan(planDataExpansion.cnName)">确认方案</view>
 				</view>
 			</view>
+			<u-section class="mt-2" title="车损验车事项" :show-line="false" font-size="30"
+				:sub-title="YaCarDamageVerificationDictTitle || '请选择'"
+				@click="YaCarDamageVerificationDictClick"></u-section>
 		</view>
+		<!-- 验车下拉 -->
+		<u-select v-model="YaCarDamageVerificationDictShow" :list="getYaCarDamageVerificationDictlist" value-name="code"
+			label-name='desc' :default-value='[2]' @confirm="getYaCarDamageVerificationConfirm"></u-select>
 		<!-- 商业选择方案 -->
 		<wyb-popup ref="popupBI" type="bottom" mode="size-fixed" height="900" radius="6" :showCloseIcon="true">
 			<view class="popup-content">
@@ -1281,6 +1455,45 @@
 				</u-radio-group>
 			</view>
 		</u-modal>
+		<!-- 大地驾意险弹框 -->
+		<u-modal v-model="dadiPopupshow" title="驾意险"
+			:title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
+			:scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
+			<view class="slot-content p-2">
+				<u-radio-group size="30" wrap>
+					<u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="DDradioChange" shape="square"
+						v-for="(item, index) in dadiInsuranceData" :key="index" :name="item.projectCode">
+						{{item.alias}}
+					</u-radio>
+				</u-radio-group>
+			</view>
+		</u-modal>
+		<!-- 泰山驾意险弹框 -->
+		<u-modal v-model="taishanPopupshow" title="驾意险"
+			:title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
+			:scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
+			<view class="slot-content p-2">
+				<u-radio-group size="30" wrap>
+					<u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="TSradioChange" shape="square"
+						v-for="(item, index) in taishanInsuranceData" :key="index" :name="item.projectCode">
+						{{item.alias}}
+					</u-radio>
+				</u-radio-group>
+			</view>
+		</u-modal>
+		<!-- 申能驾意险弹框 -->
+		<u-modal v-model="shennengPopupshow" title="驾意险"
+			:title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
+			:scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
+			<view class="slot-content p-2">
+				<u-radio-group size="30" wrap>
+					<u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="SNradioChange" shape="square"
+						v-for="(item, index) in shennengInsuranceData" :key="index" :name="item.projectCode">
+						{{item.alias}}
+					</u-radio>
+				</u-radio-group>
+			</view>
+		</u-modal>
 		<u-modal v-model="yongchengPopupshow" title="驾意险"
 			:title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
 			:scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
@@ -1469,6 +1682,10 @@
 				taikangPopupshow: false,
 				taikangInsuranceData: [],
 				taikangaccidentalDrivingVo: {},
+				/* 大地 */
+				dadiPopupshow: false,
+				dadiInsuranceData: [],
+				dadiaccidentalDrivingVo: {},
 
 				/* 渤海 */
 				bohaiPopupshow: false,
@@ -1488,6 +1705,11 @@
 				huanongPopupshow: false,
 				huanongInsuranceData: [],
 				huanongaccidentalDrivingVo: {},
+				//申能
+				shennengPopupshow: false,
+				shennengInsuranceData: [],
+				shennengaccidentalDrivingVo: {},
+
 				/* 人寿 */
 				renshouPopupshow: false,
 				renshouInsuranceData: [],
@@ -1500,11 +1722,19 @@
 				renbaoPopupshow: false,
 				renbaoInsuranceData: [],
 				renbaoaccidentalDrivingVo: {},
+				/* 泰山 */
+				taishanPopupshow: false,
+				taishanInsuranceData: [],
+				taishanaccidentalDrivingVo: {},
 				/* 紫金 */
 				zijinPopupshow: false,
 				zijinInsuranceData: [],
 				zijinaccidentalDrivingVo: [],
 				quotableCompanyList: [],
+				getYaCarDamageVerificationDictlist: [], //验车事项
+				YaCarDamageVerificationDictShow: false,
+				YaCarDamageVerificationDictTitle: "未投保损失类险种",
+				carChecker: "3",
 			}
 		},
 		onShow() {
@@ -1532,8 +1762,24 @@
 			this.getDicType("taxRelifFlag"); //车船税类型
 			this.getDicType("taxpayerIdentifier"); //纳税人证件类型
 			this.getDicType("relifReason"); //减免税原因代码
+			this.getYaCarDamageVerificationDict();
 		},
 		methods: {
+			getYaCarDamageVerificationConfirm(value) {
+				this.YaCarDamageVerificationDictTitle = value[0].label;
+				this.carChecker = value[0].value;
+			},
+			//验车选择
+			YaCarDamageVerificationDictClick() {
+				this.YaCarDamageVerificationDictShow = true;
+			},
+			//永安车损验车事项
+			async getYaCarDamageVerificationDict() {
+				let res = await this.$http.get('/insurance/crawler/getYaCarDamageVerificationDict');
+				if (res.code == 200) {
+					this.getYaCarDamageVerificationDictlist = res.data;
+				}
+			},
 			back() {
 				uni.navigateBack(1)
 			},
@@ -1652,7 +1898,9 @@
 								title: '未选中方案',
 							})
 						}
-
+						if (val.namesimple == '永安财险') {
+							val.carChecker = this.carChecker;
+						}
 					}
 					return val;
 				})
@@ -1700,6 +1948,9 @@
 						case '泰山财险':
 						case '中国人寿':
 						case '阳光财险':
+						case '大地财险':
+						case '永安财险':
+						case '申能财险':
 							if (res.data.length > 0) {
 								this[items.cnName + 'InsuranceData'] = res.data; //意外险list
 								this[items.cnName + 'accidentalDrivingVo'] = {
@@ -1730,7 +1981,6 @@
 			statusclick(value) {
 				this.SelectedPlanId = value;
 				let planObj = this.planDataExpansion.genericPlanList.find(item => item.schemeId == value);
-				console.log(planObj);
 				if (planObj.kinds && planObj.schemeName == '自选方案') {
 					planObj.kinds.map(item => {
 						const itemamtList = item.amtList.map(val => {
@@ -1784,6 +2034,24 @@
 				Object.assign(this.taikangaccidentalDrivingVo, obj);
 				this.taikangPopupshow = false;
 			},
+			//大地
+			DDradioChange(id) {
+				let obj = this.dadiInsuranceData.find(val => val.projectCode == id)
+				Object.assign(this.dadiaccidentalDrivingVo, obj);
+				this.dadiPopupshow = false;
+			},
+			//泰山
+			TSradioChange(id) {
+				let obj = this.taishanInsuranceData.find(val => val.projectCode == id)
+				Object.assign(this.taishanaccidentalDrivingVo, obj);
+				this.taishanPopupshow = false;
+			},
+			//申能
+			SNradioChange(id) {
+				let obj = this.shennengInsuranceData.find(val => val.projectCode == id)
+				Object.assign(this.shennengaccidentalDrivingVo, obj);
+				this.shennengPopupshow = false;
+			},
 			//永诚
 			YCradioChange(id) {
 				let obj = this.yongchengInsuranceData.find(val => val.projectCode == id)

+ 193 - 65
pages/carInsure/premiumCalc.vue

@@ -165,6 +165,10 @@
 										v-if="totalitem.namesimple=='紫金财险' && totalitem.result.companyId"
 										style="border: 1px solid #06A8DC;border-radius: 2px;padding:1px 6px;color:#06A8DC;font-size: 24rpx;"
 										@click="ZJadjustmentCoefficient(totalindex)">调整系数</view>
+									<view class="ml-2 mb-1 "
+										v-if="totalitem.namesimple=='永安财险' && totalitem.result.companyId"
+										style="border: 1px solid #06A8DC;border-radius: 2px;padding:1px 6px;color:#06A8DC;font-size: 24rpx;"
+										@click="YAadjustmentCoefficient(totalindex)">调整系数</view>
 									<view class="ml-2 mb-1"
 										v-if="totalitem.namesimple=='国任财险'  && totalitem.insurancePlanInfo"
 										style="border: 1px solid #06A8DC;border-radius: 2px;padding:1px 6px;color:#06A8DC;font-size: 24rpx;"
@@ -734,6 +738,33 @@
 				</view>
 			</view>
 		</u-popup>
+		<!-- 永安系数 -->
+		<u-popup v-model="YAcoefficientShow" mode="bottom" border-radius="10" height="500" :closeable="true">
+			<view class="ZJcheckboxGroup dis f-c">
+				<view class="headers dis a-start f-c mb-2">
+					<text class="title">调整系数</text>
+				</view>
+				<scroll-view scroll-y="true" class="scolcentent mt-2">
+					<view class="dis  j-s f-c" style="width: 90%;">
+						<text>扩展内容</text>
+						<view class="dis a-c j-end">
+							<text>商业险折扣系数</text>
+							<u-input type="number" v-model="yaBusinessDiscount"
+								:custom-style="{textAlign:'right',width:'50px',marginRight:'10px'}"
+								placeholder="请输入"></u-input>
+						</view>
+					</view>
+				</scroll-view>
+				<view class="operateBtn dis ">
+					<view class="cancel dis a-c j-c" @click="YAcoefficientShow=false">
+						取消
+					</view>
+					<view class="confirm dis a-c j-c" @click="YAcoefficientSubmit">
+						确定
+					</view>
+				</view>
+			</view>
+		</u-popup>
 		<u-modal v-model="guoRenPopupshow" title="驾意险"
 			:title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
 			:scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
@@ -1403,9 +1434,7 @@
 		},
 		watch: {
 			comparableQuantity: {
-				handler(val) {
-					console.log(val);
-				},
+				handler(val) {},
 			},
 		},
 		computed: {
@@ -1466,10 +1495,13 @@
 				ZJcoefficientForm: {
 					coefficient: null, //系数
 				},
+				yaBusinessDiscount: "", //永安商业险折扣
 				CTcoefficientIndex: "",
 				ZJcoefficientIndex: "",
+				YAcoefficientIndex: "",
 				CTcoefficientShow: false, //诚泰系数
 				ZJcoefficientShow: false, //紫金系数
+				YAcoefficientShow: false, //永安系数
 				previewImgs: [],
 				carImageListId: [],
 				ownerImageListId: [],
@@ -1780,7 +1812,6 @@
 				const eventChannel = this.getOpenerEventChannel()
 				// 监听acceptData事件,获取上一页面通过eventChannel传送到当前页面的数据
 				await eventChannel.on('acceptData', (data) => {
-					console.log(data);
 					this.quoteno = data.quoteno;
 					this.orderno = data.orderno;
 					this.carInfo = data.carInfo; //车辆信息
@@ -1815,6 +1846,9 @@
 				this.quotableCompanyList[this.ZJcoefficientIndex].coefficient = this.ZJcoefficientForm.coefficient;
 				this.ZJcoefficientShow = false;
 			},
+			YAcoefficientSubmit() {
+				this.YAcoefficientShow = false;
+			},
 			CTadjustmentCoefficient(index) {
 				this.CTcoefficientIndex = index;
 				this.CTcoefficientShow = true;
@@ -1823,6 +1857,10 @@
 				this.ZJcoefficientIndex = index;
 				this.ZJcoefficientShow = true;
 			},
+			YAadjustmentCoefficient(index) {
+				this.YAcoefficientIndex = index;
+				this.YAcoefficientShow = true;
+			},
 			handleCustomerInterest(item) {
 				let params = {
 					option: [{
@@ -2683,6 +2721,61 @@
 					this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
 				}
 			},
+			//诚泰报价
+			async chengtai(num, id) {
+				let isTaxSource = this.quotableCompanyList[num].isTaxSource;
+				let params = {
+					accidentalDrivingVo: this.quotableCompanyList[num].insurancePlanInfo.drivingList[0] ? this
+						.quotableCompanyList[num].insurancePlanInfo.drivingList[0] : {},
+					orderNo: this.orderno,
+					companyId: id,
+					kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
+					risks: this.riskList,
+					agreementId: this.quotableCompanyList[num].agreement[0].id,
+					isTaxSource: isTaxSource == 1 ? isTaxSource : null,
+					systemType: '2'
+				};
+				try {
+					let res = await this.$http.post('/quote/quote', params);
+					this.quotableCompanyList[num].msg = res.msg;
+					if (res.code == '200') {
+						if (res.data.warnMessageList != null && res.data.warnMessageList[
+								0] != null && res.data
+							.warnMessageList[
+								0] != "") {
+							this.quotableCompanyList[num].lastYearMsg = "";
+							let dat = res.data.warnMessageList;
+							dat.map(ele => {
+								this.quotableCompanyList[num].lastYearMsg += ele +
+									'<br>';
+							})
+						}
+						const updatedItem = {
+							...this.quotableCompanyList[num],
+							quoteCode: 200
+						};
+						this.quotableCompanyList.splice(num, 1, updatedItem);
+						this.quotableCompanyList[num].result = res.data;
+						this.subOrderId = res.data.companyId;
+
+					} else {
+						const updatedItem = {
+							...this.quotableCompanyList[num],
+							quoteCode: '3'
+						};
+						this.quotableCompanyList.splice(num, 1, updatedItem);
+						this.quotableCompanyList[num].msg = res.msg;
+						return;
+					}
+				} catch (error) {
+					const updatedItem = {
+						...this.quotableCompanyList[num],
+						quoteCode: '3'
+					};
+					this.quotableCompanyList.splice(num, 1, updatedItem);
+					this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
+				}
+			},
 			//阳光报价
 			async yangguang(num, id) {
 				let isTaxSource = this.quotableCompanyList[num].isTaxSource;
@@ -2978,6 +3071,13 @@
 			ansheng(num, id) {
 				this.quoteInsurance(num, id);
 			},
+			yongan(num, id) {
+				this.quoteInsurance(num, id);
+			},
+			//人保财险
+			renbao(num, id) {
+				this.quoteInsurance(num, id);
+			},
 			//华农
 			huanong(num, id) {
 				this.quoteInsurance(num, id);
@@ -3009,7 +3109,12 @@
 			taikang(num, id) {
 				this.quoteInsurance(num, id);
 			},
-			chengtai(num, id) {
+			//大地
+			dadi(num, id) {
+				this.quoteInsurance(num, id);
+			},
+			//申能
+			shenneng(num, id) {
 				this.quoteInsurance(num, id);
 			},
 			//爬虫统一报价接口
@@ -3048,6 +3153,10 @@
 					}
 					params.isInspect = this.isInspectchange;
 				}
+				if (namesimple == "永安财险") {
+					params.carChecker = this.quotableCompanyList[num].carChecker || '3';
+					params.yaBusinessDiscount = this.yaBusinessDiscount;
+				}
 				try {
 					let res = await this.$http.post('/quote/quote',
 						params);
@@ -3061,6 +3170,10 @@
 						case '华安财险':
 						case '泰山财险':
 						case '泰康财险':
+						case '大地财险':
+						case '人保财险':
+						case '永安财险':
+						case '申能财险':
 							if (res.code == '200') {
 								if (res.data.warnMessageList !=
 									null && res.data
@@ -3091,6 +3204,7 @@
 								this.CTcoefficientForm.initialProposalDiscount = res.data.initialProposalDiscount;
 								this.CTcoefficientForm.expectedDiscount = res.data.expectedDiscount;
 								this.CTcoefficientForm.pricingCoefficient = res.data.pricingCoefficient;
+								this.yaBusinessDiscount = res.data.yaBusinessDiscount;
 								if (res.data.syAdjustRate) {
 									this.quotableCompanyList[num].syAdjustRate = res.data.syAdjustRate;
 									uni.setStorageSync('companyId', res.data.companyId);
@@ -3389,6 +3503,7 @@
 						case '华安财险':
 						case '泰山财险':
 						case '中国人寿':
+						case '大地财险':
 							if (res.data.length > 0) {
 								this[items.cnName + 'InsuranceData'] = res.data; //意外险list
 								this[items.cnName + 'accidentalDrivingVo'] = {
@@ -3418,7 +3533,6 @@
 			},
 			//查看方案
 			checkSelection(item) {
-				console.log(item);
 				this.navigate({
 					url: '/pages/carInsure/checkOption',
 					success: (res) => {
@@ -3795,56 +3909,8 @@
 				}
 			},
 			auditNextconfirm() {
-				console.log(this.insuranceCompanyName);
 				setTimeout(async () => {
 					switch (this.insuranceCompanyName) {
-						case "永安财险":
-							let yaimage = await this.$http.post(
-								'/order/yongAn/submitImage', {
-									companyId: this.companyId
-								});
-							if (yaimage.code == '200') {
-								let yaaudit = await this.$http.post(
-									'/order/yongAn/audit', {
-										companyId: this.companyId,
-										jqappoint: "",
-										syappoint: ""
-									});
-								if (yaaudit.code == '200') {
-									if (this.switchShow) {
-										this.$http.post(
-											`/equity/createEquityOrder?companyId=${this.companyId}`).then(
-											res => {
-												if (res.code === 200) {
-
-												} else {
-													uni.showToast({
-														title: res.msg,
-														icon: "none",
-														duration: 3000
-													});
-												}
-											})
-									}
-									this.underwriteTitle = '订单自核成功';
-									this.cancelText = '暂不缴费';
-									this.confirmText = '立即缴费';
-									this.underwriteShow = true;
-								} else {
-									this.underwriteTitle = '核保失败';
-									this.cancelText = '返回订单';
-									this.confirmText = '关闭';
-									this.underwriteMsg = yaaudit.msg;
-									this.underwriteShow = true;
-								}
-							} else {
-								this.underwriteTitle = '影像上传失败';
-								this.cancelText = '返回订单';
-								this.confirmText = '关闭';
-								this.underwriteMsg = yaimage.msg;
-								this.underwriteShow = true;
-							}
-							break;
 						case "中煤财险":
 							let zmapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
 								'/order/zhongMeiApi/submitImage';
@@ -4082,14 +4148,18 @@
 							}
 							break;
 						case "紫金财险":
+							let zjapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+								'/order/zijin/submitImage';
 							let zjimage = await this.$http.post(
-								'/order/zijin/submitImage', {
-									companyId: this.companyId
+								`${zjapiImage}`, {
+									[this.apiType == '2' ? "subOrderNo" : "companyId"]: this.companyId
 								});
 							if (zjimage.code == '200') {
+								let zjapiAudit = this.apiType == "2" ? "/insurance/crawler/audit" :
+									'/order/zijin/audit';
 								let zjaudit = await this.$http.post(
-									'/order/zijin/audit', {
-										companyId: this.companyId,
+									`${zjapiAudit}`, {
+										[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
 										engageList: this.ziJinengageList,
 									});
 								if (zjaudit.code == '200') {
@@ -4178,16 +4248,18 @@
 							}
 							break;
 						case "渤海财险":
+							let bhapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+								"/order/boHaiApi/submitImage";
 							let bhimage = await this.$http.post(
-								'/order/boHaiApi/submitImage', {
-									companyId: this.companyId
+								`${bhapiImage}`, {
+									[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId
 								});
 							if (bhimage.code == '200') {
+								let bhapiAudit = this.apiType == "2" ? "/insurance/crawler/audit" :
+									'/order/boHaiApi/audit';
 								let bhaudit = await this.$http.post(
-									'/order/boHaiApi/audit', {
-										companyId: this.companyId,
-										jqappoint: "",
-										syappoint: ""
+									`${bhapiAudit}`, {
+										[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
 									});
 								if (bhaudit.code == '200') {
 									if (this.switchShow) {
@@ -4224,8 +4296,60 @@
 								this.underwriteShow = true;
 							}
 							break;
-						case "恒邦财险":
 						case "诚泰财险":
+							let ctapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+								"/api/chengTai/submitImage";
+							let ctimage = await this.$http.post(
+								`${ctapiImage}`, {
+									[this.apiType == 2 ? "subOrderNo" : "companyId"]: this
+										.companyId
+								});
+							if (ctimage.code == '200') {
+								let ctapiAudit = this.apiType == "2" ? "/insurance/crawler/audit" :
+									'/api/chengTai/audit';
+								let ctaudit = await this.$http.post(
+									`${ctapiAudit}`, {
+										[this.apiType == 2 ? "subOrderNo" : "companyId"]: this
+											.companyId,
+										engageList: this.huaTaiengageList,
+									});
+								if (ctaudit.code == '200') {
+									if (this.switchShow) {
+										this.$http.post(
+											`/equity/createEquityOrder?companyId=${this.companyId}`).then(
+											res => {
+												if (res.code === 200) {
+
+												} else {
+													uni.showToast({
+														title: res.msg,
+														icon: "none",
+														duration: 3000
+													});
+												}
+											})
+									}
+									this.underwriteTitle = '订单自核成功';
+									this.cancelText = '暂不缴费';
+									this.confirmText = '立即缴费';
+									this.underwriteMsg = "";
+									this.underwriteShow = true;
+								} else {
+									this.underwriteTitle = '核保失败';
+									this.cancelText = '返回订单';
+									this.confirmText = '关闭';
+									this.underwriteMsg = ctaudit.msg;
+									this.underwriteShow = true;
+								}
+							} else {
+								this.underwriteTitle = '影像上传失败';
+								this.cancelText = '返回订单';
+								this.confirmText = '关闭';
+								this.underwriteMsg = ctimage.msg;
+								this.underwriteShow = true;
+							}
+							break;
+						case "恒邦财险":
 						case "安盛天平":
 						case "众安平安":
 						case "中国人寿":
@@ -4234,6 +4358,10 @@
 						case "华安财险":
 						case "泰山财险":
 						case "泰康财险":
+						case "大地财险":
+						case "申能财险":
+						case "人保财险":
+						case "永安财险":
 							let pythonimage = await this.$http.post(
 								'/insurance/crawler/submitImage', {
 									subOrderNo: this.companyId

+ 71 - 46
pages/carInsure/quoteDetail.vue

@@ -1819,39 +1819,6 @@
 					await this.uploadRetry();
 				}
 				switch (this.name) {
-					case "永安财险":
-						let yaimage = await this.$http.post(
-							'/order/yongAn/submitImage', {
-								companyId: this.companyId
-							});
-						if (yaimage.code == '200') {
-							let yaaudit = await this.$http.post(
-								'/order/yongAn/audit', {
-									companyId: this.companyId,
-									jqappoint: "",
-									syappoint: ""
-								});
-							if (yaaudit.code == '200') {
-								this.underwriteTitle = '订单自核成功';
-								this.cancelText = '暂不缴费';
-								this.confirmText = '立即缴费';
-								this.underwriteMsg = "";
-								this.underwriteShow = true;
-							} else {
-								this.underwriteTitle = '核保失败';
-								this.cancelText = '返回订单';
-								this.confirmText = '关闭';
-								this.underwriteMsg = yaaudit.msg;
-								this.underwriteShow = true;
-							}
-						} else {
-							this.underwriteTitle = '影像上传失败';
-							this.cancelText = '返回订单';
-							this.confirmText = '关闭';
-							this.underwriteMsg = yaimage.msg;
-							this.underwriteShow = true;
-						}
-						break;
 					case "中煤财险":
 						let zmapiImage = this.orderInfo.apiType == "2" ? "/insurance/crawler/submitImage" :
 							'/order/zhongMeiApi/submitImage';
@@ -2018,15 +1985,18 @@
 						}
 						break;
 					case "紫金财险":
+							let zjapiImage = this.orderInfo.apiType == "2" ? "/insurance/crawler/submitImage" :
+								'/order/zijin/submitImage';
 						let zjimage = await this.$http.post(
-							'/order/zijin/submitImage', {
-								companyId: this.companyId
+							`${zjapiImage}`, {
+								[this.orderInfo.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId
 							});
 						if (zjimage.code == '200') {
+							let zjapiAudit = this.orderInfo.apiType == "2" ? "/insurance/crawler/audit" :
+								'/order/zijin/audit';
 							let zjaudit = await this.$http.post(
-								'/order/zijin/audit', {
-									companyId: this.companyId,
-									engageList: this.ziJinengageList,
+								`${zjapiAudit}`, {
+									[this.orderInfo.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
 								});
 							if (zjaudit.code == '200') {
 								this.underwriteTitle = '订单自核成功';
@@ -2085,23 +2055,75 @@
 							this.underwriteShow = true;
 						}
 						break;
+					case "诚泰财险":
+						let ctapiImage = this.orderInfo.apiType == "2" ? "/insurance/crawler/submitImage" :
+							"/api/chengTai/submitImage";
+						let ctimage = await this.$http.post(
+							`${ctapiImage}`, {
+								[this.orderInfo.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId
+							});
+						if (ctimage.code == '200') {
+							let ctapiAudit = this.orderInfo.apiType == "2" ? "/insurance/crawler/audit" :
+								'/api/chengTai/audit';
+							let ctaudit = await this.$http.post(
+								`${ctapiAudit}`, {
+									[this.orderInfo.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
+									engageList: this.huaTaiengageList,
+								});
+							if (ctaudit.code == '200') {
+								this.underwriteTitle = '订单自核成功';
+								this.cancelText = '暂不缴费';
+								this.confirmText = '立即缴费';
+								this.underwriteMsg = "";
+								this.underwriteShow = true;
+							} else {
+								this.underwriteTitle = '核保失败';
+								this.cancelText = '返回订单';
+								this.confirmText = '关闭';
+								this.underwriteMsg = ctaudit.msg;
+								this.underwriteShow = true;
+							}
+						} else {
+							this.underwriteTitle = '影像上传失败';
+							this.cancelText = '返回订单';
+							this.confirmText = '关闭';
+							this.underwriteMsg = ctimage.msg;
+							this.underwriteShow = true;
+						}
+						break;
 					case "渤海财险":
+						let bhapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+							"/order/boHaiApi/submitImage";
 						let bhimage = await this.$http.post(
-							'/order/boHaiApi/submitImage', {
-								companyId: this.companyId
+							`${bhapiImage}`, {
+								[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId
 							});
 						if (bhimage.code == '200') {
+							let bhapiAudit = this.apiType == "2" ? "/insurance/crawler/audit" :
+								'/order/boHaiApi/audit';
 							let bhaudit = await this.$http.post(
-								'/order/boHaiApi/audit', {
-									companyId: this.companyId,
-									jqappoint: "",
-									syappoint: ""
+								`${bhapiAudit}`, {
+									[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
 								});
 							if (bhaudit.code == '200') {
+								if (this.switchShow) {
+									this.$http.post(
+										`/equity/createEquityOrder?companyId=${this.companyId}`).then(
+										res => {
+											if (res.code === 200) {
+
+											} else {
+												uni.showToast({
+													title: res.msg,
+													icon: "none",
+													duration: 3000
+												});
+											}
+										})
+								}
 								this.underwriteTitle = '订单自核成功';
 								this.cancelText = '暂不缴费';
 								this.confirmText = '立即缴费';
-								this.underwriteMsg = "";
 								this.underwriteShow = true;
 							} else {
 								this.underwriteTitle = '核保失败';
@@ -2119,7 +2141,6 @@
 						}
 						break;
 					case "恒邦财险":
-					case "诚泰财险":
 					case "安盛天平":
 					case "众安平安":
 					case "中国人寿":
@@ -2128,6 +2149,10 @@
 					case "华安财险":
 					case "泰山财险":
 					case "泰康财险":
+					case "大地财险":
+					case "人保财险":
+					case "永安财险":
+					case "申能财险":
 						let pythonimage = await this.$http.post(
 							'/insurance/crawler/submitImage', {
 								subOrderNo: this.companyId

+ 0 - 1
pages/login/login.vue

@@ -129,7 +129,6 @@
 					<u-button type="default" @click="butongyi">不同意</u-button>
 					<u-button type="primary" style="width: 70%;" @click="tongyi">同意并继续</u-button>
 				</view>
-
 			</view>
 		</u-popup>
 	</view>

+ 55 - 53
pages/login/logoutAgreement.vue

@@ -1,54 +1,26 @@
 <template>
-	<view style="font-size: 14px;line-height: 26px;padding: 32upx;background: #FFFFFF;" class="home1">
-		<!-- 公共组件-每个页面必须引入 -->
-		<public-module></public-module>
-		<view class="u-f-ajc" style="font-size: 16px;font-weight: bold">山西晋掌柜用户注销协议</view>
-		<view style="text-align: left;margin-top: 15upx;font-weight: bold">生效日期:2025年01月14日</view>
-		<view style="text-align: left;text-indent: 2rem;">
-			感谢您使用山西晋掌柜(以下简称“本平台”)的产品与服务。我们非常重视您的个人信息安全与隐私保护。<text
-				style="font-weight: bold;">在您决定注销晋掌柜科技账号之前,请仔细阅读以下协议条款。</text></view>
-		<view style="font-size: 16px;font-weight: bold">1、注销条件</view>
-		<view style="text-align: left;">在申请注销账号前,请确保满足以下条件:</view>
-		<ul>
-			<li>您的账号无任何未提现余额的或未关闭的订单。</li>
-			<li>您的账号未处于任何争议、投诉或调查之中。</li>
-			<li>所有与账号关联的订单均已完成且无后续纠纷。</li>
-		</ul>
-
-		<!-- <view style="text-align: left;text-indent: 2rem;">
-			2.3您应妥善保管您的账户(用户名)和密码,通过您的账户(用户名)和密码操作或实施的行为,将视为您本人的行为,由您本人承担相应的责任和后果。<text
-				style="font-weight: bold;">如果您发现他人不当使用您的账户或有任何其他可能危及您的账户安全的情形时,您应当立即以书面、有效方式通知我们,要求我们暂停相关服务。在此,您理解我们对您的请求采取行动需要合理时间,我们对在采取行动前已经产生的后果(包括但不限于您的任何损失)不承担任何责任。</text>
-		</view> -->
-
-
-		<view style="font-size: 16px;font-weight: bold">2、注销后果</view>
-		<ul>
-			<li>账号一旦注销,您将无法使用该账号登录或访问任何相关数据和服务。</li>
-			<li>注销后,您的个人信息将被删除或匿名化处理,但根据法律规定需保留的相关数据除外。</li>
-			<li>注销账号的操作不可逆,注销后的数据、信息、历史记录等将无法找回。</li>
-		</ul>
-		<view style="font-size: 16px;font-weight: bold">3、信息保留与删除</view>
-		<ul>
-			<li>在注销账号后,我们将根据法律法规的要求保留或删除您的个人信息。</li>
-			<li>对于因法律要求需要保留的个人信息,我们将继续保护其安全,直至删除。</li>
-		</ul>
-		<view style="font-size: 16px;font-weight: bold">4、注销流程</view>
-		<ul>
-			<li><text style="font-weight: bold;">提交申请:</text>通过上述任一方式提交注销申请。</li>
-			<li><text style="font-weight: bold;">信息验证:</text>我们将要求您提供必要的信息以验证您的身份,并确认注销意图。</li>
-			<li><text style="font-weight: bold;">审核处理:</text>系统在收到注销申请后会进行校验,校验完成后将会注销您的账号。</li>
-		</ul>
-		<view style="font-size: 16px;font-weight: bold">5、费用与退款</view>
-		<ul>
-			<li>如账号内存在未提现的余额,您有权在注销前申请提现。提现将付款至您绑定的银行账户,具体到账时间取决于银行或支付平台的处理周期。</li>
-			<li>注销后,如账号内有纠纷的订单,您仍需承担相关责任。</li>
-		</ul>
-		<view style="font-size: 16px;font-weight: bold">6、争议解决</view>
-		<ul>
-			<li>若在账号注销过程中产生任何争议,您可以通过客服联系我们,我们将尽力协助解决。如无法达成一致意见,双方同意将争议提交何鑫商贸所在地有管辖权的法院诉讼解决。</li>
-			<li>联系方式:请您发送电子邮件到 <text style="background-color: yellow;">690068578@qq.com</text>,我们将在15天内回复您的诉求。</li>
-		</ul>
-
+	<view class="page">
+		<!-- 头部吸顶区域 -->
+		<u-sticky z-index="999" h5-nav-height="0">
+			<view class="navbar dis a-c">
+				<u-icon name="arrow-left" color="#333" size="40" @tap="back"></u-icon>
+				<text class="ml-1">晋掌柜账号注销须知</text>
+			</view>
+		</u-sticky>
+		<!-- 内容区 -->
+		<view class="content dis f-c">
+			<text class="title">账号注销须知</text>
+			<text class="mt-2">在你申请注销晋掌柜账号之前,请你认真阅读理解并同意《晋掌柜账号注销须知》(以下称“注销须知”)</text>
+			<text
+				class="mt-2">【特别提示】在此善意提醒你,注销晋掌柜账号不可恢复的操作。一旦注销晋掌柜账号,你将无法使用或恢复该账号下的信息。你将无法访问该账号,也将无法找回晋掌柜账号中及与账号相关的任何内容或信息(即使你使用相同的手机号码再次注册并使用晋掌柜),包括但不限于:</text>
+			<text class="mt-2">1.晋掌柜的个人资料和历史信息(包括但不限于头像、用户名、车辆信息,订单、钱包、身份,权益等)都将无法找回;</text>
+			<text class="mt-2">2.你将无法登录、使用该账号,你的权益将无法使用该账号继续开展;</text>
+			<text class="mt-2">3.你通过该账号绑定的第三方账号将删除绑定关系(微信,支付宝)第三方服务的相关记录将无法找回。你将无法再登录、使用上述服务;</text>
+			<text class="mt-2">4.你所有的订单已经完结或者关闭,且不存在任何维权纠纷;</text>
+			<text class="mt-2">5.你账号中需清零的资产均已清零,虚拟权益等财产性利益视为你自动放弃,将无法继续使用。你理解并同意,晋掌柜无法协助你重新恢复上述服务。</text>
+			<text
+				class="mt-2">请注意,你理解并同意,你的账号一旦被注销,将不可撤销也无法恢复,你将无法登录平台,同时你将无法找回账号及与账号相关的任何内容或信息(即使你使用相同的手机号码再次注册,也无法找回原账号及其数据),请你在操作之前自行备份账号相关的所有信息和数据。</text>
+		</view>
 	</view>
 </template>
 
@@ -57,12 +29,42 @@
 		data() {
 			return {}
 		},
-		methods: {}
+		methods: {
+			back() {
+				uni.navigateBack(-1)
+			}
+		}
 	}
 </script>
 
-<style>
+<style lang="scss" scoped>
 	page {
-		background: #FFFFFF;
+		background: #F8FAFE;
+	}
+
+	.navbar {
+		padding: 58px 15px 8px;
+		box-sizing: border-box;
+		position: relative;
+		z-index: 9999;
+		background-color: #fff;
+
+		text {
+			font-size: 36rpx;
+			color: #333;
+			font-weight: bold;
+		}
+	}
+
+	.content {
+		padding: 20rpx 40rpx;
+		box-sizing: border-box;
+		font-size: 30rpx;
+		color: #333;
+
+		.title {
+			font-size: 34rpx;
+			font-weight: bold;
+		}
 	}
 </style>

+ 1 - 5
pages/my/my.vue

@@ -94,7 +94,6 @@
 						</swiper-item>
 					</swiper>
 				</uni-swiper-dot>
-
 			</view>
 		</view>
 		<!-- 我的工具End -->
@@ -468,7 +467,6 @@
 						message: '您还未实名认证 请去实名认证',
 						status: 0,
 					},
-
 					2: {
 						page: '/pages/user/authResult1',
 						message: '入司资料审核中 请耐心等待',
@@ -481,7 +479,7 @@
 					},
 					8: {
 						page: '/pages/user/practitionerInfo',
-						message: '入司待补充资料 请去补充资料',
+						message: '入司待补充资料,请去补充资料',
 						status: 8,
 					},
 				};
@@ -491,7 +489,6 @@
 						message: '您的实名认证失败,请查看详情',
 						status: 2,
 					},
-
 				};
 				if (status == '0' && managementSource == '2') {
 					if (factorVerify == '2') {
@@ -502,7 +499,6 @@
 				} else {
 					return statusInfo[status];
 				}
-
 			},
 			cloudAlert() {
 				let info = this.getStatusInfo(this.userInfo.sysUser.status, this.userInfo.sysUser.factorVerify, this

+ 1 - 1
pages/orders/orders.vue

@@ -759,7 +759,7 @@
 
 			//编辑
 			CloseEdit(val) {
-				if(uni.getStorageSync('orderno')) {
+				if (uni.getStorageSync('orderno')) {
 					uni.removeStorageSync('orderno')
 				}
 				uni.navigateTo({

+ 84 - 12
pages/orders/quoteHistory.vue

@@ -150,7 +150,7 @@
 								shape="circle" size="mini" :hair-line="false" :plain="true" type=""
 								@click="huataiunderwriting(item)">更新状态</u-button>
 							<u-button
-								v-if="item.orderstatus==1  && ['中煤财险','永诚财险','国任财险','大家财险','渤海财险','恒邦财险','安盛天平','中国人寿','众安平安','太平财险','华农财险','泰康财险','诚泰财险','阳光财险'].includes(item.inscompany)"
+								v-if="item.orderstatus==1  && ['中煤财险','永诚财险','国任财险','大家财险','渤海财险','恒邦财险','安盛天平','中国人寿','众安平安','太平财险','华农财险','泰康财险','诚泰财险','阳光财险','大地财险','人保财险','泰山财险','申能财险','永安财险'].includes(item.inscompany)"
 								:custom-style="{fontSize:'12px',background:'rgba(255,77,77,0.05)',color:'#FF4D4D',borderColor:'#FF4D4D'}"
 								shape="circle" size="mini" :hair-line="false" :plain="true" type=""
 								@click="underwriting(item.id,item.inscompany)">更新状态</u-button>
@@ -165,7 +165,7 @@
 								shape="circle" size="mini" :hair-line="false" :plain="true" type=""
 								@click="Payment(item.id,item.apiType)">缴费二维码</u-button>
 							<u-button
-								v-if="item.orderstatus==2 && ['恒邦财险','安盛天平','中国人寿','众安平安','太平财险','紫金财险','永诚财险','国任财险','大家财险','华泰财险','中煤财险','华农财险','渤海财险','泰康财险','诚泰财险','阳光财险'].includes(item.inscompany)"
+								v-if="item.orderstatus==2 && ['恒邦财险','安盛天平','中国人寿','众安平安','太平财险','紫金财险','永诚财险','国任财险','大家财险','华泰财险','中煤财险','华农财险','渤海财险','泰康财险','诚泰财险','阳光财险','大地财险','人保财险','泰山财险','申能财险','永安财险'].includes(item.inscompany)"
 								:custom-style="{fontSize:'12px',background:'rgba(255,86,0,0.05)',color:'#FF5600',borderColor:'#FF5600'}"
 								shape="circle" size="mini" :hair-line="false" :plain="true" type=""
 								@click="queryStatus(item.id,item)">查询缴费状态</u-button>
@@ -1057,9 +1057,11 @@
 						}
 						break;
 					case "紫金财险":
+							let zjapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+								'/order/zijin/submitImage';
 						let zjimage = await this.$http.post(
-							'/order/zijin/submitImage', {
-								companyId: this.id
+							`${zjapiImage}`, {
+								[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.id
 							});
 						if (zjimage.code == '200') {
 							uni.showToast({
@@ -1093,9 +1095,11 @@
 						}
 						break;
 					case "渤海财险":
+						let bhapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+							"/order/boHaiApi/submitImage";
 						let bhimage = await this.$http.post(
-							'/order/boHaiApi/submitImage', {
-								companyId: this.id
+							`${bhapiImage}`, {
+								[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.id
 							});
 						if (bhimage.code == '200') {
 							uni.showToast({
@@ -1109,14 +1113,36 @@
 							});
 						}
 						break;
-					case "恒邦财险":
 					case "诚泰财险":
+						let ctapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+							"/order/chengTai/submitImage";
+						let ctimage = await this.$http.post(
+							`${ctapiImage}`, {
+								[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.id
+							});
+						if (ctimage.code == '200') {
+							uni.showToast({
+								title: '上传成功',
+								icon: 'none',
+							});
+						} else {
+							uni.showToast({
+								title: ctimage.msg,
+								icon: 'none',
+							});
+						}
+						break;
+					case "恒邦财险":
 					case "安盛天平":
 					case "众安平安":
 					case "中国人寿":
 					case "太平财险":
 					case "华农财险":
 					case "泰康财险":
+					case "泰山财险":
+					case "人保财险":
+					case "大地财险":
+					case "申能财险":
 						let pythonimage = await this.$http.post(
 							'/insurance/crawler/submitImage', {
 								subOrderNo: this.id
@@ -1589,7 +1615,9 @@
 						}
 						break;
 					case "渤海财险":
-						let bhres = await this.$http.post('/order/boHaiApi/auditStatusQuery', {
+						let bhapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+							'/order/boHaiApi/auditStatusQuery';
+						let bhres = await this.$http.post(`${bhapi}`, {
 							companyId: id
 						});
 						if (bhres.code == '200') {
@@ -1606,6 +1634,26 @@
 							});
 						}
 						break;
+					case "诚泰财险":
+						let ctapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+							'/order/chengTai/auditStatusQuery';
+						let ctres = await this.$http.post(`${ctapi}`, {
+							companyId: id
+						});
+						if (ctres.code == '200') {
+							uni.showToast({
+								title: ctres.msg,
+								icon: 'none',
+								duration: 2000
+							});
+							this.querylist();
+						} else {
+							uni.showToast({
+								title: ctres.msg,
+								icon: 'error',
+							});
+						}
+						break;
 					default:
 						let pythonres = await this.$http.post('/insurance/crawler/auditStatusQuery', {
 							companyId: id
@@ -1672,8 +1720,10 @@
 			async queryStatus(id, item) {
 				switch (item.inscompany) {
 					case "紫金财险":
-						let zjres = await this.$http.post('/order/zijin/getOrderDetail', {
-							companyId: id
+							let zjapi = item.apiType == "2" ? "/insurance/crawler/getOrderDetail" :
+								'/order/zijin/getOrderDetail';
+						let zjres = await this.$http.post(`${zjapi}`, {
+							[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
 						});
 						if (zjres.code == '200') {
 							uni.showToast({
@@ -1804,8 +1854,10 @@
 						}
 						break;
 					case "渤海财险":
-						let bhres = await this.$http.post('/order/boHaiApi/getOrderDetail', {
-							companyId: id
+						let bhapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+							'/order/boHaiApi/getOrderDetail';
+						let bhres = await this.$http.post(`${bhapi}`, {
+							[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
 						});
 						if (bhres.code == '200') {
 							uni.showToast({
@@ -1821,6 +1873,26 @@
 							});
 						}
 						break;
+					case "诚泰财险":
+						let ctapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+							'/api/chengTai/payment';
+						let ctres = await this.$http.post(`${ctapi}`, {
+							[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
+						});
+						if (ctres.code == '200') {
+							uni.showToast({
+								title: ctres.msg,
+								icon: 'none',
+								duration: 2000
+							});
+							this.querylist();
+						} else {
+							uni.showToast({
+								title: ctres.msg,
+								icon: 'error',
+							});
+						}
+						break;
 					default:
 						let pythonres = await this.$http.post('/insurance/crawler/verifyPayment', {
 							subOrderNo: id

+ 707 - 661
pages/orders/subOrders.vue

@@ -3,66 +3,66 @@
 		<view class="car-header dis a-c">
 			<image src="/static/image/car-insure/Group.png" mode="" style="width: 40px;height: 40px;"></image>
 			<view class="dis f-c head-name">
-				<text>{{licenseno}}</text>
+				<text>{{ licenseno }}</text>
 				<view class="name1">
-					<text style="margin-right: 10px;">{{insuredname}}</text>
-					<text>{{modelcname}}</text>
+					<text style="margin-right: 10px;">{{ insuredname }}</text>
+					<text>{{ modelcname }}</text>
 				</view>
 			</view>
 		</view>
 		<view class="pdd mt-3">
-			<view class="sub-orders " v-for="(item,index) in sublist" :key="index">
+			<view class="sub-orders " v-for="(item, index) in sublist" :key="index">
 				<view class="status dis a-c j-s">
 					<view v-for="(statusitem, statusindex) in statusList" :key="statusindex" class="dis a-c"
 						style="font-weight: bold;" v-if="item.orderstatus == statusitem.value">
 						<image :src="statusitem.src" mode="" style="width: 22px;height: 22px;margin-right: 5px;">
 						</image>
-						<text :style="{color: statusitem.color}">{{statusitem.label}}</text>
+						<text :style="{ color: statusitem.color }">{{ statusitem.label }}</text>
 					</view>
-					<text>¥{{item.sumpremium}}</text>
+					<text>¥{{ item.sumpremium }}</text>
 				</view>
 				<view class="orders-centre">
-					<text>{{item.inscompany}}</text>
-					<text>( {{item.agreementName}} )</text>
+					<text>{{ item.inscompany }}</text>
+					<text>( {{ item.agreementName }} )</text>
 					<view class="sum dis f-wrap">
-						<view v-if="item.jqpremium">交强险:¥{{item.jqpremium}}</view>
-						<view v-if="item.sypremium">商业险:¥{{item.sypremium}}</view>
-						<view>车船税:¥{{item.taxamount}}</view>
-						<view v-if="item.jypremium">驾意险:¥{{item.jypremium}}</view>
+						<view v-if="item.jqpremium">交强险:¥{{ item.jqpremium }}</view>
+						<view v-if="item.sypremium">商业险:¥{{ item.sypremium }}</view>
+						<view>车船税:¥{{ item.taxamount }}</view>
+						<view v-if="item.jypremium">驾意险:¥{{ item.jypremium }}</view>
 					</view>
 					<view v-if="item.auditopinion" class="dis f-c" style="font-size: 12px;">
 						<text>审核意见</text>
-						<text>{{item.auditopinion}}</text>
+						<text>{{ item.auditopinion }}</text>
 					</view>
 				</view>
 				<view class="orders-below dis f-c">
 					<view class="dis a-c j-end">
 						<u-button
-							v-if="item.orderstatus==2 && ['恒邦财险','安盛天平','中国人寿','众安平安','太平财险','紫金财险','永诚财险','国任财险','大家财险','华泰财险','中煤财险','华农财险','渤海财险','泰康财险','诚泰财险'].includes(item.inscompany)"
-							size="mini" :custom-style="{fontSize:'14px'}" type="error" :plain="true"
-							@click="queryStatus(item.id,item)">查询缴费状态</u-button>
-						<u-button v-if="item.orderstatus==2" size="mini" type="error" :custom-style="{fontSize:'14px'}"
-							:plain="true" @click="Payment(item.id,item.apiType)">二维码</u-button>
-						<u-button v-if="item.orderstatus==2 && ['紫金财险'].includes(item.inscompany)" size="mini"
-							type="error" :custom-style="{fontSize:'14px'}" :plain="true"
+							v-if="item.orderstatus == 2 && ['恒邦财险', '安盛天平', '中国人寿', '众安平安', '太平财险', '紫金财险', '永诚财险', '国任财险', '大家财险', '华泰财险', '中煤财险', '华农财险', '渤海财险', '泰康财险', '诚泰财险', '大地财险', '人保财险', '泰山财险', '申能财险'].includes(item.inscompany)"
+							size="mini" :custom-style="{ fontSize: '14px' }" type="error" :plain="true"
+							@click="queryStatus(item.id, item)">查询缴费状态</u-button>
+						<u-button v-if="item.orderstatus == 2" size="mini" type="error" :custom-style="{ fontSize: '14px' }"
+							:plain="true" @click="Payment(item.id, item.apiType)">二维码</u-button>
+						<u-button v-if="item.orderstatus == 2 && ['紫金财险'].includes(item.inscompany)" size="mini"
+							type="error" :custom-style="{ fontSize: '14px' }" :plain="true"
 							@click="cancelorder(item.id)">撤单</u-button>
-						<u-button v-if="item.orderstatus==2" size="mini" type="primary"
-							:custom-style="{fontSize:'14px'}" :plain="true"
+						<u-button v-if="item.orderstatus == 2" size="mini" type="primary"
+							:custom-style="{ fontSize: '14px' }" :plain="true"
 							@click="revokeCode(item.id)">撤销二维码</u-button>
 					</view>
 					<view class="dis a-c j-end" style="margin-top: 5px;">
-						<u-button v-if="(item.orderstatus==4 || item.orderstatus==1) && item.inscompany=='华泰财险'"
-							size="mini" :custom-style="{fontSize:'14px'}" type="error" :plain="true"
+						<u-button v-if="(item.orderstatus == 4 || item.orderstatus == 1) && item.inscompany == '华泰财险'"
+							size="mini" :custom-style="{ fontSize: '14px' }" type="error" :plain="true"
 							@click="huataiunderwriting(item)">更新订单</u-button>
 						<u-button
-							v-if="item.orderstatus==1  && ['中煤财险','永诚财险','国任财险','大家财险','渤海财险','恒邦财险','安盛天平','中国人寿','众安平安','太平财险','华农财险','泰康财险','诚泰财险'].includes(item.inscompany)"
-							size="mini" type="error" :plain="true" :custom-style="{fontSize:'14px'}"
-							@click="underwriting(item.id,item.inscompany)">更新订单</u-button>
-						<u-button type="error" size="mini" :custom-style="{fontSize:'14px'}"
+							v-if="item.orderstatus == 1 && ['中煤财险', '永诚财险', '国任财险', '大家财险', '渤海财险', '恒邦财险', '安盛天平', '中国人寿', '众安平安', '太平财险', '华农财险', '泰康财险', '诚泰财险', '大地财险', '人保财险', '泰山财险', '申能财险'].includes(item.inscompany)"
+							size="mini" type="error" :plain="true" :custom-style="{ fontSize: '14px' }"
+							@click="underwriting(item.id, item.inscompany)">更新订单</u-button>
+						<u-button type="error" size="mini" :custom-style="{ fontSize: '14px' }"
 							@click="openSteps(item.id)">订单轨迹</u-button>
-						<u-button size="mini" type="primary" :custom-style="{fontSize:'14px',background:'#FF5600'}"
+						<u-button size="mini" type="primary" :custom-style="{ fontSize: '14px', background: '#FF5600' }"
 							@click="bjdpreview(item.id)">报价单</u-button>
-						<u-button size="mini" type="primary" :custom-style="{fontSize:'14px'}"
+						<u-button size="mini" type="primary" :custom-style="{ fontSize: '14px' }"
 							@click="detial(item.id)">查看详情</u-button>
 					</view>
 					<!-- <text class="arrivalNavigations" :data-id="item.id" @tap.stop.prevent="Moremethods">更多
@@ -81,28 +81,28 @@
 				</view>
 			</view>
 		</view>
-		<o-empty v-if="sublist.length==0" />
+		<o-empty v-if="sublist.length == 0" />
 		<!-- <u-popup v-model="trajectoryShow" mode="center" border-radius="8" width="80%">
 			<u-steps mode="number" :list="numList" :current="2" direction="column" style="padding: 20px;"></u-steps>
 		</u-popup> -->
 		<u-modal v-model="OrderTrackShow" title="订单轨迹"
-			:title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
+			:title-style="{ fontWeight: 'bold', borderBottom: '1px solid #f2f2f2', padding: '10px' }"
 			:show-cancel-button="false"
-			:confirm-style="{background:'#E6EEFF',color:'#0052FF',height:'40px',lineHeight:'40px'}"
-			@confirm="OrderTrackShow=false" confirm-text="关闭">
+			:confirm-style="{ background: '#E6EEFF', color: '#0052FF', height: '40px', lineHeight: '40px' }"
+			@confirm="OrderTrackShow = false" confirm-text="关闭">
 			<view class="slot-content dis  a-c  p-2">
 				<view class="dis a-c j-c f-c">
-					<view class="TrackRecord   dis f-c a-start" v-for="(item,index) in TrackRecordList" :key="index">
+					<view class="TrackRecord   dis f-c a-start" v-for="(item, index) in TrackRecordList" :key="index">
 						<view class="dis a-c">
-							<view class="circle dis j-c a-c">{{index+1}}</view>
-							<text class="title">{{item.orderStatus}}</text>
+							<view class="circle dis j-c a-c">{{ index + 1 }}</view>
+							<text class="title">{{ item.orderStatus }}</text>
 						</view>
 						<view class="dis f-c  content  mt-2">
 							<view class="">
-								<text>保险公司:{{item.insCompany}}</text>
-								<text style="margin-left: 10px;">提交人:{{item.operator}}</text>
+								<text>保险公司:{{ item.insCompany }}</text>
+								<text style="margin-left: 10px;">提交人:{{ item.operator }}</text>
 							</view>
-							<text>创建时间:{{item.createTime}}</text>
+							<text>创建时间:{{ item.createTime }}</text>
 						</view>
 					</view>
 				</view>
@@ -112,688 +112,734 @@
 	</view>
 </template>
 <script>
-	import store from '@/store';
-	import {
-		mapState,
-		mapMutations
-	} from "vuex"
-	export default {
-		data() {
-			return {
-				TrackRecordList: [],
-				OrderTrackShow: false,
-				show: true,
-				modeClass: 'fade',
-				// trajectoryShow: false,
-				// trajectoryList: [],
-				MoreShow: false,
-				moreindex: "",
-				companyId: "",
-				modelcname: "",
-				orderno: "",
-				insuredname: "",
-				licenseno: "",
-				sublist: [],
-				numList: [{
-						name: '进行中'
-					}, {
-						name: '待核保'
-					},
-					{
-						name: '核保退回'
-					}, {
-						name: '待缴费'
-					}, {
-						name: '已承保'
-					},
-
-				],
-				statusList: [{
-						label: '进行中',
-						value: 0,
-						color: "#229805",
-						src: "/static/image/car-insure/state1.png"
-					},
-					{
-						label: '待核保',
-						value: 1,
-						color: "#FF5600",
-						src: "/static/image/car-insure/state2.png"
-					},
-					{
-						label: '待缴费',
-						value: 2,
-						color: "#FF0F00",
-						src: "/static/image/car-insure/state3.png"
-					},
-					{
-						label: '已承保',
-						value: 3,
-						color: "#0052FF",
-						src: "/static/image/car-insure/state4.png"
-					},
-					{
-						label: '核保退回',
-						value: 4,
-						color: "#727272",
-						src: "/static/image/car-insure/state5.png"
-					}
-				],
-			}
-		},
-		computed: {
-			...mapState(['userInfo', 'quotationType']),
-		},
-		onLoad(params) {
-			let item = JSON.parse(params.orderno);
-			this.orderno = item.orderno;
-			this.modelcname = item.modelcname;
-			this.insuredname = item.insuredname;
-			this.licenseno = item.licenseno;
-			this.querylist();
-		},
-		methods: {
-			//打开步骤条弹框
-			async openSteps(orderno) {
-				let res = await this.$http.get("/insurance/track/queryBySuborder?suborder=" + orderno)
-				if (res.code == '200') {
-					this.statusList.map(valA => {
-						res.data.map(valB => {
-							if (valA.value == valB.orderStatus) {
-								valB.orderStatus = valA.label;
-							}
-							return valB
-						})
-					})
-					this.TrackRecordList = res.data;
-					this.OrderTrackShow = true;
-				}
+import store from '@/store';
+import {
+	mapState,
+	mapMutations
+} from "vuex"
+export default {
+	data() {
+		return {
+			TrackRecordList: [],
+			OrderTrackShow: false,
+			show: true,
+			modeClass: 'fade',
+			// trajectoryShow: false,
+			// trajectoryList: [],
+			MoreShow: false,
+			moreindex: "",
+			companyId: "",
+			modelcname: "",
+			orderno: "",
+			insuredname: "",
+			licenseno: "",
+			sublist: [],
+			numList: [{
+				name: '进行中'
+			}, {
+				name: '待核保'
+			},
+			{
+				name: '核保退回'
+			}, {
+				name: '待缴费'
+			}, {
+				name: '已承保'
 			},
 
-			handle(type) {
-				this.show = !this.show
-				this.modeClass = type
+			],
+			statusList: [{
+				label: '进行中',
+				value: 0,
+				color: "#229805",
+				src: "/static/image/car-insure/state1.png"
 			},
-			async querylist() {
-				let params = {
-					orderNo: this.orderno
-				}
-				let res = await this.$http.post('/insurance/order/querySuborder', params)
-				this.sublist = res.data;
-				this.sublist.map(val => {
-					val.checked = false;
-					return val;
-				})
+			{
+				label: '待核保',
+				value: 1,
+				color: "#FF5600",
+				src: "/static/image/car-insure/state2.png"
 			},
-			//更多操作
-			Moremethods(e) {
-				let id = e.currentTarget.dataset.id;
-				let list = this.sublist;
-				this.sublist = list.map(val => {
-					if (val.id == id) {
-						val.checked = !val.checked;
-					} else {
-						val.checked = false;
-					}
-					return val;
-				})
+			{
+				label: '待缴费',
+				value: 2,
+				color: "#FF0F00",
+				src: "/static/image/car-insure/state3.png"
 			},
-			//查看详情
-			detial(id) {
-				this.navigate({
-					url: '/pages/carInsure/quoteDetail',
-					success: (res) => {
-						res.eventChannel.emit("acceptData", {
-							companyId: id,
-						})
-					}
-				}, "navigateTo", true);
+			{
+				label: '已承保',
+				value: 3,
+				color: "#0052FF",
+				src: "/static/image/car-insure/state4.png"
 			},
-			//付款码
-			Payment(id, type) {
-				let pro = this.quotationType.themeCode;
-				if (pro == "QD") {
-					uni.navigateTo({
-						url: "/pages/orders/paymentCode?companyId=" + id + '&apiType=' + type,
+			{
+				label: '核保退回',
+				value: 4,
+				color: "#727272",
+				src: "/static/image/car-insure/state5.png"
+			}
+			],
+		}
+	},
+	computed: {
+		...mapState(['userInfo', 'quotationType']),
+	},
+	onLoad(params) {
+		let item = JSON.parse(params.orderno);
+		this.orderno = item.orderno;
+		this.modelcname = item.modelcname;
+		this.insuredname = item.insuredname;
+		this.licenseno = item.licenseno;
+		this.querylist();
+	},
+	methods: {
+		//打开步骤条弹框
+		async openSteps(orderno) {
+			let res = await this.$http.get("/insurance/track/queryBySuborder?suborder=" + orderno)
+			if (res.code == '200') {
+				this.statusList.map(valA => {
+					res.data.map(valB => {
+						if (valA.value == valB.orderStatus) {
+							valB.orderStatus = valA.label;
+						}
+						return valB
 					})
+				})
+				this.TrackRecordList = res.data;
+				this.OrderTrackShow = true;
+			}
+		},
+
+		handle(type) {
+			this.show = !this.show
+			this.modeClass = type
+		},
+		async querylist() {
+			let params = {
+				orderNo: this.orderno
+			}
+			let res = await this.$http.post('/insurance/order/querySuborder', params)
+			this.sublist = res.data;
+			this.sublist.map(val => {
+				val.checked = false;
+				return val;
+			})
+		},
+		//更多操作
+		Moremethods(e) {
+			let id = e.currentTarget.dataset.id;
+			let list = this.sublist;
+			this.sublist = list.map(val => {
+				if (val.id == id) {
+					val.checked = !val.checked;
 				} else {
-					uni.navigateTo({
-						url: "/pages/orders/paymentCode1?companyId=" + id + '&apiType=' + type,
-					})
+					val.checked = false;
 				}
-			},
-			//报价单
-			bjdpreview(id) {
-				let pro = this.quotationType.themeCode;
-				if (pro == "QD") {
-					uni.navigateTo({
-						url: "/pages/orders/quotation?companyId=" + id
-					})
-				} else {
-					uni.navigateTo({
-						url: "/pages/orders/quotation1?companyId=" + id
+				return val;
+			})
+		},
+		//查看详情
+		detial(id) {
+			this.navigate({
+				url: '/pages/carInsure/quoteDetail',
+				success: (res) => {
+					res.eventChannel.emit("acceptData", {
+						companyId: id,
 					})
 				}
-			},
-			//撤销二维码
-			async revokeCode(id) {
-				let res = await this.$http.post('/order/qrCode/destructionQrCode?areaCompanyId=' + id)
-				if (res.code == '200') {
-					uni.showToast({
-						title: res.msg,
-						icon: 'success',
-						duration: 1000
+			}, "navigateTo", true);
+		},
+		//付款码
+		Payment(id, type) {
+			let pro = this.quotationType.themeCode;
+			if (pro == "QD") {
+				uni.navigateTo({
+					url: "/pages/orders/paymentCode?companyId=" + id + '&apiType=' + type,
+				})
+			} else {
+				uni.navigateTo({
+					url: "/pages/orders/paymentCode1?companyId=" + id + '&apiType=' + type,
+				})
+			}
+		},
+		//报价单
+		bjdpreview(id) {
+			let pro = this.quotationType.themeCode;
+			if (pro == "QD") {
+				uni.navigateTo({
+					url: "/pages/orders/quotation?companyId=" + id
+				})
+			} else {
+				uni.navigateTo({
+					url: "/pages/orders/quotation1?companyId=" + id
+				})
+			}
+		},
+		//撤销二维码
+		async revokeCode(id) {
+			let res = await this.$http.post('/order/qrCode/destructionQrCode?areaCompanyId=' + id)
+			if (res.code == '200') {
+				uni.showToast({
+					title: res.msg,
+					icon: 'success',
+					duration: 1000
+				});
+				this.querylist();
+			} else {
+				uni.showToast({
+					title: res.msg,
+					icon: 'none',
+					duration: 1000
+				});
+			}
+		},
+		async huataiunderwriting(item) {
+			let api = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+				'/order/huaTaiApi/auditStatusQuery';
+			let params = {
+				companyId: item.id,
+			}
+			let res = await this.$http.post(`${api}`, params)
+			if (res.code == '200') {
+				uni.showToast({
+					title: res.msg,
+					icon: 'success',
+					duration: 1000
+				});
+				this.querylist();
+			} else {
+				uni.showToast({
+					title: res.msg,
+					icon: 'none',
+					duration: 1000
+				});
+			}
+		},
+
+		//核保状态查询
+		async underwriting(id, inscompany) {
+			switch (inscompany) {
+				case "中煤财险":
+					let zmres = await this.$http.post('/order/zhongMeiApi/auditStatusQuery', {
+						companyId: id
+					})
+					if (zmres.code == '200') {
+						uni.showToast({
+							title: zmres.msg,
+							icon: 'none',
+							duration: 1000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: zmres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "永诚财险":
+					let ycres = await this.$http.get('/api/yongCheng/orderStatusBySuborderId/' + id);
+					if (ycres.code == '200') {
+						uni.showToast({
+							title: ycres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: ycres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "国任财险":
+					let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
+						companyId: id
 					});
-					this.querylist();
-				} else {
-					uni.showToast({
-						title: res.msg,
-						icon: 'none',
-						duration: 1000
+					if (grres.code == '200') {
+						uni.showToast({
+							title: grres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: grres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "大家财险":
+					let djapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+						'/api/dajia/verifyPayment';
+					let djres = await this.$http.post(`${djapi}`, {
+						companyId: id
 					});
-				}
-			},
-			async huataiunderwriting(item) {
-				let api = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
-					'/order/huaTaiApi/auditStatusQuery';
-				let params = {
-					companyId: item.id,
-				}
-				let res = await this.$http.post(`${api}`, params)
-				if (res.code == '200') {
-					uni.showToast({
-						title: res.msg,
-						icon: 'success',
-						duration: 1000
+					if (djres.code == '200') {
+						uni.showToast({
+							title: djres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: djres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "渤海财险":
+					let bhapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+						'/order/boHaiApi/auditStatusQuery';
+					let bhres = await this.$http.post(`${bhapi}`, {
+						companyId: id
 					});
-					this.querylist();
-				} else {
-					uni.showToast({
-						title: res.msg,
-						icon: 'none',
-						duration: 1000
+					if (bhres.code == '200') {
+						uni.showToast({
+							title: bhres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: bhres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "诚泰财险":
+					let ctapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+						'/order/chengTai/auditStatusQuery';
+					let ctres = await this.$http.post(`${ctapi}`, {
+						companyId: id
 					});
-				}
-			},
-
-			//核保状态查询
-			async underwriting(id, inscompany) {
-				switch (inscompany) {
-					case "中煤财险":
-						let zmres = await this.$http.post('/order/zhongMeiApi/auditStatusQuery', {
-							companyId: id
-						})
-						if (zmres.code == '200') {
-							uni.showToast({
-								title: zmres.msg,
-								icon: 'none',
-								duration: 1000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: zmres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "永诚财险":
-						let ycres = await this.$http.get('/api/yongCheng/orderStatusBySuborderId/' + id);
-						if (ycres.code == '200') {
-							uni.showToast({
-								title: ycres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: ycres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "国任财险":
-						let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
-							companyId: id
-						});
-						if (grres.code == '200') {
-							uni.showToast({
-								title: grres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: grres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "大家财险":
-						let djapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
-							'/api/dajia/verifyPayment';
-						let djres = await this.$http.post(`${djapi}`, {
-							companyId: id
-						});
-						if (djres.code == '200') {
-							uni.showToast({
-								title: djres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: djres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "渤海财险":
-						let bhres = await this.$http.post('/order/boHaiApi/auditStatusQuery', {
-							companyId: id
-						});
-						if (bhres.code == '200') {
-							uni.showToast({
-								title: bhres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: bhres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					default:
-						let pythonres = await this.$http.post('/insurance/crawler/auditStatusQuery', {
-							companyId: id
-						});
-						if (pythonres.code == '200') {
-							uni.showToast({
-								title: pythonres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: pythonres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-				}
+					if (ctres.code == '200') {
+						uni.showToast({
+							title: ctres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: ctres.msg,
+							icon: 'error',
+						});
+					}
+					break;
+				default:
+					let pythonres = await this.$http.post('/insurance/crawler/auditStatusQuery', {
+						companyId: id
+					});
+					if (pythonres.code == '200') {
+						uni.showToast({
+							title: pythonres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: pythonres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+			}
 
-			},
-			//撤单
-			async cancelorder(item) {
-				let res = await this.$http.post('/order/zijin/cancel', {
-					companyId: item
-				})
-				if (res.code == '200') {
-					uni.showToast({
-						title: res.msg,
-						icon: 'none',
-						duration: 1000
+		},
+		//撤单
+		async cancelorder(item) {
+			let res = await this.$http.post('/order/zijin/cancel', {
+				companyId: item
+			})
+			if (res.code == '200') {
+				uni.showToast({
+					title: res.msg,
+					icon: 'none',
+					duration: 1000
+				});
+				this.querylist();
+			} else {
+				uni.showToast({
+					title: res.msg,
+					icon: 'none',
+				});
+			}
+		},
+		async queryStatus(id, item) {
+			switch (item.inscompany) {
+				case "紫金财险":
+					let zjapi = item.apiType == "2" ? "/insurance/crawler/getOrderDetail" :
+						'/order/zijin/getOrderDetail';
+					let zjres = await this.$http.post(`${zjapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
 					});
-					this.querylist();
-				} else {
-					uni.showToast({
-						title: res.msg,
-						icon: 'none',
+					if (zjres.code == '200') {
+						uni.showToast({
+							title: zjres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: zjres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "大家财险":
+					let djapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+						'/api/dajia/verifyPayment';
+					let djres = await this.$http.post(`${djapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
 					});
-				}
-			},
-			async queryStatus(id, item) {
-				switch (item.inscompany) {
-					case "紫金财险":
-						let zjres = await this.$http.post('/order/zijin/getOrderDetail', {
-							companyId: id
-						});
-						if (zjres.code == '200') {
-							uni.showToast({
-								title: zjres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: zjres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "大家财险":
-						let djapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
-							'/api/dajia/verifyPayment';
-						let djres = await this.$http.post(`${djapi}`, {
-							[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
-						});
-						if (djres.code == '200') {
-							uni.showToast({
-								title: djres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: djres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "华泰财险":
-						let htapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
-							'/order/huaTaiApi/paymentEnquiry';
-						let htres = await this.$http.post(`${htapi}`, {
-							[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
-						});
-						if (htres.code == '200') {
-							uni.showToast({
-								title: htres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: htres.msg,
-								icon: 'error',
-							});
-						}
-						break;
-					case "永诚财险":
-						let ycres = await this.$http.get(
-							'/api/yongCheng/orderStatusBySuborderId/' + id);
-						if (ycres.code == '200') {
-							uni.showToast({
-								title: ycres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: ycres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "国任财险":
-						let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
-							companyId: id
-						});
-						if (grres.code == '200') {
-							uni.showToast({
-								title: grres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: grres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "中煤财险":
-						let zmres = await this.$http.post('/order/zhongMeiApi/paymentEnquiry', {
-							companyId: id
-						});
-						if (zmres.code == '200') {
-							uni.showToast({
-								title: zmres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: zmres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "渤海财险":
-						let bhres = await this.$http.post('/order/boHaiApi/getOrderDetail', {
-							companyId: id
-						});
-						if (bhres.code == '200') {
-							uni.showToast({
-								title: bhres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: bhres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					default:
-						let pythonres = await this.$http.post('/insurance/crawler/verifyPayment', {
-							subOrderNo: id
-						});
-						if (pythonres.code == '200') {
-							uni.showToast({
-								title: pythonres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: pythonres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-				}
-			},
-			init() {
-				this.sublist = this.sublist.map(val => {
-					val.checked = false;
-					return val;
-				})
+					if (djres.code == '200') {
+						uni.showToast({
+							title: djres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: djres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "华泰财险":
+					let htapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+						'/order/huaTaiApi/paymentEnquiry';
+					let htres = await this.$http.post(`${htapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
+					});
+					if (htres.code == '200') {
+						uni.showToast({
+							title: htres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: htres.msg,
+							icon: 'error',
+						});
+					}
+					break;
+				case "永诚财险":
+					let ycres = await this.$http.get(
+						'/api/yongCheng/orderStatusBySuborderId/' + id);
+					if (ycres.code == '200') {
+						uni.showToast({
+							title: ycres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: ycres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "国任财险":
+					let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
+						companyId: id
+					});
+					if (grres.code == '200') {
+						uni.showToast({
+							title: grres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: grres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "中煤财险":
+					let zmres = await this.$http.post('/order/zhongMeiApi/paymentEnquiry', {
+						companyId: id
+					});
+					if (zmres.code == '200') {
+						uni.showToast({
+							title: zmres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: zmres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "渤海财险":
+					let bhapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+						'/order/boHaiApi/getOrderDetail';
+					let bhres = await this.$http.post(`${bhapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
+					});
+					if (bhres.code == '200') {
+						uni.showToast({
+							title: bhres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: bhres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "诚泰财险":
+					let ctapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+						'/api/chengTai/payment';
+					let ctres = await this.$http.post(`${ctapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
+					});
+					if (ctres.code == '200') {
+						uni.showToast({
+							title: ctres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: ctres.msg,
+							icon: 'error',
+						});
+					}
+					break;
+				default:
+					let pythonres = await this.$http.post('/insurance/crawler/verifyPayment', {
+						subOrderNo: id
+					});
+					if (pythonres.code == '200') {
+						uni.showToast({
+							title: pythonres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: pythonres.msg,
+							icon: 'none',
+						});
+					}
+					break;
 			}
-
+		},
+		init() {
+			this.sublist = this.sublist.map(val => {
+				val.checked = false;
+				return val;
+			})
 		}
+
 	}
+}
 </script>
 <style>
-	page {
-		background: #f2f2f2;
-	}
+page {
+	background: #f2f2f2;
+}
 </style>
 <style lang="scss" scoped>
-	.page {
-		min-height: calc(100vh - 44px);
-		background-color: #F8FAFE;
-		padding: 16px 16px 30px 16px;
-	}
+.page {
+	min-height: calc(100vh - 44px);
+	background-color: #F8FAFE;
+	padding: 16px 16px 30px 16px;
+}
 
-	.car-header {
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		box-shadow: 0px 4px 10px 0px #DAE3F4;
-		border-radius: 6px;
-		padding: 8px 15px;
+.car-header {
+	width: 100%;
+	height: auto;
+	background: #FFFFFF;
+	box-shadow: 0px 4px 10px 0px #DAE3F4;
+	border-radius: 6px;
+	padding: 8px 15px;
 
 
-		.head-name {
-			margin-left: 20px;
+	.head-name {
+		margin-left: 20px;
 
-			&>text {
-				font-weight: bold;
-				font-size: 15px;
-				color: #232832;
-			}
+		&>text {
+			font-weight: bold;
+			font-size: 15px;
+			color: #232832;
+		}
 
-			.name1 text {
-				font-size: 14px;
-				font-weight: bold;
-				color: #333333;
-			}
+		.name1 text {
+			font-size: 14px;
+			font-weight: bold;
+			color: #333333;
+		}
+	}
+}
+
+.sub-orders {
+	width: 100%;
+	background: white;
+	border-radius: 6px;
+	padding: 10px;
+	box-shadow: 0px 4px 10px 0px #DAE3F4;
+	border-radius: 6px;
+	margin-bottom: 10px;
+
+	.status {
+		padding-bottom: 8px;
+		border-bottom: 1px solid #EFEFEF;
+
+		>text {
+			color: #FF5600;
+			font-size: 16px;
+			font-weight: bold;
 		}
 	}
 
-	.sub-orders {
-		width: 100%;
-		background: white;
-		border-radius: 6px;
-		padding: 10px;
-		box-shadow: 0px 4px 10px 0px #DAE3F4;
-		border-radius: 6px;
-		margin-bottom: 10px;
+	.orders-centre {
+		padding: 6px 0;
+		border-bottom: 1px solid #EFEFEF;
 
-		.status {
-			padding-bottom: 8px;
-			border-bottom: 1px solid #EFEFEF;
+		>text {
+			font-size: 15px;
+			font-weight: bold;
+			color: #232832;
+		}
 
-			>text {
-				color: #FF5600;
-				font-size: 16px;
-				font-weight: bold;
+		.sum {
+			view {
+				width: 50%;
+				color: #2D4D89;
+				font-size: 13px;
 			}
 		}
+	}
 
-		.orders-centre {
-			padding: 6px 0;
-			border-bottom: 1px solid #EFEFEF;
-
-			>text {
-				font-size: 15px;
-				font-weight: bold;
-				color: #232832;
-			}
+	.orders-below {
+		padding-top: 10px;
 
-			.sum {
-				view {
-					width: 50%;
-					color: #2D4D89;
-					font-size: 13px;
-				}
+		>view {
+			uni-button {
+				margin-left: 5px;
 			}
 		}
 
-		.orders-below {
-			padding-top: 10px;
+	}
 
-			>view {
-				uni-button {
-					margin-left: 5px;
-				}
-			}
+}
 
-		}
 
-	}
+.strong {
+	font-weight: bold;
+}
 
+.arrivalNavigations {
+	font-size: 14px;
+	color: rgba(51, 51, 51, 0.8);
+	margin-right: auto;
+	position: relative;
+}
 
-	.strong {
-		font-weight: bold;
-	}
+//从这里开始是弹出框的样式  不需要搜索框的 前面样式都不用加
+.arrivalNavigation {
+	width: 250rpx;
+	position: absolute;
+	left: -10px;
+	top: 30px;
+	z-index: 99;
 
-	.arrivalNavigations {
-		font-size: 14px;
-		color: rgba(51, 51, 51, 0.8);
-		margin-right: auto;
-		position: relative;
-	}
+	.sideNavigation {
+		width: 80px;
+		background-color: #fff;
+		box-shadow: 0px 4px 10px 0px #DAE3F4;
+		border-radius: 10rpx;
 
-	//从这里开始是弹出框的样式  不需要搜索框的 前面样式都不用加
-	.arrivalNavigation {
-		width: 250rpx;
-		position: absolute;
-		left: -10px;
-		top: 30px;
-		z-index: 99;
-
-		.sideNavigation {
-			width: 80px;
-			background-color: #fff;
-			box-shadow: 0px 4px 10px 0px #DAE3F4;
-			border-radius: 10rpx;
-
-			.sideNavigation-btn>view {
-				text-align: center;
-				font-size: 14px;
-				color: #333333;
-				text-align: center;
-				padding: 6px 0;
-				border-bottom: 1px solid #EFEFEF;
-
-				&:last-child {
-					border: none;
-				}
+		.sideNavigation-btn>view {
+			text-align: center;
+			font-size: 14px;
+			color: #333333;
+			text-align: center;
+			padding: 6px 0;
+			border-bottom: 1px solid #EFEFEF;
+
+			&:last-child {
+				border: none;
 			}
 		}
+	}
 
-		.d4 {
-			width: 0;
-			height: 0;
-			margin-left: 22px;
-			margin-top: -20rpx;
-			border-width: 20rpx;
-			border-style: solid;
-			border-color: transparent #fff transparent transparent;
-			transform: rotate(90deg);
-			/*顺时针旋转90°*/
+	.d4 {
+		width: 0;
+		height: 0;
+		margin-left: 22px;
+		margin-top: -20rpx;
+		border-width: 20rpx;
+		border-style: solid;
+		border-color: transparent #fff transparent transparent;
+		transform: rotate(90deg);
+		/*顺时针旋转90°*/
 
-		}
+	}
+}
+
+.TrackRecord {
+	width: 100%;
+	padding: 10px 20px;
+
+	.circle {
+		width: 18px;
+		height: 18px;
+		background: #F0F0F0;
+		border-radius: 50%;
+		font-size: 22rpx;
+		font-weight: bold;
 	}
 
-	.TrackRecord {
-		width: 100%;
-		padding: 10px 20px;
+	.title {
+		color: #333333;
+		font-size: 12px;
+		margin-left: 12px;
+		font-weight: bold;
+	}
 
-		.circle {
-			width: 18px;
-			height: 18px;
-			background: #F0F0F0;
-			border-radius: 50%;
-			font-size: 22rpx;
-			font-weight: bold;
-		}
+	.content {
+		border-left: 1px solid #E2E5EB;
+		padding-left: 20px;
+		margin-left: 7px;
 
-		.title {
-			color: #333333;
-			font-size: 12px;
-			margin-left: 12px;
-			font-weight: bold;
+		text {
+			font-size: 22rpx;
+			color: rgba(51, 51, 51, 0.85);
 		}
+	}
 
-		.content {
-			border-left: 1px solid #E2E5EB;
-			padding-left: 20px;
-			margin-left: 7px;
-
-			text {
-				font-size: 22rpx;
-				color: rgba(51, 51, 51, 0.85);
-			}
+	&:last-child {
+		.circle {
+			background-color: #E6EEFF;
+			color: #0052FF;
 		}
 
-		&:last-child {
-			.circle {
-				background-color: #E6EEFF;
-				color: #0052FF;
-			}
-
-			.title {
-				color: #0052FF;
-			}
+		.title {
+			color: #0052FF;
 		}
 	}
+}
 </style>

+ 7 - 0
pages/orders/verificationPage.vue

@@ -85,6 +85,13 @@
 
 						// 启动倒计时
 						this.startCountdown();
+					} else if (res.code == 300) {
+						//#ifdef H5
+						window.open(res.msg, '_blank'); // 在新标签页中打开
+						//#endif
+						//#ifdef APP-PLUS
+						plus.runtime.openURL(res.msg)
+						//#endif
 					} else {
 						uni.showToast({
 							title: res.msg || '发送失败',

+ 3 - 1
pages/register/orderissuer.vue

@@ -119,7 +119,8 @@
 				showRecommend: false,
 				recommendername: "",
 				recommenderid: "",
-				checked: false
+				checked: false,
+				newApp: "",
 			}
 		},
 		async onLoad(params) {
@@ -128,6 +129,7 @@
 			// // #endif
 			if (params.id) {
 				this.recommenderid = params.id;
+				this.newApp = params.newApp; //区分新旧合伙人  1:新
 				// 查询推荐人信息
 				let res = await this.$http.get('/user/findById?id=' + params.id);
 				if ((res.code == '200') && (res.data != null)) {

+ 3 - 1
pages/register/register.vue

@@ -114,7 +114,8 @@
 				codetime: 0,
 				showRecommend: false,
 				recommendername: "",
-				recommenderid: ""
+				recommenderid: "",
+				newApp: "",
 			}
 		},
 		async onLoad(params) {
@@ -123,6 +124,7 @@
 			// // #endif
 			if (params.id) {
 				this.recommenderid = params.id;
+				this.newApp = params.newApp; //区分新旧合伙人  1:新
 				// 查询推荐人信息
 				let res = await this.$http.get('/user/findById?id=' + params.id);
 				if ((res.code == '200') && (res.data != null)) {

+ 204 - 87
pages/set/accountCancellation.vue

@@ -1,32 +1,64 @@
 <template>
 	<view class="page">
-		<view class="header dis a-c f-c">
-			<image src="../../static/image/my/zgcx.png" mode=""></image>
-			<text class="name">申请注销晋掌柜账号</text>
+		<!-- 头部吸顶区域 -->
+		<u-sticky z-index="999" h5-nav-height="0">
+			<view class="navbar dis a-c j-s ">
+				<u-icon name="arrow-left" color="#333" size="40" @tap="back"></u-icon>
+				<text style="margin:  auto;">注销账号</text>
+			</view>
+		</u-sticky>
+		<!-- 内容区 -->
+		<view class="content ">
+			<view class="inProgress dis f-c a-c" v-if="is_logout==1">
+				<image src="/static/image/my/zhuxiao.png" mode=""></image>
+				<text class="title mt-3 mb-4">账号注销中</text>
+				<text
+					class="mb-4">您的账号于{{logout_time}}日申请注销。请注意,账号注销有30日的冷静期(账号锁定期)。除法律法规规定和注销协议约定情形外,我们将在冷静期满后完成注销,删除或匿名化处理您的个人信息。</text>
+				<text>在此期间,您账号内的出单收益视为您已自动放弃,请您不要使用该账号报价,或者申请提现,以确保注销的顺利完成,否则视为您撤销注销申请。</text>
+			</view>
+			<view class="reject dis f-c " v-else>
+				<text class="title">注销账号不可逆,请谨慎操作!</text>
+				<text class="prompt">申请注销账号之前, 系统进行以下验证,以保您的账号、财产安全</text>
+				<ul>
+					<li>
+						账号安全
+					</li>
+					<text>您的账号没有异常安全风险,注销操作是自我意愿,非恶意注销</text>
+				</ul>
+				<view class="dis f-c">
+					<view class="dis a-c ">
+						<u-icon v-if="is_logout==2" name="close-circle-fill" color="#F82522" size="28"></u-icon>
+						<u-icon v-if="is_logout==3" name="error-circle-fill" color="#F8BB22" size="28"></u-icon>
+						<text class=" font-weight" style="margin-left: 15rpx;">账号资产</text>
+					</view>
+					<text v-if="is_logout==2" class="ml-4" style="font-size: 27rpx;color: #666;">您账号内的余额还剩余
+						<text class="font-weight red">{{amount}}元</text>
+						未提现,请将余额内金额全部提现后,再申请</text>
+					<text v-if="is_logout==3" class="ml-4" style="font-size: 27rpx;color: #666;">您账号内的余额还剩余
+						<text class="font-weight red">{{amount}}元</text>
+						未提现,注销将视为您自动放弃该金额</text>
+				</view>
+			</view>
 		</view>
-		<view class="content">
-			<view class="mb-4">
-				<text class="p">在您注销账号前,请确保账号内的 <text style="color: #343EEF;">余额</text> 已全部提现,<text
-						style="color: #343EEF;">订单</text> 已全部关闭以保障您的账号,财产安全。</text>
+		<view class="footer dis f-c a-start" v-if="is_logout==1">
+			<view class="btn dis a-c j-c mt-3" @click="revokeRequest">
+				撤销注销申请
 			</view>
-			<text class="title">注销账号后,将放弃所有资产和权益</text>
-			<ul class="ul">
-				<li>身份、帐号信息、增员关系等资产将清空且无法恢复</li>
-				<li>订单记录、出单员身份、增员关系及收益记录清空</li>
-				<li>帐号一旦被注销将不可恢复,请在操作前自行备份帐号相关的所有信息和数据</li>
-				<li>账号注销前请确认不存在或不需要管理的业务团队,否则一旦注销后将会导致其他产品或服务的必要功能无法实现,你将无法再登录掌柜应用。</li>
-			</ul>
 		</view>
-		<view class="footer dis f-c a-start">
-			<view class="selection">
+		<view class="footer dis f-c a-start" v-if="is_logout==2 || is_logout==3">
+			<view class="selection dis a-start">
 				<u-checkbox v-model="checked" style="margin-top: 4px;"></u-checkbox>
 				<text>
-					我已阅读并同意<text @tap="nav('/pages/login/logoutAgreement')" class="text-color">《用户注销协议》</text>
+					我已阅读并同意<text @tap="nav('/pages/login/logoutAgreement')" class="text-color">注销协议</text>
 				</text>
 			</view>
-			<view class="btn dis a-c j-c " @click="accountSubmit">
+			<view class="btn dis a-c j-c mt-3" :style="{  opacity: is_logout == 2 ? 0.3 : 1,
+  pointerEvents: is_logout == 2 ? 'none' : 'auto'}" @click="accountSubmit">
 				申请注销
 			</view>
+			<view class="btn dis a-c j-c btns mt-3" @click="response">
+				暂不注销
+			</view>
 		</view>
 	</view>
 </template>
@@ -40,6 +72,8 @@
 		data() {
 			return {
 				checked: false,
+				is_logout: "", //是否可注销
+				amount: "", //余额
 			}
 		},
 		computed: {
@@ -48,8 +82,14 @@
 		onShow() {
 
 		},
-		onLoad() {
-
+		async onLoad() {
+			let res = await this.$http.get('/user/userLogoutValid?userId=' + this.userInfo
+				.sysUser.id)
+			if (res.code == '200') {
+				this.is_logout = res.data.is_logout;
+				this.logout_time = res.data.logout_time;
+				this.amount = res.data.amount;
+			}
 		},
 		methods: {
 			...mapMutations(['emptyUserInfo']),
@@ -58,44 +98,75 @@
 					url: url
 				});
 			},
+			// 暂不注销
+			response() {
+				uni.switchTab({
+					url: '/pages/my/my'
+				})
+			},
+			// 撤销申请
+			async revokeRequest() {
+				let res = await this.$http.get('/user/revokeUserLogout?userId=' + this.userInfo
+					.sysUser.id)
+				if (res.code == 200) {
+					uni.showToast({
+						title: '已撤销',
+						icon: 'none'
+					});
+					setTimeout(() => {
+						uni.switchTab({
+							url: "/pages/index/index"
+						})
+					}, 500);
+
+				}
+			},
 			async accountSubmit() {
-				let _this = this;
 				if (!this.checked) {
 					return uni.showToast({
-						title: '请勾选用户注销协议',
+						title: '请阅读并勾选注销协议',
 						icon: 'none'
 					});
+
 				}
-				uni.showModal({
-					title: '提示',
-					content: '是否要注销账户?',
-					confirmText: '立刻注销',
-					success: async res => {
-						if (res.confirm) {
-							let res = await _this.$http.get('/user/userLogout?userId=' + _this.userInfo
-								.sysUser.id)
-							console.log(res);
-							if (res.code == 200) {
-								uni.showToast({
-									title: res.msg,
-									icon: 'none'
-								});
-								_this.emptyUserInfo();
-								setTimeout(() => {
-									uni.reLaunch({
-										url: "/pages/login/login"
-									})
-									return true;
-								}, 500);
-							} else {
-								uni.showToast({
-									title: res.msg,
-									icon: 'none'
-								});
-							}
-						}
-					},
-				});
+				uni.navigateTo({
+					url: '/pages/set/logoutVerificationCode?userId=' + this.userInfo
+						.sysUser.id + '&phone=' + this.userInfo
+						.sysUser.mobile
+				})
+				// uni.showModal({
+				// 	title: '提示',
+				// 	content: '是否要注销账户?',
+				// 	confirmText: '立刻注销',
+				// 	success: async res => {
+				// 		if (res.confirm) {
+				// 			let res = await _this.$http.get('/user/userLogout?userId=' + _this.userInfo
+				// 				.sysUser.id)
+				// 			console.log(res);
+				// 			if (res.code == 200) {
+				// 				uni.showToast({
+				// 					title: res.msg,
+				// 					icon: 'none'
+				// 				});
+				// 				_this.emptyUserInfo();
+				// 				setTimeout(() => {
+				// 					uni.reLaunch({
+				// 						url: "/pages/login/login"
+				// 					})
+				// 					return true;
+				// 				}, 500);
+				// 			} else {
+				// 				uni.showToast({
+				// 					title: res.msg,
+				// 					icon: 'none'
+				// 				});
+				// 			}
+				// 		}
+				// 	},
+				// });
+			},
+			back() {
+				uni.navigateBack(-1)
 			}
 		}
 	}
@@ -103,72 +174,118 @@
 
 <style lang="scss" scoped>
 	page {
-		background: #fff;
+		background-color: #F8FAFE;
 	}
 
-	.header {
-		border-top: 1px solid #EEEEEE;
-		border-bottom: 1px solid #EEEEEE;
-		padding: 69rpx 69rpx 65rpx;
-
-		image {
-			width: 72rpx;
-			height: 72rpx;
-			margin-bottom: 24rpx;
-
-		}
+	.navbar {
+		padding: 58px 15px 8px;
+		box-sizing: border-box;
+		position: relative;
+		z-index: 9999;
+		background-color: #F8FAFE;
 
-		.name {
-			font-size: 30rpx;
-			font-weight: bold;
+		text {
+			font-size: 36rpx;
 			color: #333;
+			font-weight: bold;
 		}
 	}
 
 	.content {
-		padding: 40rpx 40rpx;
+		padding: 0 40rpx;
+		box-sizing: border-box;
 
-		.p {
-			font-size: 28rpx;
-			color: #333;
-		}
+		.inProgress {
+			font-size: 30rpx;
+			color: #666;
 
-		.title {
-			font-size: 32rpx;
-			font-weight: bold;
-			color: #333;
-			margin-top: 60rpx;
+			image {
+				width: 104rpx;
+				height: 104rpx;
+				margin-top: 80rpx;
+			}
+
+			.title {
+				font-size: 50rpx;
+				color: #333;
+				font-weight: bold;
+			}
 		}
 
-		.ul {
-			li {
-				font-size: 28rpx;
+		.reject {
+			.title {
+				font-size: 33rpx;
+				color: #333;
+				font-weight: bold;
+				margin-top: 25rpx;
+				display: inline-block;
+			}
+
+			.prompt {
+				font-size: 29rpx;
 				color: #666;
-				margin: 30rpx 0;
+				margin-top: 12rpx;
+			}
+
+			ul {
+				padding-left: 45rpx;
+
+				li {
+					font-size: 29rpx;
+					color: #333;
+					font-weight: bold;
+
+				}
+
+				li:nth-child(2) {}
+
+				li::marker {
+					color: #666;
+				}
+
+				text {
+					font-size: 27rpx;
+					color: #666;
+				}
 			}
 		}
 	}
 
 	.footer {
+		position: fixed;
+		bottom: 72rpx;
+		left: 0;
+		right: 0;
 		padding: 32rpx;
+		box-sizing: border-box;
 
 		.selection {
 			font-size: 28rpx;
 			color: #666;
-			margin-bottom: 40rpx;
 
 			.text-color {
-				color: #343EEF;
+				color: #0052FF;
 			}
 		}
 
 		.btn {
 			width: 100%;
-			background: #343EEF;
-			border-radius: 6rpx;
-			padding: 16rpx;
+			padding: 15rpx;
+			box-sizing: border-box;
+			font-size: 33rpx;
 			color: #fff;
-			font-size: 32rpx;
+			background: linear-gradient(90deg, #499DFF 0%, #0052FF 100%);
+			border-radius: 8rpx 8rpx 8rpx 8rpx;
+		}
+
+		.btns {
+			background: transparent;
+			border: 1rpx solid #0052FF;
+			color: #0052FF;
 		}
 	}
+
+	.red {
+		color: #F82522;
+	}
 </style>

+ 207 - 0
pages/set/logoutVerificationCode.vue

@@ -0,0 +1,207 @@
+<template>
+	<view class="page">
+		<!-- 头部吸顶区域 -->
+		<u-sticky z-index="999" h5-nav-height="0">
+			<view class="navbar dis a-c j-s ">
+				<u-icon name="arrow-left" color="#333" size="40" @tap="back"></u-icon>
+			</view>
+		</u-sticky>
+		<view class="content dis a-c f-c">
+			<text class="title">请输入验证码</text>
+			<text class="phone mt-1">验证码已发送至:+86 {{phone}}</text>
+			<view class="code dis a-c j-s ">
+				<u-input v-model="info.value" type="text" placeholder="请输入短信验证码" />
+				<view class="verificationCode" @tap="getCheckNum" :class="codetime?'verificationCode1':''">
+					{{!codetime?'获取验证码':codetime+' S'+'后重新获取'}}
+				</view>
+			</view>
+		</view>
+		<view class="footer">
+			<view class="btn dis a-c j-c " @click="confirmLogout">
+				确定注销
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		mapState,
+		mapMutations
+	} from "vuex"
+	export default {
+		data() {
+			return {
+				info: {
+					userId: "",
+					value: "",
+				},
+				phone: "",
+				codetime: 0, //验证码获取倒计时
+			}
+		},
+		computed: {
+			...mapState(['userInfo']),
+		},
+		onShow() {
+
+		},
+		onLoad(options) {
+			if (options) {
+				this.info.userId = options.userId;
+				this.phone = options.phone;
+			}
+		},
+		methods: {
+			...mapMutations(['emptyUserInfo']),
+			async confirmLogout() {
+				let res = await this.$http.get('/user/userLogout?userId=' + this.userInfo
+					.sysUser.id + '&valiCode=2080')
+				if (res.code == 200) {
+					uni.showToast({
+						title: res.msg,
+						icon: 'none'
+					});
+					this.emptyUserInfo();
+					setTimeout(() => {
+						uni.reLaunch({
+							url: "/pages/login/login"
+						})
+						return true;
+					}, 500);
+				} else {
+					uni.showToast({
+						title: res.msg,
+						icon: 'none'
+					});
+				}
+			},
+			// 获取验证码
+			async getCheckNum() {
+				uni.hideKeyboard();
+				if (this.codetime > 0) return;
+				// 验证手机号合法性
+				if (!this.phone) {
+					return uni.showToast({
+						title: '请输入手机号',
+						icon: 'none'
+					});
+				}
+				if (!this.$base.phoneRegular.test(this.phone)) {
+					return uni.showToast({
+						title: '请输入正确的手机号码',
+						icon: 'none'
+					});
+				}
+				// 请求服务器,发送验证码
+				let res = await this.$http.get('/sendMsg', {
+					phone: this.phone,
+					type: "2"
+				});
+				// 请求失败处理
+				if (res.code != 200) {
+					return uni.showToast({
+						title: res.data.msg,
+						icon: "none"
+					});
+				} else {
+					uni.showToast({
+						title: "发送成功",
+						icon: "none"
+					});
+				}
+				// 发送成功,开启倒计时
+				this.codetime = 60;
+				let timer = setInterval(() => {
+					this.codetime--;
+					if (this.codetime < 1) {
+						clearInterval(timer);
+						this.codetime = 0;
+					}
+				}, 1000);
+			},
+			back() {
+				uni.navigateBack(-1)
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page {
+		background-color: #F8FAFE;
+	}
+
+	.navbar {
+		padding: 58px 15px 8px;
+		box-sizing: border-box;
+		position: relative;
+		z-index: 9999;
+		background-color: #F8FAFE;
+
+		text {
+			font-size: 36rpx;
+			color: #333;
+			font-weight: bold;
+		}
+	}
+
+	.content {
+		padding: 0 30rpx;
+		box-sizing: border-box;
+
+		.title {
+			font-size: 42rpx;
+			color: #333;
+			font-weight: bold;
+			margin-top: 75rpx;
+		}
+
+		.phone {
+			font-size: 30rpx;
+			color: #666;
+		}
+
+		.code {
+			width: 100%;
+			padding: 24rpx;
+			box-sizing: border-box;
+			background: #FFFFFF;
+			box-shadow: 0rpx 4rpx 13rpx 0rpx rgba(218, 227, 244, 0.2);
+			border-radius: 13rpx 13rpx 13rpx 13rpx;
+			margin-top: 58rpx;
+
+			.verificationCode {
+				font-size: 30rpx;
+				color: #0052FF;
+			}
+
+			.verificationCode1 {
+				font-size: 30rpx;
+				color: #B2B2B2;
+			}
+		}
+	}
+
+	.footer {
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		padding: 25rpx 33rpx;
+		box-sizing: border-box;
+		background: #FFFFFF;
+		box-shadow: 0rpx -4rpx 10rpx 0rpx rgba(218, 227, 244, 0.2);
+		border-radius: 0rpx 0rpx 0rpx 0rpx;
+
+		.btn {
+			width: 100%;
+			padding: 15rpx;
+			box-sizing: border-box;
+			font-size: 33rpx;
+			color: #fff;
+			background: linear-gradient(90deg, #499DFF 0%, #0052FF 100%);
+			border-radius: 8rpx 8rpx 8rpx 8rpx;
+		}
+	}
+</style>

+ 28 - 8
pages/tools/addStaff/addStaff.vue

@@ -17,6 +17,7 @@
 						inactive-color="#81869B" bar-width="80"></u-tabs>
 				</view>
 				<view class="dis a-c j-c f-c " v-if="current==0">
+
 					<view class="" id="panelcanvas" style="margin: 40px 0;position: relative;">
 						<image :src="recommendImg" mode="widthFix" lazy-load style="width: 110px;height: 110px; ">
 							<image :src="logoImg" mode=""
@@ -129,6 +130,7 @@
 				</view>
 			</view>
 		</view>
+		<u-button type="primary" @click="zhuce">注册</u-button>
 	</view>
 </template>
 <script>
@@ -147,9 +149,9 @@
 				logoImg: "", //二维码logo
 				posterUrl: "", //页面截图
 				Downloadurl: "", //app下载链接
-				recommendImg: "",
+				recommendImg: "", //渠道
 				recommendUrl: "", //注册链接
-				orderissuerImg: '',
+				orderissuerImg: '', //出单员
 				orderissuerUrl: "",
 				list1: [{
 					name: '邀请注册'
@@ -190,6 +192,7 @@
 				success: image => {
 					pathToBase64(image.path)
 						.then(base64 => {
+							console.log(base64);
 							this.logoImg = base64;
 						})
 						.catch(error => {});
@@ -207,6 +210,21 @@
 			...mapState(['userInfo', 'sources']),
 		},
 		methods: {
+			zhuce() {
+				if (this.sources == 1) {
+					uni.navigateTo({
+						url: "/pages/register/register?id=" + this.userInfo.sysUser.id + '&newApp=' + this.userInfo
+							.sysUser.newApp,
+					})
+				} else {
+					uni.navigateTo({
+						url: "/pages/register/orderissuer?id=" + this.userInfo.sysUser.id + '&newApp=' + this
+							.userInfo
+							.sysUser.newApp,
+					})
+				}
+
+			},
 			save() {
 				base64ToPath(this.posterUrl)
 					.then(path => {
@@ -318,9 +336,10 @@
 			},
 			recommendCode() {
 				let id = this.userInfo.sysUser.id;
-				this.recommendImg = QR.createQrCodeImg(this.$base.h5BaseUrl + "/#/pages/register/register?id=" + id, {
-					size: parseInt(300) //二维码大小  
-				})
+				this.recommendImg = QR.createQrCodeImg(this.$base.h5BaseUrl + "/#/pages/register/register?id=" + id +
+					'&newApp=' + this.userInfo.sysUser.newApp, {
+						size: parseInt(300) //二维码大小  
+					})
 				this.recommendUrl = this.$base.h5BaseUrl + "/#/pages/register/register?id=" + id;
 				// this.recommendUrl = "http://192.168.0.20/h5/#/pages/register/register?id=" + id;
 			},
@@ -347,9 +366,10 @@
 			},
 			orderissuer() {
 				let id = this.userInfo.sysUser.id;
-				this.orderissuerImg = QR.createQrCodeImg(this.$base.h5BaseUrl + "/#/pages/register/orderissuer?id=" + id, {
-					size: parseInt(300) //二维码大小  
-				})
+				this.orderissuerImg = QR.createQrCodeImg(this.$base.h5BaseUrl + "/#/pages/register/orderissuer?id=" + id +
+					'&newApp=' + this.userInfo.sysUser.newApp, {
+						size: parseInt(300) //二维码大小  
+					})
 				this.orderissuerUrl = this.$base.h5BaseUrl + "/#/pages/register/orderissuer?id=" + id;
 				// this.orderissuerUrl = "http://192.168.0.20/h5/#/pages/register/orderissuer?id=" + id;
 

+ 39 - 10
pages/tools/policy/quoteDetail.vue

@@ -1433,6 +1433,10 @@
 						case "太平财险":
 						case "华农财险":
 						case "泰康财险":
+						case "泰山财险":
+						case "人保财险":
+						case "大地财险":
+						case "申能财险":
 							this.pythonprint(); //电子保单
 							break;
 						case "永诚财险":
@@ -1914,14 +1918,18 @@
 						}
 						break;
 					case "紫金财险":
+							let zjapiImage = this.orderInfo.apiType == "2" ? "/insurance/crawler/submitImage" :
+								'/order/zijin/submitImage';
 						let zjimage = await this.$http.post(
-							'/order/zijin/submitImage', {
-								companyId: this.companyId
+							`${zjapiImage}`, {
+								[this.orderInfo.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId
 							});
 						if (zjimage.code == '200') {
+							let zjapiAudit = this.orderInfo.apiType == "2" ? "/insurance/crawler/audit" :
+								'/order/zijin/audit';
 							let zjaudit = await this.$http.post(
-								'/order/zijin/audit', {
-									companyId: this.companyId,
+								`${zjapiAudit}`, {
+									[this.orderInfo.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
 									engageList: this.ziJinengageList,
 								});
 							if (zjaudit.code == '200') {
@@ -1980,18 +1988,35 @@
 						}
 						break;
 					case "渤海财险":
+						let bhapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+							"/order/boHaiApi/submitImage";
 						let bhimage = await this.$http.post(
-							'/order/boHaiApi/submitImage', {
-								companyId: this.companyId
+							`${bhapiImage}`, {
+								[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId
 							});
 						if (bhimage.code == '200') {
+							let bhapiAudit = this.apiType == "2" ? "/insurance/crawler/audit" :
+								'/order/boHaiApi/audit';
 							let bhaudit = await this.$http.post(
-								'/order/boHaiApi/audit', {
-									companyId: this.companyId,
-									jqappoint: "",
-									syappoint: ""
+								`${bhapiAudit}`, {
+									[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
 								});
 							if (bhaudit.code == '200') {
+								if (this.switchShow) {
+									this.$http.post(
+										`/equity/createEquityOrder?companyId=${this.companyId}`).then(
+										res => {
+											if (res.code === 200) {
+
+											} else {
+												uni.showToast({
+													title: res.msg,
+													icon: "none",
+													duration: 3000
+												});
+											}
+										})
+								}
 								this.underwriteTitle = '订单自核成功';
 								this.cancelText = '暂不缴费';
 								this.confirmText = '立即缴费';
@@ -2018,6 +2043,10 @@
 					case "太平财险":
 					case "华农财险":
 					case "泰康财险":
+					case "泰山财险":
+					case "大地财险":
+					case "人保财险":
+					case "申能财险":
 						let pythonimage = await this.$http.post(
 							'/insurance/crawler/submitImage', {
 								subOrderNo: this.companyId

+ 639 - 593
pages/tools/policy/subOrders.vue

@@ -4,64 +4,64 @@
 		<view class="car-header dis a-c">
 			<image src="/static/image/car-insure/Group.png" mode="" style="width: 40px;height: 40px;"></image>
 			<view class="dis f-c head-name">
-				<text>{{licenseno}}</text>
+				<text>{{ licenseno }}</text>
 				<view class="name1">
-					<text style="margin-right: 10px;">{{insuredname}}</text>
-					<text>{{modelcname}}</text>
+					<text style="margin-right: 10px;">{{ insuredname }}</text>
+					<text>{{ modelcname }}</text>
 				</view>
 			</view>
 		</view>
 		<view class="pdd mt-3">
-			<view class="sub-orders " v-for="(item,index) in sublist" :key="index">
+			<view class="sub-orders " v-for="(item, index) in sublist" :key="index">
 				<view class="status dis a-c j-s">
 					<view v-for="(statusitem, statusindex) in statusList" :key="statusindex" class="dis a-c"
 						style="font-weight: bold;" v-if="item.orderstatus == statusitem.value">
 						<image :src="statusitem.src" mode="" style="width: 22px;height: 22px;margin-right: 5px;">
 						</image>
-						<text :style="{color: statusitem.color}">{{statusitem.label}}</text>
+						<text :style="{ color: statusitem.color }">{{ statusitem.label }}</text>
 					</view>
-					<text>¥{{item.sumpremium}}</text>
+					<text>¥{{ item.sumpremium }}</text>
 				</view>
 				<view class="orders-centre">
-					<text>{{item.inscompany}}</text>
-					<text>( {{item.agreementName}} )</text>
+					<text>{{ item.inscompany }}</text>
+					<text>( {{ item.agreementName }} )</text>
 					<view class="sum dis f-wrap">
-						<view v-if="item.jqpremium">交强险:¥{{item.jqpremium}}</view>
-						<view v-if="item.sypremium">商业险:¥{{item.sypremium}}</view>
-						<view>车船税:¥{{item.taxamount}}</view>
-						<view v-if="item.jypremium">驾意险:¥{{item.jypremium}}</view>
+						<view v-if="item.jqpremium">交强险:¥{{ item.jqpremium }}</view>
+						<view v-if="item.sypremium">商业险:¥{{ item.sypremium }}</view>
+						<view>车船税:¥{{ item.taxamount }}</view>
+						<view v-if="item.jypremium">驾意险:¥{{ item.jypremium }}</view>
 					</view>
 					<view v-if="item.auditopinion" class="dis f-c" style="font-size: 12px;">
 						<text>审核意见</text>
-						<text>{{item.auditopinion}}</text>
+						<text>{{ item.auditopinion }}</text>
 					</view>
 				</view>
 				<view class="orders-below dis f-c">
 					<view class="dis a-c j-end">
 						<u-button
-							v-if="item.orderstatus==2 && ['恒邦财险','安盛天平','中国人寿','众安平安','太平财险','紫金财险','永诚财险','国任财险','大家财险','华泰财险','中煤财险','华农财险','渤海财险','泰康财险'].includes(item.inscompany)"
-							size="mini" :custom-style="{fontSize:'14px'}" type="error" :plain="true"
-							@click="queryStatus(item.id,item)">查询缴费状态</u-button>
-						<u-button v-if="item.orderstatus==2" size="mini" type="error" :custom-style="{fontSize:'14px'}"
-							:plain="true" @click="Payment(item.id,item.apiType)">二维码</u-button>
-						<u-button v-if="item.orderstatus==2 && ['紫金财险'].includes(item.inscompany)" size="mini"
-							type="error" :custom-style="{fontSize:'14px'}" :plain="true"
+							v-if="item.orderstatus == 2 && ['恒邦财险', '安盛天平', '中国人寿', '众安平安', '太平财险', '紫金财险', '永诚财险', '国任财险', '大家财险', '华泰财险', '中煤财险', '华农财险', '渤海财险', '泰康财险', '大地财险', '人保财险', '泰山财险', '申能财险'].includes(item.inscompany)"
+							size="mini" :custom-style="{ fontSize: '14px' }" type="error" :plain="true"
+							@click="queryStatus(item.id, item)">查询缴费状态</u-button>
+						<u-button v-if="item.orderstatus == 2" size="mini" type="error" :custom-style="{ fontSize: '14px' }"
+							:plain="true" @click="Payment(item.id, item.apiType)">二维码</u-button>
+						<u-button v-if="item.orderstatus == 2 && ['紫金财险'].includes(item.inscompany)" size="mini"
+							type="error" :custom-style="{ fontSize: '14px' }" :plain="true"
 							@click="cancelorder(item.id)">撤单</u-button>
-						<u-button v-if="item.orderstatus==2" size="mini" type="primary"
-							:custom-style="{fontSize:'14px'}" :plain="true"
+						<u-button v-if="item.orderstatus == 2" size="mini" type="primary"
+							:custom-style="{ fontSize: '14px' }" :plain="true"
 							@click="revokeCode(item.id)">撤销二维码</u-button>
 					</view>
 					<view class="dis a-c j-end" style="margin-top: 5px;">
-						<u-button v-if="(item.orderstatus==4 || item.orderstatus==1) && item.inscompany=='华泰财险'"
-							size="mini" :custom-style="{fontSize:'14px'}" type="error" :plain="true"
+						<u-button v-if="(item.orderstatus == 4 || item.orderstatus == 1) && item.inscompany == '华泰财险'"
+							size="mini" :custom-style="{ fontSize: '14px' }" type="error" :plain="true"
 							@click="huataiunderwriting(item)">更新订单</u-button>
 						<u-button
-							v-if="item.orderstatus==1  && ['中煤财险','永诚财险','国任财险','大家财险','渤海财险','恒邦财险','安盛天平','中国人寿','众安平安','太平财险','华农财险','泰康财险'].includes(item.inscompany)"
-							size="mini" type="error" :plain="true" :custom-style="{fontSize:'14px'}"
-							@click="underwriting(item.id,item.inscompany)">更新订单</u-button>
-						<u-button size="mini" type="primary" :custom-style="{fontSize:'14px',background:'#FF5600'}"
+							v-if="item.orderstatus == 1 && ['中煤财险', '永诚财险', '国任财险', '大家财险', '渤海财险', '恒邦财险', '安盛天平', '中国人寿', '众安平安', '太平财险', '华农财险', '泰康财险', '大地财险', '人保财险', '泰山财险', '申能财险'].includes(item.inscompany)"
+							size="mini" type="error" :plain="true" :custom-style="{ fontSize: '14px' }"
+							@click="underwriting(item.id, item.inscompany)">更新订单</u-button>
+						<u-button size="mini" type="primary" :custom-style="{ fontSize: '14px', background: '#FF5600' }"
 							@click="bjdpreview(item.id)">报价单</u-button>
-						<u-button size="mini" type="primary" :custom-style="{fontSize:'14px'}"
+						<u-button size="mini" type="primary" :custom-style="{ fontSize: '14px' }"
 							@click="detial(item.id)">查看详情</u-button>
 					</view>
 					<!-- <text class="arrivalNavigations" :data-id="item.id" @tap.stop.prevent="Moremethods">更多
@@ -80,634 +80,680 @@
 				</view>
 			</view>
 		</view>
-		<o-empty v-if="sublist.length==0" />
+		<o-empty v-if="sublist.length == 0" />
 		<!-- <u-popup v-model="trajectoryShow" mode="center" border-radius="8" width="80%">
 			<u-steps mode="number" :list="numList" :current="2" direction="column" style="padding: 20px;"></u-steps>
 		</u-popup> -->
 	</view>
 </template>
 <script>
-	import store from '@/store';
-	import {
-		mapState,
-		mapMutations
-	} from "vuex"
-	export default {
-		data() {
-			return {
-				show: true,
-				modeClass: 'fade',
-				// trajectoryShow: false,
-				// trajectoryList: [],
-				MoreShow: false,
-				moreindex: "",
-				companyId: "",
-				modelcname: "",
-				orderno: "",
-				insuredname: "",
-				licenseno: "",
-				sublist: [],
-				numList: [{
-						name: '报价中'
-					}, {
-						name: '待核保'
-					},
-					{
-						name: '核保退回'
-					}, {
-						name: '待缴费'
-					}, {
-						name: '已承保'
-					},
+import store from '@/store';
+import {
+	mapState,
+	mapMutations
+} from "vuex"
+export default {
+	data() {
+		return {
+			show: true,
+			modeClass: 'fade',
+			// trajectoryShow: false,
+			// trajectoryList: [],
+			MoreShow: false,
+			moreindex: "",
+			companyId: "",
+			modelcname: "",
+			orderno: "",
+			insuredname: "",
+			licenseno: "",
+			sublist: [],
+			numList: [{
+				name: '报价中'
+			}, {
+				name: '待核保'
+			},
+			{
+				name: '核保退回'
+			}, {
+				name: '待缴费'
+			}, {
+				name: '已承保'
+			},
 
-				],
-				statusList: [{
-						label: '报价中',
-						value: 0,
-						color: "#229805",
-						src: "/static/image/car-insure/state1.png"
-					},
-					{
-						label: '待核保',
-						value: 1,
-						color: "#FF5600",
-						src: "/static/image/car-insure/state2.png"
-					},
-					{
-						label: '待缴费',
-						value: 2,
-						color: "#FF0F00",
-						src: "/static/image/car-insure/state3.png"
-					},
-					{
-						label: '已承保',
-						value: 3,
-						color: "#0052FF",
-						src: "/static/image/car-insure/state4.png"
-					},
-					{
-						label: '核保退回',
-						value: 4,
-						color: "#727272",
-						src: "/static/image/car-insure/state5.png"
-					}
-				],
+			],
+			statusList: [{
+				label: '报价中',
+				value: 0,
+				color: "#229805",
+				src: "/static/image/car-insure/state1.png"
+			},
+			{
+				label: '待核保',
+				value: 1,
+				color: "#FF5600",
+				src: "/static/image/car-insure/state2.png"
+			},
+			{
+				label: '待缴费',
+				value: 2,
+				color: "#FF0F00",
+				src: "/static/image/car-insure/state3.png"
+			},
+			{
+				label: '已承保',
+				value: 3,
+				color: "#0052FF",
+				src: "/static/image/car-insure/state4.png"
+			},
+			{
+				label: '核保退回',
+				value: 4,
+				color: "#727272",
+				src: "/static/image/car-insure/state5.png"
 			}
+			],
+		}
+	},
+	computed: {
+		...mapState(['userInfo', 'quotationType']),
+	},
+	onLoad(params) {
+
+		let item = JSON.parse(params.orderno);
+		this.orderno = item.orderno;
+		this.modelcname = item.modelcname;
+		this.insuredname = item.insuredname;
+		this.licenseno = item.licenseno;
+		this.querylist();
+	},
+	methods: {
+		btn_click() {
+			uni.navigateTo({
+				url: '/pages/chat/chat'
+			})
 		},
-		computed: {
-			...mapState(['userInfo', 'quotationType']),
+		handle(type) {
+			this.show = !this.show
+			this.modeClass = type
 		},
-		onLoad(params) {
-
-			let item = JSON.parse(params.orderno);
-			this.orderno = item.orderno;
-			this.modelcname = item.modelcname;
-			this.insuredname = item.insuredname;
-			this.licenseno = item.licenseno;
-			this.querylist();
+		async querylist() {
+			let params = {
+				orderNo: this.orderno
+			}
+			let res = await this.$http.post('/insurance/order/querySuborder', params)
+			this.sublist = res.data;
+			this.sublist.map(val => {
+				val.checked = false;
+				return val;
+			})
 		},
-		methods: {
-			btn_click() {
+		//更多操作
+		Moremethods(e) {
+			let id = e.currentTarget.dataset.id;
+			let list = this.sublist;
+			this.sublist = list.map(val => {
+				if (val.id == id) {
+					val.checked = !val.checked;
+				} else {
+					val.checked = false;
+				}
+				return val;
+			})
+		},
+		//查看详情
+		detial(id) {
+			uni.navigateTo({
+				url: "/pages/tools/policy/quoteDetail?companyId=" + id
+			})
+		},
+		//付款码
+		Payment(id, type) {
+			let pro = this.quotationType.themeCode;
+			if (pro == "QD") {
 				uni.navigateTo({
-					url: '/pages/chat/chat'
+					url: "/pages/orders/paymentCode?companyId=" + id + '&apiType=' + type,
 				})
-			},
-			handle(type) {
-				this.show = !this.show
-				this.modeClass = type
-			},
-			async querylist() {
-				let params = {
-					orderNo: this.orderno
-				}
-				let res = await this.$http.post('/insurance/order/querySuborder', params)
-				this.sublist = res.data;
-				this.sublist.map(val => {
-					val.checked = false;
-					return val;
+			} else {
+				uni.navigateTo({
+					url: "/pages/orders/paymentCode1?companyId=" + id + '&apiType=' + type,
 				})
-			},
-			//更多操作
-			Moremethods(e) {
-				let id = e.currentTarget.dataset.id;
-				let list = this.sublist;
-				this.sublist = list.map(val => {
-					if (val.id == id) {
-						val.checked = !val.checked;
-					} else {
-						val.checked = false;
-					}
-					return val;
+			}
+		},
+		//报价单
+		bjdpreview(id) {
+			let pro = this.quotationType.themeCode;
+			if (pro == "QD") {
+				uni.navigateTo({
+					url: "/pages/orders/quotation?companyId=" + id
 				})
-			},
-			//查看详情
-			detial(id) {
+			} else {
 				uni.navigateTo({
-					url: "/pages/tools/policy/quoteDetail?companyId=" + id
+					url: "/pages/orders/quotation1?companyId=" + id
 				})
-			},
-			//付款码
-			Payment(id, type) {
-				let pro = this.quotationType.themeCode;
-				if (pro == "QD") {
-					uni.navigateTo({
-						url: "/pages/orders/paymentCode?companyId=" + id + '&apiType=' + type,
-					})
-				} else {
-					uni.navigateTo({
-						url: "/pages/orders/paymentCode1?companyId=" + id + '&apiType=' + type,
-					})
-				}
-			},
-			//报价单
-			bjdpreview(id) {
-				let pro = this.quotationType.themeCode;
-				if (pro == "QD") {
-					uni.navigateTo({
-						url: "/pages/orders/quotation?companyId=" + id
-					})
-				} else {
-					uni.navigateTo({
-						url: "/pages/orders/quotation1?companyId=" + id
+			}
+		},
+		//撤销二维码
+		async revokeCode(id) {
+			let res = await this.$http.post('/order/qrCode/destructionQrCode?areaCompanyId=' + id)
+			if (res.code == '200') {
+				uni.showToast({
+					title: res.msg,
+					icon: 'success',
+					duration: 1000
+				});
+				this.querylist();
+			} else {
+				uni.showToast({
+					title: res.msg,
+					icon: 'none',
+					duration: 1000
+				});
+			}
+		},
+		async huataiunderwriting(item) {
+			let api = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+				'/order/huaTaiApi/auditStatusQuery';
+			let params = {
+				companyId: item.id,
+			}
+			let res = await this.$http.post(`${api}`, params)
+			if (res.code == '200') {
+				uni.showToast({
+					title: res.msg,
+					icon: 'success',
+					duration: 1000
+				});
+				this.querylist();
+			} else {
+				uni.showToast({
+					title: res.msg,
+					icon: 'none',
+					duration: 1000
+				});
+			}
+		},
+
+		//核保状态查询
+		async underwriting(id, inscompany) {
+			switch (inscompany) {
+				case "中煤财险":
+					let zmres = await this.$http.post('/order/zhongMeiApi/auditStatusQuery', {
+						companyId: id
 					})
-				}
-			},
-			//撤销二维码
-			async revokeCode(id) {
-				let res = await this.$http.post('/order/qrCode/destructionQrCode?areaCompanyId=' + id)
-				if (res.code == '200') {
-					uni.showToast({
-						title: res.msg,
-						icon: 'success',
-						duration: 1000
+					if (zmres.code == '200') {
+						uni.showToast({
+							title: zmres.msg,
+							icon: 'none',
+							duration: 1000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: zmres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "永诚财险":
+					let ycres = await this.$http.get('/api/yongCheng/orderStatusBySuborderId/' + id);
+					if (ycres.code == '200') {
+						uni.showToast({
+							title: ycres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: ycres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "国任财险":
+					let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
+						companyId: id
 					});
-					this.querylist();
-				} else {
-					uni.showToast({
-						title: res.msg,
-						icon: 'none',
-						duration: 1000
+					if (grres.code == '200') {
+						uni.showToast({
+							title: grres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: grres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "大家财险":
+					let djapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+						'/api/dajia/verifyPayment';
+					let djres = await this.$http.post(`${djapi}`, {
+						companyId: id
 					});
-				}
-			},
-			async huataiunderwriting(item) {
-				let api = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
-					'/order/huaTaiApi/auditStatusQuery';
-				let params = {
-					companyId: item.id,
-				}
-				let res = await this.$http.post(`${api}`, params)
-				if (res.code == '200') {
-					uni.showToast({
-						title: res.msg,
-						icon: 'success',
-						duration: 1000
+					if (djres.code == '200') {
+						uni.showToast({
+							title: djres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: djres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "渤海财险":
+					let bhapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+						'/order/boHaiApi/auditStatusQuery';
+					let bhres = await this.$http.post(`${bhapi}`, {
+						companyId: id
 					});
-					this.querylist();
-				} else {
-					uni.showToast({
-						title: res.msg,
-						icon: 'none',
-						duration: 1000
+					if (bhres.code == '200') {
+						uni.showToast({
+							title: bhres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: bhres.msg,
+							icon: 'error',
+						});
+					}
+					break;
+				case "诚泰财险":
+					let ctapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
+						'/order/chengTai/auditStatusQuery';
+					let ctres = await this.$http.post(`${ctapi}`, {
+						companyId: id
 					});
-				}
-			},
-
-			//核保状态查询
-			async underwriting(id, inscompany) {
-				switch (inscompany) {
-					case "中煤财险":
-						let zmres = await this.$http.post('/order/zhongMeiApi/auditStatusQuery', {
-							companyId: id
-						})
-						if (zmres.code == '200') {
-							uni.showToast({
-								title: zmres.msg,
-								icon: 'none',
-								duration: 1000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: zmres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "永诚财险":
-						let ycres = await this.$http.get('/api/yongCheng/orderStatusBySuborderId/' + id);
-						if (ycres.code == '200') {
-							uni.showToast({
-								title: ycres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: ycres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "国任财险":
-						let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
-							companyId: id
-						});
-						if (grres.code == '200') {
-							uni.showToast({
-								title: grres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: grres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "大家财险":
-						let djapi = item.apiType == '2' ? '/insurance/crawler/auditStatusQuery' :
-							'/api/dajia/verifyPayment';
-						let djres = await this.$http.post(`${djapi}`, {
-							companyId: id
-						});
-						if (djres.code == '200') {
-							uni.showToast({
-								title: djres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: djres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "渤海财险":
-						let bhres = await this.$http.post('/order/boHaiApi/auditStatusQuery', {
-							companyId: id
-						});
-						if (bhres.code == '200') {
-							uni.showToast({
-								title: bhres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: bhres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					default:
-						let pythonres = await this.$http.post('/insurance/crawler/auditStatusQuery', {
-							companyId: id
-						});
-						if (pythonres.code == '200') {
-							uni.showToast({
-								title: pythonres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: pythonres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-				}
+					if (ctres.code == '200') {
+						uni.showToast({
+							title: ctres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: ctres.msg,
+							icon: 'error',
+						});
+					}
+					break;
+				default:
+					let pythonres = await this.$http.post('/insurance/crawler/auditStatusQuery', {
+						companyId: id
+					});
+					if (pythonres.code == '200') {
+						uni.showToast({
+							title: pythonres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: pythonres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+			}
 
-			},
-			//撤单
-			async cancelorder(item) {
-				let res = await this.$http.post('/order/zijin/cancel', {
-					companyId: item
-				})
-				if (res.code == '200') {
-					uni.showToast({
-						title: res.msg,
-						icon: 'none',
-						duration: 1000
+		},
+		//撤单
+		async cancelorder(item) {
+			let res = await this.$http.post('/order/zijin/cancel', {
+				companyId: item
+			})
+			if (res.code == '200') {
+				uni.showToast({
+					title: res.msg,
+					icon: 'none',
+					duration: 1000
+				});
+				this.querylist();
+			} else {
+				uni.showToast({
+					title: res.msg,
+					icon: 'none',
+				});
+			}
+		},
+		async queryStatus(id, item) {
+			switch (item.inscompany) {
+				case "紫金财险":
+					let zjapi = item.apiType == "2" ? "/insurance/crawler/getOrderDetail" :
+						'/order/zijin/getOrderDetail';
+					let zjres = await this.$http.post(`${zjapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
 					});
-					this.querylist();
-				} else {
-					uni.showToast({
-						title: res.msg,
-						icon: 'none',
+					if (zjres.code == '200') {
+						uni.showToast({
+							title: zjres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: zjres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "大家财险":
+					let djapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+						'/api/dajia/verifyPayment';
+					let djres = await this.$http.post(`${djapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
 					});
-				}
-			},
-			async queryStatus(id, item) {
-				switch (item.inscompany) {
-					case "紫金财险":
-						let zjres = await this.$http.post('/order/zijin/getOrderDetail', {
-							companyId: id
-						});
-						if (zjres.code == '200') {
-							uni.showToast({
-								title: zjres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: zjres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "大家财险":
-						let djapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
-							'/api/dajia/verifyPayment';
-						let djres = await this.$http.post(`${djapi}`, {
-							[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
-						});
-						if (djres.code == '200') {
-							uni.showToast({
-								title: djres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: djres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "华泰财险":
-						let htapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
-							'/order/huaTaiApi/paymentEnquiry';
-						let htres = await this.$http.post(`${htapi}`, {
-							[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
-						});
-						if (htres.code == '200') {
-							uni.showToast({
-								title: htres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: htres.msg,
-								icon: 'error',
-							});
-						}
-						break;
-					case "永诚财险":
-						let ycres = await this.$http.get(
-							'/api/yongCheng/orderStatusBySuborderId/' + id);
-						if (ycres.code == '200') {
-							uni.showToast({
-								title: ycres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: ycres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "国任财险":
-						let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
-							companyId: id
-						});
-						if (grres.code == '200') {
-							uni.showToast({
-								title: grres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: grres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "中煤财险":
-						let zmres = await this.$http.post('/order/zhongMeiApi/paymentEnquiry', {
-							companyId: id
-						});
-						if (zmres.code == '200') {
-							uni.showToast({
-								title: zmres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: zmres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					case "渤海财险":
-						let bhres = await this.$http.post('/order/boHaiApi/getOrderDetail', {
-							companyId: id
-						});
-						if (bhres.code == '200') {
-							uni.showToast({
-								title: bhres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: bhres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-					default:
-						let pythonres = await this.$http.post('/insurance/crawler/verifyPayment', {
-							subOrderNo: id
-						});
-						if (pythonres.code == '200') {
-							uni.showToast({
-								title: pythonres.msg,
-								icon: 'none',
-								duration: 2000
-							});
-							this.querylist();
-						} else {
-							uni.showToast({
-								title: pythonres.msg,
-								icon: 'none',
-							});
-						}
-						break;
-				}
-			},
-			init() {
-				this.sublist = this.sublist.map(val => {
-					val.checked = false;
-					return val;
-				})
+					if (djres.code == '200') {
+						uni.showToast({
+							title: djres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: djres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "华泰财险":
+					let htapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+						'/order/huaTaiApi/paymentEnquiry';
+					let htres = await this.$http.post(`${htapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
+					});
+					if (htres.code == '200') {
+						uni.showToast({
+							title: htres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: htres.msg,
+							icon: 'error',
+						});
+					}
+					break;
+				case "永诚财险":
+					let ycres = await this.$http.get(
+						'/api/yongCheng/orderStatusBySuborderId/' + id);
+					if (ycres.code == '200') {
+						uni.showToast({
+							title: ycres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: ycres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "国任财险":
+					let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
+						companyId: id
+					});
+					if (grres.code == '200') {
+						uni.showToast({
+							title: grres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: grres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "中煤财险":
+					let zmres = await this.$http.post('/order/zhongMeiApi/paymentEnquiry', {
+						companyId: id
+					});
+					if (zmres.code == '200') {
+						uni.showToast({
+							title: zmres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: zmres.msg,
+							icon: 'none',
+						});
+					}
+					break;
+				case "渤海财险":
+					let bhapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+						'/order/boHaiApi/getOrderDetail';
+					let bhres = await this.$http.post(`${bhapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
+					});
+					if (bhres.code == '200') {
+						uni.showToast({
+							title: bhres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: bhres.msg,
+							icon: 'error',
+						});
+					}
+					break;
+				case "诚泰财险":
+					let ctapi = item.apiType == '2' ? '/insurance/crawler/verifyPayment' :
+						'/api/chengTai/payment';
+					let ctres = await this.$http.post(`${ctapi}`, {
+						[item.apiType == 2 ? "subOrderNo" : "companyId"]: id
+					});
+					if (ctres.code == '200') {
+						uni.showToast({
+							title: ctres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: ctres.msg,
+							icon: 'error',
+						});
+					}
+					break;
+				default:
+					let pythonres = await this.$http.post('/insurance/crawler/verifyPayment', {
+						subOrderNo: id
+					});
+					if (pythonres.code == '200') {
+						uni.showToast({
+							title: pythonres.msg,
+							icon: 'none',
+							duration: 2000
+						});
+						this.querylist();
+					} else {
+						uni.showToast({
+							title: pythonres.msg,
+							icon: 'none',
+						});
+					}
+					break;
 			}
-
+		},
+		init() {
+			this.sublist = this.sublist.map(val => {
+				val.checked = false;
+				return val;
+			})
 		}
+
 	}
+}
 </script>
 <style>
-	page {
-		background: #f2f2f2;
-	}
+page {
+	background: #f2f2f2;
+}
 </style>
 <style lang="scss" scoped>
-	.page {
-		min-height: calc(100vh - 44px);
-		background-color: #F8FAFE;
-		padding: 16px 16px 30px 16px;
-	}
+.page {
+	min-height: calc(100vh - 44px);
+	background-color: #F8FAFE;
+	padding: 16px 16px 30px 16px;
+}
 
-	.car-header {
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		box-shadow: 0px 4px 10px 0px #DAE3F4;
-		border-radius: 6px;
-		padding: 8px 15px;
+.car-header {
+	width: 100%;
+	height: auto;
+	background: #FFFFFF;
+	box-shadow: 0px 4px 10px 0px #DAE3F4;
+	border-radius: 6px;
+	padding: 8px 15px;
 
 
-		.head-name {
-			margin-left: 20px;
+	.head-name {
+		margin-left: 20px;
 
-			&>text {
-				font-weight: bold;
-				font-size: 15px;
-				color: #232832;
-			}
+		&>text {
+			font-weight: bold;
+			font-size: 15px;
+			color: #232832;
+		}
 
-			.name1 text {
-				font-size: 14px;
-				font-weight: bold;
-				color: #333333;
-			}
+		.name1 text {
+			font-size: 14px;
+			font-weight: bold;
+			color: #333333;
 		}
 	}
+}
 
-	.sub-orders {
-		width: 100%;
-		background: white;
-		border-radius: 6px;
-		padding: 10px;
-		box-shadow: 0px 4px 10px 0px #DAE3F4;
-		border-radius: 6px;
-		margin-bottom: 10px;
+.sub-orders {
+	width: 100%;
+	background: white;
+	border-radius: 6px;
+	padding: 10px;
+	box-shadow: 0px 4px 10px 0px #DAE3F4;
+	border-radius: 6px;
+	margin-bottom: 10px;
 
-		.status {
-			padding-bottom: 8px;
-			border-bottom: 1px solid #EFEFEF;
+	.status {
+		padding-bottom: 8px;
+		border-bottom: 1px solid #EFEFEF;
 
-			>text {
-				color: #FF5600;
-				font-size: 16px;
-				font-weight: bold;
-			}
+		>text {
+			color: #FF5600;
+			font-size: 16px;
+			font-weight: bold;
 		}
+	}
 
-		.orders-centre {
-			padding: 6px 0;
-			border-bottom: 1px solid #EFEFEF;
+	.orders-centre {
+		padding: 6px 0;
+		border-bottom: 1px solid #EFEFEF;
 
-			>text {
-				font-size: 15px;
-				font-weight: bold;
-				color: #232832;
-			}
+		>text {
+			font-size: 15px;
+			font-weight: bold;
+			color: #232832;
+		}
 
-			.sum {
-				view {
-					width: 50%;
-					color: #2D4D89;
-					font-size: 13px;
-				}
+		.sum {
+			view {
+				width: 50%;
+				color: #2D4D89;
+				font-size: 13px;
 			}
 		}
+	}
 
-		.orders-below {
-			padding-top: 10px;
+	.orders-below {
+		padding-top: 10px;
 
-			>view {
-				uni-button {
-					margin-left: 5px;
-				}
+		>view {
+			uni-button {
+				margin-left: 5px;
 			}
-
 		}
 
 	}
 
+}
 
-	.strong {
-		font-weight: bold;
-	}
 
-	.arrivalNavigations {
-		font-size: 14px;
-		color: rgba(51, 51, 51, 0.8);
-		margin-right: auto;
-		position: relative;
-	}
+.strong {
+	font-weight: bold;
+}
 
-	//从这里开始是弹出框的样式  不需要搜索框的 前面样式都不用加
-	.arrivalNavigation {
-		width: 250rpx;
-		position: absolute;
-		left: -10px;
-		top: 30px;
-		z-index: 99;
+.arrivalNavigations {
+	font-size: 14px;
+	color: rgba(51, 51, 51, 0.8);
+	margin-right: auto;
+	position: relative;
+}
 
-		.sideNavigation {
-			width: 80px;
-			background-color: #fff;
-			box-shadow: 0px 4px 10px 0px #DAE3F4;
-			border-radius: 10rpx;
+//从这里开始是弹出框的样式  不需要搜索框的 前面样式都不用加
+.arrivalNavigation {
+	width: 250rpx;
+	position: absolute;
+	left: -10px;
+	top: 30px;
+	z-index: 99;
 
-			.sideNavigation-btn>view {
-				text-align: center;
-				font-size: 14px;
-				color: #333333;
-				text-align: center;
-				padding: 6px 0;
-				border-bottom: 1px solid #EFEFEF;
+	.sideNavigation {
+		width: 80px;
+		background-color: #fff;
+		box-shadow: 0px 4px 10px 0px #DAE3F4;
+		border-radius: 10rpx;
 
-				&:last-child {
-					border: none;
-				}
+		.sideNavigation-btn>view {
+			text-align: center;
+			font-size: 14px;
+			color: #333333;
+			text-align: center;
+			padding: 6px 0;
+			border-bottom: 1px solid #EFEFEF;
+
+			&:last-child {
+				border: none;
 			}
 		}
+	}
 
-		.d4 {
-			width: 0;
-			height: 0;
-			margin-left: 22px;
-			margin-top: -20rpx;
-			border-width: 20rpx;
-			border-style: solid;
-			border-color: transparent #fff transparent transparent;
-			transform: rotate(90deg);
-			/*顺时针旋转90°*/
+	.d4 {
+		width: 0;
+		height: 0;
+		margin-left: 22px;
+		margin-top: -20rpx;
+		border-width: 20rpx;
+		border-style: solid;
+		border-color: transparent #fff transparent transparent;
+		transform: rotate(90deg);
+		/*顺时针旋转90°*/
 
-		}
 	}
+}
 </style>

+ 35 - 10
pages/wallet/billInfo1.vue

@@ -1753,14 +1753,18 @@
 						}
 						break;
 					case "紫金财险":
+							let zjapiImage = this.orderInfo.apiType == "2" ? "/insurance/crawler/submitImage" :
+								'/order/zijin/submitImage';
 						let zjimage = await this.$http.post(
-							'/order/zijin/submitImage', {
-								companyId: this.companyId
+							`${zjapiImage}`, {
+								[this.orderInfo.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId
 							});
 						if (zjimage.code == '200') {
+							let zjapiAudit = this.orderInfo.apiType == "2" ? "/insurance/crawler/audit" :
+								'/order/zijin/audit';
 							let zjaudit = await this.$http.post(
-								'/order/zijin/audit', {
-									companyId: this.companyId,
+								`${zjapiAudit}`, {
+									[this.orderInfo.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
 									engageList: this.ziJinengageList,
 								});
 							if (zjaudit.code == '200') {
@@ -1819,18 +1823,35 @@
 						}
 						break;
 					case "渤海财险":
+						let bhapiImage = this.apiType == "2" ? "/insurance/crawler/submitImage" :
+							"/order/boHaiApi/submitImage";
 						let bhimage = await this.$http.post(
-							'/order/boHaiApi/submitImage', {
-								companyId: this.companyId
+							`${bhapiImage}`, {
+								[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId
 							});
 						if (bhimage.code == '200') {
+							let bhapiAudit = this.apiType == "2" ? "/insurance/crawler/audit" :
+								'/order/boHaiApi/audit';
 							let bhaudit = await this.$http.post(
-								'/order/boHaiApi/audit', {
-									companyId: this.companyId,
-									jqappoint: "",
-									syappoint: ""
+								`${bhapiAudit}`, {
+									[this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
 								});
 							if (bhaudit.code == '200') {
+								if (this.switchShow) {
+									this.$http.post(
+										`/equity/createEquityOrder?companyId=${this.companyId}`).then(
+										res => {
+											if (res.code === 200) {
+
+											} else {
+												uni.showToast({
+													title: res.msg,
+													icon: "none",
+													duration: 3000
+												});
+											}
+										})
+								}
 								this.underwriteTitle = '订单自核成功';
 								this.cancelText = '暂不缴费';
 								this.confirmText = '立即缴费';
@@ -1858,6 +1879,10 @@
 					case "太平财险":
 					case "华农财险":
 					case "泰康财险":
+					case "泰山财险":
+					case "大地财险":
+					case "申能财险":
+					case "人保财险":
 						let pythonimage = await this.$http.post(
 							'/insurance/crawler/submitImage', {
 								subOrderNo: this.companyId

+ 3 - 2
pages/wallet/wallet.vue

@@ -178,6 +178,7 @@
 			async getAdvanceMoney() {
 				let res = await this.$http.get('/sysUserAccount/getUserSumAmountByUserId?userId=' + this.userInfo
 					.sysUser.id);
+
 				this.totalAssetAmount = res.data;
 			},
 			// 绑定银行卡界面
@@ -221,7 +222,7 @@
 			async toWithdraw() {
 				let that = this;
 				let signResult = await this.$http.post('/ttqf/queryPressing', {
-					userId: uni.getStorageSync('username'),
+					userId: this.userInfo.sysUser.id,
 					bankNumber: this.bankCardInfo.bankNumber,
 				})
 				if (signResult.code == '200') {
@@ -235,7 +236,7 @@
 							async success(res) {
 								if (res.confirm) {
 									let srcResult = await that.$http.post('/ttqf/signingAddress', {
-										userId: uni.getStorageSync('username')
+										userId: this.userInfo.sysUser.id
 									})
 									if (srcResult.data) {
 										plus.runtime.openURL(srcResult.data.url)

+ 3 - 2
pages/wallet/withdraw.vue

@@ -185,7 +185,7 @@
 					},
 				],
 				lowest: 0, //最低提现金额
-				amount: 500, //可提现余额
+				amount: 0, //可提现余额
 				extract: '', //选择的提现金额
 				is_out: false,
 				is_lowest: false,
@@ -205,7 +205,8 @@
 		},
 
 		async onLoad(params) {
-			if (!!params.amount) {
+			if (params.amount) {
+				console.log(params.amount);
 				this.amount = params.amount
 			}
 			this.loadData();

+ 1 - 0
plugins/request/index.js

@@ -14,6 +14,7 @@ const whiteList = [
 ];
 //白名单 不需要登录的页面路径组成的数组
 function hasPermission(url) {
+	console.log(url);
 	// 在白名单中或有token,直接跳转
 	if (whiteList.indexOf(url) !== -1 || store.state.token) {
 		return true;

BIN
static/image/bankLogo.rar


BIN
static/image/my/zhuxiao.png