zouling 3 tygodni temu
rodzic
commit
1c363b4b6d
100 zmienionych plików z 9252 dodań i 0 usunięć
  1. 8 0
      partybuilding-wx/.gitignore
  2. 16 0
      partybuilding-wx/.hbuilderx/launch.json
  3. 18 0
      partybuilding-wx/App.vue
  4. 167 0
      partybuilding-wx/components/navbar/navbar.vue
  5. 210 0
      partybuilding-wx/components/tabbar/tabbar.vue
  6. 20 0
      partybuilding-wx/index.html
  7. 28 0
      partybuilding-wx/main.js
  8. 85 0
      partybuilding-wx/pages.json
  9. 175 0
      partybuilding-wx/pages/code/code.vue
  10. 106 0
      partybuilding-wx/pages/index/guidedetail.vue
  11. 200 0
      partybuilding-wx/pages/index/index.vue
  12. 485 0
      partybuilding-wx/pages/index/record.vue
  13. 174 0
      partybuilding-wx/pages/index/scan.vue
  14. 58 0
      partybuilding-wx/pages/index/success.vue
  15. 192 0
      partybuilding-wx/pages/index/wufa.vue
  16. 322 0
      partybuilding-wx/pages/login/login.vue
  17. 136 0
      partybuilding-wx/pages/login/updatpaw.vue
  18. 192 0
      partybuilding-wx/pages/mine/mine.vue
  19. BIN
      partybuilding-wx/static/images/adrimg.png
  20. BIN
      partybuilding-wx/static/images/backrimg.png
  21. BIN
      partybuilding-wx/static/images/banner.png
  22. BIN
      partybuilding-wx/static/images/bg.png
  23. BIN
      partybuilding-wx/static/images/del.png
  24. BIN
      partybuilding-wx/static/images/headimg.png
  25. BIN
      partybuilding-wx/static/images/hicon.png
  26. BIN
      partybuilding-wx/static/images/icon_zt_back.png
  27. BIN
      partybuilding-wx/static/images/loginm.png
  28. BIN
      partybuilding-wx/static/images/loginz.png
  29. BIN
      partybuilding-wx/static/images/minebg.png
  30. BIN
      partybuilding-wx/static/images/mined.png
  31. BIN
      partybuilding-wx/static/images/mineh.png
  32. BIN
      partybuilding-wx/static/images/mineu.png
  33. BIN
      partybuilding-wx/static/images/minex.png
  34. BIN
      partybuilding-wx/static/images/out.png
  35. BIN
      partybuilding-wx/static/images/rico.png
  36. BIN
      partybuilding-wx/static/images/search.png
  37. BIN
      partybuilding-wx/static/images/sm.png
  38. BIN
      partybuilding-wx/static/images/submit.png
  39. BIN
      partybuilding-wx/static/images/use.png
  40. BIN
      partybuilding-wx/static/logo.png
  41. BIN
      partybuilding-wx/static/table/tab1.png
  42. BIN
      partybuilding-wx/static/table/tab1_pre.png
  43. BIN
      partybuilding-wx/static/table/tab2.png
  44. BIN
      partybuilding-wx/static/table/tab2_pre.png
  45. BIN
      partybuilding-wx/static/table/tab_code.png
  46. 76 0
      partybuilding-wx/uni.scss
  47. 22 0
      partybuilding-wx/uni_modules/uni-icons/changelog.md
  48. 1169 0
      partybuilding-wx/uni_modules/uni-icons/components/uni-icons/icons.js
  49. 96 0
      partybuilding-wx/uni_modules/uni-icons/components/uni-icons/uni-icons.vue
  50. 663 0
      partybuilding-wx/uni_modules/uni-icons/components/uni-icons/uniicons.css
  51. BIN
      partybuilding-wx/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
  52. 86 0
      partybuilding-wx/uni_modules/uni-icons/package.json
  53. 8 0
      partybuilding-wx/uni_modules/uni-icons/readme.md
  54. 41 0
      partybuilding-wx/uni_modules/uni-nav-bar/changelog.md
  55. 348 0
      partybuilding-wx/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue
  56. 27 0
      partybuilding-wx/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue
  57. 89 0
      partybuilding-wx/uni_modules/uni-nav-bar/package.json
  58. 15 0
      partybuilding-wx/uni_modules/uni-nav-bar/readme.md
  59. 8 0
      partybuilding-wx/uni_modules/uni-scss/changelog.md
  60. 1 0
      partybuilding-wx/uni_modules/uni-scss/index.scss
  61. 82 0
      partybuilding-wx/uni_modules/uni-scss/package.json
  62. 4 0
      partybuilding-wx/uni_modules/uni-scss/readme.md
  63. 7 0
      partybuilding-wx/uni_modules/uni-scss/styles/index.scss
  64. 3 0
      partybuilding-wx/uni_modules/uni-scss/styles/setting/_border.scss
  65. 66 0
      partybuilding-wx/uni_modules/uni-scss/styles/setting/_color.scss
  66. 55 0
      partybuilding-wx/uni_modules/uni-scss/styles/setting/_radius.scss
  67. 56 0
      partybuilding-wx/uni_modules/uni-scss/styles/setting/_space.scss
  68. 167 0
      partybuilding-wx/uni_modules/uni-scss/styles/setting/_styles.scss
  69. 24 0
      partybuilding-wx/uni_modules/uni-scss/styles/setting/_text.scss
  70. 146 0
      partybuilding-wx/uni_modules/uni-scss/styles/setting/_variables.scss
  71. 19 0
      partybuilding-wx/uni_modules/uni-scss/styles/tools/functions.scss
  72. 31 0
      partybuilding-wx/uni_modules/uni-scss/theme.scss
  73. 62 0
      partybuilding-wx/uni_modules/uni-scss/variables.scss
  74. 198 0
      partybuilding-wx/util/api.js
  75. 24 0
      partybuilding-wx/util/url.js
  76. 244 0
      qianshandaikuan/ckjd.html
  77. 238 0
      qianshandaikuan/dqjd.html
  78. 84 0
      qianshandaikuan/edyq.html
  79. 316 0
      qianshandaikuan/index.html
  80. 65 0
      qianshandaikuan/indexs.html
  81. 1634 0
      qianshandaikuan/one.html
  82. 247 0
      qianshandaikuan/sqed.html
  83. 80 0
      qianshandaikuan/static/css/common.css
  84. 159 0
      qianshandaikuan/static/css/style.css
  85. BIN
      qianshandaikuan/static/css/theme-chalk/fonts/element-icons.ttf
  86. BIN
      qianshandaikuan/static/css/theme-chalk/fonts/element-icons.woff
  87. 0 0
      qianshandaikuan/static/css/theme-chalk/index.css
  88. BIN
      qianshandaikuan/static/images/back.png
  89. BIN
      qianshandaikuan/static/images/brimg.png
  90. BIN
      qianshandaikuan/static/images/del.png
  91. BIN
      qianshandaikuan/static/images/doubt.png
  92. BIN
      qianshandaikuan/static/images/dowr.png
  93. BIN
      qianshandaikuan/static/images/dqbg.png
  94. BIN
      qianshandaikuan/static/images/ibg.png
  95. BIN
      qianshandaikuan/static/images/ibga.png
  96. BIN
      qianshandaikuan/static/images/ibgb.png
  97. BIN
      qianshandaikuan/static/images/ibgc.png
  98. BIN
      qianshandaikuan/static/images/icon_sqed_xz.png
  99. BIN
      qianshandaikuan/static/images/ilicon.png
  100. BIN
      qianshandaikuan/static/images/ilricon.png

+ 8 - 0
partybuilding-wx/.gitignore

@@ -0,0 +1,8 @@
+unpackage/
+
+/manifest.json
+/mp-weixin
+/unpackage
+
+.DS_Store
+node_modules/

+ 16 - 0
partybuilding-wx/.hbuilderx/launch.json

@@ -0,0 +1,16 @@
+{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+  // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+    "version": "0.0",
+    "configurations": [{
+     	"default" : 
+     	{
+     		"launchtype" : "local"
+     	},
+     	"mp-weixin" : 
+     	{
+     		"launchtype" : "local"
+     	},
+     	"type" : "uniCloud"
+     }
+    ]
+}

+ 18 - 0
partybuilding-wx/App.vue

@@ -0,0 +1,18 @@
+<script>
+	export default {
+		onLaunch: function() {
+			console.log('App Launch')
+		},
+		onShow: function() {
+			console.log('App Show')
+		},
+		onHide: function() {
+			console.log('App Hide')
+		}
+	}
+</script>
+
+<style>
+	page{padding: 0;margin: 0;max-width: 750rpx;margin:0 auto;}
+	/*每个页面公共css */
+</style>

+ 167 - 0
partybuilding-wx/components/navbar/navbar.vue

@@ -0,0 +1,167 @@
+<template>
+	<view class="ua__navbar">
+		<view class="ua__navbar-wrap" :class="{'custom': custom, 'fixed': fixed || transparent}"
+			:style="{'height': customBarH + 'px', 'padding-top': (custom ? statusBarH : 0) + 'px', 'background': bgcolor, 'color': color, 'z-index': zIndex}">
+			<!-- //左侧 (返回) -->
+			<view class="action navbar-action__left" v-if="back && back!='false'" @click="onBack">
+				<template v-if="$slots.back">
+					<slot name="back" />
+				</template>
+				<template v-else>
+					<view class="navbar-back"><image src="@/static/images/icon_zt_back.png"></image></view>
+					
+				</template>
+				<slot name="backText" />
+			</view>
+			<slot name="left" />
+
+			<!-- //标题 -->
+			<view v-if="!search" class="navbar-title" :class="{'center': center}">
+				<template v-if="$slots.title">
+					<slot name="title" />
+				</template>
+				<template v-else><text :style="{'color': color}">{{title}}</text></template>
+			</view>
+
+			<!-- //搜索框 -->
+			<view v-if="search" class="action navbar-action__search">
+				<slot name="search" />
+			</view>
+
+			<!-- //右侧 -->
+			<view class="action navbar-action__right">
+				<slot name="right" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			// 是否采用自定义导航模式
+			custom: {
+				type: [Boolean, String],
+				default: false
+			},
+			// 是否返回
+			back: {
+				type: [Boolean, String],
+				default: true
+			},
+			// 标题
+			title: {
+				type: String,
+				default: ''
+			},
+			// 标题颜色
+			color: {
+				type: String,
+				default: '#353535'
+			},
+			// 背景色
+			bgcolor: {
+				type: String,
+				default: '#fff'
+			},
+			// 标题是否居中
+			center: {
+				type: [Boolean, String],
+				default: false
+			},
+			// 搜索框
+			search: {
+				type: [Boolean, String],
+				default: false
+			},
+			// 是否固定导航
+			fixed: {
+				type: [Boolean, String],
+				default: false
+			},
+			// 是否背景透明
+			transparent: {
+				type: [Boolean, String],
+				default: false
+			},
+			// 设置层叠
+			zIndex: {
+				type: [Number, String],
+				default: '2022'
+			},
+		},
+		data() {
+			return {
+				// 全局设置状态栏和导航栏高度
+				statusBarH: 0,
+				customBarH: 0,
+			}
+		},
+		mounted() {
+			// console.log(this.bgcolor)
+			var that = this;
+			// console.log(that.$http._GET.customBarH)
+			// console.log(that.$http._GET.statusBarH)
+			if(that.$http._GET.customBarH!=0){
+				that.statusBarH = that.$http._GET.statusBarH
+				// 状态栏
+				that.customBarH = that.$http._GET.customBarH
+			}else{
+			uni.getSystemInfo({
+				success(e) {
+					// console.log(e)
+					// 获取手机状态栏高度
+					let statusBar = e.statusBarHeight
+					let customBar
+
+					// #ifndef MP
+					customBar = statusBar + (e.platform == 'android' ? 50 : 45)
+					// #endif
+
+					// #ifdef MP-WEIXIN
+					// 获取胶囊按钮的布局位置信息
+					let menu = wx.getMenuButtonBoundingClientRect()
+					// 导航栏高度 = 胶囊下距离 + 胶囊上距离 - 状态栏高度
+					customBar = menu.bottom + menu.top - statusBar
+					// #endif
+
+					// #ifdef MP-ALIPAY
+					customBar = statusBar + e.titleBarHeight
+					// #endif
+					// console.log(statusBar,customBar)
+					// 导航栏
+					that.statusBarH = statusBar
+					// 状态栏
+					that.customBarH = that.custom ? customBar : customBar - statusBar
+					that.$http._GET.customBarH=that.customBarH;
+					that.$http._GET.statusBarH=that.statusBarH;
+					that.$emit('getTop',that.customBarH)
+				},
+
+			})
+			}
+		},
+		methods: {
+			onBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.ua__navbar-wrap{box-sizing: border-box;display: flex;align-items: center;}
+	.ua__navbar-wrap.fixed{position: fixed;left: 0;top: 0;right: 0;}
+	.navbar-title.center {
+		text-align: center;
+		flex: 1;
+	}
+	.navbar-back{flex: 0 0 auto;display: flex;align-items: center;justify-content: center;
+		// padding: 0 20rpx;
+		width: 88rpx;height: 88rpx;
+		image{width: 18rpx;height: 34rpx;}
+	
+	}
+</style>

+ 210 - 0
partybuilding-wx/components/tabbar/tabbar.vue

@@ -0,0 +1,210 @@
+<template>
+    <view>
+<!-- 		<view>
+			
+		</view> -->
+		<view style="height: 150rpx;"></view>
+        <view class="tabbar-container" :class="isIpx?'IpxBot':''">
+			<view class="tabbar-containers">
+				<view class="tabbar-item" v-for="(item,index) in tabList" :class="[item.centerItem ? 'center-item' : '']"
+				    @click="changeItem(item)" :key="index">
+				    <view class="item-top">
+				        <image :src="tabId==item.id?item.selectIcon:item.icon" mode=""></image>
+				    </view>
+				    <view class="item-bottom" :class="[tabId==item.id ? 'item-active' : '']">
+				        <text>{{item.text}}</text>
+				    </view>
+				</view>
+			</view>
+           
+        </view>
+    </view>
+</template>
+
+<script>
+    export default {
+        props: {
+            currentPage: {
+                type: Number,
+                default: 0
+            }
+        },
+        data() {
+            return {
+                //适配IPhoneX
+                isIpx: false, 
+                //底部Tab
+                tabId: 0,
+                tabList: [{
+                    id: 0,
+                    path: "/pages/index/index",
+                    icon: "/static/table/tab1.png",
+                    selectIcon: "/static/table/tab1_pre.png",
+                    text: "首页",
+                    centerItem: false
+                }, {
+                    id: 1,
+                    path: "/pages/code/code",
+                    icon: "/static/table/tab_code.png",
+                    selectIcon: "/static/table/tab_code.png",
+                    text: "",
+                    centerItem: true
+                }, {
+                    id: 2,
+                    path: "/pages/mine/mine",
+                    icon: "/static/table/tab2.png",
+                    selectIcon: "/static/table/tab2_pre.png",
+                    text: "我的",
+                    centerItem: false
+                }],
+            };
+        },
+        mounted() {
+            this.tabId = this.currentPage;
+            //隐藏原生tab
+            uni.hideTabBar();
+        },
+        created() {
+            // 判断为 iPhone X 给予底部距离
+            let that = this
+            uni.getSystemInfo({
+                success: function(res) {
+                    if (res.model.indexOf('iPhone X') !== -1) {
+                        that.isIpx = true;
+                    }
+                }
+            })
+        },
+        methods: {
+			checkLogin() {
+				var token = uni.getStorageSync('token')
+				// var token = "df057579-73c8-4bdd-8312-f64db8efd699"
+				if (token == undefined || token == '') {
+					uni.reLaunch({
+						url: '/pages/login/login'
+					})
+					return false
+				}
+				return true
+			},
+            // tab 切换
+            changeItem(item) {
+				var that=this;
+                if (item.id == 1) {
+					if (!this.checkLogin()) {
+						return
+					}
+					// 判断是否能核销
+					var businessId=uni.getStorageSync('businessId')
+					if(businessId&&businessId=='-1'){
+						uni.showToast({
+							title:'暂无扫码核销权限',
+							icon:"none"
+						})
+					}else{
+						uni.navigateTo({
+							url:'/pages/code/code'
+						})
+					}
+					
+					
+					// uni.navigateTo({
+					// 	url:item.path
+					// })
+                    // console.log('点击中间' + '快速');
+                } else {
+                    uni.switchTab({
+                        url: item.path,
+                    });
+                }
+            },
+
+        }
+    }
+</script>
+<style scoped>
+    view {
+        padding: 0;
+        margin: 0;
+        box-sizing: border-box;
+    }
+
+    .tabbar-container {
+        position: fixed;
+        bottom: 0;
+        left: 0;
+        width: 100%;
+		background-color: #FFFFFF;
+    }
+	.tabbar-containers {
+	   
+		height: 134rpx;
+		box-sizing: border-box;
+	    /* height: 100rpx; */
+	    /* box-shadow: 0 0 5px #999; */
+		box-shadow: 0px -6px 11px 0px rgba(215, 215, 215, 0.4);
+	    display: flex;
+	    align-items: center;
+	    /* padding: 24rpx 0; */
+	    color: #999999;
+	 
+	}
+
+    .tabbar-container .tabbar-item {
+        width: 33.33%;
+        /* height: 100rpx; */
+        display: flex;
+        flex-direction: column;
+        justify-content: center;
+        align-items: center;
+        text-align: center;
+    }
+
+    .tabbar-container .item-active {
+        color: #343434;
+    }
+
+    .tabbar-container .center-item {
+        display: block;
+        position: relative;
+    }
+
+    .tabbar-container .tabbar-item .item-top {
+        width: 46rpx;
+        height: 48rpx;
+		margin-bottom: 10rpx;
+        /* padding: 5rpx; */
+    }
+
+    .tabbar-container .center-item .item-top {
+        flex-shrink: 0;
+        width: 138rpx;
+        height: 136rpx;
+       position: absolute;
+        bottom:calc(50% - 40rpx);
+        left: calc(50% - 69rpx);
+        border-radius: 50%;
+        /* background-color: #FFFFFF; */
+		/* box-shadow: 0px -6px 11px 0px rgba(215, 215, 215, 0.4); */
+    }
+
+    .tabbar-container .tabbar-item .item-top image {
+        width: 100%;
+        height: 100%;
+    }
+
+    .tabbar-container .tabbar-item .item-bottom {
+        font-size: 26rpx;
+        width: 100%;
+    }
+
+    .tabbar-container .center-item .item-bottom {
+        position: absolute;
+        bottom: 2rpx;
+    }
+
+    /* 适配iPhone X */
+    .IpxBot {
+        padding-bottom: 30rpx !important;
+    }
+</style>

+ 20 - 0
partybuilding-wx/index.html

@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title></title>
+    <!--preload-links-->
+    <!--app-context-->
+  </head>
+  <body>
+    <div id="app"><!--app-html--></div>
+    <script type="module" src="/main.js"></script>
+  </body>
+</html>

+ 28 - 0
partybuilding-wx/main.js

@@ -0,0 +1,28 @@
+import App from './App'
+
+
+
+import https from './util/api.js'
+// #ifndef VUE3
+import Vue from 'vue'
+Vue.config.productionTip = false
+App.mpType = 'app'
+const app = new Vue({
+    ...App
+})
+app.$mount()
+
+import NavBar from "@/components/navbar/navbar.vue"
+Vue.component('navbar',NavBar)
+Vue.prototype.$http=https;
+// #endif
+
+// #ifdef VUE3
+import { createSSRApp } from 'vue'
+export function createApp() {
+  const app = createSSRApp(App)
+  return {
+    app
+  }
+}
+// #endif

+ 85 - 0
partybuilding-wx/pages.json

@@ -0,0 +1,85 @@
+{
+	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+		
+		{
+			"path": "pages/index/index",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/index/scan",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/index/wufa",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/index/record",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/login/login",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/index/success",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/code/code",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/index/guidedetail",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/mine/mine",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
+			"path": "pages/login/updatpaw",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		}
+	],
+	"tabBar": {
+		"color": "#AAAAAA",
+		"selectedColor": "#343434",
+		"borderStyle": "black",
+		"backgroundColor": "#ffffff",
+		"list": [{
+				"pagePath": "pages/index/index"
+			},
+			{
+				"pagePath": "pages/mine/mine"
+			}
+		]
+	},
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "uni-app",
+		"navigationBarBackgroundColor": "#F8F8F8",
+		"backgroundColor": "#F8F8F8"
+	},
+	"uniIdRouter": {}
+}

+ 175 - 0
partybuilding-wx/pages/code/code.vue

@@ -0,0 +1,175 @@
+<template>
+	<view class="sub" :style="'padding-top:'+padtop+'px'">
+		<navbar :back="false" title="扫码核销" :bgcolor="backgroundColor" color="#fff" fixed zIndex="1010" :center="true"	:custom='true' @getTop="getTop" back="true"/>
+		
+<!-- 		<div class="jhyyes">
+			<img src="/static/images/sm.png" alt="" class="img">
+		</div>
+		<view class="naver" @click="smit">
+			扫码核销
+		</view> -->
+	</view>
+</template>
+
+<script>
+	import url from "@/util/url";
+	export default {
+		data() {
+			return {
+				padtop:this.$http._GET.customBarH||0,
+				backgroundColor: 'linear-gradient(90deg, #A00517, #E93030)',
+			};
+		},
+		onLoad() {
+			this.scanAction()
+		},
+		onShow() {
+			
+			// this.uehg = 1
+			// this.scanAction()
+			// console.log(34)
+			
+		},
+		onHide() {
+			
+			// this.uehg = 2
+			// console.log(344)
+			
+		},
+		methods:{
+			getTop(e){
+				this.padtop=e
+			},
+			smit(){
+				this.scanAction()
+			},
+			
+			   //扫码功能
+			scanAction() {
+				var that=this;
+				uni.scanCode({
+					onlyFromCamera: true,
+					scanType: ['qrCode', 'barCode'],
+					success: function (red) {
+						// console.log(res,9)
+						let result=red.result;
+						if (typeof result == 'string') {
+							    try {
+							        var obj=JSON.parse(decodeURIComponent(result));
+							        if(typeof obj == 'object' && obj ){
+										console.log(7)
+							        }else{
+										console.log(9)
+										uni.showToast({
+											title:'扫码查询失败,请检查二维码是否正确',
+											icon:"none"
+										})
+										uni.navigateBack({
+											delta:1
+										})
+							            return ;
+							        }
+							
+							    } catch(e) {
+							       uni.navigateBack({
+							       	delta:1
+							       })
+								   uni.showToast({
+								   	title:'扫码查询失败,请检查二维码是否正确',
+								   	icon:"none"
+								   })
+							       return
+							    }
+							}
+						var res=JSON.parse(decodeURIComponent(red.result))
+						// console.log(res)
+						// return
+						if(!res.menuId|| !res.phone||!res.idCard){
+							uni.navigateBack({
+								delta:1
+							})
+							uni.showToast({
+								title:'扫码查询失败,请检查二维码是否正确',
+								icon:"none"
+							})
+							return
+						}
+						// var now=new Date().getTime()
+						// var oldnow=res.time;
+						// if(oldnow > now) {
+						//     console.log("二维码在有效期内");
+						// } else {
+						// 	uni.showToast({
+						// 		title:'二维码已过期,请重新生成',
+						// 		icon:"none"
+						// 	})
+						// 	return
+						// }
+						var businessId=uni.getStorageSync('businessId')
+						var params={
+							"businessId": businessId,
+							"policyId": res.menuId,
+							"creditPhone": res.phone,
+							"idCard": res.idCard,
+						}
+						that.$http.post('system/record',params).then(red=>{
+							if(red.code == 200 ) {
+								uni.redirectTo({
+									url:"/pages/index/success"
+								})
+							}else{
+								uni.navigateBack({
+									delta:1
+								})
+								uni.showToast({
+									title: red.msg,
+									duration: 1000,
+									icon: 'none'
+								});
+								
+							} 
+						})
+						// console.log(res)
+						// console.log('条码类型:' + res.scanType);
+						// console.log('条码内容:' + res.result);
+					},
+					fail:function(e){
+						console.log(e)
+						if (e && e.errMsg && e.errMsg.indexOf('scanCode:fail cancel') != -1) {
+						    return;
+						}
+						uni.showToast({
+							title:'扫码失败',
+							icon:"none"
+						})
+					}
+				});
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.sub{box-sizing: border-box;width: 100%;min-height: 100vh;}
+	.jhyyes{
+		display: flex;
+		justify-content: center;
+		margin-top: 200upx;
+	}
+	.img{
+		width: 258upx;
+		height: 251upx;
+		// margin:  auto;
+		// margin-left: 50%;
+		// transform: translateX(-50%);
+	}
+	
+	
+	.naver{
+		width: 416rpx;height:84rpx;width: 208px;
+		height: 42px;
+		background: linear-gradient(90deg, #A00517, #E93030);
+		border-radius: 21px;display: flex;align-items: center;justify-content: center;font-size: 30rpx;color: #ffffff;margin:150rpx auto 0;
+		}
+
+</style>

+ 106 - 0
partybuilding-wx/pages/index/guidedetail.vue

@@ -0,0 +1,106 @@
+<template>
+	<view class="sub" :style="'padding-top:'+padtop+'px'">
+		<navbar :back="false" :title="title" :bgcolor="backgroundColor" color="#fff" fixed zIndex="1010" :center="true"	:custom='true' @getTop="getTop" back="true"/>
+		<!-- 头部 使用指南-->
+		<view class="gpd" v-if="type=='use'">
+			<view class="guidtit" v-if="usedetail.useTitle">
+				{{usedetail.useTitle}}
+			</view>
+			<view class="guidtime" v-if="usedetail.createTime">{{usedetail.createTime}}</view>
+			<rich-text v-if="useContent" :nodes="useContent"></rich-text>
+		</view>
+		
+		<!-- 正常福利 -->
+		<view class="gpd" v-else>
+			<view class="guidtit" v-if="detail.welfareTitle">
+				{{detail.welfareTitle}}
+			</view>
+			<view class="guidtime" v-if="detail.createTime">{{detail.createTime}}</view>
+			<rich-text v-if="welfareContent" :nodes="welfareContent"></rich-text>
+		</view>
+	</view>
+</template>
+
+<script>
+	import url from "@/util/url";
+	let {imgDomain} = url
+	export default{
+		data(){
+			return{
+				padtop:this.$http._GET.customBarH||0,
+				backgroundColor: 'linear-gradient(90deg, #A00517, #E93030)',
+				string:'',
+				title:'使用指南',
+				usedetail:{},
+				detail:{},
+				type:'use',
+				useContent:'',
+				welfareContent:'',
+			}
+		},
+		onLoad(e) {
+			this.type=e.type
+			if(e.type=='use'){
+				this.title='使用指南'
+				this.getDatauseFn()
+			}else{
+				this.title='优惠福利'
+				this.getDataFn()
+			}
+			
+		},
+		methods:{
+			getTop(e){
+				this.padtop=e
+			},
+			getDatauseFn(){
+				var that=this;
+				that.$http.get("system/use/new").then(res => {
+					if (res.code == 200) {
+						// /profile/upload/2022/07/14/微信截图_20220711151232_20220714145922A003.png
+						if(res.data.useContent){
+							var t='<img style="max-width: 100%;" src="'+imgDomain;
+							var newhtml=res.data.useContent.replace(/\<img src="/gi, t);
+							that.useContent=newhtml;
+						}
+						that.usedetail=res.data
+					} else {
+						uni.showToast({
+							title: res.msg,
+							duration: 1000,
+							icon: 'none'
+						});
+				
+					}
+				})
+			},
+			getDataFn(){
+				var that=this;
+				that.$http.get("system/welfare/new").then(res => {
+					if (res.code == 200) {
+						if(res.data.welfareContent){
+							var t='<img style="max-width: 100%;" src="'+imgDomain;
+							var newhtml=res.data.welfareContent.replace(/\<img src="/gi, t);
+							that.welfareContent=newhtml;
+						}
+						that.detail=res.data
+					} else {
+						uni.showToast({
+							title: res.msg,
+							duration: 1000,
+							icon: 'none'
+						});
+				
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.sub{box-sizing: border-box;width: 100%;min-height: 100vh;}
+	.gpd{padding:30rpx 26rpx;}
+	.guidtit{font-size: 30rpx;font-weight: bold;color: #222222;margin-bottom: 32rpx;}
+	.guidtime{font-size: 20rpx;color: #676767;margin-bottom: 60rpx;}
+</style>

+ 200 - 0
partybuilding-wx/pages/index/index.vue

@@ -0,0 +1,200 @@
+<template>
+	<view class="home" :style="'padding-top:'+padtop+'px'">
+		<!-- 头部 -->
+		<navbar :back="false" title="首页" :bgcolor="backgroundColor" color="#fff" fixed zIndex="1010" :center="true"	:custom='true' @getTop="getTop"/>
+		<view class="main">
+			<!-- <swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval"
+				:duration="duration">
+				<swiper-item>
+					<image :src="swipeimg" class="mainswip"></image>
+				</swiper-item>
+			</swiper> -->
+			<image v-if="photoPath" :src="photoPath" class="mainswip" @click="getYouFn"></image>
+			<view class="flexcj  mainus">
+				<view class="mainuse flex" @click="getUse">
+					<view class="mainusea">
+						<view class="mainuseb">使用指南</view>
+						<view class="mainusec overtwo">查看使用指南了 解核销操作方法</view>
+					</view>
+					<image :src="znimg" class="mainused flex0"></image>
+				</view>
+				<view class="mainuse flex" @click="getRecord">
+					<view class="mainusea">
+						<view class="mainuseb">核销记录</view>
+						<view class="mainusec overtwo">查看核销记录了 解核销记录信息</view>
+					</view>
+					<image :src="znhimg" class="mainused flex0"></image>
+				</view>
+			</view>
+			<view class="hbox" @click="getCode">
+				<view class="flex1"><view class="htit">核销操作</view>
+				<view class="htxt">扫描用户出示的二维码即可实现核销</view></view>
+				<image :src="rimg" class="himg"></image>
+			</view>
+		</view>
+
+
+		<!-- 底部 导航栏  currentPage 当前页面ID -->
+		<tab-bar :currentPage="0"></tab-bar>
+	</view>
+</template>
+
+<script>
+	import url from "@/util/url";
+	let {host} = url
+	//导入组件
+	// import tabBar from '@/components/tabbar/tabbar.vue'
+	import tabBar from "@/components/tabbar/tabbar.vue"
+	export default {
+		data() {
+			return {
+				padtop:this.$http._GET.customBarH||0,
+				backgroundColor: 'linear-gradient(90deg, #A00517, #E93030)',
+				swipeimg: require('static/images/banner.png'),
+				znimg: require('static/images/use.png'),
+				znhimg: require('static/images/hicon.png'),
+				rimg:require('static/images/rico.png'),
+				
+				
+				indicatorDots: true,
+				autoplay: true,
+				interval: 2000,
+				duration: 500,
+				photoPath:''
+			};
+		},
+		components: {
+			tabBar
+		},
+		mounted() {
+			// console.log(7)
+		},
+		onLoad() {
+			this.getDataFn()
+		},
+		methods: {
+			checkLogin() {
+				var token = uni.getStorageSync('token')
+				// var token = "df057579-73c8-4bdd-8312-f64db8efd699"
+				if (token == undefined || token == '') {
+					uni.reLaunch({
+						url: '/pages/login/login'
+					})
+					return false
+				}
+				return true
+			},
+			getDataFn(){
+				var that=this;
+				that.$http.get("system/welfare/new").then(res => {
+					if (res.code == 200) {
+						if(res.data.photoPath){
+							that.photoPath=host + res.data.photoPath
+						}else{
+							that.photoPath=""
+						}
+						
+					} else {
+						uni.showToast({
+							title: res.msg,
+							duration: 1000,
+							icon: 'none'
+						});
+				
+					}
+				})
+			},
+			goBack() {
+				// console.log(5)
+			},
+			getCode(){
+				// 判断是否能核销
+				if (!this.checkLogin()) {
+					return
+				}
+				// 判断是否能核销
+				var businessId=uni.getStorageSync('businessId');
+				if(businessId&&businessId=='-1'){
+					uni.showToast({
+						title:'暂无扫码核销权限',
+						icon:"none"
+					})
+				}else{
+					uni.navigateTo({
+						url:'/pages/code/code'
+					})
+				}
+			},
+			getYouFn(){
+				// 判断是否能核销
+				if (!this.checkLogin()) {
+					return
+				}
+				this.$http.routePage('/pages/index/guidedetail?type=welfare','nav')
+			},
+			getUse(){
+				// 判断是否能核销
+				if (!this.checkLogin()) {
+					return
+				}
+				this.$http.routePage('/pages/index/guidedetail?type=use','nav')
+			},
+			getRecord(){
+				// 判断是否能核销
+				if (!this.checkLogin()) {
+					return
+				}
+				var businessId=uni.getStorageSync('businessId')
+				if(businessId&&businessId=='-1'){
+					uni.showToast({
+						title:'暂无核销记录',
+						icon:"none"
+					})
+				}else{
+					this.$http.routePage('/pages/index/record','nav')
+				}
+				
+			},
+			getTop(e){
+				this.padtop=e;
+			}
+		}
+	};
+</script>
+<style scoped>
+	image{display: block;}
+	.pl16{padding: 0 32rpx;}
+	.mb14{margin-bottom: 28rpx;}
+.flex{display: flex;}
+.flex1{flex: 1;}
+.flex0{flex: 0 0 auto;}
+.flexcj{display: flex;align-items: center;justify-content: space-between;}
+.ovone{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
+.overtwo{word-break: break-all;
+text-overflow: ellipsis;
+overflow: hidden;
+display: -webkit-box;
+-webkit-line-clamp: 2;
+-webkit-box-orient: vertical;white-space: normal;}
+	.home{min-height: 100vh;background: #f5f5f5;box-sizing: border-box;}
+	.main{padding-top: 28rpx;}
+	.mainswip{width: 686rpx;height: 260rpx;margin:0 auto 32rpx;box-shadow: 0px 4rpx 14rpx 0px rgba(97,96,95,0.3600);border-radius: 20rpx;}
+	
+	.mainus{width: 686rpx;margin: 0 auto 28rpx;}
+	.mainuse{width: 328rpx;min-height: 170rpx;background: #FFFFFF;box-shadow: 0px 4rpx 14rpx 0px rgba(97,96,95,0.3600);
+border-radius: 6rpx;padding: 30rpx 18rpx 30rpx 26rpx;box-sizing: border-box;}
+	.mainuseb{font-size: 22rpx;background: linear-gradient(0deg, #B54A1D 0%, #FFB97D 100%);
+-webkit-background-clip: text;
+-webkit-text-fill-color: transparent;font-weight: bold;position: relative;margin-bottom: 20rpx;}
+.mainuseb::after{width: 22rpx;
+height: 2rpx;
+background: #A70919;content: "";position: absolute;left: 0;bottom: -15rpx;}
+.mainusec{font-size: 24rpx;color: #666666;}
+.mainused{width: 86rpx;height: 86rpx;margin-top: 16rpx;}
+
+.hbox{width: 684rpx;min-height: 128rpx;background: linear-gradient(90deg, #A00517, #E93030);
+box-shadow: 0px 4rpx 14rpx 0px rgba(131,46,15,0.3600);border-radius: 14rpx;display: flex;align-items: center;margin: auto;padding: 20rpx 26rpx 20rpx 30rpx;box-sizing: border-box;}
+.htit{font-size: 34rpx;font-weight: bold;color: #FFFFFF;margin-bottom: 14rpx;}
+.htxt{font-size: 24rpx;color: #FFC5CB;}
+.himg{width: 16rpx;height: 28rpx;flex: 0 0 auto;}
+</style>

+ 485 - 0
partybuilding-wx/pages/index/record.vue

@@ -0,0 +1,485 @@
+<template>
+	<view class="index" :style="'padding-top:'+padtop+'px'">
+		<!-- 头部 -->
+		<navbar :back="false" title="核销记录" :bgcolor="backgroundColor" color="#fff" fixed zIndex="1010" :center="true"	:custom='true' @getTop="getTop" back="true"/>
+		<view class="sous_sear">
+			<view class="sous_box" @click="getSearch">
+				<image :src="searimg" class="sous_img"></image>
+				<input  placeholder="请输入姓名或时间查询" class="sous_input" disabled/>
+			</view>
+		</view>
+		<p style="height: 20rpx; background-color: #f2f2f2;"></p>
+		<view class="tab">
+			<!-- //表格 -->
+			<view class="exele">
+
+				<view class="box">
+					<table @change="change">
+						<tr class="tr_one">
+							<th style="width: 120rpx; text-align: center;">姓名</th>
+							<th style="width:230rpx; text-align: center;">手机号码</th>
+							<th style="width: 120rpx; text-align: center;">等级</th>
+							<th style="width: 230rpx; text-align: center;">核销时间</th>
+						</tr>
+						<scroll-view scroll-y class="scroll-view" upper-threshold="40" lower-threshold="40" @scrolltolower="bot_btn" :style="'max-height: calc(100vh - 210rpx - '+padtop+'px);'">
+							<tr v-for="(item,index) in list" :key="index" :class=" [index%2  ==0 ? 'two_tr two_trtwo':'two_tr']" @click="chakn(item)">
+								<td style="width: 120rpx; text-align: center;" >{{item.creditName==null?'暂无信息':item.creditName}}</td>
+								<td style="width: 280rpx; text-align: center;" >{{item.creditPhone==null?'暂无信息':item.creditPhone}}</td>
+								<td style="width: 120rpx; text-align: center;" >{{item.recordLevel==null?'暂无信息':item.recordLevel}}</td>
+								<td style="width: 230rpx; text-align: center;" >{{item.createTime==null?'暂无信息':item.createTime}}</td>
+								<!-- <td style="width: 50rpx; color: #32B16C;" @click.stop="goDetail(item)">查看</td> -->
+							</tr>
+							<div class="shax" v-if="list.length>0">
+								{{wtdt}}
+							</div>
+							<div class="zanwu " v-else><span>暂无数据</span></div>
+						</scroll-view>
+						
+					</table>
+				</view>
+
+			</view>
+		</view>
+
+		
+		<!-- 弹窗 -->
+		<!-- 搜索弹窗 -->
+		<view class='bgbox' v-if="searchflag"></view>
+		<view class="sfixed" v-if="searchflag">
+			<view class="sfixed_tit">筛选查询</view>
+			<image :src="closeimg" class="sfixed_clo" @click="getSearClose"></image>
+			<view class="sfixed_box">		
+				<input placeholder="请输入姓名进行查询" class="sfixed_inp" type="text" value="" v-model="creditName"/>
+				<view class="sfixed_line"></view>
+				<view class="sfixed_flex">
+					<view class="sfixed_a">筛选条件</view>
+					<view class="sfixed_ar" @click="getClearFn">重置</view>
+				</view>
+				<view class="address">
+					<view class="addtita">核销年份</view>
+					<view class="addressa">
+						<picker mode="date" fields="year" :value="recordYear" :start="startDate" :end="endDate" @change="bindDateChange">
+						<view class="addsa" :style="recordYear?'':'color:#aaaaaa'">{{recordYear?recordYear:'选择核销年份'}}</view>
+						
+					</picker>
+					<image :src="rimg" class="addsimg"></image>
+					</view>
+				</view>
+				<view class="address">
+					<view class="addtita">核销日期</view>
+					<view class="addressa">
+						<picker mode="date" :value="createTime" @change="bindDateChangeTime">
+						<view class="addsa" :style="createTime?'':'color:#aaaaaa'">{{createTime?createTime:'选择核销日期'}}</view>
+						
+					</picker>
+					<image :src="rimg" class="addsimg"></image>
+					</view>
+					<!-- <view class="addressa">
+						<view class="addsa" style="color:#AAAAAA;">选择核销日期</view>
+						<image :src="rimg" class="addsimg"></image>
+					</view> -->
+				</view>
+				<view class="address">
+					<view class="addtita">核销等级</view>
+					<view class="addressa">
+						<picker  :value="levelval" :range="levellist" range-key='label' @change="bindDateChangeLevel">
+							<view class="addsa" :style="recordLevel?'':'color:#aaaaaa'">{{recordLevel?recordLevel:'选择核销等级'}}</view>
+							
+						</picker>
+						<!-- <view class="addsa" style="color:#AAAAAA;">选择核销等级</view> -->
+						<image :src="rimg" class="addsimg"></image>
+					</view>
+				</view>
+			</view>
+			<view class="sfixed_btn" @click="Seach">查询</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			 // const currentDate = this.getDate({
+			 //            format: true
+			 //        })
+			return {
+				padtop:this.$http._GET.customBarH||0,
+				backgroundColor: 'linear-gradient(90deg, #A00517, #E93030)',
+				searimg:require("@/static/images/search.png"),
+				closeimg:require("@/static/images/del.png"),
+				searchflag:false,
+				rimg:require('@/static/images/backrimg.png'),
+				//列表数据
+				list: [],
+				params: { //上拉刷新
+					pageNum: 1,
+					pageSize:20,
+					recordYear:"",
+					createTime:'',
+					recordLevel:'',
+					businessId:'',
+				},
+				haveMore: true,
+				wtdt: '上拉加载更多',
+				listShow: true, //判断是否有数据 true 有
+
+				creditName:null,//姓名
+				recordYear:'',//核销年份
+				createTime:'',//核销日期
+				recordLevel:"",//核销等级
+				levellist: [],//核销等级
+				levelval:0,
+				businessId:'',
+			};
+		},
+		onShow() {
+			let type = uni.getStorageSync('token')
+			if (!type) {
+				uni.reLaunch({
+					url: '/pages/login/login'
+				})
+			}
+		},
+		 // computed: {
+		 //        startDate() {
+		 //            return this.getDate('start');
+		 //        },
+		 //        endDate() {
+		 //            return this.getDate('end');
+		 //        }
+		 //    },
+		onLoad(option) {
+			uni.$on('refreshData',(data) => {
+
+				this.params.pageNum = 1;
+				this.list = []
+				// 修改 获取列表的
+				// 获取统计
+				this.lists(this.params)
+			})
+			this.businessId = uni.getStorageSync('businessId');
+			this.params.businessId=uni.getStorageSync('businessId');
+			 // this.getTownsFn();
+			 this.params.pageNum = 1
+			 this.list = []
+			 // 修改 获取列表的
+			 this.lists(this.params)
+			 // 获取字典值
+			 this.getStatelist()
+		},
+		beforeDestroy() {
+			uni.$off("refreshData")
+		},
+		created() {
+
+		},
+		methods: {
+			getTop(e){
+				this.padtop=e
+			},
+			bindDateChange: function(e) {
+			    this.recordYear = e.detail.value
+			},
+			bindDateChangeTime(e){
+				this.createTime = e.detail.value
+				if(this.recordYear){
+					var d=e.detail.value.split('-')
+					this.recordYear=d[0]
+				}
+			},
+			bindDateChangeLevel(e){
+				var idx=e.detail.value
+				this.levelval = idx;
+				this.recordLevel=this.levellist[idx].value
+			},
+			// getDate(type) {
+			//             const date = new Date();
+			//             let year = date.getFullYear();
+			//             let month = date.getMonth() + 1;
+			//             let day = date.getDate();
+			
+			//             if (type === 'start') {
+			//                 year = year - 60;
+			//             } else if (type === 'end') {
+			//                 year = year + 2;
+			//             }
+			//             month = month > 9 ? month : '0' + month;
+			//             day = day > 9 ? day : '0' + day;
+			//             // return `${year}-${month}-${day}`;
+			//             return `${year}`;
+			//         },
+
+			
+			// 字典值
+			getStatelist(){
+				var that=this;
+				// 旧字典值
+				this.$http.get("system/dict/data/type/credit_level").then(res => {
+					if (res.code == 200) {
+						that.levellist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					} else {
+						uni.showToast({
+							title: res.msg,
+							duration: 1000,
+							icon: 'none'
+						});
+				
+					}
+				})
+			},
+			getSearch(){
+				this.recordYear=this.params.recordYear||"";
+				this.createTime=this.params.createTime||"";
+				this.recordLevel=this.params.recordLevel||"";
+				this.creditName=this.params.creditName||"";
+				this.searchflag=true;
+			},
+			getSearClose(){
+				this.searchflag=false
+			},
+			getClose(){
+				this.houseflag=false;
+				this.delfalg=false;
+			},
+			getClearFn(){
+				this.recordYear='';
+				this.createTime='';
+				this.recordLevel='';
+				this.creditName='';
+			},
+			lists(params) {
+				this.$http.get("system/record/list", params).then(res => {
+					//停止下拉加载
+					uni.hideNavigationBarLoading()
+					uni.stopPullDownRefresh()
+					if (res.code == 200) {
+						if (res.rows.length < params.pageSize) {
+							this.listShow = false
+							this.haveMore = false
+							this.wtdt='到底了~';
+						} else {
+							var num=parseInt(res.rows.length)+parseInt(params.pageSize)*parseInt(params.pageNum-1)
+							if(num<res.total){
+								this.listShow = true
+								this.haveMore = true
+								this.wtdt='上拉加载更多'
+							}else{
+								this.listShow = false
+								this.haveMore = false
+								this.wtdt='到底了~';
+							}	
+						}
+						if(params.pageNum==1){
+							this.list = res.rows
+						}else{
+							this.list = this.list.concat(res.rows) 
+						}
+					} else {
+						uni.showToast({
+							title: res.msg,
+							duration: 1000,
+							icon: 'none'
+						});
+				
+				
+					}
+				})
+			},
+			//刷新
+			bot_btn() {
+				if (this.haveMore) {
+					this.params.pageNum++
+					this.lists(this.params)
+				}
+			},
+
+			//搜索
+			Seach() {
+				this.list = [];
+				this.searchflag=false;
+				this.params={
+					pageNum:1,
+					pageSize: 20,
+					recordYear:this.recordYear,
+					createTime:this.createTime,
+					recordLevel:this.recordLevel,
+					creditName:this.creditName,
+					businessId:this.businessId,
+				}
+				this.list = [];
+				this.lists(this.params)
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	
+	// 新的
+	.sous_sear{
+		padding: 18rpx 34rpx;background: #FFFFFF;
+		.sous_box{width: 100%;height: 72rpx;
+background: #F2F2F2;
+border-radius: 36rpx;display: flex;align-items: center;padding: 0 34rpx;box-sizing: border-box;
+			.sous_img{width: 32rpx;height: 34rpx;margin-right: 18rpx;flex: 0 0 auto;}
+			.sous_input{font-size: 30rpx;color: #AAAAAA;flex: 1;}
+		}
+	}
+	//tab
+	.tab {
+		.tabs {
+			.one_tab {
+				color: #1678FF !important;
+	
+			}
+	
+			.one_tabqie {
+				border-bottom: 8rpx solid #1678FF;
+	
+			}
+		}
+	}
+	
+	// 搜索条件width: 562rpx;
+	.bgbox{position: fixed;left: 0;right: 0;top: 0;bottom: 0;z-index: 3;
+	background: rgba(0,0,0,0.5);}
+		.sfixed{min-height: 768rpx;background: #FFFFFF;border-radius: 14rpx;padding: 40rpx 34rpx;box-sizing: border-box;position: fixed;left: 60rpx;right: 60rpx;top: 50%;transform: translateY(-50%);
+		z-index: 100;max-height: calc(100vh - 280rpx);overflow-y: auto;
+			.sfixed_tit{font-size: 28rpx;font-weight: bold;color: #343434;line-height: 44rpx;text-align: center;}
+			.sfixed_clo{width: 34rpx;height: 34rpx;position: absolute;right: 34rpx;top: 44rpx;}
+			.sfixed_box{
+				padding-top: 20rpx;
+				.sfixed_inp{width: 100%;height: 76rpx;background:#F2F2F2;padding: 0 34rpx;box-sizing: border-box;font-size: 28rpx;color: #333333;margin-top: 30rpx;}
+				.sfixed_line{width: 62rpx;height: 6rpx;background: #D7262A;margin: 38rpx auto 32rpx;}
+				.sfixed_flex{display: flex;align-items: center;justify-content: space-between;
+					.sfixed_a{font-size: 26rpx;font-weight: bold;color: #666666;}
+					.sfixed_ar{font-size: 26rpx;font-weight: bold;color: #DF0024;}
+				}
+			}
+			.sfixed_btn{width: 100%;height: 76rpx;background: linear-gradient(90deg, #A00517, #E93030);
+border-radius: 38rpx;font-size: 28rpx;font-weight: bold;
+	color: #FFFFFF;text-align: center;line-height: 76rpx;margin-top: 62rpx;}
+			
+		}
+	.address{
+			display: flex;align-items: center;
+			margin-top: 38rpx;
+			.addtita{flex: 0 0 auto;font-size: 28rpx;font-weight: bold;
+	color: #343434;}
+			.addressa{
+				flex: 1;
+				display: flex;align-items: center;justify-content: flex-end;
+				overflow: hidden;
+				.addsa{font-size: 26rpx;color: #333333;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;
+				flex: 1;text-align: right;
+				}
+				.addsimg{width: 16rpx;height: 24rpx;margin-left: 10rpx;flex: 0 0 auto;}
+
+			}
+			
+			.addclear{color: #EA2929;font-size: 26rpx;flex: 0 0 auto;height: 60rpx;line-height: 60rpx;width: 128rpx;text-align:center}
+		}
+	//暂无数据
+	.zanwu {
+		text-align: center;
+		padding-top: 20rpx;
+	
+		span {
+			font-size: 24rpx;
+		}
+	}
+	.shax {
+		// height: 83rpx;
+		font-size: 25rpx;
+		color: #666;
+		text-align: center;
+	}
+	// .scroll-view {
+	// 	max-height: calc(100vh - 401rpx);
+	// }
+	// 新的
+	
+	.index {
+		// padding-top: 33rpx;
+		max-height: 100vh;
+		box-sizing: border-box;
+		//表格
+		.exele {
+			.box {
+				table{border-spacing: 0rpx;}
+				.tr_one {
+					display: flex;
+					// padding: 0 20rpx;
+					box-sizing: border-box;
+					justify-content: space-between;
+					th {
+						font-size: 24rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #000000;
+						overflow: hidden;
+						text-overflow: ellipsis;
+						white-space: nowrap;
+						line-height: 78rpx;
+						height: 78rpx;
+					}
+				}
+
+				.two_tr {
+					display: flex;
+					// padding: 0 20rpx;
+					box-sizing: border-box;
+					justify-content: space-between;
+
+					td {
+						font-size: 24rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #343434;
+						
+						min-height: 82rpx;
+						padding: 20rpx 0;
+						box-sizing: border-box;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+
+					}
+
+					// .tdse {
+					// 	color: #E60012 !important;
+					// }
+					// .apply_span_xl{
+					// 	color: #32B16C !important;
+					// }
+					// .apply_span_xltwo{
+					// 	color: #ffa200 !important;
+					// }
+					// .apply_span_xlfive{
+					// 	color: #4c4b4b !important;
+					// }
+					// .apply_span_xlthreo{
+					// 	color: #f00404 !important;
+					// }
+					// .apply_span_xlforu{
+					// 	color: #aaaaaa !important;
+					// }
+					// .coiu {
+					// 	color: #EC1717;
+					// }
+				}
+
+				.two_trtwo {
+					background-color: #F2F2F2;
+				}
+			}
+
+		}
+	}
+</style>
+

+ 174 - 0
partybuilding-wx/pages/index/scan.vue

@@ -0,0 +1,174 @@
+<template>
+	<view class="index" :style="'padding-top:'+padtop+'px'">
+		<!-- 头部 -->
+		<navbar :back="false" title="扫码登录" :bgcolor="backgroundColor" color="#fff" fixed zIndex="1010" :center="true"	:custom='true' @getTop="getTop" back="true"/>
+		<!-- <view class="naver" @click="smit">
+			扫码登录
+		</view> -->
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				//潜山
+				qians:'',
+				uehg:1,
+				padtop:this.$http._GET.customBarH||0,
+				backgroundColor: 'linear-gradient(90deg, #A00517, #E93030)',
+			};
+		},
+		onLoad() {
+			// this.uehg = 1
+			this.scanAction()
+		},
+		onShow() {
+			// this.uehg = 1
+			// this.scanAction()
+		},
+		onHide() {
+			// this.uehg = 2
+		},
+		methods:{
+			getTop(e){
+				this.padtop=e
+			},
+			// smit(){
+			// 	this.scanAction()
+			// },
+			   //扫码功能
+			scanAction() {
+				// if(this.uehg == 1){
+					const app = getApp();
+					wx.scanCode({
+					  onlyFromCamera: true,
+					  scanType: ['qrCode', 'barCode'],
+					     //结果处理
+					  success: res => this.dealScanCode(res.result),
+					  fail: (e) => {
+					      if (e && e.errMsg && e.errMsg.indexOf('scanCode:fail cancel') != -1) {
+					          return;
+					      }
+					      wx.showToast({ title: '扫码失败', icon: 'none', })
+					  }
+					});
+				// }else{
+				// 	return
+				// }
+				
+			},
+			 // 判断连接
+			 dealScanCode(result) {
+				 const app = getApp();
+				 console.log(result,123)
+			   let str = result
+			   // https://qsfy.qs163.cn/
+			   // this.qians = str.includes('https://qsfy.qs163.cn/prod-api/auth/scanCode')
+			  
+			   this.qians = str.includes('https://qsdj.qs163.cn/prod-api/scanCode/confirm')
+			   // console.log(str.includes('https://qsfy.qs163.cn/prod-api/auth/scanCode'))
+			   // 潜山
+			   // this.qians = str.includes('https://qsxyakm.qs163.cn/prod-api/applet/scanQr')
+			   // /、岳西 https://yxxy.qs163.cn   https://qsfy.qs163.cn
+			   
+			   if(this.qians){
+				   console.log(123098)
+				   // wx.navigateTo({
+				   //   url: '/pages/addvacfrom/wufa?code=' + this.qians
+				   // })
+				   uni.request({
+				   	url:  result,
+				   	data:{
+				   		// pid:this.companyId
+				   	},
+				    success: function(res) {
+				    	console.log(res.data)
+				   		if(res.data.code==200){
+				   			wx.navigateTo({
+				   			  url: '/pages/index/wufa?code=' + res.data.data
+				   			})
+				   			// console.log(3456)
+				   		}else {
+				   			wx.navigateBack({
+				   			  delta: 1 //想要返回的层级
+				   			})
+				   			 wx.showToast({ title: res.data.msg, icon: 'none', duration: 2000})
+				   		}
+				    	
+				    },
+				   });
+			   }else{ 
+				  wx.navigateBack({
+				    delta: 1 //想要返回的层级
+				  })
+				   uni.showToast({ title: '请扫描正确的二维码', icon: 'none', duration: 3000}) 
+				   
+			   }
+			   
+			   // let index = str.indexOf("/");
+			   // console.log(index)
+			   // let id = str.substring('/');
+			   // console.log(id)
+			   // this.bindAccount(result)
+			   // app.log("scan:" + result)
+			   // if (!result || !result.lastIndexOf) {
+			   //     wx.showToast({ title: '二维码错误', icon: 'none', duration: 2000 })
+			   //    return;
+			   //  }
+			
+			    // 具体的连接处理
+			      // if (result.lastIndexOf('synthetical=') != -1) {
+			      //  bindAccount(result);
+			      //  return;
+			      // }
+			  
+			 //无效的二维码
+			  // wx.showToast({ title: '二维码错误', icon: 'none', duration: 2000 })
+			 },
+			  //处理连接
+			     bindAccount(param){
+			     // 截取字符串
+			     let groupNum = getUrlParam(param, 'chatID')
+			    let groupType = getUrlParam(param, 'type');
+			    },
+			 
+			    // 提供外部的接口
+			     // module.exports = {
+			     //  scanAction,
+			     //  dealScanCode,
+			     //  getUrlParam
+			     // }
+				  // 正则表达式截取字符串的方法
+				    getUrlParam(url, name) {
+				        // 正则筛选地址栏
+				        let reg = new RegExp("(^|&|/?|//)" + name + "=([^&]*)(&|$)");
+				       // 匹配目标参数
+				      let result = url.substr(1).match(reg);
+					  console.log(result)
+				      //返回参数值
+				       // return result ? decodeURIComponent(result[2]) : null;
+				   }
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.naver{
+		width: 85%;
+		height: 90upx;
+		font-size: 31upx;
+		font-family: PingFang SC;
+		font-weight: 400;
+		color: #FFFFFF;
+		line-height: 90upx;	
+		background-color: #1678FF;
+		margin-left: 50%;
+		transform: translateX(-50%);
+		border-radius: 14upx;
+		text-align: center;
+		margin-top: 250upx;
+		}
+
+</style>

+ 58 - 0
partybuilding-wx/pages/index/success.vue

@@ -0,0 +1,58 @@
+<template>
+	<view class="sub" :style="'padding-top:'+padtop+'px'">
+		<navbar :back="false" :title="codetit" :bgcolor="backgroundColor" color="#fff" fixed zIndex="1010" :center="true"	:custom='true' @getTop="getTop" back="true"/>
+		<!-- 头部 -->
+		<view class="pt28">
+			<image :src="subimg" class="sub_img"></image>
+			<view class="sub_tit">{{codetit}}</view>
+			<view class="sub_txt">当前二维码已核销 可点击按钮继续核销</view>
+			<view class="sub_back" @click="getCodeFn">继续核销</view>
+			<view class="sub_home" @click="getHome">返回首页</view>
+		</view>
+		
+		
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				padtop:this.$http._GET.customBarH||0,
+				backgroundColor: 'linear-gradient(90deg, #A00517, #E93030)',
+				subimg:require("@/static/images/submit.png"),
+				codetit:"核销成功"
+			}
+		},
+		methods:{
+			getTop(e){
+				this.padtop=e
+			},
+			getCodeFn(){
+				var that=this;
+				uni.redirectTo({
+					url:'/pages/code/code'
+				})
+			},
+			getHome(){
+				uni.switchTab({
+					url:"/pages/index/index"
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.sub{box-sizing: border-box;width: 100%;min-height: 100vh;}
+	.sub_img{width: 238rpx;height: 256rpx;display: block;margin:0 auto 56rpx;}
+	.sub_tit{font-size: 30rpx;font-weight: bold;
+color: #000000;margin-bottom: 20rpx;text-align: center;}
+	.sub_txt{font-size: 26rpx;color: #666666;text-align: center;width: 260rpx;margin: 0 auto 90rpx;}
+	.sub_back{width: 416rpx;height:84rpx;width: 208px;
+height: 42px;
+background: linear-gradient(90deg, #A00517, #E93030);
+border-radius: 21px;display: flex;align-items: center;justify-content: center;font-size: 30rpx;color: #ffffff;margin:0 auto 0;}
+	.pt28{padding-top: 56rpx;}
+	.sub_home{font-size: 0.26rem;color: #AAAAAA;text-align: center;position: fixed;bottom: 1rem;left: 50%;transform: translateX(-50%);}
+</style>

+ 192 - 0
partybuilding-wx/pages/index/wufa.vue

@@ -0,0 +1,192 @@
+<template>
+	<view class="index" :style="'padding-top:'+padtop+'px'">
+		<!-- 头部 -->
+		<navbar :back="false" title="扫码登录" :bgcolor="backgroundColor" color="#fff" fixed zIndex="1010" :center="true"
+			:custom='true' @getTop="getTop" back="true" />
+		<view class="header">
+			<img :src="subimg" alt="" class="img">
+			<span class="sapn">扫码成功</span>
+			<view class="sub_txt">请确认授权登录</view>
+		</view>
+		<view class="naver" @click="smit">
+			授权登录
+		</view>
+	</view>
+</template>
+
+<script>
+	import url from "@/util/url";
+	let {
+		host
+	} = url
+	export default {
+		data() {
+			return {
+				type: 0, //判断是否是登录页面跳转的
+				telephone: '',
+				subimg: require("@/static/images/submit.png"),
+				padtop: this.$http._GET.customBarH || 0,
+				backgroundColor: 'linear-gradient(90deg, #A00517, #E93030)',
+			};
+		},
+		onLoad(e) {
+			console.log(e)
+			this.type = e.code
+			// this.telephone = 15855353281
+			this.telephone = uni.getStorageSync('phone')
+		},
+		onUnload() {
+			uni.switchTab({
+				url: '/pages/tab/about_we',
+			})
+		},
+
+		methods: {
+			getTop(e) {
+				this.padtop = e
+			},
+			smit() {
+				var _this = this
+				let object = {
+					"uuid": _this.type,
+					"phone": _this.telephone,
+					// cardType:'ID_CARD',
+				};
+				uni.request({
+					url: host + '/scanCode/phoneScanLogin', 
+					method: 'POST',
+					data: JSON.stringify(object),
+					header: {
+						'Content-Type': 'application/json',
+					},
+					success: function(res) {
+						console.log(res)
+						if (res.data.code == "200") {
+							uni.showToast({
+								title: '登录成功',
+								duration: 1000,
+								icon: 'none'
+							});
+							setTimeout(() => {
+								uni.navigateBack({
+									delta: 2
+								})
+							}, 1000)
+						} else {
+							uni.showToast({
+								title: res.msg,
+								duration: 1000,
+								icon: 'none'
+							});
+						}
+					},
+					fail: function(error) {
+						uni.showToast({
+							title: error.msg,
+							duration: 1000,
+							icon: 'none'
+						});
+					}
+				})
+				// console.log(object)
+				// this.$http.post("scanCode/phoneScanLogin",JSON.stringify(object),true).then(res => {
+				// 	console.log(res)
+				// 	if(res.code=="200"){
+				// 		uni.showToast({
+				// 			title: '登录成功',
+				// 			duration: 1000,
+				// 			icon: 'none'
+				// 		});
+				// 		setTimeout(() => {
+				// 			uni.navigateBack({
+				// 				delta:2
+				// 			})
+				// 		},1000)
+				// 	}else {
+				// 		uni.showToast({
+				// 			title: res.msg,
+				// 			duration: 1000,
+				// 			icon: 'none'
+				// 		});
+				// 	}
+				// })
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.index {
+		height: 100vh;
+
+		// background-color: #dbebf8;
+		.header {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			padding-top: 132upx;
+			box-sizing: border-box;
+
+			.img {
+				width: 238rpx;
+				height: 256rpx;
+				display: block;
+				margin: 0 auto 56rpx;
+				// width: 400upx;
+			}
+
+			span {
+				font-size: 35upx;
+				color: #666;
+				width: 414upx;
+				text-align: center;
+				line-height: 50upx;
+
+			}
+
+			.sapn {
+				font-size: 42upx;
+				color: #333;
+				// width: 414upx;
+				font-weight: 700;
+				text-align: center;
+				line-height: 50upx;
+				margin-bottom: 15upx;
+
+			}
+
+			.sapnteo {
+				font-size: 28upx;
+				color: #666;
+				// width: 414upx;
+				// font-weight: 700;
+				text-align: center;
+				line-height: 50upx;
+			}
+		}
+
+	}
+
+	.sub_txt {
+		font-size: 26rpx;
+		color: #666666;
+		text-align: center;
+		width: 260rpx;
+		margin: 0 auto 90rpx;
+	}
+
+	.naver {
+		width: 416rpx;
+		height: 84rpx;
+		width: 208px;
+		height: 42px;
+		background: linear-gradient(90deg, #A00517, #E93030);
+		border-radius: 21px;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		font-size: 30rpx;
+		color: #ffffff;
+		margin: 0 auto 0;
+	}
+</style>

+ 322 - 0
partybuilding-wx/pages/login/login.vue

@@ -0,0 +1,322 @@
+<template>
+	<view class="login" >
+		<view :style="'padding-top:'+padtop+'px'">
+			<navbar :back="false" :bgcolor="backgroundColor" fixed zIndex="1010" :center="true"	:custom='true' @getTop="getTop" back="true"/>
+			<view class="login_tit">潜山信惠</view>
+			<view style="padding-bottom: 56rpx;">
+				<view class="login_i">
+					<image :src="zimg"></image>
+					<input  placeholder="请输入账号" v-model="formData.username"/>
+				</view>
+				<view class="login_i">
+					<image :src="mimg"></image>
+					<input  placeholder="请输入密码" type="password" v-model="formData.password"/>
+				</view>
+			</view>
+			<view class="login_btn btn1" @click="passwordlogin">账号登录</view>
+			<button  type="primary" class="login_btn btn2" open-type="getUserInfo" @getuserinfo="getuserinfo">
+				<text class="btn-txt">快速登录</text>
+			</button>
+
+			<!-- 显示弹窗 -->
+			<div class="box_hei" @click="btn" v-if="box_status">
+				<div  @click.stop="btns" class="hei_box">
+					<div class="box_top">
+						<div class="box_title">
+							<div>
+								潜山信惠 申请使用
+							</div>
+						</div>
+						<div class="box_nameq">你的手机号码</div>
+					</div>
+					<!-- <div class="boxs"></div> -->
+					<div class="box_btns">
+						<div @click="btn" class="box_btn box_btn1">拒绝</div>
+						<button class="box_btn box_btn2" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">允许</button>
+					</div>
+				</div>
+			</div>
+		</view>
+		
+		
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				padtop:this.$http._GET.customBarH||0,
+				backgroundColor:'transparent',
+				zimg:require("static/images/loginz.png"),
+				mimg:require("static/images/loginm.png"),
+				formData: {
+					username: '',
+					password: ''
+				},
+				box_status: false,
+				userId:''
+			}
+		},
+		onLoad() {
+			uni.clearStorage()
+		},
+		methods:{
+			getTop(e){
+				this.padtop=e
+			},
+			btns() {
+				
+			},
+			btn() {
+				this.box_status = false
+			},
+			// 手机号登录
+			passwordlogin() {
+				if(!this.formData.username){
+					uni.showToast({
+						title: "请输入账号",
+						duration: 1000,
+						icon: 'none'
+					});
+					return
+				}
+				if(!this.formData.password){
+					uni.showToast({
+						title: "请输入密码",
+						duration: 1000,
+						icon: 'none'
+					});
+					return
+				}
+				// this.$http.post('boman-auth/login', this.formData).then(res=>{
+				this.$http.post('loginApp', this.formData).then(res=>{
+					if(res.code == 200 ) {
+						this.userId=res.userId;
+						uni.setStorageSync('token', res.token)
+						uni.setStorageSync('userId', res.userId)
+						uni.setStorageSync('businessId',res.settledMerchants.businessId)
+						uni.setStorageSync('phone', res.settledMerchants.businessPhone)
+						 setTimeout(function(){
+						 	uni.switchTab({
+						 	    url: '/pages/index/index',
+						 	});
+						 },1000)
+						// this.getUserInfoes();
+						// uni.switchTab({
+						//     url: '/pages/index/index',
+						// });
+					} else{
+						uni.showToast({
+							title: res.msg,
+							duration: 1000,
+							icon: 'none'
+						});
+					}
+				})
+			},
+			// 快捷登录
+			async getPhoneNumber(e){
+				console.log(e)
+				const {iv,encryptedData} = e.detail
+				console.log(iv,encryptedData)
+				let res = await this.$http.uniApi({events: uni.login})
+						if(res.code) {
+							// console.log(res,9876)
+							this.$http.post("applet/login",{
+								iv: iv,
+								encryptedData: encryptedData,
+								code : res.code,
+								// mode:this.mode,
+								// userInfo:this.userInfo
+							}).then(red => {
+								// console.log(red)
+								if(red.code == 200){
+									// console.log(JSON.parse(red.data).phoneNumber,9999)
+									this.box_status = false;
+									this.userId=red.data.userId;
+									uni.setStorageSync('token', red.data.access_token)
+									uni.setStorageSync('userId', red.data.userId)
+									uni.setStorageSync('businessId',red.data.settledMerchants.businessId)
+									uni.setStorageSync('phone', red.data.settledMerchants.businessPhone)
+									// this.getUserInfoes();
+									uni.switchTab({
+									    url: '/pages/index/index',
+									});
+									// uni.navigateTo({
+									// 	url: '/pages/index/index'
+									// })
+								}else{
+									uni.showToast({
+										title: red.msg,
+										duration: 1000,
+										icon: 'none'
+									});
+								}
+							})
+						}
+			},
+			// 个人信息
+			getUserInfoes() {
+				this.$http.get('system/user/'+this.userId).then(res=>{
+					// console.log(JSON.stringify(res))
+					if(res.code == 200 ) {
+						uni.setStorageSync('phone', res.data.phonenumber)   
+						 setTimeout(function(){
+						 	uni.switchTab({
+						 	    url: '/pages/index/index',
+						 	});
+						 },1000)
+					} 
+				})
+			},
+			async getuserinfo(e) {
+				console.log(e,9999)
+				const {nickName, avatarUrl, ...userInfo} = e.detail.userInfo
+				// uni.navigateTo({
+				// 	url: `login_phone?nickName=${nickName}&avatarUrl=${avatarUrl}`
+				// })
+				try{
+					let res = await this.$http.uniApi({events: uni.login})
+					if(res.code) {
+						// console.log(res)
+						// console.log(res.code)
+						// console.log(nickName)
+						// console.log(avatarUrl)
+						this.avatarUrl = avatarUrl
+						this.nickName = nickName
+						this.code = res.code
+						this.userInfo =e.detail.userInfo
+						uni.setStorageSync('userInfo', e.detail.userInfo)
+						// this.bindUserinfo({code: res.code, nickName, avatarUrl})
+						this.box_status=true
+					}
+				} catch(e){
+					//TODO handle the exception
+				}
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.login{height: 100vh;background: url("@/static/images/bg.png") no-repeat;width: 100%;box-sizing: border-box;background-size: 100% 100%;padding: 0 74rpx;}
+	.login_tit{font-size: 56rpx;font-weight: bold;color: #000000;padding-top: 60rpx;margin-bottom: 160rpx;}
+	.login_i{
+		display: flex;align-items: center;height:90rpx;box-shadow: 2rpx 4rpx 10rpx 0px rgba(191,191,191,0.4100);padding: 0 32rpx;border-radius: 48rpx;margin-bottom: 28rpx;
+		image{
+			width: 46rpx;height: 44rpx;margin-right: 14rpx;
+		}
+		input{
+			font-size: 28rpx;color: #000000;
+		}
+	}
+	.login_btn{width: 100%;height: 90rpx;display: flex;align-items: center;justify-content: center;font-size: 30rpx;border-radius: 48rpx;
+	&.btn1{background: linear-gradient(90deg, #A00517, #E93030);color: #ffffff;margin-bottom: 28rpx;}
+	&.btn2{border: 1px solid #E4884E;color: #E4884E;background: #fff;}
+	}
+	
+	// 快捷登录弹窗
+	.box_hei{
+		width: 100%;
+		height: 100%;
+		background: rgba(0,0,0,.8);
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 3;
+		.hei_box{
+			background: #fff;
+			border-radius:22upx 22upx 0 0;
+			height: 440upx;
+			padding: 52upx 28upx 104upx;
+			position: absolute;
+			bottom:0;
+			width: 100%;
+			box-sizing: border-box;
+			.box_top{
+				padding: 0 18upx 62upx;
+				.box_title{
+					display: flex;
+					justify-content: space-between;
+					font-size: 30upx;
+					margin-bottom: 30upx;
+					div{
+						display: flex;
+						align-items: center;
+						color: #333333;
+					}
+					.img{
+						margin-right: 14upx;
+						width: 180upx;
+						height: 48upx;
+					}
+					.imgs{
+						width: 40upx;
+						height: 40upx;
+					}
+				}
+				.box_nameq{
+					color: #333333;
+					font-size: 44upx;
+					font-weight: bold;
+				}
+			}
+			.box_phone{
+				height: 106upx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				font-size: 28upx;
+				color: #A6A6A6;
+				border-bottom: 1upx solid #EBEBEB;
+				border-top: 1upx solid #EBEBEB;
+				div{
+					display: flex;
+					align-items: center;
+				}
+				.img{
+					width: 26upx;
+					height: 22upx;
+				}
+				span{
+					color: #333333;
+					font-size: 32upx;
+					padding-right: 18upx;
+					font-weight: bold;
+				}
+			}
+			.box_qita{
+				height: 106upx;
+				font-size: 28upx;
+				color: #7CA4FC;
+				line-height: 106upx;
+			}
+			.boxs{
+				height: 50upx;
+			}
+			.box_btns{
+				margin-top: 10upx;
+				display: flex;
+				justify-content: space-between;
+				.box_btn{
+					width: 324upx;
+					height: 82upx;
+					font-size: 32upx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					border-radius: 4upx;
+				}
+				.box_btn1{
+					background: #F3F3F3;
+					color: #33B925;
+				}
+				.box_btn2{
+					background: #37962B;
+					color: #FFFFFF;
+				}
+			}
+		}
+	}
+</style>

+ 136 - 0
partybuilding-wx/pages/login/updatpaw.vue

@@ -0,0 +1,136 @@
+<template>
+	<view class="updat" :style="'padding-top:'+padtop+'px'">
+		<!-- 头部 -->
+		<navbar :back="false" title="修改密码" :bgcolor="backgroundColor" color="#fff" fixed zIndex="1010" :center="true"
+			:custom='true' @getTop="getTop" back="true" />
+		<view>
+			<view class="updatb">
+				<view class="updatba">新密码</view>
+				<input placeholder="请输入新密码" v-model="newpassword" class="updatbi" />
+			</view>
+			<view class="updatb">
+				<view class="updatba">再次确认密码</view>
+				<input placeholder="请再次输入新密码" v-model="password" class="updatbi" />
+			</view>
+		</view>
+		<view class="login_btn btn1" @click="getSureFn">确认修改</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				padtop: this.$http._GET.customBarH||0,
+				backgroundColor: 'linear-gradient(90deg, #A00517, #E93030)',
+				newpassword: '',
+				password: '',
+			}
+		},
+		onLoad(e) {
+			this.userName=e.userName
+		},
+		methods: {
+			getTop(e) {
+				this.padtop = e
+			},
+			getSureFn() {
+				if(!this.newpassword||!this.password){
+					uni.showToast({
+						title:"请输入完整",
+						icon:'none'
+					})
+					return
+				}
+				if(this.newpassword.length<6){
+					uni.showToast({
+						title: '请输入至少六位数密码',
+						icon: 'none'
+					})
+					return
+				}
+				if (this.newpassword != this.password) {
+					uni.showToast({
+						title: '两次密码输入不同,请修改',
+						icon: 'none'
+					})
+					return
+				}
+				var userId = uni.getStorageSync('userId')
+				var params={
+					userId:userId,
+					password:this.password,
+					userName:this.userName
+				}
+				this.$http.post('system/user/updatePwd',params).then(res=>{
+					if(res.code == 200 ) {
+						uni.showToast({
+							title:"修改成功,请重新登录",
+							duration: 1000,
+							icon: 'none'
+						})
+						setTimeout(function(){
+							uni.removeStorageSync("userId")
+							uni.removeStorageSync("token")
+							uni.reLaunch({
+								url:"/pages/login/login"
+							})
+						},1000)
+						
+					}else{
+						uni.showToast({
+							title: res.msg,
+							duration: 1000,
+							icon: 'none'
+						});
+					} 
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.updat {
+		padding: 0 32rpx;
+		min-height: 100vh;
+		box-sizing: border-box;
+		background: #ffffff;
+	}
+
+	.updatb {
+		min-height: 100rpx;
+		display: flex;
+		align-items: center;
+		padding: 18rpx 0;
+		border-bottom: 2rpx solid #f5f5f5;
+		box-sizing: border-box;
+	}
+
+	.updatba {
+		font-size: 28rpx;
+		font-weight: bold;
+		color: #000000;
+		flex: 0 0 auto;
+	}
+
+	.updatbi {
+		flex: 1;
+		text-align: right;
+		font-size: 28rpx;
+		color: #000;
+	}
+
+	.login_btn {
+		width: 100%;
+		height: 90rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		font-size: 30rpx;
+		border-radius: 48rpx;
+		background: linear-gradient(90deg, #A00517, #E93030);
+		color: #ffffff;
+		margin-top: 120rpx;
+	}
+</style>

+ 192 - 0
partybuilding-wx/pages/mine/mine.vue

@@ -0,0 +1,192 @@
+<template>
+	<view class="mine">
+		<view :style="'padding-top:'+padtop+'px'">
+			<navbar title="我的" :back="false" :bgcolor="backgroundColor" fixed zIndex="1010" :center="true"	:custom='true' @getTop="getTop" color="#fff"/>
+			
+			<view class="head">
+				<image :src="headimg" class="headimg"></image>
+				<view class="headt">
+					<view class="headtit">{{userInfo.userName}}</view>
+					<view class="flext">
+						<image :src="adrimg" class="headai"></image>
+						<view class="headat">{{userInfo.nickName}}</view>
+					</view>
+				</view>
+			</view>
+			<view class="mine_b">
+				<view class="mine_l" @click="getrecond">
+					<image :src="mineh" class="mine_limg"></image>
+					<view class="mine_lt">核销记录</view>
+					<image :src="rimg" class="mine_lr"></image>
+				</view>
+				<view class="mine_l" @click="getUse">
+					<image :src="mineu" class="mine_limg"></image>
+					<view class="mine_lt">使用指南</view>
+					<image :src="rimg" class="mine_lr"></image>
+				</view>
+				<view class="mine_l" @click="getScLogin">
+					<image :src="mined" class="mine_limg"></image>
+					<view class="mine_lt">扫码登录</view>
+					<image :src="rimg" class="mine_lr"></image>
+				</view>
+				<view class="mine_l" @click="getUpdate">
+					<image :src="minex" class="mine_limg"></image>
+					<view class="mine_lt">修改密码</view>
+					<image :src="rimg" class="mine_lr"></image>
+				</view>
+				<view class="mine_l" @click="getOut">
+					<image :src="mineo" class="mine_limg"></image>
+					<view class="mine_lt">退出登录</view>
+					<image :src="rimg" class="mine_lr"></image>
+				</view>
+			</view>
+			
+			<view class="bgbox" v-if="outflag"></view>
+			<view v-if="outflag" class="outbox">
+				<view class="outboxtit">退出登录</view>
+				<view class="outboxtxt">是否确认退出当前账号?</view>
+				<view class="outboxbtn">
+					<view class="outbox_btn btn1" @click="getClose">我在想想</view>
+					<view class="outbox_btn btn2" @click="getSure">立即退出</view>
+				</view>
+			</view>
+			<!-- 底部 导航栏  currentPage 当前页面ID -->
+			<tab-bar :currentPage="2"></tab-bar>
+		</view>
+		
+	</view>
+	
+</template>
+
+<script>
+	import tabBar from "@/components/tabbar/tabbar.vue"
+	export default{
+		data(){
+			return{
+				padtop:this.$http._GET.customBarH||0,
+				backgroundColor:'transparent',
+				headimg:require("static/images/headimg.png"),
+				adrimg:require("static/images/adrimg.png"),
+				mineh:require("static/images/mineh.png"),
+				mineu:require("static/images/mineu.png"),
+				mined:require("static/images/mined.png"),
+				minex:require("static/images/minex.png"),
+				mineo:require("static/images/out.png"),
+				rimg:require('static/images/backrimg.png'),
+				userId:'',
+				userInfo:{},
+				outflag:false
+			}
+		},
+		components: {
+			tabBar
+		},
+		onLoad() {
+			this.getUserInfo()
+		},
+		methods:{
+			getTop(e){
+				this.padtop=e
+			},
+			getrecond(){
+				var businessId=uni.getStorageSync('businessId')
+				if(businessId&&businessId=='-1'){
+					uni.showToast({
+						title:'暂无核销记录',
+						icon:"none"
+					})
+				}else{
+					this.$http.routePage('/pages/index/record','nav')
+				}
+			},
+			getUse(){
+				this.$http.routePage('/pages/index/guidedetail?type=use','nav')
+			},
+			// 扫码登录
+			getScLogin(){
+				uni.navigateTo({
+					url:'/pages/index/scan'
+				})
+			},
+			getUpdate(){
+				uni.navigateTo({
+					url:'/pages/login/updatpaw?userName='+this.userInfo.userName
+				})
+			},
+			getOut(){
+				this.outflag=true
+			},
+			getClose(){
+				this.outflag=false
+			},
+			getSure(){
+				this.outflag=false
+				uni.clearStorage()
+				uni.reLaunch({
+					url: '/pages/login/login'
+				})
+			},
+			getUserInfo() {
+				var userId=this.userId
+				if(!userId){
+					userId = uni.getStorageSync('userId')||''
+					if(!userId){
+						uni.reLaunch({
+							url: '/pages/login/login'
+						})
+						return
+					}
+				}
+				this.userId=userId
+				this.$http.get('system/user/'+userId).then(res=>{
+					// console.log(JSON.stringify(res))
+					if(res.code == 200 ) {
+						this.userInfo = res.data
+						
+						// 手机号是否展示
+						// var d=['city01','queryApp','queryApp','city02']
+						// var roles=res.roles.some((ite,idx)=>{
+						// 	if(ite=='queryApp'){
+						// 		return true
+						// 	}
+						// })
+						// uni.setStorageSync('roles', roles)   
+
+						// uni.setStorageSync('phone', this.userInfo.phonenumber)   
+					} 
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.flext{display: flex;align-items: flex-start;}
+	.mine{width: 100%;background: url("@/static/images/minebg.png") no-repeat;background-size: 100%562rpx;min-height: 100vh;padding: 82rpx 34rpx 0;box-sizing: border-box;}
+	
+	.head{padding: 0 30rpx;display: flex;align-items: center;
+		.headimg{width: 116rpx;height: 122rpx;margin-right: 28rpx;flex:0 0 auto;}
+		.headt{overflow: hidden;
+			.headtit{font-size: 34rpx;font-weight: bold;color: #FFFFFF;margin-bottom: 16rpx;}
+			.headai{width: 36rpx;height: 38rpx;margin-top: 8rpx;flex:0 0 auto;}
+			.headat{font-size: 26rpx;color: #FBDADC;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
+		}	
+	}
+	.mine_b{margin-top: 38rpx;width: 100%;background: #FFFFFF;box-shadow: 4rpx 6rpx 6rpx 0px rgba(91,91,91,0.2000);border-radius: 10rpx;}
+	.mine_l{padding: 24rpx 32rpx 24rpx 28rpx;display: flex;align-items: center;min-height: 100rpx;box-sizing: border-box;}
+	.mine_limg{width: 52rpx;height: 52rpx;margin-right: 18rpx;flex: 0 0 auto;}
+	.mine_lt{font-size: 28rpx;font-weight: 400;flex: 1;}
+	.mine_lr{width: 16rpx;height: 28rpx;flex: 0 0 auto;}
+	.bgbox{position: fixed;left: 0;right: 0;bottom: 0;top: 0;background-color: rgba(0,0,0,0.5);z-index: 1200;}
+	.outbox{width: 600rpx;border-radius: 30rpx;background-color: #fff;position: fixed;left:75rpx;right:75rpx;z-index: 1300;top: 50%;transform: translateY(-100rpx);
+		.outboxtit{display: flex;flex-direction: row;justify-content: center;padding-top: 30rpx; padding-bottom: 10rpx;font-size: 32rpx;color: #909399;}
+		.outboxtxt{display: flex;flex-direction: row;justify-content: center;align-items: center; padding: 10rpx 30rpx 30rpx 30rpx;font-size: 28rpx;color: #6e6e6e;}
+		.outboxbtn{display: flex;flex-direction: row;border-top: 2rpx solid #f5f5f5;
+		 .outbox_btn{display: flex;flex: 1; flex-direction: row;justify-content: center;align-items: center;height: 90rpx;font-size: 28rpx;
+			&.btn1{color: #009de7;}
+			&.btn2{color: red;border-left:2rpx solid #f5f5f5;}
+		 }
+			
+		}
+	}
+</style>

BIN
partybuilding-wx/static/images/adrimg.png


BIN
partybuilding-wx/static/images/backrimg.png


BIN
partybuilding-wx/static/images/banner.png


BIN
partybuilding-wx/static/images/bg.png


BIN
partybuilding-wx/static/images/del.png


BIN
partybuilding-wx/static/images/headimg.png


BIN
partybuilding-wx/static/images/hicon.png


BIN
partybuilding-wx/static/images/icon_zt_back.png


BIN
partybuilding-wx/static/images/loginm.png


BIN
partybuilding-wx/static/images/loginz.png


BIN
partybuilding-wx/static/images/minebg.png


BIN
partybuilding-wx/static/images/mined.png


BIN
partybuilding-wx/static/images/mineh.png


BIN
partybuilding-wx/static/images/mineu.png


BIN
partybuilding-wx/static/images/minex.png


BIN
partybuilding-wx/static/images/out.png


BIN
partybuilding-wx/static/images/rico.png


BIN
partybuilding-wx/static/images/search.png


BIN
partybuilding-wx/static/images/sm.png


BIN
partybuilding-wx/static/images/submit.png


BIN
partybuilding-wx/static/images/use.png


BIN
partybuilding-wx/static/logo.png


BIN
partybuilding-wx/static/table/tab1.png


BIN
partybuilding-wx/static/table/tab1_pre.png


BIN
partybuilding-wx/static/table/tab2.png


BIN
partybuilding-wx/static/table/tab2_pre.png


BIN
partybuilding-wx/static/table/tab_code.png


+ 76 - 0
partybuilding-wx/uni.scss

@@ -0,0 +1,76 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+
+/* 颜色变量 */
+
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* 文字基本颜色 */
+$uni-text-color:#333;//基本色
+$uni-text-color-inverse:#fff;//反色
+$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
+$uni-text-color-placeholder: #808080;
+$uni-text-color-disable:#c0c0c0;
+
+/* 背景颜色 */
+$uni-bg-color:#ffffff;
+$uni-bg-color-grey:#f8f8f8;
+$uni-bg-color-hover:#f1f1f1;//点击状态颜色
+$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color:#c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm:12px;
+$uni-font-size-base:14px;
+$uni-font-size-lg:16;
+
+/* 图片尺寸 */
+$uni-img-size-sm:20px;
+$uni-img-size-base:26px;
+$uni-img-size-lg:40px;
+
+/* Border Radius */
+$uni-border-radius-sm: 2px;
+$uni-border-radius-base: 3px;
+$uni-border-radius-lg: 6px;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 5px;
+$uni-spacing-row-base: 10px;
+$uni-spacing-row-lg: 15px;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 4px;
+$uni-spacing-col-base: 8px;
+$uni-spacing-col-lg: 12px;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2C405A; // 文章标题颜色
+$uni-font-size-title:20px;
+$uni-color-subtitle: #555555; // 二级标题颜色
+$uni-font-size-subtitle:26px;
+$uni-color-paragraph: #3F536E; // 文章段落颜色
+$uni-font-size-paragraph:15px;

+ 22 - 0
partybuilding-wx/uni_modules/uni-icons/changelog.md

@@ -0,0 +1,22 @@
+## 1.3.5(2022-01-24)
+- 优化 size 属性可以传入不带单位的字符串数值
+## 1.3.4(2022-01-24)
+- 优化 size 支持其他单位
+## 1.3.3(2022-01-17)
+- 修复 nvue 有些图标不显示的bug,兼容老版本图标
+## 1.3.2(2021-12-01)
+- 优化 示例可复制图标名称
+## 1.3.1(2021-11-23)
+- 优化 兼容旧组件 type 值
+## 1.3.0(2021-11-19)
+- 新增 更多图标
+- 优化 自定义图标使用方式
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons)
+## 1.1.7(2021-11-08)
+## 1.2.0(2021-07-30)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.1.5(2021-05-12)
+- 新增 组件示例地址
+## 1.1.4(2021-02-05)
+- 调整为uni_modules目录规范

+ 1169 - 0
partybuilding-wx/uni_modules/uni-icons/components/uni-icons/icons.js

@@ -0,0 +1,1169 @@
+export default {
+  "id": "2852637",
+  "name": "uniui图标库",
+  "font_family": "uniicons",
+  "css_prefix_text": "uniui-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "25027049",
+      "name": "yanse",
+      "font_class": "color",
+      "unicode": "e6cf",
+      "unicode_decimal": 59087
+    },
+    {
+      "icon_id": "25027048",
+      "name": "wallet",
+      "font_class": "wallet",
+      "unicode": "e6b1",
+      "unicode_decimal": 59057
+    },
+    {
+      "icon_id": "25015720",
+      "name": "settings-filled",
+      "font_class": "settings-filled",
+      "unicode": "e6ce",
+      "unicode_decimal": 59086
+    },
+    {
+      "icon_id": "25015434",
+      "name": "shimingrenzheng-filled",
+      "font_class": "auth-filled",
+      "unicode": "e6cc",
+      "unicode_decimal": 59084
+    },
+    {
+      "icon_id": "24934246",
+      "name": "shop-filled",
+      "font_class": "shop-filled",
+      "unicode": "e6cd",
+      "unicode_decimal": 59085
+    },
+    {
+      "icon_id": "24934159",
+      "name": "staff-filled-01",
+      "font_class": "staff-filled",
+      "unicode": "e6cb",
+      "unicode_decimal": 59083
+    },
+    {
+      "icon_id": "24932461",
+      "name": "VIP-filled",
+      "font_class": "vip-filled",
+      "unicode": "e6c6",
+      "unicode_decimal": 59078
+    },
+    {
+      "icon_id": "24932462",
+      "name": "plus_circle_fill",
+      "font_class": "plus-filled",
+      "unicode": "e6c7",
+      "unicode_decimal": 59079
+    },
+    {
+      "icon_id": "24932463",
+      "name": "folder_add-filled",
+      "font_class": "folder-add-filled",
+      "unicode": "e6c8",
+      "unicode_decimal": 59080
+    },
+    {
+      "icon_id": "24932464",
+      "name": "yanse-filled",
+      "font_class": "color-filled",
+      "unicode": "e6c9",
+      "unicode_decimal": 59081
+    },
+    {
+      "icon_id": "24932465",
+      "name": "tune-filled",
+      "font_class": "tune-filled",
+      "unicode": "e6ca",
+      "unicode_decimal": 59082
+    },
+    {
+      "icon_id": "24932455",
+      "name": "a-rilidaka-filled",
+      "font_class": "calendar-filled",
+      "unicode": "e6c0",
+      "unicode_decimal": 59072
+    },
+    {
+      "icon_id": "24932456",
+      "name": "notification-filled",
+      "font_class": "notification-filled",
+      "unicode": "e6c1",
+      "unicode_decimal": 59073
+    },
+    {
+      "icon_id": "24932457",
+      "name": "wallet-filled",
+      "font_class": "wallet-filled",
+      "unicode": "e6c2",
+      "unicode_decimal": 59074
+    },
+    {
+      "icon_id": "24932458",
+      "name": "paihangbang-filled",
+      "font_class": "medal-filled",
+      "unicode": "e6c3",
+      "unicode_decimal": 59075
+    },
+    {
+      "icon_id": "24932459",
+      "name": "gift-filled",
+      "font_class": "gift-filled",
+      "unicode": "e6c4",
+      "unicode_decimal": 59076
+    },
+    {
+      "icon_id": "24932460",
+      "name": "fire-filled",
+      "font_class": "fire-filled",
+      "unicode": "e6c5",
+      "unicode_decimal": 59077
+    },
+    {
+      "icon_id": "24928001",
+      "name": "refreshempty",
+      "font_class": "refreshempty",
+      "unicode": "e6bf",
+      "unicode_decimal": 59071
+    },
+    {
+      "icon_id": "24926853",
+      "name": "location-ellipse",
+      "font_class": "location-filled",
+      "unicode": "e6af",
+      "unicode_decimal": 59055
+    },
+    {
+      "icon_id": "24926735",
+      "name": "person-filled",
+      "font_class": "person-filled",
+      "unicode": "e69d",
+      "unicode_decimal": 59037
+    },
+    {
+      "icon_id": "24926703",
+      "name": "personadd-filled",
+      "font_class": "personadd-filled",
+      "unicode": "e698",
+      "unicode_decimal": 59032
+    },
+    {
+      "icon_id": "24923351",
+      "name": "back",
+      "font_class": "back",
+      "unicode": "e6b9",
+      "unicode_decimal": 59065
+    },
+    {
+      "icon_id": "24923352",
+      "name": "forward",
+      "font_class": "forward",
+      "unicode": "e6ba",
+      "unicode_decimal": 59066
+    },
+    {
+      "icon_id": "24923353",
+      "name": "arrowthinright",
+      "font_class": "arrow-right",
+      "unicode": "e6bb",
+      "unicode_decimal": 59067
+    },
+		{
+		  "icon_id": "24923353",
+		  "name": "arrowthinright",
+		  "font_class": "arrowthinright",
+		  "unicode": "e6bb",
+		  "unicode_decimal": 59067
+		},
+    {
+      "icon_id": "24923354",
+      "name": "arrowthinleft",
+      "font_class": "arrow-left",
+      "unicode": "e6bc",
+      "unicode_decimal": 59068
+    },
+		{
+		  "icon_id": "24923354",
+		  "name": "arrowthinleft",
+		  "font_class": "arrowthinleft",
+		  "unicode": "e6bc",
+		  "unicode_decimal": 59068
+		},
+    {
+      "icon_id": "24923355",
+      "name": "arrowthinup",
+      "font_class": "arrow-up",
+      "unicode": "e6bd",
+      "unicode_decimal": 59069
+    },
+		{
+		  "icon_id": "24923355",
+		  "name": "arrowthinup",
+		  "font_class": "arrowthinup",
+		  "unicode": "e6bd",
+		  "unicode_decimal": 59069
+		},
+    {
+      "icon_id": "24923356",
+      "name": "arrowthindown",
+      "font_class": "arrow-down",
+      "unicode": "e6be",
+      "unicode_decimal": 59070
+    },{
+      "icon_id": "24923356",
+      "name": "arrowthindown",
+      "font_class": "arrowthindown",
+      "unicode": "e6be",
+      "unicode_decimal": 59070
+    },
+    {
+      "icon_id": "24923349",
+      "name": "arrowdown",
+      "font_class": "bottom",
+      "unicode": "e6b8",
+      "unicode_decimal": 59064
+    },{
+      "icon_id": "24923349",
+      "name": "arrowdown",
+      "font_class": "arrowdown",
+      "unicode": "e6b8",
+      "unicode_decimal": 59064
+    },
+    {
+      "icon_id": "24923346",
+      "name": "arrowright",
+      "font_class": "right",
+      "unicode": "e6b5",
+      "unicode_decimal": 59061
+    },
+		{
+		  "icon_id": "24923346",
+		  "name": "arrowright",
+		  "font_class": "arrowright",
+		  "unicode": "e6b5",
+		  "unicode_decimal": 59061
+		},
+    {
+      "icon_id": "24923347",
+      "name": "arrowup",
+      "font_class": "top",
+      "unicode": "e6b6",
+      "unicode_decimal": 59062
+    },
+		{
+		  "icon_id": "24923347",
+		  "name": "arrowup",
+		  "font_class": "arrowup",
+		  "unicode": "e6b6",
+		  "unicode_decimal": 59062
+		},
+    {
+      "icon_id": "24923348",
+      "name": "arrowleft",
+      "font_class": "left",
+      "unicode": "e6b7",
+      "unicode_decimal": 59063
+    },
+		{
+		  "icon_id": "24923348",
+		  "name": "arrowleft",
+		  "font_class": "arrowleft",
+		  "unicode": "e6b7",
+		  "unicode_decimal": 59063
+		},
+    {
+      "icon_id": "24923334",
+      "name": "eye",
+      "font_class": "eye",
+      "unicode": "e651",
+      "unicode_decimal": 58961
+    },
+    {
+      "icon_id": "24923335",
+      "name": "eye-filled",
+      "font_class": "eye-filled",
+      "unicode": "e66a",
+      "unicode_decimal": 58986
+    },
+    {
+      "icon_id": "24923336",
+      "name": "eye-slash",
+      "font_class": "eye-slash",
+      "unicode": "e6b3",
+      "unicode_decimal": 59059
+    },
+    {
+      "icon_id": "24923337",
+      "name": "eye-slash-filled",
+      "font_class": "eye-slash-filled",
+      "unicode": "e6b4",
+      "unicode_decimal": 59060
+    },
+    {
+      "icon_id": "24923305",
+      "name": "info-filled",
+      "font_class": "info-filled",
+      "unicode": "e649",
+      "unicode_decimal": 58953
+    },
+    {
+      "icon_id": "24923299",
+      "name": "reload-01",
+      "font_class": "reload",
+      "unicode": "e6b2",
+      "unicode_decimal": 59058
+    },
+    {
+      "icon_id": "24923195",
+      "name": "mic_slash_fill",
+      "font_class": "micoff-filled",
+      "unicode": "e6b0",
+      "unicode_decimal": 59056
+    },
+    {
+      "icon_id": "24923165",
+      "name": "map-pin-ellipse",
+      "font_class": "map-pin-ellipse",
+      "unicode": "e6ac",
+      "unicode_decimal": 59052
+    },
+    {
+      "icon_id": "24923166",
+      "name": "map-pin",
+      "font_class": "map-pin",
+      "unicode": "e6ad",
+      "unicode_decimal": 59053
+    },
+    {
+      "icon_id": "24923167",
+      "name": "location",
+      "font_class": "location",
+      "unicode": "e6ae",
+      "unicode_decimal": 59054
+    },
+    {
+      "icon_id": "24923064",
+      "name": "starhalf",
+      "font_class": "starhalf",
+      "unicode": "e683",
+      "unicode_decimal": 59011
+    },
+    {
+      "icon_id": "24923065",
+      "name": "star",
+      "font_class": "star",
+      "unicode": "e688",
+      "unicode_decimal": 59016
+    },
+    {
+      "icon_id": "24923066",
+      "name": "star-filled",
+      "font_class": "star-filled",
+      "unicode": "e68f",
+      "unicode_decimal": 59023
+    },
+    {
+      "icon_id": "24899646",
+      "name": "a-rilidaka",
+      "font_class": "calendar",
+      "unicode": "e6a0",
+      "unicode_decimal": 59040
+    },
+    {
+      "icon_id": "24899647",
+      "name": "fire",
+      "font_class": "fire",
+      "unicode": "e6a1",
+      "unicode_decimal": 59041
+    },
+    {
+      "icon_id": "24899648",
+      "name": "paihangbang",
+      "font_class": "medal",
+      "unicode": "e6a2",
+      "unicode_decimal": 59042
+    },
+    {
+      "icon_id": "24899649",
+      "name": "font",
+      "font_class": "font",
+      "unicode": "e6a3",
+      "unicode_decimal": 59043
+    },
+    {
+      "icon_id": "24899650",
+      "name": "gift",
+      "font_class": "gift",
+      "unicode": "e6a4",
+      "unicode_decimal": 59044
+    },
+    {
+      "icon_id": "24899651",
+      "name": "link",
+      "font_class": "link",
+      "unicode": "e6a5",
+      "unicode_decimal": 59045
+    },
+    {
+      "icon_id": "24899652",
+      "name": "notification",
+      "font_class": "notification",
+      "unicode": "e6a6",
+      "unicode_decimal": 59046
+    },
+    {
+      "icon_id": "24899653",
+      "name": "staff",
+      "font_class": "staff",
+      "unicode": "e6a7",
+      "unicode_decimal": 59047
+    },
+    {
+      "icon_id": "24899654",
+      "name": "VIP",
+      "font_class": "vip",
+      "unicode": "e6a8",
+      "unicode_decimal": 59048
+    },
+    {
+      "icon_id": "24899655",
+      "name": "folder_add",
+      "font_class": "folder-add",
+      "unicode": "e6a9",
+      "unicode_decimal": 59049
+    },
+    {
+      "icon_id": "24899656",
+      "name": "tune",
+      "font_class": "tune",
+      "unicode": "e6aa",
+      "unicode_decimal": 59050
+    },
+    {
+      "icon_id": "24899657",
+      "name": "shimingrenzheng",
+      "font_class": "auth",
+      "unicode": "e6ab",
+      "unicode_decimal": 59051
+    },
+    {
+      "icon_id": "24899565",
+      "name": "person",
+      "font_class": "person",
+      "unicode": "e699",
+      "unicode_decimal": 59033
+    },
+    {
+      "icon_id": "24899566",
+      "name": "email-filled",
+      "font_class": "email-filled",
+      "unicode": "e69a",
+      "unicode_decimal": 59034
+    },
+    {
+      "icon_id": "24899567",
+      "name": "phone-filled",
+      "font_class": "phone-filled",
+      "unicode": "e69b",
+      "unicode_decimal": 59035
+    },
+    {
+      "icon_id": "24899568",
+      "name": "phone",
+      "font_class": "phone",
+      "unicode": "e69c",
+      "unicode_decimal": 59036
+    },
+    {
+      "icon_id": "24899570",
+      "name": "email",
+      "font_class": "email",
+      "unicode": "e69e",
+      "unicode_decimal": 59038
+    },
+    {
+      "icon_id": "24899571",
+      "name": "personadd",
+      "font_class": "personadd",
+      "unicode": "e69f",
+      "unicode_decimal": 59039
+    },
+    {
+      "icon_id": "24899558",
+      "name": "chatboxes-filled",
+      "font_class": "chatboxes-filled",
+      "unicode": "e692",
+      "unicode_decimal": 59026
+    },
+    {
+      "icon_id": "24899559",
+      "name": "contact",
+      "font_class": "contact",
+      "unicode": "e693",
+      "unicode_decimal": 59027
+    },
+    {
+      "icon_id": "24899560",
+      "name": "chatbubble-filled",
+      "font_class": "chatbubble-filled",
+      "unicode": "e694",
+      "unicode_decimal": 59028
+    },
+    {
+      "icon_id": "24899561",
+      "name": "contact-filled",
+      "font_class": "contact-filled",
+      "unicode": "e695",
+      "unicode_decimal": 59029
+    },
+    {
+      "icon_id": "24899562",
+      "name": "chatboxes",
+      "font_class": "chatboxes",
+      "unicode": "e696",
+      "unicode_decimal": 59030
+    },
+    {
+      "icon_id": "24899563",
+      "name": "chatbubble",
+      "font_class": "chatbubble",
+      "unicode": "e697",
+      "unicode_decimal": 59031
+    },
+    {
+      "icon_id": "24881290",
+      "name": "upload-filled",
+      "font_class": "upload-filled",
+      "unicode": "e68e",
+      "unicode_decimal": 59022
+    },
+    {
+      "icon_id": "24881292",
+      "name": "upload",
+      "font_class": "upload",
+      "unicode": "e690",
+      "unicode_decimal": 59024
+    },
+    {
+      "icon_id": "24881293",
+      "name": "weixin",
+      "font_class": "weixin",
+      "unicode": "e691",
+      "unicode_decimal": 59025
+    },
+    {
+      "icon_id": "24881274",
+      "name": "compose",
+      "font_class": "compose",
+      "unicode": "e67f",
+      "unicode_decimal": 59007
+    },
+    {
+      "icon_id": "24881275",
+      "name": "qq",
+      "font_class": "qq",
+      "unicode": "e680",
+      "unicode_decimal": 59008
+    },
+    {
+      "icon_id": "24881276",
+      "name": "download-filled",
+      "font_class": "download-filled",
+      "unicode": "e681",
+      "unicode_decimal": 59009
+    },
+    {
+      "icon_id": "24881277",
+      "name": "pengyouquan",
+      "font_class": "pyq",
+      "unicode": "e682",
+      "unicode_decimal": 59010
+    },
+    {
+      "icon_id": "24881279",
+      "name": "sound",
+      "font_class": "sound",
+      "unicode": "e684",
+      "unicode_decimal": 59012
+    },
+    {
+      "icon_id": "24881280",
+      "name": "trash-filled",
+      "font_class": "trash-filled",
+      "unicode": "e685",
+      "unicode_decimal": 59013
+    },
+    {
+      "icon_id": "24881281",
+      "name": "sound-filled",
+      "font_class": "sound-filled",
+      "unicode": "e686",
+      "unicode_decimal": 59014
+    },
+    {
+      "icon_id": "24881282",
+      "name": "trash",
+      "font_class": "trash",
+      "unicode": "e687",
+      "unicode_decimal": 59015
+    },
+    {
+      "icon_id": "24881284",
+      "name": "videocam-filled",
+      "font_class": "videocam-filled",
+      "unicode": "e689",
+      "unicode_decimal": 59017
+    },
+    {
+      "icon_id": "24881285",
+      "name": "spinner-cycle",
+      "font_class": "spinner-cycle",
+      "unicode": "e68a",
+      "unicode_decimal": 59018
+    },
+    {
+      "icon_id": "24881286",
+      "name": "weibo",
+      "font_class": "weibo",
+      "unicode": "e68b",
+      "unicode_decimal": 59019
+    },
+    {
+      "icon_id": "24881288",
+      "name": "videocam",
+      "font_class": "videocam",
+      "unicode": "e68c",
+      "unicode_decimal": 59020
+    },
+    {
+      "icon_id": "24881289",
+      "name": "download",
+      "font_class": "download",
+      "unicode": "e68d",
+      "unicode_decimal": 59021
+    },
+    {
+      "icon_id": "24879601",
+      "name": "help",
+      "font_class": "help",
+      "unicode": "e679",
+      "unicode_decimal": 59001
+    },
+    {
+      "icon_id": "24879602",
+      "name": "navigate-filled",
+      "font_class": "navigate-filled",
+      "unicode": "e67a",
+      "unicode_decimal": 59002
+    },
+    {
+      "icon_id": "24879603",
+      "name": "plusempty",
+      "font_class": "plusempty",
+      "unicode": "e67b",
+      "unicode_decimal": 59003
+    },
+    {
+      "icon_id": "24879604",
+      "name": "smallcircle",
+      "font_class": "smallcircle",
+      "unicode": "e67c",
+      "unicode_decimal": 59004
+    },
+    {
+      "icon_id": "24879605",
+      "name": "minus-filled",
+      "font_class": "minus-filled",
+      "unicode": "e67d",
+      "unicode_decimal": 59005
+    },
+    {
+      "icon_id": "24879606",
+      "name": "micoff",
+      "font_class": "micoff",
+      "unicode": "e67e",
+      "unicode_decimal": 59006
+    },
+    {
+      "icon_id": "24879588",
+      "name": "closeempty",
+      "font_class": "closeempty",
+      "unicode": "e66c",
+      "unicode_decimal": 58988
+    },
+    {
+      "icon_id": "24879589",
+      "name": "clear",
+      "font_class": "clear",
+      "unicode": "e66d",
+      "unicode_decimal": 58989
+    },
+    {
+      "icon_id": "24879590",
+      "name": "navigate",
+      "font_class": "navigate",
+      "unicode": "e66e",
+      "unicode_decimal": 58990
+    },
+    {
+      "icon_id": "24879591",
+      "name": "minus",
+      "font_class": "minus",
+      "unicode": "e66f",
+      "unicode_decimal": 58991
+    },
+    {
+      "icon_id": "24879592",
+      "name": "image",
+      "font_class": "image",
+      "unicode": "e670",
+      "unicode_decimal": 58992
+    },
+    {
+      "icon_id": "24879593",
+      "name": "mic",
+      "font_class": "mic",
+      "unicode": "e671",
+      "unicode_decimal": 58993
+    },
+    {
+      "icon_id": "24879594",
+      "name": "paperplane",
+      "font_class": "paperplane",
+      "unicode": "e672",
+      "unicode_decimal": 58994
+    },
+    {
+      "icon_id": "24879595",
+      "name": "close",
+      "font_class": "close",
+      "unicode": "e673",
+      "unicode_decimal": 58995
+    },
+    {
+      "icon_id": "24879596",
+      "name": "help-filled",
+      "font_class": "help-filled",
+      "unicode": "e674",
+      "unicode_decimal": 58996
+    },
+    {
+      "icon_id": "24879597",
+      "name": "plus-filled",
+      "font_class": "paperplane-filled",
+      "unicode": "e675",
+      "unicode_decimal": 58997
+    },
+    {
+      "icon_id": "24879598",
+      "name": "plus",
+      "font_class": "plus",
+      "unicode": "e676",
+      "unicode_decimal": 58998
+    },
+    {
+      "icon_id": "24879599",
+      "name": "mic-filled",
+      "font_class": "mic-filled",
+      "unicode": "e677",
+      "unicode_decimal": 58999
+    },
+    {
+      "icon_id": "24879600",
+      "name": "image-filled",
+      "font_class": "image-filled",
+      "unicode": "e678",
+      "unicode_decimal": 59000
+    },
+    {
+      "icon_id": "24855900",
+      "name": "locked-filled",
+      "font_class": "locked-filled",
+      "unicode": "e668",
+      "unicode_decimal": 58984
+    },
+    {
+      "icon_id": "24855901",
+      "name": "info",
+      "font_class": "info",
+      "unicode": "e669",
+      "unicode_decimal": 58985
+    },
+    {
+      "icon_id": "24855903",
+      "name": "locked",
+      "font_class": "locked",
+      "unicode": "e66b",
+      "unicode_decimal": 58987
+    },
+    {
+      "icon_id": "24855884",
+      "name": "camera-filled",
+      "font_class": "camera-filled",
+      "unicode": "e658",
+      "unicode_decimal": 58968
+    },
+    {
+      "icon_id": "24855885",
+      "name": "chat-filled",
+      "font_class": "chat-filled",
+      "unicode": "e659",
+      "unicode_decimal": 58969
+    },
+    {
+      "icon_id": "24855886",
+      "name": "camera",
+      "font_class": "camera",
+      "unicode": "e65a",
+      "unicode_decimal": 58970
+    },
+    {
+      "icon_id": "24855887",
+      "name": "circle",
+      "font_class": "circle",
+      "unicode": "e65b",
+      "unicode_decimal": 58971
+    },
+    {
+      "icon_id": "24855888",
+      "name": "checkmarkempty",
+      "font_class": "checkmarkempty",
+      "unicode": "e65c",
+      "unicode_decimal": 58972
+    },
+    {
+      "icon_id": "24855889",
+      "name": "chat",
+      "font_class": "chat",
+      "unicode": "e65d",
+      "unicode_decimal": 58973
+    },
+    {
+      "icon_id": "24855890",
+      "name": "circle-filled",
+      "font_class": "circle-filled",
+      "unicode": "e65e",
+      "unicode_decimal": 58974
+    },
+    {
+      "icon_id": "24855891",
+      "name": "flag",
+      "font_class": "flag",
+      "unicode": "e65f",
+      "unicode_decimal": 58975
+    },
+    {
+      "icon_id": "24855892",
+      "name": "flag-filled",
+      "font_class": "flag-filled",
+      "unicode": "e660",
+      "unicode_decimal": 58976
+    },
+    {
+      "icon_id": "24855893",
+      "name": "gear-filled",
+      "font_class": "gear-filled",
+      "unicode": "e661",
+      "unicode_decimal": 58977
+    },
+    {
+      "icon_id": "24855894",
+      "name": "home",
+      "font_class": "home",
+      "unicode": "e662",
+      "unicode_decimal": 58978
+    },
+    {
+      "icon_id": "24855895",
+      "name": "home-filled",
+      "font_class": "home-filled",
+      "unicode": "e663",
+      "unicode_decimal": 58979
+    },
+    {
+      "icon_id": "24855896",
+      "name": "gear",
+      "font_class": "gear",
+      "unicode": "e664",
+      "unicode_decimal": 58980
+    },
+    {
+      "icon_id": "24855897",
+      "name": "smallcircle-filled",
+      "font_class": "smallcircle-filled",
+      "unicode": "e665",
+      "unicode_decimal": 58981
+    },
+    {
+      "icon_id": "24855898",
+      "name": "map-filled",
+      "font_class": "map-filled",
+      "unicode": "e666",
+      "unicode_decimal": 58982
+    },
+    {
+      "icon_id": "24855899",
+      "name": "map",
+      "font_class": "map",
+      "unicode": "e667",
+      "unicode_decimal": 58983
+    },
+    {
+      "icon_id": "24855825",
+      "name": "refresh-filled",
+      "font_class": "refresh-filled",
+      "unicode": "e656",
+      "unicode_decimal": 58966
+    },
+    {
+      "icon_id": "24855826",
+      "name": "refresh",
+      "font_class": "refresh",
+      "unicode": "e657",
+      "unicode_decimal": 58967
+    },
+    {
+      "icon_id": "24855808",
+      "name": "cloud-upload",
+      "font_class": "cloud-upload",
+      "unicode": "e645",
+      "unicode_decimal": 58949
+    },
+    {
+      "icon_id": "24855809",
+      "name": "cloud-download-filled",
+      "font_class": "cloud-download-filled",
+      "unicode": "e646",
+      "unicode_decimal": 58950
+    },
+    {
+      "icon_id": "24855810",
+      "name": "cloud-download",
+      "font_class": "cloud-download",
+      "unicode": "e647",
+      "unicode_decimal": 58951
+    },
+    {
+      "icon_id": "24855811",
+      "name": "cloud-upload-filled",
+      "font_class": "cloud-upload-filled",
+      "unicode": "e648",
+      "unicode_decimal": 58952
+    },
+    {
+      "icon_id": "24855813",
+      "name": "redo",
+      "font_class": "redo",
+      "unicode": "e64a",
+      "unicode_decimal": 58954
+    },
+    {
+      "icon_id": "24855814",
+      "name": "images-filled",
+      "font_class": "images-filled",
+      "unicode": "e64b",
+      "unicode_decimal": 58955
+    },
+    {
+      "icon_id": "24855815",
+      "name": "undo-filled",
+      "font_class": "undo-filled",
+      "unicode": "e64c",
+      "unicode_decimal": 58956
+    },
+    {
+      "icon_id": "24855816",
+      "name": "more",
+      "font_class": "more",
+      "unicode": "e64d",
+      "unicode_decimal": 58957
+    },
+    {
+      "icon_id": "24855817",
+      "name": "more-filled",
+      "font_class": "more-filled",
+      "unicode": "e64e",
+      "unicode_decimal": 58958
+    },
+    {
+      "icon_id": "24855818",
+      "name": "undo",
+      "font_class": "undo",
+      "unicode": "e64f",
+      "unicode_decimal": 58959
+    },
+    {
+      "icon_id": "24855819",
+      "name": "images",
+      "font_class": "images",
+      "unicode": "e650",
+      "unicode_decimal": 58960
+    },
+    {
+      "icon_id": "24855821",
+      "name": "paperclip",
+      "font_class": "paperclip",
+      "unicode": "e652",
+      "unicode_decimal": 58962
+    },
+    {
+      "icon_id": "24855822",
+      "name": "settings",
+      "font_class": "settings",
+      "unicode": "e653",
+      "unicode_decimal": 58963
+    },
+    {
+      "icon_id": "24855823",
+      "name": "search",
+      "font_class": "search",
+      "unicode": "e654",
+      "unicode_decimal": 58964
+    },
+    {
+      "icon_id": "24855824",
+      "name": "redo-filled",
+      "font_class": "redo-filled",
+      "unicode": "e655",
+      "unicode_decimal": 58965
+    },
+    {
+      "icon_id": "24841702",
+      "name": "list",
+      "font_class": "list",
+      "unicode": "e644",
+      "unicode_decimal": 58948
+    },
+    {
+      "icon_id": "24841489",
+      "name": "mail-open-filled",
+      "font_class": "mail-open-filled",
+      "unicode": "e63a",
+      "unicode_decimal": 58938
+    },
+    {
+      "icon_id": "24841491",
+      "name": "hand-thumbsdown-filled",
+      "font_class": "hand-down-filled",
+      "unicode": "e63c",
+      "unicode_decimal": 58940
+    },
+    {
+      "icon_id": "24841492",
+      "name": "hand-thumbsdown",
+      "font_class": "hand-down",
+      "unicode": "e63d",
+      "unicode_decimal": 58941
+    },
+    {
+      "icon_id": "24841493",
+      "name": "hand-thumbsup-filled",
+      "font_class": "hand-up-filled",
+      "unicode": "e63e",
+      "unicode_decimal": 58942
+    },
+    {
+      "icon_id": "24841494",
+      "name": "hand-thumbsup",
+      "font_class": "hand-up",
+      "unicode": "e63f",
+      "unicode_decimal": 58943
+    },
+    {
+      "icon_id": "24841496",
+      "name": "heart-filled",
+      "font_class": "heart-filled",
+      "unicode": "e641",
+      "unicode_decimal": 58945
+    },
+    {
+      "icon_id": "24841498",
+      "name": "mail-open",
+      "font_class": "mail-open",
+      "unicode": "e643",
+      "unicode_decimal": 58947
+    },
+    {
+      "icon_id": "24841488",
+      "name": "heart",
+      "font_class": "heart",
+      "unicode": "e639",
+      "unicode_decimal": 58937
+    },
+    {
+      "icon_id": "24839963",
+      "name": "loop",
+      "font_class": "loop",
+      "unicode": "e633",
+      "unicode_decimal": 58931
+    },
+    {
+      "icon_id": "24839866",
+      "name": "pulldown",
+      "font_class": "pulldown",
+      "unicode": "e632",
+      "unicode_decimal": 58930
+    },
+    {
+      "icon_id": "24813798",
+      "name": "scan",
+      "font_class": "scan",
+      "unicode": "e62a",
+      "unicode_decimal": 58922
+    },
+    {
+      "icon_id": "24813786",
+      "name": "bars",
+      "font_class": "bars",
+      "unicode": "e627",
+      "unicode_decimal": 58919
+    },
+    {
+      "icon_id": "24813788",
+      "name": "cart-filled",
+      "font_class": "cart-filled",
+      "unicode": "e629",
+      "unicode_decimal": 58921
+    },
+    {
+      "icon_id": "24813790",
+      "name": "checkbox",
+      "font_class": "checkbox",
+      "unicode": "e62b",
+      "unicode_decimal": 58923
+    },
+    {
+      "icon_id": "24813791",
+      "name": "checkbox-filled",
+      "font_class": "checkbox-filled",
+      "unicode": "e62c",
+      "unicode_decimal": 58924
+    },
+    {
+      "icon_id": "24813794",
+      "name": "shop",
+      "font_class": "shop",
+      "unicode": "e62f",
+      "unicode_decimal": 58927
+    },
+    {
+      "icon_id": "24813795",
+      "name": "headphones",
+      "font_class": "headphones",
+      "unicode": "e630",
+      "unicode_decimal": 58928
+    },
+    {
+      "icon_id": "24813796",
+      "name": "cart",
+      "font_class": "cart",
+      "unicode": "e631",
+      "unicode_decimal": 58929
+    }
+  ]
+}

+ 96 - 0
partybuilding-wx/uni_modules/uni-icons/components/uni-icons/uni-icons.vue

@@ -0,0 +1,96 @@
+<template>
+	<!-- #ifdef APP-NVUE -->
+	<text :style="{ color: color, 'font-size': iconSize }" class="uni-icons" @click="_onClick">{{unicode}}</text>
+	<!-- #endif -->
+	<!-- #ifndef APP-NVUE -->
+	<text :style="{ color: color, 'font-size': iconSize }" class="uni-icons" :class="['uniui-'+type,customPrefix,customPrefix?type:'']" @click="_onClick"></text>
+	<!-- #endif -->
+</template>
+
+<script>
+	import icons from './icons.js';
+	const getVal = (val) => {
+		const reg = /^[0-9]*$/g
+		return (typeof val === 'number' || reg.test(val) )? val + 'px' : val;
+	} 
+	// #ifdef APP-NVUE
+	var domModule = weex.requireModule('dom');
+	import iconUrl from './uniicons.ttf'
+	domModule.addRule('fontFace', {
+		'fontFamily': "uniicons",
+		'src': "url('"+iconUrl+"')"
+	});
+	// #endif
+
+	/**
+	 * Icons 图标
+	 * @description 用于展示 icons 图标
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=28
+	 * @property {Number} size 图标大小
+	 * @property {String} type 图标图案,参考示例
+	 * @property {String} color 图标颜色
+	 * @property {String} customPrefix 自定义图标
+	 * @event {Function} click 点击 Icon 触发事件
+	 */
+	export default {
+		name: 'UniIcons',
+		emits:['click'],
+		props: {
+			type: {
+				type: String,
+				default: ''
+			},
+			color: {
+				type: String,
+				default: '#333333'
+			},
+			size: {
+				type: [Number, String],
+				default: 16
+			},
+			customPrefix:{
+				type: String,
+				default: ''
+			}
+		},
+		data() {
+			return {
+				icons: icons.glyphs
+			}
+		},
+		computed:{
+			unicode(){
+				let code = this.icons.find(v=>v.font_class === this.type)
+				if(code){
+					return unescape(`%u${code.unicode}`)
+				}
+				return ''
+			},
+			iconSize(){
+				return getVal(this.size)
+			}
+		},
+		methods: {
+			_onClick() {
+				this.$emit('click')
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	/* #ifndef APP-NVUE */
+	@import './uniicons.css';
+	@font-face {
+		font-family: uniicons;
+		src: url('./uniicons.ttf') format('truetype');
+	}
+
+	/* #endif */
+	.uni-icons {
+		font-family: uniicons;
+		text-decoration: none;
+		text-align: center;
+	}
+
+</style>

+ 663 - 0
partybuilding-wx/uni_modules/uni-icons/components/uni-icons/uniicons.css

@@ -0,0 +1,663 @@
+.uniui-color:before {
+  content: "\e6cf";
+}
+
+.uniui-wallet:before {
+  content: "\e6b1";
+}
+
+.uniui-settings-filled:before {
+  content: "\e6ce";
+}
+
+.uniui-auth-filled:before {
+  content: "\e6cc";
+}
+
+.uniui-shop-filled:before {
+  content: "\e6cd";
+}
+
+.uniui-staff-filled:before {
+  content: "\e6cb";
+}
+
+.uniui-vip-filled:before {
+  content: "\e6c6";
+}
+
+.uniui-plus-filled:before {
+  content: "\e6c7";
+}
+
+.uniui-folder-add-filled:before {
+  content: "\e6c8";
+}
+
+.uniui-color-filled:before {
+  content: "\e6c9";
+}
+
+.uniui-tune-filled:before {
+  content: "\e6ca";
+}
+
+.uniui-calendar-filled:before {
+  content: "\e6c0";
+}
+
+.uniui-notification-filled:before {
+  content: "\e6c1";
+}
+
+.uniui-wallet-filled:before {
+  content: "\e6c2";
+}
+
+.uniui-medal-filled:before {
+  content: "\e6c3";
+}
+
+.uniui-gift-filled:before {
+  content: "\e6c4";
+}
+
+.uniui-fire-filled:before {
+  content: "\e6c5";
+}
+
+.uniui-refreshempty:before {
+  content: "\e6bf";
+}
+
+.uniui-location-filled:before {
+  content: "\e6af";
+}
+
+.uniui-person-filled:before {
+  content: "\e69d";
+}
+
+.uniui-personadd-filled:before {
+  content: "\e698";
+}
+
+.uniui-back:before {
+  content: "\e6b9";
+}
+
+.uniui-forward:before {
+  content: "\e6ba";
+}
+
+.uniui-arrow-right:before {
+  content: "\e6bb";
+}
+
+.uniui-arrowthinright:before {
+  content: "\e6bb";
+}
+
+.uniui-arrow-left:before {
+  content: "\e6bc";
+}
+
+.uniui-arrowthinleft:before {
+  content: "\e6bc";
+}
+
+.uniui-arrow-up:before {
+  content: "\e6bd";
+}
+
+.uniui-arrowthinup:before {
+  content: "\e6bd";
+}
+
+.uniui-arrow-down:before {
+  content: "\e6be";
+}
+
+.uniui-arrowthindown:before {
+  content: "\e6be";
+}
+
+.uniui-bottom:before {
+  content: "\e6b8";
+}
+
+.uniui-arrowdown:before {
+  content: "\e6b8";
+}
+
+.uniui-right:before {
+  content: "\e6b5";
+}
+
+.uniui-arrowright:before {
+  content: "\e6b5";
+}
+
+.uniui-top:before {
+  content: "\e6b6";
+}
+
+.uniui-arrowup:before {
+  content: "\e6b6";
+}
+
+.uniui-left:before {
+  content: "\e6b7";
+}
+
+.uniui-arrowleft:before {
+  content: "\e6b7";
+}
+
+.uniui-eye:before {
+  content: "\e651";
+}
+
+.uniui-eye-filled:before {
+  content: "\e66a";
+}
+
+.uniui-eye-slash:before {
+  content: "\e6b3";
+}
+
+.uniui-eye-slash-filled:before {
+  content: "\e6b4";
+}
+
+.uniui-info-filled:before {
+  content: "\e649";
+}
+
+.uniui-reload:before {
+  content: "\e6b2";
+}
+
+.uniui-micoff-filled:before {
+  content: "\e6b0";
+}
+
+.uniui-map-pin-ellipse:before {
+  content: "\e6ac";
+}
+
+.uniui-map-pin:before {
+  content: "\e6ad";
+}
+
+.uniui-location:before {
+  content: "\e6ae";
+}
+
+.uniui-starhalf:before {
+  content: "\e683";
+}
+
+.uniui-star:before {
+  content: "\e688";
+}
+
+.uniui-star-filled:before {
+  content: "\e68f";
+}
+
+.uniui-calendar:before {
+  content: "\e6a0";
+}
+
+.uniui-fire:before {
+  content: "\e6a1";
+}
+
+.uniui-medal:before {
+  content: "\e6a2";
+}
+
+.uniui-font:before {
+  content: "\e6a3";
+}
+
+.uniui-gift:before {
+  content: "\e6a4";
+}
+
+.uniui-link:before {
+  content: "\e6a5";
+}
+
+.uniui-notification:before {
+  content: "\e6a6";
+}
+
+.uniui-staff:before {
+  content: "\e6a7";
+}
+
+.uniui-vip:before {
+  content: "\e6a8";
+}
+
+.uniui-folder-add:before {
+  content: "\e6a9";
+}
+
+.uniui-tune:before {
+  content: "\e6aa";
+}
+
+.uniui-auth:before {
+  content: "\e6ab";
+}
+
+.uniui-person:before {
+  content: "\e699";
+}
+
+.uniui-email-filled:before {
+  content: "\e69a";
+}
+
+.uniui-phone-filled:before {
+  content: "\e69b";
+}
+
+.uniui-phone:before {
+  content: "\e69c";
+}
+
+.uniui-email:before {
+  content: "\e69e";
+}
+
+.uniui-personadd:before {
+  content: "\e69f";
+}
+
+.uniui-chatboxes-filled:before {
+  content: "\e692";
+}
+
+.uniui-contact:before {
+  content: "\e693";
+}
+
+.uniui-chatbubble-filled:before {
+  content: "\e694";
+}
+
+.uniui-contact-filled:before {
+  content: "\e695";
+}
+
+.uniui-chatboxes:before {
+  content: "\e696";
+}
+
+.uniui-chatbubble:before {
+  content: "\e697";
+}
+
+.uniui-upload-filled:before {
+  content: "\e68e";
+}
+
+.uniui-upload:before {
+  content: "\e690";
+}
+
+.uniui-weixin:before {
+  content: "\e691";
+}
+
+.uniui-compose:before {
+  content: "\e67f";
+}
+
+.uniui-qq:before {
+  content: "\e680";
+}
+
+.uniui-download-filled:before {
+  content: "\e681";
+}
+
+.uniui-pyq:before {
+  content: "\e682";
+}
+
+.uniui-sound:before {
+  content: "\e684";
+}
+
+.uniui-trash-filled:before {
+  content: "\e685";
+}
+
+.uniui-sound-filled:before {
+  content: "\e686";
+}
+
+.uniui-trash:before {
+  content: "\e687";
+}
+
+.uniui-videocam-filled:before {
+  content: "\e689";
+}
+
+.uniui-spinner-cycle:before {
+  content: "\e68a";
+}
+
+.uniui-weibo:before {
+  content: "\e68b";
+}
+
+.uniui-videocam:before {
+  content: "\e68c";
+}
+
+.uniui-download:before {
+  content: "\e68d";
+}
+
+.uniui-help:before {
+  content: "\e679";
+}
+
+.uniui-navigate-filled:before {
+  content: "\e67a";
+}
+
+.uniui-plusempty:before {
+  content: "\e67b";
+}
+
+.uniui-smallcircle:before {
+  content: "\e67c";
+}
+
+.uniui-minus-filled:before {
+  content: "\e67d";
+}
+
+.uniui-micoff:before {
+  content: "\e67e";
+}
+
+.uniui-closeempty:before {
+  content: "\e66c";
+}
+
+.uniui-clear:before {
+  content: "\e66d";
+}
+
+.uniui-navigate:before {
+  content: "\e66e";
+}
+
+.uniui-minus:before {
+  content: "\e66f";
+}
+
+.uniui-image:before {
+  content: "\e670";
+}
+
+.uniui-mic:before {
+  content: "\e671";
+}
+
+.uniui-paperplane:before {
+  content: "\e672";
+}
+
+.uniui-close:before {
+  content: "\e673";
+}
+
+.uniui-help-filled:before {
+  content: "\e674";
+}
+
+.uniui-paperplane-filled:before {
+  content: "\e675";
+}
+
+.uniui-plus:before {
+  content: "\e676";
+}
+
+.uniui-mic-filled:before {
+  content: "\e677";
+}
+
+.uniui-image-filled:before {
+  content: "\e678";
+}
+
+.uniui-locked-filled:before {
+  content: "\e668";
+}
+
+.uniui-info:before {
+  content: "\e669";
+}
+
+.uniui-locked:before {
+  content: "\e66b";
+}
+
+.uniui-camera-filled:before {
+  content: "\e658";
+}
+
+.uniui-chat-filled:before {
+  content: "\e659";
+}
+
+.uniui-camera:before {
+  content: "\e65a";
+}
+
+.uniui-circle:before {
+  content: "\e65b";
+}
+
+.uniui-checkmarkempty:before {
+  content: "\e65c";
+}
+
+.uniui-chat:before {
+  content: "\e65d";
+}
+
+.uniui-circle-filled:before {
+  content: "\e65e";
+}
+
+.uniui-flag:before {
+  content: "\e65f";
+}
+
+.uniui-flag-filled:before {
+  content: "\e660";
+}
+
+.uniui-gear-filled:before {
+  content: "\e661";
+}
+
+.uniui-home:before {
+  content: "\e662";
+}
+
+.uniui-home-filled:before {
+  content: "\e663";
+}
+
+.uniui-gear:before {
+  content: "\e664";
+}
+
+.uniui-smallcircle-filled:before {
+  content: "\e665";
+}
+
+.uniui-map-filled:before {
+  content: "\e666";
+}
+
+.uniui-map:before {
+  content: "\e667";
+}
+
+.uniui-refresh-filled:before {
+  content: "\e656";
+}
+
+.uniui-refresh:before {
+  content: "\e657";
+}
+
+.uniui-cloud-upload:before {
+  content: "\e645";
+}
+
+.uniui-cloud-download-filled:before {
+  content: "\e646";
+}
+
+.uniui-cloud-download:before {
+  content: "\e647";
+}
+
+.uniui-cloud-upload-filled:before {
+  content: "\e648";
+}
+
+.uniui-redo:before {
+  content: "\e64a";
+}
+
+.uniui-images-filled:before {
+  content: "\e64b";
+}
+
+.uniui-undo-filled:before {
+  content: "\e64c";
+}
+
+.uniui-more:before {
+  content: "\e64d";
+}
+
+.uniui-more-filled:before {
+  content: "\e64e";
+}
+
+.uniui-undo:before {
+  content: "\e64f";
+}
+
+.uniui-images:before {
+  content: "\e650";
+}
+
+.uniui-paperclip:before {
+  content: "\e652";
+}
+
+.uniui-settings:before {
+  content: "\e653";
+}
+
+.uniui-search:before {
+  content: "\e654";
+}
+
+.uniui-redo-filled:before {
+  content: "\e655";
+}
+
+.uniui-list:before {
+  content: "\e644";
+}
+
+.uniui-mail-open-filled:before {
+  content: "\e63a";
+}
+
+.uniui-hand-down-filled:before {
+  content: "\e63c";
+}
+
+.uniui-hand-down:before {
+  content: "\e63d";
+}
+
+.uniui-hand-up-filled:before {
+  content: "\e63e";
+}
+
+.uniui-hand-up:before {
+  content: "\e63f";
+}
+
+.uniui-heart-filled:before {
+  content: "\e641";
+}
+
+.uniui-mail-open:before {
+  content: "\e643";
+}
+
+.uniui-heart:before {
+  content: "\e639";
+}
+
+.uniui-loop:before {
+  content: "\e633";
+}
+
+.uniui-pulldown:before {
+  content: "\e632";
+}
+
+.uniui-scan:before {
+  content: "\e62a";
+}
+
+.uniui-bars:before {
+  content: "\e627";
+}
+
+.uniui-cart-filled:before {
+  content: "\e629";
+}
+
+.uniui-checkbox:before {
+  content: "\e62b";
+}
+
+.uniui-checkbox-filled:before {
+  content: "\e62c";
+}
+
+.uniui-shop:before {
+  content: "\e62f";
+}
+
+.uniui-headphones:before {
+  content: "\e630";
+}
+
+.uniui-cart:before {
+  content: "\e631";
+}

BIN
partybuilding-wx/uni_modules/uni-icons/components/uni-icons/uniicons.ttf


+ 86 - 0
partybuilding-wx/uni_modules/uni-icons/package.json

@@ -0,0 +1,86 @@
+{
+  "id": "uni-icons",
+  "displayName": "uni-icons 图标",
+  "version": "1.3.5",
+  "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。",
+  "keywords": [
+    "uni-ui",
+    "uniui",
+    "icon",
+    "图标"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": "^3.2.14"
+  },
+  "directories": {
+    "example": "../../temps/example_temps"
+  },
+  "dcloudext": {
+    "category": [
+      "前端组件",
+      "通用组件"
+    ],
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+  },
+  "uni_modules": {
+    "dependencies": ["uni-scss"],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "y"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "小程序": {
+          "微信": "y",
+          "阿里": "y",
+          "百度": "y",
+          "字节跳动": "y",
+          "QQ": "y"
+        },
+        "快应用": {
+          "华为": "u",
+          "联盟": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}

+ 8 - 0
partybuilding-wx/uni_modules/uni-icons/readme.md

@@ -0,0 +1,8 @@
+## Icons 图标
+> **组件名:uni-icons**
+> 代码块: `uIcons`
+
+用于展示 icons 图标 。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 

+ 41 - 0
partybuilding-wx/uni_modules/uni-nav-bar/changelog.md

@@ -0,0 +1,41 @@
+## 1.3.6(2022-06-30)
+- 修复 组件示例中插槽用法无法显示内容的bug
+## 1.3.5(2022-05-24)
+- 新增 stat 属性 ,可开启统计title 上报 ,仅使用了title 属性且项目开启了uni统计生效
+## 1.3.4(2022-01-24)
+- 更新 组件示例
+## 1.3.3(2022-01-24)
+- 新增 left-width/right-width属性 ,可修改左右两侧的宽度
+## 1.3.2(2022-01-18)
+- 修复 在vue下,标题不垂直居中的bug
+## 1.3.1(2022-01-18)
+- 修复 height 属性类型错误
+## 1.3.0(2022-01-18)
+- 新增 height 属性,可修改组件高度
+- 新增 dark 属性可可开启暗黑模式
+- 优化 标题字数过多显示省略号
+- 优化 插槽,插入内容可完全覆盖
+## 1.2.1(2022-01-10)
+- 修复 color 属性不生效的bug
+## 1.2.0(2021-11-19)
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-nav-bar](https://uniapp.dcloud.io/component/uniui/uni-nav-bar)
+## 1.1.0(2021-07-30)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.0.11(2021-05-12)
+- 新增 组件示例地址
+## 1.0.10(2021-04-30)
+- 修复 在nvue下fixed为true,宽度不能撑满的Bug
+## 1.0.9(2021-04-21)
+- 优化 添加依赖 uni-icons, 导入后自动下载依赖
+## 1.0.8(2021-04-14)
+- uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug
+
+## 1.0.7(2021-02-25)
+- 修复 easycom 下,找不到 uni-status-bar 的bug
+
+## 1.0.6(2021-02-05)
+- 优化 组件引用关系,通过uni_modules引用组件
+
+## 1.0.5(2021-02-05)
+- 调整为uni_modules目录规范

+ 348 - 0
partybuilding-wx/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue

@@ -0,0 +1,348 @@
+<template>
+	<view class="uni-navbar" :class="{'uni-dark':dark}">
+		<view :class="{ 'uni-navbar--fixed': fixed, 'uni-navbar--shadow': shadow, 'uni-navbar--border': border }"
+			:style="{ 'background-color': themeBgColor }" class="uni-navbar__content">
+			<status-bar v-if="statusBar" />
+			<view :style="{ color: themeColor,backgroundColor: themeBgColor ,height:navbarHeight}"
+				class="uni-navbar__header">
+				<view @tap="onClickLeft" class="uni-navbar__header-btns uni-navbar__header-btns-left"
+					:style="{width:leftIconWidth}">
+					<slot name="left">
+						<view class="uni-navbar__content_view" v-if="leftIcon.length > 0">
+							<uni-icons :color="themeColor" :type="leftIcon" size="20" />
+						</view>
+						<view :class="{ 'uni-navbar-btn-icon-left': !leftIcon.length > 0 }" class="uni-navbar-btn-text"
+							v-if="leftText.length">
+							<text :style="{ color: themeColor, fontSize: '12px' }">{{ leftText }}</text>
+						</view>
+					</slot>
+				</view>
+				<view class="uni-navbar__header-container " @tap="onClickTitle">
+					<slot>
+						<view class="uni-navbar__header-container-inner" v-if="title.length>0">
+							<text class="uni-nav-bar-text uni-ellipsis-1"
+								:style="{color: themeColor }">{{ title }}</text>
+						</view>
+					</slot>
+				</view>
+				<view @click="onClickRight" class="uni-navbar__header-btns uni-navbar__header-btns-right"
+					:style="{width:rightIconWidth}">
+					<slot name="right">
+						<view v-if="rightIcon.length">
+							<uni-icons :color="themeColor" :type="rightIcon" size="22" />
+						</view>
+						<view class="uni-navbar-btn-text" v-if="rightText.length && !rightIcon.length">
+							<text class="uni-nav-bar-right-text" :style="{ color: themeColor}">{{ rightText }}</text>
+						</view>
+					</slot>
+				</view>
+			</view>
+		</view>
+		<view class="uni-navbar__placeholder" v-if="fixed">
+			<status-bar v-if="statusBar" />
+			<view class="uni-navbar__placeholder-view" :style="{ height:navbarHeight}" />
+		</view>
+	</view>
+</template>
+
+<script>
+	import statusBar from "./uni-status-bar.vue";
+	const getVal = (val) => typeof val === 'number' ? val + 'px' : val;
+
+	/**
+	 * NavBar 自定义导航栏
+	 * @description 导航栏组件,主要用于头部导航
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=52
+	 * @property {Boolean} dark 开启黑暗模式
+	 * @property {String} title 标题文字
+	 * @property {String} leftText 左侧按钮文本
+	 * @property {String} rightText 右侧按钮文本
+	 * @property {String} leftIcon 左侧按钮图标(图标类型参考 [Icon 图标](http://ext.dcloud.net.cn/plugin?id=28) type 属性)
+	 * @property {String} rightIcon 右侧按钮图标(图标类型参考 [Icon 图标](http://ext.dcloud.net.cn/plugin?id=28) type 属性)
+	 * @property {String} color 图标和文字颜色
+	 * @property {String} backgroundColor 导航栏背景颜色
+	 * @property {Boolean} fixed = [true|false] 是否固定顶部
+	 * @property {Boolean} statusBar = [true|false] 是否包含状态栏
+	 * @property {Boolean} shadow = [true|false] 导航栏下是否有阴影
+	 * @property {Boolean} stat 是否开启统计标题上报
+	 * @event {Function} clickLeft 左侧按钮点击时触发
+	 * @event {Function} clickRight 右侧按钮点击时触发
+	 * @event {Function} clickTitle 中间标题点击时触发
+	 */
+	export default {
+		name: "UniNavBar",
+		components: {
+			statusBar
+		},
+		emits: ['clickLeft', 'clickRight', 'clickTitle'],
+		props: {
+			dark: {
+				type: Boolean,
+				default: false
+			},
+			title: {
+				type: String,
+				default: ""
+			},
+			leftText: {
+				type: String,
+				default: ""
+			},
+			rightText: {
+				type: String,
+				default: ""
+			},
+			leftIcon: {
+				type: String,
+				default: ""
+			},
+			rightIcon: {
+				type: String,
+				default: ""
+			},
+			fixed: {
+				type: [Boolean, String],
+				default: false
+			},
+			color: {
+				type: String,
+				default: ""
+			},
+			backgroundColor: {
+				type: String,
+				default: ""
+			},
+			statusBar: {
+				type: [Boolean, String],
+				default: false
+			},
+			shadow: {
+				type: [Boolean, String],
+				default: false
+			},
+			border: {
+				type: [Boolean, String],
+				default: true
+			},
+			height: {
+				type: [Number, String],
+				default: 44
+			},
+			leftWidth: {
+				type: [Number, String],
+				default: 60
+			},
+			rightWidth: {
+				type: [Number, String],
+				default: 60
+			},
+			stat: {
+				type: [Boolean, String],
+				default: ''
+			}
+		},
+		computed: {
+			themeBgColor() {
+				if (this.dark) {
+					// 默认值
+					if (this.backgroundColor) {
+						return this.backgroundColor
+					} else {
+						return this.dark ? '#333' : '#FFF'
+					}
+				}
+				return this.backgroundColor || '#FFF'
+			},
+			themeColor() {
+				if (this.dark) {
+					// 默认值
+					if (this.color) {
+						return this.color
+					} else {
+						return this.dark ? '#fff' : '#333'
+					}
+				}
+				return this.color || '#333'
+			},
+			navbarHeight() {
+				return getVal(this.height)
+			},
+			leftIconWidth() {
+				return getVal(this.leftWidth)
+			},
+			rightIconWidth() {
+				return getVal(this.rightWidth)
+			}
+		},
+		mounted() {
+			if (uni.report && this.stat && this.title !== '') {
+				uni.report('title', this.title)
+			}
+		},
+		methods: {
+			onClickLeft() {
+				this.$emit("clickLeft");
+			},
+			onClickRight() {
+				this.$emit("clickRight");
+			},
+			onClickTitle() {
+				this.$emit("clickTitle");
+			}
+		}
+	};
+</script>
+
+<style lang="scss" scoped>
+	$nav-height: 44px;
+
+	.uni-navbar {
+		// box-sizing: border-box;
+	}
+
+	.uni-nav-bar-text {
+		/* #ifdef APP-PLUS */
+		font-size: 34rpx;
+		/* #endif */
+		/* #ifndef APP-PLUS */
+		font-size: 14px;
+		/* #endif */
+	}
+
+	.uni-nav-bar-right-text {
+		font-size: 12px;
+	}
+
+	.uni-navbar__content {
+		position: relative;
+		// background-color: #fff;
+		// box-sizing: border-box;
+		background-color: transparent;
+	}
+
+	.uni-navbar__content_view {
+		// box-sizing: border-box;
+	}
+
+	.uni-navbar-btn-text {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: column;
+		justify-content: flex-start;
+		align-items: center;
+		line-height: 12px;
+	}
+
+	.uni-navbar__header {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		padding: 0 10px;
+		flex-direction: row;
+		height: $nav-height;
+		font-size: 12px;
+	}
+
+	.uni-navbar__header-btns {
+		/* #ifndef APP-NVUE */
+		overflow: hidden;
+		display: flex;
+		/* #endif */
+		flex-wrap: nowrap;
+		flex-direction: row;
+		width: 120rpx;
+		// padding: 0 6px;
+		justify-content: center;
+		align-items: center;
+		/* #ifdef H5 */
+		cursor: pointer;
+		/* #endif */
+	}
+
+	.uni-navbar__header-btns-left {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		width: 120rpx;
+		justify-content: flex-start;
+		align-items: center;
+	}
+
+	.uni-navbar__header-btns-right {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		// width: 150rpx;
+		// padding-right: 30rpx;
+		justify-content: flex-end;
+		align-items: center;
+	}
+
+	.uni-navbar__header-container {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex: 1;
+		padding: 0 10px;
+		overflow: hidden;
+	}
+
+	.uni-navbar__header-container-inner {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex: 1;
+		flex-direction: row;
+		align-items: center;
+		justify-content: center;
+		font-size: 12px;
+		overflow: hidden;
+		// box-sizing: border-box;
+	}
+
+
+	.uni-navbar__placeholder-view {
+		height: $nav-height;
+	}
+
+	.uni-navbar--fixed {
+		position: fixed;
+		z-index: 998;
+		/* #ifdef H5 */
+		left: var(--window-left);
+		right: var(--window-right);
+		/* #endif */
+		/* #ifndef H5 */
+		left: 0;
+		right: 0;
+		/* #endif */
+
+	}
+
+	.uni-navbar--shadow {
+		box-shadow: 0 1px 6px #ccc;
+	}
+
+	.uni-navbar--border {
+		border-bottom-width: 1rpx;
+		border-bottom-style: solid;
+		border-bottom-color: #eee;
+	}
+
+	.uni-ellipsis-1 {
+		overflow: hidden;
+		/* #ifndef APP-NVUE */
+		white-space: nowrap;
+		text-overflow: ellipsis;
+		/* #endif */
+		/* #ifdef APP-NVUE */
+		lines: 1;
+		text-overflow: ellipsis;
+		/* #endif */
+	}
+
+	// 暗主题配置
+	.uni-dark {}
+</style>

+ 27 - 0
partybuilding-wx/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue

@@ -0,0 +1,27 @@
+<template>
+	<view :style="{ height: statusBarHeight }" class="uni-status-bar">
+		<slot />
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'UniStatusBar',
+		data() {
+			return {
+				statusBarHeight: 20
+			}
+		},
+		mounted() {
+			this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px'
+		}
+	}
+</script>
+
+<style lang="scss" >
+	.uni-status-bar {
+		// width: 750rpx;
+		height: 20px;
+		// height: var(--status-bar-height);
+	}
+</style>

+ 89 - 0
partybuilding-wx/uni_modules/uni-nav-bar/package.json

@@ -0,0 +1,89 @@
+{
+  "id": "uni-nav-bar",
+  "displayName": "uni-nav-bar 自定义导航栏",
+  "version": "1.3.6",
+  "description": "自定义导航栏组件,主要用于头部导航。",
+  "keywords": [
+    "uni-ui",
+    "导航",
+    "导航栏",
+    "自定义导航栏"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": ""
+  },
+  "directories": {
+    "example": "../../temps/example_temps"
+  },
+  "dcloudext": {
+    "category": [
+      "前端组件",
+      "通用组件"
+    ],
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+  },
+  "uni_modules": {
+    "dependencies": [
+			"uni-scss",
+			"uni-icons"
+		],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "y"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "小程序": {
+          "微信": "y",
+          "阿里": "y",
+          "百度": "y",
+          "字节跳动": "y",
+          "QQ": "y"
+        },
+        "快应用": {
+          "华为": "u",
+          "联盟": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}

+ 15 - 0
partybuilding-wx/uni_modules/uni-nav-bar/readme.md

@@ -0,0 +1,15 @@
+
+
+## NavBar 导航栏
+> **组件名:uni-nav-bar**
+> 代码块: `uNavBar`
+
+导航栏组件,主要用于头部导航。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-nav-bar)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 
+
+
+
+
+

+ 8 - 0
partybuilding-wx/uni_modules/uni-scss/changelog.md

@@ -0,0 +1,8 @@
+## 1.0.3(2022-01-21)
+- 优化 组件示例
+## 1.0.2(2021-11-22)
+- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题
+## 1.0.1(2021-11-22)
+- 修复 vue3中scss语法兼容问题
+## 1.0.0(2021-11-18)
+- init

+ 1 - 0
partybuilding-wx/uni_modules/uni-scss/index.scss

@@ -0,0 +1 @@
+@import './styles/index.scss';

+ 82 - 0
partybuilding-wx/uni_modules/uni-scss/package.json

@@ -0,0 +1,82 @@
+{
+  "id": "uni-scss",
+  "displayName": "uni-scss 辅助样式",
+  "version": "1.0.3",
+  "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。",
+  "keywords": [
+    "uni-scss",
+    "uni-ui",
+    "辅助样式"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": "^3.1.0"
+  },
+  "dcloudext": {
+    "category": [
+        "JS SDK",
+        "通用 SDK"
+    ],
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+  },
+  "uni_modules": {
+    "dependencies": [],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "u"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "小程序": {
+          "微信": "y",
+          "阿里": "y",
+          "百度": "y",
+          "字节跳动": "y",
+          "QQ": "y"
+        },
+        "快应用": {
+          "华为": "n",
+          "联盟": "n"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}

+ 4 - 0
partybuilding-wx/uni_modules/uni-scss/readme.md

@@ -0,0 +1,4 @@
+`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 

+ 7 - 0
partybuilding-wx/uni_modules/uni-scss/styles/index.scss

@@ -0,0 +1,7 @@
+@import './setting/_variables.scss';
+@import './setting/_border.scss';
+@import './setting/_color.scss';
+@import './setting/_space.scss';
+@import './setting/_radius.scss';
+@import './setting/_text.scss';
+@import './setting/_styles.scss';

+ 3 - 0
partybuilding-wx/uni_modules/uni-scss/styles/setting/_border.scss

@@ -0,0 +1,3 @@
+.uni-border {
+	border: 1px $uni-border-1 solid;
+}

+ 66 - 0
partybuilding-wx/uni_modules/uni-scss/styles/setting/_color.scss

@@ -0,0 +1,66 @@
+
+// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐
+// @mixin get-styles($k,$c) {
+// 	@if $k == size or $k == weight{
+// 		font-#{$k}:#{$c}
+// 	}@else{
+// 		#{$k}:#{$c}
+// 	}
+// }
+$uni-ui-color:(
+	// 主色
+	primary: $uni-primary,
+	primary-disable: $uni-primary-disable,
+	primary-light: $uni-primary-light,
+	// 辅助色
+	success: $uni-success,
+	success-disable: $uni-success-disable,
+	success-light: $uni-success-light,
+	warning: $uni-warning,
+	warning-disable: $uni-warning-disable,
+	warning-light: $uni-warning-light,
+	error: $uni-error,
+	error-disable: $uni-error-disable,
+	error-light: $uni-error-light,
+	info: $uni-info,
+	info-disable: $uni-info-disable,
+	info-light: $uni-info-light,
+	// 中性色
+	main-color: $uni-main-color,
+	base-color: $uni-base-color,
+	secondary-color: $uni-secondary-color,
+	extra-color: $uni-extra-color,
+	// 背景色
+	bg-color: $uni-bg-color,
+	// 边框颜色
+	border-1: $uni-border-1,
+	border-2: $uni-border-2,
+	border-3: $uni-border-3,
+	border-4: $uni-border-4,
+	// 黑色
+	black:$uni-black,
+	// 白色
+	white:$uni-white,
+	// 透明
+	transparent:$uni-transparent
+) !default;
+@each $key, $child in $uni-ui-color {
+	.uni-#{"" + $key} {
+		color: $child;
+	}
+	.uni-#{"" + $key}-bg {
+		background-color: $child;
+	}
+}
+.uni-shadow-sm {
+	box-shadow: $uni-shadow-sm;
+}
+.uni-shadow-base {
+	box-shadow: $uni-shadow-base;
+}
+.uni-shadow-lg {
+	box-shadow: $uni-shadow-lg;
+}
+.uni-mask {
+	background-color:$uni-mask;
+}

+ 55 - 0
partybuilding-wx/uni_modules/uni-scss/styles/setting/_radius.scss

@@ -0,0 +1,55 @@
+@mixin radius($r,$d:null ,$important: false){
+  $radius-value:map-get($uni-radius, $r) if($important, !important, null);
+  // Key exists within the $uni-radius variable
+  @if (map-has-key($uni-radius, $r) and  $d){
+		@if $d == t {
+				border-top-left-radius:$radius-value;
+				border-top-right-radius:$radius-value;
+		}@else if $d == r {
+				border-top-right-radius:$radius-value;
+				border-bottom-right-radius:$radius-value;
+		}@else if $d == b {
+				border-bottom-left-radius:$radius-value;
+				border-bottom-right-radius:$radius-value;
+		}@else if $d == l {
+				border-top-left-radius:$radius-value;
+				border-bottom-left-radius:$radius-value;
+		}@else if $d == tl {
+				border-top-left-radius:$radius-value;
+		}@else if $d == tr {
+				border-top-right-radius:$radius-value;
+		}@else if $d == br {
+				border-bottom-right-radius:$radius-value;
+		}@else if $d == bl {
+				border-bottom-left-radius:$radius-value;
+		}
+  }@else{
+		border-radius:$radius-value;
+  }
+}
+
+@each $key, $child in $uni-radius {
+	@if($key){
+		.uni-radius-#{"" + $key} {
+				@include radius($key)
+		}
+	}@else{
+		.uni-radius {
+				@include radius($key)
+		}
+	}
+}
+
+@each $direction in t, r, b, l,tl, tr, br, bl {
+	@each $key, $child in $uni-radius {
+		@if($key){
+			.uni-radius-#{"" + $direction}-#{"" + $key} {
+				@include radius($key,$direction,false)
+			}
+		}@else{
+			.uni-radius-#{$direction} {
+				@include radius($key,$direction,false)
+			}
+		}
+	}
+}

+ 56 - 0
partybuilding-wx/uni_modules/uni-scss/styles/setting/_space.scss

@@ -0,0 +1,56 @@
+
+@mixin fn($space,$direction,$size,$n) {
+	@if $n {
+		#{$space}-#{$direction}: #{$size*$uni-space-root}px
+	} @else {
+		 #{$space}-#{$direction}: #{-$size*$uni-space-root}px
+	}
+}
+@mixin get-styles($direction,$i,$space,$n){
+	@if $direction == t {
+		@include fn($space, top,$i,$n);
+	} 
+	@if $direction == r {
+		@include fn($space, right,$i,$n);
+	} 
+	@if $direction == b {
+		@include fn($space, bottom,$i,$n);
+	} 
+	@if $direction == l {
+	 @include fn($space, left,$i,$n);
+	} 
+	@if $direction == x {
+		@include fn($space, left,$i,$n);
+		@include fn($space, right,$i,$n);
+	} 
+	@if $direction == y {
+		@include fn($space, top,$i,$n);
+		@include fn($space, bottom,$i,$n);
+	} 
+	@if $direction == a {
+		@if $n {
+			#{$space}:#{$i*$uni-space-root}px;
+		} @else {
+			#{$space}:#{-$i*$uni-space-root}px;
+		}
+	} 
+}
+
+@each $orientation in m,p {
+	$space: margin;
+	@if $orientation == m {
+		$space: margin;
+	} @else {
+		$space: padding;
+	}
+	@for $i from 0 through 16 {
+		@each $direction in t, r, b, l, x, y, a {
+			.uni-#{$orientation}#{$direction}-#{$i} { 
+				@include  get-styles($direction,$i,$space,true);
+			} 
+			.uni-#{$orientation}#{$direction}-n#{$i} { 
+				@include  get-styles($direction,$i,$space,false);
+			}
+		}
+	}
+}

+ 167 - 0
partybuilding-wx/uni_modules/uni-scss/styles/setting/_styles.scss

@@ -0,0 +1,167 @@
+/* #ifndef APP-NVUE */
+
+$-color-white:#fff;
+$-color-black:#000;
+@mixin base-style($color) {
+	color: #fff;
+	background-color: $color;
+	border-color: mix($-color-black, $color, 8%);
+	&:not([hover-class]):active {
+		background: mix($-color-black, $color, 10%);
+		border-color: mix($-color-black, $color, 20%);
+		color: $-color-white;
+		outline: none;
+	}
+}
+@mixin is-color($color) {
+	@include base-style($color);
+	&[loading] {
+		@include base-style($color);
+		&::before {
+			margin-right:5px;
+		}
+	}
+	&[disabled] {
+	  &,
+		&[loading],
+	  &:not([hover-class]):active {
+	    color: $-color-white;
+			border-color: mix(darken($color,10%), $-color-white);
+	    background-color: mix($color, $-color-white);
+	  }
+	}
+
+}
+@mixin base-plain-style($color) {
+	color:$color;
+	background-color: mix($-color-white, $color, 90%);
+	border-color: mix($-color-white, $color, 70%);
+	&:not([hover-class]):active {
+	  background: mix($-color-white, $color, 80%);
+	  color: $color;
+	  outline: none;
+		border-color: mix($-color-white, $color, 50%);
+	}
+}
+@mixin is-plain($color){
+	&[plain] {
+		@include base-plain-style($color);
+		&[loading] {
+			@include base-plain-style($color);
+			&::before {
+				margin-right:5px;
+			}
+		}
+		&[disabled] {
+		  &,
+		  &:active {
+		    color: mix($-color-white, $color, 40%);
+		    background-color: mix($-color-white, $color, 90%);
+				border-color: mix($-color-white, $color, 80%);
+		  }
+		}
+	}
+}
+
+
+.uni-btn {
+	margin: 5px;
+	color: #393939;
+	border:1px solid #ccc;
+	font-size: 16px;
+	font-weight: 200;
+	background-color: #F9F9F9;
+	// TODO 暂时处理边框隐藏一边的问题
+	overflow: visible;
+	&::after{
+		border: none;
+	}
+
+	&:not([type]),&[type=default] {
+		color: #999;
+		&[loading] {
+			background: none;
+			&::before {
+				margin-right:5px;
+			}
+		}
+
+
+
+		&[disabled]{
+			color: mix($-color-white, #999, 60%);
+		  &,
+			&[loading],
+		  &:active {
+				color: mix($-color-white, #999, 60%);
+		    background-color: mix($-color-white,$-color-black , 98%);
+				border-color: mix($-color-white,  #999, 85%);
+		  }
+		}
+
+		&[plain] {
+			color: #999;
+			background: none;
+			border-color: $uni-border-1;
+			&:not([hover-class]):active {
+				background: none;
+			  color: mix($-color-white, $-color-black, 80%);
+				border-color: mix($-color-white, $-color-black, 90%);
+			  outline: none;
+			}
+			&[disabled]{
+			  &,
+				&[loading],
+			  &:active {
+			    background: none;
+					color: mix($-color-white, #999, 60%);
+					border-color: mix($-color-white,  #999, 85%);
+			  }
+			}
+		}
+	}
+
+	&:not([hover-class]):active {
+	  color: mix($-color-white, $-color-black, 50%);
+	}
+
+	&[size=mini] {
+		font-size: 16px;
+		font-weight: 200;
+		border-radius: 8px;
+	}
+
+
+
+	&.uni-btn-small {
+		font-size: 14px;
+	}
+	&.uni-btn-mini {
+		font-size: 12px;
+	}
+
+	&.uni-btn-radius {
+		border-radius: 999px;
+	}
+	&[type=primary] {
+		@include is-color($uni-primary);
+		@include is-plain($uni-primary)
+	}
+	&[type=success] {
+		@include is-color($uni-success);
+		@include is-plain($uni-success)
+	}
+	&[type=error] {
+		@include is-color($uni-error);
+		@include is-plain($uni-error)
+	}
+	&[type=warning] {
+		@include is-color($uni-warning);
+		@include is-plain($uni-warning)
+	}
+	&[type=info] {
+		@include is-color($uni-info);
+		@include is-plain($uni-info)
+	}
+}
+/* #endif */

+ 24 - 0
partybuilding-wx/uni_modules/uni-scss/styles/setting/_text.scss

@@ -0,0 +1,24 @@
+@mixin get-styles($k,$c) {
+	@if $k == size or $k == weight{
+		font-#{$k}:#{$c}
+	}@else{
+		#{$k}:#{$c}
+	}
+}
+
+@each $key, $child in $uni-headings {
+	/* #ifndef APP-NVUE */
+	.uni-#{$key} {
+		@each $k, $c in $child {
+			@include get-styles($k,$c)
+		}
+	}
+	/* #endif */
+	/* #ifdef APP-NVUE */
+	.container .uni-#{$key} {
+		@each $k, $c in $child {
+			@include get-styles($k,$c)
+		}
+	}
+	/* #endif */
+}

+ 146 - 0
partybuilding-wx/uni_modules/uni-scss/styles/setting/_variables.scss

@@ -0,0 +1,146 @@
+// @use "sass:math";
+@import  '../tools/functions.scss';
+// 间距基础倍数
+$uni-space-root: 2 !default;
+// 边框半径默认值
+$uni-radius-root:5px !default;
+$uni-radius: () !default;
+// 边框半径断点
+$uni-radius: map-deep-merge(
+  (
+    0: 0,
+		// TODO 当前版本暂时不支持 sm 属性
+    // 'sm': math.div($uni-radius-root, 2),
+    null: $uni-radius-root,
+    'lg': $uni-radius-root * 2,
+    'xl': $uni-radius-root * 6,
+    'pill': 9999px,
+    'circle': 50%
+  ),
+  $uni-radius
+);
+// 字体家族
+$body-font-family: 'Roboto', sans-serif !default;
+// 文本
+$heading-font-family: $body-font-family !default;
+$uni-headings: () !default;
+$letterSpacing: -0.01562em;
+$uni-headings: map-deep-merge(
+  (
+    'h1': (
+      size: 32px,
+			weight: 300,
+			line-height: 50px,
+			// letter-spacing:-0.01562em
+    ),
+    'h2': (
+      size: 28px,
+      weight: 300,
+      line-height: 40px,
+      // letter-spacing: -0.00833em
+    ),
+    'h3': (
+      size: 24px,
+      weight: 400,
+      line-height: 32px,
+      // letter-spacing: normal
+    ),
+    'h4': (
+      size: 20px,
+      weight: 400,
+      line-height: 30px,
+      // letter-spacing: 0.00735em
+    ),
+    'h5': (
+      size: 16px,
+      weight: 400,
+      line-height: 24px,
+      // letter-spacing: normal
+    ),
+    'h6': (
+      size: 14px,
+      weight: 500,
+      line-height: 18px,
+      // letter-spacing: 0.0125em
+    ),
+    'subtitle': (
+      size: 12px,
+      weight: 400,
+      line-height: 20px,
+      // letter-spacing: 0.00937em
+    ),
+    'body': (
+      font-size: 14px,
+			font-weight: 400,
+			line-height: 22px,
+			// letter-spacing: 0.03125em
+    ),
+    'caption': (
+      'size': 12px,
+      'weight': 400,
+      'line-height': 20px,
+      // 'letter-spacing': 0.03333em,
+      // 'text-transform': false
+    )
+  ),
+  $uni-headings
+);
+
+
+
+// 主色
+$uni-primary: #2979ff !default;
+$uni-primary-disable:lighten($uni-primary,20%) !default;
+$uni-primary-light: lighten($uni-primary,25%) !default;
+
+// 辅助色
+// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。
+$uni-success: #18bc37 !default;
+$uni-success-disable:lighten($uni-success,20%) !default;
+$uni-success-light: lighten($uni-success,25%) !default;
+
+$uni-warning: #f3a73f !default;
+$uni-warning-disable:lighten($uni-warning,20%) !default;
+$uni-warning-light: lighten($uni-warning,25%) !default;
+
+$uni-error: #e43d33 !default;
+$uni-error-disable:lighten($uni-error,20%) !default;
+$uni-error-light: lighten($uni-error,25%) !default;
+
+$uni-info: #8f939c !default;
+$uni-info-disable:lighten($uni-info,20%) !default;
+$uni-info-light: lighten($uni-info,25%) !default;
+
+// 中性色
+// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。
+$uni-main-color: #3a3a3a !default; 			// 主要文字
+$uni-base-color: #6a6a6a !default;			// 常规文字
+$uni-secondary-color: #909399 !default;	// 次要文字
+$uni-extra-color: #c7c7c7 !default;			// 辅助说明
+
+// 边框颜色
+$uni-border-1: #F0F0F0 !default;
+$uni-border-2: #EDEDED !default;
+$uni-border-3: #DCDCDC !default;
+$uni-border-4: #B9B9B9 !default;
+
+// 常规色
+$uni-black: #000000 !default;
+$uni-white: #ffffff !default;
+$uni-transparent: rgba($color: #000000, $alpha: 0) !default;
+
+// 背景色
+$uni-bg-color: #f7f7f7 !default;
+
+/* 水平间距 */
+$uni-spacing-sm: 8px !default;
+$uni-spacing-base: 15px !default;
+$uni-spacing-lg: 30px !default;
+
+// 阴影
+$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default;
+$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default;
+$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default;
+
+// 蒙版
+$uni-mask: rgba($color: #000000, $alpha: 0.4) !default;

+ 19 - 0
partybuilding-wx/uni_modules/uni-scss/styles/tools/functions.scss

@@ -0,0 +1,19 @@
+// 合并 map
+@function map-deep-merge($parent-map, $child-map){
+	$result: $parent-map;
+	@each $key, $child in $child-map {
+		$parent-has-key: map-has-key($result, $key);
+		$parent-value: map-get($result, $key);
+		$parent-type: type-of($parent-value);
+		$child-type: type-of($child);
+		$parent-is-map: $parent-type == map;
+		$child-is-map: $child-type == map;
+			
+		@if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){
+			$result: map-merge($result, ( $key: $child ));
+		}@else {
+			$result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) ));
+		}
+	}
+	@return $result;
+};

+ 31 - 0
partybuilding-wx/uni_modules/uni-scss/theme.scss

@@ -0,0 +1,31 @@
+// 间距基础倍数
+$uni-space-root: 2;
+// 边框半径默认值
+$uni-radius-root:5px;
+// 主色
+$uni-primary: #2979ff;
+// 辅助色
+$uni-success: #4cd964;
+// 警告色
+$uni-warning: #f0ad4e;
+// 错误色
+$uni-error: #dd524d;
+// 描述色
+$uni-info: #909399;
+// 中性色
+$uni-main-color: #303133;
+$uni-base-color: #606266;
+$uni-secondary-color: #909399;
+$uni-extra-color: #C0C4CC;
+// 背景色
+$uni-bg-color: #f5f5f5;
+// 边框颜色
+$uni-border-1: #DCDFE6;
+$uni-border-2: #E4E7ED;
+$uni-border-3: #EBEEF5;
+$uni-border-4: #F2F6FC;
+
+// 常规色
+$uni-black: #000000;
+$uni-white: #ffffff;
+$uni-transparent: rgba($color: #000000, $alpha: 0);

+ 62 - 0
partybuilding-wx/uni_modules/uni-scss/variables.scss

@@ -0,0 +1,62 @@
+@import './styles/setting/_variables.scss';
+// 间距基础倍数
+$uni-space-root: 2;
+// 边框半径默认值
+$uni-radius-root:5px;
+
+// 主色
+$uni-primary: #2979ff;
+$uni-primary-disable:mix(#fff,$uni-primary,50%);
+$uni-primary-light: mix(#fff,$uni-primary,80%);
+
+// 辅助色
+// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。
+$uni-success: #18bc37;
+$uni-success-disable:mix(#fff,$uni-success,50%);
+$uni-success-light: mix(#fff,$uni-success,80%);
+
+$uni-warning: #f3a73f;
+$uni-warning-disable:mix(#fff,$uni-warning,50%);
+$uni-warning-light: mix(#fff,$uni-warning,80%);
+
+$uni-error: #e43d33;
+$uni-error-disable:mix(#fff,$uni-error,50%);
+$uni-error-light: mix(#fff,$uni-error,80%);
+
+$uni-info: #8f939c;
+$uni-info-disable:mix(#fff,$uni-info,50%);
+$uni-info-light: mix(#fff,$uni-info,80%);
+
+// 中性色
+// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。
+$uni-main-color: #3a3a3a; 			// 主要文字
+$uni-base-color: #6a6a6a;			// 常规文字
+$uni-secondary-color: #909399;	// 次要文字
+$uni-extra-color: #c7c7c7;			// 辅助说明
+
+// 边框颜色
+$uni-border-1: #F0F0F0;
+$uni-border-2: #EDEDED;
+$uni-border-3: #DCDCDC;
+$uni-border-4: #B9B9B9;
+
+// 常规色
+$uni-black: #000000;
+$uni-white: #ffffff;
+$uni-transparent: rgba($color: #000000, $alpha: 0);
+
+// 背景色
+$uni-bg-color: #f7f7f7;
+
+/* 水平间距 */
+$uni-spacing-sm: 8px;
+$uni-spacing-base: 15px;
+$uni-spacing-lg: 30px;
+
+// 阴影
+$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5);
+$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2);
+$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5);
+
+// 蒙版
+$uni-mask: rgba($color: #000000, $alpha: 0.4);

+ 198 - 0
partybuilding-wx/util/api.js

@@ -0,0 +1,198 @@
+let Promises = Promise
+import url from "@/util/url";
+let {host} = url
+var _GET=null;
+Promises.prototype.finally = function(callback) {
+	let P = this.constructor
+	return this.then(
+		value => P.resolve(callback()).then(() => value),
+		reason => P.resolve(callback()).then(() => {
+			throw reason
+		}))
+}
+
+class Https {
+	_GET=_GET||{
+		'customBarH':0,//高度
+		"statusBarH":0
+		
+	}
+	request(url, method, data,loading) {
+		var loading=loading||false
+		if(!loading){
+			uni.showLoading({
+				title: '加载中'
+			})
+		}
+		
+		var token = uni.getStorageSync('token')
+		// var token = "df057579-73c8-4bdd-8312-f64db8efd699"
+		return new Promises((resolve, reject) => {
+			uni.request({
+				// // #ifdef H5
+				// url:'/apid'+url,
+				// // #endif
+
+				url: host + '/' + url, //
+				method: method,
+				data: data,
+				header: {
+					// application/json
+					'content-type': 'application/json', // 默认值
+					'Authorization': token || ''
+				},
+				success: function(res) {
+					// console.log(res.data.code,98765)
+					if(!loading){
+						uni.hideLoading()
+					}
+					
+					if (res.statusCode == 401) {
+						uni.navigateTo({
+							url: '/pages/load/roles'
+						})
+					}else if(res.data.code == '00040000'){
+						uni.showToast({
+							title: res.data.message,
+							duration: 1000,
+							icon: 'none'
+						});
+					}else if(res.code == 1002){
+						uni.navigateTo({
+							url: '/pages/load/roles'
+						})
+					}else if(res.data.code == 1002){
+						uni.navigateTo({
+							url: '/pages/load/roles'
+						})
+					}else if(res.data.code == 401){
+						uni.clearStorage()
+						uni.reLaunch({
+							url: '/pages/login/login'
+						})
+					}else if(res.code == 401){
+						uni.navigateTo({
+							url: '/pages/load/roles'
+						})
+					}
+					else{
+						resolve(res.data)
+					}
+				},
+				fail: function(error) {
+					uni.hideLoading()
+					reject(error)
+				}
+			})
+		})
+	}
+	upLoad(params) {
+		console.log(params)
+		var token = uni.getStorageSync('token')
+		let urls = ''
+		return new Promises((resolve, reject) => {
+			console.log(params.data)
+			uni.uploadFile({
+				url: url + '/common/upload', 
+				filePath: params.path,
+				data: params,
+				header: {
+					'content-type': 'multipart/form-data',
+					'Authorization': token
+				},
+				formData: {
+					'token': token
+				},
+				name: params.name || 'file',
+				success: function(res) {
+					console.log(res.data,9875)
+					urls = JSON.parse(res.data); 
+					let urliu = urls.url
+					console.log(urliu)
+					let url = urls.url
+					resolve(url)
+				},
+				fail: function(error) {
+					reject(error)
+				}
+			})
+		})
+	}
+	upDown(params) {
+		console.log(params)
+		var token = uni.getStorageSync('token')
+		return new Promises((resolve, reject) => {
+			uni.uploadFile({
+				url: host + '/common/download', // 
+				header: {
+					'Authorization': token
+				},
+				filePath: params.path,
+				name: params.name || 'img',
+				success: function(res) {
+					console.log(res,4)
+					resolve(res.data)
+				},
+				fail: function(error) {
+					reject(error)
+				}
+			})
+		})
+	}
+	get(url, data) {
+		return this.request(url, 'GET', data)
+	}
+	dele(url, data) {
+		return this.request(url, 'delete', data)
+	}
+	post(url, data,loading) {
+		return this.request(url, 'POST', data,loading)
+	}
+	put(url, data) {
+		return this.request(url, 'put', data)
+	}
+	uniApi(params, data) {
+		return new Promises((resolve, reject) => {
+			params.events({
+				...data,
+				success(res) {
+					resolve(res)
+				},
+				fail(err) {
+					reject(err)
+				}
+			})
+		})
+	}
+	routePage(url,type){
+		switch (type){
+			case 'nav':
+			 uni.navigateTo({
+				 url:url
+			 })
+			break;
+			case 'redirect':
+			 uni.redirectTo({
+			 	url:url
+			 })
+			break;
+			case 'reLaunch':
+			 uni.reLaunch({
+			 	url:url
+			 })
+			break;
+			case 'navback':
+			 uni.navigateBack({
+			 	url:url
+			 })
+			break;
+			default:
+			break;
+		}
+	}
+}
+
+const https = new Https()
+
+export default https
+  

+ 24 - 0
partybuilding-wx/util/url.js

@@ -0,0 +1,24 @@
+
+ // const host = 'http://cb.vaiwan.com:8082'
+// const host = 'https://yxxy.qs163.cn/prod-api'
+//潜山校园 /api
+// const host = 'https://qsxyakm.qs163.cn/prod-api'
+// 线上
+ const host = 'https://qsdj.qs163.cn/prod-api'
+ const imgDomain = 'https://qsdj.qs163.cn'
+ 
+
+ // const host = 'http://192.168.101.110:8090'
+ // const imgDomain = 'http://192.168.101.110:8090'
+ 
+ // const host = 'http://192.168.101.110:8090'
+  // 汤
+// const host = 'http://192.168.101.11:9000'   
+//  const imgDomain = 'http://192.168.101.11:9000'
+// 叶
+ // const host = 'http://192.168.101.168:9000'
+ //  const imgDomain = 'http://192.168.101.168:9000'
+ export default {
+	 host,
+	 imgDomain
+ }

+ 244 - 0
qianshandaikuan/ckjd.html

@@ -0,0 +1,244 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8" />
+		<meta http-equv="X-UA-Compatible" content="IE=edge" />
+		<meta name="viewport" content="width=device-width, initial-scale=1" />
+		<meta name="format-detection" content="telephone=no" />
+		<title>潜山市个人创业担保贷款</title>
+		<meta name="keywords" content="潜山市个人创业担保贷款">
+		<meta name="description" content="潜山市个人创业担保贷款">
+		<script src="static/js/vue.js"></script>
+		<script type="text/javascript" src="static/js/vue-router.js"></script>
+		<script src="static/js/index.js" type="text/javascript"></script>
+		<script src="static/js/croods-1.3.3.js" type="text/javascript" charset="utf-8"></script>
+		<script type="text/javascript" src="./static/js/jquery.min.js"></script>
+		
+		<script src="static/js/common.js"></script>
+		<link href="static/css/common.css" rel="stylesheet" />
+		<link href="static/css/style.css" rel="stylesheet" />
+		<link rel="stylesheet" href="static/css/theme-chalk/index.css">
+		<style></style>
+	</head>
+	<body class="dbody bgf5">
+		<div id="app">
+			<div id="appse">
+				<header>
+					<div class="dtop act" >
+						<div class="back backimg"><img src="static/images/wback.png" /></div>
+						<div class="tit over">查看进度</div>
+					</div>
+				</header>
+			</div>
+			<main>
+				
+				<el-form ref="form" :model="form" :rules="rules" label-width="2rem" :label-position="labelPosition" :hide-required-asterisk="true">
+					<div class="jdbox">
+						<div class="tit"><span>*</span>申请额度</div>
+						<div class="bgf ibox">
+							<el-form-item label="申请额度" prop="name">
+							    <el-input v-model="form.name" ></el-input>
+								<img src="static/images/brimg.png" class="irimg"/>
+							</el-form-item>
+						</div>
+					</div>
+					<div class="jdbox">
+						<div class="tit"><span>*</span>担保类型</div>
+						<div class="bgf ibox">
+							<el-form-item label="担保类型" prop="region">
+							    <el-input v-model="form.region" ></el-input>
+								<img src="static/images/brimg.png" class="irimg"/>
+							</el-form-item>
+						</div>
+					</div>
+					<div class="jdbox">
+						<div class="tit"><span>*</span>申请人信息</div>
+						<div class="bgf ibox">
+							<el-form-item label="身份证" >
+								<div class="flexcj flex1"  >
+									<div>
+										<el-upload
+											  class="upload-demo"
+											  action="https://jsonplaceholder.typicode.com/posts/"
+											  :show-file-list="false"
+											  :on-success="upImageFn"
+											  :before-upload="beforeUpload">
+											  <img v-if="imageUrl" :src="imageUrl" class="avatar">
+											  <img src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(imageUrl)">
+											  <!-- <i v-else class="el-icon-plus avatar-uploader-icon"></i> -->
+										</el-upload>
+											<!-- <el-upload :disabled="formConfig.disabshow" class="upload-demo" :headers="{Authorization: 'Bearer ' + getToken()}"
+											  v-if="formConfig.htmlType == 'fileUpload'" :action="process + '/boman-file/upload'" :on-change="handleChange"
+											  :on-success="upImageFn" :on-error="err" :on-remove="reseImage" :file-list="config">
+											  <el-button size="small" type="primary">点击上传</el-button>
+											  <div slot="tip" class="el-upload__tip">只能上传jpg/png/txt/word/pdf/exe/RAR/ZIP文件,且不超过10MB</div>
+											</el-upload> -->
+										<div class="f10 ca txc lh24 mt5">上传人像面</div>
+									</div>
+									<div>
+										<el-upload
+											  class="upload-demo"
+											  action="https://jsonplaceholder.typicode.com/posts/"
+											  :show-file-list="false"
+											  :on-success="upImageFn"
+											  :before-upload="beforeUpload">
+											  <img v-if="imageUrl" :src="imageUrl" class="avatar">
+											  <img src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(imageUrl)">
+										</el-upload>
+										<div class="f10 ca txc lh24 mt5">上传国徽面</div>
+									</div>
+								</div>
+							</el-form-item>
+							<el-form-item label="姓名">
+							    <el-input v-model="form.date1" placeholder="请输入姓名"></el-input>
+								<img src="static/images/brimg.png" class="irimg"/>
+							</el-form-item>
+							<el-form-item label="身份证号">
+							    <el-input v-model="form.date1" ></el-input>
+								<img src="static/images/brimg.png" class="irimg"/>
+							</el-form-item>
+							<el-form-item label="手机号码">
+							    <el-input v-model="form.date1" ></el-input>
+								<img src="static/images/brimg.png" class="irimg"/>
+							</el-form-item>
+							<el-form-item label="文化程度">
+							    <el-input v-model="form.date1" ></el-input>
+								<img src="static/images/brimg.png" class="irimg"/>
+							</el-form-item>
+						</div>
+					</div>
+				</el-form>
+				
+				<!-- <el-form ref="form" :model="form" label-width="80px" class="jdbox">
+					<div class="tit"><span>*</span>申请额度</div>
+					<div class="bgf">
+						
+					  <el-form-item label="申请额度">
+					    <el-select v-model="form.region" placeholder="请选择申请额度">
+					      <el-option label="区域一" value="shanghai"></el-option>
+					      <el-option label="区域二" value="beijing"></el-option>
+					    </el-select>
+					  </el-form-item>
+					</div>
+				</el-form> -->
+				<div class="h50"></div>
+				<!-- <div @click="getsubmit">添加</div> -->
+				<a href="dqjd.html" class="jdbtn flexcc f16 cf fw">
+					查看当前进度
+				</a>
+			</main>
+		</div>
+		<script type="text/javascript">
+			var app = new Vue({
+				el: '#app',
+				data: {
+					// base_url: 'https://qsfy.qs163.cn/prod-api',
+					base_url: '',
+					labelPosition:'left',
+					imageUrl:'',
+					form: {
+					          name: '123',
+					          region: '',
+					          date1: '',
+					          date2: '',
+					          delivery: false,
+					          type: [],
+					          resource: '',
+					          desc: ''
+					        },
+					rules: {
+					          name: [
+					            { required: true, message: '请输入活动名称', trigger: 'blur' },
+					            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
+					          ],
+					          region: [
+					            { required: true, message: '请选择活动区域', trigger: 'change' }
+					          ],
+					          date1: [
+					            { type: 'date', required: true, message: '请选择日期', trigger: 'change' }
+					          ],
+					          date2: [
+					            { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
+					          ],
+					          type: [
+					            { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
+					          ],
+					          resource: [
+					            { required: true, message: '请选择活动资源', trigger: 'change' }
+					          ],
+					          desc: [
+					            { required: true, message: '请填写活动形式', trigger: 'blur' }
+					          ]
+					        }
+				},
+				created() {
+		
+				},
+				mounted() {
+				},
+				destroyed() {
+
+				},
+				methods: {
+					getRemove(e){
+						this.imageUrl=''
+						// this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
+						//           confirmButtonText: '确定',
+						//           cancelButtonText: '取消',
+						//           type: 'warning'
+						//         }).then(() => {
+						// 			this.imageUrl=''
+						//           this.$message({
+						//             type: 'success',
+						//             message: '删除成功!'
+						//           });
+						//         }).catch(() => {
+						//           this.$message({
+						//             type: 'info',
+						//             message: '已取消删除'
+						//           });          
+						//         });
+					},
+					 upImageFn(res, file) {
+					        this.imageUrl = URL.createObjectURL(file.raw);
+					      },
+					      beforeUpload(file) {
+							   // const FILE_NAME = file.name
+							   //  if (FILE_NAME.substring(FILE_NAME.lastIndexOf('.')) !== '.xls' && FILE_NAME.substring(FILE_NAME.lastIndexOf('.')) !== '.xlsx') {
+							   //    this.$message.warning('仅支持.xls和.xlsx文件')
+							   //    return false
+							   //  }
+					        const isJPG = file.type === 'image/jpeg';
+					        const isPNG = file.type === 'image/png';
+					        const isLt2M = file.size / 1024 / 1024 < 2;
+							
+					        if (!isJPG&&!isPNG) {
+					          this.$message.error('上传图片只能是 JPG/PNG 格式!');
+					        }
+					        if (!isLt2M) {
+					          this.$message.error('上传图片大小不能超过 2MB!');
+					        }
+					        return isJPG||isPNG && isLt2M;
+					      },
+					getsubmit(){
+						 this.$refs['form'].validate((valid) => {
+						          if (valid) {
+						            alert('submit!');
+						          } else {
+						            console.log('error submit!!');
+						            return false;
+						          }
+						        });
+					}
+				}
+			})
+		</script>
+		<script type="text/javascript">
+			$(document).ready(function() {
+				$('.backimg').click(function() {
+					window.history.go(-1)
+				})
+			})
+		</script>
+	</body>
+</html>

+ 238 - 0
qianshandaikuan/dqjd.html

@@ -0,0 +1,238 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8" />
+		<meta http-equv="X-UA-Compatible" content="IE=edge" />
+		<meta name="viewport" content="width=device-width, initial-scale=1" />
+		<meta name="format-detection" content="telephone=no" />
+		<title>潜山市个人创业担保贷款</title>
+		<meta name="keywords" content="潜山市个人创业担保贷款">
+		<meta name="description" content="潜山市个人创业担保贷款">
+		<script src="static/js/vue.js"></script>
+		<script type="text/javascript" src="static/js/vue-router.js"></script>
+		<script src="static/js/index.js" type="text/javascript"></script>
+		<script src="static/js/croods-1.3.3.js" type="text/javascript" charset="utf-8"></script>
+		<script type="text/javascript" src="./static/js/jquery.min.js"></script>
+		
+		<script src="static/js/common.js"></script>
+		<link href="static/css/common.css" rel="stylesheet" />
+		<link href="static/css/style.css" rel="stylesheet" />
+		<link rel="stylesheet" href="static/css/theme-chalk/index.css">
+		<style></style>
+	</head>
+	<body class="dbody">
+		<div id="app">
+			<div id="appse">
+				<header>
+					<div class="dtop act" >
+						<div class="back backimg"><img src="static/images/wback.png" /></div>
+						<div class="tit over">当前进度</div>
+					</div>
+				</header>
+			</div>
+			<main>
+				<div class="dqbox">
+					<div class="dqlist flexat" v-for="(ite,idx) in dksqLcjlList" :key="idx">
+						<div class="listl">{{Number(idx)+1}}</div>
+						<div class="listr">
+							<div class="tit">{{keyType(ite.type,typelist)}}</div>
+							<div class="flexat">
+								<div class="flex0 ltit">{{ite.statetit}}状态:</div>
+								<div class="rtxt">
+									<span v-if="ite.type==1">请等待{{keyType(2,typelist)}}</span>
+									<span v-if="ite.type==2">
+										<span v-if="ite.result==2">已完成审查,请等待{{keyType(3,typelist)}}</span>
+										<span v-if="ite.result==3">已完成审查,请重新提交</span>
+									</span>
+									<span v-if="ite.type==3">
+										<span v-if="ite.result==1">申请已提交,请等待{{keyType(3,typelist)}}</span>
+										<span v-if="ite.result==2">已完成评估,请等待{{keyType(4,typelist)}}</span>
+										<span v-if="ite.result==3">已完成评估,请等待{{keyType(2,typelist)}}重新推荐</span>
+									</span>
+									<span v-if="ite.type==4">
+										<span v-if="ite.result==1">申请已提交,请等待放贷完成</span>
+										<span v-if="ite.result==2">已完成放贷完成</span>
+										<span v-if="ite.result==3">已拒绝放贷</span>
+									</span>
+								</div>
+							</div>
+							<div class="flexat ">
+								<div class="flex0 ltit">
+									<span v-if="ite.type==1">提交结果:</span>
+									<span v-if="ite.type==2">审查结果:</span>
+									<span v-if="ite.type==3">评估结果:</span>
+									<span v-if="ite.type==4">放贷结果:</span>
+								</div>
+								<div class="rtxt co1" v-if="ite.result==2">
+									<span v-if='ite.type==1'>已提交</span>
+									<span v-else>已通过</span>
+									</div>
+								<div class="rtxt co2" v-if="ite.result==3">未通过</div>
+								<div class="rtxt co3" v-if="ite.result==1">等待</div>
+							</div>
+						</div>
+					</div>
+					<!-- <div class="dqlist flexat">
+						<div class="listl">2</div>
+						<div class="listr">
+							<div class="tit">提交申请</div>
+							<div class="flexat">
+								<div class="flex0 ltit">申请状态:</div>
+								<div class="rtxt">请等待潜山市人社局审查</div>
+							</div>
+							<div class="flexat ">
+								<div class="flex0 ltit">提交结果:</div>
+								<div class="rtxt cf3">未通过</div>
+							</div>
+						</div>
+					</div> -->
+				</div>
+			</main>
+		</div>
+		<script type="text/javascript">
+			var app = new Vue({
+				el: '#app',
+				data: {
+					// base_url: 'https://qsfy.qs163.cn/prod-api',
+					base_url: 'http://192.168.101.11:8020',
+					id:'',
+					dksqLcjlList:[],
+					typelist:[],
+					jdlist:[
+						{tit:'提交申请',statetit:'申请',statetxt:'请等待潜山市人社局审查',ispass:'2',type:1},
+						{tit:'潜山市人社局审查',statetit:'审查',statetxt:'已完成初审,请等待银行评估',ispass:'1',type:2},
+						// {tit:'提交申请',statetit:'申请',statetxt:'请等待潜山市人社局审查',ispass:'2',type:1},
+						// {tit:'提交申请',statetit:'申请',statetxt:'请等待潜山市人社局审查',ispass:'2',type:1},
+						// {tit:'提交申请',statetit:'申请',statetxt:'请等待潜山市人社局审查',ispass:'2',type:1},
+					]
+				},
+				created() {
+		
+				},
+				mounted() {
+					this.init()
+					this.id=decodeURI(this.getQueryString("id"))
+					this.getDataFn()
+				},
+				destroyed() {
+
+				},
+				methods: {
+					// 获取路由参数
+					getQueryString(name) {
+					     try {
+							var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+							var r = window.location.href.split('?')[1].match(reg);						
+							if(r != null) {
+							    return r[2];
+							}
+							 return "";//如果此处只写return;则返回的是undefined
+						} catch(e) {
+							 return "";//如果此处只写return;则返回的是undefined
+						}
+					},
+					init(){
+						this.getDictionaryFn('shqzht')
+					},
+					getDictionaryFn(data){
+						var that = this;
+						var header='Bearer '+this.getToken()
+						$.ajax({
+							url: this.base_url + '/system/dict/data/type/'+data,
+							type: 'get',
+							data: {},
+							dataType: 'json',
+							headers: {
+							    'Authorization': header
+							},
+							success: function(res) {
+								that.loading=false;
+								if (res.code == 200) {
+									var datalist = res.data.map(v => {
+										return {
+											dictLabel: v.dictLabel,
+											dictValue: Number(v.dictValue)
+										}
+									})
+									if(data=='shqzht'){
+										that.typelist=datalist;
+									}
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+					getToken(){
+						return window.localStorage.getItem('token')
+					},
+					keyType(data,list){
+						return this.selectDictValue(list,data)	
+					},
+					selectDictValue(datas, value){
+						var actions = [];
+						Object.keys(datas).some((key) => {
+							if (datas[key].dictValue == ('' + value)) {
+								actions.push(datas[key].dictLabel);
+								return true;
+							}
+						})
+						return actions.join('');
+					},
+					getDataFn(){
+						var that=this;
+						var header='Bearer '+this.getToken();
+						$.ajax({
+							url: this.base_url + '/system/dksq/'+this.id,
+							type: 'get',
+							data: {},
+							dataType: 'json',
+							headers: {
+							    'Authorization': header
+							},
+							success: function(res) {
+								that.loading=false;
+								if (res.code == 200) {
+									that.dksqLcjlList=res.data.dksqLcjlList
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+				}
+			})
+		</script>
+		<script type="text/javascript">
+			$(document).ready(function() {
+				$('.backimg').click(function() {
+					window.history.go(-1)
+				})
+			})
+		</script>
+	</body>
+</html>

+ 84 - 0
qianshandaikuan/edyq.html

@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8" />
+		<meta http-equv="X-UA-Compatible" content="IE=edge" />
+		<meta name="viewport" content="width=device-width, initial-scale=1" />
+		<meta name="format-detection" content="telephone=no" />
+		<title>潜山市个人创业担保贷款</title>
+		<meta name="keywords" content="潜山市个人创业担保贷款">
+		<meta name="description" content="潜山市个人创业担保贷款">
+		<script src="static/js/vue.js"></script>
+		<script type="text/javascript" src="static/js/vue-router.js"></script>
+		<script src="static/js/index.js" type="text/javascript"></script>
+		<script src="static/js/croods-1.3.3.js" type="text/javascript" charset="utf-8"></script>
+		<script type="text/javascript" src="./static/js/jquery.min.js"></script>
+		
+		<script src="static/js/common.js"></script>
+		<link href="static/css/common.css" rel="stylesheet" />
+		<link href="static/css/style.css" rel="stylesheet" />
+		<link rel="stylesheet" href="static/css/theme-chalk/index.css">
+		<style></style>
+	</head>
+	<body class="dbody bgf pb20">
+		<div id="app">
+			<div id="appse">
+				<header>
+					<div class="dtop act" >
+						<div class="back backimg"><img src="static/images/wback.png" /></div>
+						<div class="tit over">申请贷款额度要求</div>
+					</div>
+				</header>
+			</div>
+			<main>
+				<div class="edlist" v-for="(ite,idx) in edlist" :key="idx">
+					<div class="f15 cfe fw mb20">{{ite.tit}}</div>
+					<div v-for="(cite,cidx) in ite.children" :key="cidx" class="mb24">
+						<div class="f15 c16 fw mb16">{{cite.tit}}<span class="c6 fw0">{{cite.notice}}</span></div>
+						<p>{{cite.txt}}</p>
+					</div>
+				</div>
+				
+			</main>
+		</div>
+		<script type="text/javascript">
+			var app = new Vue({
+				el: '#app',
+				data: {
+					// base_url: 'https://qsfy.qs163.cn/prod-api',
+					base_url: '',
+					edlist:[
+						{tit:'贷款额度',children:[
+							{tit:'一、不超过10万元',notice:"(含10万元)",txt:'对征信良好、诚实守信、经营稳定的创业人员,申请不超过10万元(含10万元)创业担保贷款的,免除反担保要求。具体贷款额度由业务经办银行根据实地综合调查情况予以审定。'},
+							{tit:'二、10万元 ~ 20万元',notice:"(含20万元)",txt:'对征信良好、诚实守信、经营稳定的创业人员申请10万元以上、20万元以下(含20万元)的创业担保贷款的,须提供1名安庆市范围内行政机关事业单位在编在职人员或国有企业正式职工反担保,或者潜山市内符合抵押条件的房产进行反担保。具体贷款额度由业务经办银行根据实地综合调查情况予以审定。'},
+							{tit:'三、20万元 ~ 50万元',notice:"(含50万元)",txt:'对征信良好、诚实守信、经营稳定的企业,其法定代表人可申请20万元以上、50万元以下(含50万元)的创业担保贷款,可由2名以上安庆市范围内行政机关事业单位在编在职人员或国有企业正式职工反担保,或者潜山市城区、源潭镇、黄铺镇符合抵押条件的房产进行反担保,或者担保公司反担保。具体贷款额度由承贷银行根据实地调查情况,综合考虑申贷主体经营状况、带动就业能力、纳税等情况予以审定。'}]},
+						{tit:'带动就业人数要求',children:[
+							{tit:'一、20万元以下',notice:"(含20万元)",txt:'申请20万元以下创业担保贷款的贷款人所属经营实体无带动就业人数要求。'},
+							{tit:'二、20万元 ~ 30万元',notice:"(含30万元)",txt:'申请20万元以上、30万元以下(含30万元)创业担保贷款的贷款人所属企业,带动就业人数应不低于3人(劳动密集型企业不低于5人);'},
+							{tit:'三、30万元 ~ 40万元',notice:"(含40万元)",txt:'申请30万元以上、40万元以下(含40万元)创业担保贷款的贷款人所属企业,带动就业人数应不低于5人(劳动密集型企业不低于8人);'},
+							{tit:'四、40万元 ~ 50万元',notice:"(含50万元)",txt:'申请40万元以上、50万元以下(含50万元)创业担保贷款的贷款人所属企业,带动就业人数应不低于8人(劳动密集型企业不低于10人)。'},
+							]},
+						]
+				},
+				created() {
+		
+				},
+				mounted() {
+				},
+				destroyed() {
+
+				},
+				methods: {
+					
+				}
+			})
+		</script>
+		<script type="text/javascript">
+			$(document).ready(function() {
+				$('.backimg').click(function() {
+					window.history.go(-1)
+				})
+			})
+		</script>
+	</body>
+</html>

+ 316 - 0
qianshandaikuan/index.html

@@ -0,0 +1,316 @@
+<!DOCTYPE html>
+<html lang="zh">
+	<head>
+		<meta charset="utf-8" />
+		<meta http-equv="X-UA-Compatible" content="IE=edge" />
+		<meta name="viewport" content="width=device-width, initial-scale=1" />
+		<meta name="format-detection" content="telephone=no" />
+		<title>潜山市个人创业担保贷款</title>
+		<meta name="keywords" content="潜山市个人创业担保贷款">
+		<meta name="description" content="潜山市个人创业担保贷款">
+		<script src="static/js/vue.js"></script>
+		<script type="text/javascript" src="static/js/vue-router.js"></script>
+		<script src="static/js/index.js" type="text/javascript"></script>
+		<script src="static/js/croods-1.3.3.js" type="text/javascript" charset="utf-8"></script>
+		<script type="text/javascript" src="./static/js/jquery.min.js"></script>
+		
+		<script src="static/js/common.js"></script>
+		<link href="static/css/common.css" rel="stylesheet" />
+		<link href="static/css/style.css" rel="stylesheet" />
+		<link rel="stylesheet" href="static/css/theme-chalk/index.css">
+		<style></style>
+	</head>
+	<body class="dkbox" @touchmove="handleTouchMove">
+	  <div id="app">
+		<div id="appse">
+			<header>
+				<div class="dtop" :class="scroll>0?'act':''">
+					<div class="back">
+						<img src="static/images/wback.png"  v-if="scroll>0"/>
+						<img src="static/images/back.png"  v-else/>
+					</div>
+					
+					<div class="tit over">
+						潜山市个人创业担保贷款
+					</div>
+				</div>
+			</header>
+		</div>
+		<main >
+			<div class="ditop">
+				<img  src="static/images/itit.png" class="limg"/>
+				<img src="static/images/itopicon.png" class="rimg"/>
+			</div>
+			<div class="diinf">
+				<h1 class="f20 ca8" @click="getLoginFn">贷款信息</h1>
+				<div class="list flexat">
+					<div class="btn flex0">担保类型</div>
+					<div class="tit">房产或担保人担保</div>
+				</div>
+				<div class="list flexat">
+					<div class="btn flex0">最高可贷</div>
+					<div class="tit">500,000<span>万元</span></div>
+				</div>
+				<div class="list flexat">
+					<div class="btn flex0">最长可贷</div>
+					<div class="tit">3<span>年</span></div>
+				</div>
+				<div class="list flexat">
+					<div class="btn flex0">年利率</div>
+					<div class="tit">5.35%</div>
+				</div>
+				<div class="ditxt flexcc pt6">
+					<img src="static/images/iup.png"/>
+					<div class="f16 fw cb3">请仔细阅读以下申请须知</div>
+				</div>
+			</div>
+			<div class="dicon">
+				<!-- 申请条件 -->
+				<div>
+					<h1 class="f20 ca8">申请条件</h1>
+					<div class="list flexat" v-for="(ite,idx) in dlist" :key="idx">
+						<div class="tit flex0">{{ite.val}}</div>
+						<div class="txt">{{ite.txt}}</div>
+					</div>
+					<a href="./edyq.html" class="dilook flexcc pt6">
+						<div class="f16 fw cb3">查看贷款申请的详细额度要求</div>
+						<img src="static/images/dowr.png"/>
+					</a>
+				</div>
+				<!-- 申请流程 -->
+				<div class="pt156">
+					<div class="dicontop flexcc mb28">
+						<img src="static/images/ilicon.png"/>
+						<div class="f20 cfe fw plr12">申请流程</div>
+						<img src="static/images/ilricon.png"/>
+					</div>
+					<div class="slist flexat" v-for="(ite,idx) in slist" :key="idx">
+						<div class="btn txc flex0">{{ite.val}}</div>
+						<div>
+							<div class="f15 cfe fw mb12">{{ite.tit}}</div>
+							<div class="f13 c6 fw5 lh24">{{ite.txt}}</div>
+						</div>
+					</div>
+				</div>
+				<a href="sqed.html" class="dfbtn flexcc f16 cf fw" v-if="dktype==-1">
+					立即申请
+				</a>
+				<a :href="'one.html?pagetype=update&id='+dktype" class="dfbtn flexcc f16 cf fw" v-else>
+					查看进度
+				</a>
+				<!-- <div>您的申请已被驳回,请您重新修改申请后提交</div> -->
+			</div>
+			
+		</main>
+	  </div>
+		<script type="text/javascript">
+			var app = new Vue({
+				el: '#app',
+				data: {
+					// base_url: 'https://qsfy.qs163.cn/prod-api',
+					base_url: 'http://192.168.101.11:8020',
+					wstbase_url: 'https://www.ahzwfw.gov.cn/wst-gateway/',
+					tableData: [],
+					dktype:'-1',//-1  去申请贷款
+					dlist:[
+						{val:1,txt:'借款人应当具备一定的创业能力和自有资金,无不良信贷记录,从事经营项目符合国家有关法律法规及政策规定,并取得相关合法经营执照、证件或其他证明材料。'},
+						{val:2,txt:'除住房贷款、购车贷款、助学贷款、扶贫贷款、5万元以下小额消费贷款(含各类信用卡消费)以外,申请人提交创业担保贷款申请时,本人及配偶应没有其他贷款。'},
+						{val:3,txt:'对还款积极、带动就业能力强、创业项目好的借款人,可继续提供创业担保贷款贴息,但累计次数不得超过3次。'},
+						],
+					slist:[
+						{val:1,tit:'提交申请',txt:'点击立即申请按钮,填写申请额度,并完善申请资料后提交申请信息'},
+						{val:2,tit:'潜山市人社局审查',txt:'潜山市人社局对申请人提交的资料进行审查并推荐贷款银行'},
+						{val:3,tit:'银行评估',txt:'贷款银行根据申请人提交的资料进行评估是否可以进行贷款'},
+						{val:4,tit:'银行放款',txt:'银行完成审批后授信放贷'},
+					],
+					loading: false,
+					lookflag:false,
+					token:'',
+					wsttoken:'',
+					credentNo:'',//身份证号
+					scroll:0,
+				},
+				created() {
+						// if(window.localStorage.getItem('token')){
+							
+						// }else{
+						// 	var obj={
+						// 		phone:this.phone,
+						// 		userName:this.userName,
+						// 		creditLevel:this.creditLevel,
+						// 		idCard:this.idCard,
+						// 	}
+						// 	window.localStorage.setItem('userinfo',JSON.stringify(obj))
+						// }
+				},
+				mounted() {
+					var that=this;
+					window.addEventListener("scroll", that.handleTouchMove, true);
+					that.getLoginFn()
+					that.loading=true;
+					
+					// croods.customPlugin({
+					//     action: "UserPlugin.login", 
+					//     params: {},
+					//     success: function(res) {
+					// 		that.wsttoken=res.token;
+					// 		that.loading=true;
+					// 		that.getDataFn()
+					//     },
+					//     fail: function(msg) {
+					//     }
+					// });
+				},
+				destroyed() {
+				    let that = this;
+				    window.removeEventListener("scroll", that.handleTouchMove, true);
+				},
+				methods: {
+					 handleTouchMove() {
+					    this.scroll=document.documentElement.scrollTop ||window.pageYOffset ||document.body.scrollTop 
+					},
+					getLoginFn(){
+						var that = this;
+						var params={
+							username:"",
+							// username:that.credentNo
+						}
+						$.ajax({
+							url: this.base_url + '/akm/login',
+							type: 'get',
+							data: params,
+							dataType: 'json',
+							success: function(res) {
+								that.loading=false;
+								if (res.code == 200) {
+									that.token = res.token;
+									window.localStorage.setItem('token',res.token);
+									that.getInfo()
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+					getInfo(){
+						var that=this;
+						var header='Bearer '+that.token
+						$.ajax({
+							url: this.base_url + '/getInfo',
+							type: 'get',
+							data: {},
+							dataType: 'json',
+							headers: {
+							    'Authorization': header
+							},
+							success: function(res) {
+								that.loading=false;
+								if (res.code == 200) {
+									that.dktype=res.dk
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+					
+					
+					
+					
+					
+					
+					
+					jgFormat(row, column) {
+						if(row.jcsj){
+							if (row.jcjg == '1') {
+								return '阳性';
+							} else {
+								return '阴性';
+							}
+						}else{
+							return ''
+						}	
+					},
+					handleFormat(row) {
+						if(row.zjhm){
+							var param = row.zjhm;
+							var strlen = param.length;
+							if (strlen < 9) {
+								return strlen;
+							}
+							return param.replace(/^(.{4})(?:\d+)(.{4})$/, "$1**********$2");
+						}
+						
+					},
+					
+					getDataFn() {
+						var that = this;
+						var params={
+							token:that.wsttoken,
+							serviceId:'e102667914bb407cb8aa79b82c0b8a0c',
+							roleCode:'8a4ff1954caf4cab82c18f5886e7834e'
+						}
+						$.ajax({
+							url: this.wstbase_url + '/user/getUserInfoByToken',
+							type: 'GET',
+							data: params,
+							dataType: 'json',
+							success: function(res) {
+								that.loading=false;
+								if (res.errMsg == 'success') {
+									that.credentNo=res.data.perUserVo.credentNo;
+									that.getLoginFn()
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+				}
+			})
+		</script>
+		<script type="text/javascript">
+			$(document).ready(function() {
+				$('.backimg').click(function() {
+					window.history.go(-1)
+				})
+			})
+		</script>
+	</body>
+</html>

+ 65 - 0
qianshandaikuan/indexs.html

@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8" />
+		<meta http-equv="X-UA-Compatible" content="IE=edge" />
+		<meta name="viewport" content="width=device-width, initial-scale=1" />
+		<meta name="format-detection" content="telephone=no" />
+		<title>潜山市个人创业担保贷款</title>
+		<meta name="keywords" content="潜山市个人创业担保贷款">
+		<meta name="description" content="潜山市个人创业担保贷款">
+		<script src="static/js/vue.js"></script>
+		<script type="text/javascript" src="static/js/vue-router.js"></script>
+		<script src="static/js/index.js" type="text/javascript"></script>
+		<script src="static/js/croods-1.3.3.js" type="text/javascript" charset="utf-8"></script>
+		<script type="text/javascript" src="./static/js/jquery.min.js"></script>
+		
+		<script src="static/js/common.js"></script>
+		<link href="static/css/common.css" rel="stylesheet" />
+		<link href="static/css/style.css" rel="stylesheet" />
+		<link rel="stylesheet" href="static/css/theme-chalk/index.css">
+		<style></style>
+	</head>
+	<body class="dbody">
+		<div id="app">
+			<div id="appse">
+				<header>
+					<div class="dtop act" >
+						<div class="back backimg"><img src="static/images/wback.png" /></div>
+						<div class="tit over">申请贷款额度要求</div>
+					</div>
+				</header>
+			</div>
+			<main>
+				
+			</main>
+		</div>
+		<script type="text/javascript">
+			var app = new Vue({
+				el: '#app',
+				data: {
+					// base_url: 'https://qsfy.qs163.cn/prod-api',
+					base_url: '',
+				},
+				created() {
+		
+				},
+				mounted() {
+				},
+				destroyed() {
+
+				},
+				methods: {
+					
+				}
+			})
+		</script>
+		<script type="text/javascript">
+			$(document).ready(function() {
+				$('.backimg').click(function() {
+					window.history.go(-1)
+				})
+			})
+		</script>
+	</body>
+</html>

+ 1634 - 0
qianshandaikuan/one.html

@@ -0,0 +1,1634 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8" />
+		<meta http-equv="X-UA-Compatible" content="IE=edge" />
+		<meta name="viewport" content="width=device-width, initial-scale=1" />
+		<meta name="format-detection" content="telephone=no" />
+		<title>潜山市个人创业担保贷款</title>
+		<meta name="keywords" content="潜山市个人创业担保贷款">
+		<meta name="description" content="潜山市个人创业担保贷款">
+		<script src="static/js/vue.js"></script>
+		<script type="text/javascript" src="static/js/vue-router.js"></script>
+		<script src="static/js/index.js" type="text/javascript"></script>
+		<script src="static/js/croods-1.3.3.js" type="text/javascript" charset="utf-8"></script>
+		<script type="text/javascript" src="./static/js/jquery.min.js"></script>
+		
+		<script src="static/js/common.js"></script>
+		<link href="static/css/common.css" rel="stylesheet" />
+		<link href="static/css/style.css" rel="stylesheet" />
+		<link rel="stylesheet" href="static/css/theme-chalk/index.css">
+		<script src="./static/js/my_component.js"></script>
+		
+		
+		<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vant@2.2/lib/index.css">
+		<script src="https://cdn.jsdelivr.net/npm/vant@2.2/lib/vant.min.js"></script>
+		<style></style>
+	</head>
+	<body class="dbody bgf5">
+		<div id="app">
+			<div id="appse">
+				<header>
+					<div class="dtop act" >
+						<div class="back backimg"><img src="static/images/wback.png" /></div>
+						<div class="tit over" v-if="pagetype=='add'">填写申请资料</div>
+						<div class="tit over" v-else>查看申请资料</div>
+					</div>
+				</header>
+			</div>
+			<main>
+				
+				<!--  -->
+				<el-form ref="form"  :disabled="!updatefalg&&pagetype=='update'" :model="datainfo" :rules="rules" label-width="2rem" :label-position="labelPosition" :hide-required-asterisk="true">
+					<!-- 10万以上-->
+					<div class="jdbox" v-if="dbGrade==2||dbGrade==3">
+						<div class="tit"><span>*</span>担保类型</div>
+						<div class="bgf ibox">
+							<div @click="getCheck('dblb')" class="check" >
+								<el-form-item label="担保类型" prop="dbType">
+									<div class="inpbox " :class="datainfo.dbType?'':'c0'">{{datainfo.dbType||'请选择担保类型'}}</div>
+									<img src="static/images/brimg.png" class="irimg"/>
+								</el-form-item>
+							</div>
+						</div>
+					</div>
+					<div class="jdbox">
+						<div class="tit"><span>*</span>申请人信息</div>
+						<div class="bgf ibox">
+							<el-form-item label="身份证" >
+								<div class="flexcj flex1"  >
+									<!-- :headers="{Authorization: 'Bearer ' + getToken()}"  -->
+									<div @click="getUplFn(1,'身份证正面')" class="upload-rxm">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload"> 
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+													<img v-if="ite.type==1" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,1)">
+													<img v-if="ite.type==1" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx" >
+													<img v-if="ite.type==1" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==1" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+										</div>
+										<!-- :http-request="uploadFile" 自定义上传 -->
+										<div class="f10 ca txc lh24 mt5">上传人像面</div>
+									</div>
+									<div @click="getUplFn(2,'身份证反面')">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+													<img v-if="ite.type==2" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,2)">
+													<img v-if="ite.type==2" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx" >
+													<img v-if="ite.type==2" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==2" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+										</div>
+										<div class="f10 ca txc lh24 mt5">上传国徽面</div>
+									</div>
+								</div>
+							</el-form-item>
+							<el-form-item label="姓名" prop="sqName">
+							    <el-input v-model="datainfo.sqName" placeholder="请输入申请人姓名" ></el-input>
+							</el-form-item>
+							<el-form-item label="身份证号" prop="sqIdCard">
+							    <el-input v-model="datainfo.sqIdCard" placeholder="请输入申请人身份证号" ></el-input>
+							</el-form-item>
+							<el-form-item label="手机号码" prop="sqPhone">
+							    <el-input v-model="datainfo.sqPhone" placeholder="请输入申请人手机号码"></el-input>
+							</el-form-item>
+							<div @click="getCheck('whcd')" class="check" >
+								<el-form-item label="文化程度" prop="whcd">
+									<div class="inpbox " :class="datainfo.whcd?'':'c0'">{{datainfo.whcd||'请选择文化程度'}}</div>
+									<img src="static/images/brimg.png" class="irimg"/>
+								</el-form-item>
+							</div>
+							<div @click="getCheck('rylb')" class="check">
+								<el-form-item label="人员类别" prop="rylb">
+									<div class="inpbox" :class="datainfo.rylb?'':'c0'">{{datainfo.rylb||'请选择人员类别'}}</div>
+									<img src="static/images/brimg.png" class="irimg"/>
+								</el-form-item>
+							</div>
+						</div>
+					</div>
+					<div class="jdbox">
+						<div class="tit"><span>*</span>家庭婚姻信息</div>
+						<div class="bgf ibox">
+							<div @click="getCheck('hyzk')" class="check">
+								<el-form-item label="婚姻状态" prop="hyzk">
+									<div class="inpbox" :class="datainfo.hyzk?'':'c0'">{{datainfo.hyzk||'请选择婚姻状态'}}</div>
+									<img src="static/images/brimg.png" class="irimg"/>
+								</el-form-item>
+							</div>
+							<div v-if="datainfo.hyzk=='已婚'">
+								<el-form-item label="配偶身份证" >
+									<div class="flexcj flex1"  >
+										<div @click="getUplFn(3,'配偶身份证正面')" class="upload-rxm">
+											<div class="upload">
+												<el-upload
+													class="upload-demo"
+													:action=base_url+"/common/upload"
+													:show-file-list="false"
+													 
+													:on-remove="reseImage"
+													:on-success="upImageFn"
+													:before-upload="beforeUpload">
+												</el-upload>
+												<div v-if="!updatefalg&&pagetype=='update'">
+													<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+														<img v-if="ite.type==3" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,3)">
+														<img v-if="ite.type==3" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+													</div> 
+												</div>
+												<div v-else>
+													<div v-for="(ite,idx) in filelist" :key="idx" >
+														<img v-if="ite.type==3" :src="base_url+ite.path"   class="avatar" >
+														<img v-if="ite.type==3" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+													</div> 
+												</div> 
+											</div>
+											
+											<div class="f10 ca txc lh24 mt5">上传人像面</div>
+										</div>
+										<div @click="getUplFn(4,'配偶身份证反面')">
+											<div class="upload">
+												<el-upload
+													class="upload-demo"
+													:action=base_url+"/common/upload"
+													:show-file-list="false"
+													 
+													:on-remove="reseImage"
+													:on-success="upImageFn"
+													:before-upload="beforeUpload">
+													 
+												</el-upload>
+												<div v-if="!updatefalg&&pagetype=='update'">
+													<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+														<img v-if="ite.type==4" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,4)">
+														<img v-if="ite.type==4" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+													</div> 
+												</div>
+												<div v-else>
+													<div v-for="(ite,idx) in filelist" :key="idx" >
+														<img v-if="ite.type==4" :src="base_url+ite.path"   class="avatar" >
+														<img v-if="ite.type==4" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+													</div> 
+												</div>	
+											</div>
+											
+											<div class="f10 ca txc lh24 mt5">上传国徽面</div>
+										</div>
+									</div>
+								</el-form-item>
+								<el-form-item label="配偶姓名" prop="poName">
+								    <el-input v-model="datainfo.poName" placeholder="请输入配偶姓名"></el-input>
+								</el-form-item>
+								<el-form-item label="配偶身份证号" prop="poIdCard">
+								    <el-input v-model="datainfo.poIdCard" placeholder="请输入配偶身份证号"></el-input>
+								</el-form-item>
+								<el-form-item label="配偶工作单位" prop="poGzdw">
+								    <el-input v-model="datainfo.poGzdw" placeholder="请输入配偶工作单位"></el-input>
+								</el-form-item>
+							</div>
+						</div>
+					</div>
+					<div class="jdbox" v-if="datainfo.hyzk=='已婚'">
+						<div class="tit"><span>*</span>婚姻证明</div>
+						<div class="bgf ibox">
+							<el-form-item label="结婚证" prop="region">
+								<div class="moreup">
+									<div class="moreupa">
+										<div @click="getUplFn(5,'结婚证')" class="upload-jhz">
+											<div class="upload">
+												<el-upload
+													class="upload-demo"
+													:action=base_url+"/common/upload"
+													:show-file-list="false"
+													:on-remove="reseImage"
+													:on-success="upImageFn"
+													:before-upload="beforeUpload">
+												</el-upload>
+											</div>
+											<div class="f10 ca txc lh24 mt5">上传结婚证</div>
+										</div>
+										<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+											<img v-if="ite.type==5" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,5)">
+											<img v-if="ite.type==5" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+										</div>
+									</div>
+								</div>
+								
+							</el-form-item>
+							
+						</div>
+					</div>
+					<div class="jdbox">
+						<div class="tit"><span>*</span>户口簿信息</div>
+						<div class="bgf ibox">
+							<el-form-item label="户口簿首页" prop="region">
+								<div class="flexcj flex1"  >
+									<div @click="getUplFn(6,'户口本首页')" class="upload-jhz">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												 
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">  
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+													<img v-if="ite.type==6" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,6)">
+													<img v-if="ite.type==6" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx" >
+													<img v-if="ite.type==6" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==6" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>	
+										</div>
+										
+										<div class="f10 ca txc lh24 mt5">上传户口簿第一页</div>
+									</div>
+								</div>
+							</el-form-item>
+							<el-form-item label="户口簿单页" prop="region">
+								<div class="flexcj flex1"  >
+									<div @click="getUplFn(7,'户口本单页(本人)')" class="upload-jhz">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												 
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">  
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+													<img v-if="ite.type==7" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,7)">
+													<img v-if="ite.type==7" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx" >
+													<img v-if="ite.type==7" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==7" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+										</div>
+										
+										<div class="f10 ca txc lh24 mt5">上传户口簿本人页</div>
+									</div>
+									<div @click="getUplFn(8,'户口本单页(配偶)')" class="upload-jhz" v-if="datainfo.hyzk=='已婚'">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												 
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">
+												 
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+													<img v-if="ite.type==8" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,8)">
+													<img v-if="ite.type==8" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx">
+													<img v-if="ite.type==8" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==8" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+										</div>
+										
+										<div class="f10 ca txc lh24 mt5">上传户口簿配偶页</div>
+									</div>
+								</div>
+							</el-form-item>
+						</div>
+					</div>
+					<div class="jdbox">
+						<div class="tit">
+							<span>*</span>夫妻双方征信报告信息
+						</div>
+						<div class="bgf ibox">
+							<el-form-item label="申请人征信报告" >
+								<div class="moreup">
+									
+								
+								<div class="moreupa"  >
+									<!-- list-type="picture-card"
+											:multiple=true
+											:file-list="fileList" -->
+									<div @click="getUplFn(9,'申请人征信报告(本人)')" class="upload-zxbg">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">
+											</el-upload>
+										</div>
+										
+										<!-- <div>
+											<van-uploader :after-read="afterRead" v-model="fileList" multiple />
+										</div> -->
+
+										<div class="f10 ca txc lh24 mt5">上传申请人征信报告</div>
+									</div>
+									<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+										<img v-if="ite.type==9" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,9)">
+										<img v-if="ite.type==9" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+									</div>
+								</div>
+								<div class="moreupa" v-if="datainfo.hyzk=='已婚'">	
+									<div @click="getUplFn(10,'申请人征信报告(配偶)')" class="upload-zxbg" >
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">
+											</el-upload>
+										</div>
+										<div class="f10 ca txc lh24 mt5">上传配偶征信报告</div>
+									</div>
+									<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+										<img v-if="ite.type==10" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,10)">
+										<img v-if="ite.type==10" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+									</div>
+								</div>
+								</div>
+							</el-form-item>
+						</div>
+					</div>
+					<!-- 担保人担保 -->
+					<!-- 除一档 担保人 -->
+					<div class="jdbox" v-if="dbGrade!=1&&dbType==1">
+						<div class="tit">
+							<span>*</span>担保人信息
+						</div>
+						<div class="bgf ibox">
+							<el-form-item label="身份证" >
+								<div class="flexcj flex1"  >
+									<div @click="getUplFn(11,'担保人身份证正面')" class="upload-rxm">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												 
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">
+												 
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+													<img v-if="ite.type==11" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,11)">
+													<img v-if="ite.type==11" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx" >
+													<img v-if="ite.type==11" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==11" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+										</div>
+										
+										<div class="f10 ca txc lh24 mt5">上传人像面</div>
+									</div>
+									<div @click="getUplFn(12,'担保人身份证反面')">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												 
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">
+												
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+													<img v-if="ite.type==12" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,12)">
+													<img v-if="ite.type==12" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx" >
+													<img v-if="ite.type==12" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==12" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+										</div>
+										
+										<div class="f10 ca txc lh24 mt5">上传国徽面</div>
+									</div>
+								</div>
+							</el-form-item>
+							<el-form-item label="担保人姓名" prop="dbrName">
+							    <el-input v-model="datainfo.dbrName" placeholder="请输入担保人姓名" ></el-input>
+							</el-form-item>
+							<el-form-item label="担保人身份证" prop="dbrIdCard">
+							    <el-input v-model="datainfo.dbrIdCard" placeholder="请输入担保人身份证号" ></el-input>
+							</el-form-item>
+							<el-form-item label="担保人收入证明" >
+								<div class="moreup">
+									<div class="moreupa">
+										<div @click="getUplFn(13,'担保人收入证明')" class="upload-zxbg">
+											<div class="upload">
+												<el-upload
+													class="upload-demo"
+													:action=base_url+"/common/upload"
+													:show-file-list="false"
+													
+													:on-remove="reseImage"
+													:on-success="upImageFn"
+													:before-upload="beforeUpload">
+												</el-upload>
+											</div>
+											<div class="f10 ca txc lh24 mt5">上传担保人收入证明</div>
+										</div>
+										<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+											<img v-if="ite.type==13" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,13)">
+											<img v-if="ite.type==13" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+										</div> 
+									</div>
+								</div>
+							</el-form-item>
+						</div>
+					</div>
+					<!-- 三挡 担保人 -->
+					<div class="jdbox" v-if="dbGrade==3&&dbType==1">
+						<div class="tit">
+							<span>*</span>担保人信息02
+						</div>
+						<div class="bgf ibox">
+							<el-form-item label="身份证" >
+								<div class="flexcj flex1"  >
+									<div @click="getUplFn(23,'担保人2身份证正面')" class="upload-rxm">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												 
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">
+												  
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+													<img v-if="ite.type==23" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,23)">
+													<img v-if="ite.type==23" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div>
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx" >
+													<img v-if="ite.type==23" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==23" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+										</div>
+										
+										<div class="f10 ca txc lh24 mt5">上传人像面</div>
+									</div>
+									<div @click="getUplFn(24,'担保人2身份证反面')">
+										<div class="upload">
+											<el-upload
+												class="upload-demo"
+												:action=base_url+"/common/upload"
+												:show-file-list="false"
+												 
+												:on-remove="reseImage"
+												:on-success="upImageFn"
+												:before-upload="beforeUpload">
+												 
+											</el-upload>
+											<div v-if="!updatefalg&&pagetype=='update'">
+												<div v-for="(ite,idx) in filelist" :key="idx" class="dislist">
+													<img v-if="ite.type==24" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,24)">
+													<img v-if="ite.type==24" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+											<div v-else>
+												<div v-for="(ite,idx) in filelist" :key="idx" >
+													<img v-if="ite.type==24" :src="base_url+ite.path"   class="avatar" >
+													<img v-if="ite.type==24" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+												</div> 
+											</div>
+										</div>
+										
+										<div class="f10 ca txc lh24 mt5">上传国徽面</div>
+									</div>
+								</div>
+							</el-form-item>
+							<el-form-item label="担保人姓名" prop="dbrTwoName">
+							    <el-input v-model="datainfo.dbrTwoName" placeholder="请输入担保人姓名" ></el-input>
+							</el-form-item>
+							<el-form-item label="担保人身份证" prop="dbrTwoIdCard">
+							    <el-input v-model="datainfo.dbrTwoIdCard" placeholder="请输入担保人身份证号" ></el-input>
+							</el-form-item>
+							<el-form-item label="担保人收入证明" >
+								<div class="moreup">
+									<div class="moreupa">
+										<div @click="getUplFn(25,'担保人2收入证明')" class="upload-zxbg">
+											<div class="upload">
+												<el-upload
+													class="upload-demo"
+													:action=base_url+"/common/upload"
+													:show-file-list="false"
+													
+													:on-remove="reseImage"
+													:on-success="upImageFn"
+													:before-upload="beforeUpload">
+												</el-upload>
+											</div>
+											<div class="f10 ca txc lh24 mt5">上传担保人收入证明</div>
+										</div>
+										<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+											<img v-if="ite.type==25" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,25)">
+											<img v-if="ite.type==25" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+										</div> 
+									</div>
+								</div>
+								
+							</el-form-item>
+						</div>
+					</div>
+					<!-- 担保人担保 end-->
+					<!-- 除一档都有 -->
+					<div class="jdbox" v-if="dbGrade&&dbGrade!=1">
+						<div class="tit">
+							<span>*</span>创业担保贷款推荐信息
+						</div>
+						<div class="bgf ibox">
+							<el-form-item label="推荐表" >
+								<div class="moreup">
+									<div class="moreupa">
+										<div @click="getUplFn(14,'推荐表')" class="upload-zxbg">
+											<div class="upload">
+												<el-upload
+													class="upload-demo"
+													:action=base_url+"/common/upload"
+													:show-file-list="false"
+													
+													:on-remove="reseImage"
+													:on-success="upImageFn"
+													:before-upload="beforeUpload">
+												</el-upload>
+											</div>
+											<div class="f10 ca txc lh24 mt5">上传推荐表</div>
+										</div>
+										<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+											<img v-if="ite.type==14" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,14)">
+											<img v-if="ite.type==14" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+										</div> 
+									</div>
+								</div>
+							</el-form-item>
+						</div>
+					</div>
+					<!-- 担保人担保 -->
+					<!-- 除一档 担保人 -->
+					<div v-if="dbGrade!=1&&dbType==1">
+						<div class="jdbox" >
+							<div class="tit">
+								<span>*</span>创业担保贷款担保合同信息
+							</div>
+							<div class="bgf ibox">
+								<el-form-item label="创业担保贷款担保合同" >
+									<div class="moreup">
+										<div class="moreupa">
+											<div @click="getUplFn(15,'创业担保贷款担保合同')" class="upload-zxbg">
+												<div class="upload">
+													<el-upload
+														class="upload-demo"
+														:action=base_url+"/common/upload"
+														:show-file-list="false"
+														
+														:on-remove="reseImage"
+														:on-success="upImageFn"
+														:before-upload="beforeUpload">
+													</el-upload>
+												</div>
+												<div class="f10 ca txc lh24 mt5" style="max-width: 2rem;line-height: 0.34rem;">上传创业担保贷款担保合同</div>
+											</div>
+											<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+												<img v-if="ite.type==15" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,15)">
+												<img v-if="ite.type==15" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+											</div> 
+										</div>
+									</div>
+								</el-form-item>
+							</div>
+						</div>
+						<div class="jdbox">
+							<div class="tit">
+								<span>*</span>其他证明
+							</div>
+							<div class="bgf ibox">
+								<el-form-item label="营业执照" >
+									<div class="moreup">
+										<div class="moreupa">
+											<div @click="getUplFn(16,'营业执照')" class="upload-jhz">
+												<div class="upload">
+													<el-upload
+														class="upload-demo"
+														:action=base_url+"/common/upload"
+														:show-file-list="false"
+														
+														:on-remove="reseImage"
+														:on-success="upImageFn"
+														:before-upload="beforeUpload">
+													</el-upload>
+												</div>
+												<div class="f10 ca txc lh24 mt5">上传营业执照</div>
+											</div>
+											<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+												<img v-if="ite.type==16" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,16)">
+												<img v-if="ite.type==16" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+											</div>  
+										</div>
+									</div>
+								</el-form-item>
+							</div>
+						</div>
+					</div>
+					<!-- 担保人担保end -->
+					
+					<!-- 房产担保 除一档 房产-->
+					<div v-if="dbGrade!=1&&dbType==2">
+						<div class="jdbox">
+							<div class="tit">
+								<span>*</span>创业担保贷款房产抵押信息
+							</div>
+							<div class="bgf ibox">
+								<el-form-item label="房产抵押担保合同" >
+									<div class="moreup">
+										<div class="moreupa">
+											<div @click="getUplFn(19,'房产抵押担保合同')" class="upload-zxbg">
+												<div class="upload">
+													<el-upload
+														class="upload-demo"
+														:action=base_url+"/common/upload"
+														:show-file-list="false"
+														
+														:on-remove="reseImage"
+														:on-success="upImageFn"
+														:before-upload="beforeUpload">
+													</el-upload>
+												</div>
+												<div class="f10 ca txc lh24 mt5">上传房产抵押担保合同</div>
+											</div>
+											<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+												<img v-if="ite.type==19" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,19)">
+												<img v-if="ite.type==19" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+											</div> 
+										</div>
+									</div>
+								</el-form-item>
+							</div>
+						</div>
+						<div class="jdbox">
+							<div class="tit">
+								<span>*</span>房产相关信息
+							</div>
+							<div class="bgf ibox">
+								<el-form-item label="房产土地证明" >
+									<div class="moreup">
+										<div class="moreupa">
+											<div @click="getUplFn(20,'房产土地证明')" class="upload-jhz">
+												<div class="upload">
+													<el-upload
+														class="upload-demo"
+														:action=base_url+"/common/upload"
+														:show-file-list="false"
+														
+														:on-remove="reseImage"
+														:on-success="upImageFn"
+														:before-upload="beforeUpload">
+													</el-upload>
+												</div>
+												<div class="f10 ca txc lh24 mt5">上传房产证</div>
+											</div>
+											<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+												<img v-if="ite.type==20" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,20)">
+												<img v-if="ite.type==20" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+											</div> 
+										</div>
+									</div>
+								</el-form-item>
+								<el-form-item label="房产所属人身份证" >
+									<div class="moreup">
+										<div class="flexcj flex1">
+											<div @click="getUplFn(21,'房产所属人身份证正面')" class="upload-rxm">
+												<div class="upload">
+													<el-upload
+														class="upload-demo"
+														:action=base_url+"/common/upload"
+														:show-file-list="false"
+														 
+														:on-remove="reseImage"
+														:on-success="upImageFn"
+														:before-upload="beforeUpload">
+														
+													</el-upload>
+													<div v-if="!updatefalg&&pagetype=='update'">
+														<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+															<img v-if="ite.type==21" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,21)">
+															<img v-if="ite.type==21" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+														</div> 
+													</div>
+													<div v-else>
+														<div v-for="(ite,idx) in filelist" :key="idx">
+														<img v-if="ite.type==21" :src="base_url+ite.path"   class="avatar" >
+														<img v-if="ite.type==21" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+													</div> </div>
+												</div>
+												<div class="f10 ca txc lh24 mt5">上传人像面</div>
+											</div>
+											 <div @click="getUplFn(22,'房产所属人身份证反面')" class="upload-rxm">
+											 	<div class="upload">
+											 		<el-upload
+											 			class="upload-demo"
+											 			:action=base_url+"/common/upload"
+											 			:show-file-list="false"
+											 			 
+											 			:on-remove="reseImage"
+											 			:on-success="upImageFn"
+											 			:before-upload="beforeUpload">
+											 			 
+											 		</el-upload>
+													<div v-if="!updatefalg&&pagetype=='update'">
+														<div v-for="(ite,idx) in filelist" :key="idx"  class="dislist">
+															<img v-if="ite.type==22" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,22)">
+															<img v-if="ite.type==22" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+														</div> 
+													</div>
+													<div v-else>
+														<div v-for="(ite,idx) in filelist" :key="idx">
+															<img v-if="ite.type==22" :src="base_url+ite.path"   class="avatar" >
+															<img v-if="ite.type==22" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+														</div> 
+													</div>
+											 	</div>
+												
+											 	<div class="f10 ca txc lh24 mt5">上传国徽面</div>
+											 </div>
+										</div>
+									</div>
+								</el-form-item>
+							</div>
+						</div>
+					</div>
+					<!--房产担保 end  -->
+					<!-- 三挡都有 -->
+					<div class="jdbox" v-if="dbGrade==3">
+						<div class="tit">
+							<span>*</span>带动就业信息
+							<div class="flex1e">
+								<a href="edyq.html" class="flexc doubt">
+									<img src="static/images/doubt.png"/>
+									查看所需信息及要求
+								</a>
+							</div>
+						</div>
+						<div class="bgf ibox">
+							<el-form-item label="工资表" >
+								<div class="moreup">
+									<div class="moreupa">
+										<div @click="getUplFn(17,'工资表')" class="upload-zxbg">
+											<div class="upload">
+												<el-upload
+													class="upload-demo"
+													:action=base_url+"/common/upload"
+													:show-file-list="false"
+													
+													:on-remove="reseImage"
+													:on-success="upImageFn"
+													:before-upload="beforeUpload">
+												</el-upload>
+											</div>
+											<div class="f10 ca txc lh24 mt5">上传工资表</div>
+										</div>
+										<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+											<img v-if="ite.type==17" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,17)">
+											<img v-if="ite.type==17" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+										</div>
+									</div>
+								</div>
+							</el-form-item>
+							<el-form-item label="带动就业人员名单" >
+								<div class="moreup">
+									<div class="moreupa">
+										<div @click="getUplFn(18,'带动就业人员名单')" class="upload-zxbg">
+											<div class="upload">
+												<el-upload
+													class="upload-demo"
+													:action=base_url+"/common/upload"
+													:show-file-list="false"
+													
+													:on-remove="reseImage"
+													:on-success="upImageFn"
+													:before-upload="beforeUpload">
+												</el-upload>
+											</div>
+											<div class="f10 ca txc lh24 mt5">上传带动就业人员名单</div>
+										</div>
+										<div v-for="(ite,idx) in filelist" :key="idx" class="list">
+											<img v-if="ite.type==18" :src="base_url+ite.path"   class="avatar" @click="getPreview(ite,18)">
+											<img v-if="ite.type==18" src="static/images/del.png" alt="" class="delimg" @click.stop="getRemove(idx)">
+										</div> 
+									</div>
+								</div>
+							</el-form-item>
+						</div>
+					</div>
+				</el-form>
+				<div class="subbox flexcc f16 cf fw" @click="getsubmit" v-if="pagetype=='add'">提交申请</div>
+				
+				<div v-else class="jdbtn flexcc">
+					<a :href="'dqjd.html?id='+id" class="flex1 flexcc f16 cf fw">查看当前进度</a>
+					<div class="flex1 flexcc f16 cf fw" @click="getsubmit" >立即修改</div>
+					<!-- v-if="updatefalg" -->
+				</div>
+				<div class="h50"></div>
+				
+			<!-- <van-image-preview v-model:show="dialogVisible" startposition=2 :images="images" @change="onChange"></van-image-preview> -->
+				<my-load :showflag='showflag' :datalist="datalist" :dataval="dataval" @getclose="getCloseFn" @getconfirm="getConfirmFn"></my-load>
+			</main>
+		</div>
+		<script type="text/javascript">
+			var app = new Vue({
+				el: '#app',
+				data: {
+					images:[],
+					startPosition:1,
+					fileList :[
+					      { url: 'https://fastly.jsdelivr.net/npm/@vant/assets/leaf.jpeg' },
+					      { url: 'https://fastly.jsdelivr.net/npm/@vant/assets/leaf.jpeg', isImage: true },
+					],
+					// base_url: 'https://qsfy.qs163.cn/prod-api',
+					// base_url: 'http://192.168.101.168:8020',
+					base_url: 'http://192.168.101.11:8020',
+					labelPosition:'left',
+					imageUrl:'',
+					showflag:false,
+					dialogVisible:false,
+					filelist:[
+						{fjName: "d7e3023f23cfd1acc512139def091ef0.jpg",name: "身份证正面",path: "/profile/upload/2023/06/19/d7e3023f23cfd1acc512139def091ef0_20230619151529A007.jpg",status: "",type: 1},
+						{fjName: "dj5007.png",name: "身份证反面",path: "/profile/upload/2023/06/19/dj5007_20230619151533A008.png",status: "",type: 2,},
+						{fjName: "企业微信截图_16869106221146.png",name: "户口本首页",path: "/profile/upload/2023/06/19/企业微信截图_16869106221146_20230619151559A009.png",status: "",type: 6,},
+						{fjName: "企业微信截图_16869105617011.png",name: "户口本单页(本人)",path: "/profile/upload/2023/06/19/企业微信截图_16869105617011_20230619151602A010.png",status: "",type: 7,},
+						{fjName: "d7e3023f23cfd1acc512139def091ef0.jpg",name: "申请人征信报告(本人)",path: "/profile/upload/2023/06/19/d7e3023f23cfd1acc512139def091ef0_20230619151606A011.jpg",status: "",type: 9,},
+						{fjName: "企业微信截图_16869106221146.png",name: "申请人征信报告(本人)",path: "/profile/upload/2023/06/19/企业微信截图_16869106221146_20230619151559A009.png",status: "",type: 9,}
+					],
+					dialogImageUrl:'',
+					upltype:'',//附件类型
+					uplName:'',//附件类型名称,
+					pagetype:'add',
+					updatefalg:true,
+					datalist:[],
+					dataval:'',//选择的哪一个
+					whcdval:-1,//
+					rylbval:-1,//
+					hyzkval:-1,//
+					dblbval:-1,
+					whcdlist:[],//文化程度
+					rylblist:[],//人员类别
+					hyzklist:[],//婚姻状况
+					dblblist:[],//担保类型
+					dbGrade:'',//担保档次
+					dbType:'',//担保类型
+					datainfo: {
+						"sqMoney":null,//申请金额(万元)
+					    "dbType": null,//担保类型 1:担保人担保 2:房产担保
+					    "dbGrade": null,//担保档次 1:10万元以下 2:10-20 3:20-50
+					    "sqName": 'a',//申请人姓名
+					    "sqIdCard": "",//申请人身份证号码
+					    "sqPhone": '',//申请人手机号
+					    "whcd": null,//申请人文化程度
+					    "rylb": null,//人员类别
+					    "xydj": null,//申请人信用等级
+					    "hyzk": null,//婚姻状况
+					    "poName": null,//配偶姓名
+					    "poIdCard": null,//配偶身份证号码
+					    "poGzdw": null,//配偶工作单位
+					    "dbrName": null,//担保人姓名
+					    "dbrIdCard": null,//担保人身份证号码
+					    "dbrTwoName": null,//担保人2姓名
+					    "dbrTwoIdCard": null,//担保人2身份证号码
+					    "type": null,//申请状态
+					    "result": null,//申请结果 1:等待 2:通过 3:未通过
+					    "fdBank": null,//放贷银行名称
+					    "fdBankId": null,//放贷银行id
+					    "fdMoney": null,//实际放贷金额(万元)
+					    "fdTime": null,//实际放贷时间 yyyy-MM-dd
+					    "dkFjList": [{
+					        "fjName": null,//附件名称
+					        "path": null,//附件地址
+					        "status": null,//附件担保类别 1:担保人担保 2:房产担保
+					        "grade": null,//附件档次 1:10万元以下 2:10-20 3:20-50
+					        "name": null,//附件类型名称
+					        "type": null//附件类型 1: 身份证正面 2(身份证反面) 3配偶身份证正面 4配偶身份证反面 5:结婚证 6:户口本首页 7:户口本单页(本人) 8:户口本单页(配偶) 9:申请人征信报告(本人) 10:申请人征信报告(配偶) 11:担保人身份证正面 12:担保人身份证反面 13:担保人收入证明 14:推荐表 15: 创业担保贷款担保合同 16:营业执照 17:工资表 18:带动就业人员名单 19 房产抵押担保合同 20 房产土地证明 21:房产所属人身份证正面 22:房产所属人身份证反面 23:担保人2身份证正面 24:担保人2身份证反面 25:担保人2收入证明"
+					    }]
+					    },
+					rules: {
+					    sqName: [{ required: true, message: '请输入姓名', trigger: 'change'}],
+					    sqIdCard: [{ required: true, message: '请输入身份证号', trigger: 'change'}],
+					    sqPhone: [{ required: true, message: '请输入手机号码', trigger: 'change'},{ pattern: /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, message: '格式不正确' }],
+					    whcd: [{ required: true, message: '请选择文化程度', trigger: 'change'}],
+					    rylb: [{ required: true, message: '请选择人员类别', trigger: 'change'}],
+					    hyzk: [{ required: true, message: '请选择婚姻状态', trigger: 'change'}],
+					    }
+				},
+				created() {
+				},
+				mounted() {
+					this.init()
+					// encodeURI
+					if(decodeURI(this.getQueryString("pagetype"))){
+						// 修改
+						this.pagetype='update';
+						this.id=decodeURI(this.getQueryString("id"))
+						this.getDataFn()
+					}else{
+						//新增
+						this.pagetype='add'
+						this.datainfo.sqMoney = Number(decodeURI(this.getQueryString("sqMoney")));
+						this.datainfo.dbGrade=decodeURI(this.getQueryString("grade"));
+						this.dbGrade=decodeURI(this.getQueryString("grade"));
+					}
+					
+				},
+				destroyed() {
+
+				},
+				methods: {
+					onChange(id){
+						console.log(id)
+					},
+					
+					
+					getToken(){
+						return window.localStorage.getItem('token')
+					},
+					// 获取路由参数
+					getQueryString(name) {
+					     try {
+							var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+							var r = window.location.href.split('?')[1].match(reg);						
+							if(r != null) {
+							    return r[2];
+							}
+							 return "";//如果此处只写return;则返回的是undefined
+						} catch(e) {
+							 return "";//如果此处只写return;则返回的是undefined
+						}
+					},
+					// keyType(data,list){
+					// 	return data	
+					// },
+					selectDictValue(datas, value){
+						var actions = [];
+						Object.keys(datas).some((key) => {
+							if (datas[key].dictLabel == ('' + value)) {
+								actions.push(datas[key].dictValue);
+								return true;
+							}
+						})
+						return actions.join('');
+					},
+					getDataFn(){
+						var that=this;
+						var header='Bearer '+this.getToken();
+						$.ajax({
+							url: this.base_url + '/system/dksq/'+this.id,
+							type: 'get',
+							data: {},
+							dataType: 'json',
+							headers: {
+							    'Authorization': header
+							},
+							success: function(res) {
+								that.loading=false;
+								if (res.code == 200) {
+									// 2,3  状态 不通过 可以修改
+									var type=res.data.type;
+									if((type==2||type==3)&&res.data.result==3){
+										that.updatefalg=true
+									}else{
+										that.updatefalg=false
+									}
+									that.filelist=JSON.parse(JSON.stringify(res.data.dkFjList))
+									that.datainfo=JSON.parse(JSON.stringify(res.data))
+									that.dbGrade=res.data.dbGrade
+									that.dbType=that.selectDictValue(that.dblblist,res.data.dbType)
+									// console.log(that.dbType,1)
+									setTimeout(function(){
+										if(res.data.whcd){
+											that.whcdval=that.selectDictValue(that.whcdlist,res.data.whcd)
+										}
+										if(res.data.rylb){
+											that.rylbval=that.selectDictValue(that.rylblist,res.data.rylb)
+										}
+										if(res.data.hyzk){
+											that.hyzkval=that.selectDictValue(that.hyzklist,res.data.hyzk)
+										}
+										if(res.data.dbType){
+											that.dblbval=that.selectDictValue(that.dblblist,res.data.dblb)
+										}
+									},1000)
+									
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+					getUplFn(e,tit){
+						this.upltype=e;
+						this.uplName=tit
+					},
+					uploadFile(content){
+						// 自定义上传接口
+						var that=this;
+						var header='Bearer '+this.getToken();
+						const formData=new FormData();
+						formData.append("file",content.file);
+						// 获取参数
+						$.ajax({
+							url: this.base_url + '/common/ocrIdCard',
+							type: 'post',
+							data: formData,
+							dataType: 'json', //以jsonp类型返回
+							processData: false, //告诉jquery不要发送数据
+							contentType: false, //不要射中content-type
+							headers: {
+							    'Authorization': header
+							},
+							success: function(res) {
+								that.loading=false;
+								if (res.code == 200) {
+									console.log(res)
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+					getIdCard(formData){
+						var that = this;
+						var header='Bearer '+this.getToken();
+						return new Promise((resolve, reject) => {
+							$.ajax({
+								url: this.base_url + '/common/ocrIdCard',
+								type: 'post',
+								data: formData,
+								dataType: 'json', //以jsonp类型返回
+								processData: false, //告诉jquery不要发送数据
+								contentType: false, //不要射中content-type
+								headers: {
+								    'Authorization': header
+								},
+								success: function(res) {
+									that.loading=false;
+									if (res.code == 200) {
+										if(that.upltype==1){
+											that.datainfo.sqIdCard = res.data.id
+											that.datainfo.sqName = res.data.name
+										}else if(that.upltype==3){
+											that.datainfo.poIdCard = res.data.id
+											that.datainfo.poName = res.data.name
+										}else if(that.upltype==11){
+											that.datainfo.dbrName = res.data.id
+											that.datainfo.dbrIdCard = res.data.name
+										}else if(that.upltype==23){
+											that.datainfo.dbrTwoName = res.data.id
+											that.datainfo.dbrTwoIdCard = res.data.name
+										}
+										resolve(res)
+									}else if(res.code == 500){
+										that.$message({
+											message: '识别失败,请上传正确的图片',
+											type: 'error',
+											center: true,
+										});
+										// 这个时候应该阻止展示图片了
+										reject(res)
+									} else {
+										that.$message({
+											message: res.msg,
+											type: 'error',
+											center: true,
+										});
+										reject(res)
+									}
+								},
+								fail:function(res){
+									that.loading=false;
+									that.$message({
+										message: "网络请求错误",
+										type: 'error',
+										center: true,
+									});
+									reject(res)
+								}
+							})
+						})
+						
+					},
+					beforeUpload(file) {
+						var that=this;
+						const isJPG =
+							file.type === "image/jpeg" ||
+							file.type === "image/png" ||
+							file.type === "image/jpg";
+						const isLt2M = file.size / 1024 / 1024 < 2;
+												
+						if (!isJPG) {
+							this.$message.error('图片只能是 JPG 格式! 或者 PNG 格式!');
+							return false
+						}
+						if (!isLt2M) {
+							this.$message.error('图片大小不能超过 2MB!');
+							return false
+						}
+						// 暂时注释(后续身份证1,3,11,21,23
+						if(this.upltype==1||this.upltype==3||this.upltype==11||this.upltype==23){
+							var formData = new FormData()
+							formData.append( 'file',file)
+							return  that.getIdCard(formData).then(res=>{
+								let code = res.code
+								if(isJPG && isLt2M  && code==200){
+								    return 1
+								}
+								else {
+								    return Promise.reject(1)// return new Promise((resolve,reject)=>reject(1))
+								}
+							 }) 
+						}else{
+							return isJPG && isLt2M;
+						}
+						
+					},
+					upImageFn(res, file) {
+						var that=this;
+						var newobj={
+							"fjName": res.originalFilename,
+							"path": res.fileName,
+							"status": "",//附件担保类别 1:担保人担保 2:房产担保
+							"grade": this.datainfo.grade,
+							"name": this.uplName,
+							"type": this.upltype
+						}
+						
+						var newArr=[1,2,3,4,6,7,8,11,12,21,22,23,24]
+						var a=0;
+						// 判断有没有值有替换,没有添加
+						Object.keys(newArr).some((key) => {
+							//判断是否含有这个对象,如果有就替换,没有就push
+							if(that.upltype == newArr[key]){
+								if(that.filelist.findIndex((val)=> val.type == that.upltype) !== -1){
+									a=1
+								    let index = that.filelist.findIndex((val)=> val.type == that.upltype);
+								    that.filelist.splice(index, 1, newobj);
+									that.datainfo.dkFjList=JSON.parse(JSON.stringify(that.filelist))
+									return true
+								}
+							}	
+						})
+						if(a==0){
+							this.filelist.push(newobj)
+							this.datainfo.dkFjList=JSON.parse(JSON.stringify(this.filelist))
+						}
+						
+					 },
+					getRemove(idx){
+						if(this.updatefalg){
+							this.filelist.splice(idx,1)
+							this.datainfo.dkFjList=JSON.parse(JSON.stringify(this.filelist))
+						}
+						
+					},
+					getsubmit(){
+						var that=this;
+						// console.log(this.filelist)
+						// return
+						this.datainfo.dkFjList=JSON.parse(JSON.stringify(this.filelist));
+						this.$refs['form'].validate((valid) => {
+						        if (valid) {
+								   // 判断 各个文件是否上传
+								   var filelist=this.filelist;
+								   var a=0;
+								   var newArr=[1,2,6,7,9];
+								   // 婚姻状况
+								   if(this.datainfo.hyzk=='已婚'){
+										newArr=[1,2,3,4,5,6,7,8,9,10]
+								   }else{
+										newArr=[1,2,6,7,9]
+								   }
+								   if(this.dbGrade!=1&&!this.dbType){
+									   that.$message({
+									   	message: "请选择担保类型",
+									   	type: 'error',
+									   	center: true,
+									   });
+									   return;
+								   }
+								   //担保人担保o 除一档 担保人
+								   if(this.dbGrade!=1&&this.dbType==1){
+									 // var a=[11,12,13,15,16]
+									 var a=[11,12,13,15]
+									 newArr=newArr.concat(a)
+								   }
+								   if(this.dbGrade!=1&&this.dbType==2){
+								   	var b=[19,20,21,22]
+									newArr=newArr.concat(b)
+								   }
+								   if(this.dbGrade==3){
+									   var c=[17,18]
+									   newArr=newArr.concat(c)
+								   }
+								   if(this.dbGrade==3&&this.dbType==1){
+									   var d=[23,24,25]
+									   newArr=newArr.concat(d)
+								   }
+								  if(this.dbGrade&&this.dbGrade!=1){
+									   var e=[14]
+									   newArr=newArr.concat(e)
+								  }
+									
+								   Object.keys(newArr).some((key) => {
+								   	var s=filelist.find(item => item.type == newArr[key])
+								   	if(!s){
+								   		var str=''
+								   		if(newArr[key]==1){
+								   			str="身份证正面"
+								   		}else if(newArr[key]==2){
+								   			str="身份证反面"
+								   		}else if(newArr[key]==3){
+								   			str="配偶身份证正面"
+								   		}else if(newArr[key]==4){
+								   			str="配偶身份证反面"
+								   		}else if(newArr[key]==5){
+								   			str="结婚证"
+								   		}else if(newArr[key]==6){
+								   			str="户口簿首页"
+								   		}else if(newArr[key]==7){
+								   			str="户口簿本人页"
+								   		}else if(newArr[key]==8){
+								   			str="户口簿配偶页"
+								   		}else if(newArr[key]==9){
+								   			str="申请人征信报告"
+								   		}else if(newArr[key]==10){
+								   			str="配偶征信报告"
+										}else if(newArr[key]==11){
+											str="担保人身份证正面"
+										}else if(newArr[key]==12){
+											str="担保人身份证反面"
+										}else if(newArr[key]==13){
+											str="担保人收入证明"
+										}else if(newArr[key]==14){
+											str="推荐表"
+										}else if(newArr[key]==15){
+											str="创业担保贷款担保合同"
+										// }else if(newArr[key]==16){
+										// 	str="营业执照"
+										}else if(newArr[key]==17){
+											str="工资表"
+										}else if(newArr[key]==18){
+											str="带动就业人员名单"
+										}else if(newArr[key]==19){
+											str="房产抵押担保合同"
+										}else if(newArr[key]==20){
+											str="房产土地证明"
+										}else if(newArr[key]==21){
+											str="房产所属人身份证正面"
+										}else if(newArr[key]==22){
+											str="房产所属人身份证反面"
+										}else if(newArr[key]==23){
+											str="担保人2身份证正面"
+										}else if(newArr[key]==24){
+											str="担保人2身份证反面"
+										}else if(newArr[key]==25){
+											str="担保人2收入证明"
+								   		}
+								   		a=1;
+								   		that.$message({
+								   			message: "请上传"+str,
+								   			type: 'error',
+								   			center: true,
+								   		});
+								   		return true;
+								   	}
+								   })
+								   if(a==1){
+								   	return
+								   }
+								   
+								   // 判断担保人信息
+								   if(this.dbType==1){
+									   if(!this.datainfo.dbrName){
+										   that.$message({
+										   	message: "请输入担保人姓名",
+										   	type: 'error',
+										   	center: true,
+										   });
+										   return
+									   }
+									   if(!this.datainfo.dbrIdCard){
+										   that.$message({
+										   	message: "请输入担保人身份证",
+										   	type: 'error',
+										   	center: true,
+										   });
+										   return
+									   }
+									   if(this.dbGrade==3){
+											if(!this.datainfo.dbrTwoName){
+												   that.$message({
+												   	message: "请输入担保人2姓名",
+												   	type: 'error',
+												   	center: true,
+												   });
+												   return
+											}
+											if(!this.datainfo.dbrTwoIdCard){
+												   that.$message({
+												   	message: "请输入担保人2身份证",
+												   	type: 'error',
+												   	center: true,
+												   });
+												   return
+											}
+									   }
+								   }
+								   
+								   var params=this.datainfo
+						           var header='Bearer '+this.getToken()
+								   if(that.pagetype=='add'){
+									  $.ajax({
+									  	url: this.base_url + '/system/dksq',
+									  	type: 'post',
+									  	data: JSON.stringify(params),
+									  	dataType: 'json',
+									  	headers: {
+									  	    'Authorization': header
+									  	},
+									  	success: function(res) {
+									  		that.loading=false;
+									  		if (res.code == 200) {
+									  			window.location.href='success.html'
+									  		} else {
+									  			that.$message({
+									  				message: res.msg,
+									  				type: 'error',
+									  				center: true,
+									  			});
+									  		}
+									  	},
+									  	fail:function(res){
+									  		that.loading=false;
+									  		that.$message({
+									  			message: "网络请求错误",
+									  			type: 'error',
+									  			center: true,
+									  		});
+									  	}
+									  }) 
+								   }else if(that.pagetype=='update'){
+									   $.ajax({
+									   	url: this.base_url + '/system/dksq/put',
+									   	type: 'post',
+									   	data: JSON.stringify(params),
+									   	dataType: 'json',
+									   	headers: {
+									   	    'Authorization': header
+									   	},
+									   	success: function(res) {
+									   		that.loading=false;
+									   		if (res.code == 200) {
+									   			window.location.href='success.html'
+									   		} else {
+									   			that.$message({
+									   				message: res.msg,
+									   				type: 'error',
+									   				center: true,
+									   			});
+									   		}
+									   	},
+									   	fail:function(res){
+									   		that.loading=false;
+									   		that.$message({
+									   			message: "网络请求错误",
+									   			type: 'error',
+									   			center: true,
+									   		});
+									   	}
+									   })
+								   }
+						           
+						        } else {
+						           console.log('error submit!!');
+						           return false;
+						        }
+						});
+					},
+					
+					getCheck(e){
+						if(this.updatefalg){
+						this.checktype=e;
+						if(e=='whcd'){
+							this.datalist=this.whcdlist;
+							this.dataval=this.whcdval||'';
+						}else if(e=='rylb'){
+							this.datalist=this.rylblist;
+							this.dataval=this.rylbval||'';
+						}else if(e=='hyzk'){
+							this.datalist=this.hyzklist;
+							this.dataval=this.hyzkval||'';
+						}else if(e=='dblb'){
+							this.datalist=this.dblblist;
+							this.dataval=this.dblbval||'';
+						}
+						this.showflag=true;
+						}
+					},
+					getCloseFn(){
+						this.showflag=false;
+					},
+					getConfirmFn(e){
+						var data=e.data;
+						var idx=e.val;
+						if(this.checktype=='whcd'){
+							this.datainfo.whcd=data.dictLabel;
+							this.whcdval=idx;
+						}else if(this.checktype=='rylb'){
+							this.datainfo.rylb=data.dictLabel;
+							this.rylbval=idx;
+						}else if(this.checktype=='hyzk'){
+							this.datainfo.hyzk=data.dictLabel;
+							this.hyzkval=idx;
+						}else if(this.checktype=='dblb'){
+							this.datainfo.dbType=data.dictLabel;
+							this.dbType=data.dictValue
+							this.dblbval=idx;
+						}
+						this.showflag=false;
+					},
+					getPreview(ite,num){
+						var file=this.filelist;
+						var newArr=[];
+						var idx=0;
+						var fjName=ite.fjName
+						Object.keys(file).some((key) => {
+							if (file[key].type == ('' + num)) {
+								if(fjName==file[key].fjName){
+									idx=newArr.length
+								}
+								newArr.push(this.base_url+file[key].path);
+							}
+						})
+						vant.ImagePreview(newArr,idx);
+					},
+					reseImage(file){
+						console.log(file,1)
+					},
+					handlePreview(file){
+						console.log(file,1)
+					},
+					getDictionaryFn(data){
+						var that = this;
+						var header='Bearer '+this.getToken()
+						$.ajax({
+							url: this.base_url + '/system/dict/data/type/'+data,
+							type: 'get',
+							data: {},
+							dataType: 'json',
+							headers: {
+							    'Authorization': header
+							},
+							success: function(res) {
+								that.loading=false;
+								if (res.code == 200) {
+									var datalist = res.data.map(v => {
+										return {
+											dictLabel: v.dictLabel,
+											dictValue: Number(v.dictValue)
+										}
+									})
+									if(data=='whcd'){
+										that.whcdlist=datalist;
+									}else if(data=='rylb'){
+										that.rylblist=datalist;
+									}else if(data=='hyzk'){
+										that.hyzklist=datalist;
+									}else if(data=='dblb'){
+										that.dblblist=datalist;
+									}
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+					init(){
+						this.getDictionaryFn('whcd')
+						this.getDictionaryFn('rylb')
+						this.getDictionaryFn('hyzk')
+						// 担保类型 证件类型
+						this.getDictionaryFn('dblb')
+						// this.getDictionaryFn('hyzk')
+					},
+					
+				}
+			})
+		</script>
+		<script type="text/javascript">
+			$(document).ready(function() {
+				$('.backimg').click(function() {
+					window.history.go(-1)
+				})
+			})
+		</script>
+	</body>
+</html>

+ 247 - 0
qianshandaikuan/sqed.html

@@ -0,0 +1,247 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8" />
+		<meta http-equv="X-UA-Compatible" content="IE=edge" />
+		<meta name="viewport" content="width=device-width, initial-scale=1" />
+		<meta name="format-detection" content="telephone=no" />
+		<title>潜山市个人创业担保贷款</title>
+		<meta name="keywords" content="潜山市个人创业担保贷款">
+		<meta name="description" content="潜山市个人创业担保贷款">
+		<script src="static/js/vue.js"></script>
+		<script type="text/javascript" src="static/js/vue-router.js"></script>
+		<script src="static/js/index.js" type="text/javascript"></script>
+		<script src="static/js/croods-1.3.3.js" type="text/javascript" charset="utf-8"></script>
+		<script type="text/javascript" src="./static/js/jquery.min.js"></script>
+		
+		<script src="static/js/common.js"></script>
+		<link href="static/css/common.css" rel="stylesheet" />
+		<link href="static/css/style.css" rel="stylesheet" />
+		<link rel="stylesheet" href="static/css/theme-chalk/index.css">
+		<style></style>
+	</head>
+	<body class="dbody">
+		<div id="app">
+			<div id="appse">
+				<header>
+					<div class="dtop act" >
+						<div class="back backimg"><img src="static/images/wback.png" /></div>
+						<div class="tit over">申请贷款额度要求</div>
+					</div>
+				</header>
+			</div>
+			<main>
+				<div class="tsqbox">
+					<div class="f20 fw c16 mb10">申请额度</div>
+					<div class="f13 fw5 c6 mb24">请如实填写您所需申请的额度,如输入额度,请输入数字,否则识别不出</div>
+					<div class="flexc bbe6 ptb32" @click="getChose">
+						<img src="static/images/micon.png" class="mimg flex0"/>
+						<div class="flex1" @click.stop="getInput">
+							<input placeholder="请选择或输入额度" class="flex1" v-model='limitval'/>
+						</div>
+						
+						<img src="static/images/brimg.png" class="rimg flex0"/>
+						<div>万元</div>
+					</div>
+					<div class="sqbtn" @click="getNext">下一步</div>
+				</div>
+				<!-- 弹框样式 -->
+				
+				<my-load :showflag='showflag' :datalist="datalist" @getclose="getCloseFn" @getconfirm="getConfirmFn"></my-load>
+				
+				<!-- <div>
+					<div class="bgbox" v-if="showflag"></div>
+					<div class="pickbox " :class="showflag?'show':''">
+						<div class="top flexcc">
+							<div class="left flex0" @click="getCloseFn">取消</div>
+							<div class="cent"></div>
+							<div class="right flex0" @click="getConfirmFn">确认</div>
+						</div>
+						<div class="box">
+							<div :class="changevalue==ite.dictValue?'act':''" @click="getChange(ite)" v-for="(ite,idx) in datalist" :key="idx">{{ite.dictLabel}}</div>
+						</div>
+					</div>
+				</div> -->
+			</main>
+		</div>
+		<script src="./static/js/my_component.js"></script>
+		<script type="text/javascript">
+			var app = new Vue({
+				el: '#app',
+				data: {
+					// base_url: 'https://qsfy.qs163.cn/prod-api',
+					base_url: 'http://192.168.101.168:8020',
+					value:'',
+					showflag:false,
+					
+					datalist:[{dictLabel: 10,dictValue: 1},{dictLabel: 20,dictValue: 2},{dictLabel: 30,dictValue: 3},{dictLabel: 40,dictValue: 4},{dictLabel: 50,dictValue: 5}],
+					changevalue:-1,
+					money:"",
+					limitval:'',//额度
+					limitdata:'',//选择额度
+				},
+				created() {
+					// this.init()
+				},
+				mounted() {
+				},
+				destroyed() {
+
+				},
+				methods: {
+					getToken(){
+						return window.localStorage.getItem('token')
+					},
+					getNext(){
+						var val=this.limitval;
+						var grade=1;
+						var s=$.trim(val)
+						if(!val||!s){
+							this.$message({
+								message: "请选择或输入额度",
+								type: 'error',
+								center: true,
+							});
+							return
+						}
+						if(Number(s)!='NaN'){
+							if(s<10||s==10){
+								window.location.href='one.html?grade=1&sqMoney='+s
+							}else if(s<20||s==20){
+								window.location.href='one.html?grade=2&sqMoney='+s
+							}else if(s<50||s==50){
+								window.location.href='one.html?grade=3&sqMoney='+s
+							}else{
+								this.$message({
+									message: "您输入的额度超出限制",
+									type: 'error',
+									center: true,
+								});
+								return
+							}
+						}else{
+							this.$message({
+								message: "请选择或输入正确格式的额度",
+								type: 'error',
+								center: true,
+							});
+							return
+						}
+						
+						
+						
+						
+						
+						// var str=this.selectDictValue(this.datalist,this.limitval)
+						// if(str){
+						// 	grade=this.limitdata.dictValue;
+						// 	if(grade==1){
+						// 		window.location.href='one.html?grade=1&sqMoney='+str;
+						// 	}else if(grade==2){
+						// 		window.location.href='one.html?grade=2&sqMoney='+str;
+						// 	}else{
+						// 		window.location.href='one.html?grade=3&sqMoney='+str;
+						// 	}
+							
+						// }else{
+						// 	if(Number(s)!='NaN'){
+						// 		if(s<10||s==10){
+						// 			window.location.href='one.html?grade=1&sqMoney='+s
+						// 		}else if(s<20||s==20){
+						// 			window.location.href='one.html?grade=2&sqMoney='+s
+						// 		}else if(s<50||s==50){
+						// 			window.location.href='one.html?grade=3&sqMoney='+s
+						// 		}else{
+						// 			this.$message({
+						// 				message: "您输入的额度超出限制",
+						// 				type: 'error',
+						// 				center: true,
+						// 			});
+						// 			return
+						// 		}
+						// 	}else{
+						// 		this.$message({
+						// 			message: "请选择或输入正确格式的额度",
+						// 			type: 'error',
+						// 			center: true,
+						// 		});
+						// 		return
+						// 	}
+						// }
+					},
+					selectDictValue(datas, value){
+						var actions = [];
+						Object.keys(datas).some((key) => {
+							if (datas[key].dictLabel == ('' + value)) {
+								actions.push(datas[key].dictLabel);
+								return true;
+							}
+						})
+						return actions.join('');
+					},
+					init(){
+						var that = this;
+						var header='Bearer '+this.getToken()
+						$.ajax({
+							url: this.base_url + '/system/dict/data/type/application_quota',
+							type: 'get',
+							data: {},
+							dataType: 'json',
+							headers: {
+							    'Authorization': header
+							},
+							success: function(res) {
+								that.loading=false;
+								if (res.code == 200) {
+									that.datalist = res.data.map(v => {
+										return {
+											dictLabel: v.dictLabel,
+											dictValue: Number(v.dictValue)
+										}
+									})
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error',
+										center: true,
+									});
+								}
+							},
+							fail:function(res){
+								that.loading=false;
+								that.$message({
+									message: "网络请求错误",
+									type: 'error',
+									center: true,
+								});
+							}
+						})
+					},
+					
+					getChose(){
+						this.showflag=true;
+					},
+					getInput(){
+						this.showflag=false;
+					},
+					getCloseFn(){
+						this.showflag=false;
+					},
+					getConfirmFn(e){
+						var str=e.data
+						this.limitval=str.dictLabel;
+						this.limitdata=str;
+						this.showflag=false;
+					}
+				}
+			})
+		</script>
+		<script type="text/javascript">
+			$(document).ready(function() {
+				$('.backimg').click(function() {
+					window.history.go(-1)
+				})
+			})
+		</script>
+	</body>
+</html>

+ 80 - 0
qianshandaikuan/static/css/common.css

@@ -0,0 +1,80 @@
+body,html,li,ul,p,a{margin: 0;padding: 0;font-size: 16px;}
+img{display: block;}
+a{display: block;font-style: normal;text-decoration: none;color: #333333;}
+ul,li{list-style-type: none;margin: 0;padding: 0;}
+.flex{display: flex;}
+.flexat{display: flex;align-items: flex-start;}
+.flexc{display: flex;align-items: center;}
+.flexcj{display: flex;justify-content: space-between;}
+.flexcc{display: flex;align-items: center;justify-content: center;}
+/* .flexcj{display: flex;align-items: center;justify-content: center;} */
+.flexend{display: flex;align-items: flex-end;justify-content: space-between;min-height: 1.05rem;}
+.flex0{flex: 0 0 auto;}
+.flex1{flex: 1;}
+.flex1e{flex: 1;justify-content: end;}
+
+
+.ovh{overflow: hidden;}
+.fw{font-weight: bold;}
+.over{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
+.overtwo{word-break: break-all;
+text-overflow: ellipsis;
+overflow: hidden;
+display: -webkit-box;
+-webkit-line-clamp: 2;
+-webkit-box-orient: vertical;white-space: normal;}
+
+ input::-webkit-input-placeholder {
+  color: #fff;
+}
+
+
+
+.f10{font-size: 0.2rem;}
+.f13{font-size: 0.26rem;}
+.f16{font-size: 0.32rem;}
+.f20{font-size: 0.4rem;}
+.co16{color: #161616;}
+.ca8{color: #A83300;}
+.c28{color: #28C529 !important;}
+.cf3{color: #F31D00 !important;}
+.cf1{color: #1FB9F7 !important;}
+.cfe{color: #FE5A0E;}
+.cb3{color: #B33802;}
+.c6{color: #666666;}
+.ca{color: #aaaaaa !important;}
+.cf{color: #ffffff;}
+.c0{color: #c0c4cc !important;}
+
+.pt6{padding-top: 0.12rem;}
+.pt156{padding-top: 3.12rem;}
+.plr12{padding: 0 0.24rem;}
+.pb20{padding-bottom: 0.4rem;}
+.ptb32{padding: 0.64rem 0;}
+
+.mt5{margin-top: 0.1rem;}
+.mb10{margin-bottom: 0.2rem;}
+.mb12{margin-bottom: 0.24rem;}
+.mb16{margin-bottom: 0.32rem;}
+.mb18{margin-bottom: 0.36rem;}
+.mb20{margin-bottom: 0.4rem;}
+.mb24{margin-bottom: 0.48rem;}
+.mb28{margin-bottom: 0.56rem;}
+
+.bbe6{border-bottom: 0.02rem solid #E6E6E6;}
+.lh20{line-height: 0.4rem !important;}
+.lh24{line-height: 0.48rem;}
+.h50{height: 1rem;}
+
+
+.bgf{background-color: #ffffff !important;}
+.bgf5{background-color: #f5f5f5 !important;}
+
+.fw{font-weight: bold;}
+.fw5{font-weight: 500;}
+.fw0{font-weight: normal;}
+.txl{text-align: left;}
+.txc{text-align: center;}
+.txr{text-align: right;}
+
+

+ 159 - 0
qianshandaikuan/static/css/style.css

@@ -0,0 +1,159 @@
+* {
+  padding: 0;
+  margin: 0;
+}
+
+/* 首页 */
+.dkbox{min-height: 100vh;background: url(../images/ibg.png) no-repeat center;width: 100%;background-size: 100% 100%;padding:0.88rem 0 0.4rem;position: relative;box-sizing: border-box;}
+.dbody{min-height: 100vh;width: 100%;padding-top:0.88rem;position: relative;box-sizing: border-box;}
+.dtop{position: fixed;left: 0;top: 0;right: 0;height: 0.88rem;padding: 0 1.12rem;box-sizing: border-box;z-index: 3;}
+.dtop .back{width: 0.88rem;height: 0.88rem;display: flex;align-items: center;justify-content: center;position: absolute;left: 0.24rem;top: 0;}
+.dtop .back img{width: 0.32rem;height: 0.24rem;}
+.dtop .tit{line-height: 0.88rem;font-size: 0.32rem;color: #161616;font-weight: bold;text-align: center;}
+.dtop.act {background: linear-gradient(0deg, #FE590D, #FE7B2B);}
+.dtop.act  .tit{color: #ffffff;}
+
+.ditop{padding-top: 0.4rem;display: flex;align-items: flex-start;padding-left: 0.24rem;}
+.ditop .limg{width: 4rem;height: 2.4rem;margin-right: 0.1rem;}
+.ditop .rimg{width: 2.76rem;height: 2.28rem;}
+
+.diinf{margin: 0.8rem 0.2rem 0;background: url(../images/ibgc.png) no-repeat center;position: relative;background-size: 100% 100%;padding: 1.44rem 0 0.74rem;box-sizing: border-box;}
+.diinf h1,.dicon h1{line-height: 0.88rem;text-align: center;position: absolute;left: 1.6rem;right: 1.6rem;top: 0;}
+.diinf .list{padding: 0 .64rem;margin-bottom: 0.46rem;}
+.diinf .list .btn{min-width: 1.94rem;height: 0.56rem;background: linear-gradient(90deg, #FE7E2E, #FE590D);
+border-radius: 0.28rem;display: flex;justify-content: center;margin-right: 0.46rem;box-sizing: border-box;line-height: 0.56rem;
+font-size: 0.32rem;color: #ffffff;font-weight: bold;}
+.diinf .list .tit{font-size: 0.4rem;color: #FE590D;font-weight: bold;}
+.diinf .list .tit span{font-size: 0.26rem;color: #303030;}
+.diinf .ditxt img{width: 0.36rem;height: 0.44rem;margin-right: 0.3rem;}
+
+.dicon{margin: 0.24rem 0.2rem 0;background: url(../images/ibga.png) no-repeat center;position: relative;background-size: 100% 100%;padding: 1.44rem 0 0.9rem;box-sizing: border-box;}
+.dicon .list{padding: 0 0.68rem 0 0.54rem;margin-bottom: 0.3rem;}
+.dicon .tit{width: 0.44rem;height: 0.44rem;;background: linear-gradient(90deg, #FE7E2E, #FE590D);
+border-radius: 50%;font-size: 0.32rem;color: #ffffff;text-align: center;line-height: 0.44rem;margin-right: 0.36rem;font-weight: bold;}
+.dicon .txt{font-size: 0.3rem;font-weight: 500;color: #161616;line-height: 0.48rem;}
+.dicon .dilook img{width: 0.26rem;height: 0.3rem;margin-left: 0.26rem;}
+.dicon .dicontop img{width: 1.08rem;height: 0.24rem;}
+.dicon .slist{padding: 0 0.72rem 0.18rem 0.54rem;position: relative;}
+.dicon .slist .btn{width: 0.44rem;height: 0.44rem;border: 0.04rem solid #FE590D;border-radius: 50%;font-size: 0.32rem;box-sizing: border-box;color: #FE5A0E;font-weight: bold;line-height: 0.36rem;margin-right: 0.36rem;}
+.dicon .slist::after{position: absolute;content: '';border-right: 0.04rem dashed #E6E6E6;left: 0.76rem;top: 0.74rem;bottom:0.3rem;}
+/* .dicon .slist:last-child::after{display: none;} */
+.dfbtn{margin: 0.48rem 0.68rem 0 0.62rem;background: url(../images/ibgb.png) no-repeat center;height: 0.98rem;background-size: 100% 100%;}
+
+
+/* 额度要求 */
+.edlist{padding: 0.46rem 0.56rem 0 0.48rem;}
+.edlist p{text-indent: 2em;font-size: 0.26rem;color: #161616;line-height: 0.48rem;}
+
+
+/* 填写申请额度 */
+.tsqbox{padding: 0.8rem 0.48rem;}
+.sqbtn{width: 100%;height: 1rem;background: #FE5A0E;
+border-radius: 0.48rem;font-size: 0.32rem;font-weight: bold;
+color: #FFFFFF;text-align: center;line-height: 1rem;margin-top: 1.2rem;}
+.tsqbox .mimg{width: 0.38rem;height: 0.5rem;margin-right: 0.26rem;}
+.tsqbox .rimg{width: 0.18rem;height: 0.3rem;margin-right: 0.4rem;}
+.tsqbox input{border: none;font-size: 0.5rem;color: #161616;width: 4rem;outline: none;}
+.tsqbox input::placeholder {font-weight: 400;color: #AAAAAA;font-weight: normal;}
+
+
+
+/* 查看进度 */
+.jdbox .tit{padding: 0.28rem 0.32rem 0.18rem;font-size: 0.26rem;color: #666666;font-weight: bold;display: flex;align-items: center;}
+.jdbox .tit span{color: #DF0303;}
+.ibox{padding:0rem 0.48rem;}
+.jdbox .el-form-item{margin-bottom: 0;border-bottom: 0.02rem solid #E6E6E6;padding: 0.14rem 0;display: flex;align-items: center;}
+.jdbox .el-input__inner{border: none;font-size: 0.3rem;color: #161616;line-height: 0.8rem;}
+.jdbox .el-form-item__content{display: flex;align-items: center;margin-left: 0 !important;flex: 1;line-height: 1;}
+.jdbox .irimg{width: 0.16rem;height: 0.26rem;flex: 0 0 auto;}
+.jdbox .el-form-item__label{font-weight: bold;font-size: 0.32rem;flex: 0 0 auto;;line-height: 0.5rem;}
+.jdbox .el-form-item:last-of-type{border-bottom: none;}
+.jdbox .el-form-item__error{left: auto;right: 0;bottom: -0.4rem;top: auto;z-index: 1;}
+/* .jdbox .el-upload{background: url(../images/sfziconf.png) no-repeat center;width: 2rem ;height: 1.2rem;background-size: 100% 100%;position: relative;}
+.jdbox .upload-jhz .el-upload{background: url(../images/sfziconj.png) no-repeat center;background-size: 100% 100%;}
+.jdbox .upload-zxbg .el-upload{background: url(../images/sfziconzx.png) no-repeat center;background-size: 100% 100%;}
+.jdbox .upload-rxm .el-upload{background: url(../images/sfziconz.png) no-repeat center;background-size: 100% 100%;}
+ */
+.jdbox .el-upload{z-index: 2;width: 2rem ;height: 1.2rem;position: relative;}
+.jdbox  .upload{background: url(../images/sfziconf.png) no-repeat center;width: 2rem ;height: 1.2rem;background-size: 100% 100%;position: relative;}
+.jdbox .upload-jhz .upload{background: url(../images/sfziconj.png) no-repeat center;background-size: 100% 100%;}
+.jdbox .upload-zxbg .upload{background: url(../images/sfziconzx.png) no-repeat center;background-size: 100% 100%;}
+.jdbox .upload-rxm .upload{background: url(../images/sfziconz.png) no-repeat center;background-size: 100% 100%;}
+.jdbox  .upload .dislist img{z-index: 3;}
+
+/* .jdbox .el-upload__input{z-index: 2;width: 100%;height: 100%;display: block;opacity: 0;} */
+/* vant */
+.jdbox .van-uploader__upload{width: 2rem ;height: 1.2rem;background: url(../images/sfziconj.png) no-repeat center;background-size: 100% 100%;border: none;box-sizing: border-box;}
+.jdbox .van-uploader__preview{width: 2rem ;height: 1.2rem;}
+.jdbox .van-uploader__preview-image{width: 100%;height: 100%;}
+.jdbox .van-uploader__upload-icon{display: none;}
+.van-uploader__wrapper{display: flex;align-items: center;justify-content: space-between;}
+
+.jdbox .check .el-form-item{border-bottom: 0.02rem solid #E6E6E6;}
+.jdbox .check:last-child .el-form-item{border-bottom:none;}
+.jdbox .upload-demo{line-height: 1;}
+.jdbox  .avatar {width: 100%;height: 100%;display: block;position: absolute;left: 0;top: 0;right: 0;bottom: 0;z-index: 1;}
+.jdbox  .avatar img{width: 100%;height: 100%;display: block;}
+.jdbox  .delimg{width: 0.24rem;height: 0.24rem;position: absolute;right: -0.12rem;top: -0.12rem;z-index: 2;}
+.jdbtn{position: fixed;left: 0;right: 0;bottom: 0;z-index: 3;}
+.jdbtn a{background: #FE5A0E;height: 1rem;}
+.jdbtn div{background-color: #1FB9F7;height: 1rem;}
+.inpbox{font-size: 0.3rem;color: #161616;padding: 0 15px;flex: 1;box-sizing: border-box;line-height: 40px;}
+.subbox{height: 1rem;background: #FE5A0E;border-radius: 0.48rem;margin: 0.7rem 0.48rem 0;}
+.doubt{font-size: 0.26rem;font-weight: 500;color: #FE5A0E;flex: 1 0 auto;justify-content: flex-end;margin-left: 0.2rem;}
+.doubt img{width: 0.22rem;height: 0.22rem;margin-right: 0.12rem;}
+
+.dbody .el-dialog{width: 100%;margin: 0 !important;}
+.dbody .el-dialog__wrapper{background-color: #000000;display: flex;align-items: center;}
+.dbody .el-dialog__header{display: none;}
+.dbody .el-dialog__body{padding: 0;}
+.dbody .el-dialog__body img{max-height: 60vh;}
+.moreup{flex: 1;}
+.moreupa{display: flex;flex: 1;justify-content: space-between;flex-wrap: wrap;margin-bottom: 0.2rem;}
+.moreup .list{position: relative;}
+.moreup .list .avatar{width: 2rem ;height: 1.2rem;position: relative;margin-bottom: 0.2rem;}
+/* [5,9,10,13,14,15,16,17,18,19,20,25] */
+
+/* 当前进度 */
+.dqbox{padding: 0.72rem 0.48rem 0.48rem;}
+.dqbox .dqlist{padding-bottom: 0.4rem;position: relative;}
+.dqbox .dqlist .listl{width: 0.58rem;height: 0.58rem;background: url(../images/dqbg.png) no-repeat center;background-size: 100% 100%;display: flex;align-items: center;justify-content: center;font-size: 0.3rem;font-weight: bold;
+color: #FE5A0E;margin-right: 0.4rem;}
+.dqbox .dqlist::after{content:"";width: 0.02rem;background-color: #E6E6E6;top: 0.74rem;bottom: 0.24rem;left: 0.28rem;position: absolute;}
+.dqbox .listr .tit{font-size: 0.3rem;font-weight: 500;
+color: #FE5A0E;line-height: 0.58rem;margin-bottom: 0.1rem;}
+.dqbox .ltit{font-size: 0.28rem;font-weight: 500;color: #666666;line-height: 0.48rem;}
+.dqbox .rtxt{font-size: 0.28rem;font-weight: 500;color: #666666;line-height: 0.48rem;}
+.dqbox .rtxt.co1{color: #28C529;}
+.dqbox .rtxt.co2{color: #F31D00;}
+.dqbox .rtxt.co3{color: #1FB9F7;}
+
+
+
+/* 提交成功 */
+.sucbox{padding: 1.3rem 0.48rem 1.6rem;display: flex;flex-direction: column;height: calc(100vh - 0.88rem);box-sizing: border-box;text-align: center;}
+.sucimg{width: 2rem;height: 2rem;margin:0 auto 0.6rem;}
+.sucbtn{font-size: 0.26rem;font-weight: 500;color: #AAAAAA;text-align: center;}
+
+
+
+/* 弹窗 */
+.bgbox{position: fixed;left: 0;top: 0;right: 0;bottom: 0;background: rgba(0, 0, 0, 0.5);z-index: 5;}
+.pickbox{position: fixed;left: 0;right: 0;z-index: 10;background: #ffffff;bottom: 0;transition: all 0.3s ease;
+		transform: translateY(100%);}
+.pickbox.show{transform: translateY(0);}
+.pickbox .top div{height: 1rem;line-height: 1rem;}
+.pickbox .top .left{padding: 0 0.28rem;font-size: 0.32rem;color: #888888;}
+.pickbox .top .cent{padding: 0 0.28rem;font-size: 0.32rem;color: #161616;text-align: center;flex: 1;}
+.pickbox .top .right{padding: 0 0.28rem;font-size: 0.32rem;color: #007aff;}
+.pickbox .box{max-height: 5.76rem;overflow-x: auto;}
+.pickbox .box div{height: 0.96rem;line-height: 0.96rem;text-align: center;font-size: 0.3rem;color: #161616;text-overflow: ellipsis;border-top: 0.02rem solid #e5e5e5;
+		white-space: nowrap;overflow: hidden;box-sizing: border-box;}
+.pickbox .box div:first-of-type{border-top: none;}
+.pickbox .box div.act{color: #007aff;}
+
+.bgfixed{position: fixed;left: 0;top: 0;right: 0;bottom: 0;background: rgba(0, 0, 0, 1);z-index: 5;}
+
+.bgfixed img{width: 100%;}
+
+

BIN
qianshandaikuan/static/css/theme-chalk/fonts/element-icons.ttf


BIN
qianshandaikuan/static/css/theme-chalk/fonts/element-icons.woff


Plik diff jest za duży
+ 0 - 0
qianshandaikuan/static/css/theme-chalk/index.css


BIN
qianshandaikuan/static/images/back.png


BIN
qianshandaikuan/static/images/brimg.png


BIN
qianshandaikuan/static/images/del.png


BIN
qianshandaikuan/static/images/doubt.png


BIN
qianshandaikuan/static/images/dowr.png


BIN
qianshandaikuan/static/images/dqbg.png


BIN
qianshandaikuan/static/images/ibg.png


BIN
qianshandaikuan/static/images/ibga.png


BIN
qianshandaikuan/static/images/ibgb.png


BIN
qianshandaikuan/static/images/ibgc.png


BIN
qianshandaikuan/static/images/icon_sqed_xz.png


BIN
qianshandaikuan/static/images/ilicon.png


BIN
qianshandaikuan/static/images/ilricon.png


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików