修改小程序目录,删除示例小程序
							
								
								
									
										6
									
								
								miniprogram-taro/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,6 +0,0 @@
 | 
				
			|||||||
dist/
 | 
					 | 
				
			||||||
deploy_versions/
 | 
					 | 
				
			||||||
.temp/
 | 
					 | 
				
			||||||
.rn_temp/
 | 
					 | 
				
			||||||
node_modules/
 | 
					 | 
				
			||||||
.DS_Store
 | 
					 | 
				
			||||||
@@ -1,31 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
    "miniprogramRoot": "dist/",
 | 
					 | 
				
			||||||
    "projectname": "epp",
 | 
					 | 
				
			||||||
    "description": "基于微服务的社区疫情防控系统",
 | 
					 | 
				
			||||||
    "appid": "wxa70348746d2b562f",
 | 
					 | 
				
			||||||
    "setting": {
 | 
					 | 
				
			||||||
        "urlCheck": true,
 | 
					 | 
				
			||||||
        "es6": false,
 | 
					 | 
				
			||||||
        "enhance": false,
 | 
					 | 
				
			||||||
        "compileHotReLoad": false,
 | 
					 | 
				
			||||||
        "postcss": false,
 | 
					 | 
				
			||||||
        "minified": true,
 | 
					 | 
				
			||||||
        "babelSetting": {
 | 
					 | 
				
			||||||
            "ignore": [],
 | 
					 | 
				
			||||||
            "disablePlugins": [],
 | 
					 | 
				
			||||||
            "outputPath": ""
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "compileType": "miniprogram",
 | 
					 | 
				
			||||||
    "libVersion": "2.27.1",
 | 
					 | 
				
			||||||
    "srcMiniprogramRoot": "dist/",
 | 
					 | 
				
			||||||
    "packOptions": {
 | 
					 | 
				
			||||||
        "ignore": [],
 | 
					 | 
				
			||||||
        "include": []
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "condition": {},
 | 
					 | 
				
			||||||
    "editorSetting": {
 | 
					 | 
				
			||||||
        "tabIndent": "auto",
 | 
					 | 
				
			||||||
        "tabSize": 4
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
    "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
 | 
					 | 
				
			||||||
    "projectname": "epp",
 | 
					 | 
				
			||||||
    "setting": {
 | 
					 | 
				
			||||||
        "compileHotReLoad": true,
 | 
					 | 
				
			||||||
        "urlCheck": false
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										20
									
								
								miniprogram/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,16 +1,6 @@
 | 
				
			|||||||
# Windows
 | 
					dist/
 | 
				
			||||||
[Dd]esktop.ini
 | 
					deploy_versions/
 | 
				
			||||||
Thumbs.db
 | 
					.temp/
 | 
				
			||||||
$RECYCLE.BIN/
 | 
					.rn_temp/
 | 
				
			||||||
 | 
					 | 
				
			||||||
# macOS
 | 
					 | 
				
			||||||
.DS_Store
 | 
					 | 
				
			||||||
.fseventsd
 | 
					 | 
				
			||||||
.Spotlight-V100
 | 
					 | 
				
			||||||
.TemporaryItems
 | 
					 | 
				
			||||||
.Trashes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Node.js
 | 
					 | 
				
			||||||
node_modules/
 | 
					node_modules/
 | 
				
			||||||
 | 
					.DS_Store
 | 
				
			||||||
example
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +0,0 @@
 | 
				
			|||||||
// app.js
 | 
					 | 
				
			||||||
App({
 | 
					 | 
				
			||||||
  onLaunch() {
 | 
					 | 
				
			||||||
    // 展示本地存储能力
 | 
					 | 
				
			||||||
    const logs = wx.getStorageSync('logs') || []
 | 
					 | 
				
			||||||
    logs.unshift(Date.now())
 | 
					 | 
				
			||||||
    wx.setStorageSync('logs', logs)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // 登录
 | 
					 | 
				
			||||||
    wx.login({
 | 
					 | 
				
			||||||
      success: res => {
 | 
					 | 
				
			||||||
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    wx.authorize({
 | 
					 | 
				
			||||||
      scope: 'scope',
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  // 全局变量
 | 
					 | 
				
			||||||
  globalData: {
 | 
					 | 
				
			||||||
    baseUrl: "http://localhost:8080", // 不带最后的 /
 | 
					 | 
				
			||||||
    userInfo: null
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,81 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "pages": [
 | 
					 | 
				
			||||||
    "pages/home/home",
 | 
					 | 
				
			||||||
    "pages/report/report",
 | 
					 | 
				
			||||||
    "pages/apply/apply",
 | 
					 | 
				
			||||||
    "pages/person/person",
 | 
					 | 
				
			||||||
    "pages/index/index",
 | 
					 | 
				
			||||||
    "pages/logs/logs",
 | 
					 | 
				
			||||||
    "pages/webPage/schoolWeb",
 | 
					 | 
				
			||||||
    "pages/login/login",
 | 
					 | 
				
			||||||
    "pages/person/issues",
 | 
					 | 
				
			||||||
    "pages/code/code",
 | 
					 | 
				
			||||||
    "pages/other/feedback",
 | 
					 | 
				
			||||||
    "pages/other/about",
 | 
					 | 
				
			||||||
    "pages/person/info",
 | 
					 | 
				
			||||||
    "pages/other/password",
 | 
					 | 
				
			||||||
    "pages/report/myreport",
 | 
					 | 
				
			||||||
    "pages/apply/myapply",
 | 
					 | 
				
			||||||
    "pages/visitor/visitor",
 | 
					 | 
				
			||||||
    "pages/webPage/xgPage",
 | 
					 | 
				
			||||||
    "pages/visitor/showMyVisitor",
 | 
					 | 
				
			||||||
    "pages/other/redList",
 | 
					 | 
				
			||||||
    "pages/other/redList2",
 | 
					 | 
				
			||||||
    "pages/other/feedbackReplay",
 | 
					 | 
				
			||||||
    "pages/person/count",
 | 
					 | 
				
			||||||
    "pages/apply/applyReplay",
 | 
					 | 
				
			||||||
    "pages/visitor/visitorReplay",
 | 
					 | 
				
			||||||
    "pages/notice/notice"
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "window": {
 | 
					 | 
				
			||||||
    "backgroundTextStyle": "dark",
 | 
					 | 
				
			||||||
    "navigationBarBackgroundColor": "#FF8966",
 | 
					 | 
				
			||||||
    "navigationBarTitleText": "校园疫情防控系统",
 | 
					 | 
				
			||||||
    "navigationBarTextStyle": "black",
 | 
					 | 
				
			||||||
    "enablePullDownRefresh": true
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "tabBar": {
 | 
					 | 
				
			||||||
    "selectedColor": "#FF8966",
 | 
					 | 
				
			||||||
    "list": [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "pagePath": "pages/home/home",
 | 
					 | 
				
			||||||
        "text": "首页",
 | 
					 | 
				
			||||||
        "iconPath": "/icon/_home.png",
 | 
					 | 
				
			||||||
        "selectedIconPath": "/icon/home.png"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "pagePath": "pages/code/code",
 | 
					 | 
				
			||||||
        "text": "二维码",
 | 
					 | 
				
			||||||
        "iconPath": "/icon/_code.png",
 | 
					 | 
				
			||||||
        "selectedIconPath": "/icon/code.png"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "pagePath": "pages/report/report",
 | 
					 | 
				
			||||||
        "text": "日报",
 | 
					 | 
				
			||||||
        "iconPath": "/icon/_report.png",
 | 
					 | 
				
			||||||
        "selectedIconPath": "/icon/report.png"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "pagePath": "pages/apply/apply",
 | 
					 | 
				
			||||||
        "text": "申请",
 | 
					 | 
				
			||||||
        "iconPath": "/icon/_apply.png",
 | 
					 | 
				
			||||||
        "selectedIconPath": "/icon/apply.png"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "pagePath": "pages/person/person",
 | 
					 | 
				
			||||||
        "text": "我的",
 | 
					 | 
				
			||||||
        "selectedColor": "#FF8966",
 | 
					 | 
				
			||||||
        "iconPath": "/icon/_person.png",
 | 
					 | 
				
			||||||
        "selectedIconPath": "/icon/person.png"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "permission": {
 | 
					 | 
				
			||||||
    "scope.userLocation": {
 | 
					 | 
				
			||||||
      "desc": "申请访问您的地址"
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "style": "v2",
 | 
					 | 
				
			||||||
  "sitemapLocation": "sitemap.json",
 | 
					 | 
				
			||||||
  "lazyCodeLoading": "requiredComponents"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,16 +0,0 @@
 | 
				
			|||||||
/**app.wxss**/
 | 
					 | 
				
			||||||
@import "weui.wxss";
 | 
					 | 
				
			||||||
page{
 | 
					 | 
				
			||||||
  line-height: 150%;
 | 
					 | 
				
			||||||
  color: #666;
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.container {
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: space-between;
 | 
					 | 
				
			||||||
  padding: 200rpx 0;
 | 
					 | 
				
			||||||
  box-sizing: border-box;
 | 
					 | 
				
			||||||
} 
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 5.8 KiB  | 
| 
		 Before Width: | Height: | Size: 4.0 KiB  | 
| 
		 Before Width: | Height: | Size: 5.4 KiB  | 
| 
		 Before Width: | Height: | Size: 5.3 KiB  | 
| 
		 Before Width: | Height: | Size: 7.2 KiB  | 
| 
		 Before Width: | Height: | Size: 14 KiB  | 
| 
		 Before Width: | Height: | Size: 8.4 KiB  | 
| 
		 Before Width: | Height: | Size: 7.4 KiB  | 
| 
		 Before Width: | Height: | Size: 4.4 KiB  | 
| 
		 Before Width: | Height: | Size: 5.4 KiB  | 
| 
		 Before Width: | Height: | Size: 5.7 KiB  | 
| 
		 Before Width: | Height: | Size: 4.6 KiB  | 
| 
		 Before Width: | Height: | Size: 4.5 KiB  | 
| 
		 Before Width: | Height: | Size: 6.4 KiB  | 
| 
		 Before Width: | Height: | Size: 6.4 KiB  | 
@@ -1,187 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 | 
					 | 
				
			||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 | 
					 | 
				
			||||||
	 viewBox="0 0 525 374.4" style="enable-background:new 0 0 525 374.4;" xml:space="preserve">
 | 
					 | 
				
			||||||
<style type="text/css">
 | 
					 | 
				
			||||||
	.st0{opacity:7.000000e-02;}
 | 
					 | 
				
			||||||
	.st1{fill:#2A94F4;}
 | 
					 | 
				
			||||||
	.st2{opacity:0.51;}
 | 
					 | 
				
			||||||
	.st3{fill:#CEF5EC;}
 | 
					 | 
				
			||||||
	.st4{fill:#F7F7F7;}
 | 
					 | 
				
			||||||
	.st5{opacity:0.17;fill:#2A94F4;enable-background:new    ;}
 | 
					 | 
				
			||||||
	.st6{clip-path:url(#SVGID_00000031901539733340069960000001638542864404409276_);fill:#2A94F4;}
 | 
					 | 
				
			||||||
	.st7{fill:#B97A59;}
 | 
					 | 
				
			||||||
	.st8{fill:#0B4870;}
 | 
					 | 
				
			||||||
	.st9{fill:#AA6B4F;}
 | 
					 | 
				
			||||||
	.st10{fill:#D3D3D3;}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
<g class="st0">
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st1" d="M467.2,141.9c6.6,12.1,16.3,23.5,17.1,37.1c1.3,21.9-20,38.3-28.7,58.6c-10.7,24.9-1.7,54.2-11.2,79.5
 | 
					 | 
				
			||||||
			c-6.9,18.3-23.7,33-43.5,37.8c-14.8,3.6-30.4,2-45.7,2.1c-43.4,0.4-86.7,15.4-129.6,8.6c-21.2-3.4-41.2-12-62.4-14.7
 | 
					 | 
				
			||||||
			c-25.5-3.3-55.2,0.7-73.4-16.6c-25.5-24.2-6.6-68.7-25.7-97.7c-6.2-9.4-16.1-16.7-19.4-27.2c-3.9-12.4,2.4-25.5,10.2-36.1
 | 
					 | 
				
			||||||
			c7.8-10.5,17.5-20.2,21.7-32.5c3.8-11.1,1.5-23.2-3.2-34c-7.2-16.6,12.9-54.6,52.9-51.7c18.3,1.3,26.6-19.9,46.7-25.8
 | 
					 | 
				
			||||||
			c23-6.7,51.9-1.3,68.8,4.3c17.2,5.7,38.5,8.7,48.4-5.9c13.9-20.7,55.5-23.9,74.2,9.7c6.8,12.2,12.9,21.8,27.4,20.8
 | 
					 | 
				
			||||||
			C470.4,53.1,457.3,124,467.2,141.9z M252.9,28.6c0,2.8,0,7.6,12.4,6.8c3.8-0.2,6.9-2.3,6.9-5.1c0-2.8-3.1-5.1-6.9-5.1
 | 
					 | 
				
			||||||
			C261.5,25.3,252.9,24.1,252.9,28.6z M130.8,42.3c-0.4,0.2-0.6,0.6-0.8,1c-0.8,1.2-2.2,2-3.6,2.6c-0.8,0.3-1.7,0.6-2.3,1.2
 | 
					 | 
				
			||||||
			c-1,1-0.9,2.8,0.2,3.6c0.9,0.7,2.1,0.8,3.3,0.7c4.3-0.2,8.5-1.8,11.9-4.4C143.8,43.5,133.2,41,130.8,42.3z M119,48.7
 | 
					 | 
				
			||||||
			c-1.5-1-3.3-0.4-4.8,0.3c-0.3,0.2-0.6,0.4-0.7,0.7c-0.2,0.7,0.7,1.2,1.4,1.4c1.1,0.3,2.3,0.7,3.4,0.3
 | 
					 | 
				
			||||||
			C119.4,51.1,120.5,49.7,119,48.7z M64.2,138.4c-1.1-3.3-3.6-4.9-7.5-3c-2.3,1.1-3.9,3.2-5.3,5.3c-2.2,3.4-4.1,7.2-3.6,11.1
 | 
					 | 
				
			||||||
			c0.3,2.9,2,5.6,4.4,7.3c1,0.7,2.2,1.2,3.4,1.2c1.4,0,2.6-0.8,3.7-1.6c2.5-1.9,4.4-4.5,6.3-6.9c1-1.3,2-2.7,2.2-4.2
 | 
					 | 
				
			||||||
			C68.3,144.1,65.2,141.4,64.2,138.4z M466.2,239.4c-1,0.4-2,0.9-2.5,1.8c-0.4,0.7-0.6,1.5-0.6,2.3c-0.2,1.7-0.3,3.3-0.3,5
 | 
					 | 
				
			||||||
			c0,1.8,0.2,3.8,1.6,5.1c1.9,1.7,4.9,1.1,7.3,0.4c1.4-0.4,2.9-0.8,3.8-1.9c0.7-0.8,0.9-1.8,1.1-2.8c0.6-3.3,2.4-8.3,0.4-10.1
 | 
					 | 
				
			||||||
			C474.8,237.4,469.7,238,466.2,239.4z M327.3,367.8c-0.5,0.5-1,1-1.3,1.6c-0.8,1.7,0,3.9,1.8,4.6c0.9,0.4,1.9,0.4,2.9,0.3
 | 
					 | 
				
			||||||
			c8.3-0.1,17.2-0.4,23.8-5.2c0.8-0.6,1.6-1.4,1.5-2.3c-0.2-1.2-1.6-1.7-2.8-1.9C344.9,363.4,333.9,361.6,327.3,367.8z M170.3,355
 | 
					 | 
				
			||||||
			c-7.2-1-18.6-2.3-18.6,3.5c0,2.2,10.2,4.3,11.8,4.7c5.2,1.3,10.1,3.1,15.1,5c9.4,3.5,17-1.2,9.5-6.5
 | 
					 | 
				
			||||||
			C182,357.4,176.1,355.8,170.3,355z"/>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g class="st2">
 | 
					 | 
				
			||||||
	<path class="st3" d="M352.3,282.8c-2.3-4.4,3-9.1,7.9-10s10.4-0.2,14.2-3.3c5.2-4.1,4.9-13,10.6-16.3c4.6-2.6,10.7-0.1,15.5-2.2
 | 
					 | 
				
			||||||
		c6-2.6,7.7-11,13.7-13.8c4.7-2.3,10.9,0.3,13.3,4.9c2.4,4.6,1.3,10.6-2,14.7c-2.6,3.1-6.5,5.4-8.1,9.1c-2.5,5.9,1.5,13-0.9,19
 | 
					 | 
				
			||||||
		c-4.3,11-24.7,7.7-28.3,19c-0.8,2.5-0.5,5.2-0.7,7.9c-0.6,7.8-6.1,14.6-12.9,18.5c-6.8,3.9-14.8,5.2-22.6,5.8
 | 
					 | 
				
			||||||
		c-3.2,0.2-6.6,0.3-9.4-1.2c-2.7-1.4-4.5-3.9-6-6.6C327.2,311.4,323.3,289.2,352.3,282.8"/>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g class="st2">
 | 
					 | 
				
			||||||
	<path class="st3" d="M200,267.5c3.2-5.2-2.8-11.4-8.7-12.9c-5.9-1.5-12.6-1.2-17.1-5.3c-5.9-5.5-4.8-16.4-11.5-20.9
 | 
					 | 
				
			||||||
		c-5.4-3.6-13-1.1-18.8-4.1c-7.2-3.7-8.4-14.2-15.4-18.2c-5.6-3.2-13.4-0.7-16.8,4.8s-2.6,12.9,1.1,18.2c2.9,4.1,7.4,7.2,9.1,11.9
 | 
					 | 
				
			||||||
		c2.6,7.4-3,15.8-0.7,23.3c4.3,13.9,29.6,11.7,32.8,25.9c0.7,3.2,0.1,6.4,0.1,9.7c0,9.6,6.1,18.5,14.1,23.9s17.6,7.8,27.1,9.2
 | 
					 | 
				
			||||||
		c3.9,0.6,8,1,11.6-0.6c3.4-1.4,5.9-4.4,8-7.5C228,304.8,234.8,278,200,267.5"/>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<path class="st3" d="M409.2,27.1l-7,2.4l-3-8.7c-5.6-16.1-23.3-24.7-39.4-19.1c-16.1,5.6-24.7,23.3-19.1,39.4l3,8.7l-7,2.4
 | 
					 | 
				
			||||||
	c-5.5,1.9-8.4,7.9-6.5,13.4l19.7,56.9c1.9,5.5,8,8.5,13.4,6.6l72.4-25.1c5.5-1.9,8.5-8,6.6-13.5l-19.7-56.9
 | 
					 | 
				
			||||||
	C420.8,28.1,414.8,25.1,409.2,27.1z M354,36.4c-3.1-8.8,1.6-18.5,10.4-21.6c8.8-3.1,18.5,1.6,21.6,10.5l3,8.7l-32,11.1L354,36.4z
 | 
					 | 
				
			||||||
	 M396,88.3l5,14.5c0.2,0.6-0.2,1.2-0.8,1.5l-7,2.4c-0.5,0.2-1.2-0.1-1.4-0.7l-5-14.5c-5.4-0.2-10.4-3.6-12.3-9.1
 | 
					 | 
				
			||||||
	c-2.4-7,1.3-14.7,8.3-17.2c7-2.4,14.7,1.3,17.2,8.3C401.9,79,400.1,84.8,396,88.3z"/>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st3" d="M334.1,308.8c7.1-3,13.4-8.7,18.7-14.1c14.2-14.7,23-33.8,27.7-53.6c4.2-17.9,5.1-36.3,4.3-54.6
 | 
					 | 
				
			||||||
			c-0.1-1.5-2.5-1.6-2.4,0c2,41.1-6.2,91.4-42.9,116.4c-2.1,1.4-4.2,2.8-6.5,3.8C331.5,307.3,332.7,309.4,334.1,308.8L334.1,308.8z"
 | 
					 | 
				
			||||||
			/>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
	<path class="st3" d="M380.8,234.2c0,0,2.3-13.3,19.9-15.4C400.8,218.8,394.3,234.5,380.8,234.2z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M375.1,253.8c0,0,5.4-12.4,23-10.3C398,243.5,388.1,257.3,375.1,253.8z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M367.6,271.2c0,0,8-10.9,24.7-4.9C392.3,266.3,379.5,277.5,367.6,271.2z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M383.5,213.5c0,0,2.3-13.1,19.6-15.1C403.1,198.4,396.8,213.9,383.5,213.5z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M383.8,190.8c0,0-9.9-8.9-2.4-24.7C381.4,166.2,391.1,179.7,383.8,190.8z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M383.8,204.3c0,0-13.1-2.4-15-19.7C368.9,184.5,384.3,191,383.8,204.3z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M382.5,224.2c0,0-13.1-2.4-15-19.7C367.6,204.5,383,210.9,382.5,224.2z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M379.1,242.9c0,0-12.9-3.3-13.5-20.7C365.6,222.1,380.5,229.6,379.1,242.9z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M373.2,261.5c0,0-12.9-3.3-13.5-20.7C359.7,240.8,374.6,248.3,373.2,261.5z"/>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<path class="st3" d="M200.3,303.8c-7.1-3-13.4-8.7-18.7-14.1c-14.2-14.7-23-33.8-27.7-53.6c-4.2-17.9-5.1-36.3-4.3-54.6
 | 
					 | 
				
			||||||
			c0.1-1.5,2.5-1.6,2.4,0c-2,41.1,6.2,91.4,42.9,116.4c2.1,1.4,4.2,2.8,6.5,3.8C202.9,302.3,201.7,304.4,200.3,303.8L200.3,303.8z"
 | 
					 | 
				
			||||||
			/>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
	<path class="st3" d="M153.6,229.2c0,0-2.3-13.3-19.9-15.4C133.6,213.8,140.1,229.5,153.6,229.2z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M159.4,248.8c0,0-5.4-12.4-23-10.3C136.4,238.5,146.3,252.3,159.4,248.8z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M166.9,266.2c0,0-8-10.9-24.7-4.9C142.1,261.3,154.9,272.5,166.9,266.2z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M150.9,208.5c0,0-2.3-13.1-19.6-15.1C131.3,193.4,137.6,208.9,150.9,208.5z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M150.7,185.8c0,0,9.9-8.9,2.4-24.7C153.1,161.2,143.3,174.7,150.7,185.8z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M150.6,199.3c0,0,13.1-2.4,15-19.7C165.6,179.5,150.1,186,150.6,199.3z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M151.9,219.2c0,0,13.1-2.4,15-19.7C166.9,199.5,151.4,205.9,151.9,219.2z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M155.3,237.9c0,0,12.9-3.3,13.5-20.7C168.8,217.1,153.9,224.6,155.3,237.9z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M161.2,256.5c0,0,12.9-3.3,13.5-20.7C174.7,235.8,159.8,243.3,161.2,256.5z"/>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
	<path class="st1" d="M326.9,338.6H213.6c-11.7,0-21.1-9.5-21.1-21.1V54.8c0-11.7,9.5-21.1,21.1-21.1h113.2
 | 
					 | 
				
			||||||
		c11.7,0,21.1,9.5,21.1,21.1v262.7C348,329.1,338.5,338.6,326.9,338.6z"/>
 | 
					 | 
				
			||||||
	<path class="st4" d="M326,327.8H214.5c-8.2,0-14.8-6.6-14.8-14.8V57.4c0-8.2,6.6-14.8,14.8-14.8H326c8.2,0,14.8,6.6,14.8,14.8V313
 | 
					 | 
				
			||||||
		C340.8,321.2,334.2,327.8,326,327.8z"/>
 | 
					 | 
				
			||||||
	<path class="st1" d="M312.5,42.6h-9.2c-2.8,0-5.1,2.3-5.1,5.1v3.6c0,2.8-2.3,5.1-5.1,5.1h-40.9c-2.8,0-5.1-2.3-5.1-5.1v-3.6
 | 
					 | 
				
			||||||
		c0-2.8-2.3-5.1-5.1-5.1h-26.1V40h96.6L312.5,42.6L312.5,42.6z"/>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<circle class="st5" cx="268.3" cy="142.4" r="20.4"/>
 | 
					 | 
				
			||||||
		<g>
 | 
					 | 
				
			||||||
			<g>
 | 
					 | 
				
			||||||
				<defs>
 | 
					 | 
				
			||||||
					<circle id="SVGID_1_" cx="268.3" cy="142.4" r="20.4"/>
 | 
					 | 
				
			||||||
				</defs>
 | 
					 | 
				
			||||||
				<clipPath id="SVGID_00000096774277113628933520000010358380364922621880_">
 | 
					 | 
				
			||||||
					<use xlink:href="#SVGID_1_"  style="overflow:visible;"/>
 | 
					 | 
				
			||||||
				</clipPath>
 | 
					 | 
				
			||||||
				<path style="clip-path:url(#SVGID_00000096774277113628933520000010358380364922621880_);fill:#2A94F4;" d="M276.2,137.7
 | 
					 | 
				
			||||||
					c0,4.4-3.5,7.9-7.9,7.9s-7.9-3.5-7.9-7.9s3.5-7.9,7.9-7.9S276.2,133.3,276.2,137.7z M280.2,170.2v-11.3
 | 
					 | 
				
			||||||
					c0-6.3-5.1-11.5-11.5-11.5h-0.9c-6.3,0-11.5,5.1-11.5,11.5v11.3c0,1.8,1.4,3.2,3.2,3.2H277C278.8,173.4,280.2,172,280.2,170.2z"
 | 
					 | 
				
			||||||
					/>
 | 
					 | 
				
			||||||
			</g>
 | 
					 | 
				
			||||||
		</g>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
	<path class="st5" d="M317.2,186.1h-97.8c-4.5,0-8.1-3.6-8.1-8.1l0,0c0-4.5,3.6-8.1,8.1-8.1h97.8c4.5,0,8.1,3.6,8.1,8.1l0,0
 | 
					 | 
				
			||||||
		C325.3,182.4,321.7,186.1,317.2,186.1z"/>
 | 
					 | 
				
			||||||
	<path class="st1" d="M313.8,180.1h-91c-1.2,0-2.1-0.9-2.1-2.1l0,0c0-1.2,0.9-2.1,2.1-2.1h91c1.2,0,2.1,0.9,2.1,2.1l0,0
 | 
					 | 
				
			||||||
		C315.9,179.1,315,180.1,313.8,180.1z"/>
 | 
					 | 
				
			||||||
	<path class="st5" d="M317.3,215.1h-97.8c-4.5,0-8.1-3.6-8.1-8.1l0,0c0-4.5,3.6-8.1,8.1-8.1h97.8c4.5,0,8.1,3.6,8.1,8.1l0,0
 | 
					 | 
				
			||||||
		C325.4,211.5,321.7,215.1,317.3,215.1z"/>
 | 
					 | 
				
			||||||
	<path class="st1" d="M222,209.3L222,209.3c-1.2,0-2.1-0.9-2.1-2.1l0,0c0-1.2,0.9-2.1,2.1-2.1l0,0c1.2,0,2.1,0.9,2.1,2.1l0,0
 | 
					 | 
				
			||||||
		C224.1,208.4,223.1,209.3,222,209.3z M230.4,207.2L230.4,207.2c0-1.2-0.9-2.1-2.1-2.1l0,0c-1.2,0-2.1,0.9-2.1,2.1l0,0
 | 
					 | 
				
			||||||
		c0,1.2,0.9,2.1,2.1,2.1l0,0C229.4,209.3,230.4,208.4,230.4,207.2z M236.6,207.2L236.6,207.2c0-1.2-0.9-2.1-2.1-2.1l0,0
 | 
					 | 
				
			||||||
		c-1.2,0-2.1,0.9-2.1,2.1l0,0c0,1.2,0.9,2.1,2.1,2.1l0,0C235.7,209.3,236.6,208.4,236.6,207.2z M242.9,207.2L242.9,207.2
 | 
					 | 
				
			||||||
		c0-1.2-0.9-2.1-2.1-2.1l0,0c-1.2,0-2.1,0.9-2.1,2.1l0,0c0,1.2,0.9,2.1,2.1,2.1l0,0C242,209.3,242.9,208.4,242.9,207.2z
 | 
					 | 
				
			||||||
		 M249.2,207.2L249.2,207.2c0-1.2-0.9-2.1-2.1-2.1l0,0c-1.2,0-2.1,0.9-2.1,2.1l0,0c0,1.2,0.9,2.1,2.1,2.1l0,0
 | 
					 | 
				
			||||||
		C248.3,209.3,249.2,208.4,249.2,207.2z M255.5,207.2L255.5,207.2c0-1.2-0.9-2.1-2.1-2.1l0,0c-1.2,0-2.1,0.9-2.1,2.1l0,0
 | 
					 | 
				
			||||||
		c0,1.2,0.9,2.1,2.1,2.1l0,0C254.5,209.3,255.5,208.4,255.5,207.2z M261.8,207.2L261.8,207.2c0-1.2-0.9-2.1-2.1-2.1l0,0
 | 
					 | 
				
			||||||
		c-1.2,0-2.1,0.9-2.1,2.1l0,0c0,1.2,0.9,2.1,2.1,2.1l0,0C260.8,209.3,261.8,208.4,261.8,207.2z"/>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<g>
 | 
					 | 
				
			||||||
	<path class="st7" d="M135.2,308.8c0,0-2.1,11.6-2.6,13.6c-0.4,1.6-1.6,2.8-2.8,4c-0.4,0.4-0.7,1.2-0.9,1.8
 | 
					 | 
				
			||||||
		c-0.2,0.5-0.1,1.1,0.2,1.6c5.3,8.5,16.4,10.1,16.5,9.4c0.2-1.3-1.9-3.5-4.3-4.4c-2.4-0.8-4.2-3-4.8-5.5l0,0c-0.5-2-0.5-4.1,0.1-6.1
 | 
					 | 
				
			||||||
		l2.6-8.9L135.2,308.8z"/>
 | 
					 | 
				
			||||||
	<path class="st7" d="M128.7,310.1l2.6,11.7c0.8,3.6,0.3,7.3-1.4,10.6l0,0c-1,1.8-0.1,4.1,1.8,4.8c6.3,2.2,18.4,6.5,18.9,6
 | 
					 | 
				
			||||||
		c2.8-2.3-4.5-6.2-9.9-10.2c-3.6-2.7-5-15.5-5.3-25.2l-5.8,1.5C129.2,309.3,128.8,309.6,128.7,310.1z"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M139.5,336.3c2.6,0.9,5.4,1.1,8,1.5c0.3,0,0.6,0.2,0.8,0.3c2.5,1.9,3.8,3.9,2.3,5.1
 | 
					 | 
				
			||||||
		c-0.6,0.5-14.9-4.6-20.4-6.5c-1.2-0.4-1.7-1.8-1.1-2.9l1.1-2C133.1,333.6,136.2,335.2,139.5,336.3z"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M131.4,190.3c-6.6,2.3-10.7,11.3-7.7,19.7c1.7,4.9,10,21.8,18.1,34.9c3.1,5,3.5,11.3,0.8,16.5
 | 
					 | 
				
			||||||
		c-0.4,0.8-0.8,1.7-1.1,2.6c-1.3,4.4-4.7,29.2-6.4,45.7c0.8,1.9,2.5,4.3,4.2,4.8c5.8-14.9,14.6-41.7,16-46.4
 | 
					 | 
				
			||||||
		c0.8-2.6,1.6-5.5,2.1-8.3c4-8.4-5.4-48.7-8.2-56.6C146.2,194.9,137.9,188,131.4,190.3z"/>
 | 
					 | 
				
			||||||
	<ellipse class="st8" cx="135.5" cy="129.9" rx="10.6" ry="13.7"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M133,131.3c-0.2-7.6-6.3-14-13.9-14.4c-6.7-0.4-12.5,3.7-14.7,9.6c-0.8,2.1-2.8,3.4-5,3.4
 | 
					 | 
				
			||||||
		c-0.9,0-1.8,0.1-2.8,0.3c-5.5,1.1-9.9,5.8-10.4,11.5c-0.5,5.1,1.9,9.6,5.7,12.2c1.6,1.1,2.6,2.9,2.8,4.9c1.3,9,9.5,15.7,18.9,14.6
 | 
					 | 
				
			||||||
		c8-0.9,14.5-7.5,15.2-15.6c0.4-4.9-1.3-9.5-4.3-12.9C129.6,142.6,133.1,137.3,133,131.3z"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M135.5,111.7c0,0,6,3.8,5.2,8.8c0,0,3.2-2.3,3.9-10C145.2,105.1,135.5,111.7,135.5,111.7z"/>
 | 
					 | 
				
			||||||
	<path class="st7" d="M145.2,138.4c3.2,1.6,6.4,2.9,9.7,3.7c3.3,0.8,6.7,0.8,10.2,0.3c3.6-0.5,7.3-1.5,11.3-2.2s8.2-0.9,12.1-0.3
 | 
					 | 
				
			||||||
		c0.7,0.1,1.2,0.8,1.1,1.5c-0.1,0.6-0.6,1.1-1.2,1.1l0,0c-3.8,0.2-7.3,0.9-10.9,2.2c-3.5,1.2-7.1,2.8-11.1,4s-8.5,1.7-12.8,1.2
 | 
					 | 
				
			||||||
		s-8.4-1.7-12.3-3.3c-2.3-0.9-3.5-3.6-2.6-5.9c0.9-2.3,3.6-3.5,5.9-2.6c0.1,0,0.2,0.1,0.3,0.1L145.2,138.4z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M142.2,168.8c2.4-7.2,7.2-22.5,6.8-27.4c-0.3-3.2-2.9-5.6-6.1-5.6H122c-3.4,0-6.3,2.7-6.4,6.2
 | 
					 | 
				
			||||||
		c-0.2,6,2.6,19.7,4.2,26.9h22.4V168.8z"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M135.3,310.2c0.3-0.2,0.5-0.6,0.5-1c-0.4-15.3-1.4-34.8-1.7-38.5c0-0.4-0.1-0.8-0.2-1.3
 | 
					 | 
				
			||||||
		c3.3-18.1,3.8-56.9,4.1-63.7c0.4-8.9-5-19-11.9-19.4c-7-0.3-14.5,6.9-16.7,15.1c-1.5,5.4,4.2,34.2,10.4,55.1
 | 
					 | 
				
			||||||
		c1.3,4.4,1.5,9,0.8,13.5c-0.5,3.1-0.6,6.4-0.4,8.8c0.3,3.7,4.4,18.6,8.3,31.5c0.1,0.4,0.4,0.7,0.8,0.7
 | 
					 | 
				
			||||||
		C131.4,311.5,133.4,311.4,135.3,310.2z"/>
 | 
					 | 
				
			||||||
	<path class="st3" d="M117.5,177.9c1.1-3,1.4-6.3,0.9-9.4c-1-7.4-2.9-21.2-2.7-27.1c0.1-3.2,2.7-5.6,5.8-5.6h3.1
 | 
					 | 
				
			||||||
		c1.2,2.7,3.7,4.8,7.5,4.8c3.9,0,6.3-2.1,7.5-4.8h2.9c-3.1,6.7-2,15.6,3.4,20.8c-1,3.6-1.9,7.1-2.5,10c-0.9,3.9-0.5,8,1.1,11.7
 | 
					 | 
				
			||||||
		c2.7,6.4,4.8,16.6,4.1,20.7c-21.9,6.2-37-4.8-37-4.8L117.5,177.9z"/>
 | 
					 | 
				
			||||||
	<g>
 | 
					 | 
				
			||||||
		<polygon class="st7" points="135.5,137.2 126.1,136.2 129.1,125.9 135.2,126.6 		"/>
 | 
					 | 
				
			||||||
	</g>
 | 
					 | 
				
			||||||
	<path class="st9" d="M135.2,126.6l-6.1-0.8l-0.9,3.2c1.4,1.5,3.1,4.9,5.3,4.9c0.7,0,1.3-0.2,1.9-0.6L135.2,126.6z"/>
 | 
					 | 
				
			||||||
	<path class="st7" d="M135.4,131.6c-2.1,0-4.3-1-7.4-3.7c-1.8-1.5-3.1-4.2-3.1-6.1v-10.1h15.5c0,0,1.2,5.4,0,10.7
 | 
					 | 
				
			||||||
		C139.6,126.4,137,131.6,135.4,131.6z"/>
 | 
					 | 
				
			||||||
	<path class="st7" d="M127.5,119.9c0,2-0.9,3.6-2.1,3.6s-2.4-2.6-2.4-4.5c0-2,1.3-2.6,2.4-2.6C126.6,116.3,127.5,117.9,127.5,119.9z
 | 
					 | 
				
			||||||
		"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M123,112.9c0-3.1,2.6-5.7,5.7-5.7h5.2c1.5,0,3-0.4,4.2-1.1c1.8-1,4.2-0.7,5.4,1c1.4,1.8,2,4.3-1.5,6.6
 | 
					 | 
				
			||||||
		c-1.7,1.1-4.2-0.1-5.9,0.4c-0.1,0-0.2,0-0.3,0h-4.6c-1.6,0-2.8,1.3-2.9,2.9c0,1-0.9,1.8-1.9,1.8h-0.2l-0.7-2.4l-2.6,3.5L123,112.9
 | 
					 | 
				
			||||||
		L123,112.9z"/>
 | 
					 | 
				
			||||||
	<path class="st7" d="M194,138.8c0,0-2.5,4.9-4.2,4.6c-1.7-0.3-2.9-0.7-2.6-3.3c0.3-2.5,1.9-5.9,3.2-7.7s4.9-3.9,5.5-3.9
 | 
					 | 
				
			||||||
		c1.9,0.1-0.9,3.1-2.2,4.7c-1.3,1.5-2.6,3.4-1.7,3.8c0.9,0.4,3.2-2.7,4.4-2.6C197.6,134.5,194,138.8,194,138.8z"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M139.3,111.5c-0.5,2.3,0.2,3.6-7.3,7.2c-7.6,3.6-9.9,2.1-12.3,5.9c0,0,1-6.4,5.2-8.6
 | 
					 | 
				
			||||||
		c4.2-2.2,11.4-3.6,13.7-8.7C138.6,107.3,139.6,110,139.3,111.5z"/>
 | 
					 | 
				
			||||||
	<path class="st7" d="M122,145.2c-0.4,0.3-0.7,0.5-1,0.8c-0.3,0.2-0.6,0.4-0.9,0.6c-0.6,0.4-1.2,0.8-1.8,1.1
 | 
					 | 
				
			||||||
		c-1.2,0.7-2.5,1.3-3.8,1.9c-2.6,1.1-5.4,1.8-8.2,2.3c-5.7,0.8-11.5,0-16.7-2c-2.6-1-5-2.3-7.3-3.8s-4.4-3.2-6.4-5
 | 
					 | 
				
			||||||
		c-3.9-3.6-7.3-7.8-10.2-12.1c-0.3-0.5-0.2-1.1,0.3-1.4c0.4-0.3,1-0.2,1.3,0.2l0,0c3.5,3.8,7.1,7.3,11.1,10.3
 | 
					 | 
				
			||||||
		c4,2.9,8.3,5.4,12.9,6.7c2.3,0.6,4.6,1.1,6.9,1.2c2.3,0.1,4.6-0.1,6.9-0.5s4.5-1.2,6.6-2.1c1-0.5,2.1-1,3.1-1.6
 | 
					 | 
				
			||||||
		c0.5-0.3,1-0.6,1.4-0.9c0.2-0.2,0.5-0.3,0.7-0.5l0.6-0.4l0.2-0.2c1.5-1.2,3.7-0.9,4.9,0.6C123.7,141.9,123.5,144,122,145.2z"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M137.8,112c0,0,0.3,7.8,7.1,11.5c0,0-3-5.9-2.8-9.7C142.3,109.9,137.4,109.3,137.8,112z"/>
 | 
					 | 
				
			||||||
	<path class="st8" d="M127.2,333c-0.5-0.4-0.7-1.2-0.4-1.8c0.3-0.5,1-1.8,1.5-2.8c0.2-0.4,0.8-0.5,1.1-0.1c3.4,4.5,8.1,7.5,13.4,7.1
 | 
					 | 
				
			||||||
		c1.9,0.8,3.5,3.1,3.3,4.2c0,0.2-2.3,0.8-5-0.1C129.3,335.6,127.2,333,127.2,333z"/>
 | 
					 | 
				
			||||||
	<path class="st7" d="M67.7,124.4c0,0,3.3,4.4,2.3,5.9s-2,2.3-4.1,0.9c-2.2-1.4-4.5-4.3-5.6-6.4s-1.3-6.2-1.1-6.7
 | 
					 | 
				
			||||||
		c1-1.7,2.5,2.2,3.3,4.1c0.8,1.9,1.9,3.9,2.7,3.2c0.8-0.6-1.1-4.1-0.4-5.1C65.5,119.2,67.7,124.4,67.7,124.4z"/>
 | 
					 | 
				
			||||||
</g>
 | 
					 | 
				
			||||||
<path class="st10" d="M509.5,367.8h-494c-8.6,0-15.5-6.9-15.5-15.5l0,0c0-8.6,6.9-15.5,15.5-15.5h494c8.6,0,15.5,6.9,15.5,15.5l0,0
 | 
					 | 
				
			||||||
	C525,360.9,518.1,367.8,509.5,367.8z"/>
 | 
					 | 
				
			||||||
<path class="st3" d="M122.8,71.7l-6.5-7.1l-79.6,72.8c-5.5-3.5-12.5-4.4-19.1-1.9C6.6,139.7,1.1,152,5.4,163s16.5,16.5,27.5,12.2
 | 
					 | 
				
			||||||
	c11-4.2,16.5-16.5,12.2-27.5c-0.3-0.8-0.7-1.6-1.1-2.4L104.3,89l7.2,7.1l7.2-7.3l-5.7-5.7l2.2-2.6l5.9,5.3l5-5.7l-6.2-5.7
 | 
					 | 
				
			||||||
	L122.8,71.7z M30.2,168.2c-7.1,2.7-15.2-0.8-17.9-8c-2.7-7.1,0.8-15.2,8-17.9c7.1-2.7,15.2,0.8,17.9,8S37.3,165.5,30.2,168.2z"/>
 | 
					 | 
				
			||||||
</svg>
 | 
					 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 14 KiB  | 
| 
		 Before Width: | Height: | Size: 11 KiB  | 
| 
		 Before Width: | Height: | Size: 3.9 KiB  | 
| 
		 Before Width: | Height: | Size: 1.3 KiB  | 
| 
		 Before Width: | Height: | Size: 7.2 KiB  | 
| 
		 Before Width: | Height: | Size: 1.8 KiB  | 
| 
		 Before Width: | Height: | Size: 1.3 KiB  | 
| 
		 Before Width: | Height: | Size: 2.3 KiB  | 
| 
		 Before Width: | Height: | Size: 1.7 KiB  | 
| 
		 Before Width: | Height: | Size: 5.9 KiB  | 
| 
		 Before Width: | Height: | Size: 14 KiB  | 
| 
		 Before Width: | Height: | Size: 8.4 KiB  | 
| 
		 Before Width: | Height: | Size: 4.1 KiB  | 
| 
		 Before Width: | Height: | Size: 1.7 KiB  | 
| 
		 Before Width: | Height: | Size: 7.2 KiB  | 
| 
		 Before Width: | Height: | Size: 7.0 KiB  | 
| 
		 Before Width: | Height: | Size: 22 KiB  | 
| 
		 Before Width: | Height: | Size: 65 KiB  | 
| 
		 Before Width: | Height: | Size: 80 KiB  | 
| 
		 Before Width: | Height: | Size: 7.5 KiB  | 
@@ -1,280 +0,0 @@
 | 
				
			|||||||
const app = getApp()
 | 
					 | 
				
			||||||
const baseUrl = app.globalData.baseUrl
 | 
					 | 
				
			||||||
// console.log("baseUrl", baseUrl)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var dateTimePicker = require('./dateTimePicker.js');
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    isMaskWindowShow: false,
 | 
					 | 
				
			||||||
    maskWindowList: ['时间太早', '时间太晚', '距离太远', '交通不方便', '其他(输入)', '没有原因'],
 | 
					 | 
				
			||||||
    selectIndex: -1,
 | 
					 | 
				
			||||||
    isMaskWindowInputShow: false,
 | 
					 | 
				
			||||||
    maskWindowInputValue: "",
 | 
					 | 
				
			||||||
    type: '',
 | 
					 | 
				
			||||||
    typeTitle: '',
 | 
					 | 
				
			||||||
    transport: '',
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    date: '2018-10-01',
 | 
					 | 
				
			||||||
    time: '12:00',
 | 
					 | 
				
			||||||
    dateTimeArray: null,
 | 
					 | 
				
			||||||
    dateTime: null,
 | 
					 | 
				
			||||||
    dateTimeArray1: null,
 | 
					 | 
				
			||||||
    dateTime1: null,
 | 
					 | 
				
			||||||
    dateTimeArray2: null,
 | 
					 | 
				
			||||||
    dateTime2: null,
 | 
					 | 
				
			||||||
    startYear: 2000,
 | 
					 | 
				
			||||||
    endYear: 2050,
 | 
					 | 
				
			||||||
    date1: '',
 | 
					 | 
				
			||||||
    date2: '',
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    issue: '',
 | 
					 | 
				
			||||||
    place: '',
 | 
					 | 
				
			||||||
    id: wx.getStorageSync('id')
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  issue: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      issue: e.detail.value
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  place: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      place: e.detail.value
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  report: function () {
 | 
					 | 
				
			||||||
    var data = this.data;
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      date1: data.dateTimeArray1[0][data.dateTime1[0]] + "-" + data.dateTimeArray1[1][data.dateTime1[1]] + "-" +
 | 
					 | 
				
			||||||
        data.dateTimeArray1[2][data.dateTime1[2]] + " " + data.dateTimeArray1[3][data.dateTime1[3]] + ":" + data.dateTimeArray1[4][data.dateTime1[4]],
 | 
					 | 
				
			||||||
      date2: data.dateTimeArray2[0][data.dateTime2[0]] + "-" + data.dateTimeArray2[1][data.dateTime2[1]] + "-" +
 | 
					 | 
				
			||||||
        data.dateTimeArray2[2][data.dateTime2[2]] + " " + data.dateTimeArray2[3][data.dateTime2[3]] + ":" + data.dateTimeArray2[4][data.dateTime2[4]]
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
    if(data.issue==''){
 | 
					 | 
				
			||||||
      wx.showToast({
 | 
					 | 
				
			||||||
        title: '请填写请假事由',
 | 
					 | 
				
			||||||
        icon: 'none',
 | 
					 | 
				
			||||||
        duration: 2000
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }else if(data.transport==''){
 | 
					 | 
				
			||||||
      wx.showToast({
 | 
					 | 
				
			||||||
        title: '请填写交通方式',
 | 
					 | 
				
			||||||
        icon: 'none',
 | 
					 | 
				
			||||||
        duration: 2000
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }else if(data.place==''){
 | 
					 | 
				
			||||||
      wx.showToast({
 | 
					 | 
				
			||||||
        title: '请填写目的地',
 | 
					 | 
				
			||||||
        icon: 'none',
 | 
					 | 
				
			||||||
        duration: 2000
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }else if (data.dateTime1[0] <= data.dateTime2[0]) {
 | 
					 | 
				
			||||||
      if (data.dateTime1[1] > data.dateTime2[1] || (data.dateTime1[1] <= data.dateTime2[1] && data.dateTime1[2] > data.dateTime2[2])) {
 | 
					 | 
				
			||||||
        wx.showToast({
 | 
					 | 
				
			||||||
          title: '结束日期不能早于开始日期',
 | 
					 | 
				
			||||||
          icon: 'none',
 | 
					 | 
				
			||||||
          duration: 2000
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      } else if (data.dateTime1[1] == data.dateTime2[1] && data.dateTime1[2] == data.dateTime2[2]) {
 | 
					 | 
				
			||||||
        if (data.dateTime1[3] > data.dateTime2[3] || (data.dateTime1[3] <= data.dateTime2[3] && data.dateTime1[4] > data.dateTime2[4])) {
 | 
					 | 
				
			||||||
          wx.showToast({
 | 
					 | 
				
			||||||
            title: '结束时间不能早于开始时间',
 | 
					 | 
				
			||||||
            icon: 'none',
 | 
					 | 
				
			||||||
            duration: 2000
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
          this.apply();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        this.apply();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      wx.showToast({
 | 
					 | 
				
			||||||
        title: '结束日期不能早于开始日期',
 | 
					 | 
				
			||||||
        icon: 'none',
 | 
					 | 
				
			||||||
        duration: 2000
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  apply: function () {
 | 
					 | 
				
			||||||
    var data = this.data;
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/apply/applySub`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        stu_id: data.id,
 | 
					 | 
				
			||||||
        issue: data.issue,
 | 
					 | 
				
			||||||
        transport: data.transport,
 | 
					 | 
				
			||||||
        place: data.place,
 | 
					 | 
				
			||||||
        start_time: data.date1,
 | 
					 | 
				
			||||||
        end_time: data.date2
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        if (d.data == "申请成功") {
 | 
					 | 
				
			||||||
          wx.showToast({
 | 
					 | 
				
			||||||
            title: d.data,
 | 
					 | 
				
			||||||
            icon: 'success',
 | 
					 | 
				
			||||||
            duration: 2000,
 | 
					 | 
				
			||||||
            success: function () {
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
          wx.showToast({
 | 
					 | 
				
			||||||
            title: d.data,
 | 
					 | 
				
			||||||
            icon: 'none',
 | 
					 | 
				
			||||||
            duration: 2000
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  chooseTransport: function () {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      type: 'transport',
 | 
					 | 
				
			||||||
      typeTitle: '交通方式',
 | 
					 | 
				
			||||||
      maskWindowList: ['飞机', '动车', '火车', '大巴', '私家车', '自行车', '步行', '其他(输入)']
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
    this.showMaskWindow()
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //弹框以外区域点击
 | 
					 | 
				
			||||||
  maskWindowBgClick: function (e) {
 | 
					 | 
				
			||||||
    this.dismissMaskWindow();
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //弹窗区域点击事件
 | 
					 | 
				
			||||||
  clickTap: function (e) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //切换选择项事件
 | 
					 | 
				
			||||||
  maskWindowTableSelect: function (e) {
 | 
					 | 
				
			||||||
    var index = e.currentTarget.dataset.windowIndex;
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      selectIndex: e.currentTarget.dataset.windowIndex,
 | 
					 | 
				
			||||||
      isMaskWindowInputShow: index == 7
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //输入框输入绑定事件
 | 
					 | 
				
			||||||
  maskWindowInput: function (e) {
 | 
					 | 
				
			||||||
    var value = e.detail.value;
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      maskWindowInputValue: value
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  maskWindowOk: function (e) {
 | 
					 | 
				
			||||||
    var index = this.data.selectIndex;
 | 
					 | 
				
			||||||
    var text;
 | 
					 | 
				
			||||||
    if (this.data.type == 'transport') {
 | 
					 | 
				
			||||||
      if (index == 7) {
 | 
					 | 
				
			||||||
        text = this.data.maskWindowInputValue;
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        text = this.data.maskWindowList[index];
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      this.setData({
 | 
					 | 
				
			||||||
        transport: text
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    this.dismissMaskWindow();
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  maskWindowCancel: function (e) {
 | 
					 | 
				
			||||||
    this.dismissMaskWindow();
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // 显示蒙版弹窗
 | 
					 | 
				
			||||||
  showMaskWindow: function () {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      isMaskWindowShow: true,
 | 
					 | 
				
			||||||
      selectIndex: -1,
 | 
					 | 
				
			||||||
      isMaskWindowInputShow: false,
 | 
					 | 
				
			||||||
      maskWindowInputValue: ""
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // 隐藏蒙版窗体
 | 
					 | 
				
			||||||
  dismissMaskWindow: function () {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      isMaskWindowShow: false,
 | 
					 | 
				
			||||||
      selectIndex: -1,
 | 
					 | 
				
			||||||
      isMaskWindowInputShow: false,
 | 
					 | 
				
			||||||
      maskWindowInputValue: ""
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  onLoad() {
 | 
					 | 
				
			||||||
    // 获取完整的年月日 时分秒,以及默认显示的数组
 | 
					 | 
				
			||||||
    var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
 | 
					 | 
				
			||||||
    var obj1 = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
 | 
					 | 
				
			||||||
    var obj2 = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
 | 
					 | 
				
			||||||
    // 精确到分的处理,将数组的秒去掉
 | 
					 | 
				
			||||||
    var lastArray1 = obj1.dateTimeArray.pop();
 | 
					 | 
				
			||||||
    var lastTime1 = obj1.dateTime.pop();
 | 
					 | 
				
			||||||
    var lastArray2 = obj2.dateTimeArray.pop();
 | 
					 | 
				
			||||||
    var lastTime2 = obj2.dateTime.pop();
 | 
					 | 
				
			||||||
    obj2.dateTime[3] += 2
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      dateTime: obj.dateTime,
 | 
					 | 
				
			||||||
      dateTimeArray: obj.dateTimeArray,
 | 
					 | 
				
			||||||
      dateTimeArray1: obj1.dateTimeArray,
 | 
					 | 
				
			||||||
      dateTime1: obj1.dateTime,
 | 
					 | 
				
			||||||
      dateTimeArray2: obj2.dateTimeArray,
 | 
					 | 
				
			||||||
      dateTime2: obj2.dateTime,
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  changeDate(e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      date: e.detail.value
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  changeTime(e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      time: e.detail.value
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  changeDateTime(e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      dateTime: e.detail.value
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  changeDateTime1(e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      dateTime1: e.detail.value
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  changeDateTime2(e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      dateTime2: e.detail.value
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  changeDateTimeColumn(e) {
 | 
					 | 
				
			||||||
    var arr = this.data.dateTime,
 | 
					 | 
				
			||||||
      dateArr = this.data.dateTimeArray;
 | 
					 | 
				
			||||||
    arr[e.detail.column] = e.detail.value;
 | 
					 | 
				
			||||||
    dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]);
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      dateTimeArray: dateArr,
 | 
					 | 
				
			||||||
      dateTime: arr
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  changeDateTimeColumn1(e) {
 | 
					 | 
				
			||||||
    var arr = this.data.dateTime1,
 | 
					 | 
				
			||||||
      dateArr = this.data.dateTimeArray1;
 | 
					 | 
				
			||||||
    arr[e.detail.column] = e.detail.value;
 | 
					 | 
				
			||||||
    dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]);
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      dateTimeArray1: dateArr,
 | 
					 | 
				
			||||||
      dateTime1: arr
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  changeDateTimeColumn2(e) {
 | 
					 | 
				
			||||||
    var arr = this.data.dateTime2,
 | 
					 | 
				
			||||||
      dateArr = this.data.dateTimeArray2;
 | 
					 | 
				
			||||||
    arr[e.detail.column] = e.detail.value;
 | 
					 | 
				
			||||||
    dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]);
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      dateTimeArray2: dateArr,
 | 
					 | 
				
			||||||
      dateTime2: arr
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,73 +0,0 @@
 | 
				
			|||||||
<page-meta root-font-size="system" />
 | 
					 | 
				
			||||||
<view>
 | 
					 | 
				
			||||||
  <view class="weui-form" style="padding:20px 0">
 | 
					 | 
				
			||||||
    <view class="weui-form__text-area">
 | 
					 | 
				
			||||||
      <h2 class="weui-form__title">出校申请</h2>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
    <view class="weui-form__control-area" style="margin-top: 20px;margin-bottom: 0;">
 | 
					 | 
				
			||||||
      <view class="weui-cells__group weui-cells__group_form">
 | 
					 | 
				
			||||||
        <view class="weui-cells__title">1.请假事由</view>
 | 
					 | 
				
			||||||
        <view class="weui-cell weui-cell_active">
 | 
					 | 
				
			||||||
          <view class="weui-cell__bd">
 | 
					 | 
				
			||||||
            <input class="weui-input" placeholder-class="weui-input__placeholder" bindinput='issue' />
 | 
					 | 
				
			||||||
          </view>
 | 
					 | 
				
			||||||
        </view>
 | 
					 | 
				
			||||||
        <view class="weui-cells__title">2.交通方式</view>
 | 
					 | 
				
			||||||
        <view class="weui-cell weui-cell_active">
 | 
					 | 
				
			||||||
          <view class="weui-cell__bd" bindtap="chooseTransport">
 | 
					 | 
				
			||||||
            <view class="weui-input" placeholder-class="weui-input__placeholder">{{transport}}</view>
 | 
					 | 
				
			||||||
          </view>
 | 
					 | 
				
			||||||
        </view>
 | 
					 | 
				
			||||||
        <view class="weui-cells__title">3.目的地</view>
 | 
					 | 
				
			||||||
        <view class="weui-cell weui-cell_active">
 | 
					 | 
				
			||||||
          <view class="weui-cell__bd">
 | 
					 | 
				
			||||||
            <input class="weui-input" placeholder-class="weui-input__placeholder" bindinput='place' />
 | 
					 | 
				
			||||||
          </view>
 | 
					 | 
				
			||||||
        </view>
 | 
					 | 
				
			||||||
        <view class="weui-cells__title">4.开始时间</view>
 | 
					 | 
				
			||||||
        <view class="weui-cell weui-cell_active">
 | 
					 | 
				
			||||||
          <view class="weui-cell__bd">
 | 
					 | 
				
			||||||
            <view class="weui-input" placeholder-class="weui-input__placeholder">
 | 
					 | 
				
			||||||
              <picker mode="multiSelector" value="{{dateTime1}}" bindchange="changeDateTime1" bindcolumnchange="changeDateTimeColumn1" range="{{dateTimeArray1}}">
 | 
					 | 
				
			||||||
                <view class="tui-picker-detail">
 | 
					 | 
				
			||||||
                  {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}}
 | 
					 | 
				
			||||||
                </view>
 | 
					 | 
				
			||||||
              </picker>
 | 
					 | 
				
			||||||
            </view>
 | 
					 | 
				
			||||||
          </view>
 | 
					 | 
				
			||||||
        </view>
 | 
					 | 
				
			||||||
        <view class="weui-cells__title">5.结束时间</view>
 | 
					 | 
				
			||||||
        <view class="weui-cell weui-cell_active">
 | 
					 | 
				
			||||||
          <view class="weui-cell__bd">
 | 
					 | 
				
			||||||
            <view class="weui-input" placeholder-class="weui-input__placeholder">
 | 
					 | 
				
			||||||
              <picker mode="multiSelector" value="{{dateTime2}}" bindchange="changeDateTime2" bindcolumnchange="changeDateTimeColumn2" range="{{dateTimeArray2}}">
 | 
					 | 
				
			||||||
                <view class="tui-picker-detail" bindtap='date2'>
 | 
					 | 
				
			||||||
                  {{dateTimeArray2[0][dateTime2[0]]}}-{{dateTimeArray2[1][dateTime2[1]]}}-{{dateTimeArray2[2][dateTime2[2]]}} {{dateTimeArray2[3][dateTime2[3]]}}:{{dateTimeArray2[4][dateTime2[4]]}}
 | 
					 | 
				
			||||||
                </view>
 | 
					 | 
				
			||||||
              </picker>
 | 
					 | 
				
			||||||
            </view>
 | 
					 | 
				
			||||||
          </view>
 | 
					 | 
				
			||||||
        </view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
    <view class="weui-form__opr-area" style="margin-bottom: 0;">
 | 
					 | 
				
			||||||
      <a aria-role="button" class="weui-btn weui-btn_primary" catchtap="report" style="margin-top: 50px;">提交申请</a>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
<view class='maskWindow' wx:if="{{isMaskWindowShow}}" catchtap='maskWindowBgClick' catchtouchmove='move'>
 | 
					 | 
				
			||||||
  <view class='maskWindowContent' catchtap='clickTap'>
 | 
					 | 
				
			||||||
    <text class="maskWindowTitleText">{{typeTitle}}</text>
 | 
					 | 
				
			||||||
    <view class='maskWindowList' wx:for='{{maskWindowList}}' wx:for-index='index' wx:if='{{index%2===0}}'>
 | 
					 | 
				
			||||||
      <view class="maskWindowText {{index == selectIndex? 'maskWindowText_selected' : 'maskWindowText_unselected'}}" catchtap='maskWindowTableSelect' data-window-Index='{{index}}'>{{maskWindowList[index]}}</view>
 | 
					 | 
				
			||||||
      <view class="maskWindowText {{index + 1 == selectIndex? 'maskWindowText_selected' : 'maskWindowText_unselected'}}" catchtap='maskWindowTableSelect' data-window-Index='{{index+1}}'>{{maskWindowList[index+1]}}</view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
    <view class='maskWindowInputView'>
 | 
					 | 
				
			||||||
      <input class='maskWindowInput' maxlength='100' placeholder='请输入其他原因' hidden='{{!isMaskWindowInputShow}}' bindinput='maskWindowInput'></input>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
    <view class='maskWindowBtnView'>
 | 
					 | 
				
			||||||
      <view class='maskWindowBtn' catchtap='maskWindowOk'>确定</view>
 | 
					 | 
				
			||||||
      <view class='maskWindowBtn' catchtap='maskWindowCancel'>取消</view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,72 +0,0 @@
 | 
				
			|||||||
/* pages/apply/apply.wxss */
 | 
					 | 
				
			||||||
.weui-cells__title{
 | 
					 | 
				
			||||||
  font-size: 17px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindow{
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  position: fixed;
 | 
					 | 
				
			||||||
  background-color: rgba(0, 0, 0, .2);
 | 
					 | 
				
			||||||
  z-index:2;
 | 
					 | 
				
			||||||
  top: 0;
 | 
					 | 
				
			||||||
  left: 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowContent {
 | 
					 | 
				
			||||||
  padding: 20rpx 0;
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  background: #ffffff;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  justify-content: space - around;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  position: fixed;
 | 
					 | 
				
			||||||
  bottom: 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowTitleText {
 | 
					 | 
				
			||||||
  padding: 10rpx 20rpx;
 | 
					 | 
				
			||||||
  margin: 10rpx;
 | 
					 | 
				
			||||||
  font-size: 16px;
 | 
					 | 
				
			||||||
  width: 80%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowList {
 | 
					 | 
				
			||||||
  width: 80%;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: row;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowText {
 | 
					 | 
				
			||||||
  padding: 10rpx 20rpx;
 | 
					 | 
				
			||||||
  margin: 8rpx;
 | 
					 | 
				
			||||||
  width: 50%;
 | 
					 | 
				
			||||||
  font-size: 14px;
 | 
					 | 
				
			||||||
  border-radius: 10rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowText_selected {
 | 
					 | 
				
			||||||
  border: 1px solid #15c261;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowText_unselected {
 | 
					 | 
				
			||||||
  border: 1px solid lightgray;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowInputView {
 | 
					 | 
				
			||||||
  width: 80%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowInput {
 | 
					 | 
				
			||||||
  margin: 15rpx 0;
 | 
					 | 
				
			||||||
  padding: 10rpx 20rpx;
 | 
					 | 
				
			||||||
  font-size: 14px;
 | 
					 | 
				
			||||||
  border: 1px solid lightgray;
 | 
					 | 
				
			||||||
  border-radius: 10rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowBtnView {
 | 
					 | 
				
			||||||
  width: 80%;
 | 
					 | 
				
			||||||
  margin-top: 20rpx;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: row;
 | 
					 | 
				
			||||||
  justify-content: flex - end;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.maskWindowBtn {
 | 
					 | 
				
			||||||
  padding: 10rpx 50rpx;
 | 
					 | 
				
			||||||
  margin: 20rpx;
 | 
					 | 
				
			||||||
  font-size: 14px;
 | 
					 | 
				
			||||||
  border-radius: 10rpx;
 | 
					 | 
				
			||||||
  border: 1px solid #15c261;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,136 +0,0 @@
 | 
				
			|||||||
const app = getApp()
 | 
					 | 
				
			||||||
const baseUrl = app.globalData.baseUrl
 | 
					 | 
				
			||||||
// console.log("baseUrl", baseUrl)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面的初始数据
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    List: '',
 | 
					 | 
				
			||||||
    replay: [],
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面加载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onLoad: function (options) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面初次渲染完成
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReady: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  doReplay: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      replay: e.detail.value
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  agree: function (event) {
 | 
					 | 
				
			||||||
    var that = this
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/apply/applyReplay`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        id: event.target.dataset.id,
 | 
					 | 
				
			||||||
        replay: event.target.dataset.replay,
 | 
					 | 
				
			||||||
        reasonId: 99
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        wx.showToast({
 | 
					 | 
				
			||||||
          title: d.data.msg,
 | 
					 | 
				
			||||||
          icon: 'success',
 | 
					 | 
				
			||||||
          duration: 2000,
 | 
					 | 
				
			||||||
          success: function () {}
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        that.onShow();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  disagree: function (event) {
 | 
					 | 
				
			||||||
    var that = this
 | 
					 | 
				
			||||||
    wx.showActionSheet({
 | 
					 | 
				
			||||||
      itemList: ['格式错误', '出行地点不允许', '时间填写错误'],
 | 
					 | 
				
			||||||
      success: function (res) {
 | 
					 | 
				
			||||||
        if (!res.cancel) {
 | 
					 | 
				
			||||||
          wx.request({
 | 
					 | 
				
			||||||
            url: `${baseUrl}/apply/applyReplay`,
 | 
					 | 
				
			||||||
            data: {
 | 
					 | 
				
			||||||
              id: event.target.dataset.id,
 | 
					 | 
				
			||||||
              replay: event.target.dataset.replay,
 | 
					 | 
				
			||||||
              reasonId: res.tapIndex,
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            success: function (d) {
 | 
					 | 
				
			||||||
              wx.showToast({
 | 
					 | 
				
			||||||
                title: d.data.msg,
 | 
					 | 
				
			||||||
                icon: 'success',
 | 
					 | 
				
			||||||
                duration: 2000,
 | 
					 | 
				
			||||||
                success: function () {
 | 
					 | 
				
			||||||
                  that.onShow();
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
              })
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面显示
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShow: function () {
 | 
					 | 
				
			||||||
    var that = this;
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/apply/applyListNoReplay`,
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        that.setData({
 | 
					 | 
				
			||||||
          List: d.data.data
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // replay: function (event) {
 | 
					 | 
				
			||||||
  //   var that = this
 | 
					 | 
				
			||||||
  //   console.log(event.target.dataset)
 | 
					 | 
				
			||||||
  //   wx.request({
 | 
					 | 
				
			||||||
  //     url: `${baseUrl}/apply/applyListNoReplay`,
 | 
					 | 
				
			||||||
  //   })
 | 
					 | 
				
			||||||
  // },
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面隐藏
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onHide: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面卸载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onUnload: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面相关事件处理函数--监听用户下拉动作
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onPullDownRefresh: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面上拉触底事件的处理函数
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReachBottom: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 用户点击右上角分享
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShareAppMessage: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,17 +0,0 @@
 | 
				
			|||||||
<view class="perason">
 | 
					 | 
				
			||||||
  <h2 class="weui-form__title" style="text-align: center;padding-top: 20px;">申请审批</h2>
 | 
					 | 
				
			||||||
  <view class="issues-panel" wx:for="{{List}}">
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="titleInput" disabled="true">姓名:{{item.name}}</view>
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="titleInput" disabled="true">学号:{{item.stuId}}</view>
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="contentInput" auto-height disabled="true" style="border-bottom: none;">出行方式: {{item.transport}}</view>
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="contentInput" auto-height disabled="true" style="border-bottom: none;">地点:{{item.place}}</view>
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="contentInput" auto-height disabled="true" style="border-bottom: none;">开始时间: {{item.start_time}}</view>
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="contentInput" auto-height disabled="true" style="border-bottom: none;">结束时间: {{item.end_time}}</view>
 | 
					 | 
				
			||||||
    <view class="weui-cells weui-cells_after-title">
 | 
					 | 
				
			||||||
      <view class="weui-cell weui-cell_input">
 | 
					 | 
				
			||||||
        <button class="mini-btn" type="primary" size="mini" data-id="{{item.id}}" data-replay="1" bindtap="agree">通过</button>
 | 
					 | 
				
			||||||
        <button class="mini-btn" type="warn" size="mini" data-id="{{item.id}}" data-replay="2" bindtap="disagree">驳回</button>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,115 +0,0 @@
 | 
				
			|||||||
/**issuse.wxss**/
 | 
					 | 
				
			||||||
.perason{
 | 
					 | 
				
			||||||
  background-color: #f6f6f6;
 | 
					 | 
				
			||||||
  padding: 30rpx;
 | 
					 | 
				
			||||||
  padding-top: 0;
 | 
					 | 
				
			||||||
  font-size: 11pt;
 | 
					 | 
				
			||||||
  box-sizing: border-box;
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  min-height: 100%;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  padding-bottom: 100rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-label{
 | 
					 | 
				
			||||||
  font-size: 10pt;
 | 
					 | 
				
			||||||
  line-height: 100%;
 | 
					 | 
				
			||||||
  color: #999;
 | 
					 | 
				
			||||||
  margin: 25rpx 20rpx 15rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-panel{
 | 
					 | 
				
			||||||
  margin-top: 30px;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  align-items: stretch;
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  border-top: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-img-panel{
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-wrap: wrap;
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  border-top: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  padding: 15rpx 25rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-input{
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  padding: 15rpx 25rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-textarea{
 | 
					 | 
				
			||||||
  padding: 25rpx;
 | 
					 | 
				
			||||||
  min-height: 225rpx;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item {
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  color: #888;
 | 
					 | 
				
			||||||
  margin: 20rpx;
 | 
					 | 
				
			||||||
  margin-right: 0;
 | 
					 | 
				
			||||||
  width: 135rpx;
 | 
					 | 
				
			||||||
  height: 135rpx;
 | 
					 | 
				
			||||||
  border: 1rpx solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-radius: 5rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item:active{
 | 
					 | 
				
			||||||
  opacity: .8;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item .remind-img{
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item image{
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo:active {
 | 
					 | 
				
			||||||
  background: #f0f0f0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::before, .add-photo::after{
 | 
					 | 
				
			||||||
  content: '';
 | 
					 | 
				
			||||||
  position: absolute;
 | 
					 | 
				
			||||||
  top: 50%;
 | 
					 | 
				
			||||||
  left: 50%;
 | 
					 | 
				
			||||||
  background: #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo:active::before, .add-photo:active::after{
 | 
					 | 
				
			||||||
  background: #ddd;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::before {
 | 
					 | 
				
			||||||
  width: 10rpx;
 | 
					 | 
				
			||||||
  height: 80rpx;
 | 
					 | 
				
			||||||
  margin-top: -40rpx;
 | 
					 | 
				
			||||||
  margin-left: -5rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::after {
 | 
					 | 
				
			||||||
  width: 80rpx;
 | 
					 | 
				
			||||||
  height: 10rpx;
 | 
					 | 
				
			||||||
  margin-top: -5rpx;
 | 
					 | 
				
			||||||
  margin-left: -40rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-remind {
 | 
					 | 
				
			||||||
  flex: 1;
 | 
					 | 
				
			||||||
  font-size: 9pt;
 | 
					 | 
				
			||||||
  line-height: 135%;
 | 
					 | 
				
			||||||
  color: #ccc;
 | 
					 | 
				
			||||||
  padding: 0 30rpx;
 | 
					 | 
				
			||||||
  word-break: break-all;
 | 
					 | 
				
			||||||
  text-indent: 1em;
 | 
					 | 
				
			||||||
  padding-top: 30rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.submit-btn {
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  margin: 40rpx 3%;
 | 
					 | 
				
			||||||
  height: 80rpx;
 | 
					 | 
				
			||||||
  border-radius: 3px;
 | 
					 | 
				
			||||||
  text-align: center;
 | 
					 | 
				
			||||||
  background-color: #FF8966;
 | 
					 | 
				
			||||||
  color: #fff;
 | 
					 | 
				
			||||||
  font-size: 12pt;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,80 +0,0 @@
 | 
				
			|||||||
function withData(param){
 | 
					 | 
				
			||||||
  return param < 10 ? '0' + param : '' + param;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function getLoopArray(start,end){
 | 
					 | 
				
			||||||
  var start = start || 0;
 | 
					 | 
				
			||||||
  var end = end || 1;
 | 
					 | 
				
			||||||
  var array = [];
 | 
					 | 
				
			||||||
  for (var i = start; i <= end; i++) {
 | 
					 | 
				
			||||||
    array.push(withData(i));
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return array;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function getMonthDay(year,month){
 | 
					 | 
				
			||||||
  var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), array = null;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  switch (month) {
 | 
					 | 
				
			||||||
    case '01':
 | 
					 | 
				
			||||||
    case '03':
 | 
					 | 
				
			||||||
    case '05':
 | 
					 | 
				
			||||||
    case '07':
 | 
					 | 
				
			||||||
    case '08':
 | 
					 | 
				
			||||||
    case '10':
 | 
					 | 
				
			||||||
    case '12':
 | 
					 | 
				
			||||||
      array = getLoopArray(1, 31)
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case '04':
 | 
					 | 
				
			||||||
    case '06':
 | 
					 | 
				
			||||||
    case '09':
 | 
					 | 
				
			||||||
    case '11':
 | 
					 | 
				
			||||||
      array = getLoopArray(1, 30)
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case '02':
 | 
					 | 
				
			||||||
      array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28)
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    default:
 | 
					 | 
				
			||||||
      array = '月份格式不正确,请重新输入!'
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return array;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function getNewDateArry(){
 | 
					 | 
				
			||||||
  // 当前时间的处理
 | 
					 | 
				
			||||||
  var newDate = new Date();
 | 
					 | 
				
			||||||
  var year = withData(newDate.getFullYear()),
 | 
					 | 
				
			||||||
      mont = withData(newDate.getMonth() + 1),
 | 
					 | 
				
			||||||
      date = withData(newDate.getDate()),
 | 
					 | 
				
			||||||
      hour = withData(newDate.getHours()),
 | 
					 | 
				
			||||||
      minu = withData(newDate.getMinutes()),
 | 
					 | 
				
			||||||
      seco = withData(newDate.getSeconds());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return [year, mont, date, hour, minu, seco];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function dateTimePicker(startYear,endYear,date) {
 | 
					 | 
				
			||||||
  // 返回默认显示的数组和联动数组的声明
 | 
					 | 
				
			||||||
  var dateTime = [], dateTimeArray = [[],[],[],[],[],[]];
 | 
					 | 
				
			||||||
  var start = startYear || 1978;
 | 
					 | 
				
			||||||
  var end = endYear || 2100;
 | 
					 | 
				
			||||||
  // 默认开始显示数据
 | 
					 | 
				
			||||||
  var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
 | 
					 | 
				
			||||||
  // 处理联动列表数据
 | 
					 | 
				
			||||||
  /*年月日 时分秒*/ 
 | 
					 | 
				
			||||||
  dateTimeArray[0] = getLoopArray(start,end);
 | 
					 | 
				
			||||||
  dateTimeArray[1] = getLoopArray(1, 12);
 | 
					 | 
				
			||||||
  dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
 | 
					 | 
				
			||||||
  dateTimeArray[3] = getLoopArray(0, 23);
 | 
					 | 
				
			||||||
  dateTimeArray[4] = getLoopArray(0, 59);
 | 
					 | 
				
			||||||
  dateTimeArray[5] = getLoopArray(0, 59);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  dateTimeArray.forEach((current,index) => {
 | 
					 | 
				
			||||||
    dateTime.push(current.indexOf(defaultDate[index]));
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return {
 | 
					 | 
				
			||||||
    dateTimeArray: dateTimeArray,
 | 
					 | 
				
			||||||
    dateTime: dateTime
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
module.exports = {
 | 
					 | 
				
			||||||
  dateTimePicker: dateTimePicker,
 | 
					 | 
				
			||||||
  getMonthDay: getMonthDay
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,124 +0,0 @@
 | 
				
			|||||||
const app = getApp()
 | 
					 | 
				
			||||||
const baseUrl = app.globalData.baseUrl
 | 
					 | 
				
			||||||
// console.log("baseUrl", baseUrl)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面的初始数据
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    List: '',
 | 
					 | 
				
			||||||
    replay: [],
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面加载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onLoad: function (options) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面初次渲染完成
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReady: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  doReplay: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      replay: e.detail.value
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  agree: function (event) {
 | 
					 | 
				
			||||||
    var that = this
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/apply/applyReplay`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        id: event.target.dataset.id,
 | 
					 | 
				
			||||||
        replay: event.target.dataset.replay,
 | 
					 | 
				
			||||||
        reasonId: 99
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        if (d.data.msg == "成功") {
 | 
					 | 
				
			||||||
          that.onshow();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  disagree: function (event) {
 | 
					 | 
				
			||||||
    var that = this
 | 
					 | 
				
			||||||
    wx.showActionSheet({
 | 
					 | 
				
			||||||
      itemList: ['格式错误', '出行地点不允许', '时间填写错误'],
 | 
					 | 
				
			||||||
      success: function (res) {
 | 
					 | 
				
			||||||
        if (!res.cancel) {
 | 
					 | 
				
			||||||
          wx.request({
 | 
					 | 
				
			||||||
            url: `${baseUrl}/apply/applyReplay`,
 | 
					 | 
				
			||||||
            data: {
 | 
					 | 
				
			||||||
              id: event.target.dataset.id,
 | 
					 | 
				
			||||||
              replay: event.target.dataset.replay,
 | 
					 | 
				
			||||||
              reasonId: res.tapIndex,
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            success: function (d) {
 | 
					 | 
				
			||||||
              if (d.data.msg == "成功") {
 | 
					 | 
				
			||||||
                that.onShow();
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面显示
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShow: function () {
 | 
					 | 
				
			||||||
    var that = this;
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/apply/myApply`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        id: wx.getStorageSync('id')
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        that.setData({
 | 
					 | 
				
			||||||
          List: d.data.data
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面隐藏
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onHide: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面卸载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onUnload: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面相关事件处理函数--监听用户下拉动作
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onPullDownRefresh: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面上拉触底事件的处理函数
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReachBottom: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 用户点击右上角分享
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShareAppMessage: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,13 +0,0 @@
 | 
				
			|||||||
<!--pages/apply/myapply.wxml-->
 | 
					 | 
				
			||||||
<view class="perason">
 | 
					 | 
				
			||||||
  <h2 class="weui-form__title" style="text-align: center;padding-top: 20px;">我的申请</h2>
 | 
					 | 
				
			||||||
  <view class="issues-panel" wx:for="{{List}}">
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="titleInput" disabled="true">请假事由:{{item.issue}}</view>
 | 
					 | 
				
			||||||
    <textarea class="issues-textarea" bindinput="contentInput" auto-height disabled="true">
 | 
					 | 
				
			||||||
      <text>目的地:{{item.place}}\n</text> 
 | 
					 | 
				
			||||||
      <text>开始时间:{{item.start_time}}\n</text>
 | 
					 | 
				
			||||||
      <text>结束时间:{{item.end_time}}\n</text>
 | 
					 | 
				
			||||||
    </textarea>
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="titleInput" disabled="true">管理员意见:{{item.state==1?"同意":item.state==2?"驳回":"审批中"}}</view>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,115 +0,0 @@
 | 
				
			|||||||
/**issuse.wxss**/
 | 
					 | 
				
			||||||
.perason{
 | 
					 | 
				
			||||||
  background-color: #f6f6f6;
 | 
					 | 
				
			||||||
  padding: 30rpx;
 | 
					 | 
				
			||||||
  padding-top: 0;
 | 
					 | 
				
			||||||
  font-size: 11pt;
 | 
					 | 
				
			||||||
  box-sizing: border-box;
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  min-height: 100%;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  padding-bottom: 100rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-label{
 | 
					 | 
				
			||||||
  font-size: 10pt;
 | 
					 | 
				
			||||||
  line-height: 100%;
 | 
					 | 
				
			||||||
  color: #999;
 | 
					 | 
				
			||||||
  margin: 25rpx 20rpx 15rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-panel{
 | 
					 | 
				
			||||||
  margin-top: 30px;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  align-items: stretch;
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  border-top: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-img-panel{
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-wrap: wrap;
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  border-top: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  padding: 15rpx 25rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-input{
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  padding: 15rpx 25rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-textarea{
 | 
					 | 
				
			||||||
  padding: 25rpx;
 | 
					 | 
				
			||||||
  min-height: 225rpx;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item {
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  color: #888;
 | 
					 | 
				
			||||||
  margin: 20rpx;
 | 
					 | 
				
			||||||
  margin-right: 0;
 | 
					 | 
				
			||||||
  width: 135rpx;
 | 
					 | 
				
			||||||
  height: 135rpx;
 | 
					 | 
				
			||||||
  border: 1rpx solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-radius: 5rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item:active{
 | 
					 | 
				
			||||||
  opacity: .8;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item .remind-img{
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item image{
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo:active {
 | 
					 | 
				
			||||||
  background: #f0f0f0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::before, .add-photo::after{
 | 
					 | 
				
			||||||
  content: '';
 | 
					 | 
				
			||||||
  position: absolute;
 | 
					 | 
				
			||||||
  top: 50%;
 | 
					 | 
				
			||||||
  left: 50%;
 | 
					 | 
				
			||||||
  background: #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo:active::before, .add-photo:active::after{
 | 
					 | 
				
			||||||
  background: #ddd;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::before {
 | 
					 | 
				
			||||||
  width: 10rpx;
 | 
					 | 
				
			||||||
  height: 80rpx;
 | 
					 | 
				
			||||||
  margin-top: -40rpx;
 | 
					 | 
				
			||||||
  margin-left: -5rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::after {
 | 
					 | 
				
			||||||
  width: 80rpx;
 | 
					 | 
				
			||||||
  height: 10rpx;
 | 
					 | 
				
			||||||
  margin-top: -5rpx;
 | 
					 | 
				
			||||||
  margin-left: -40rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-remind {
 | 
					 | 
				
			||||||
  flex: 1;
 | 
					 | 
				
			||||||
  font-size: 9pt;
 | 
					 | 
				
			||||||
  line-height: 135%;
 | 
					 | 
				
			||||||
  color: #ccc;
 | 
					 | 
				
			||||||
  padding: 0 30rpx;
 | 
					 | 
				
			||||||
  word-break: break-all;
 | 
					 | 
				
			||||||
  text-indent: 1em;
 | 
					 | 
				
			||||||
  padding-top: 30rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.submit-btn {
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  margin: 40rpx 3%;
 | 
					 | 
				
			||||||
  height: 80rpx;
 | 
					 | 
				
			||||||
  border-radius: 3px;
 | 
					 | 
				
			||||||
  text-align: center;
 | 
					 | 
				
			||||||
  background-color: #FF8966;
 | 
					 | 
				
			||||||
  color: #fff;
 | 
					 | 
				
			||||||
  font-size: 12pt;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,107 +0,0 @@
 | 
				
			|||||||
const app = getApp()
 | 
					 | 
				
			||||||
const baseUrl = app.globalData.baseUrl
 | 
					 | 
				
			||||||
// console.log("baseUrl", baseUrl)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var util = require('../../utils/util.js');
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    imgUrl: '',
 | 
					 | 
				
			||||||
    stuId: wx.getStorageSync('stuId'),
 | 
					 | 
				
			||||||
    name: wx.getStorageSync('name'),
 | 
					 | 
				
			||||||
    isHealth: 0,
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面加载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onLoad: function (options) {
 | 
					 | 
				
			||||||
    console.log("onLoad")
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面初次渲染完成
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReady: function () {
 | 
					 | 
				
			||||||
    console.log("onReady")
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  onPullDownRefresh: function () {
 | 
					 | 
				
			||||||
    console.log("onPullDownRefresh");
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  onRefresh: function () {
 | 
					 | 
				
			||||||
    console.log("onRefresh");
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面显示
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShow: function () {
 | 
					 | 
				
			||||||
    console.log("onShow");
 | 
					 | 
				
			||||||
    this.updateQrCode();
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  updateQrCode: function () {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      stuId: wx.getStorageSync('stuId'),
 | 
					 | 
				
			||||||
      name: wx.getStorageSync('name')
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
    if (wx.getStorageSync("state") == this.formatDate(new Date())) {
 | 
					 | 
				
			||||||
      this.setData({
 | 
					 | 
				
			||||||
        isHealth: 1
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      this.setData({
 | 
					 | 
				
			||||||
        isHealth: 0
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    wx.showLoading({
 | 
					 | 
				
			||||||
      title: '请稍候'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/code/showCode`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        stuId: this.data.stuId,
 | 
					 | 
				
			||||||
        name: this.data.name,
 | 
					 | 
				
			||||||
        isHealth: this.data.isHealth
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: (data) => {
 | 
					 | 
				
			||||||
        console.log(data)
 | 
					 | 
				
			||||||
        this.setData({
 | 
					 | 
				
			||||||
          imgUrl: '../../img/greenCode.png'
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        wx.hideLoading()
 | 
					 | 
				
			||||||
        wx.showToast({
 | 
					 | 
				
			||||||
          title: '加载成功',
 | 
					 | 
				
			||||||
          icon: 'none',
 | 
					 | 
				
			||||||
          duration: 800
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        setInterval(() => {
 | 
					 | 
				
			||||||
          var time = util.formatTime(new Date())
 | 
					 | 
				
			||||||
          //为页面中time赋值
 | 
					 | 
				
			||||||
          this.setData({
 | 
					 | 
				
			||||||
            time: time
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        }, 1000);
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      fail: (error) => {
 | 
					 | 
				
			||||||
        console.log(error)
 | 
					 | 
				
			||||||
        wx.hideLoading()
 | 
					 | 
				
			||||||
        wx.showModal({
 | 
					 | 
				
			||||||
          title: '加载失败',
 | 
					 | 
				
			||||||
          showCancel: false
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  formatDate: function (date) {
 | 
					 | 
				
			||||||
    let year = date.getFullYear()
 | 
					 | 
				
			||||||
    let month = date.getMonth() + 1
 | 
					 | 
				
			||||||
    month = month.toString()
 | 
					 | 
				
			||||||
    month[1] ? month = month : month = '0' + month
 | 
					 | 
				
			||||||
    let day = date.getDate()
 | 
					 | 
				
			||||||
    day = day.toString()
 | 
					 | 
				
			||||||
    day[1] ? day = day : day = '0' + day
 | 
					 | 
				
			||||||
    return year + "-" + month + "-" + day
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,5 +0,0 @@
 | 
				
			|||||||
<view style="text-align: center;margin-top: 100px;">
 | 
					 | 
				
			||||||
  <view><text>{{stuId}} {{name}}</text></view>
 | 
					 | 
				
			||||||
  <image id="qrcode" src="{{imgUrl}}"></image>
 | 
					 | 
				
			||||||
  <view><text class="time-text">{{time}}</text></view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
/* pages/home/code.wxss */
 | 
					 | 
				
			||||||
.time-text {
 | 
					 | 
				
			||||||
    font-weight: bold;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#qrcode {
 | 
					 | 
				
			||||||
    width: 70vw;
 | 
					 | 
				
			||||||
    height: 70vw;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,90 +0,0 @@
 | 
				
			|||||||
var QR = require("../../../lib/qrcode.js");
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 页面的初始数据
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    data: {
 | 
					 | 
				
			||||||
		canvasHidden: false,
 | 
					 | 
				
			||||||
		imagePath: '',
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 生命周期函数--监听页面加载
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    onLoad: function(options) {
 | 
					 | 
				
			||||||
	    //option为上个页面传递过来的参数
 | 
					 | 
				
			||||||
		var jiaoyanCode = 'sorry,jiaoyanCode is loss';
 | 
					 | 
				
			||||||
	//	if (options) {
 | 
					 | 
				
			||||||
	//		jiaoyanCode = options.jiaoyanCode;
 | 
					 | 
				
			||||||
	//	}
 | 
					 | 
				
			||||||
		console.log(jiaoyanCode);
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		var size = this.setCanvasSize(); //动态设置画布大小	
 | 
					 | 
				
			||||||
		this.createQrCode(jiaoyanCode, "mycanvas", size.w, size.h);		
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
    //适配不同屏幕大小的canvas
 | 
					 | 
				
			||||||
    setCanvasSize: function() {
 | 
					 | 
				
			||||||
        var size = {};
 | 
					 | 
				
			||||||
        try {
 | 
					 | 
				
			||||||
            var res = wx.getSystemInfoSync();
 | 
					 | 
				
			||||||
            var scale = 750 / 686; //不同屏幕下canvas的适配比例;设计稿是750宽  686是因为样式wxss文件中设置的大小
 | 
					 | 
				
			||||||
            var width = res.windowWidth / scale;
 | 
					 | 
				
			||||||
            var height = width; //canvas画布为正方形
 | 
					 | 
				
			||||||
            size.w = width;
 | 
					 | 
				
			||||||
            size.h = height;
 | 
					 | 
				
			||||||
        } catch (e) {
 | 
					 | 
				
			||||||
            // Do something when catch error
 | 
					 | 
				
			||||||
            console.log("获取设备信息失败" + e);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        return size;
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 绘制二维码图片
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    createQrCode: function(url, canvasId, cavW, cavH) {
 | 
					 | 
				
			||||||
        //调用插件中的draw方法,绘制二维码图片
 | 
					 | 
				
			||||||
        QR.api.draw(url, canvasId, cavW, cavH);
 | 
					 | 
				
			||||||
        setTimeout(() => {
 | 
					 | 
				
			||||||
            this.canvasToTempImage(canvasId);
 | 
					 | 
				
			||||||
        }, 1000);
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
	 * 获取临时缓存照片路径,存入data中
 | 
					 | 
				
			||||||
	 */
 | 
					 | 
				
			||||||
    canvasToTempImage: function() {
 | 
					 | 
				
			||||||
        var that = this;
 | 
					 | 
				
			||||||
		//把当前画布指定区域的内容导出生成指定大小的图片,并返回文件路径。
 | 
					 | 
				
			||||||
        wx.canvasToTempFilePath({
 | 
					 | 
				
			||||||
            canvasId: 'mycanvas',
 | 
					 | 
				
			||||||
            success: function(res) {
 | 
					 | 
				
			||||||
                var tempFilePath = res.tempFilePath;
 | 
					 | 
				
			||||||
                console.log(tempFilePath);
 | 
					 | 
				
			||||||
                that.setData({
 | 
					 | 
				
			||||||
                    imagePath: tempFilePath,
 | 
					 | 
				
			||||||
                    // canvasHidden:true
 | 
					 | 
				
			||||||
                });
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            fail: function(res) {
 | 
					 | 
				
			||||||
                console.log(res);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
	/**
 | 
					 | 
				
			||||||
	 * 点击图片进行预览
 | 
					 | 
				
			||||||
	 */
 | 
					 | 
				
			||||||
	previewImg: function (e) {
 | 
					 | 
				
			||||||
		var img = this.data.imagePath;
 | 
					 | 
				
			||||||
		console.log(img);
 | 
					 | 
				
			||||||
		wx.previewImage({
 | 
					 | 
				
			||||||
			current: img, // 当前显示图片的http链接
 | 
					 | 
				
			||||||
			urls: [img] // 需要预览的图片http链接列表
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
<view class='container'>
 | 
					 | 
				
			||||||
    <image bindtap="previewImg" mode="scaleToFill" src="{{imagePath}}"></image>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
<!-- 画布,用来画二维码,只用来站位,不用来显示-->
 | 
					 | 
				
			||||||
<view class="canvas-box">
 | 
					 | 
				
			||||||
    <canvas hidden="{{canvasHidden}}" style="width: 686rpx;height: 686rpx;background:#f1f1f1;" canvas-id="mycanvas" />
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,20 +0,0 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
.container {
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
width: 100%;
 | 
					 | 
				
			||||||
height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.container image {
 | 
					 | 
				
			||||||
  width: 686rpx;
 | 
					 | 
				
			||||||
  height: 686rpx;
 | 
					 | 
				
			||||||
  background-color: #f9f9f9;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.canvas-box {
 | 
					 | 
				
			||||||
  position: fixed;
 | 
					 | 
				
			||||||
  top: 999999rpx;
 | 
					 | 
				
			||||||
  left: 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,164 +0,0 @@
 | 
				
			|||||||
const app = getApp()
 | 
					 | 
				
			||||||
const baseUrl = app.globalData.baseUrl
 | 
					 | 
				
			||||||
// console.log("baseUrl", baseUrl)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面的初始数据
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    isManager: false,
 | 
					 | 
				
			||||||
    isStudent: false,
 | 
					 | 
				
			||||||
    notice: ''
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  goWebPage: function (event) {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../webPage/' + event.target.dataset.web,
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  toRedList: function (event) {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../other/redList'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goCode: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../other/redList2'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goCount: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../person/count'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goNotice: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../notice/notice'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goVisitor: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../visitor/visitorReplay'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goFeedback: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../other/feedback'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goFeedbackReplay: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../other/feedbackReplay'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  goApply: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../apply/myapply'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goApplyReplay: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../apply/applyReplay'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goUpdPwd: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../other/password'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goKf: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../person/issues'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  goReport: function () {
 | 
					 | 
				
			||||||
    wx.switchTab({
 | 
					 | 
				
			||||||
      url: '../report/report'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面加载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onLoad: function (options) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面初次渲染完成
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReady: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面显示
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShow: function () {
 | 
					 | 
				
			||||||
    if (!wx.getStorageSync("username")) {
 | 
					 | 
				
			||||||
      wx.navigateTo({
 | 
					 | 
				
			||||||
        url: '../login/login'
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (wx.getStorageSync("role") == 2) {
 | 
					 | 
				
			||||||
      this.setData({
 | 
					 | 
				
			||||||
        isManager: false,
 | 
					 | 
				
			||||||
        isStudent: true,
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    } else if (wx.getStorageSync("role") == 1) {
 | 
					 | 
				
			||||||
      this.setData({
 | 
					 | 
				
			||||||
        isManager: true,
 | 
					 | 
				
			||||||
        isStudent: false,
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    var that = this;
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/notice/noticeList`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        limit: 3
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        that.setData({
 | 
					 | 
				
			||||||
          notice: d.data.data
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面隐藏
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onHide: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面卸载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onUnload: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面相关事件处理函数--监听用户下拉动作
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onPullDownRefresh: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面上拉触底事件的处理函数
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReachBottom: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 用户点击右上角分享
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShareAppMessage: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,97 +0,0 @@
 | 
				
			|||||||
<!--pages/home/home.wxml-->
 | 
					 | 
				
			||||||
<view style="background-color: #F6F6F6;height: 100%;">
 | 
					 | 
				
			||||||
  <image src="../../img/home.jpg" style="width: 100%;height: 130px;"></image>
 | 
					 | 
				
			||||||
  <view style="display: block;" wx:if="{{isManager}}">
 | 
					 | 
				
			||||||
    <view style="display: flex;text-align: center;margin-top: 20px;">
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/logo.png" style="width: 40px;height: 40px;" data-web="schoolWeb" bindtap='goWebPage'></image>
 | 
					 | 
				
			||||||
        <view>学校官网</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/danger.png" style="width: 40px;height: 40px;" bindtap='goCode'></image>
 | 
					 | 
				
			||||||
        <view>不健康人员</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/feedback.png" style="width: 40px;height: 40px;" bindtap='goFeedbackReplay'></image>
 | 
					 | 
				
			||||||
        <view>反馈回复</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/apply.png" style="width: 40px;height: 40px;" bindtap='goApplyReplay'></image>
 | 
					 | 
				
			||||||
        <view>申请审批</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
    <view style="display: flex;text-align: center;margin-top: 20px;">
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/gg.png" style="width: 40px;height: 40px;" data-web="xgPage" bindtap='goNotice'></image>
 | 
					 | 
				
			||||||
        <view>公告发布</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/visitor.png" style="width: 40px;height: 40px;" bindtap="goVisitor"></image>
 | 
					 | 
				
			||||||
        <view>访客审批</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/count.png" style="width: 40px;height: 40px;" bindtap='goCount'></image>
 | 
					 | 
				
			||||||
        <view>分配账号</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/_report.png" style="width: 40px;height: 40px;" bindtap='toRedList'></image>
 | 
					 | 
				
			||||||
        <view>今日未填</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
  <view style="display: block;" wx:if="{{isStudent}}">
 | 
					 | 
				
			||||||
    <view style="display: flex;text-align: center;margin-top: 20px;">
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/logo.png" style="width: 40px;height: 40px;" data-web="schoolWeb" bindtap='goWebPage'></image>
 | 
					 | 
				
			||||||
        <view>学校官网</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/code.png" style="width: 40px;height: 40px;" bindtap='goCode'></image>
 | 
					 | 
				
			||||||
        <view>进校码</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/feedback.png" style="width: 40px;height: 40px;" bindtap='goFeedback'></image>
 | 
					 | 
				
			||||||
        <view>反馈查看</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/apply.png" style="width: 40px;height: 40px;" bindtap='goApply'></image>
 | 
					 | 
				
			||||||
        <view>申请记录</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
    <view style="display: flex;text-align: center;margin-top: 20px;">
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/yq.png" style="width: 40px;height: 40px;" data-web="xgPage" bindtap='goWebPage'></image>
 | 
					 | 
				
			||||||
        <view>疫情追踪</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/report.png" style="width: 40px;height: 40px;" bindtap='goReport'></image>
 | 
					 | 
				
			||||||
        <view>今日日报</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/UpdPwd.png" style="width: 40px;height: 40px;" bindtap='goUpdPwd'></image>
 | 
					 | 
				
			||||||
        <view>密码修改</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <view style="width: 25%;">
 | 
					 | 
				
			||||||
        <image src="../../icon/fk.png" style="width: 40px;height: 40px;" bindtap='goKf'></image>
 | 
					 | 
				
			||||||
        <view>提交反馈</view>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
  <view style="background-color:white; border-radius: 50px;width: 30%;margin:10px;margin-top: 20px;">
 | 
					 | 
				
			||||||
    <view style="display: flex;">
 | 
					 | 
				
			||||||
      <image src="../../icon/notice.png" style="height: 30px;width: 30px;margin:5px"></image>
 | 
					 | 
				
			||||||
      <text style="margin-top: 7px;">系统公告</text>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
    <view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
    <view style="height: 200px;width: 350px;border: black solid 1px;margin-left: 12px;border-radius: 5%;">
 | 
					 | 
				
			||||||
    <view wx:for="{{notice}}">
 | 
					 | 
				
			||||||
      <view style="margin: 20px;">  {{item.title}} 
 | 
					 | 
				
			||||||
        <text class="noticeTime">{{item.time}}</text>
 | 
					 | 
				
			||||||
        <view class="line"></view> 
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
    </view>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
/* pages/home/home.wxss */
 | 
					 | 
				
			||||||
page{
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.line{
 | 
					 | 
				
			||||||
  width: 100%; 
 | 
					 | 
				
			||||||
  height: 1px; 
 | 
					 | 
				
			||||||
  background-color: #cccccc;
 | 
					 | 
				
			||||||
  margin-top: 10px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.noticeTime{
 | 
					 | 
				
			||||||
  float: right;
 | 
					 | 
				
			||||||
  font-size: small;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,48 +0,0 @@
 | 
				
			|||||||
// index.js
 | 
					 | 
				
			||||||
// 获取应用实例
 | 
					 | 
				
			||||||
const app = getApp()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    motto: 'Hello World',
 | 
					 | 
				
			||||||
    userInfo: {},
 | 
					 | 
				
			||||||
    hasUserInfo: false,
 | 
					 | 
				
			||||||
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
 | 
					 | 
				
			||||||
    canIUseGetUserProfile: false,
 | 
					 | 
				
			||||||
    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName') // 如需尝试获取用户信息可改为false
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  // 事件处理函数
 | 
					 | 
				
			||||||
  bindViewTap() {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../logs/logs'
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  onLoad() {
 | 
					 | 
				
			||||||
    if (wx.getUserProfile) {
 | 
					 | 
				
			||||||
      this.setData({
 | 
					 | 
				
			||||||
        canIUseGetUserProfile: true
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  getUserProfile(e) {
 | 
					 | 
				
			||||||
    // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
 | 
					 | 
				
			||||||
    wx.getUserProfile({
 | 
					 | 
				
			||||||
      desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
 | 
					 | 
				
			||||||
      success: (res) => {
 | 
					 | 
				
			||||||
        console.log(res)
 | 
					 | 
				
			||||||
        this.setData({
 | 
					 | 
				
			||||||
          userInfo: res.userInfo,
 | 
					 | 
				
			||||||
          hasUserInfo: true
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  getUserInfo(e) {
 | 
					 | 
				
			||||||
    // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
 | 
					 | 
				
			||||||
    console.log(e)
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      userInfo: e.detail.userInfo,
 | 
					 | 
				
			||||||
      hasUserInfo: true
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,23 +0,0 @@
 | 
				
			|||||||
<!--index.wxml-->
 | 
					 | 
				
			||||||
<view class="container">
 | 
					 | 
				
			||||||
  <view class="userinfo">
 | 
					 | 
				
			||||||
    <block wx:if="{{canIUseOpenData}}">
 | 
					 | 
				
			||||||
      <view class="userinfo-avatar" bindtap="bindViewTap">
 | 
					 | 
				
			||||||
        <open-data type="userAvatarUrl"></open-data>
 | 
					 | 
				
			||||||
      </view>
 | 
					 | 
				
			||||||
      <open-data type="userNickName"></open-data>
 | 
					 | 
				
			||||||
    </block>
 | 
					 | 
				
			||||||
    <block wx:elif="{{!hasUserInfo}}">
 | 
					 | 
				
			||||||
      <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
 | 
					 | 
				
			||||||
      <button wx:elif="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
 | 
					 | 
				
			||||||
      <view wx:else> 请使用1.4.4及以上版本基础库 </view>
 | 
					 | 
				
			||||||
    </block>
 | 
					 | 
				
			||||||
    <block wx:else>
 | 
					 | 
				
			||||||
      <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
 | 
					 | 
				
			||||||
      <text class="userinfo-nickname">{{userInfo.nickName}}</text>
 | 
					 | 
				
			||||||
    </block>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
  <view class="usermotto">
 | 
					 | 
				
			||||||
    <text class="user-motto">{{motto}}</text>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,19 +0,0 @@
 | 
				
			|||||||
/**index.wxss**/
 | 
					 | 
				
			||||||
.userinfo {
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  color: #aaa;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.userinfo-avatar {
 | 
					 | 
				
			||||||
  overflow: hidden;
 | 
					 | 
				
			||||||
  width: 128rpx;
 | 
					 | 
				
			||||||
  height: 128rpx;
 | 
					 | 
				
			||||||
  margin: 20rpx;
 | 
					 | 
				
			||||||
  border-radius: 50%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.usermotto {
 | 
					 | 
				
			||||||
  margin-top: 200px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,79 +0,0 @@
 | 
				
			|||||||
const app = getApp()
 | 
					 | 
				
			||||||
const baseUrl = app.globalData.baseUrl
 | 
					 | 
				
			||||||
// console.log("baseUrl", baseUrl)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    username: '',
 | 
					 | 
				
			||||||
    password: ''
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // 获取输入账号
 | 
					 | 
				
			||||||
  usernameInput: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      username: e.detail.value
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // 获取输入密码
 | 
					 | 
				
			||||||
  passwordInput: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      password: e.detail.value
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // 登录
 | 
					 | 
				
			||||||
  login: function () {
 | 
					 | 
				
			||||||
    var username = this.data.username
 | 
					 | 
				
			||||||
    var password = this.data.password
 | 
					 | 
				
			||||||
    if (username == '' || password == '') {
 | 
					 | 
				
			||||||
      wx.showToast({
 | 
					 | 
				
			||||||
        title: "请完善登录信息",
 | 
					 | 
				
			||||||
        icon: 'error',
 | 
					 | 
				
			||||||
        duration: 2000
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      wx.request({
 | 
					 | 
				
			||||||
        url: `${baseUrl}/user/login`,
 | 
					 | 
				
			||||||
        data: {
 | 
					 | 
				
			||||||
          username: this.data.username,
 | 
					 | 
				
			||||||
          password: this.data.password,
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        success: function (d) {
 | 
					 | 
				
			||||||
          if (d.data.msg == "成功") {
 | 
					 | 
				
			||||||
            wx.setStorageSync("username", username);
 | 
					 | 
				
			||||||
            if (d.data.data.stu_id) {
 | 
					 | 
				
			||||||
              wx.setStorageSync("stuId", d.data.data.stu_id);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            wx.setStorageSync("id", d.data.data.id);
 | 
					 | 
				
			||||||
            wx.setStorageSync("name", d.data.data.name);
 | 
					 | 
				
			||||||
            wx.setStorageSync("role", d.data.data.role);
 | 
					 | 
				
			||||||
            wx.setStorageSync("state", d.data.data.state)
 | 
					 | 
				
			||||||
            wx.showToast({
 | 
					 | 
				
			||||||
              title: "登录成功",
 | 
					 | 
				
			||||||
              icon: 'success',
 | 
					 | 
				
			||||||
              success: function () {
 | 
					 | 
				
			||||||
                wx.switchTab({
 | 
					 | 
				
			||||||
                  url: '../home/home'
 | 
					 | 
				
			||||||
                })
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            })
 | 
					 | 
				
			||||||
          } else {
 | 
					 | 
				
			||||||
            wx.showToast({
 | 
					 | 
				
			||||||
              title: d.data.msg,
 | 
					 | 
				
			||||||
              icon: 'error',
 | 
					 | 
				
			||||||
              duration: 2000
 | 
					 | 
				
			||||||
            })
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  visitor: function () {
 | 
					 | 
				
			||||||
    wx.navigateTo({
 | 
					 | 
				
			||||||
      url: '../visitor/visitor',
 | 
					 | 
				
			||||||
      success: function () { }, //成功后的回调;
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,27 +0,0 @@
 | 
				
			|||||||
<!--pages/login/login.wxml-->
 | 
					 | 
				
			||||||
<view class="container">
 | 
					 | 
				
			||||||
	<view class="login-icon">
 | 
					 | 
				
			||||||
		<image class="login-img" src="../../icon/login-background.svg"></image>
 | 
					 | 
				
			||||||
	</view>
 | 
					 | 
				
			||||||
	<view class="login-from">
 | 
					 | 
				
			||||||
		<!--账号-->
 | 
					 | 
				
			||||||
		<view class="inputView">
 | 
					 | 
				
			||||||
			<image class="nameImage" src="../../icon/username.png"></image>
 | 
					 | 
				
			||||||
			<input class="inputText" placeholder="账号" bindinput="usernameInput" />
 | 
					 | 
				
			||||||
		</view>
 | 
					 | 
				
			||||||
		<view class="line"></view>
 | 
					 | 
				
			||||||
		<!--密码-->
 | 
					 | 
				
			||||||
		<view class="inputView" style="margin-top:30px;">
 | 
					 | 
				
			||||||
			<image class="keyImage" src="../../icon/password.png"></image>
 | 
					 | 
				
			||||||
			<input class="inputText" password="true" placeholder="密码" bindinput="passwordInput" />
 | 
					 | 
				
			||||||
		</view>
 | 
					 | 
				
			||||||
		<view class="line"></view>
 | 
					 | 
				
			||||||
		<!--按钮-->
 | 
					 | 
				
			||||||
		<view class="loginBtnView" style="margin-top: 30px;">
 | 
					 | 
				
			||||||
			<button class="loginBtn" type="primary" bindtap="login">登录</button>
 | 
					 | 
				
			||||||
		</view>
 | 
					 | 
				
			||||||
		<view class="loginBtnView">
 | 
					 | 
				
			||||||
			<button class="loginBtn" type="primary" bindtap="visitor">访客申请</button>
 | 
					 | 
				
			||||||
		</view>
 | 
					 | 
				
			||||||
	</view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,79 +0,0 @@
 | 
				
			|||||||
page {
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.container {
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
  box-sizing: border-box;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*登录图片*/
 | 
					 | 
				
			||||||
.login-icon {
 | 
					 | 
				
			||||||
  flex: none;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.login-img {
 | 
					 | 
				
			||||||
  margin-top: 50px;
 | 
					 | 
				
			||||||
  width: 450rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*表单内容*/
 | 
					 | 
				
			||||||
.login-from {
 | 
					 | 
				
			||||||
  margin-top: 20px;
 | 
					 | 
				
			||||||
  flex: auto;
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.inputView {
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  line-height: 44px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*输入框*/
 | 
					 | 
				
			||||||
.nameImage,
 | 
					 | 
				
			||||||
.keyImage {
 | 
					 | 
				
			||||||
  margin-left: 22px;
 | 
					 | 
				
			||||||
  margin-right: 8px;
 | 
					 | 
				
			||||||
  width: 14px;
 | 
					 | 
				
			||||||
  height: 14px;
 | 
					 | 
				
			||||||
  vertical-align: middle;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.loginLab {
 | 
					 | 
				
			||||||
  margin: 15px 15px 15px 10px;
 | 
					 | 
				
			||||||
  color: #545454;
 | 
					 | 
				
			||||||
  font-size: 14px
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.inputText {
 | 
					 | 
				
			||||||
  flex: block;
 | 
					 | 
				
			||||||
  float: right;
 | 
					 | 
				
			||||||
  margin-right: 22px;
 | 
					 | 
				
			||||||
  margin-top: 11px;
 | 
					 | 
				
			||||||
  color: #cccccc;
 | 
					 | 
				
			||||||
  font-size: 14px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.line {
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  height: 1px;
 | 
					 | 
				
			||||||
  background-color: #cccccc;
 | 
					 | 
				
			||||||
  margin-top: 1px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*按钮*/
 | 
					 | 
				
			||||||
.loginBtnView {
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  height: auto;
 | 
					 | 
				
			||||||
  margin-top: 0px;
 | 
					 | 
				
			||||||
  margin-bottom: 0px;
 | 
					 | 
				
			||||||
  padding-bottom: 0px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.loginBtn {
 | 
					 | 
				
			||||||
  width: 80%;
 | 
					 | 
				
			||||||
  margin-top: 10px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,18 +0,0 @@
 | 
				
			|||||||
// logs.js
 | 
					 | 
				
			||||||
const util = require('../../utils/util.js')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    logs: []
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  onLoad() {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      logs: (wx.getStorageSync('logs') || []).map(log => {
 | 
					 | 
				
			||||||
        return {
 | 
					 | 
				
			||||||
          date: util.formatTime(new Date(log)),
 | 
					 | 
				
			||||||
          timeStamp: log
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "navigationBarTitleText": "查看启动日志",
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,6 +0,0 @@
 | 
				
			|||||||
<!--logs.wxml-->
 | 
					 | 
				
			||||||
<view class="container log-list">
 | 
					 | 
				
			||||||
  <block wx:for="{{logs}}" wx:key="timeStamp" wx:for-item="log">
 | 
					 | 
				
			||||||
    <text class="log-item">{{index + 1}}. {{log.date}}</text>
 | 
					 | 
				
			||||||
  </block>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
.log-list {
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  padding: 40rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.log-item {
 | 
					 | 
				
			||||||
  margin: 10rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,65 +0,0 @@
 | 
				
			|||||||
//issues.js
 | 
					 | 
				
			||||||
//获取应用实例
 | 
					 | 
				
			||||||
const app = getApp()
 | 
					 | 
				
			||||||
const baseUrl = app.globalData.baseUrl
 | 
					 | 
				
			||||||
// console.log("baseUrl", baseUrl)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var util = require('../../utils/util')
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    title: '',
 | 
					 | 
				
			||||||
    content: '',
 | 
					 | 
				
			||||||
    time: ''
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  titleInput: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      title: e.detail.value
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  contentInput: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      content: e.detail.value
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  submit: function () {
 | 
					 | 
				
			||||||
    var TIME = util.formatTime(new Date());
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/notice/addNotice`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        title: this.data.title,
 | 
					 | 
				
			||||||
        content: this.data.content,
 | 
					 | 
				
			||||||
        time: TIME,
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        if (d.data != "提交失败") {
 | 
					 | 
				
			||||||
          wx.showToast({
 | 
					 | 
				
			||||||
            title: d.data,
 | 
					 | 
				
			||||||
            icon: 'success',
 | 
					 | 
				
			||||||
            duration: 2000,
 | 
					 | 
				
			||||||
            success: function () {
 | 
					 | 
				
			||||||
              setTimeout(function () {
 | 
					 | 
				
			||||||
                wx.switchTab({
 | 
					 | 
				
			||||||
                  url: '../home/home'
 | 
					 | 
				
			||||||
                })
 | 
					 | 
				
			||||||
              }, 2000);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
          wx.showToast({
 | 
					 | 
				
			||||||
            title: d.data,
 | 
					 | 
				
			||||||
            icon: 'error',
 | 
					 | 
				
			||||||
            duration: 2000
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  onLoad: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
});
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,10 +0,0 @@
 | 
				
			|||||||
<!--issues.wxml-->
 | 
					 | 
				
			||||||
<view class="perason">
 | 
					 | 
				
			||||||
  <view class="issues-panel">
 | 
					 | 
				
			||||||
    <input class="issues-input" placeholder="请输入标题" bindinput="titleInput" />
 | 
					 | 
				
			||||||
    <textarea class="issues-textarea" placeholder="请输入内容" bindinput="contentInput" auto-height></textarea>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
  <view class="submit-btn" bindtap="submit">
 | 
					 | 
				
			||||||
    <text>发布公告</text>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,113 +0,0 @@
 | 
				
			|||||||
/**issuse.wxss**/
 | 
					 | 
				
			||||||
.perason{
 | 
					 | 
				
			||||||
  background-color: #f6f6f6;
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
  padding-top: 30rpx;
 | 
					 | 
				
			||||||
  font-size: 11pt;
 | 
					 | 
				
			||||||
  box-sizing: border-box;
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  min-height: 100%;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  padding-bottom: 100rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-label{
 | 
					 | 
				
			||||||
  font-size: 10pt;
 | 
					 | 
				
			||||||
  line-height: 100%;
 | 
					 | 
				
			||||||
  color: #999;
 | 
					 | 
				
			||||||
  margin: 25rpx 20rpx 15rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-panel{
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  align-items: stretch;
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  border-top: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-img-panel{
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-wrap: wrap;
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  border-top: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  padding: 15rpx 25rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-input{
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  padding: 15rpx 25rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-textarea{
 | 
					 | 
				
			||||||
  padding: 25rpx;
 | 
					 | 
				
			||||||
  min-height: 225rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item {
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  color: #888;
 | 
					 | 
				
			||||||
  margin: 20rpx;
 | 
					 | 
				
			||||||
  margin-right: 0;
 | 
					 | 
				
			||||||
  width: 135rpx;
 | 
					 | 
				
			||||||
  height: 135rpx;
 | 
					 | 
				
			||||||
  border: 1rpx solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-radius: 5rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item:active{
 | 
					 | 
				
			||||||
  opacity: .8;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item .remind-img{
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item image{
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo:active {
 | 
					 | 
				
			||||||
  background: #f0f0f0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::before, .add-photo::after{
 | 
					 | 
				
			||||||
  content: '';
 | 
					 | 
				
			||||||
  position: absolute;
 | 
					 | 
				
			||||||
  top: 50%;
 | 
					 | 
				
			||||||
  left: 50%;
 | 
					 | 
				
			||||||
  background: #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo:active::before, .add-photo:active::after{
 | 
					 | 
				
			||||||
  background: #ddd;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::before {
 | 
					 | 
				
			||||||
  width: 10rpx;
 | 
					 | 
				
			||||||
  height: 80rpx;
 | 
					 | 
				
			||||||
  margin-top: -40rpx;
 | 
					 | 
				
			||||||
  margin-left: -5rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::after {
 | 
					 | 
				
			||||||
  width: 80rpx;
 | 
					 | 
				
			||||||
  height: 10rpx;
 | 
					 | 
				
			||||||
  margin-top: -5rpx;
 | 
					 | 
				
			||||||
  margin-left: -40rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-remind {
 | 
					 | 
				
			||||||
  flex: 1;
 | 
					 | 
				
			||||||
  font-size: 9pt;
 | 
					 | 
				
			||||||
  line-height: 135%;
 | 
					 | 
				
			||||||
  color: #ccc;
 | 
					 | 
				
			||||||
  padding: 0 30rpx;
 | 
					 | 
				
			||||||
  word-break: break-all;
 | 
					 | 
				
			||||||
  text-indent: 1em;
 | 
					 | 
				
			||||||
  padding-top: 30rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.submit-btn {
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  margin: 40rpx 3%;
 | 
					 | 
				
			||||||
  height: 80rpx;
 | 
					 | 
				
			||||||
  border-radius: 3px;
 | 
					 | 
				
			||||||
  text-align: center;
 | 
					 | 
				
			||||||
  background-color: #FF8966;
 | 
					 | 
				
			||||||
  color: #fff;
 | 
					 | 
				
			||||||
  font-size: 12pt;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,66 +0,0 @@
 | 
				
			|||||||
// pages/other/about.js
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面的初始数据
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面加载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onLoad: function (options) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面初次渲染完成
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReady: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面显示
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShow: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面隐藏
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onHide: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面卸载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onUnload: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面相关事件处理函数--监听用户下拉动作
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onPullDownRefresh: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面上拉触底事件的处理函数
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReachBottom: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 用户点击右上角分享
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShareAppMessage: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,2 +0,0 @@
 | 
				
			|||||||
<!--pages/other/about.wxml-->
 | 
					 | 
				
			||||||
<image src="../../img/about.png" class='imagesize'> </image>
 | 
					 | 
				
			||||||
@@ -1,11 +0,0 @@
 | 
				
			|||||||
/* pages/other/about.wxss */
 | 
					 | 
				
			||||||
page{
 | 
					 | 
				
			||||||
  height:100%
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.imagesize{
 | 
					 | 
				
			||||||
display:flex;
 | 
					 | 
				
			||||||
height: 100%;
 | 
					 | 
				
			||||||
width: 100%;
 | 
					 | 
				
			||||||
justify-content: center;
 | 
					 | 
				
			||||||
align-items:center;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,85 +0,0 @@
 | 
				
			|||||||
const app = getApp()
 | 
					 | 
				
			||||||
const baseUrl = app.globalData.baseUrl
 | 
					 | 
				
			||||||
// console.log("baseUrl", baseUrl)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面的初始数据
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    feedbackList: '',
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面加载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onLoad: function (options) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面初次渲染完成
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReady: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面显示
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShow: function () {
 | 
					 | 
				
			||||||
    var that = this;
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/other/feedbackList`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        id: wx.getStorageSync('id')
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        for (const iterator of d.data.data) {
 | 
					 | 
				
			||||||
          if (!iterator.reply) {
 | 
					 | 
				
			||||||
            iterator.reply = "暂无"
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        that.setData({
 | 
					 | 
				
			||||||
          feedbackList: d.data.data
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面隐藏
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onHide: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面卸载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onUnload: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面相关事件处理函数--监听用户下拉动作
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onPullDownRefresh: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面上拉触底事件的处理函数
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReachBottom: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 用户点击右上角分享
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShareAppMessage: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "usingComponents": {}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
<!--pages/other/feedback.wxml-->
 | 
					 | 
				
			||||||
<view class="perason">
 | 
					 | 
				
			||||||
  <h2 class="weui-form__title" style="text-align: center;padding-top: 20px;">我的反馈</h2>
 | 
					 | 
				
			||||||
  <view class="issues-panel" wx:for="{{feedbackList}}">
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="titleInput" disabled="true">标题:{{item.title}}</view>
 | 
					 | 
				
			||||||
    <textarea class="issues-textarea" bindinput="contentInput" auto-height disabled="true">内容:{{item.content}}</textarea>
 | 
					 | 
				
			||||||
    <view class="issues-input" bindinput="titleInput" disabled="true">管理员回复:{{item.reply}}</view>
 | 
					 | 
				
			||||||
  </view>
 | 
					 | 
				
			||||||
</view>
 | 
					 | 
				
			||||||
@@ -1,115 +0,0 @@
 | 
				
			|||||||
/**issuse.wxss**/
 | 
					 | 
				
			||||||
.perason{
 | 
					 | 
				
			||||||
  background-color: #f6f6f6;
 | 
					 | 
				
			||||||
  padding: 30rpx;
 | 
					 | 
				
			||||||
  padding-top: 0;
 | 
					 | 
				
			||||||
  font-size: 11pt;
 | 
					 | 
				
			||||||
  box-sizing: border-box;
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  min-height: 100%;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  padding-bottom: 100rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-label{
 | 
					 | 
				
			||||||
  font-size: 10pt;
 | 
					 | 
				
			||||||
  line-height: 100%;
 | 
					 | 
				
			||||||
  color: #999;
 | 
					 | 
				
			||||||
  margin: 25rpx 20rpx 15rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-panel{
 | 
					 | 
				
			||||||
  margin-top: 30px;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-direction: column;
 | 
					 | 
				
			||||||
  align-items: stretch;
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  border-top: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-img-panel{
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  flex-wrap: wrap;
 | 
					 | 
				
			||||||
  background-color: #fff;
 | 
					 | 
				
			||||||
  border-top: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  padding: 15rpx 25rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-input{
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
  padding: 15rpx 25rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-textarea{
 | 
					 | 
				
			||||||
  padding: 25rpx;
 | 
					 | 
				
			||||||
  min-height: 225rpx;
 | 
					 | 
				
			||||||
  border-bottom: 1px solid #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item {
 | 
					 | 
				
			||||||
  position: relative;
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  color: #888;
 | 
					 | 
				
			||||||
  margin: 20rpx;
 | 
					 | 
				
			||||||
  margin-right: 0;
 | 
					 | 
				
			||||||
  width: 135rpx;
 | 
					 | 
				
			||||||
  height: 135rpx;
 | 
					 | 
				
			||||||
  border: 1rpx solid #e5e5e5;
 | 
					 | 
				
			||||||
  border-radius: 5rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item:active{
 | 
					 | 
				
			||||||
  opacity: .8;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item .remind-img{
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-photo-item image{
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo:active {
 | 
					 | 
				
			||||||
  background: #f0f0f0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::before, .add-photo::after{
 | 
					 | 
				
			||||||
  content: '';
 | 
					 | 
				
			||||||
  position: absolute;
 | 
					 | 
				
			||||||
  top: 50%;
 | 
					 | 
				
			||||||
  left: 50%;
 | 
					 | 
				
			||||||
  background: #e5e5e5;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo:active::before, .add-photo:active::after{
 | 
					 | 
				
			||||||
  background: #ddd;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::before {
 | 
					 | 
				
			||||||
  width: 10rpx;
 | 
					 | 
				
			||||||
  height: 80rpx;
 | 
					 | 
				
			||||||
  margin-top: -40rpx;
 | 
					 | 
				
			||||||
  margin-left: -5rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.add-photo::after {
 | 
					 | 
				
			||||||
  width: 80rpx;
 | 
					 | 
				
			||||||
  height: 10rpx;
 | 
					 | 
				
			||||||
  margin-top: -5rpx;
 | 
					 | 
				
			||||||
  margin-left: -40rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.issues-remind {
 | 
					 | 
				
			||||||
  flex: 1;
 | 
					 | 
				
			||||||
  font-size: 9pt;
 | 
					 | 
				
			||||||
  line-height: 135%;
 | 
					 | 
				
			||||||
  color: #ccc;
 | 
					 | 
				
			||||||
  padding: 0 30rpx;
 | 
					 | 
				
			||||||
  word-break: break-all;
 | 
					 | 
				
			||||||
  text-indent: 1em;
 | 
					 | 
				
			||||||
  padding-top: 30rpx;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.submit-btn {
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  margin: 40rpx 3%;
 | 
					 | 
				
			||||||
  height: 80rpx;
 | 
					 | 
				
			||||||
  border-radius: 3px;
 | 
					 | 
				
			||||||
  text-align: center;
 | 
					 | 
				
			||||||
  background-color: #FF8966;
 | 
					 | 
				
			||||||
  color: #fff;
 | 
					 | 
				
			||||||
  font-size: 12pt;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,112 +0,0 @@
 | 
				
			|||||||
// pages/other/feedback.js
 | 
					 | 
				
			||||||
Page({
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面的初始数据
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  data: {
 | 
					 | 
				
			||||||
    feedbackList: '',
 | 
					 | 
				
			||||||
    replay: [],
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面加载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onLoad: function (options) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面初次渲染完成
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReady: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  doReplay: function (e) {
 | 
					 | 
				
			||||||
    this.setData({
 | 
					 | 
				
			||||||
      replay: e.detail.value
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面显示
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShow: function () {
 | 
					 | 
				
			||||||
    var that = this;
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/other/feedbackListNoReplay`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        id: wx.getStorageSync('id')
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        for (const iterator of d.data.data) {
 | 
					 | 
				
			||||||
          if (!iterator.reply) {
 | 
					 | 
				
			||||||
            iterator.reply = ""
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        that.setData({
 | 
					 | 
				
			||||||
          feedbackList: d.data.data
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  replay: function (event) {
 | 
					 | 
				
			||||||
    var that = this
 | 
					 | 
				
			||||||
    console.log(event.target.dataset)
 | 
					 | 
				
			||||||
    wx.request({
 | 
					 | 
				
			||||||
      url: `${baseUrl}/other/feedbackReplay`,
 | 
					 | 
				
			||||||
      data: {
 | 
					 | 
				
			||||||
        id: event.target.dataset.id,
 | 
					 | 
				
			||||||
        replay: event.target.dataset.replay
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      success: function (d) {
 | 
					 | 
				
			||||||
        wx.showToast({
 | 
					 | 
				
			||||||
          title: d.data.msg,
 | 
					 | 
				
			||||||
          icon: 'success',
 | 
					 | 
				
			||||||
          duration: 2000,
 | 
					 | 
				
			||||||
          success: function () {
 | 
					 | 
				
			||||||
            that.setData({
 | 
					 | 
				
			||||||
              replay: ""
 | 
					 | 
				
			||||||
            })
 | 
					 | 
				
			||||||
            that.onShow()
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面隐藏
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onHide: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 生命周期函数--监听页面卸载
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onUnload: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面相关事件处理函数--监听用户下拉动作
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onPullDownRefresh: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 页面上拉触底事件的处理函数
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onReachBottom: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /**
 | 
					 | 
				
			||||||
   * 用户点击右上角分享
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  onShareAppMessage: function () {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||