jiangping
2025-07-14 996154fb8fab5468cdfc99efbab606605fb762e1
前端
已添加40个文件
已删除5个文件
已修改30个文件
2204 ■■■■ 文件已修改
.idea/compiler.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/encodings.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_github_ben_manes_caffeine_caffeine_2_8_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_github_binarywang_qrcode_utils_1_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_github_binarywang_weixin_java_common_4_7_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_github_binarywang_weixin_java_miniapp_4_7_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_github_binarywang_weixin_java_pay_4_1_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_github_wechatpay_apiv3_wechatpay_java_0_2_12.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_github_wechatpay_apiv3_wechatpay_java_core_0_2_12.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_18_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_2_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_guava_guava_27_0_1_android.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_guava_guava_32_1_2_jre.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_2_8.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_google_zxing_core_3_2_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_huaweicloud_esdk_obs_java_3_19_7.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_huaweicloud_esdk_obs_java_bundle_3_23_9.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_jamesmurty_utils_java_xmlbuilder_1_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_squareup_okhttp3_okhttp_3_14_7.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_squareup_okio_okio_1_14_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_21.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__io_github_x_stream_mxparser_1_2_2.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_11.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_11.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_apache_logging_log4j_log4j_core_2_12_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk18on_1_78_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_bouncycastle_bcprov_jdk18on_1_78_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_bouncycastle_bcutil_jdk18on_1_78_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_checkerframework_checker_compat_qual_2_5_2.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_checkerframework_checker_qual_3_1_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_checkerframework_checker_qual_3_33_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_dom4j_dom4j_2_1_3.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_jodd_jodd_core_5_2_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_jodd_jodd_http_5_2_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_jodd_jodd_util_6_0_0.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_2_5_RELEASE.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_cache_2_2_5_RELEASE.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/modules.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/package-lock.json 162 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/package.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/public/index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/member.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/base/BaseTable.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaMemberDetailWindow.vue 503 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/Menu.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/router/index.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/category.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/identityInfo.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/member.vue 231 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/memberRevenue.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/orderLog.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/orders.vue 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/receiveWeight.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/withdrawalOrders.vue 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/admin/src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/pom.xml 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/api/common/PublicCloudController.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/core/constants/Constants.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/core/utils/huaweiOBS/ObsUtil.java 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Member.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/MemberRevenue.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/MemberRevenueServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/compiler.xml
@@ -7,22 +7,30 @@
        <sourceOutputDir name="target/generated-sources/annotations" />
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <module name="jinkuai" />
        <module name="admin" />
        <module name="services" />
        <module name="lianghelihua" />
        <module name="dmttwebsite" />
        <module name="web" />
      </profile>
    </annotationProcessing>
    <bytecodeTargetLevel>
      <module name="admin" target="1.8" />
      <module name="dmttwebsite" target="1.8" />
      <module name="jinkuai" target="1.8" />
      <module name="lianghelihua" target="1.8" />
      <module name="services" target="1.8" />
      <module name="web" target="1.8" />
    </bytecodeTargetLevel>
  </component>
  <component name="JavacSettings">
    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
      <module name="admin" options="-parameters" />
      <module name="dmttwebsite" options="-parameters" />
      <module name="jinkuai" options="-parameters" />
      <module name="lianghelihua" options="-parameters" />
      <module name="services" options="-parameters" />
      <module name="web" options="-parameters" />
    </option>
  </component>
</project>
.idea/encodings.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Encoding">
    <file url="file://$PROJECT_DIR$/server/admin/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/server/services/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/server/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/server/src/main/resources" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/server/web/src/main/java" charset="UTF-8" />
  </component>
</project>
.idea/libraries/Maven__com_github_ben_manes_caffeine_caffeine_2_8_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.github.ben-manes.caffeine:caffeine:2.8.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/ben-manes/caffeine/caffeine/2.8.1/caffeine-2.8.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/ben-manes/caffeine/caffeine/2.8.1/caffeine-2.8.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/ben-manes/caffeine/caffeine/2.8.1/caffeine-2.8.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_github_binarywang_qrcode_utils_1_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.github.binarywang:qrcode-utils:1.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/qrcode-utils/1.1/qrcode-utils-1.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/qrcode-utils/1.1/qrcode-utils-1.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/qrcode-utils/1.1/qrcode-utils-1.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_github_binarywang_weixin_java_common_4_7_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.github.binarywang:weixin-java-common:4.7.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-common/4.7.0/weixin-java-common-4.7.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-common/4.7.0/weixin-java-common-4.7.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-common/4.7.0/weixin-java-common-4.7.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_github_binarywang_weixin_java_miniapp_4_7_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.github.binarywang:weixin-java-miniapp:4.7.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-miniapp/4.7.0/weixin-java-miniapp-4.7.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-miniapp/4.7.0/weixin-java-miniapp-4.7.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-miniapp/4.7.0/weixin-java-miniapp-4.7.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_github_binarywang_weixin_java_pay_4_1_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.github.binarywang:weixin-java-pay:4.1.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-pay/4.1.0/weixin-java-pay-4.1.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-pay/4.1.0/weixin-java-pay-4.1.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/binarywang/weixin-java-pay/4.1.0/weixin-java-pay-4.1.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_github_wechatpay_apiv3_wechatpay_java_0_2_12.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.github.wechatpay-apiv3:wechatpay-java:0.2.12">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/wechatpay-apiv3/wechatpay-java/0.2.12/wechatpay-java-0.2.12.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/wechatpay-apiv3/wechatpay-java/0.2.12/wechatpay-java-0.2.12-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/wechatpay-apiv3/wechatpay-java/0.2.12/wechatpay-java-0.2.12-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_github_wechatpay_apiv3_wechatpay_java_core_0_2_12.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.github.wechatpay-apiv3:wechatpay-java-core:0.2.12">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/wechatpay-apiv3/wechatpay-java-core/0.2.12/wechatpay-java-core-0.2.12.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/wechatpay-apiv3/wechatpay-java-core/0.2.12/wechatpay-java-core-0.2.12-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/github/wechatpay-apiv3/wechatpay-java-core/0.2.12/wechatpay-java-core-0.2.12-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.google.code.gson:gson:2.8.6">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/code/gson/gson/2.8.6/gson-2.8.6-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/code/gson/gson/2.8.6/gson-2.8.6-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_18_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.google.errorprone:error_prone_annotations:2.18.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_2_0.xml
ÎļþÒÑɾ³ý
.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.google.errorprone:error_prone_annotations:2.3.4">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_google_guava_guava_27_0_1_android.xml
ÎļþÒÑɾ³ý
.idea/libraries/Maven__com_google_guava_guava_32_1_2_jre.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.google.guava:guava:32.1.2-jre">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml
ÎļþÒÑɾ³ý
.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_2_8.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.google.j2objc:j2objc-annotations:2.8">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_google_zxing_core_3_2_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.google.zxing:core:3.2.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/zxing/core/3.2.1/core-3.2.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/zxing/core/3.2.1/core-3.2.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/google/zxing/core/3.2.1/core-3.2.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_huaweicloud_esdk_obs_java_3_19_7.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.huaweicloud:esdk-obs-java:3.19.7">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/huaweicloud/esdk-obs-java/3.19.7/esdk-obs-java-3.19.7.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/huaweicloud/esdk-obs-java/3.19.7/esdk-obs-java-3.19.7-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/huaweicloud/esdk-obs-java/3.19.7/esdk-obs-java-3.19.7-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_huaweicloud_esdk_obs_java_bundle_3_23_9.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.huaweicloud:esdk-obs-java-bundle:3.23.9">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/huaweicloud/esdk-obs-java-bundle/3.23.9/esdk-obs-java-bundle-3.23.9.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/huaweicloud/esdk-obs-java-bundle/3.23.9/esdk-obs-java-bundle-3.23.9-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/huaweicloud/esdk-obs-java-bundle/3.23.9/esdk-obs-java-bundle-3.23.9-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_jamesmurty_utils_java_xmlbuilder_1_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.jamesmurty.utils:java-xmlbuilder:1.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/jamesmurty/utils/java-xmlbuilder/1.1/java-xmlbuilder-1.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/jamesmurty/utils/java-xmlbuilder/1.1/java-xmlbuilder-1.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/jamesmurty/utils/java-xmlbuilder/1.1/java-xmlbuilder-1.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_squareup_okhttp3_okhttp_3_14_7.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.squareup.okhttp3:okhttp:3.14.7">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/squareup/okhttp3/okhttp/3.14.7/okhttp-3.14.7.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/squareup/okhttp3/okhttp/3.14.7/okhttp-3.14.7-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/squareup/okhttp3/okhttp/3.14.7/okhttp-3.14.7-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_squareup_okio_okio_1_14_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.squareup.okio:okio:1.14.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/squareup/okio/okio/1.14.0/okio-1.14.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/squareup/okio/okio/1.14.0/okio-1.14.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_21.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: com.thoughtworks.xstream:xstream:1.4.21">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/thoughtworks/xstream/xstream/1.4.21/xstream-1.4.21.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/thoughtworks/xstream/xstream/1.4.21/xstream-1.4.21-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/com/thoughtworks/xstream/xstream/1.4.21/xstream-1.4.21-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: commons-logging:commons-logging:1.2">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/commons-logging/commons-logging/1.2/commons-logging-1.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/commons-logging/commons-logging/1.2/commons-logging-1.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__io_github_x_stream_mxparser_1_2_2.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: io.github.x-stream:mxparser:1.2.2">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/io/github/x-stream/mxparser/1.2.2/mxparser-1.2.2.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/io/github/x-stream/mxparser/1.2.2/mxparser-1.2.2-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/io/github/x-stream/mxparser/1.2.2/mxparser-1.2.2-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_11.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.apache.httpcomponents:httpclient:4.5.11">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpclient/4.5.11/httpclient-4.5.11.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpclient/4.5.11/httpclient-4.5.11-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpclient/4.5.11/httpclient-4.5.11-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.apache.httpcomponents:httpcore:4.4.13">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_11.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.apache.httpcomponents:httpmime:4.5.11">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpmime/4.5.11/httpmime-4.5.11.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpmime/4.5.11/httpmime-4.5.11-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/httpcomponents/httpmime/4.5.11/httpmime-4.5.11-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_apache_logging_log4j_log4j_core_2_12_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.apache.logging.log4j:log4j-core:2.12.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/logging/log4j/log4j-core/2.12.1/log4j-core-2.12.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/logging/log4j/log4j-core/2.12.1/log4j-core-2.12.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/apache/logging/log4j/log4j-core/2.12.1/log4j-core-2.12.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.aspectj:aspectjweaver:1.9.5">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/aspectj/aspectjweaver/1.9.5/aspectjweaver-1.9.5.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/aspectj/aspectjweaver/1.9.5/aspectjweaver-1.9.5-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/aspectj/aspectjweaver/1.9.5/aspectjweaver-1.9.5-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk18on_1_78_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.bouncycastle:bcpkix-jdk18on:1.78.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcpkix-jdk18on/1.78.1/bcpkix-jdk18on-1.78.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcpkix-jdk18on/1.78.1/bcpkix-jdk18on-1.78.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcpkix-jdk18on/1.78.1/bcpkix-jdk18on-1.78.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_bouncycastle_bcprov_jdk18on_1_78_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.bouncycastle:bcprov-jdk18on:1.78.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcprov-jdk18on/1.78.1/bcprov-jdk18on-1.78.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcprov-jdk18on/1.78.1/bcprov-jdk18on-1.78.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcprov-jdk18on/1.78.1/bcprov-jdk18on-1.78.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_bouncycastle_bcutil_jdk18on_1_78_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.bouncycastle:bcutil-jdk18on:1.78.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcutil-jdk18on/1.78.1/bcutil-jdk18on-1.78.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcutil-jdk18on/1.78.1/bcutil-jdk18on-1.78.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/bouncycastle/bcutil-jdk18on/1.78.1/bcutil-jdk18on-1.78.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_checkerframework_checker_compat_qual_2_5_2.xml
ÎļþÒÑɾ³ý
.idea/libraries/Maven__org_checkerframework_checker_qual_3_1_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.checkerframework:checker-qual:3.1.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/checkerframework/checker-qual/3.1.0/checker-qual-3.1.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/checkerframework/checker-qual/3.1.0/checker-qual-3.1.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/checkerframework/checker-qual/3.1.0/checker-qual-3.1.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_checkerframework_checker_qual_3_33_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.checkerframework:checker-qual:3.33.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml
ÎļþÒÑɾ³ý
.idea/libraries/Maven__org_dom4j_dom4j_2_1_3.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.dom4j:dom4j:2.1.3">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/dom4j/dom4j/2.1.3/dom4j-2.1.3.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/dom4j/dom4j/2.1.3/dom4j-2.1.3-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/dom4j/dom4j/2.1.3/dom4j-2.1.3-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_jodd_jodd_core_5_2_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.jodd:jodd-core:5.2.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-core/5.2.0/jodd-core-5.2.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-core/5.2.0/jodd-core-5.2.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-core/5.2.0/jodd-core-5.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_jodd_jodd_http_5_2_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.jodd:jodd-http:5.2.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-http/5.2.0/jodd-http-5.2.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-http/5.2.0/jodd-http-5.2.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-http/5.2.0/jodd-http-5.2.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_jodd_jodd_util_6_0_0.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.jodd:jodd-util:6.0.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-util/6.0.0/jodd-util-6.0.0.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-util/6.0.0/jodd-util-6.0.0-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/jodd/jodd-util/6.0.0/jodd-util-6.0.0-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_2_5_RELEASE.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-starter-aop:2.2.5.RELEASE">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/springframework/boot/spring-boot-starter-aop/2.2.5.RELEASE/spring-boot-starter-aop-2.2.5.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/springframework/boot/spring-boot-starter-aop/2.2.5.RELEASE/spring-boot-starter-aop-2.2.5.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/springframework/boot/spring-boot-starter-aop/2.2.5.RELEASE/spring-boot-starter-aop-2.2.5.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_cache_2_2_5_RELEASE.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: org.springframework.boot:spring-boot-starter-cache:2.2.5.RELEASE">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/springframework/boot/spring-boot-starter-cache/2.2.5.RELEASE/spring-boot-starter-cache-2.2.5.RELEASE.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/springframework/boot/spring-boot-starter-cache/2.2.5.RELEASE/spring-boot-starter-cache-2.2.5.RELEASE-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/org/springframework/boot/spring-boot-starter-cache/2.2.5.RELEASE/spring-boot-starter-cache-2.2.5.RELEASE-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<component name="libraryTable">
  <library name="Maven: xmlpull:xmlpull:1.1.3.1">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar!/" />
    </CLASSES>
    <JAVADOC>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1-javadoc.jar!/" />
    </JAVADOC>
    <SOURCES>
      <root url="jar://$PROJECT_DIR$/../../../maven/repository/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1-sources.jar!/" />
    </SOURCES>
  </library>
</component>
.idea/modules.xml
@@ -2,9 +2,12 @@
<project version="4">
  <component name="ProjectModuleManager">
    <modules>
      <module fileurl="file://$PROJECT_DIR$/server/admin/admin.iml" filepath="$PROJECT_DIR$/server/admin/admin.iml" />
      <module fileurl="file://$PROJECT_DIR$/server/dmttwebsite.iml" filepath="$PROJECT_DIR$/server/dmttwebsite.iml" />
      <module fileurl="file://$PROJECT_DIR$/server/jinkuai.iml" filepath="$PROJECT_DIR$/server/jinkuai.iml" />
      <module fileurl="file://$PROJECT_DIR$/server/lianghelihua.iml" filepath="$PROJECT_DIR$/server/lianghelihua.iml" />
      <module fileurl="file://$PROJECT_DIR$/server/services/services.iml" filepath="$PROJECT_DIR$/server/services/services.iml" />
      <module fileurl="file://$PROJECT_DIR$/server/web/web.iml" filepath="$PROJECT_DIR$/server/web/web.iml" />
    </modules>
  </component>
</project>
admin/.env
@@ -7,7 +7,7 @@
VUE_APP_ROUTER_MODE = 'hash'
# é¡¹ç›®ä¸Šä¸‹æ–‡è·¯å¾„
VUE_APP_CONTEXT_PATH = '/lianhelihua_admin'
VUE_APP_CONTEXT_PATH = '/'
# æŽ¥å£å‰ç¼€
VUE_APP_API_PREFIX = ''
admin/.env.development
@@ -1,3 +1,3 @@
# å¼€å‘环境配置
NODE_ENV = 'development'
VUE_APP_API_URL  = 'http://192.168.0.129:10040'
VUE_APP_API_URL  = 'http://localhost:10010'
admin/package-lock.json
@@ -1,5 +1,5 @@
{
  "name": "lianhelihua",
  "name": "jinkuai",
  "version": "1.0.0",
  "lockfileVersion": 1,
  "requires": true,
@@ -1871,63 +1871,6 @@
          "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
          "dev": true
        },
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "dev": true,
          "optional": true,
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "ssri": {
          "version": "8.0.1",
          "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1617826515595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-8.0.1.tgz",
@@ -1935,28 +1878,6 @@
          "dev": true,
          "requires": {
            "minipass": "^3.1.1"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        },
        "vue-loader-v16": {
          "version": "npm:vue-loader@16.8.3",
          "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
          "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
          "dev": true,
          "optional": true,
          "requires": {
            "chalk": "^4.1.0",
            "hash-sum": "^2.0.0",
            "loader-utils": "^2.0.0"
          }
        }
      }
@@ -13696,6 +13617,87 @@
        }
      }
    },
    "vue-loader-v16": {
      "version": "npm:vue-loader@16.8.3",
      "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
      "dev": true,
      "optional": true,
      "requires": {
        "chalk": "^4.1.0",
        "hash-sum": "^2.0.0",
        "loader-utils": "^2.0.0"
      },
      "dependencies": {
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "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.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        }
      }
    },
    "vue-router": {
      "version": "3.5.1",
      "resolved": "https://registry.nlark.com/vue-router/download/vue-router-3.5.1.tgz?cache=0&sync_timestamp=1620899536020&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-3.5.1.tgz",
admin/package.json
@@ -1,5 +1,5 @@
{
  "name": "lianhelihua",
  "name": "jinkuai",
  "version": "1.0.0",
  "private": true,
  "scripts": {
admin/public/index.html
@@ -5,7 +5,7 @@
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title>豆米跳跳官网后台管理</title>
    <title>近快后台管理系统</title>
  </head>
  <body>
    <div id="app"></div>
admin/src/api/business/member.js
@@ -11,6 +11,9 @@
export function create (data) {
  return request.post('/business/member/create', data)
}
export function updateStatus (data) {
  return request.post('/business/member/updateStatus', data)
}
// ä¿®æ”¹
export function updateById (data) {
@@ -21,6 +24,9 @@
export function deleteById (id) {
  return request.get(`/business/member/delete/${id}`)
}
export function getById (id) {
  return request.get(`/business/member/${id}`)
}
// æ‰¹é‡åˆ é™¤
export function deleteByIdInBatch (ids) {
admin/src/components/base/BaseTable.vue
@@ -103,7 +103,7 @@
      this.search()
    },
    refresh () {
     window.location.reload()
      window.location.reload()
    },
    /**
     * é¡µå®¹é‡å˜æ›´å¤„理(切换页容量时触发)
admin/src/components/business/OperaMemberDetailWindow.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,503 @@
<template>
  <GlobalWindow
    :title="title"
    :visible.sync="visible"
    :withFooter="false"
    width="calc(100% - 250px)"
    :confirm-working="isWorking"
    @close="close"
    @confirm="confirm">
    <div style="width: 100%; position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white">
      <div style="display: flex;background: #e4ecfe;padding: 20px">
        <div style="width: 60px;">
          <div class="home_title" v-if="info">
            <el-image v-if="info.imgurlFull" style="width: 50px; height: 50px;border-radius: 50%;margin-right: 10px" :src="info.imgurlFull"
                      :preview-src-list="[info.imgurlFull]">
            </el-image>
            <el-image v-else style="width: 50px; height: 50px;border-radius: 50%;margin-right: 10px" src="avatar/man.png" >
            </el-image>
          </div>
        </div>
        <div style="width: calc(100% - 60px);">
          <div class="home_title" v-if="info">
            <div class="left">
              <span class="m10">昵称:{{info.nickName }}</span>
              <span class="mr10 bluebtn" :title="'姓名:'+(info.name||'未设置姓名')"  >({{(info.name||'未设置姓名') }})</span>
              <el-tag type="primary" class="mr10 tag1">发单方</el-tag>
              <el-tag type="success" class="mr10 tag1" v-if="info.workerIdentity == 2 || info.driverIdentity == 2 || info.chefIdentity == 2">接单方</el-tag>
            </div>
          </div>
          <div class="remark" v-if="info">
            <el-button  class="bluebtn" icon="el-icon-phone" title="手机号"> {{info.telephone||'未设置' }}</el-button>
            <el-button  class="yellowbtn" icon="el-icon-star-on"  title="平均评分"> {{info.score||'0' }}分</el-button>
            <el-button  class="redbtn" icon="el-icon-coin"  title="账号余额(元)"> {{(info.amount||0).toFixed(2)}}元</el-button>
          </div>
        </div>
      </div>
      <div class="tabs">
        <div class="tab" :class="{ active: activeTabs === 0 }" @click="tabsClick(0)">余额明细</div>
        <div class="tab" :class="{ active: activeTabs === 1 }" @click="tabsClick(1)">评价记录</div>
        <div class="tab" :class="{ active: activeTabs === 2 }" @click="tabsClick(2)">认证信息</div>
      </div>
    </div>
    <div class="main" v-if="activeTabs === 0 && info">
      <div class="title" >
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
          <el-form-item label="交易流水号"  style="width: 200px;" label-width="100px" prop="telephone">
            <el-input v-model="searchForm.telephone" style="width: 100px"  clearable placeholder="请输入" ></el-input>
          </el-form-item>
          <el-form-item label="收支类型" prop="type"  style="width: 200px;" label-width="100px" >
            <el-select v-model="searchForm.optType"  style="width: 100px"  clearable placeholder="请选择类型"  >
              <el-option :value="1" label="收入"></el-option>
              <el-option :value="-1" label="支出"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="收支时间" prop="eventType"  style="width: 330px;" label-width="100px" >
            <el-date-picker type="datetime"  style="width: 100px"  v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                            placeholder="开始时间" />-
            <el-date-picker type="datetime"  style="width: 100px"  v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                            placeholder="结束时间" />
          </el-form-item>
          <section  style="width: 200px;display: inline-block" >
            <el-button type="primary" @click="handleCurrentChange0(0)">搜索</el-button>
            <el-button @click="reset0">重置</el-button>
            <el-button @click="exportExcel0">重置</el-button>
          </section>
        </el-form>
      </div>
      <el-table
          v-loading="isWorking.search"
          :data="tableData.records"
          stripe
      >
        <el-table-column prop="type" label="收入/支出"  width="80px" align="center" >
          <template slot-scope="{row}">
            <span style="cursor: pointer;color: #3acf18" v-if="row.optType ==1">收入</span>
            <span style="cursor: pointer;color: #a10e0e" v-else>支出</span>
          </template>
        </el-table-column>
        <el-table-column prop="telephone" label="金额(元)" width="120px"  align="center">
          <template slot-scope="{row}">
            <span class="yellowbtn">{{ ((row.amount || 0)/100).toFixed(2) }}</span>
          </template>
        </el-table-column>
        <el-table-column prop="createTime" label="收支时间" min-width="150px"  align="center"></el-table-column>
        <el-table-column prop="typeName" label="业务类型" min-width="100px"  align="center"></el-table-column>
        <el-table-column prop="transactionNo" label="订单/交易号" min-width="100px"  align="center">  </el-table-column>
      </el-table>
      <el-pagination
          @current-change="handleCurrentChange0"
          :current-page="page0"
          :page-size="pageSize"
          layout="total, prev, pager, next, jumper"
          :total="tableData.total">
      </el-pagination>
    </div>
    <div class="main" v-if="activeTabs === 1 && info">
      <el-radio-group v-model="type" @change="changeType" style="margin-bottom: 20px;">
        <el-radio-button :label="0">收到的评价</el-radio-button>
        <el-radio-button :label="1">发布的评价</el-radio-button>
      </el-radio-group>
      <el-table
        :data="tableData"
        border
        v-loading="loading"
        style="width: 100%">
        <el-table-column
          width="150"
          label="账单编号">
        </el-table-column>
        <el-table-column
          label="费用类型">
        </el-table-column>
        <el-table-column
          prop="totleFee"
          label="账单金额">
        </el-table-column>
        <el-table-column
          :key="Date.now()"
          prop="receivableFee"
          :label="`应${type === 0 ? '收' : '付'}金额`">
        </el-table-column>
        <el-table-column
          prop="actReceivableFee"
          :label="`实${type === 0 ? '收' : '付'}金额`">
        </el-table-column>
        <el-table-column
          :label="`需${type === 0 ? '收' : '付'}金额`">
          <template slot-scope="{row}">
            <template v-if="type === 0">
              <el-tag type="success" v-if="row.needReceivableFee > 0">收</el-tag>
              <el-tag type="warning" v-else-if="row.needReceivableFee < 0">付</el-tag>
            </template>
            <template v-else>
              <el-tag type="warning" v-if="row.needReceivableFee !== 0">付</el-tag>
            </template>
            <span style="margin-left: 10px;">{{Math.abs(row.needReceivableFee)}}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="账单来源">
          <template slot-scope="{row}">
            <span v-if="row.type === 0">合同账单</span>
            <span v-else>自建账单</span>
          </template>
        </el-table-column>
        <el-table-column
          width="200"
          label="计费周期">
          <template slot-scope="{row}">
            {{ row.startDate }} ~ {{ row.endDate }}
          </template>
        </el-table-column>
        <el-table-column
          prop="planPayDate"
          label="应收日期">
        </el-table-column>
        <el-table-column
          label="是否逾期">
        </el-table-column>
        <el-table-column
          fixed="right"
          label="状态">
        </el-table-column>
      </el-table>
      <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="page"
        :page-sizes="[10, 15, 20, 25]"
        :page-size="pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="total">
      </el-pagination>
    </div>
    <div class="main" v-if="activeTabs === 2 && info">
      <div class="title">操作记录</div>
      <el-table
        :data="info.logList"
        border
        style="width: 100%">
        <el-table-column
          :key="Date.now()"
          width="200"
          prop="param1"
          label="操作人">
        </el-table-column>
        <el-table-column
          :key="Date.now()"
          width="200"
          prop="createDate"
          label="操作时间">
        </el-table-column>
        <el-table-column
          :key="Date.now()"
          width="150"
          label="操作">
          <template slot-scope="{row}">
            <span v-if="row.objType === 0">工单创建</span>
            <span v-if="row.objType === 1">指派</span>
            <span v-if="row.objType === 2">处理</span>
            <span v-if="row.objType === 3">合同创建</span>
            <span v-if="row.objType === 4">合同变更</span>
            <span v-if="row.objType === 5">合同退租</span>
          </template>
        </el-table-column>
        <el-table-column
          :key="Date.now()"
          prop="content"
          label="操作内容">
        </el-table-column>
      </el-table>
    </div>
  </GlobalWindow>
</template>
<script>
import GlobalWindow from '@/components/common/GlobalWindow'
import BaseOpera from '@/components/base/BaseOpera'
import { getById } from '@/api/business/member'
import { fetchList as yueList } from '@/api/business/memberRevenue'
import { commentList } from '@/api/business/orders'
import { fetchList as renzhengList } from '@/api/business/identityInfo'
export default {
  components: {
    GlobalWindow
  },
  extends: BaseOpera,
  data () {
    return {
      id: '',
      visible: false,
      activeTabs: 0,
      type: 0,
      info: {},
      pageSize: 10,
      page: 1,
      total: 0,
      tableData: {},
      page0: 1,
      totalPage0: 0,
      total0: 0,
      loading: false,
      searchForm: {
        type: 0,
        startTime: null,
        endTime: null,
        optType: null,
        transactionNo: null
      }
    }
  },
  methods: {
    open (title, id) {
      this.title = title
      this.visible = true
      this.activeTabs = 0
      this.type = 0
      this.page0 = 1
      this.totalPage0 = 0
      this.total0 = 0
      this.pageSize = 10
      this.tableData = {}
      this.id = id
      this.getData()
    },
    getData () {
      getById(this.id)
        .then(res => {
          this.info = res
          this.visible = true
          this.handleCurrentChange0(0)
        })
    },
    exportExcel0 (page) {
      this.page0 = page
      this.getYueList()
    },
    reset0 () {
      this.searchForm.startTime = null
      this.searchForm.endTime = null
      this.searchForm.optType = null
      this.searchForm.transactionNo = null
      this.page0 = 0
      this.getYueList()
    },
    handleCurrentChange0 (page) {
      this.page0 = page
      this.getYueList()
    },
    getYueList () {
      this.loading = true
      yueList({
        capacity: this.pageSize,
        page: this.page0,
        model: {
          memberId: this.info.id || -1,
          startTime: this.searchForm.startTime,
          endTime: this.searchForm.endTime,
          optType: this.searchForm.optType,
          transactionNo: this.searchForm.transactionNo
        }
      }).then(res => {
        this.loading = false
        this.tableData = res
        this.total0 = res.total
        this.totalPage0 = res.total
        console.log(this.tableData)
      }).catch(e => {
        this.$tip.apiFailed(e)
      }).finally(() => {
        this.loading = false
      })
    },
    close () {
    },
    getRenzhengList () {
      this.loading = true
      renzhengList({
        capacity: this.pageSize,
        page: this.page,
        model: {
          startTime: this.searchForm.startTime,
          endTime: this.searchForm.endTime,
          optType: this.searchForm.optType,
          transactionNo: this.searchForm.transactionNo
        }
      }).then(res => {
        this.loading = false
        this.tableData = res.records
        this.total = res.total
      }).catch(e => {
        this.$tip.apiFailed(e)
      }).finally(() => {
        this.loading = false
      })
    },
    getCommentList () {
      this.loading = true
      commentList({
        capacity: this.pageSize,
        page: this.page,
        model: {
          status: 0,
          billType: this.type,
          contractId: this.info.id
        }
      }).then(res => {
        this.loading = false
        this.tableData = res.records
        this.total = res.total
      })
    },
    changeType (e) {
      this.type = e
      this.page = 1
      this.pageSize = 10
      this.tableData = []
      this.getList()
    },
    tabsClick (val) {
      this.activeTabs = val
    },
    getDetail () {
    },
    handleSizeChange (e) {
      this.pageSize = e
      this.getList()
    },
    handleCurrentChange (e) {
      this.page = e
      this.getList()
    }
  }
}
</script>
<style lang="scss" scoped>
@import '@/assets/style/variables.scss';
.home_title {
  .mr10{
    margin-right: 10px;
  }
  .m10{
    margin: 10px;
  }
  .bluebtn{
    color: #2985f7;
  }
  .tag1{
    border-radius: 10px;
    font-size: 10px;
    padding: 0px 15px;
    height: 24px;
  }
  display: flex;
  justify-content: space-between;
  align-items: center;
  .left {
    font-weight: 500;
    font-size: 14px;
    margin-right: 10px;
    display: flex;
    align-items: center;
    .status {
      padding: 0 6px;
      height: 22px;
      line-height: 22px;
      border-radius: 2px;
      border: 1px solid #00BA92;
      color: #00BA92;
      font-weight: 400;
      font-size: 12px;
      color: #00BA92;
    }
  }
}
.tab{
  width: 20%;
}
.remark {
  //background: #E8EBF7;
  border-radius: 2px;
  font-size: 14px;
  margin: 10px 10px 0px -10px;
  button{
    border: none;
    cursor: default;
    margin-right: 20px;
    background: #e4ecfe;
  }
}
.bluebtn{
  font-weight: bold;
  color: #2985f7;
}
.redbtn{
  font-weight: bold;
  color: #ff1b1b;
}
.yellowbtn{
  font-weight: bold;
  color: #fc9d20;
}
.tabs {
  border-bottom: 1px solid #DFE2E8;
  display: flex;
  margin-bottom: 20px;
  .tab {
    height: 58px;
    line-height: 58px;
    font-size: 14px;
    color: #666666;
    margin-right: 30px;
    cursor: pointer;
  }
  .active {
    font-weight: 500;
    color: $primary-color;
    border-bottom: 2px solid $primary-color;
  }
}
.main {
  padding: 12px 16px;
  .title {
    font-weight: 500;
    font-size: 12px;
    color: $primary-color;
    margin-bottom: 15px;
  }
  /deep/ .el-form-item__label{
    font-size: 12px;
  }
  .list {
    display: flex;
    flex-wrap: wrap;
    /*background: #F7F7F7;*/
    border-radius: 2px;
    /*padding: 15px 20px;*/
    margin-bottom: 20px;
    .item {
      font-size: 14px;
      width: 25%;
      margin-bottom: 16px;
      .la {
        color: #7f7f7f;
        margin-bottom: 10px;
      }
    }
  }
}
/deep/ .window__body {
  padding: 0px !important;
}
</style>
admin/src/components/common/Menu.vue
@@ -2,7 +2,7 @@
  <div class="menu" :class="{collapse: menuData.collapse}">
    <div class="logo">
      <div><img src="@/assets/logo.png"></div>
      <h1 :class="{hidden: menuData.collapse}">豆米跳跳官网后台管理</h1>
      <h1 :class="{hidden: menuData.collapse}">近快后台管理系统</h1>
    </div>
    <scrollbar>
      <el-menu
admin/src/router/index.js
@@ -105,15 +105,11 @@
  // console.log('beforeEach========================:' + height)
  const height13 = getEleHeghtByClassName('common-header', 0)
  const height4 = getEleHeghtByClassName('table-pagination', 0,-20)
  const height5 = document.getElementsByTagName('thead') && document.getElementsByTagName('thead')[0] ? document.getElementsByTagName('thead')[0].clientHeight : 0
    // console.log('tableLayout========================')
    const height1 = getEleHeghtByClassName('table-search-form', 40, 16)
    const height3 = getEleHeghtByClassName('main-header', 0)
    // const height4 = getEleHeghtByClassName('table-pagination', 0,-20)
    const height2 = getEleHeghtByClassName('toolbar', 0)
    // console.log('defualtlength', document.getElementsByClassName('table-search-form').length)
    router.app.$store.commit('setTableHeightNew', height - height4 - height3 - height2 - height1 - height5 - height13)
    // console.log('gableHeightNew', router.app.$store.state.tableHeightNew)
  const height1 = getEleHeghtByClassName('table-search-form', 40, 16)
  const height3 = getEleHeghtByClassName('main-header', 0)
  const height2 = getEleHeghtByClassName('toolbar', 0)
  const height5 = getEleHeghtByClassName('status-bar', 0)
  router.app.$store.commit('setTableHeightNew', height - height4 - height3 - height2 - height1 -  height13-height5)
}
function getEleHeghtByClassName (name, dv, margin) {
admin/src/views/business/category.vue
@@ -2,44 +2,8 @@
  <TableLayout :permissions="['business:category:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="主键" prop="id">
        <el-input v-model="searchForm.id" placeholder="请输入主键" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="searchForm.deleted" placeholder="请输入是否已删除 0未删除 1已删除" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="状态:0=启用;1=禁用;" prop="status">
        <el-input v-model="searchForm.status" placeholder="请输入状态:0=启用;1=禁用;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="searchForm.createUser" placeholder="请输入创建人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="searchForm.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间" @change="search"/>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="searchForm.updateUser" placeholder="请输入更新人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="searchForm.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间" @change="search"/>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="searchForm.remark" placeholder="请输入备注" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="单位名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入单位名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="类型:0=品种配置;1=车辆类型配置;2=餐标配置;3=手续费配置;" prop="type">
        <el-input v-model="searchForm.type" placeholder="请输入类型:0=品种配置;1=车辆类型配置;2=餐标配置;3=手续费配置;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="内容(车辆规格、餐标、手续费比例)" prop="detail">
        <el-input v-model="searchForm.detail" placeholder="请输入内容(车辆规格、餐标、手续费比例)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="图标(车辆类型使用)" prop="icon">
        <el-input v-model="searchForm.icon" placeholder="请输入图标(车辆类型使用)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否固定车辆(车辆类型使用):0=否;1=是;" prop="isFixed">
        <el-input v-model="searchForm.isFixed" placeholder="请输入是否固定车辆(车辆类型使用):0=否;1=是;" @keypress.enter.native="search"></el-input>
      <el-form-item label="名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
@@ -53,6 +17,7 @@
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
admin/src/views/business/identityInfo.vue
@@ -2,32 +2,8 @@
  <TableLayout :permissions="['business:identityinfo:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="主键" prop="id">
        <el-input v-model="searchForm.id" placeholder="请输入主键" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="searchForm.deleted" placeholder="请输入是否已删除 0未删除 1已删除" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="searchForm.createUser" placeholder="请输入创建人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="searchForm.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间" @change="search"/>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="searchForm.updateUser" placeholder="请输入更新人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="searchForm.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间" @change="search"/>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="searchForm.remark" placeholder="请输入备注" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="类型:0=用工身份;1=货运身份;2=供餐身份;" prop="type">
        <el-input v-model="searchForm.type" placeholder="请输入类型:0=用工身份;1=货运身份;2=供餐身份;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="会员逐渐" prop="memberId">
        <el-input v-model="searchForm.memberId" placeholder="请输入会员逐渐" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="认证类型:0=个人;1=企业" prop="authType">
        <el-input v-model="searchForm.authType" placeholder="请输入认证类型:0=个人;1=企业" @keypress.enter.native="search"></el-input>
@@ -44,42 +20,6 @@
      <el-form-item label="单位名称" prop="companyName">
        <el-input v-model="searchForm.companyName" placeholder="请输入单位名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="纬度" prop="lat">
        <el-input v-model="searchForm.lat" placeholder="请输入纬度" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="经度" prop="lgt">
        <el-input v-model="searchForm.lgt" placeholder="请输入经度" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="身份证人像面" prop="identityFront">
        <el-input v-model="searchForm.identityFront" placeholder="请输入身份证人像面" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="身份证国徽面" prop="identityBack">
        <el-input v-model="searchForm.identityBack" placeholder="请输入身份证国徽面" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="营业执照(企业类使用)" prop="businessLicense">
        <el-input v-model="searchForm.businessLicense" placeholder="请输入营业执照(企业类使用)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="其他认证资料(企业类使用)" prop="otherFile">
        <el-input v-model="searchForm.otherFile" placeholder="请输入其他认证资料(企业类使用)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="道路运输经验许可证(企业类货运身份使用)" prop="transportFile">
        <el-input v-model="searchForm.transportFile" placeholder="请输入道路运输经验许可证(企业类货运身份使用)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="食品经营许可证(企业类供餐身份使用)" prop="foodBusinessFile">
        <el-input v-model="searchForm.foodBusinessFile" placeholder="请输入食品经营许可证(企业类供餐身份使用)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="从业人员健康证" prop="healthFile">
        <el-input v-model="searchForm.healthFile" placeholder="请输入从业人员健康证" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="认证审批状态:1=申请中;2=已通过;3=未通过;" prop="auditStatus">
        <el-input v-model="searchForm.auditStatus" placeholder="请输入认证审批状态:1=申请中;2=已通过;3=未通过;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="认证审批时间" prop="auditTime">
        <el-date-picker v-model="searchForm.auditTime" value-format="yyyy-MM-dd" placeholder="请输入认证审批时间" @change="search"/>
      </el-form-item>
      <el-form-item label="认证审批备注" prop="auditRemark">
        <el-input v-model="searchForm.auditRemark" placeholder="请输入认证审批备注" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
@@ -92,6 +32,7 @@
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:identityinfo:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
admin/src/views/business/member.vue
@@ -2,95 +2,30 @@
  <TableLayout :permissions="['business:member:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="主键" prop="id">
        <el-input v-model="searchForm.id" placeholder="请输入主键" @keypress.enter.native="search"></el-input>
      <el-form-item label="手机号" prop="telephone">
        <el-input v-model="searchForm.telephone" clearable placeholder="请输入手机号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="searchForm.deleted" placeholder="请输入是否已删除 0未删除 1已删除" @keypress.enter.native="search"></el-input>
      <el-form-item label="真实姓名" prop="name">
        <el-input v-model="searchForm.name" clearable placeholder="请输入真实姓名" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="searchForm.createUser" placeholder="请输入创建人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="searchForm.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间" @change="search"/>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="searchForm.updateUser" placeholder="请输入更新人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="searchForm.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间" @change="search"/>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="searchForm.remark" placeholder="请输入备注" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="头像" prop="coverImage">
        <el-input v-model="searchForm.coverImage" placeholder="请输入头像" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="openid" prop="openid">
        <el-input v-model="searchForm.openid" placeholder="请输入openid" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="昵称" prop="nickName">
        <el-input v-model="searchForm.nickName" placeholder="请输入昵称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="联系电话" prop="telephone">
        <el-input v-model="searchForm.telephone" placeholder="请输入联系电话" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="姓名" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入姓名" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="用工身份:0=未申请;1=申请中;2=已通过;3=未通过;" prop="workerIdentity">
        <el-input v-model="searchForm.workerIdentity" placeholder="请输入用工身份:0=未申请;1=申请中;2=已通过;3=未通过;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="货运身份:0=未申请;1=申请中;2=已通过;3=未通过;" prop="driverIdentity">
        <el-input v-model="searchForm.driverIdentity" placeholder="请输入货运身份:0=未申请;1=申请中;2=已通过;3=未通过;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="供餐很粉:0=未申请;1=申请中;2=已通过;3=未通过;" prop="chefIdentity">
        <el-input v-model="searchForm.chefIdentity" placeholder="请输入供餐很粉:0=未申请;1=申请中;2=已通过;3=未通过;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="当前余额(单位:分)" prop="amount">
        <el-input v-model="searchForm.amount" placeholder="请输入当前余额(单位:分)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="历史总金额(单位:分)" prop="totalAmount">
        <el-input v-model="searchForm.totalAmount" placeholder="请输入历史总金额(单位:分)" @keypress.enter.native="search"></el-input>
      <el-form-item label="类型" prop="type">
        <el-select v-model="searchForm.type" clearable placeholder="请选择类型" @change="search">
            <el-option :value="0" label="发单方"></el-option>
            <el-option :value="1" label="接单方"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="状态" prop="status">
        <el-input v-model="searchForm.status" placeholder="请输入状态" @keypress.enter.native="search"></el-input>
        <el-select v-model="searchForm.status"  @keypress.enter.native="search" clearable placeholder="状态">
          <el-option label="启用" value="0"></el-option>
          <el-option label="禁用" value="1"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="最后登录时间" prop="loginTime">
        <el-date-picker v-model="searchForm.loginTime" value-format="yyyy-MM-dd" placeholder="请输入最后登录时间" @change="search"/>
      </el-form-item>
      <el-form-item label="总登录次数" prop="loginTimes">
        <el-input v-model="searchForm.loginTimes" placeholder="请输入总登录次数" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="总接单量" prop="reciveNum">
        <el-input v-model="searchForm.reciveNum" placeholder="请输入总接单量" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="总发单量" prop="publishNum">
        <el-input v-model="searchForm.publishNum" placeholder="请输入总发单量" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="评分" prop="score">
        <el-input v-model="searchForm.score" placeholder="请输入评分" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="定位地址" prop="localtion">
        <el-input v-model="searchForm.localtion" placeholder="请输入定位地址" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="纬度" prop="lat">
        <el-input v-model="searchForm.lat" placeholder="请输入纬度" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="经度" prop="lgt">
        <el-input v-model="searchForm.lgt" placeholder="请输入经度" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="省份" prop="province">
        <el-input v-model="searchForm.province" placeholder="请输入省份" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="城市" prop="city">
        <el-input v-model="searchForm.city" placeholder="请输入城市" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="区县" prop="area">
        <el-input v-model="searchForm.area" placeholder="请输入区县" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否接受自动派单:0=否;1=是;" prop="autoReciveStatus">
        <el-input v-model="searchForm.autoReciveStatus" placeholder="请输入是否接受自动派单:0=否;1=是;" @keypress.enter.native="search"></el-input>
      <el-form-item label="注册时间" prop="eventType">
        <el-date-picker type="datetime" v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="请选择开始时间" />-
        <el-date-picker type="datetime" v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="请选择结束时间" />
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
@@ -104,48 +39,50 @@
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="id" label="主键" min-width="100px"></el-table-column>
        <el-table-column prop="deleted" label="是否已删除 0未删除 1已删除" min-width="100px"></el-table-column>
        <el-table-column prop="createUser" label="创建人编码" min-width="100px"></el-table-column>
        <el-table-column prop="createTime" label="创建时间" min-width="100px"></el-table-column>
        <el-table-column prop="updateUser" label="更新人编码" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="更新时间" min-width="100px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column prop="coverImage" label="头像" min-width="100px"></el-table-column>
        <el-table-column prop="openid" label="openid" min-width="100px"></el-table-column>
        <el-table-column prop="openid" label="openid" min-width="100px">
          <template slot-scope="{row}">
           <span style="cursor: pointer;color: #2E68EC" @click="openDetail(row)">{{row.openid}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="telephone" label="手机号" min-width="100px"></el-table-column>
        <el-table-column prop="nickName" label="昵称" min-width="100px"></el-table-column>
        <el-table-column prop="telephone" label="联系电话" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="姓名" min-width="100px"></el-table-column>
        <el-table-column prop="workerIdentity" label="用工身份:0=未申请;1=申请中;2=已通过;3=未通过;" min-width="100px"></el-table-column>
        <el-table-column prop="driverIdentity" label="货运身份:0=未申请;1=申请中;2=已通过;3=未通过;" min-width="100px"></el-table-column>
        <el-table-column prop="chefIdentity" label="供餐很粉:0=未申请;1=申请中;2=已通过;3=未通过;" min-width="100px"></el-table-column>
        <el-table-column prop="amount" label="当前余额(单位:分)" min-width="100px"></el-table-column>
        <el-table-column prop="totalAmount" label="历史总金额(单位:分)" min-width="100px"></el-table-column>
        <el-table-column prop="status" label="状态" min-width="100px"></el-table-column>
        <el-table-column prop="loginTime" label="最后登录时间" min-width="100px"></el-table-column>
        <el-table-column prop="loginTimes" label="总登录次数" min-width="100px"></el-table-column>
        <el-table-column prop="reciveNum" label="总接单量" min-width="100px"></el-table-column>
        <el-table-column prop="publishNum" label="总发单量" min-width="100px"></el-table-column>
        <el-table-column prop="score" label="评分" min-width="100px"></el-table-column>
        <el-table-column prop="localtion" label="定位地址" min-width="100px"></el-table-column>
        <el-table-column prop="lat" label="纬度" min-width="100px"></el-table-column>
        <el-table-column prop="lgt" label="经度" min-width="100px"></el-table-column>
        <el-table-column prop="province" label="省份" min-width="100px"></el-table-column>
        <el-table-column prop="city" label="城市" min-width="100px"></el-table-column>
        <el-table-column prop="area" label="区县" min-width="100px"></el-table-column>
        <el-table-column prop="autoReciveStatus" label="是否接受自动派单:0=否;1=是;" min-width="100px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:member:update', 'business:member:delete'])"
          label="操作"
          min-width="120"
          fixed="right"
        >
        <el-table-column prop="name" label="真实姓名" min-width="100px"></el-table-column>
        <el-table-column prop="workerIdentity" label="身份" min-width="100px">
          <template slot-scope="{row}">
            å‘单方<span v-if="row.workerIdentity == 2 || row.driverIdentity == 2 || row.chefIdentity == 2">{{'  |  æŽ¥å•æ–¹'}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="amount" label="当前余额(元)" min-width="100px">
          <template slot-scope="{row}">
            {{((row.amount || 0)/100).toFixed(2)}}
          </template>
        </el-table-column>
        <el-table-column prop="createTime" label="注册时间" min-width="100px"></el-table-column>
        <el-table-column prop="autoReciveStatus" label="接受自动派单" min-width="100px">
            <template slot-scope="{row}">
              {{row.autoReciveStatus ==1?"是":"否"}}
            </template>
        </el-table-column>
        <el-table-column label="状态">
          <template slot-scope="{row}">
            <el-switch @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
                       inactive-color="#ff4949" :active-value="0" :inactive-value="1">
            </el-switch>
          </template>
        </el-table-column>
       <el-table-column
              v-if="containPermissions(['business:member:update', 'business:member:delete'])"
              label="操作"
              min-width="120"
              fixed="right"
            >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.operaMemberWindow.open('编辑会员信息表', row)" icon="el-icon-edit" v-permissions="['business:member:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button>
@@ -160,6 +97,7 @@
      </pagination>
    </template>
    <!-- æ–°å»º/修改 -->
    <OperaMemberDetailWindow ref="OperaMemberDetailWindow" />
    <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
@@ -169,44 +107,21 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaMemberWindow from '@/components/business/OperaMemberWindow'
import OperaMemberDetailWindow from '@/components/business/OperaMemberDetailWindow'
export default {
  name: 'Member',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaMemberWindow },
  components: { TableLayout, Pagination,OperaMemberDetailWindow, OperaMemberWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        id: '',
        deleted: '',
        createUser: '',
        createTime: '',
        updateUser: '',
        updateTime: '',
        remark: '',
        coverImage: '',
        openid: '',
        nickName: '',
        type: 0,
        startTime: '',
        endTime: '',
        telephone: '',
        name: '',
        workerIdentity: '',
        driverIdentity: '',
        chefIdentity: '',
        amount: '',
        totalAmount: '',
        status: '',
        loginTime: '',
        loginTimes: '',
        reciveNum: '',
        publishNum: '',
        score: '',
        localtion: '',
        lat: '',
        lgt: '',
        province: '',
        city: '',
        area: '',
        autoReciveStatus: ''
        status: ''
      }
    }
  },
@@ -218,6 +133,26 @@
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
    openDetail (row) {
      this.$refs.OperaMemberDetailWindow.open('用户详情', row.id)
    },
    changeStatus (e, row) {
      this.working = true
      this.api.updateStatus({ id: row.id, workStatus: e })
        .then(res => {
          this.$tip.apiSuccess(res || '操作成功')
          this.search()
        })
        .catch(e => {
          this.$tip.apiFailed(e)
        })
        .finally(() => {
          this.working = false
        })
        .catch(() => { })
    }
  }
}
</script>
admin/src/views/business/memberRevenue.vue
@@ -62,6 +62,7 @@
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:memberrevenue:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
admin/src/views/business/orderLog.vue
@@ -59,6 +59,7 @@
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:orderlog:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
admin/src/views/business/orders.vue
@@ -2,47 +2,8 @@
  <TableLayout :permissions="['business:orders:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="主键" prop="id">
        <el-input v-model="searchForm.id" placeholder="请输入主键" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="searchForm.deleted" placeholder="请输入是否已删除 0未删除 1已删除" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="searchForm.createUser" placeholder="请输入创建人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="searchForm.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间" @change="search"/>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="searchForm.updateUser" placeholder="请输入更新人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="searchForm.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间" @change="search"/>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="searchForm.remark" placeholder="请输入备注" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="发单方" prop="releaseMemberId">
        <el-input v-model="searchForm.releaseMemberId" placeholder="请输入发单方" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="类型:0=用工;1=运货;2=订餐" prop="type">
        <el-input v-model="searchForm.type" placeholder="请输入类型:0=用工;1=运货;2=订餐" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="开始时间 yyyy-MM-dd" prop="startDate">
        <el-date-picker v-model="searchForm.startDate" value-format="yyyy-MM-dd" placeholder="请输入开始时间 yyyy-MM-dd" @change="search"/>
      </el-form-item>
      <el-form-item label="结束时间 yyyy-MM-dd" prop="endDate">
        <el-date-picker v-model="searchForm.endDate" value-format="yyyy-MM-dd" placeholder="请输入结束时间 yyyy-MM-dd" @change="search"/>
      </el-form-item>
      <el-form-item label="地点信息/用车起点/用餐地点" prop="location">
        <el-input v-model="searchForm.location" placeholder="请输入地点信息/用车起点/用餐地点" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="地点描述" prop="locationRemark">
        <el-input v-model="searchForm.locationRemark" placeholder="请输入地点描述" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="经度" prop="lat">
        <el-input v-model="searchForm.lat" placeholder="请输入经度" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="省份" prop="province">
        <el-input v-model="searchForm.province" placeholder="请输入省份" @keypress.enter.native="search"></el-input>
@@ -52,114 +13,6 @@
      </el-form-item>
      <el-form-item label="区县" prop="area">
        <el-input v-model="searchForm.area" placeholder="请输入区县" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="纬度" prop="lgt">
        <el-input v-model="searchForm.lgt" placeholder="请输入纬度" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="需求类型(运货/用工):关联 category" prop="categoryId">
        <el-input v-model="searchForm.categoryId" placeholder="请输入需求类型(运货/用工):关联 category" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="用工类型:0=采摘工;1=分拣工;2=包装工;(用工订单)" prop="workType">
        <el-input v-model="searchForm.workType" placeholder="请输入用工类型:0=采摘工;1=分拣工;2=包装工;(用工订单)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="计价数量1(天数/用车次数)" prop="priceNum1">
        <el-input v-model="searchForm.priceNum1" placeholder="请输入计价数量1(天数/用车次数)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="计价数量2(用工数量/采摘数量/用车数量/)" prop="priceNum2">
        <el-input v-model="searchForm.priceNum2" placeholder="请输入计价数量2(用工数量/采摘数量/用车数量/)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="需求补充" prop="supplement">
        <el-input v-model="searchForm.supplement" placeholder="请输入需求补充" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="费用标准" prop="price">
        <el-input v-model="searchForm.price" placeholder="请输入费用标准" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="预估费用" prop="estimatedAccount">
        <el-input v-model="searchForm.estimatedAccount" placeholder="请输入预估费用" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="实际支付费用" prop="payAccount">
        <el-input v-model="searchForm.payAccount" placeholder="请输入实际支付费用" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="实收费用" prop="reviceAccount">
        <el-input v-model="searchForm.reviceAccount" placeholder="请输入实收费用" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="费用说明" prop="priceRemark">
        <el-input v-model="searchForm.priceRemark" placeholder="请输入费用说明" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="用车类型(运货使用):0=天;1=次" prop="carType">
        <el-input v-model="searchForm.carType" placeholder="请输入用车类型(运货使用):0=天;1=次" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="运输品种(运货使用) å…³è”category表" prop="transportTypeId">
        <el-input v-model="searchForm.transportTypeId" placeholder="请输入运输品种(运货使用) å…³è”category表" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="运输重量/数量" prop="transportNum">
        <el-input v-model="searchForm.transportNum" placeholder="请输入运输重量/数量" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="运输单位(个/斤)" prop="transportUnit">
        <el-input v-model="searchForm.transportUnit" placeholder="请输入运输单位(个/斤)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="用车终点地址" prop="locationEnd">
        <el-input v-model="searchForm.locationEnd" placeholder="请输入用车终点地址" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="用车终点经度" prop="latEnd">
        <el-input v-model="searchForm.latEnd" placeholder="请输入用车终点经度" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="用车终点纬度" prop="lgtEnd">
        <el-input v-model="searchForm.lgtEnd" placeholder="请输入用车终点纬度" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="途经点/餐标信息" prop="wayInfo">
        <el-input v-model="searchForm.wayInfo" placeholder="请输入途经点/餐标信息" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="订单编号" prop="code">
        <el-input v-model="searchForm.code" placeholder="请输入订单编号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="订单状态:0=待接单;1=已接单;2=进行中;3=已完成;99=已取消;" prop="status">
        <el-input v-model="searchForm.status" placeholder="请输入订单状态:0=待接单;1=已接单;2=进行中;3=已完成;99=已取消;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="接单时间" prop="acceptTime">
        <el-date-picker v-model="searchForm.acceptTime" value-format="yyyy-MM-dd" placeholder="请输入接单时间" @change="search"/>
      </el-form-item>
      <el-form-item label="接单人" prop="acceptMemberId">
        <el-input v-model="searchForm.acceptMemberId" placeholder="请输入接单人" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="接单类型:0=手动接单;1=系统派单;" prop="acceptType">
        <el-input v-model="searchForm.acceptType" placeholder="请输入接单类型:0=手动接单;1=系统派单;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="开始作业时间" prop="workStartTime">
        <el-date-picker v-model="searchForm.workStartTime" value-format="yyyy-MM-dd" placeholder="请输入开始作业时间" @change="search"/>
      </el-form-item>
      <el-form-item label="完成时间" prop="finishTime">
        <el-date-picker v-model="searchForm.finishTime" value-format="yyyy-MM-dd" placeholder="请输入完成时间" @change="search"/>
      </el-form-item>
      <el-form-item label="平台提成比例" prop="platformRata">
        <el-input v-model="searchForm.platformRata" placeholder="请输入平台提成比例" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="微信平台交易订单号" prop="wxExternalNo">
        <el-input v-model="searchForm.wxExternalNo" placeholder="请输入微信平台交易订单号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否评价:0=否;1=是" prop="commentStatus">
        <el-input v-model="searchForm.commentStatus" placeholder="请输入是否评价:0=否;1=是" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="评价内容" prop="commentInfo">
        <el-input v-model="searchForm.commentInfo" placeholder="请输入评价内容" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="评价星级1-5" prop="commentLevel">
        <el-input v-model="searchForm.commentLevel" placeholder="请输入评价星级1-5" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="评价时间" prop="commentTime">
        <el-date-picker v-model="searchForm.commentTime" value-format="yyyy-MM-dd" placeholder="请输入评价时间" @change="search"/>
      </el-form-item>
      <el-form-item label="评价类型:0=手动评价;1=系统自动评价;" prop="commentType">
        <el-input v-model="searchForm.commentType" placeholder="请输入评价类型:0=手动评价;1=系统自动评价;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="取消时间" prop="cancelTime">
        <el-date-picker v-model="searchForm.cancelTime" value-format="yyyy-MM-dd" placeholder="请输入取消时间" @change="search"/>
      </el-form-item>
      <el-form-item label="是否已修改:0=否;1=是;" prop="isUpdate">
        <el-input v-model="searchForm.isUpdate" placeholder="请输入是否已修改:0=否;1=是;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="接单方黑名单member:id å¤šä¸ªä»¥,分割" prop="blackRecive">
        <el-input v-model="searchForm.blackRecive" placeholder="请输入接单方黑名单member:id å¤šä¸ªä»¥,分割" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
@@ -173,6 +26,7 @@
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:orders:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
admin/src/views/business/receiveWeight.vue
@@ -1,51 +1,5 @@
<template>
  <TableLayout :permissions="['business:receiveweight:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="主键" prop="id">
        <el-input v-model="searchForm.id" placeholder="请输入主键" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="searchForm.deleted" placeholder="请输入是否已删除 0未删除 1已删除" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="状态:0=启用;1=禁用;" prop="status">
        <el-input v-model="searchForm.status" placeholder="请输入状态:0=启用;1=禁用;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="searchForm.createUser" placeholder="请输入创建人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="searchForm.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间" @change="search"/>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="searchForm.updateUser" placeholder="请输入更新人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="searchForm.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间" @change="search"/>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="searchForm.remark" placeholder="请输入备注" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="最大接单量" prop="receiveMax">
        <el-input v-model="searchForm.receiveMax" placeholder="请输入最大接单量" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="最小接单量" prop="receiveMin">
        <el-input v-model="searchForm.receiveMin" placeholder="请输入最小接单量" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="优先级" prop="level">
        <el-input v-model="searchForm.level" placeholder="请输入优先级" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="订单查看延迟时间" prop="delayTime">
        <el-input v-model="searchForm.delayTime" placeholder="请输入订单查看延迟时间" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="排序码" prop="sortnum">
        <el-input v-model="searchForm.sortnum" placeholder="请输入排序码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:receiveweight:create', 'business:receiveweight:delete']">
@@ -53,6 +7,7 @@
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:receiveweight:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
admin/src/views/business/withdrawalOrders.vue
@@ -2,44 +2,11 @@
  <TableLayout :permissions="['business:withdrawalorders:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="主键" prop="id">
        <el-input v-model="searchForm.id" placeholder="请输入主键" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="searchForm.deleted" placeholder="请输入是否已删除 0未删除 1已删除" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="searchForm.createUser" placeholder="请输入创建人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="searchForm.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间" @change="search"/>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="searchForm.updateUser" placeholder="请输入更新人编码" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="searchForm.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间" @change="search"/>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="searchForm.remark" placeholder="请输入备注" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="会员主键" prop="memberId">
        <el-input v-model="searchForm.memberId" placeholder="请输入会员主键" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="提现金额(单位:分)" prop="amount">
        <el-input v-model="searchForm.amount" placeholder="请输入提现金额(单位:分)" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="微信平台交易订单号" prop="wxExternalNo">
        <el-input v-model="searchForm.wxExternalNo" placeholder="请输入微信平台交易订单号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="状态:0=提现申请中:1=提现成功;2=提现失败;" prop="status">
        <el-input v-model="searchForm.status" placeholder="请输入状态:0=提现申请中:1=提现成功;2=提现失败;" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="提现完成时间" prop="doneTime">
        <el-date-picker v-model="searchForm.doneTime" value-format="yyyy-MM-dd" placeholder="请输入提现完成时间" @change="search"/>
      </el-form-item>
      <el-form-item label="完成备注" prop="doneInfo">
        <el-input v-model="searchForm.doneInfo" placeholder="请输入完成备注" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
@@ -53,6 +20,7 @@
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:withdrawalorders:delete']">删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
        :data="tableData.list"
        stripe
admin/src/views/index.vue
@@ -3,7 +3,7 @@
    <div class="home_header">
      <div class="mb10 fs17">下午好,{{ userInfo.realname }}</div>
      <div class="fs13">
        ä»Šå¤©æ˜¯ {{ nowDate }} {{ nowWeek }},欢迎访问豆米跳跳官网后台管理平台
        ä»Šå¤©æ˜¯ {{ nowDate }} {{ nowWeek }},欢迎访问近快后台管理系统
      </div>
    </div>
  </div>
admin/src/views/login.vue
@@ -1,7 +1,7 @@
<template>
  <div class="wrap">
    <div class="introduce">
      <h2>豆米跳跳官网后台管理</h2>
      <h2>近快后台管理系统</h2>
      <h3></h3>
    </div>
    <div class="login">
server/admin/src/main/resources/application.yml
@@ -62,7 +62,6 @@
    key: qklpNODl6JjmgcT+
    iv: 7rnE4rm3h/hcfqN2
# æ—¥å¿—配置
logback:
  level: ERROR
server/pom.xml
@@ -55,7 +55,7 @@
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    <!--  <exclusions>
    <!--<exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
@@ -65,7 +65,6 @@
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
    </dependency>
    <!-- Redis -->
    <dependency>
@@ -121,6 +120,20 @@
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-quartz</artifactId>
    </dependency>
    <!--华为OBS -->
    <dependency>
      <groupId>com.huaweicloud</groupId>
      <artifactId>esdk-obs-java-bundle</artifactId>
      <version>3.23.9</version>
    </dependency>
    <!--华为OBS -->
    <dependency>
      <groupId>com.huaweicloud</groupId>
      <artifactId>esdk-obs-java</artifactId>
      <version>3.19.7</version>
    </dependency>
    <!-- è¿žæŽ¥æ±  -->
    <dependency>
      <groupId>com.alibaba</groupId>
server/services/src/main/java/com/doumee/api/common/PublicCloudController.java
@@ -14,6 +14,7 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.FtpUtil;
import com.doumee.core.utils.azure.AzureBlobUtil;
import com.doumee.core.utils.huaweiOBS.ObsUtil;
import com.doumee.core.utils.qiyeweixin.QywxUtil;
import com.doumee.core.utils.qiyeweixin.model.response.QywxUploadMediaResponse;
import com.doumee.dao.system.model.SystemDictData;
@@ -66,6 +67,78 @@
                systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode());
    }
    @ApiOperation(value = "上传OBS", notes = "上传OBS", httpMethod = "POST", position = 6)
    @ApiImplicitParams({
            @ApiImplicitParam(name = "folder", value = "文件夹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
            @ApiImplicitParam(name = "file", value = "文件夹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
    })
    @PostMapping(value = "/upload", headers = "content-type=multipart/form-data")
    @ResponseBody
    public void upload(HttpServletRequest request, HttpServletResponse response, String folder) throws Exception {
        Date d1 = new Date();
        log.error("总得上传文件成功=============开始========="+DateUtil.getPlusTime2(d1));
        SystemDictData folderData =  systemDictDataBiz.queryByCode(Constants.FTP,folder);
        if(Objects.isNull(folderData)||StringUtils.isBlank(folderData.getCode())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"目标文件夹错误");
        }
        folder =folderData.getCode().replace("/", "");
        String prefixPath = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode();
        InputStream is = null;
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        Map<String, Object> context = new HashMap<>();
        try {
            CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
            if (multipartResovler.isMultipart(request)) {
                MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
                Iterator<String> it = multipartRequest.getFileNames();
                while (it.hasNext()) {
                    MultipartFile file = multipartRequest.getFile(it.next());
                    System.out.println(file.getSize());
                    String originname = file.getOriginalFilename();
                    is = file.getInputStream();
                    String endType = ".jpg";
                    if(originname.indexOf(".")>0){
                        endType=originname.substring(originname.lastIndexOf("."),originname.length());
                    }
                    String date = DateUtil.getNowShortDate();
                    String fName =  date+"/"+ UUID.randomUUID()+endType;
                    String fileName = folder+"/"+fName;
                    boolean r =false;
                    ObsUtil obsUtil = new ObsUtil( systemDictDataBiz.queryByCode(Constants.HWY_OBS,Constants.HWY_OBS_ACCESSID).getCode(),
                            systemDictDataBiz.queryByCode(Constants.HWY_OBS,Constants.HWY_OBS_ACCESSKEY).getCode(),
                            systemDictDataBiz.queryByCode(Constants.HWY_OBS,Constants.HWY_OBS_ENDPOINT).getCode());
                    r = obsUtil.uploadFile( systemDictDataBiz.queryByCode(Constants.HWY_OBS,Constants.HWY_OBS_BUCKET).getCode(),is,fileName);//上传
                    if(r){
                        context.put("success", true);
                        context.put("code", 200);
                        context.put("errno",0);
                        JSONObject fileJSON = new JSONObject();
//                        fileJSON.put("prefixPath", prefixPath);
//                        fileJSON.put("folder", folder);
                        fileJSON.put("url", prefixPath+fileName);
                        fileJSON.put("imgaddr", fName);
                        fileJSON.put("imgname", fileName);
                        fileJSON.put("originname", originname);
                        context.put("data",fileJSON);
                        context.put("message","请求成功");
                        writerJson(response, context);
                        Date d2= new Date();
                        log.error("总的上传文件成功=============结束========="+DateUtil.getPlusTime2(d2) +"耗时秒:"+( (d2.getTime()-d1.getTime()) /1000));
                        return;
                    }
                }
            }
        } catch (Exception e) {
            log.error("【上传FTP失败】======================"+e.getMessage());
        }
        context.put("code", 0);
        context.put("message", "上传失败");
        context.put("errno",0);
        writerJson(response, context);
        return;
    }
    public void uploadFileLocal(HttpServletRequest request,  HttpServletResponse response, String rootPath,String dir) throws Exception {
        response.setCharacterEncoding("UTF-8");
server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -12,11 +12,11 @@
 */
public class Constants {
    public static final String AZURE_BLOB ="AZURE_BLOB" ;
    public static final String AZURE_BLOB_ACCESSNAME ="AZURE_BLOB_ACCESSNAME" ;
    public static final String AZURE_BLOB_ACCESSKEY ="AZURE_BLOB_ACCESSKEY" ;
    public static final String AZURE_BLOB_ENDPOINT ="AZURE_BLOB_ENDPOINT" ;
    public static final String AZURE_BLOB_CONTAINER ="AZURE_BLOB_CONTAINER" ;
    public static final String HWY_OBS ="HWY_OBS" ;
    public static final String HWY_OBS_ACCESSID ="HWY_OBS_ACCESSID" ;
    public static final String HWY_OBS_ACCESSKEY ="HWY_OBS_ACCESSKEY" ;
    public static final String HWY_OBS_ENDPOINT ="HWY_OBS_ENDPOINT" ;
    public static final String HWY_OBS_BUCKET ="HWY_OBS_BUCKET" ;
    public static final String FTP ="FTP" ;
    public static final String FTP_HOST ="FTP_HOST" ;
    public static final String FTP_PORT ="FTP_PORT" ;
@@ -336,4 +336,49 @@
            this.noticeContent = noticeContent;
        }
    }
    /**
     * ç”¨æˆ·æ”¶æ”¯ä¸šåŠ¡ç±»åž‹
     * å˜åŠ¨ç±»åž‹:0=用工单收入;1=货运单收入;2=供餐单收入;3=提现申请;
     */
    @Getter
    public enum RevenueType {
        YGD_INCOME(  0, "用工单收入","用工单收入" ,0),
        HYD_INCOME(  1, "货运单收入","货运单收入" ,0),
        GCD_INCOME(2, "供餐单收入","供餐单收入" ,0),
        WITHDRAW_APPLY(3, "提现申请","提现申请" ,0),
        REFUND(  4, "提现申请退回","提现申请退回" ,0)
        ;
        private int key;
        private String name;
        private  String info;
        private int navIndex;
        RevenueType(int key, String name, String info,int navIndex) {
            this.info = info;
            this.key = key;
            this.name = name;
            this.navIndex = navIndex;
        }
        public static RevenueType getObj(int index) {
            for (RevenueType c : RevenueType.values()) {
                if (c.getKey() == index) {
                    return c;
                }
            }
            return null;
        }
        public static String getObjName(int index) {
            for (RevenueType c : RevenueType.values()) {
                if (c.getKey() == index) {
                    return c.getName();
                }
            }
            return null;
        }
    }
}
server/services/src/main/java/com/doumee/core/utils/huaweiOBS/ObsUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,162 @@
package com.doumee.core.utils.huaweiOBS;
import com.azure.storage.blob.BlobContainerClient;
import com.azure.storage.blob.BlobServiceClient;
import com.azure.storage.blob.BlobServiceClientBuilder;
import com.obs.services.BasicObsCredentialsProvider;
import com.obs.services.ObsClient;
import com.obs.services.exception.ObsException;
import com.obs.services.model.*;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.List;
/**
 * @date 2020/4/28
 */
public class ObsUtil {
    public ObsClient obsClient;
    public     String accessKey;
    public   String accessId;
    public    String endpoint;
    public BlobContainerClient blobContainerClient ;
    public ObsUtil(String accessId, String accessKey, String endpoint){
        try {
            this.accessId = accessId;
            this.accessKey = accessKey;
            this.endpoint = endpoint;
            this.obsClient = new ObsClient(new BasicObsCredentialsProvider(accessId, accessKey), this.endpoint);
        }catch (Exception e) {
            e.printStackTrace();
        }
    }
    private void initClient() {
        this.obsClient = new ObsClient(new BasicObsCredentialsProvider(this.accessId, this.accessKey), this.endpoint);
    }
    /**
     * ä¸Šä¼ æ–‡ä»¶
     * @param is
     * @param objectKey
     * @return
     * @throws IOException
     */
    public  boolean uploadFile(String bucketName,InputStream is, String objectKey) throws Exception {
        if(this.obsClient == null){
            initClient();
        }
        try {
            // ä¸Šä¼ å­—符串(byte数组)
            obsClient.putObject(bucketName, objectKey, is);
            System.out.println("putObject successfully");
        } catch (ObsException e) {
            System.out.println("putObject failed");
            // è¯·æ±‚失败,打印http状态码
            System.out.println("HTTP Code:" + e.getResponseCode());
            // è¯·æ±‚失败,打印服务端错误码
            System.out.println("Error Code:" + e.getErrorCode());
            // è¯·æ±‚失败,打印详细错误信息
            System.out.println("Error Message:" + e.getErrorMessage());
            // è¯·æ±‚失败,打印请求id
            System.out.println("Request ID:" + e.getErrorRequestId());
            System.out.println("Host ID:" + e.getErrorHostId());
           return false;
        } catch (Exception e) {
            System.out.println("putObject failed");
            // å…¶ä»–异常信息打印
            e.printStackTrace();
            return false;
        }finally {
            if(this.obsClient!=null){
                this.obsClient.close();
            }
        }
       return true;
    }
    public static  Integer uploadNetFile(ObsClient obsClient,String bucketName,String url, String objectKey) throws IOException {
        InputStream is = new URL(url).openStream();
        if(is != null){
            Boolean flag = obsClient.doesObjectExist(bucketName, objectKey);
            PutObjectResult result = null;
            result = obsClient.putObject(bucketName, objectKey, is);
            obsClient.close();
            return result.getStatusCode();
        }
        //同名文件可能被覆盖
        return null;
    }
    /**
     * èŽ·å¾—æ‰€æœ‰æ–‡ä»¶
     * @return
     * @throws IOException
     */
    public List<ObsObject> getAllFileInfo( ObsClient obsClient,String bucketName) throws IOException {
        ObjectListing objectList = obsClient.listObjects(bucketName);
        List<ObsObject> list = objectList.getObjects();
        obsClient.close();
        return list;
    }
    /**
     * åˆ é™¤æ–‡ä»¶
     * @param objectKey
     * @return
     * @throws IOException
     */
    public Boolean removeFile(ObsClient obsClient,String bucketName,String objectKey) throws IOException {
        boolean exist = obsClient.doesObjectExist(bucketName, objectKey);
        DeleteObjectResult result = null;
        if (exist) {
            result = obsClient.deleteObject(bucketName, objectKey);
        }
        obsClient.close();
        //是否可以被标记为删除
        return result.isDeleteMarker();
    }
    /**
     * èŽ·å–æ–‡ä»¶å¯¹è±¡-下载
     * @param objectKey
     * @return
     */
    public ObsObject getFile(ObsClient obsClient,String bucketName,String objectKey) {
        boolean exist = obsClient.doesObjectExist(bucketName, objectKey);
        if (exist) {
            ObsObject object = obsClient.getObject(bucketName, objectKey);
            return object;
        }
        return null;
    }
    /**
     * é¢„览授权访问-支持流式文件
     * å¦‚果是流式文件,返回的链接可以在浏览器预览
     * å¦‚果是非流式文件,返回的链接可以在浏览器里下载文件
     * @param objectKey
     * @return
     * @throws IOException
     */
    public String preview(ObsClient obsClient,String bucketName,String objectKey) throws IOException {
        //300有效时间
        TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, 300);
        request.setBucketName(bucketName);
        request.setObjectKey(objectKey);
        TemporarySignatureResponse response = obsClient.createTemporarySignature(request);
        obsClient.close();
        return response.getSignedUrl();
    }
}
server/services/src/main/java/com/doumee/dao/business/model/Member.java
@@ -38,7 +38,6 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -155,6 +154,11 @@
    @ApiModelProperty(value = "我的 - æ•°æ®ä¿¡æ¯", example = "1")
    @TableField(exist = false)
    private UserCenterVO userCenterVO;
    @ApiModelProperty(value = "变查询开始时间", example = "1")
    @TableField(exist = false)
    private Date startTime;
    @ApiModelProperty(value = "变查询结束时间", example = "1")
    @TableField(exist = false)
    private Date endTime;
}
server/services/src/main/java/com/doumee/dao/business/model/MemberRevenue.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -27,7 +28,7 @@
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1")
    @ExcelColumn(name="是否已删除 0未删除 1已删除")
    private Byte deleted;
    private Integer deleted;
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ExcelColumn(name="创建人编码")
@@ -35,7 +36,6 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -44,7 +44,6 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;
    @ApiModelProperty(value = "备注")
@@ -86,5 +85,18 @@
    @ApiModelProperty(value = "业务状态:0=成功;1=失败;2=处理中;", example = "1")
    @ExcelColumn(name="业务状态:0=成功;1=失败;2=处理中;")
    private Integer status;
    @ApiModelProperty(value = "变动类型:0=用工单收入;1=货运单收入;2=供餐单收入;3=提现申请;", example = "1")
    @TableField(exist = false)
    @ExcelColumn(name="变动类型:0=用工单收入;1=货运单收入;2=供餐单收入;3=提现申请;")
    private String typeName;
    @ApiModelProperty(value = "微信交易流水号", example = "1")
    @ExcelColumn(name="微信交易流水号")
    private String transactionNo;
    @ApiModelProperty(value = "变查询开始时间", example = "1")
    @TableField(exist = false)
    private Date startTime;
    @ApiModelProperty(value = "变查询结束时间", example = "1")
    @TableField(exist = false)
    private Date endTime;
}
server/services/src/main/java/com/doumee/service/business/impl/MemberRevenueServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
@@ -10,6 +11,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -89,6 +91,7 @@
        IPage<MemberRevenue> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<MemberRevenue> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setDeleted(Constants.ZERO);
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(MemberRevenue::getId, pageWrap.getModel().getId());
        }
@@ -139,6 +142,12 @@
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(MemberRevenue::getStatus, pageWrap.getModel().getStatus());
        }
        if (StringUtils.isNotBlank(pageWrap.getModel().getTransactionNo())) {
            queryWrapper.lambda().like(MemberRevenue::getTransactionNo, pageWrap.getModel().getTransactionNo());
        }
        queryWrapper.lambda().ge(pageWrap.getModel().getStartTime()!=null,MemberRevenue::getCreateTime,pageWrap.getModel().getStartTime());
        queryWrapper.lambda().ne(pageWrap.getModel().getEndTime()!=null,MemberRevenue::getCreateTime,pageWrap.getModel().getEndTime());
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
@@ -146,7 +155,13 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(memberRevenueMapper.selectPage(page, queryWrapper));
        PageData<MemberRevenue> result =  PageData.from(memberRevenueMapper.selectPage(page, queryWrapper));
        if(result!=null && result.getRecords()!=null){
            for(MemberRevenue model :result.getRecords()){
                model.setTypeName(Constants.RevenueType.getObjName(model.getType()));
            }
        }
        return result;
    }
    @Override
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -16,6 +16,7 @@
import com.doumee.dao.business.OrdersMapper;
import com.doumee.dao.business.model.IdentityInfo;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.MemberRevenue;
import com.doumee.dao.business.model.Orders;
import com.doumee.dao.dto.WxPhoneRequest;
import com.doumee.dao.vo.AccountResponse;
@@ -126,6 +127,7 @@
        IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setDeleted(Constants.ZERO);
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(Member::getId, pageWrap.getModel().getId());
        }
@@ -153,16 +155,16 @@
            queryWrapper.lambda().eq(Member::getCoverImage, pageWrap.getModel().getCoverImage());
        }
        if (pageWrap.getModel().getOpenid() != null) {
            queryWrapper.lambda().eq(Member::getOpenid, pageWrap.getModel().getOpenid());
            queryWrapper.lambda().like(Member::getOpenid, pageWrap.getModel().getOpenid());
        }
        if (pageWrap.getModel().getNickName() != null) {
            queryWrapper.lambda().eq(Member::getNickName, pageWrap.getModel().getNickName());
            queryWrapper.lambda().like(Member::getNickName, pageWrap.getModel().getNickName());
        }
        if (pageWrap.getModel().getTelephone() != null) {
            queryWrapper.lambda().eq(Member::getTelephone, pageWrap.getModel().getTelephone());
            queryWrapper.lambda().like(Member::getTelephone, pageWrap.getModel().getTelephone());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(Member::getName, pageWrap.getModel().getName());
            queryWrapper.lambda().like(Member::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getWorkerIdentity() != null) {
            queryWrapper.lambda().eq(Member::getWorkerIdentity, pageWrap.getModel().getWorkerIdentity());
@@ -210,6 +212,9 @@
        if (pageWrap.getModel().getArea() != null) {
            queryWrapper.lambda().eq(Member::getArea, pageWrap.getModel().getArea());
        }
        queryWrapper.lambda().ge(pageWrap.getModel().getStartTime()!=null, Member::getCreateTime,pageWrap.getModel().getStartTime());
        queryWrapper.lambda().ne(pageWrap.getModel().getEndTime()!=null,Member::getCreateTime,pageWrap.getModel().getEndTime());
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());