diff --git a/FrontCode1/vue/package-lock.json b/FrontCode1/vue/package-lock.json
index f139c71..268cf94 100644
--- a/FrontCode1/vue/package-lock.json
+++ b/FrontCode1/vue/package-lock.json
@@ -1755,6 +1755,17 @@
"webpack-merge": "^4.2.2"
},
"dependencies": {
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646655305&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz",
+ "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
"debug": {
"version": "4.3.2",
"resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374648057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz",
@@ -1764,11 +1775,52 @@
"ms": "2.1.2"
}
},
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
+ "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
+ "dev": true,
+ "optional": true
+ },
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
+ "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1629910562433&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fms%2Fdownload%2Fms-2.1.2.tgz",
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
"dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz",
+ "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "vue-loader-v16": {
+ "version": "npm:vue-loader@16.5.0",
+ "resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.5.0.tgz?cache=0&sync_timestamp=1628666727543&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-loader%2Fdownload%2Fvue-loader-16.5.0.tgz",
+ "integrity": "sha1-CcTgcSRmiZ40uZpoZSTxkWX7KJI=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "hash-sum": "^2.0.0",
+ "loader-utils": "^2.0.0"
+ }
}
}
},
@@ -10336,60 +10388,6 @@
}
}
},
- "vue-loader-v16": {
- "version": "npm:vue-loader@16.5.0",
- "resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.5.0.tgz?cache=0&sync_timestamp=1628666727543&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-loader%2Fdownload%2Fvue-loader-16.5.0.tgz",
- "integrity": "sha1-CcTgcSRmiZ40uZpoZSTxkWX7KJI=",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^4.1.0",
- "hash-sum": "^2.0.0",
- "loader-utils": "^2.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646655305&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz",
- "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
- "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
- "dev": true,
- "optional": true
- },
- "loader-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
- "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
- "dev": true,
- "optional": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz",
- "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
- "dev": true,
- "optional": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
"vue-router": {
"version": "3.5.2",
"resolved": "https://registry.nlark.com/vue-router/download/vue-router-3.5.2.tgz?cache=0&sync_timestamp=1628495505697&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-3.5.2.tgz",
diff --git a/FrontCode1/vue/src/assets/01zhushuju_hangzhengquyu@3x.png b/FrontCode1/vue/src/assets/01zhushuju_hangzhengquyu@3x.png
new file mode 100644
index 0000000..61fc575
Binary files /dev/null and b/FrontCode1/vue/src/assets/01zhushuju_hangzhengquyu@3x.png differ
diff --git a/FrontCode1/vue/src/assets/918caidan_wenjian@3x.png b/FrontCode1/vue/src/assets/918caidan_wenjian@3x.png
new file mode 100644
index 0000000..bba6e89
Binary files /dev/null and b/FrontCode1/vue/src/assets/918caidan_wenjian@3x.png differ
diff --git a/FrontCode1/vue/src/assets/bumenguanli-3@3x.png b/FrontCode1/vue/src/assets/bumenguanli-3@3x.png
new file mode 100644
index 0000000..d609e93
Binary files /dev/null and b/FrontCode1/vue/src/assets/bumenguanli-3@3x.png differ
diff --git a/FrontCode1/vue/src/assets/style/flex.css b/FrontCode1/vue/src/assets/style/flex.css
index c088223..2cbd99c 100644
--- a/FrontCode1/vue/src/assets/style/flex.css
+++ b/FrontCode1/vue/src/assets/style/flex.css
@@ -1,4 +1,5 @@
.flex {
display: flex;
justify-content: space-between;
+ align-items: center;
}
\ No newline at end of file
diff --git a/FrontCode1/vue/src/assets/yanchurili@3x.png b/FrontCode1/vue/src/assets/yanchurili@3x.png
new file mode 100644
index 0000000..572a8f6
Binary files /dev/null and b/FrontCode1/vue/src/assets/yanchurili@3x.png differ
diff --git a/FrontCode1/vue/src/elementui/index.js b/FrontCode1/vue/src/elementui/index.js
index cdb90a8..9a65de6 100644
--- a/FrontCode1/vue/src/elementui/index.js
+++ b/FrontCode1/vue/src/elementui/index.js
@@ -1,7 +1,8 @@
import Vue from 'vue'
-import { Form, FormItem, Button } from 'element-ui'
+import { Form, FormItem, Button, Card } from 'element-ui'
Vue.use(Form)
Vue.use(FormItem)
-Vue.use(Button)
\ No newline at end of file
+Vue.use(Button)
+Vue.use(Card)
\ No newline at end of file
diff --git a/FrontCode1/vue/src/main.js b/FrontCode1/vue/src/main.js
index c59f16c..535e319 100644
--- a/FrontCode1/vue/src/main.js
+++ b/FrontCode1/vue/src/main.js
@@ -6,7 +6,7 @@ import '@/elementui'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import 'normalize.css/normalize.css'
-import '@/assets/style/global.css'
+// import '@/assets/style/global.css'
import '@/assets/style/flex.css'
Vue.use(ElementUI)
diff --git a/FrontCode1/vue/src/views/compensate.vue b/FrontCode1/vue/src/views/compensate.vue
index ef43b45..5181d0a 100644
--- a/FrontCode1/vue/src/views/compensate.vue
+++ b/FrontCode1/vue/src/views/compensate.vue
@@ -6,6 +6,7 @@
身份证号码:{{ this.source.idCard }}
@@ -57,13 +58,17 @@ export default {
text-align: center;
margin-top: 10px;
}
+ // 箭头
+ > :nth-child(3) {
+ text-align: center;
+ }
}
> :nth-child(2) {
padding: 10px;
background-color: #f5faff;
> :nth-child(1) {
border: 1px solid black;
- padding: 10px;
+ padding: 5px 10px;
background-color: #ffffff;
> :nth-child(1) {
display: flex;
diff --git a/FrontCode1/vue/src/views/login.vue b/FrontCode1/vue/src/views/login.vue
index f051772..a180db6 100644
--- a/FrontCode1/vue/src/views/login.vue
+++ b/FrontCode1/vue/src/views/login.vue
@@ -19,112 +19,134 @@
-
-
-
-
-
-
- 项目所在区域:{{
- this.source.region
- }}
-
- 征收部门:{{ this.source.section }}
-
- 所属年份:{{ this.source.date }}
-
- 征收决定号:{{
- this.source.number
- }}
-
-
-
-
-
-
-
-
-
- 评估报告编号:
- {{ this.source.bianhao }}
-
-
- 被征收房屋地址:
- {{ this.source.address }}
-
-
- 评估总金额:
- {{ this.source.totalMoney }}
-
-
-
-
-
-
-
-
-
-
-
- 协议编号:
- {{ this.source.bianhao }}
-
-
- 被征收房屋地址:
- {{ this.source.address }}
-
-
- 补偿方式:
- {{ this.source.style }}
-
-
- 合计补偿资金:
- {{ this.source.money }}
-
-
-
-
-
-
-
-
-
征收政策
-
-
-
宁波市住房和城乡建设委员会关于开展
-
-
- 发布时间:
- 2021-9-1
-
-
- 区域:
- 海曙区
-
-
-
-
+
+

+
+
+
+
+
+
+
+

+
+
曙光一村地块
+
+

+
+
+
+
+
+

+
项目所在区域:{{ this.source.region }}
+
+
+

+
征收部门:{{ this.source.section }}
+
+
+

+
所属年份:{{ this.source.date }}
+
+
+

+
征收决定号:{{
+ this.source.number
+ }}
+
+
+
+
+
+
+

+
+
分户评估结果
+
+

+
+
+
+
+
+
+ 评估报告编号:
+ {{ this.source.bianhao }}
+
+
+ 被征收房屋地址:
+ {{ this.source.address }}
+
+
+ 评估总金额:
+ {{ this.source.totalMoney }}
+
+
+
+
+
+
+
+
+

+
+
补偿协议
+
+

+
+
+
+
+
+
+ 协议编号:
+ {{ this.source.bianhao }}
+
+
+ 被征收房屋地址:
+ {{ this.source.address }}
+
+
+ 补偿方式:
+ {{ this.source.style }}
+
+
+ 合计补偿资金:
+ {{ this.source.money }}
+
+
+
+
+
+
+
+
+

+
+
+
+
征收政策
+
+
+ 宁波市住房和城乡建设委员会关于开展
+
+
+ 发布时间:
+ 2021-9-1
+
+
+ 区域:
+ 全大市
+
+
+
-
@@ -164,12 +186,10 @@ export default {
diff --git a/FrontCode2/sunshine_levy/src/assets/css/app.css b/FrontCode2/sunshine_levy/src/assets/css/app.css
new file mode 100644
index 0000000..57aede5
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/assets/css/app.css
@@ -0,0 +1,2397 @@
+/* #region 基础 */
+*,
+*::after,
+*::before {
+ box-sizing: border-box;
+}
+
+.code-notes {
+ font-family: 'Courier New';
+ font-size: 12px;
+ font-weight: normal;
+
+ color: #6a9955;
+}
+
+.code-notes::before {
+ margin-right: 5px;
+
+ content: '';
+}
+
+.zmdi {
+ vertical-align: middle;
+}
+
+/* #endregion */
+
+/* #region 内外边距 */
+.m-lg {
+ margin: 20px !important;
+}
+
+.m-md {
+ margin: 16px !important;
+}
+
+.m-sm {
+ margin: 12px !important;
+}
+
+.m-xs {
+ margin: 8px !important;
+}
+
+.p-lg {
+ padding: 20px !important;
+}
+
+.p-md {
+ padding: 16px !important;
+}
+
+.p-sm {
+ padding: 12px !important;
+}
+
+.p-xs {
+ padding: 8px !important;
+}
+
+.m-none {
+ margin: 0 !important;
+}
+
+.p-none {
+ padding: 0 !important;
+}
+
+.mt-lg {
+ margin-top: 20px !important;
+}
+
+.mt-md {
+ margin-top: 16px !important;
+}
+
+.mt-sm {
+ margin-top: 12px !important;
+}
+
+.mt-xs {
+ margin-top: 8px !important;
+}
+
+.pt-lg {
+ padding-top: 20px !important;
+}
+
+.pt-md {
+ padding-top: 16px !important;
+}
+
+.pt-sm {
+ padding-top: 12px !important;
+}
+
+.pt-xs {
+ padding-top: 8px !important;
+}
+
+.mt-none {
+ margin-top: 0 !important;
+}
+
+.pt-none {
+ padding-top: 0 !important;
+}
+
+.ml-lg {
+ margin-left: 20px !important;
+}
+
+.ml-md {
+ margin-left: 16px !important;
+}
+
+.ml-sm {
+ margin-left: 12px !important;
+}
+
+.ml-xs {
+ margin-left: 8px !important;
+}
+
+.pl-lg {
+ padding-left: 20px !important;
+}
+
+.pl-md {
+ padding-left: 16px !important;
+}
+
+.pl-sm {
+ padding-left: 12px !important;
+}
+
+.pl-xs {
+ padding-left: 8px !important;
+}
+
+.ml-none {
+ margin-left: 0 !important;
+}
+
+.pl-none {
+ padding-left: 0 !important;
+}
+
+.mr-lg {
+ margin-right: 20px !important;
+}
+
+.mr-md {
+ margin-right: 16px !important;
+}
+
+.mr-sm {
+ margin-right: 12px !important;
+}
+
+.mr-xs {
+ margin-right: 8px !important;
+}
+
+.pr-lg {
+ padding-right: 20px !important;
+}
+
+.pr-md {
+ padding-right: 16px !important;
+}
+
+.pr-sm {
+ padding-right: 12px !important;
+}
+
+.pr-xs {
+ padding-right: 8px !important;
+}
+
+.mr-none {
+ margin-right: 0 !important;
+}
+
+.pr-none {
+ padding-right: 0 !important;
+}
+
+.mb-lg {
+ margin-bottom: 20px !important;
+}
+
+.mb-md {
+ margin-bottom: 16px !important;
+}
+
+.mb-sm {
+ margin-bottom: 12px !important;
+}
+
+.mb-xs {
+ margin-bottom: 8px !important;
+}
+
+.pb-lg {
+ padding-bottom: 20px !important;
+}
+
+.pb-md {
+ padding-bottom: 16px !important;
+}
+
+.pb-sm {
+ padding-bottom: 12px !important;
+}
+
+.pb-xs {
+ padding-bottom: 8px !important;
+}
+
+.mb-none {
+ margin-bottom: 0 !important;
+}
+
+.pb-none {
+ padding-bottom: 0 !important;
+}
+
+/* #endregion */
+
+/* #region 工具类 */
+.sb-none {
+ position: sticky;
+ bottom: 0;
+}
+
+.inline-block {
+ display: inline-block;
+}
+
+.price-text {
+ font-size: 120%;
+ font-weight: bold;
+
+ color: #d93636;
+}
+
+.nowrap {
+ white-space: nowrap;
+}
+
+.text-left {
+ text-align: left !important;
+}
+
+.text-right {
+ text-align: right !important;
+}
+
+.text-center {
+ text-align: center !important;
+}
+
+.text-primary {
+ color: #07c160 !important;
+}
+
+.text-info {
+ color: #4a8df7 !important;
+}
+
+.text-danger {
+ color: #ee0a24 !important;
+}
+
+.text-warning {
+ color: #ff976a !important;
+}
+
+.text-gray {
+ color: gray !important;
+}
+
+.text-xl {
+ font-size: 16px !important;
+}
+
+.text-lg {
+ font-size: 14px !important;
+}
+
+.text-md {
+ font-size: 13px !important;
+}
+
+.text-sm {
+ font-size: 12px !important;
+}
+
+.text-xs {
+ font-size: 10px !important;
+}
+
+/* #endregion */
+
+/* #region 轻提示 */
+.van-toast {
+ border-radius: 2px;
+}
+
+/* #endregion */
+
+/* #region 弹出信息框 */
+.van-dialog {
+ border-radius: 2px;
+}
+
+/* #endregion */
+
+/* #region 按钮 */
+.van-button--primary {
+ background: linear-gradient(to bottom, #62de9e, #07c160);
+ box-shadow: 0 6px 12px rgba(17, 176, 51, .16);
+}
+
+.van-button--info {
+ border-color: #4a8df7;
+ background: linear-gradient(to bottom, #5a9ff2, #569af3, #5296f5, #4e91f6, #4a8df7, #4689f9, #4184fa, #3d7ffb, #397bfc, #3576fe, #3172ff);
+ box-shadow: 0 6px 12px rgba(17, 92, 176, .16);
+}
+
+.van-button--plain.van-button--info {
+ color: #4a8df7;
+}
+
+.van-button--danger {
+ background: linear-gradient(to bottom, #ef5769, #ee0a24);
+ box-shadow: 0 6px 12px rgba(176, 17, 38, .16);
+}
+
+.van-button--warning {
+ background: linear-gradient(to bottom, #ffb899, #ff976a);
+ box-shadow: 0 6px 12px rgba(255, 97, 35, .16);
+}
+
+.van-button--plain {
+ background: #fff;
+}
+
+.van-button--normal.van-button--round {
+ padding: 0 13px;
+}
+
+.van-button--small.van-button--round {
+ padding: 0 16px;
+}
+
+.van-button--mini.van-button--round {
+ padding: 0 8px;
+}
+
+.van-button--circle {
+ padding: 0;
+
+ border-radius: 50%;
+}
+
+.van-button--small.van-button--circle {
+ width: 32px;
+}
+
+/* #endregion */
+
+/* #region 控件边框覆盖 */
+[class*=van-hairline]::after {
+ border-color: #ddd;
+}
+
+.van-cell::after {
+ border-color: #ddd;
+}
+
+.van-nohairline--top::after {
+ border-top: 0;
+}
+
+.van-nohairline--bottom::after {
+ border-bottom: 0;
+}
+
+/* #endregion */
+
+/* #region 单元格&输入框 */
+.van-cell {
+ font-size: 13px;
+}
+
+.van-field__label {
+ width: 10em;
+
+ color: inherit;
+}
+
+/* #endregion */
+
+/* #region 单选框/多选框 */
+.van-radio__icon .van-icon,
+.van-checkbox__icon .van-icon {
+ position: relative;
+
+ border-radius: 2px;
+}
+
+.van-radio__icon .van-icon::before,
+.van-checkbox__icon .van-icon::before {
+ position: absolute;
+ top: 3px;
+ left: 3px;
+ right: 3px;
+ bottom: 3px;
+
+ content: '';
+ transition: .25s transform;
+ transform: scale(0);
+
+ background: linear-gradient(to bottom, #5a9ff2, #569af3, #5296f5, #4e91f6, #4a8df7, #4689f9, #4184fa, #3d7ffb, #397bfc, #3576fe, #3172ff);
+}
+
+.van-radio__icon--round .van-icon,
+.van-radio__icon--round .van-icon::before,
+.van-checkbox__icon--round .van-icon,
+.van-checkbox__icon--round .van-icon::before {
+ border-radius: 100%;
+}
+
+.van-radio__icon--checked .van-icon,
+.van-checkbox__icon--checked .van-icon {
+ border-width: 2px;
+ background-color: #fff;
+}
+
+.van-radio__icon--checked .van-icon::before,
+.van-checkbox__icon--checked .van-icon::before {
+ transform: scale(1);
+}
+
+/* #endregion */
+
+/* #region Swipe按钮 */
+.van-swipe-cell__left,
+.van-swipe-cell__right {
+ display: flex;
+ overflow: hidden;
+}
+
+.van-swipe-cell__left .van-button,
+.van-swipe-cell__right .van-button {
+ height: 100%;
+}
+
+.van-field__control--right .van-radio-group--horizontal,
+.van-field__control--right .van-checkbox-group--horizontal {
+ justify-content: flex-end;
+}
+
+/* #endregion */
+
+/* #region layout */
+.page {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 100%;
+ height: 100%;
+}
+
+.page-wrapper {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+
+ width: 100%;
+}
+
+.van-tabbar.van-tabbar--fixed~.page-wrapper {
+ bottom: 50px;
+}
+
+.page-nav {
+ padding-top: 30px;
+
+ background: url(../img/nav-bg.png) no-repeat center top;
+}
+
+.page-nav__fixed {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 10;
+
+ width: 100%;
+}
+
+.page-nav:not(.page-nav-clear) .van-nav-bar {
+ background: none;
+ /* background-size: 100% auto; */
+}
+
+.page-nav:not(.page-nav-clear) .van-nav-bar__title {
+ white-space: nowrap;
+
+ color: #fff;
+}
+
+.page-nav:not(.page-nav-clear) .van-nav-bar__text,
+.page-nav:not(.page-nav-clear) .van-nav-bar .van-icon {
+ color: rgba(255, 255, 255, .9);
+}
+
+.page-nav:not(.page-nav-clear) .van-nav-bar::after {
+ display: none;
+}
+
+.page-bottom-bar {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+
+ width: 100%;
+}
+
+.page-content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+.van-nav-bar~.page-content {
+ top: 46px;
+}
+
+.page-nav~.page-content {
+ top: 76px;
+}
+
+.page-bottom-bar~.page-content {
+ bottom: 50px;
+}
+
+.page-content-bg::before {
+ position: fixed;
+ top: 76px;
+ left: 0;
+ z-index: -1;
+
+ width: 100%;
+ height: 100px;
+
+ content: '';
+ pointer-events: none;
+
+ background: url(../img/nav-bg.png) no-repeat center -76px;
+}
+
+.page-content-bg::after {
+ position: fixed;
+ top: 100px;
+ left: 0;
+ z-index: -1;
+
+ width: 100%;
+ height: 50px;
+
+ content: '';
+ pointer-events: none;
+
+ background: url(../img/wave-top.png) no-repeat center top;
+ background-size: 100%;
+}
+
+@media (max-width: 768px) {
+ .page-content-bg::after {
+ top: 110px;
+ }
+}
+
+.container {
+ width: 66.6666667%;
+ margin: 0 auto;
+}
+
+@media (max-width: 768px) {
+ .container {
+ width: 80%;
+ }
+}
+
+@media (max-width: 414px) {
+ .container {
+ width: auto;
+ margin-right: 16px;
+ margin-left: 16px;
+ }
+}
+
+.page-content>.container:first-child {
+ margin-top: 16px;
+}
+
+.page-block {
+ padding: 0 16px;
+}
+
+.page-bottom-bar__inner {
+ position: relative;
+ z-index: 10;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+
+ height: 50px;
+ padding: 0 16px;
+
+ background-color: #fff;
+ box-shadow: 0 -2px 12px rgba(0, 0, 0, .15);
+}
+
+.page-bottom-bar--inner .van-button {
+ margin: 0 5px;
+}
+
+.page-bottom-bar__info {
+ position: relative;
+ z-index: 10;
+
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+
+ height: 50px;
+
+ background-color: #fff;
+ box-shadow: 0 -2px 12px rgba(0, 0, 0, .15);
+}
+
+.page-bottom-bar__title {
+ font-size: 13px;
+
+ display: flex;
+ align-items: center;
+
+ height: 50px;
+ padding: 0 16px;
+
+ color: #fff;
+ background: linear-gradient(to bottom, #5a9ff2, #569af3, #5296f5, #4e91f6, #4a8df7, #4689f9, #4184fa, #3d7ffb, #397bfc, #3576fe, #3172ff);
+}
+
+.page-bottom-bar__content {
+ display: flex;
+ align-items: center;
+ flex: 1;
+ justify-content: space-between;
+
+ padding: 0 16px 0 8px;
+}
+
+.page-bottom-bar__content .price small {
+ font-size: 12px;
+}
+
+.page-bottom-bar__content .desc {
+ font-size: 12px;
+
+ color: #999;
+}
+
+.page-form {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ display: flex;
+
+ width: 100%;
+ height: 100%;
+}
+
+.page-form::after {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ bottom: 0;
+ z-index: 10;
+
+ margin-left: -.5px;
+
+ content: '';
+
+ border-right: .5px solid #ddd;
+}
+
+.page-form__col {
+ position: relative;
+
+ overflow-x: hidden;
+ overflow-y: auto;
+ flex: 0 0 50%;
+}
+
+.page-form__col>.van-overlay {
+ top: 0;
+ z-index: 5 !important;
+
+ width: 50%;
+ height: 100%;
+}
+
+.van-nav-bar~.page-content .page-form__col>.van-overlay,
+.page-nav~.page-content .page-form__col>.van-overlay {
+ top: 76px;
+
+ height: calc(100% - 76px);
+}
+
+.page-bottom-bar~.page-content .page-form__col>.van-overlay {
+ height: calc(100% - 50px);
+}
+
+.van-nav-bar~.page-bottom-bar~.page-content .page-form__col>.van-overlay,
+.page-nav~.page-bottom-bar~.page-content .page-form__col>.van-overlay {
+ height: calc(100% - 76px - 50px);
+}
+
+.page-form__col:last-child>.van-overlay {
+ left: 50%;
+}
+
+.page-form__col>.van-popup {
+ z-index: 5 !important;
+
+ width: 50%;
+ height: 100%;
+}
+
+.van-nav-bar~.page-content .page-form__col>.van-popup,
+.page-nav~.page-content .page-form__col>.van-popup {
+ height: calc(100% - 76px);
+ margin-top: 38px;
+}
+
+.page-bottom-bar~.page-content .page-form__col>.van-popup {
+ height: calc(100% - 50px);
+ margin-top: -25px;
+}
+
+.van-nav-bar~.page-bottom-bar~.page-content .page-form__col>.van-popup,
+.page-nav~.page-bottom-bar~.page-content .page-form__col>.van-popup {
+ height: calc(100% - 76px - 50px);
+ margin-top: 13px;
+}
+
+@media (max-width: 768px) {
+ .page-form {
+ position: relative;
+
+ display: block;
+
+ width: auto;
+ height: auto;
+ margin: 0 auto;
+ }
+
+ .page-form::after {
+ display: none;
+ }
+
+ .page-form__col {
+ overflow: visible;
+ }
+
+ .page-form__col>.van-overlay {
+ left: 0;
+
+ width: 100%;
+ }
+
+ .page-form__col>.van-popup {
+ width: 70%;
+ }
+
+ .page-form__col:last-child>.van-overlay {
+ left: 0;
+ }
+}
+
+/* #endregion */
+
+/* #region 弹出框 */
+.van-popup__close-icon--top-left,
+.van-popup__close-icon--top-right {
+ top: 12px;
+}
+
+/* #endregion */
+
+/* #region 栅格 */
+.van-col--100p {
+ flex: 1;
+}
+
+/* #endregion */
+
+/* #region wave */
+@keyframes move_wave {
+ 0% {
+ transform: translateX(0) translateZ(0) scaleY(1);
+ }
+
+ 50% {
+ transform: translateX(-25%) translateZ(0) scaleY(.55);
+ }
+
+ 100% {
+ transform: translateX(-50%) translateZ(0) scaleY(1);
+ }
+}
+
+.wave-wrapper {
+ position: relative;
+
+ overflow: hidden;
+}
+
+.wave-wrapper>img {
+ display: block;
+
+ width: 100%;
+
+ opacity: 0;
+}
+
+.wave-inner {
+ position: absolute;
+ bottom: 0;
+
+ overflow: hidden;
+
+ width: 100%;
+ height: 100%;
+
+ background-image: linear-gradient(to right, #77e4f0 20%, #62aaff 80%);
+}
+
+.wave-inner>img {
+ display: block;
+
+ width: 100%;
+
+ object-fit: cover;
+}
+
+@media (max-width: 768px) {
+
+ .wave-wrapper>img,
+ .wave-inner>img {
+ width: 140%;
+ margin-left: -20%;
+ }
+}
+
+.wave-top {
+ z-index: 15;
+
+ opacity: .5;
+}
+
+.bgMiddle {
+ z-index: 10;
+
+ opacity: .75;
+}
+
+.wave-bottom {
+ z-index: 5;
+}
+
+.wave {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 200%;
+ height: 100%;
+
+ transform-origin: center bottom;
+
+ background-repeat: repeat no-repeat;
+ background-position: 0 bottom;
+}
+
+.wave-in-top {
+ width: 3840px;
+
+ background-image: url(../img/wave-top.png);
+}
+
+.wave-animation .wave-in-top {
+ -webkit-animation: move-wave 3s;
+ animation: move-wave 3s;
+ -webkit-animation-delay: 1s;
+ animation-delay: 1s;
+}
+
+.wave-in-bottom {
+ width: 3840px;
+
+ background-image: url(../img/wave-bot.png);
+}
+
+.wave-animation .wave-in-bottom {
+ animation: move_wave 15s linear infinite;
+}
+
+/* #endregion */
+
+/* #region 登录 */
+.login {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+
+ height: 100vh;
+}
+
+.login-form {
+ position: relative;
+ z-index: 5;
+
+ display: flex;
+ align-items: center;
+ flex: auto;
+ justify-content: center;
+}
+
+.login-form .van-row {
+ width: 100%;
+ margin-top: -200px;
+}
+
+.login-form .van-password-input {
+ margin-top: 20px;
+}
+
+.login-form .van-field__control {
+ font-size: 20px;
+}
+
+.login-form .van-field__control::-webkit-input-placeholder {
+ font-size: 13px;
+}
+
+/* #endregion */
+
+/* #region 首页 */
+.page-home .page-content {
+ padding-top: 30px;
+}
+
+.page-home .page-content::before {
+ position: absolute;
+ top: 0;
+ z-index: -1;
+
+ width: 100%;
+ height: 400px;
+
+ content: '';
+ pointer-events: none;
+
+ background: url(../img/home-bg.png) no-repeat center top;
+ background-size: 1024px;
+}
+
+.home-logo {
+ font-size: 30px;
+ font-weight: bold;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ height: 120px;
+ padding: 16px;
+
+ color: #fff;
+ text-shadow: 2px 2px 2px rgba(0, 0, 0, .8);
+}
+
+@media (max-width: 768px) {
+ .home-logo {
+ font-size: 26px;
+ }
+}
+
+@media (max-width: 414px) {
+ .home-logo {
+ font-size: 24px;
+ }
+}
+
+.home-banner {
+ overflow: hidden;
+
+ border-radius: 10px;
+ background-color: rgba(255, 255, 255, .9);
+ box-shadow: 0 2px 12px rgba(17, 92, 176, .16);
+
+ backdrop-filter: blur(5px);
+}
+
+.home-banner .swiper-slide .van-image {
+ display: block;
+}
+
+.home-banner .swiper-slide:first-child img {
+ border-top-left-radius: 10px;
+ border-bottom-left-radius: 10px;
+}
+
+.home-banner .swiper-slide:last-child img {
+ border-top-right-radius: 10px;
+ border-bottom-right-radius: 10px;
+}
+
+.home-banner .swiper-pagination {
+ left: 50%;
+
+ width: auto;
+ padding-right: 8px;
+ padding-left: 8px;
+
+ transform: translateX(-50%);
+
+ border-radius: 999px;
+ background-color: rgba(0, 0, 0, .35);
+}
+
+.home-banner .swiper-pagination-bullet {
+ opacity: 1;
+ background-color: rgba(255, 255, 255, .35);
+}
+
+.home-banner .swiper-pagination-bullet-active {
+ background-color: #fff;
+}
+
+/* #endregion */
+
+/* #region 顶部搜索栏 */
+.search-bar {
+ position: sticky;
+ top: 0;
+ z-index: 1000;
+
+ display: flex;
+ align-items: center;
+
+ margin-bottom: 16px;
+
+ background-color: #fff;
+ box-shadow: 0 2px 12px rgba(17, 92, 176, .16);
+}
+
+.search-bar-100 {
+ width: 100%;
+}
+
+.search-bar-auto {
+ width: auto;
+}
+
+.search-bar .van-dropdown-menu__bar {
+ box-shadow: none;
+}
+
+.search-bar .van-dropdown-menu__title {
+ font-size: 13px;
+}
+
+.search-bar-auto>.van-button {
+ margin: 0 16px;
+
+ white-space: nowrap;
+}
+
+.search-bar .van-search,
+.search-bar .van-dropdown-menu__bar {
+ background: none;
+}
+
+/* #endregion */
+
+/* #region 顶部步骤条 */
+.step-bar {
+ position: sticky;
+ top: 0;
+ z-index: 1000;
+
+ overflow: hidden;
+
+ margin-bottom: 16px;
+ padding: 8px 32px;
+
+ background-color: #fff;
+ box-shadow: 0 2px 12px rgba(0, 0, 0, .15);
+}
+
+.step-bar>.step-prev,
+.step-bar>.step-next {
+ position: absolute;
+ top: 0;
+ z-index: 3;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ width: 60px;
+ height: 100%;
+}
+
+.step-bar>.step-prev {
+ left: 0;
+}
+
+.step-bar>.step-next {
+ right: 0;
+}
+
+.step-bar-container .step-bar__title {
+ font-size: 13px;
+ line-height: 20px;
+
+ padding-top: 32px;
+
+ transition: .25 opacity;
+ text-align: center;
+
+ color: #4a8df7;
+}
+
+.step-bar-container .swiper-slide.step-active~.swiper-slide {
+ opacity: .5;
+}
+
+.step-bar-container .step-bar__title::before {
+ position: absolute;
+ top: 15px;
+ right: 50%;
+
+ width: calc(100% - 50px);
+ margin-right: 25px;
+
+ content: '';
+
+ border-top: .5px dashed #4a8df7;
+}
+
+.step-bar-container .step-bar__title::after {
+ position: absolute;
+ top: 10px;
+ left: 50%;
+
+ width: 10px;
+ height: 10px;
+ margin-left: -5px;
+
+ content: '';
+ transition: .25s box-shadow;
+
+ border-radius: 50%;
+ background-color: #4a8df7;
+ box-shadow: 0 0 0 4px rgba(74, 140, 247, .3);
+}
+
+.step-bar-container .step-bar__title.step-active::after {
+ box-shadow: 0 0 0 4px rgba(74, 140, 247, .3), 0 0 0 8px rgba(74, 140, 247, .15);
+}
+
+.step-bar-container .swiper-slide:first-child .step-bar__title::before {
+ display: none;
+}
+
+.step-content {
+ position: absolute;
+ top: 68px;
+ bottom: 0;
+
+ width: 100%;
+}
+
+.step-content .swiper-container {
+ height: 100%;
+}
+
+.step-content .swiper-slide {
+ overflow-y: auto;
+
+ width: 66.66666667%;
+
+ transition: .25s opacity;
+
+ opacity: 0;
+}
+
+.step-content .swiper-slide.swiper-slide-active {
+ opacity: 1;
+}
+
+/* #endregion */
+
+/* #region 通用卡片 */
+.card {
+ margin-bottom: 16px;
+
+ border-radius: 12px;
+ background-color: rgba(255, 255, 255, .9);
+ box-shadow: 0 2px 12px rgba(17, 92, 176, .16);
+
+ backdrop-filter: blur(5px);
+}
+
+.card.card-bg {
+ background: rgba(255, 255, 255, .9) url(../img/card-bg.png) no-repeat bottom center;
+ background-size: 100% auto;
+}
+
+.card.card-border {
+ border-left: 3px solid #4184fa;
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+
+.card-noshadow {
+ box-shadow: none;
+}
+
+.card-header {
+ font-size: 14px;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ padding: 8px 16px;
+
+ border-radius: 12px 12px 0 0;
+}
+
+.card.card-bg .card-header {
+ color: #fff;
+ background: linear-gradient(to right, #7d47f3, #369dfd);
+}
+
+.card-header__action {
+ font-size: 13px;
+
+ color: #aaa;
+}
+
+.card-body {
+ font-size: 13px;
+
+ position: relative;
+
+ padding: 16px;
+}
+
+.card-body-nopadding {
+ padding: 0;
+}
+
+.card-body .van-cell-group {
+ background-color: transparent;
+}
+
+.card-body .van-cell {
+ background-color: transparent;
+}
+
+.card-group {
+ margin-bottom: 16px;
+}
+
+.card-group .card {
+ margin-bottom: 8px;
+}
+
+.card-group .card:last-child {
+ margin-bottom: 0;
+}
+
+/* #endregion */
+
+/* #region 工具卡片 */
+.card-bar {
+ position: fixed;
+ top: 92px;
+ bottom: 50px;
+
+ width: 157px;
+}
+
+@media (max-width: 768px) {
+ .card-bar {
+ width: 115px;
+ }
+}
+
+.card-bar .card-body {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: space-around;
+
+ height: 100%;
+}
+
+.card-nav {
+ position: relative;
+
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+}
+
+.card-nav.active::before {
+ position: absolute;
+ top: 50%;
+
+ width: 3px;
+ height: 30px;
+
+ content: '';
+ transform: translate(-48px, -50%);
+
+ border-radius: 3px;
+ background-color: #3172ff;
+}
+
+.card-nav__icon {
+ font-size: 32px;
+
+ margin-bottom: 8px;
+}
+
+.card-nav__text {
+ font-size: 14px;
+}
+
+/* #endregion */
+
+/* #region 通用标题 */
+.public-title {
+ font-size: 14px;
+
+ position: relative;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ margin-bottom: 8px;
+ padding: 8px 16px 8px 32px;
+
+ color: rgba(0, 0, 0, .5);
+ border-radius: 10px;
+ background-color: rgba(255, 255, 255, .85);
+
+ backdrop-filter: blur(5px);
+}
+
+.public-title::before {
+ position: absolute;
+ left: 16px;
+
+ width: 3px;
+ height: 10px;
+
+ content: '';
+
+ background-color: #3172ff;
+}
+
+.public-title.no-border::before {
+ display: none;
+}
+
+.public-title span,
+.public-title .van-icon {
+ vertical-align: middle;
+}
+
+.public-title a {
+ font-size: 13px;
+
+ color: #3172ff;
+}
+
+/* #endregion */
+
+/* #region 调查表/协议入口 */
+.enter-links {
+ display: flex;
+ overflow: hidden;
+
+ margin-bottom: 8px;
+
+ border-radius: 4px;
+ background-color: #f5f8fa;
+}
+
+.enter-links:last-child {
+ margin-bottom: 0;
+}
+
+.enter-title {
+ line-height: 30px;
+
+ width: 180px;
+ height: 30px;
+
+ text-align: center;
+
+ color: #fff;
+}
+
+.enter-link {
+ line-height: 30px;
+
+ position: relative;
+
+ display: block;
+ flex: 100%;
+
+ text-align: center;
+}
+
+.enter-link .van-icon {
+ vertical-align: middle;
+}
+
+.enter-link::after {
+ position: absolute;
+ top: 8px;
+ right: 0;
+ bottom: 8px;
+
+ content: '';
+
+ border-right: .5px solid #ddd;
+}
+
+.enter-link:last-child::after {
+ display: none;
+}
+
+/* #endregion */
+
+/* #region 被征收人列表 */
+
+.info-card {
+ font-size: 13px;
+
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+
+ padding: 16px;
+
+ border-bottom: .5px solid #ddd;
+}
+
+.info-card:last-child {
+ border-bottom: 0;
+}
+
+.info-card__icon {
+ font-size: 24px;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ width: 40px;
+ height: 40px;
+ margin-right: 16px;
+
+ border-radius: 50%;
+ background: linear-gradient(to bottom, #5a9ff2, #569af3, #5296f5, #4e91f6, #4a8df7, #4689f9, #4184fa, #3d7ffb, #397bfc, #3576fe, #3172ff);
+}
+
+.info-card__info {
+ display: flex;
+ flex: 1;
+ flex-wrap: wrap;
+}
+
+.info-card__section {
+ line-height: 24px;
+
+ display: flex;
+ align-items: center;
+
+ word-break: break-all;
+}
+
+.info-card__section .van-row {
+ width: 100%;
+}
+
+.info-card__label {
+ font-weight: bold;
+
+ margin-right: 8px;
+}
+
+.info-card__value {
+ color: #4579f6;
+}
+
+.info-card__desc {
+ line-height: 20px;
+
+ color: #666;
+}
+
+/* #endregion */
+
+/* #region 标签页 */
+.tabs-no-bar .van-tabs__wrap {
+ display: none;
+}
+
+/* #endregion */
+
+/* #region 时间轴 */
+.time-axis-item {
+ position: relative;
+
+ display: flex;
+
+ margin-bottom: 16px;
+}
+
+.time-axis-date {
+ position: relative;
+
+ display: flex;
+ align-items: flex-start;
+ justify-content: flex-start;
+
+ width: 100px;
+}
+
+.time-axis-date::before {
+ font-size: 13px;
+ line-height: 30px;
+
+ height: 30px;
+ margin-right: 8px;
+
+ content: attr(date);
+
+ color: #aaa;
+}
+
+.time-axis-date::after {
+ font-size: 13px;
+ font-weight: 700;
+
+ position: relative;
+ z-index: 2;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ width: 30px;
+ height: 30px;
+
+ content: attr(day);
+
+ color: #fff;
+ border-radius: 50%;
+ background: linear-gradient(to bottom, #5a9ff2, #569af3, #5296f5, #4e91f6, #4a8df7, #4689f9, #4184fa, #3d7ffb, #397bfc, #3576fe, #3172ff);
+ box-shadow: 0 6px 12px rgba(17, 92, 176, .16);
+}
+
+.time-axis-line {
+ position: absolute;
+ top: 30px;
+ left: 70px;
+ bottom: -16px;
+
+ width: 3px;
+
+ background-color: #4184fa;
+}
+
+.time-axis-item:last-child .time-axis-line {
+ display: none;
+}
+
+.time-axis-content {
+ flex: 1;
+}
+
+.time-axis-content>.card {
+ margin-bottom: 0;
+}
+
+.time-axis__subtitle {
+ font-size: 80%;
+
+ color: #aaa;
+}
+
+.time-axis__content {
+ font-size: 13px;
+
+ color: #333;
+}
+
+.time-axis__attrs {
+ margin-top: 16px;
+}
+
+.time-axis__files {
+ display: flex;
+ align-items: flex-start;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+
+.time-axis__file {
+ margin-right: 8px;
+ margin-bottom: 8px;
+}
+
+.audios-player {
+ width: 200px;
+ height: 30px;
+
+ border-radius: 2px;
+ background: linear-gradient(165deg, #62de9e, #07c160);
+}
+
+.time-axis__sign {
+ margin-top: 16px;
+}
+
+.time-axis__sign p {
+ font-size: 12px;
+
+ margin: 0;
+}
+
+.time-axis__control {
+ width: 24px;
+ height: 24px;
+
+ vertical-align: middle;
+
+ box-shadow: none;
+}
+
+/* #endregion */
+
+/* #region Swiper */
+.thumb-swiper.swiper-container {
+ height: 416px;
+ padding: 0 16px;
+}
+
+.thumb-swiper .swiper-slide {
+ display: inline-block;
+
+ width: auto;
+ width: 200px;
+ height: 200px;
+}
+
+.thumb-swiper .van-image {
+ display: block;
+}
+
+.thumb-video::before {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 100%;
+ height: 100%;
+
+ content: '';
+
+ background-color: rgba(0, 0, 0, .35);
+}
+
+.thumb-video::after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+
+ margin-left: 5px;
+
+ content: '';
+ transition: .5s;
+ transition-property: opacity, transform;
+ transform: translate(-50%, -50%) scale(1);
+
+ opacity: 1;
+ border-top: 15px solid transparent;
+ border-bottom: 15px solid transparent;
+ border-left: 26px solid #fff;
+}
+
+.thumb-video.thumb-video__sm::after {
+ margin-left: 2px;
+
+ border-top-width: 8px;
+ border-bottom-width: 8px;
+ border-left-width: 14px;
+}
+
+.thumb-video.playing::after {
+ transform: translate(-50%, -50%) scale(5);
+
+ opacity: 0;
+}
+
+.thumb-info {
+ line-height: 20px;
+}
+
+.thumb-info h3 {
+ font-size: 13px;
+
+ margin: 5px 0;
+}
+
+.thumb-info p {
+ margin: 0;
+
+ color: #aaa;
+}
+
+/* #endregion */
+
+/* #region 静态信息展示 */
+.static-info {
+ margin-bottom: 16px;
+}
+
+.static-info .row {
+ line-height: 24px;
+
+ display: flex;
+ align-items: flex-start;
+
+ padding: 8px 16px;
+}
+
+.static-info__lg,
+.static-info__md,
+.static-info__sm {
+ margin-right: 16px;
+}
+
+.static-info__lg:last-child,
+.static-info__md:last-child,
+.static-info__sm:last-child {
+ margin-right: 0;
+}
+
+.static-info__lg {
+ font-size: 16px;
+ font-weight: bold;
+}
+
+.static-info__md {
+ font-size: 15px;
+}
+
+.static-info__sm {
+ font-size: 13px;
+
+ color: #666;
+}
+
+/* #endregion */
+
+/* #region 双层标签页 */
+.tabs-parent,
+.tabs-child {
+ height: 100%;
+}
+
+.tabs-parent .van-tabs__nav {
+ background-color: #f7f7f7;
+}
+
+.tabs-parent .van-tab {
+ font-size: 13px;
+
+ color: #999;
+}
+
+.tabs-parent .van-tab__pane {
+ overflow-y: auto;
+
+ height: 100%;
+}
+
+.tabs-parent .van-tab--active {
+ color: #3172ff;
+ background-color: #fff;
+}
+
+.tabs-parent .van-tabs__line {
+ display: none;
+}
+
+.tabs-parent__action {
+ position: sticky;
+ right: -8px;
+
+ display: flex;
+ align-items: center;
+
+ padding: 0 8px;
+
+ background-color: #fff;
+ box-shadow: -3px 0 13px rgba(0, 0, 0, .15);
+}
+
+.tabs-parent__action .van-button {
+ white-space: nowrap;
+}
+
+.tabs-parent .van-tabs__content {
+ position: absolute;
+ top: 44px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+
+.tabs-child .van-tabs__wrap {
+ border-bottom: 4px solid #f7f7f7;
+}
+
+.tabs-child .van-tabs__nav {
+ background-color: #fff;
+}
+
+.tabs-child .van-tab--active {
+ font-size: 15px;
+ font-weight: bold;
+
+ color: #222;
+}
+
+.tabs-child__action {
+ position: sticky;
+ right: -8px;
+
+ display: flex;
+ align-items: center;
+
+ padding: 0 8px;
+
+ background-color: #fff;
+}
+
+.tabs-child__action .van-button {
+ padding: 0 5px;
+}
+
+.swiper__16x9 .swiper-slide {
+ height: auto;
+ padding-bottom: 56.25%;
+}
+
+.swiper__16x9 .swiper-slide>.van-image,
+.swiper__16x9 .swiper-slide>.van-empty {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 100%;
+ height: 100%;
+}
+
+.swiper__16x9 .swiper-slide>.van-image>img {
+ object-fit: cover;
+}
+
+.swiper-container-horizontal>.swiper-pagination-progressbar {
+ top: auto;
+ bottom: 0;
+}
+
+.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
+ background: #4a8df7;
+}
+
+/* #endregion */
+
+/* #region 个人中心 */
+.user-container {
+ height: 212px;
+ margin-bottom: 16px;
+
+ background: url(../img/user-bg.jpg);
+}
+
+.user-info {
+ width: 100%;
+}
+
+.user-info__base {
+ display: flex;
+ align-items: center;
+
+ margin: 0 32px;
+
+ color: #fff;
+}
+
+.user-info__base h1 {
+ font-size: 24px;
+
+ margin: 0 0 16px;
+}
+
+.user-info__base h4 {
+ font-size: 14px;
+ font-weight: normal;
+
+ margin: 0;
+}
+
+.user-info__avatar {
+ margin-right: 32px;
+ padding: 3px;
+
+ border-radius: 50%;
+ background-color: #fff;
+}
+
+.user-info__avatar .van-image {
+ display: block;
+}
+
+.user-info__columns {
+ display: flex;
+ justify-content: space-around;
+
+ margin-top: 24px;
+}
+
+.user-info__card {
+ padding: 8px;
+
+ text-align: center;
+
+ border-radius: 12px;
+ background: rgba(0, 0, 0, .3);
+
+ backdrop-filter: blur(5px);
+}
+
+.user-info__card .statistic-content>span {
+ color: #fff;
+}
+
+.user-info__card .statistic-content>small,
+.user-info__card .statistic-title {
+ color: rgba(255, 255, 255, .75);
+}
+
+/* #endregion */
+
+/* #region 上传组件 */
+.uploader-container {
+ margin-bottom: 16px;
+}
+
+.uploader-thumb {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+
+ padding: 0 8px 8px 16px;
+}
+
+.uploader-thumb__preview {
+ position: relative;
+
+ margin-right: 8px;
+ margin-bottom: 8px;
+}
+
+.uploader-thumb__preview .van-image {
+ display: block;
+}
+
+.uploader-list {
+ margin-bottom: 16px;
+}
+
+.uploader-list__item {
+ overflow: hidden;
+
+ margin-bottom: -1px;
+
+ border: .5px solid #ddd;
+}
+
+.uploader-list__item:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+}
+
+.uploader-list__item:last-child {
+ margin-bottom: 16px;
+
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+
+.uploader-list__item .info-card {
+ border-bottom: 0;
+}
+
+/* #endregion */
+
+/* #region 录音播放器 */
+.audio-container {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+}
+
+.audio-nowrap {
+ flex-direction: row;
+}
+
+.audio-nowrap .audio-timer {
+ margin-right: 8px;
+}
+
+.audio-wave {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ height: 50px;
+}
+
+.audio-nowrap .audio-wave {
+ display: none;
+}
+
+.audio-wave span {
+ display: block;
+
+ width: 5px;
+ height: 0;
+ margin: 0 5px;
+
+ background: #4184fa;
+}
+
+.audio-container.recording .audio-wave span {
+ animation: audio-wave .5s infinite ease;
+}
+
+@keyframes audio-wave {
+ 0% {
+ height: 5px;
+ }
+
+ 30% {
+ height: 15px;
+ }
+
+ 60% {
+ height: 20px;
+ }
+
+ 80% {
+ height: 15px;
+ }
+
+ 100% {
+ height: 5px;
+ }
+}
+
+.audio-wave span:nth-of-type(2n) {
+ animation-delay: 0 !important;
+}
+
+.audio-wave span:nth-of-type(2n + 1) {
+ animation-delay: .25s !important;
+}
+
+.audio-button {
+ position: relative;
+
+ overflow: hidden;
+
+ width: 40px;
+ height: 40px;
+
+ border: .5px solid #ddd;
+ border-radius: 50%;
+}
+
+.audio-button::before {
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 100%;
+ height: 100%;
+
+ content: '';
+ pointer-events: none;
+
+ opacity: 0;
+ border-radius: inherit;
+ background-color: #000;
+}
+
+.audio-button:active::before {
+ opacity: .1;
+}
+
+.audio-button__icon::before {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+
+ display: block;
+
+ margin-left: 3px;
+
+ content: '';
+ transition: .2s all;
+ transform: translate(-50%, -50%) scale(1);
+
+ opacity: 1;
+ border-top: 10px solid transparent;
+ border-bottom: 10px solid transparent;
+ border-left: 15px solid #999;
+}
+
+.audio-button__icon::after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+
+ display: block;
+
+ width: 15px;
+ height: 15px;
+
+ content: '';
+ transition: .2s all;
+ transform: translate(-50%, -50%) scale(5);
+
+ opacity: 0;
+ background-color: #ee0a24;
+}
+
+.audio-container.recording .audio-button__icon::before {
+ transform: translate(-50%, -50%) scale(5);
+
+ opacity: 0;
+}
+
+.audio-container.recording .audio-button__icon::after {
+ transform: translate(-50%, -50%) scale(1);
+
+ opacity: 1;
+}
+
+.audio__sm {
+ position: relative;
+
+ display: inline-block;
+}
+
+.audio__sm .audio-timer {
+ font-size: 10px;
+ line-height: 1;
+
+ position: absolute;
+ top: 15px;
+
+ width: 100%;
+
+ text-align: center;
+
+ opacity: 0;
+}
+
+.audio__sm .audio-wave {
+ display: none;
+}
+
+.audio__sm.recording .audio-timer {
+ opacity: 1;
+}
+
+.audio__sm.recording .audio-button__icon {
+ opacity: 0;
+}
+
+/* #endregion */
+
+/* #region 统计信息 */
+.statistic-item {
+ text-align: center;
+}
+
+.statistic-item.card-body {
+ padding: 16px 8px;
+}
+
+.statistic-title {
+ font-size: 13px;
+
+ color: #aaa;
+}
+
+.statistic-content {
+ font-size: 0;
+}
+
+.statistic-title+.statistic-content,
+.statistic-content+.statistic-title {
+ margin-top: 8px;
+}
+
+.statistic-content>span {
+ font-size: 24px;
+ font-weight: bold;
+
+ color: #222;
+}
+
+.statistic-content>small {
+ font-size: 14px;
+
+ color: #666;
+}
+
+.statistic-group {
+ display: flex;
+ align-items: flex-end;
+ justify-content: space-around;
+}
+
+.statistic-item+.statistic-group {
+ margin-top: 16px;
+ padding-top: 16px;
+
+ border-top: .5px solid #ddd;
+}
+
+.statistic-group .statistic-title {
+ font-size: 12px;
+}
+
+.statistic-group .statistic-content>span {
+ font-size: 18px;
+}
+
+.statistic-group .statistic-content>small {
+ font-size: 11px;
+}
+
+/* #endregion */
+
+/* #region 邮件卡片 */
+.mail-card {
+ position: relative;
+
+ background: none;
+}
+
+.mail-card__unread::before {
+ position: absolute;
+
+ width: 6px;
+ height: 6px;
+
+ content: '';
+
+ border-radius: 50%;
+ background-color: #ed8249;
+}
+
+.mail-card .van-card__header {
+ align-items: center;
+}
+
+.mail-card .van-card__thumb {
+ width: 40px;
+ height: 40px;
+}
+
+.mail-card .van-card__thumb .van-icon {
+ color: #fff;
+}
+
+.mail-card .van-card__content {
+ height: 60px;
+ min-height: 0;
+}
+
+.mail-card .van-card__title {
+ font-size: 14px;
+ line-height: 20px;
+
+ max-height: 40px;
+}
+
+.mail-card .van-card__desc {
+ font-size: 13px;
+}
+
+/* #endregion */
+
+.table {
+ width: 100%;
+
+ border-collapse: collapse;
+}
+
+.table-layout-fixed {
+ table-layout: fixed;
+}
+
+.table>thead>tr>th,
+.table>tbody>tr>td {
+ line-height: 1.5;
+
+ padding: 8px;
+
+ text-align: left;
+}
+
+.table>tbody>tr>td {
+ border-bottom: .5px solid #eee;
+}
+
+.table>tbody>tr:last-child>td {
+ border-bottom: 0;
+}
+
+.version-container {
+ margin: 50px auto;
+
+ text-align: center;
+}
+
diff --git a/FrontCode2/sunshine_levy/src/assets/img/assess_1.png b/FrontCode2/sunshine_levy/src/assets/img/assess_1.png
new file mode 100644
index 0000000..552aa78
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/assess_1.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/assess_2.png b/FrontCode2/sunshine_levy/src/assets/img/assess_2.png
new file mode 100644
index 0000000..a345cd1
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/assess_2.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/bg.png b/FrontCode2/sunshine_levy/src/assets/img/bg.png
new file mode 100644
index 0000000..95ce126
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/bg.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/compensation.png b/FrontCode2/sunshine_levy/src/assets/img/compensation.png
new file mode 100644
index 0000000..921e51b
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/compensation.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/credentials_icon.png b/FrontCode2/sunshine_levy/src/assets/img/credentials_icon.png
new file mode 100644
index 0000000..be56e76
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/credentials_icon.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/evaluation .png b/FrontCode2/sunshine_levy/src/assets/img/evaluation .png
new file mode 100644
index 0000000..f0edb8b
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/evaluation .png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/expropriationPolicy.png b/FrontCode2/sunshine_levy/src/assets/img/expropriationPolicy.png
new file mode 100644
index 0000000..2b96424
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/expropriationPolicy.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/government.png b/FrontCode2/sunshine_levy/src/assets/img/government.png
new file mode 100644
index 0000000..1fc08ff
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/government.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/menu_yhxy.png b/FrontCode2/sunshine_levy/src/assets/img/menu_yhxy.png
new file mode 100644
index 0000000..0bda5d1
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/menu_yhxy.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/project.png b/FrontCode2/sunshine_levy/src/assets/img/project.png
new file mode 100644
index 0000000..a248cd8
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/project.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/project_area.png b/FrontCode2/sunshine_levy/src/assets/img/project_area.png
new file mode 100644
index 0000000..12bd2bd
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/project_area.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/project_bg.png b/FrontCode2/sunshine_levy/src/assets/img/project_bg.png
new file mode 100644
index 0000000..4df4731
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/project_bg.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/project_dep.png b/FrontCode2/sunshine_levy/src/assets/img/project_dep.png
new file mode 100644
index 0000000..e0e6c2c
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/project_dep.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/project_no.png b/FrontCode2/sunshine_levy/src/assets/img/project_no.png
new file mode 100644
index 0000000..53b1cc1
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/project_no.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/project_right.png b/FrontCode2/sunshine_levy/src/assets/img/project_right.png
new file mode 100644
index 0000000..efedf76
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/project_right.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/project_year.png b/FrontCode2/sunshine_levy/src/assets/img/project_year.png
new file mode 100644
index 0000000..e7bac29
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/project_year.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/renyuanliebiao.png b/FrontCode2/sunshine_levy/src/assets/img/renyuanliebiao.png
new file mode 100644
index 0000000..74247e2
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/renyuanliebiao.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/scan.png b/FrontCode2/sunshine_levy/src/assets/img/scan.png
new file mode 100644
index 0000000..bd43a86
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/scan.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/img/skip.png b/FrontCode2/sunshine_levy/src/assets/img/skip.png
new file mode 100644
index 0000000..373e620
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/img/skip.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/logo.png b/FrontCode2/sunshine_levy/src/assets/logo.png
new file mode 100644
index 0000000..f3d2503
Binary files /dev/null and b/FrontCode2/sunshine_levy/src/assets/logo.png differ
diff --git a/FrontCode2/sunshine_levy/src/assets/rem.js b/FrontCode2/sunshine_levy/src/assets/rem.js
new file mode 100644
index 0000000..b72ffc9
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/assets/rem.js
@@ -0,0 +1,28 @@
+/**
+ * 设置根元素font-size
+ * 当设备宽度为375(iPhone6)时,根元素font-size=16px;
+ */
+(function (doc, win) {
+ var docEl = win.document.documentElement;
+ var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
+
+ var refreshRem = function () {
+ var clientWidth = win.innerWidth
+ || doc.documentElement.clientWidth
+ || doc.body.clientWidth;
+
+ // console.log(clientWidth)
+ if (!clientWidth) return;
+ var fz;
+ var width = clientWidth;
+ fz = 16 * width / 375; // 可以根据项目需要,自行修改
+ docEl.style.fontSize = fz + 'px'; //这样每一份也是16px,即1rem=16px
+ };
+
+ if (!doc.addEventListener) return;
+ win.addEventListener(resizeEvt, refreshRem, false);
+ doc.addEventListener('DOMContentLoaded', refreshRem, false);
+ refreshRem();
+
+})(document, window);
+
diff --git a/FrontCode2/sunshine_levy/src/assets/reset.css b/FrontCode2/sunshine_levy/src/assets/reset.css
new file mode 100644
index 0000000..c541e12
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/assets/reset.css
@@ -0,0 +1,135 @@
+/* http://meyerweb.com/eric/tools/css/reset/
+v2.0 | 20110126
+License: none (public domain)
+*/
+
+html,
+body,
+div,
+span,
+applet,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+a,
+abbr,
+acronym,
+address,
+big,
+cite,
+code,
+del,
+dfn,
+em,
+img,
+ins,
+kbd,
+q,
+s,
+samp,
+small,
+strike,
+strong,
+sub,
+sup,
+tt,
+var,
+b,
+u,
+i,
+center,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td,
+article,
+aside,
+canvas,
+details,
+embed,
+figure,
+figcaption,
+footer,
+header,
+hgroup,
+menu,
+nav,
+output,
+ruby,
+section,
+summary,
+time,
+mark,
+audio,
+video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+}
+
+/* HTML5 display-role reset for older browsers */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section {
+ display: block;
+}
+
+body {
+ line-height: 1;
+}
+
+ol,
+ul {
+ list-style: none;
+}
+
+blockquote,
+q {
+ quotes: none;
+}
+
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+ content: '';
+ content: none;
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
diff --git a/FrontCode2/sunshine_levy/src/common/apis/index.js b/FrontCode2/sunshine_levy/src/common/apis/index.js
new file mode 100644
index 0000000..31ccb8d
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/common/apis/index.js
@@ -0,0 +1,72 @@
+import axios from 'axios';
+import { token } from '@/common/token';
+import vm from '@/main';
+
+const code = {
+ authorization: '00',
+ error: '02',
+ success: '01',
+}
+
+axios.defaults.baseURL = process.env.BASE_URL;
+
+/**
+ * 最终直接根据url名称调用接口方法
+ * 例如
+ * import { apis } from '@/api'
+ * apis.getItemGroupType(parmas).then(...)
+ */
+import urls from './requests';
+
+const apis = {}
+
+for (let key in urls) {
+ apis[key] = (params = {}) => {
+ return new Promise((reslove, reject) => {
+ let instance = axios
+ .create({
+ headers: {
+ Authorization: 'Bearer ' + token.value
+ }
+ });
+
+ instance.interceptors.response.use((res) => {
+ if (res.data.code === code.authorization) {
+ token.value = '';
+ // vm.$router.replace({
+ // path: '/login'
+ // }).catch(err => { });
+ }
+ return res;
+ }, (err) => {
+ return Promise.reject(err);
+ });
+
+ instance
+ .post(urls[key], params)
+ .then(({ data }) => {
+ if (data.code === code.success) {
+ reslove(data);
+ } else {
+ if (vm.version.beta) {
+ alert(data.message);
+ }
+ reject(data);
+ }
+ })
+ .catch(err => {
+ if (process.env.PROD) {
+ vm.$dialog.alert({ message: '发生错误,请联系管理员' });
+ } else {
+ console.warn(err, urls[key]);
+ }
+ });
+ })
+ }
+}
+
+export {
+ axios,
+ apis,
+ code
+};
diff --git a/FrontCode2/sunshine_levy/src/common/apis/requests.js b/FrontCode2/sunshine_levy/src/common/apis/requests.js
new file mode 100644
index 0000000..3365ca8
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/common/apis/requests.js
@@ -0,0 +1,16 @@
+// 接口文档地址
+// https://docs.qq.com/doc/DZkdyS3hNT2V4Q3VJ
+
+const url = {
+ // 登录
+ login: '/webapi/account.ashx?action=login',
+
+ // 个人信息
+ account: '/webapi/account.ashx?action=userinfo',
+
+ // 项目数统计信息
+ projectStatistics: '/webapi/project.ashx?action=getStatistics',
+
+};
+
+export default url;
\ No newline at end of file
diff --git a/FrontCode2/sunshine_levy/src/common/token/index.js b/FrontCode2/sunshine_levy/src/common/token/index.js
new file mode 100644
index 0000000..c19211d
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/common/token/index.js
@@ -0,0 +1,19 @@
+const key = '__SESSION';
+
+const token = {
+ get value() {
+ return window.localStorage.getItem(key);
+ },
+ set value(token) {
+ if (!token) {
+ window.localStorage.removeItem(key);
+ } else {
+ window.localStorage.setItem(key, token);
+ }
+ }
+}
+
+export {
+ key,
+ token
+}
diff --git a/FrontCode2/sunshine_levy/src/components/home.css b/FrontCode2/sunshine_levy/src/components/home.css
new file mode 100644
index 0000000..99dabda
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/components/home.css
@@ -0,0 +1,271 @@
+.page {
+ border-radius: 6px;
+ background: #f2fbfd;
+}
+.topBox {
+ overflow: hidden;
+
+ width: 100%;
+ height: 225px;
+
+ background: url(../assets/img/bg.png);
+ background-size: 100% 225px;
+}
+.titleBox {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ width: 173px;
+ height: 36px;
+ margin: 15px 0 15px 2px;
+
+ border-radius: 0 22px 22px 0;
+ background: rgba(6, 63, 142, .66);
+}
+.font {
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-size: 16px;
+ font-weight: 600;
+ line-height: 22px;
+
+ width: 167px;
+ height: 22px;
+ padding: 3px 7px 3px 7px;
+
+ text-align: center;
+ vertical-align: middle;
+
+ color: #fff;
+}
+.baseInfo {
+ display: flex;
+}
+.baseImg {
+ width: 22px;
+ height: 21px;
+ padding-right: 10px;
+ padding-left: 31px;
+}
+.baseFont {
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-size: 14px;
+ font-weight: 500;
+ line-height: 20px;
+
+ height: 20px;
+
+ color: #fff;
+}
+.centerMagin {
+ margin-top: 10px;
+ margin-right: 12px;
+ margin-left: 16px;
+}
+.gridBg {
+ display: flex;
+ overflow: hidden;
+ justify-content: space-around;
+
+ height: 114px;
+
+ border-radius: 3px;
+ background: rgba(255, 255, 255, .28);
+}
+.gridImg {
+ width: 90px;
+ height: 80px;
+ margin: 12px 6px;
+}
+.bigImg {
+ width: 100%;
+ height: 91px;
+}
+.project {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ width: 100%;
+ height: 41px;
+ padding-right: 0;
+ padding-left: 0;
+
+ background: url(../assets/img/project_bg.png);
+ background-size: 100% 41px;
+}
+.projectIcon {
+ width: 40px;
+ height: 39px;
+
+ vertical-align: middle;
+
+ border-radius: 5px 0 0 0;
+ background: #3284cd;
+}
+.projectTitle {
+ font-family: PingFangSC-Semibold,
+ PingFang SC;
+ font-size: 16px;
+ font-weight: 600;
+ line-height: 20px;
+
+ height: 20px;
+
+ vertical-align: middle;
+
+ color: #fff;
+}
+.projectRight {
+ display: flex;
+ align-items: center;
+
+ width: 95px;
+ height: 27px;
+
+ opacity: .82;
+ border-radius: 13px 0 0 17px;
+ background: #24bca3;
+}
+.projectRightFont {
+ font-family: PingFangSC-Semibold,
+ PingFang SC;
+ font-size: 10px;
+ font-weight: 600;
+ line-height: 14px;
+
+ height: 17px;
+
+ color: #fff;
+}
+.projectRightIcon {
+ width: 17px;
+ height: 17px;
+ margin-right: 3px;
+ margin-left: 8px;
+}
+.projectCenter {
+ height: 440px;
+ padding-bottom: 35px;
+
+ background: #fff;
+ box-shadow: 0 2px 6px 1px rgba(212, 212, 212, .5);
+}
+.projectCenterInfo {
+ display: flex;
+ align-items: center;
+
+ padding-top: 5px;
+}
+.projectCenterImg {
+ width: 15px;
+ height: 15px;
+ padding: 0 13px;
+}
+.projectCenterFont {
+ font-family: PingFangSC-Regular,
+ PingFang SC;
+ font-size: 12px;
+ font-weight: 400;
+ line-height: 12px;
+
+ height: 12px;
+
+ color: #2c2b2b;
+}
+.assess {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ width: 100%;
+ height: 25px;
+ padding-right: 0;
+ padding-left: 0;
+}
+.assessIcon {
+ width: 24px;
+ height: 24px;
+ margin-right: 10px;
+
+ vertical-align: middle;
+
+ background: #2468f2;
+}
+.assessTitle {
+ font-family: PingFangSC-Regular,
+ PingFang SC;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 20px;
+
+ height: 20px;
+
+ color: #2468f2;
+}
+.assessRightIcon {
+ width: 24px;
+ height: 24px;
+
+ background: #2468f2;
+}
+.assessBox {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ padding-top: 10px;
+ padding-bottom: 10px;
+ padding-left: 12px;
+}
+.assessCenter1 {
+ margin: 15px;
+
+ border-left: 2px solid #24bca3;
+}
+.assessCenter2 {
+ margin: 15px;
+
+ border-left: 2px solid #ff5959;
+}
+.protocolTitle {
+ overflow: hidden;
+
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+.font11 {
+ font-family: PingFangSC-Regular,
+ PingFang SC;
+ font-size: 11px;
+ font-weight: 400;
+ line-height: 11px;
+
+ height: 11px;
+
+ color: #9da2a3;
+}
+.protocolBox {
+ border-radius: 4px;
+ background: #fff;
+ box-shadow: 0 2px 5px 0 rgba(168, 168, 168, .5);
+}
+.font14 {
+ font-family: PingFangSC-Regular,
+ PingFang SC;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 20px;
+
+ height: 20px;
+
+ color: #202020;
+}
+.protocolList {
+ padding: 20px 21px 0 20px;
+}
+.protocolLine {
+ padding-bottom: 10px;
+
+ border-bottom: 1px dashed rgba(168, 168, 168, .5);
+}
diff --git a/FrontCode2/sunshine_levy/src/components/home.vue b/FrontCode2/sunshine_levy/src/components/home.vue
new file mode 100644
index 0000000..5f64cf0
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/components/home.vue
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+
+
+ 被征收人姓名:
+ {{user.name}}
+
+
+
+ 身份证号码:
+ {{user.identityId}}
+
+
+
+
+
+
+
+
+
+
+
+ {{project.name}}
+
+
+
+ 协议签订阶段
+
+
+
+
+
+
+
+ 项目所在区域:
+ {{project.area}}
+
+
+
+
+
+ 征收部门:
+ {{project.department}}
+
+
+
+
+
+ 所属年份:
+ {{project.year}}
+
+
+
+
+
+ 征收决定号:
+ {{project.num}}
+
+
+
+
+
+
+ 评估报告编号:
+ {{assess.num}}
+
+
+ 被征收房屋地址:
+ {{assess.address}}
+
+
+ 评估总金额:
+ ¥{{assess.amount}}
+
+
+
+
+
+ 协议编号:
+ {{retrievalProtocol.num}}
+
+
+ 被征收房屋地址:
+ {{retrievalProtocol.address}}
+
+
+ 补偿方式:
+ {{retrievalProtocol.compensation}}
+
+
+ 合计补偿资金:
+ ¥{{retrievalProtocol.amount}}
+
+
+
+
+
+
+
+
+
征收政策
+
+
共{{total}}条
+
+ 查看全部
+
+
+
+
+
+
+
+
+
+
{{item.title}}
+
+
+ 发布时间:
+ {{item.publish_date}}
+
+
+ 区域:
+ {{item.area}}
+
+
+
+
+
{{item.title}}
+
+
+ 发布时间:
+ {{item.publish_date}}
+
+
+ 区域:
+ {{item.area}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/FrontCode2/sunshine_levy/src/main.js b/FrontCode2/sunshine_levy/src/main.js
new file mode 100644
index 0000000..be04d2d
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/main.js
@@ -0,0 +1,49 @@
+// The Vue build version to load with the `import` command
+// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
+import './assets/reset.css';
+import 'lib-flexible/flexible';
+
+import Vue from 'vue'
+import App from './App'
+import router from './router'
+import { Button, NavBar, Cell, CellGroup } from 'vant';
+
+
+Vue.use(Button).use(NavBar).use(Cell).use(CellGroup);
+
+import { Image as VanImage } from 'vant';
+
+Vue.use(VanImage);
+
+import { Col, Row } from 'vant';
+
+Vue.use(Col);
+Vue.use(Row);
+
+import { Grid, GridItem } from 'vant';
+
+Vue.use(Grid);
+Vue.use(GridItem);
+
+import { Icon } from 'vant';
+
+Vue.use(Icon);
+
+import { List } from 'vant';
+
+Vue.use(List);
+
+import { Divider } from 'vant';
+
+Vue.use(Divider);
+
+Vue.config.productionTip = false
+
+/* eslint-disable no-new */
+const vm = new Vue({
+ el: '#app',
+ router,
+ components: { App },
+ template: '
'
+})
+export default vm
\ No newline at end of file
diff --git a/FrontCode2/sunshine_levy/src/router/index.js b/FrontCode2/sunshine_levy/src/router/index.js
new file mode 100644
index 0000000..1f1b5bc
--- /dev/null
+++ b/FrontCode2/sunshine_levy/src/router/index.js
@@ -0,0 +1,15 @@
+import Vue from 'vue'
+import Router from 'vue-router'
+import home from '@/components/home'
+
+Vue.use(Router)
+
+export default new Router({
+ routes: [
+ {
+ path: '/',
+ name: 'home',
+ component: home
+ }
+ ]
+})
diff --git a/FrontCode2/sunshine_levy/static/.gitkeep b/FrontCode2/sunshine_levy/static/.gitkeep
new file mode 100644
index 0000000..e69de29