Bladeren bron

产品化更新

LAPTOP-UBJMM5MG\user 10 maanden geleden
bovenliggende
commit
868a4bc801
100 gewijzigde bestanden met toevoegingen van 2076 en 875 verwijderingen
  1. 10 1
      common/style/index.scss
  2. 83 0
      js_sdk/http.js
  3. 38 1
      pages.json
  4. 18 1
      pages/index/components/enterpriseSide.vue
  5. 187 0
      pages/subPackages/economicDevelopmentReport/detail.vue
  6. 103 7
      pages/subPackages/economicDevelopmentReport/economic.vue
  7. 77 10
      pages/subPackages/industrialPolicy/detail.vue
  8. 78 18
      pages/subPackages/industrialPolicy/index.vue
  9. 24 4
      pages/subPackages/minePages/mineMessage.vue
  10. 104 10
      pages/subPackages/peripheralService/detail.vue
  11. 77 15
      pages/subPackages/peripheralService/index.vue
  12. 107 6
      pages/subPackages/propertyNotice/detail.vue
  13. 39 30
      pages/subPackages/propertyNotice/index.vue
  14. 116 39
      pages/subPackages/reportRepair/index.vue
  15. 132 37
      pages/subPackages/reportRepair/repairDetail.vue
  16. 75 15
      pages/subPackages/reportRepair/repairRecord.vue
  17. 2 2
      pages/utils/constant.js
  18. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/components/activity.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/components/dynamic.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/components/enterpriseSide.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  25. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login2/login.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/activity/apply-popup.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/activity/index.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/activityPromulgate/list.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/addintention/addintention.js.map
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/chosseHouse/chosseHouse.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyHouse/companyHouse.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/companyreport.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/components/goReport.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/components/handlereport.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/components/reportDetails.js.map
  37. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/components/reportHistory.js.map
  38. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/momo-multipleSelect/momo-multipleSelect.js.map
  39. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/selectGenzongDep/tkitree.js.map
  40. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/selectXiangguanDep/tkitree.js.map
  41. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/select_dengjiren/tkitree.js.map
  42. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/select_dengjiyuan/tkitree.js.map
  43. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/tel-number/index.js.map
  44. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/tkitree/tkitree.js.map
  45. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/eventRelease/add.js.map
  46. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/eventRelease/index.js.map
  47. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/housedetails/housedetails.js.map
  48. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/merchants/components/housemanger.js.map
  49. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/merchants/components/mymechants.js.map
  50. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/merchants/components/mymechantsdetails.js.map
  51. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyHandle/handle.js.map
  52. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyHandle/index.js.map
  53. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyReport/add.js.map
  54. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyReport/detail.js.map
  55. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyReport/index.js.map
  56. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifySend/index.js.map
  57. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/password/index.js.map
  58. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/peripheralService/index.js.map
  59. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/repairDispatch-app/add.js.map
  60. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/repairDispatch-app/index.js.map
  61. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/repairprocessing-app/detail.js.map
  62. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/repairprocessing-app/index.js.map
  63. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/reportRepair/index.js.map
  64. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/todo/index.js.map
  65. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/toread/index.js.map
  66. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/venueRoom/confirm.js.map
  67. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/venueRoom/meetingroom.js.map
  68. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map
  69. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map
  70. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.js.map
  71. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.js.map
  72. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.js.map
  73. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.js.map
  74. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map
  75. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.js.map
  76. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.js.map
  77. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.js.map
  78. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map
  79. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map
  80. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  81. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map
  82. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-row/components/uni-col/uni-col.js.map
  83. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-row/components/uni-row/uni-row.js.map
  84. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.js.map
  85. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.js.map
  86. 2 1
      unpackage/dist/dev/mp-weixin/app.json
  87. 8 0
      unpackage/dist/dev/mp-weixin/common/main.wxss
  88. 535 435
      unpackage/dist/dev/mp-weixin/common/vendor.js
  89. 14 14
      unpackage/dist/dev/mp-weixin/pages/index/components/activity.js
  90. 89 89
      unpackage/dist/dev/mp-weixin/pages/index/components/dynamic.js
  91. 39 21
      unpackage/dist/dev/mp-weixin/pages/index/components/enterpriseSide.js
  92. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  93. 16 16
      unpackage/dist/dev/mp-weixin/pages/subPackages/activity/apply-popup.js
  94. 2 2
      unpackage/dist/dev/mp-weixin/pages/subPackages/activity/index.js
  95. 8 8
      unpackage/dist/dev/mp-weixin/pages/subPackages/addintention/addintention.js
  96. 12 12
      unpackage/dist/dev/mp-weixin/pages/subPackages/addintention/chooseTime.js
  97. 4 4
      unpackage/dist/dev/mp-weixin/pages/subPackages/chosseHouse/chosseHouse.js
  98. 5 5
      unpackage/dist/dev/mp-weixin/pages/subPackages/common/vendor.js
  99. 3 3
      unpackage/dist/dev/mp-weixin/pages/subPackages/companyHouse/companyHouse.js
  100. 0 0
      unpackage/dist/dev/mp-weixin/pages/subPackages/companyreport/companyreport.js

+ 10 - 1
common/style/index.scss

@@ -1,6 +1,15 @@
 @import './reset.scss';
 @import './common.scss';
 
+// vant Radio 自定义disabled选中样式
+.van-radio__label--disabled {
+    color: rgba(102, 102, 102, 1) !important;
+}
+.van-radio__icon--checked {
+    background: rgba(3, 101, 249, 1) !important;
+    color: white !important;
+    border: none !important;
+}
 
 .second_title {
     float: left;
@@ -619,4 +628,4 @@
 
 .height24rpx {
     height: 24rpx;
-}
+}

+ 83 - 0
js_sdk/http.js

@@ -725,3 +725,86 @@ export function policyListAll(data) {
         data, {}
     )
 }
+// 产业政策获取详情
+export function policyGetById(data) {
+    return $http.post(
+        '/wx/policy/getById',
+        data, {}
+    )
+}
+ // 经法填报列表
+export function fillControllerList(data) {
+    return $http.post(
+        '/wx/fillController/list',
+        data, {}
+    )
+}
+
+ // 经法填报详情
+export function getByStag(data) {
+    return $http.post(
+        '/wx/fillController/getByStag',
+        data, {}
+    )
+}
+
+ // 经法填报详情保存/提交
+export function fillControllerEditSave(data) {
+    return $http.post(
+        '/wx/fillController/editSave',
+        data, {}
+    )
+}
+ // 园区通知详情
+export function getParkNoticeById(data) {
+    return $http.post(
+        '/wx/noticePark/getById',
+        data, {}
+    )
+}
+// 物业通知详情
+export function getPropertyNoticeById(data) {
+    return $http.post(
+        '/wx/propertyNotice/getById',
+        data, {}
+    )
+}
+// 我的消息列表
+export function getMsgList(data) {
+    return $http.post(
+        '/wx/WxParkSystemMsgInfoController/getMsgList',
+        data, {}
+    )
+}
+
+// 获取管家
+export function getUserMainHouseKeeper(data) {
+    return $http.post(
+        '/wx/userRelation/getUserMainHouseKeeper',
+        data, {}
+    )
+}
+
+// 周边列表
+export function peripheryList(data) {
+    return $http.post(
+        '/wx/periphery/list',
+        data, {}
+    )
+}
+// 获取周边详情
+export function peripheryGetById(data) {
+    return $http.post(
+        '/wx/periphery/getById',
+        data, {}
+    )
+}
+
+// 报事报修提交
+export function repairAdd(data) {
+    return $http.post(
+        '/wx/repair/add',
+        data, {}
+    )
+}
+

+ 38 - 1
pages.json

@@ -1920,7 +1920,7 @@
                 {
                     "path": "minePages/mineInfo",
                     "style": {
-                        "navigationBarTitleText": "我的消息",
+                        "navigationBarTitleText": "企业信息",
                         "enablePullDownRefresh": true,
                         "onReachBottomDistance": 100,
                         "app-plus": {
@@ -2785,6 +2785,43 @@
                             "van-swipe-cell": "/wxcomponents/weapp/dist/swipe-cell/index"
                         }
                     }
+                },
+                {
+                    "path": "economicDevelopmentReport/detail",
+                    "style": {
+                        "navigationBarTitleText": "填报详情",
+                        "enablePullDownRefresh": true,
+                        "onReachBottomDistance": 100,
+                        "app-plus": {
+                            "bounce": "vertical",
+                            "titleNView": {
+                                "buttons": [
+                                    {
+                                        "text": "\ue534",
+                                        "fontSrc": "/static/uni.ttf",
+                                        "fontSize": "22px",
+                                        "color": "#FFFFFF"
+                                    }
+                                ]
+                            }
+                        },
+                        "component": true,
+                        "usingComponents": {
+                            "van-button": "/wxcomponents/weapp/dist/button/index",
+                            "van-toast": "/wxcomponents/weapp/dist/toast/index",
+                            "van-field": "/wxcomponents/weapp/dist/field/index",
+                            "van-picker": "/wxcomponents/weapp/dist/picker/index",
+                            "van-dialog": "/wxcomponents/weapp/dist/dialog/index",
+                            "van-icon": "/wxcomponents/weapp/dist/icon/index",
+                            "van-tab": "/wxcomponents/weapp/dist/tab/index",
+                            "van-tabs": "/wxcomponents/weapp/dist/tabs/index",
+                            "van-datetime-picker": "/wxcomponents/weapp/dist/datetime-picker/index",
+                            "van-uploader": "/wxcomponents/weapp/dist/uploader/index",
+                            "van-checkbox": "/wxcomponents/weapp/dist/checkbox/index",
+                            "van-checkbox-group": "/wxcomponents/weapp/dist/checkbox-group/index",
+                            "van-swipe-cell": "/wxcomponents/weapp/dist/swipe-cell/index"
+                        }
+                    }
                 }
             ],
             "network": "all"

+ 18 - 1
pages/index/components/enterpriseSide.vue

@@ -95,7 +95,7 @@
 import vanRate from "../../../wxcomponents/weapp/dist/rate/index";
 import dynamic from "./dynamic.vue";
 import Activity from "./activity.vue";
-import { getUserPower, getUserLocalStorageInfo, newNotice} from "@/js_sdk/http";
+import { getUserPower, getUserLocalStorageInfo, newNotice,getUserMainHouseKeeper } from "@/js_sdk/http";
 export default {
   components: {
     Activity,
@@ -194,8 +194,25 @@ export default {
   },
   mounted() {
     this.getNotice()
+    this.getHouseKeeper()
   },
   methods: {
+    //获取管家
+    getHouseKeeper(){
+      let reqData = {
+        userId : getUserLocalStorageInfo().userId
+      }
+      getUserMainHouseKeeper(reqData).then((res) => {
+        if (res.key == '200') {
+          console.log('res.data:开始')
+          console.log(res.data)
+          console.log('res.data:结束')
+          if (res.data != null) {
+            this.houseKeeper = res.data
+          }
+        }
+      });
+    },
     toMap(){
       uni.chooseLocation({
         success: function (res) {

+ 187 - 0
pages/subPackages/economicDevelopmentReport/detail.vue

@@ -0,0 +1,187 @@
+<template>
+  <div class="addEnterprise" >
+    <div class="addEnterpriseTit">
+      <div>尊敬的<span style="color:#1D18BC "> {{ qyName }} </span>企业用户,你好!</div>
+      <div class="line"></div>
+      <div>为了更好地为企业提供相关服务,请协助完成相关数据的填报,感谢配合!</div>
+    </div>
+    <div class="addEnterpriseBody">
+      <ul>
+        <li class="bodyLi">
+          <div class="bodyLiTit">任务编号:</div>
+          <input type="text" readonly v-model="infoFrom.temName" placeholder="">
+        </li>
+        <li class="bodyLi">
+          <div class="bodyLiTit">所属时间:</div>
+          <input type="text" readonly v-model="infoFrom.temYearTypeCount" placeholder="">
+        </li>
+        <li class="bodyLi">
+          <div class="bodyLiTit">要求完成日期:</div>
+          <!-- @click="dateShow=true" -->
+          <input
+              type="text"
+              placeholder="请选择"
+              v-model="infoFrom.requireFinishTime"
+              readonly
+
+          />
+        </li>
+        <li class="bodyLi">
+          <div class="bodyLiTit">上报日期:</div>
+          <input type="text" v-model="infoFrom.fillTime" placeholder="自动生成" readonly>
+        </li>
+<!--        <li class="bodyLi">-->
+<!--          <div class="bodyLiTit">填写说明:</div>-->
+<!--          <input type="text" placeholder="" v-model="infoFrom.remark" readonly/>-->
+<!--        </li>-->
+        <li class="bodyLi" :key="item" v-for="(item, index) in optionList">
+          <div class="bodyLiTit" style="font-size: 3.5vw"><span style="color: red">*</span> {{ item }}:</div>
+          <input type="text" v-model="contentList[index]" placeholder="请填写"  style="width: 30vw">
+        </li>
+      </ul>
+    </div>
+    <div class="buttonBox">
+      <button @click="commit('2')">保存</button>
+      <button @click="commit('0')">提交</button>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getUserLocalStorageInfo,getByStag,fillControllerEditSave } from "@/js_sdk/http.js";
+export default {
+  name: "detail",
+  data(){
+    return{
+      qyName:getUserLocalStorageInfo().username,
+      contentList:[],
+      optionList:[],
+      infoFrom:{}
+    }
+  },
+  onLoad(item) {
+    getByStag({id:item.id}).then(res => {
+      if (res.data) {
+        this.infoFrom = res.data
+        this.$set(this.infoFrom, 'fillTime', this.$common.formatDate('yyyy-MM-dd hh:mm:ss', new Date()))
+        if (res.data.temYear && res.data.temYearType) { this.$set(this.infoFrom, 'temYearTypeCount', res.data.temYear + '年' + (res.data.temYearType == '1' ? '半年累计' : '全年累计')) }
+        if (res.data.options) { this.optionList = res.data.options.split(',') }
+        if (res.data.content) {
+          const newArray = res.data.content.split(',')
+          this.contentList = newArray.map(item => item === '-' ? '' : item)
+        }
+      }
+    })
+  },
+  methods:{
+    commit(e) {
+      if (!this.infoFrom.id) {
+        uni.showToast({
+          title: '您暂时没有需要提交的信息',
+          icon: 'none',
+          mask: true,
+          duration: 1000
+        });
+        return false
+      }
+      let flag = false
+      const optios = []
+      for (let i = 0; i < this.optionList.length; i++) {
+        if (!this.contentList[i]) { flag = true }
+        const item = {
+          name: this.optionList[i],
+          value: this.contentList[i]
+        }
+        optios.push(item)
+      }
+      if (flag) {
+        uni.showToast({
+          title: '请先完成必填项的填写!',
+          icon: 'none',
+          mask: true,
+          duration: 1000
+        });
+        return false
+      }
+      const reqData = {
+        id: this.infoFrom.id,
+        userId: getUserLocalStorageInfo.userId,
+        saveType: e,
+        optionList: optios
+      }
+      const enObj = JSON.stringify(reqData)
+      fillControllerEditSave(enObj).then(res => {
+        if (e === '2') {
+          uni.showToast({
+            title: '保存成功!',
+            icon: 'none',
+            mask: true,
+            duration: 1000
+          });
+        } else {
+          uni.showToast({
+            title: '提交成功!',
+            icon: 'none',
+            mask: true,
+            duration: 1000
+          });
+        }
+      })
+    },
+  }
+}
+</script>
+
+<style lang="scss">
+.addEnterprise{
+  .addEnterpriseTit{
+    padding: 4vw 3vw;
+    background: white;
+    margin: 3vw;
+    border-radius: 5px;
+    color: #333333;
+    font-size: 3.8vw;
+    .line{
+      margin: 2vw 0;
+    }
+  }
+  .addEnterpriseBody{
+    background: white;
+    padding: 1vw 3vw 5vw 3vw;
+    border-radius: 5px;
+    margin: 0 3vw;
+    .bodyLi{
+      display: flex;
+      align-items: center;
+      border-bottom: 3px solid #CCCCCC;
+      padding: 5vw 0;
+      width: 100%;
+      font-size: 3.8vw;
+      .bodyLiTit{
+        width: 50vw;
+        white-space: nowrap;
+      }
+    }
+    .lastLi{
+      border-bottom: none !important;
+      padding-bottom: 2vw;
+    }
+  }
+  .buttonBox{
+    display: flex;
+    margin-top:10vw;
+    justify-content: space-evenly;
+    button{
+      background: #1D18BC;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      width: 40vw;
+      height: 13vw;
+      color: #FFFFFF;
+      border-radius: 10px;
+    }
+  }
+}
+
+</style>

+ 103 - 7
pages/subPackages/economicDevelopmentReport/economic.vue

@@ -1,33 +1,129 @@
 <template>
     <div class="economic">
-       <div class="noMsgBox">
-         <img src="https://www.idea-co-sf.com/gardenProduct/image/youxiang.png">
-         <span class="msgInfo">暂无消息</span>
-       </div>
-      <button class="backToHome" @click="backToHome">返回首页</button>
+      <ul class="economicList">
+        <li class="ecoLi" v-for="item in dataList" @tap="toDetail(item)">
+          <div class="ecoRow">
+            <span>任务编号:{{item.temName}}</span>
+            <div :class="item.saveType==0?'ytb':'wtb'">{{ item.saveType==0?'已填报':'未填报' }}</div>
+          </div>
+          <div class="ecoRow2">
+            要求完成日期:{{item.requireFinishTime}}
+          </div>
+        </li>
+      </ul>
+      <div v-if="false">
+         <div class="noMsgBox">
+           <img src="https://www.idea-co-sf.com/gardenProduct/image/youxiang.png">
+           <span class="msgInfo">暂无消息</span>
+         </div>
+        <button class="backToHome" @click="backToHome">返回首页</button>
+      </div>
     </div>
 </template>
 
 <script>
+import { fillControllerList,getUserLocalStorageInfo } from "@/js_sdk/http.js";
 export default {
   name: "",
   data(){
     return{
-
+      dataList:[],
+      pages: {
+        pageNum: 1,
+        pageSize: 10,
+        enterId: getUserLocalStorageInfo().userId
+      },
     }
   },
+  created(){
+    this.getList()
+  },
+  onPullDownRefresh() {
+    this.dataList = []
+    this.getList()
+    setTimeout(function () {
+      uni.stopPullDownRefresh();
+    }, 1000);
+  },
   methods:{
     backToHome(){
       uni.switchTab({
         url: "/pages/index/index",
       });
-    }
+    },
+    toDetail(item){
+      uni.navigateTo({
+        url:'/pages/subPackages/economicDevelopmentReport/detail?id='+item.id
+      })
+    },
+    // 获取填报列表
+    async getList() {
+      await fillControllerList(this.pages).then(res => {
+        if (res.rows.length) {
+          this.isDownLoading = false
+          this.dataList.push(...res.rows)
+          this.isUpLoading = false
+          if (this.dataList.length >= res.total) {
+            this.upFinished = true
+          }
+        } else if (res.errno == 426) {
+          Toast(res.errmsg)
+        } else {
+          this.dataList = []
+          this.isDownLoading = false
+          this.isUpLoading = false
+          this.upFinished = true
+        }
+        this.isRef = true
+      })
+    },
   }
 }
 </script>
 
 <style lang="scss">
     .economic{
+      .economicList{
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        .ecoLi{
+          width: 686rpx;
+          box-sizing: border-box;
+          background: white;
+          border-radius: 16rpx;
+          margin: 24rpx 0;
+          padding: 32rpx;
+          .ecoRow{
+            font-size: 32rpx;
+            color: #333333;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            .ytb{
+              background:rgba(0, 0, 0, 0.05);
+              color: rgba(153, 153, 153, 1);
+              padding: 1.5vw 3vw;
+              border-radius: 5px;
+              white-space: nowrap;
+              font-size: 28rpx;
+            }
+            .wtb{
+              background:rgba(29, 24, 188, 0.05);
+              color: rgba(29, 24, 188, 1);
+              padding: 1.5vw 3vw;
+              border-radius: 5px;
+              white-space: nowrap;
+              font-size: 28rpx;
+            }
+          }
+          .ecoRow2{
+            font-size: 30rpx;
+            color: #666666;
+            margin-top: 16rpx;
+          }
+        }
+      }
       .noMsgBox{
         display: flex;
         flex-direction: column;

+ 77 - 10
pages/subPackages/industrialPolicy/detail.vue

@@ -1,27 +1,94 @@
 <template>
     <div class="industralDetail">
        <div class="industralBox">
-         <div class="industralTitle">关于入住企业规模发展奖励</div>
-         <div class="industralTime">2021-03-21  12:00 &nbsp;|&nbsp; 园区管委会</div>
+         <div class="industralTitle">{{detail.title}}</div>
+         <div class="industralTime">{{detail.releaseTime}} &nbsp;|&nbsp; 园区管委会</div>
        </div>
        <div class="industralBox">
          <div class="industralTitle">简介</div>
-         <div class="industralInfo">
-           (1) 对规模达到1亿元的创业投资基金,可按不超过基金规模1%的比例给予奖励;达到2亿元的,可按不超过1.5%的比例给予奖励;达到5亿元的,可按不超过2%的比例给予奖励。
+         <div class="industralInfo" v-html="detail.content">
+<!--           (1) 对规模达到1亿元的创业投资基金,可按不超过基金规模1%的比例给予奖励;达到2亿元的,可按不超过1.5%的比例给予奖励;达到5亿元的,可按不超过2%的比例给予奖励。-->
          </div>
-         <div class="industralInfo">
-           (2) 对规模达到2亿元的私募股权基金,可按不超过基金规模1%的比例给予奖励:达到5亿元的,可按不超过1.5%的比例给予奖励:达到10亿元的,可按不超过2%的比例给予奖励。
-         </div>
-         <div class="industralInfo">
-           (3) 对规模达到5亿元的私募证券基金,可接不超过基金规模0.5%的比例给予奖励;达到10亿元的,可按不超过1%的比例给予奖励;达到20亿元的,可按不超过1.5%的比例给子奖励。
+         <img style="width: 100%;height: 100%" v-for="item in imgUrlList" :src="item.url" alt="" />
+         <div v-for="item in fileUrlList" style=" font-size: 16px; margin: 10px;color: #0000FF" @click="jumpFile(item)">
+           {{item.name}}
          </div>
+<!--         <div class="industralInfo">-->
+<!--           (2) 对规模达到2亿元的私募股权基金,可按不超过基金规模1%的比例给予奖励:达到5亿元的,可按不超过1.5%的比例给予奖励:达到10亿元的,可按不超过2%的比例给予奖励。-->
+<!--         </div>-->
+<!--         <div class="industralInfo">-->
+<!--           (3) 对规模达到5亿元的私募证券基金,可接不超过基金规模0.5%的比例给予奖励;达到10亿元的,可按不超过1%的比例给予奖励;达到20亿元的,可按不超过1.5%的比例给子奖励。-->
+<!--         </div>-->
        </div>
     </div>
 </template>
 
 <script>
+import { policyGetById } from "@/js_sdk/http.js";
 export default {
-  name: "detail"
+  name: "detail",
+  data(){
+    return{
+      detail: {},
+      fileUrlList: [],
+      imgUrlList: []
+    }
+  },
+  onLoad(item) {
+    // console.log(item.id)
+    this.selectById(item.id)
+  },
+  methods:{
+    selectById(id) {
+      const _this = this
+      policyGetById({ id }).then((res) => {
+        console.log(res)
+        if (res.data) {
+          const det = _this.getItemJson(res.data)
+          _this.detail = det
+          if (det.fileUrl && det.fileUrl.length > 2) {
+            const themeUrlList = []
+            const imgUrlList = []
+            const files = _this.$common.castEval(det.fileUrl)
+            files.forEach(item => {
+              const ul = {
+                name: item.name,
+                url: item.url.replace('server', 'smartParkH5Server')
+              }
+              if (item.name.indexOf('png') > -1 || item.name.indexOf('jpg') > -1 || item.name.indexOf('jpeg') > -1) {
+                imgUrlList.push(ul)
+              } else {
+                themeUrlList.push(ul)
+              }
+            })
+            if (imgUrlList.length > 0) {
+              _this.imgUrlList = imgUrlList
+            }
+            _this.fileUrlList = themeUrlList
+          }
+        }
+      })
+      console.log(_this.detail)
+    },
+    getItemJson: function(item) {
+      item.releaseTime = this.$common.transDate(item.releaseTime)
+      // item.serviceType = this.dc_map.QUICK_SELECTION[item.serviceType]
+      if (item.content && item.content.indexOf('smartParkH5Server' > -1)) {
+        item.content = item.content.replace('server', 'smartParkH5Server')
+      }
+      if (item.content.indexOf('width') !== -1 && item.content.indexOf('height') !== -1) {
+        item.content = item.content.replace(/width="(\S*)"/, 'width="100%"').replace(/height="(\S*)"/, 'height="100%"')
+      }
+
+      return item
+    },
+    jumpFile(item) {
+      console.log(window.location.href)
+      console.log(window.location.href.split('#')[0])
+      wx.miniProgram.navigateTo({ url: '/pages/file/download?callBackUrl=' + encodeURIComponent(window.location.href.split('#')[0]) +
+            '&url=' + item.url + '&name=' + item.name })
+    },
+  }
 }
 </script>
 

+ 78 - 18
pages/subPackages/industrialPolicy/index.vue

@@ -2,15 +2,15 @@
   <div class="industrialPolicy">
     <div class="peripheralBody">
       <van-tabs :active="active" @change="onChange">
-        <van-tab title="全部" :name="0"></van-tab>
-        <van-tab title="大类" :name="1" v-for="(item,index) in typeList"></van-tab>
+<!--        <van-tab title="全部" :name="0"></van-tab>-->
+        <van-tab :title="item.name" :name="item.id" v-for="(item,index) in typeList"></van-tab>
       </van-tabs>
       <div class="peripheralBox">
         <div class="peripheralItem" v-for="item in peripheralList" @tap="toDetail(item)">
-            <span class="peripheralName">{{item.name}}</span>
-          <div class="peripheralItemRow2">2021-03-21  12:00 &nbsp;|&nbsp; 园区管委会</div>
+            <span class="peripheralName">{{item.title}}</span>
+          <div class="peripheralItemRow2">{{item.releaseTime}} &nbsp;|&nbsp; 园区管委会</div>
           <div class="tagBox">
-             <span class="periTag" v-for="type in item.type">{{type}}</span>
+             <span class="periTag" v-for="tag in item.policySmallName">{{tag}}</span>
           </div>
         </div>
       </div>
@@ -24,35 +24,95 @@ export default {
   name: "peripheralService",
   data(){
     return{
-      active: 0,
+      active: '',
       peripheralList:[
         {name:'关于入住企业规模发展奖励',type:['小类','大类']},
         {name:'关于入住企业规模发展奖励',type:['小类','大类']},
       ],
       typeList:[],
-      userId:getUserLocalStorageInfo().userId
+      userId:getUserLocalStorageInfo().userId,
+      params: {
+        pageNum: 1,
+        pageSize: 10,
+        policyBig: '', // auth.currUser().id
+        groupId: '', // 园区
+        status: 'published'
+      },
     }
   },
+  created(){
+    this.selectPolicyType()
+  },
+  onPullDownRefresh() {
+    this.peripheralList = []
+    this.selectData()
+    setTimeout(function () {
+      uni.stopPullDownRefresh();
+    }, 1000);
+  },
   mounted() {
-    this.getList()
   },
   methods:{
-    onChange(e) {
-      console.log(e)
+    selectPolicyType() {
+      policyListAll({}).then((res) => {
+        console.log(res)
+        if (res.data) {
+          this.type = res.data
+          this.typeList = []
+          const list = []
+          list.push({ id: '0', name: '全部' })
+          res.data.forEach((item) => {
+            if (item.type === 'big') {
+              list.push({
+                id: item.id,
+                name: item.name,
+              })
+            }
+          })
+          this.typeList = list
+        }
+        this.onChange({detail:{
+            name:''
+          }})
+      })
     },
-    getList(){
-      policyListAll().then(res=>{
-        this.typeList = res.data
-        console.log(this.typeList,'11111')
+    onChange(value) {
+       console.log(value)
+       this.peripheralList = []
+       this.selectData(value.detail.name)
+    },
+    selectData(value) {
+      const _this = this
+      _this.params.policyBig = value
+      policyList(_this.params).then((res) => {
+        console.log(res)
+        if (res.data) {
+          res.data.forEach((res) => {
+            const det = _this.getItemJson(res)
+            console.log('det',det)
+            const types = _this.type
+            const smallNames = []
+            types.forEach((i) => {
+              if (det.policySmall){
+                if (det.policySmall.search(i.id) !== -1) {
+                  smallNames.push(i.name)
+                }
+              }
+            })
+            det.policySmallName = smallNames
+            _this.peripheralList.push(det)
+          })
+        }
       })
-      // policyList({userId:this.userId}).then(res=>{
-      //
-      // })
     },
     toDetail(item) {
       uni.navigateTo({
-        url:'/pages/subPackages/industrialPolicy/detail'
+        url:'/pages/subPackages/industrialPolicy/detail?id='+item.id
       })
+    },
+    getItemJson(item) {
+      item.releaseTime = this.$common.transServDate(item.releaseTime)
+      return item
     }
   }
 }

+ 24 - 4
pages/subPackages/minePages/mineMessage.vue

@@ -14,15 +14,35 @@
 </template>
 
 <script>
+import { getMsgList,getUserLocalStorageInfo } from "@/js_sdk/http";
 export default {
   name: "mineMessage",
   data(){
     return{
       msgList:[
-        {name:'您有一条最新政策待查看',isNew:false},
-        {name:'您有一条最新政策待查看',isNew:true},
-        {name:'您有一条最新政策待查看',isNew:false},
-      ]
+        // {name:'您有一条最新政策待查看',isNew:false},
+        // {name:'您有一条最新政策待查看',isNew:true},
+        // {name:'您有一条最新政策待查看',isNew:false},
+      ],
+      requestParam: {
+        userId: getUserLocalStorageInfo().userId,
+        pageNum: 1,
+        pageSize: 10
+      },
+      total:0
+    }
+  },
+  mounted(){
+    this.getList()
+  },
+  methods:{
+    getList(){
+      getMsgList(this.requestParam).then(res=>{
+        res.rows.forEach(element => {
+          this.msgList.push(element)
+        })
+        this.total = res.total
+      })
     }
   }
 }

+ 104 - 10
pages/subPackages/peripheralService/detail.vue

@@ -1,33 +1,127 @@
 <template>
     <div class="peripheralDetail">
         <div class="peripheralFirstBox">
-          <div class="periTitle">福奈特洗衣店(基金PARK店) <span class="periType">干洗</span></div>
-          <div class="periTime">更新时间:2021-03-21</div>
+          <div class="periTitle">{{detail.businessName}}<span class="periType">{{detail.typeName}}</span></div>
+          <div class="periTime">更新时间:{{detail.releaseTime}}</div>
           <div class="periAddress">
-            <span>地址:无锡市经开区XXXXXXXXXX</span>
-            <img src="../parkActivity/image/dhIcon.png" class="dhIcon">
+            <span>地址:{{detail.businessAddress}}</span>
+            <img src="../parkActivity/image/dhIcon.png" class="dhIcon" @tap="searchAddress(detail.businessAddress)">
           </div>
           <div class="contactBox">
           <span class="contackLeft">
             <span style="color: #666666;font-size: 28rpx">联系电话:</span>
-            <span style="color: #18172A;font-size: 36rpx;font-weight: 600">0510-680**808</span>
+            <span style="color: #18172A;font-size: 36rpx;font-weight: 600">{{detail.businessPhone}}</span>
           </span>
-            <img src="https://www.idea-co-sf.com/gardenProduct/image/phoneIcon.png" class="phoneIcon">
+            <img src="https://www.idea-co-sf.com/gardenProduct/image/phoneIcon.png" class="phoneIcon" @tap="phoneCall(detail.businessPhone)">
           </div>
         </div>
       <div class="peripheralFirstBox" style="padding: 32rpx">
         <div class="periTitle" style="padding: 0 0 32rpx 0">简介</div>
-        <img src="https://www.idea-co-sf.com/gardenProduct/image/img1.png" class="firstImg"/>
-        <div class="perInfo">
-          洗衣拥有20多年的品牌沉淀,连续5年加盟稳居全国前列硬件上洗衣拥有20多年的品牌沉淀,连续5年加盟稳居全国前列,硬件上洗衣拥有20多年的品牌沉淀,连续5年加盟稳居全国前列,硬件上洗衣拥有20多年的品牌沉淀.
+<!--        <img src="https://www.idea-co-sf.com/gardenProduct/image/img1.png" class="firstImg"/>-->
+        <div v-for="fit in detail.imageUrl" :key="fit">
+          <img :src="fit" class="firstImg" />
+        </div>
+        <div class="perInfo" v-html="detail.introduction">
         </div>
       </div>
     </div>
 </template>
 
 <script>
+import { peripheryGetById,getUserLocalStorageInfo,getByCodes } from "@/js_sdk/http";
 export default {
-  name: "detail"
+  name: "detail",
+  data(){
+    return{
+      getUserLocalStorageInfo: getUserLocalStorageInfo(),
+      dc_key: ['periphery_type'],
+      serviceList:[],
+      detail:{}
+    }
+  },
+  created(){
+    this.getByCodes()
+  },
+  onLoad(item){
+    console.log(item.id)
+    this.getDetailById(item.id)
+  },
+  methods:{
+    async getByCodes() {
+      let data = await getByCodes(JSON.stringify(this.dc_key));
+      this.dic_SelectList = this.$common.handleDicList(data);
+      this.serviceList = this.dic_SelectList.periphery_type
+    },
+    phoneCall(phone){
+      uni.makePhoneCall({
+        phoneNumber: phone, // 需要拨打的电话号码
+        success: function () {
+          console.log('拨打电话成功!');
+        },
+        fail: function (err) {
+          console.error('拨打电话失败:', err);
+          // 可能的失败原因包括:用户拒绝、没有安装电话应用等
+          uni.showToast({
+            title: '拨打电话失败',
+            icon: 'none'
+          });
+        }
+      })
+    },
+    searchAddress(address){
+      console.log(address)
+      uni.getLocation({
+        type: 'wgs84',
+        geocode: true, // 是否解析地址为经纬度
+        address: address,
+        success: function (res) {
+          console.log(res)
+          const latitude = res.latitude; //待web端传经纬度
+          const longitude = res.longitude;//待web端传经纬度
+          uni.openLocation({
+            latitude: latitude,
+            longitude: longitude,
+            address: address,
+            // ...其他参数
+          });
+        },
+        fail: function (error) {
+          console.error('获取位置失败', error);
+        }
+      });
+    },
+    getDetailById(id) {
+      const _this = this
+      peripheryGetById({ id }).then((res) => {
+        console.log(res.data)
+        if (res.data) {
+          const det = _this.getItemJson(res.data)
+          this.detail = det
+          this.star = Math.ceil((det.score == null ? 0 : det.score) / (det.evaluateNum == null ? 1 : det.evaluateNum))
+        }
+        // const item = _this.getItemJson(res)
+      })
+    },
+    getItemJson: function(item) {
+      item.releaseTime = this.$common.transDate(item.releaseTime)
+      // item.type = this.dic_SelectList.periphery_type[item.type]
+      let transformedObject = this.dic_SelectList.periphery_type.reduce((acc, obj) => {
+        acc[obj.value] = obj.label;
+        return acc;
+      }, {'':'全部'});
+      item.typeName = transformedObject[item.type]
+
+      if (item.fileUrl && item.fileUrl.length > 2) {
+        const files = JSON.parse(item.fileUrl)
+        item.imageUrl = []
+        files.forEach(itemm => {
+          itemm.url = itemm.url.replace('server', 'smartParkH5Server')
+          item.imageUrl.push(itemm.url)
+        })
+      }
+      return item
+    }
+  }
 }
 </script>
 

+ 77 - 15
pages/subPackages/peripheralService/index.vue

@@ -1,21 +1,22 @@
 <template>
     <div class="peripheralService">
       <div class="peripheralBody">
-         <van-tabs :active="active" @change="onChange">
-           <van-tab title="全部" :name="0"></van-tab>
-           <van-tab title="干洗" :name="1"></van-tab>
-           <van-tab title="维修" :name="2"></van-tab>
-           <van-tab title="保洁" :name="3"></van-tab>
-           <van-tab title="精装水" :name="4"></van-tab>
-           <van-tab title="医疗" :name="5"></van-tab>
+         <van-tabs :active="active" @change="selectChange">
+           <van-tab title="全部" :name="all"></van-tab>
+           <van-tab :title="item.label" :name="item.value" v-for="item in serviceList"></van-tab>
+<!--           <van-tab title="干洗" :name="1"></van-tab>-->
+<!--           <van-tab title="维修" :name="2"></van-tab>-->
+<!--           <van-tab title="保洁" :name="3"></van-tab>-->
+<!--           <van-tab title="精装水" :name="4"></van-tab>-->
+<!--           <van-tab title="医疗" :name="5"></van-tab>-->
          </van-tabs>
         <div class="peripheralBox">
           <div class="peripheralItem" v-for="item in peripheralList" @tap="toDetail(item)">
             <div class="peripheralItemRow1">
-              <span class="peripheralName">{{item.name}}</span>
+              <span class="peripheralName">{{item.businessName}}</span>
               <span class="periTag">{{item.type}}</span>
             </div>
-            <div class="peripheralItemRow2">入驻时间:2021-03-21</div>
+            <div class="peripheralItemRow2">入驻时间:{{item.releaseTime}}</div>
           </div>
         </div>
       </div>
@@ -23,25 +24,86 @@
 </template>
 
 <script>
+import { getByCodes,peripheryList } from "@/js_sdk/http";
 export default {
   name: "peripheralService",
   data(){
-    return{
+    return {
+      dc_key: ['periphery_type', 'QUICK_SELECTION'],
       active: 0,
+      type: '',
       peripheralList:[
-        {name:'福奈特洗衣店(基金PARK店)',type:'干洗'},
-        {name:'印彩图文广告(金融街店)',type:'打印'},
-      ]
+        // {name:'福奈特洗衣店(基金PARK店)',type:'干洗'},
+        // {name:'印彩图文广告(金融街店)',type:'打印'},
+      ],
+      params: {
+        pageNum: 1,
+        pageSize: 10,
+        releaseType: 'periphery',
+        status: 'published'
+      },
+      serviceList:[],
+      dic_SelectList:[],
+      all: null
     }
   },
+  created(){
+    this.getByCodes()
+  },
+  onPullDownRefresh() {
+    this.getByCodes()
+    setTimeout(function () {
+      uni.stopPullDownRefresh();
+    }, 1000);
+  },
   methods:{
-    onChange(e) {
+    async getByCodes() {
+      let data = await getByCodes(JSON.stringify(this.dc_key));
+      this.dic_SelectList = this.$common.handleDicList(data);
+      this.serviceList = this.dic_SelectList.periphery_type
+      // console.log('this.serviceList',this.serviceList)
+      this.selectChange({detail:{
+          name:''
+        }})
+    },
+
+    selectData(type) {
+      const _this = this
+      _this.params.type = type
+      peripheryList(_this.params).then((res) => {
+        if (res.data) {
+          res.data.forEach(function(item) {
+            const jsonMap = _this.getItemJson(item)
+            // console.log('jsonMap',jsonMap)
+            _this.peripheralList.push(jsonMap)
+          })
+        }
+        // console.log(_this.peripheralList)
+      })
+    },
+
+    selectChange(e) {
       console.log(e)
+      this.peripheralList = []
+      this.selectData(e.detail.name)
     },
+
     toDetail(item) {
       uni.navigateTo({
-        url:'/pages/subPackages/peripheralService/detail'
+        url:'/pages/subPackages/peripheralService/detail?id='+item.id
       })
+    },
+
+    getItemJson: function(item) {
+      item.releaseTime = this.$common.transDate(item.releaseTime)
+      // item.type = this.dic_SelectList.periphery_type[item.type]
+      let transformedObject = this.dic_SelectList.periphery_type.reduce((acc, obj) => {
+        acc[obj.value] = obj.label;
+        return acc;
+      }, {'':'全部'});
+      item.type = transformedObject[item.type]
+      // console.log('this.dic_SelectList.periphery_type',transformedObject)
+      return item
     }
   }
 }

+ 107 - 6
pages/subPackages/propertyNotice/detail.vue

@@ -1,31 +1,46 @@
 <template>
     <div class="detailBody">
       <div class="detailBox">
-        <div class="detailTitle">XXXXX南门出口道闸维修的通知</div>
-        <div class="detailTime">2024-04-25  09:00</div>
-        <div class="noticeTitle">这是通知内容</div>
+        <div class="detailTitle">{{title}}</div>
+        <div class="detailTime">{{releaseTime}}</div>
+<!--        <div class="noticeTitle">这是通知内容</div>-->
         <!-- 这里用v-html-->
-        <div class="noticeInfo">这是通知内容,这是通知内容,这是通知内容,这是通知内容,这是通知内容,这是通知内容这是通知内容,这是通知内容,这是通知内容,这是通知内容</div>
+        <div class="noticeInfo" v-html="content"></div>
         <div class="file">
           附件:
-          <span style="color: rgba(3, 101, 249, 1)">POOD.pdf</span>
+          <div style="width: 100%;height: 100%" class="img-list" v-if="imgUrlList.length>0">
+            <img style="width: 100%;height: 100%" v-for="item in imgUrlList" :src="item.url" alt="" />
+          </div>
+          <div v-for="item in fileUrlList" style=" font-size: 16px; margin: 10px;color: #0000FF" @click="jumpFile(item)">
+            {{item.name}}
+          </div>
         </div>
       </div>
     </div>
 </template>
 
 <script>
-import { userNoticeAdd,getUserLocalStorageInfo } from "@/js_sdk/http";
+import { userNoticeAdd,getUserLocalStorageInfo,getParkNoticeById,getPropertyNoticeById } from "@/js_sdk/http";
 export default {
   name: "detail",
   data(){
     return{
       getUserLocalStorageInfo: getUserLocalStorageInfo(),
+      type:'',
+      id:'',
+      title:'',
+      releaseTime:'',
+      content:'',
+      imgUrlList:[],
+      fileUrlList:[]
+
     }
   },
   onLoad({type}){
     // console.log(JSON.parse(type))
     const item = JSON.parse(type)
+    this.type = item.type
+    this.id = item.id
     if(item.readStatus === '1'){
       userNoticeAdd({
         noticeId:item.id,
@@ -35,6 +50,92 @@ export default {
 
       })
     }
+  },
+  mounted(){
+    this.selectById()
+  },
+  methods:{
+    jumpFile(item) {
+      console.log(window.location.href)
+      console.log(window.location.href.split('#')[0])
+      wx.miniProgram.navigateTo({ url: '/pages/file/download?callBackUrl=' + encodeURIComponent(window.location.href.split('#')[0]) +
+            '&url=' + item.url })
+    },
+    selectById() {
+      const _this = this
+      if (_this.type === '1') {
+        getParkNoticeById({ id: _this.id }).then((res) => {
+          const data = res.data
+          _this.title = data.title
+          if (data.content.indexOf('src=') !== -1) {
+            data.content = data.content.replace('server', 'smartParkH5Server')
+          }
+          if (data.content.indexOf('width') !== -1 && data.content.indexOf('height') !== -1) {
+            data.content = data.content.replace(/width="(\S*)"/, 'width="100%"').replace(/height="(\S*)"/, 'height="100%"')
+          }
+          _this.content = data.content
+          _this.releaseTime = _this.$common.transServDate(data.releaseTime)
+          if (data.fileUrl && data.fileUrl.length > 2) {
+            const themeUrlList = []
+            const imgUrlList = []
+            const files = JSON.parse(data.fileUrl)
+            files.forEach(item => {
+              if (item.url) {
+                const ul = {
+                  name: item.name,
+                  url: item.url.replace('server', 'smartParkH5Server')
+                }
+                if (item.name.indexOf('png') > -1 || item.name.indexOf('jpg') > -1 || item.name.indexOf('jpeg') > -1) {
+                  imgUrlList.push(ul)
+                } else {
+                  themeUrlList.push(ul)
+                }
+              }
+            })
+            if (imgUrlList.length > 0) {
+              _this.imgUrlList = imgUrlList
+            }
+            _this.fileUrlList = themeUrlList
+          }
+        })
+      } else {
+        getPropertyNoticeById({ id: _this.id }).then((res) => {
+          const data = res.data
+          _this.title = data.title
+
+          if (data.content.indexOf('src=') !== -1) {
+            data.content = data.content.replace('server', 'smartParkH5Server').replaceAll('class="wscnph"', 'class="wscnph" width="100%"')
+          }
+          if (data.content.indexOf('width') !== -1 && data.content.indexOf('height') !== -1) {
+            data.content = data.content.replace(/width="(\S*)"/, 'width="100%"').replace(/height="(\S*)"/, 'height="100%"')
+          }
+          _this.content = data.content
+          _this.releaseTime = _this.$common.transServDate(data.releaseTime)
+          if (data.fileUrl && data.fileUrl.length > 2) {
+            const themeUrlList = []
+            const imgUrlList = []
+            const files = JSON.parse(data.fileUrl)
+            files.forEach(item => {
+              if (item.url) {
+                const ul = {
+                  name: item.name,
+                  url: item.url.replace('server', 'smartParkH5Server')
+                }
+                if (item.name.indexOf('png') > -1 || item.name.indexOf('jpg') > -1 || item.name.indexOf('jpeg') > -1) {
+                  imgUrlList.push(ul)
+                } else {
+                  themeUrlList.push(ul)
+                }
+              }
+            })
+            if (imgUrlList.length > 0) {
+              _this.imgUrlList = imgUrlList
+            }
+            _this.fileUrlList = themeUrlList
+          }
+        })
+      }
+    }
   }
 }
 </script>

+ 39 - 30
pages/subPackages/propertyNotice/index.vue

@@ -37,41 +37,50 @@ export default {
       type:''
     }
   },
+  onPullDownRefresh() {
+    this.getList(this.type)
+    setTimeout(function () {
+      uni.stopPullDownRefresh();
+    }, 1000);
+  },
   onLoad(type){
     // console.log('type',type)
     this.type = type.type
-    const data = {
-      userId:this.getUserLocalStorageInfo.userId,
-      type:type.type,
-      status:'published'
-    }
-    if (type.type=='1'){
-      uni.setNavigationBarTitle({
-        title: '园区通知',
-      });
-      const dayjs = require('dayjs')
-      noticeParkList(data).then(res=>{
-        res.forEach(e=>{
-          e.releaseTime = dayjs(e.releaseTime).format('YYYY-MM-DD HH:mm:ss')
-          e.type = type.type
-        })
-        this.noticeList = res
-      })
-    }else{
-      uni.setNavigationBarTitle({
-        title: '物业通知',
-      });
-      const dayjs = require('dayjs')
-      propertyNoticeList(data).then(res=>{
-        res.forEach(e=>{
-          e.releaseTime = dayjs(e.releaseTime).format('YYYY-MM-DD HH:mm:ss')
-          e.type = type.type
-        })
-        this.noticeList = res
-      })
-    }
+    this.getList(type.type)
   },
   methods:{
+    getList(type){
+      const data = {
+        userId:this.getUserLocalStorageInfo.userId,
+        type:type,
+        status:'published'
+      }
+      if (type=='1'){
+        uni.setNavigationBarTitle({
+          title: '园区通知',
+        });
+        const dayjs = require('dayjs')
+        noticeParkList(data).then(res=>{
+          res.forEach(e=>{
+            e.releaseTime = dayjs(e.releaseTime).format('YYYY-MM-DD HH:mm:ss')
+            e.type = type
+          })
+          this.noticeList = res
+        })
+      }else{
+        uni.setNavigationBarTitle({
+          title: '物业通知',
+        });
+        const dayjs = require('dayjs')
+        propertyNoticeList(data).then(res=>{
+          res.forEach(e=>{
+            e.releaseTime = dayjs(e.releaseTime).format('YYYY-MM-DD HH:mm:ss')
+            e.type = type
+          })
+          this.noticeList = res
+        })
+      }
+    },
     toDetail(item){
       uni.navigateTo({
         url: "/pages/subPackages/propertyNotice/detail?type=" + JSON.stringify(item),

+ 116 - 39
pages/subPackages/reportRepair/index.vue

@@ -7,21 +7,17 @@
       <ul class="detailUl">
         <li class="detailLi">
           <span class="liName">当前企业</span>
-          <span class="liInfo">无锡XXXXX有限公司</span>
+          <span class="liInfo">{{getUserLocalStorageInfo.username}}</span>
         </li>
         <li class="detailLi">
           <span class="liName">
             <span style="color: red;margin-right: 10rpx;">*</span>
             您是想
           </span>
-          <span class="liInfo">
-              <label class="radio"  @click.stop="isCheck=true" >
-                  <radio value="报事" :checked="isCheck" color="#0365F9"/>报事
-              </label>
-              <label class="radio" @click.stop="isCheck=false" >
-                  <radio value="咨询" :checked="!isCheck" color="#0365F9"/>咨询
-               </label>
-          </span>
+          <van-radio-group :value="form.type" @change="onChange">
+            <van-radio name="1">报事</van-radio>
+            <van-radio name="2">咨询</van-radio>
+          </van-radio-group>
         </li>
         <li class="detailLi2">
           <span class="liName">
@@ -29,16 +25,19 @@
           </span>
           <div class="detailLi2Box">
             <div class="detailLi2BoxTop">
-              <div class="checkItem" :class="item.isCheck?'checked':''" v-for="item in checkList" @click="clickCheck(item)">{{item.name}}</div>
+              <div class="checkItem" :class="{
+                  checked: quickSleced.value && item.value === quickSleced.value,
+                }" v-for="item in checkList" @click="clickCheck(item)">{{item.label}}</div>
             </div>
             <van-field
-                :value="form.contant"
+                :value="form.description"
                 autosize
                 type="textarea"
                 placeholder="请输入文字进行报事报修描述"
                 class="myField"
                 maxlength="800"
                 show-word-limit
+                @input="changeIpt"
             />
           </div>
         </li>
@@ -47,14 +46,10 @@
             <span style="color: red;margin-right: 10rpx;">*</span>
             位置
           </span>
-          <span class="liInfo">
-              <label class="radio"  @click.stop="isCheck2=true" >
-                  <radio value="报事" :checked="isCheck2" color="#0365F9"/>室内
-              </label>
-              <label class="radio" @click.stop="isCheck2=false" >
-                  <radio value="咨询" :checked="!isCheck2" color="#0365F9"/>公区
-               </label>
-          </span>
+          <van-radio-group :value="form.position" @change="onChange2">
+            <van-radio name="1">室内</van-radio>
+            <van-radio name="2">公区</van-radio>
+          </van-radio-group>
         </li>
         <li class="detailLi2">
           <span class="liName">
@@ -76,54 +71,133 @@
             报事人
           </span>
           <span class="liInfo">
-            章敏-18915281562
+            {{submitUser}}
           </span>
         </li>
       </ul>
     </div>
     <div class="buttonBox">
       <button class="btn zcBtn">暂存</button>
-      <button class="btn tjBtn">提交</button>
+      <button class="btn tjBtn" @tap="submit">提交</button>
     </div>
   </div>
 </template>
 <script>
+import { repairAdd,getUserLocalStorageInfo,getByCodes } from "@/js_sdk/http";
+import dayjs from "dayjs";
 export default {
   data(){
     return{
+      getUserLocalStorageInfo: getUserLocalStorageInfo(),
+      dc_key: ['QUICK_SELECTION'],
       isCheck:false,
       isCheck2:false,
-      form:{
-        contant:''
+      form: {
+        groupId: '',
+        companyId: getUserLocalStorageInfo().userId,
+        type: '1',
+        serviceType: '',
+        description: '',
+        position: '1',
+        userId:getUserLocalStorageInfo().userId + '-' + getUserLocalStorageInfo().username + '-' + getUserLocalStorageInfo().phone,
+        fileUrl: '',
+        status: 'unAcceptance'
       },
+      submitUser:getUserLocalStorageInfo().username + '-' + getUserLocalStorageInfo().phone,
       checkList:[
-        {name:'挂件安装',isCheck:true},
-        {name:'我要投诉',isCheck:false},
-        {name:'疏通管道',isCheck:false},
-        {name:'维修线路',isCheck:false},
-        {name:'更换灯泡',isCheck:false},
-        {name:'网络维修',isCheck:false},
-        {name:'保洁服务',isCheck:false},
-        {name:'其他维修',isCheck:false},
+        // {name:'挂件安装'},
+        // {name:'我要投诉'},
+        // {name:'疏通管道'},
+        // {name:'维修线路'},
+        // {name:'更换灯泡'},
+        // {name:'网络维修'},
+        // {name:'保洁服务'},
+        // {name:'其他维修'},
       ],
-      fileList:[]
+      quickSleced: {},
+      fileList:[],
+      dic_SelectList:[]
     }
   },
+  created(){
+    this.getByCodes()
+  },
   methods:{
+    changeIpt(e){
+      this.form.description = e.detail
+    },
+    onChange(e){
+      // console.log(e)
+      this.form.type = e.detail
+    },
+    onChange2(e){
+      // console.log(e)
+      this.form.position = e.detail
+    },
+    async getByCodes() {
+      let data = await getByCodes(JSON.stringify(this.dc_key));
+      this.dic_SelectList = this.$common.handleDicList(data);
+      this.checkList = this.dic_SelectList.QUICK_SELECTION
+    },
     toRecord() {
       uni.navigateTo({
         url:'/pages/subPackages/reportRepair/repairRecord'
       })
     },
     clickCheck(item){
-      item.isCheck = !item.isCheck
+      if (this.quickSleced.value && this.quickSleced.value === item.value) {
+        this.quickSleced = {}
+      } else {
+        this.quickSleced = item
+        // this.form.description = item.lable
+        this.$set(this.form, 'description', item.label)
+      }
+    },
+    submit(){
+      if (this.quickSleced.value == null || this.quickSleced.value === '') {
+        uni.showToast({
+          title: '请选择服务类型',
+          icon: 'none',
+          mask: true,
+          duration: 1000
+        });
+        return
+      }
+      if (this.fileList.length <= 0 || !this.fileList){
+        uni.showToast({
+          title: '请上传补充说明图片',
+          icon: 'none',
+          mask: true,
+          duration: 1000
+        });
+        return
+      }
+      let picArr = []
+      this.fileList.forEach(item=>{
+        picArr.push(item.id)
+      })
+      this.form.fileUrl = picArr.toString()
+      this.form.serviceType = this.quickSleced.value
+      this.form.createdBy = this.getUserLocalStorageInfo.userId
+      repairAdd(this.form).then((res) => {
+        uni.showToast({
+          title: '填报成功',
+          icon: 'success',
+          mask: true,
+          duration: 1000
+        });
+        uni.navigateTo({
+          url:'/pages/subPackages/reportRepair/repairRecord'
+        })
+      })
+      // console.log(this.form)
     },
     deleteRYXXZP(event) {
       this.fileList.splice(event.detail.index, 1);
       this.$forceUpdate();
     },
     uploadRYXXZP(event) {
-      console.log(event)
+      // console.log(event)
       let that = this;
       const { file } = event.detail;
       uni.uploadFile({
@@ -184,15 +258,18 @@ export default {
             padding: 32rpx 0;
             border-bottom: 2rpx solid #E6E6E6;
             .liInfo{
-              display: inline-block;
-              text-align: right;
+              display: flex;
+              justify-content: flex-end;
+              gap: 0 64prx;
               max-width: 428rpx;
               color: rgba(102, 102, 102, 1);
               font-size: 32rpx;
               line-height: 38rpx;
-              .radio{
-                margin-left: 64rpx;
-              }
+            }
+            .van-radio-group{
+              display: flex;
+              align-items: center;
+              gap: 0 32rpx;
             }
           }
           .detailLi2{

+ 132 - 37
pages/subPackages/reportRepair/repairDetail.vue

@@ -4,7 +4,7 @@
       <ul class="detailUl">
         <li class="detailLi">
           <span class="liName">当前企业</span>
-          <span class="liInfo">无锡XXXXX有限公司</span>
+          <span class="liInfo">{{ detail.companyName }}</span>
         </li>
         <li class="detailLi">
           <span class="liName">
@@ -12,12 +12,10 @@
             您是想
           </span>
           <span class="liInfo">
-              <label class="radio"  @click.stop="isCheck=true" >
-                  <radio value="报事" :checked="isCheck" color="#0365F9"/>报事
-              </label>
-              <label class="radio" @click.stop="isCheck=false" >
-                  <radio value="咨询" :checked="!isCheck" color="#0365F9"/>咨询
-               </label>
+             <van-radio-group :value="detail.type" disabled>
+                  <van-radio name="1">报事</van-radio>
+                  <van-radio name="2">咨询</van-radio>
+             </van-radio-group>
           </span>
         </li>
         <li class="detailLi2">
@@ -26,16 +24,17 @@
           </span>
           <div class="detailLi2Box">
             <div class="detailLi2BoxTop">
-              <div class="checkItem" :class="item.isCheck?'checked':''" v-for="item in checkList" @click="clickCheck(item)">{{item.name}}</div>
+              <div class="checkItem" :class="detail.serviceType===item.label?'checked':''" v-for="item in checkList">{{item.label}}</div>
             </div>
             <van-field
-                :value="form.contant"
+                :value="detail.description"
                 autosize
                 type="textarea"
                 placeholder="请输入文字进行报事报修描述"
                 class="myField"
                 maxlength="800"
                 show-word-limit
+                readonly
             />
           </div>
         </li>
@@ -45,12 +44,10 @@
             位置
           </span>
           <span class="liInfo">
-              <label class="radio"  @click.stop="isCheck2=true" >
-                  <radio value="报事" :checked="isCheck2" color="#0365F9"/>室内
-              </label>
-              <label class="radio" @click.stop="isCheck2=false" >
-                  <radio value="咨询" :checked="!isCheck2" color="#0365F9"/>公区
-               </label>
+             <van-radio-group :value="detail.position" disabled>
+                <van-radio name="1">室内</van-radio>
+                <van-radio name="2">公区</van-radio>
+             </van-radio-group>
           </span>
         </li>
         <li class="detailLi2">
@@ -277,33 +274,38 @@
   </div>
 </template>
 <script>
+import {getRepairDispatchById,getUserLocalStorageInfo,getByCodes } from "@/js_sdk/http";
 export default {
   data(){
     return{
+      dc_key: ['QUICK_SELECTION'],
       isCheck:false,
       isCheck2:false,
-      form:{
-        contant:''
+      detail:{
       },
       checkList:[
-        {name:'挂件安装',isCheck:true},
-        {name:'我要投诉',isCheck:false},
-        {name:'疏通管道',isCheck:false},
-        {name:'维修线路',isCheck:false},
-        {name:'更换灯泡',isCheck:false},
-        {name:'网络维修',isCheck:false},
-        {name:'保洁服务',isCheck:false},
-        {name:'其他维修',isCheck:false},
+        // {name:'挂件安装',isCheck:true},
+        // {name:'我要投诉',isCheck:false},
+        // {name:'疏通管道',isCheck:false},
+        // {name:'维修线路',isCheck:false},
+        // {name:'更换灯泡',isCheck:false},
+        // {name:'网络维修',isCheck:false},
+        // {name:'保洁服务',isCheck:false},
+        // {name:'其他维修',isCheck:false},
       ],
       fileList:[],
       optionsType:'',
       timeNow:'',
-      value: "5"
+      value: "5",
+      id:'',
+      dic_SelectList:[]
     }
   },
   onLoad(options) {
-    console.log(options);
-    this.optionsType = options.type
+    const item = JSON.parse(options.item)
+    this.id = item.id
+    console.log('11111',this.id)
+    this.optionsType = item.type
     if (options.type==='待处理'){
       uni.setNavigationBarTitle({
         title: '报修处理',
@@ -317,6 +319,7 @@ export default {
         title: '报修派单',
       });
     }
+    this.getByCodes()
   },
   mounted(){
     this.getTime()
@@ -327,11 +330,34 @@ export default {
     //     url:'/pages/subPackages/reportRepair/repairRecord'
     //   })
     // },
+    async getByCodes() {
+      let data = await getByCodes(JSON.stringify(this.dc_key));
+      this.dic_SelectList = this.$common.handleDicList(data);
+      this.checkList = this.dic_SelectList.QUICK_SELECTION
+      this.getById()
+    },
+    getById(){
+      const _this = this
+      getRepairDispatchById(this.id).then(res=>{
+        if (res.data) {
+          const det = _this.getItemJson(res.data)
+          this.detail = det
+          console.log('this.detail',this.detail)
+          this.explainAnnexList = det.fileUrlList
+          this.processedAnnexList = det.handleUrlList
+          this.detailStatus = det.status
+          this.params = {
+            id: det.id,
+            evaluateNum: det.evaluateNum,
+            score: det.score
+          }
+          this.evaluateVal = ((det.score == null ? 0 : det.score) / (det.evaluateNum == null ? 1 : det.evaluateNum))
+        }
+      })
+    },
     getTime(){
-
       let timestamp = new Date().getTime();
       let dateStr = new Date().toLocaleDateString();
-      console.log(dateStr);
 
       let date = new Date();
       let year = date.getFullYear();
@@ -343,14 +369,81 @@ export default {
       console.log(fullDateStr);
       this.timeNow = fullDateStr
     },
+
+    getItemJson: function(item) {
+      item.releaseTime = this.$common.transDate(item.releaseTime)
+      item.createdAt = this.$common.transDate(item.createdAt)
+
+      let transformedObject = this.dic_SelectList.QUICK_SELECTION.reduce((acc, obj) => {
+        acc[obj.value] = obj.label;
+        return acc;
+      }, {});
+
+      item.serviceType = transformedObject[item.serviceType]
+      if (item.userId) {
+        const user = item.userId.split('-')
+        item.userPhone = user[1] + '-' + user[2]
+        item.phone = user[2]
+      }
+      if (item.handleUserId) {
+        const test = item.handleUserId.split('-')
+        item.handleUserId = test[1] + '-' + test[2]
+        item.hanleUserPhone = test[2]
+      }
+      item.handleTime = this.$common.transDate(item.handleTime)
+      switch (item.status) {
+        case 'unAcceptance':
+          this.stepActive = 0
+          break
+        case 'acceptance':
+          this.stepActive = 1
+          break
+        case 'evaluated':
+          this.stepActive = 3
+          break
+        case 'processed':
+          this.stepActive = 2
+          break
+      }
+      if (item.fileUrl){
+        const fileUrl = item.fileUrl.split(',')
+        const newFile = []
+        fileUrl.forEach((e=>{
+              newFile.push({
+                imgUrl: "/FileController/download/" + e,
+                id: e,
+                url: this.$constant.BASE_URI +
+                    "/FileController/download/" +
+                    e,
+                isImage: true,
+              });
+            })
+        )
+        item.fileUrl = newFile
+      }
+
+      const handleUrls = this.$common.castEval(item.handleUrl)
+      const handleUrl = []
+      if (handleUrls !== null && handleUrls.length > 0) {
+        handleUrls.forEach(item => {
+          if (item.url) {
+            const ul = {
+              type: 'image',
+              url: item.url.replace('/server', '/smartParkH5Server')
+            }
+            handleUrl.push(ul)
+          }
+        })
+      }
+      item.handleUrlList = handleUrl
+      console.log('item',item)
+      return item
+    },
     closePage() {
       uni.navigateTo({
         url:'/pages/subPackages/todo/repairAcceptance'
       })
     },
-    clickCheck(item){
-      item.isCheck = !item.isCheck
-    },
     deleteRYXXZP(event) {
       this.fileList.splice(event.detail.index, 1);
       this.$forceUpdate();
@@ -425,15 +518,17 @@ export default {
           line-height: 38rpx;
           display: flex;
           align-items: center;
-          .radio{
-            margin-left: 64rpx;
-          }
           .phoneIcon{
             width: 64rpx;
             height: 64rpx;
             margin-left: 24rpx;
           }
         }
+        .van-radio-group{
+          display: flex;
+          align-items: center;
+          gap: 0 32rpx;
+        }
       }
       .detailLi2{
         display: flex;
@@ -556,5 +651,5 @@ export default {
       color: rgba(51, 51, 51, 1);
     }
   }
-}
+  }
 </style>

+ 75 - 15
pages/subPackages/reportRepair/repairRecord.vue

@@ -3,37 +3,97 @@
     <ul class="custom-list-box">
       <li class="customLi" v-for="item in recordList" @tap="toDetail(item)">
           <div class="firstRow">
-            <span class="rowTitle">{{ item.title }}</span>
-            <span class="rowTags" :class="item.type==='已处理'?'yclTags':item.type==='暂存'?'zcTags':''">{{item.type}}</span>
+            <span class="rowTitle">{{ item.description }}</span>
+            <span class="rowTags" :class="item.type==='已处理'?'yclTags':item.type==='暂存'?'zcTags':''">{{item.statusName}}</span>
           </div>
           <div class="secondRow">
             <img src="https://www.idea-co-sf.com/gardenProduct/image/componeyIcon.png" class="componeyIcon">
-            无锡 XXXX有限公司
+            {{item.companyName}}
           </div>
-          <div class="lastRow">上报时间:2021/1/21  13:00</div>
+          <div class="lastRow">上报时间:{{item.createdAt}}</div>
       </li>
     </ul>
   </div>
 </template>
 <script>
+import {repairList,getUserLocalStorageInfo,getByCodes } from "@/js_sdk/http";
+
 export default {
     data(){
       return{
         recordList:[
-          {title:'上月水费不太对,怀疑水表异常',type:'已受理'},
-          {title:'空调坏了,不能使用',type:'已受理'},
-          {title:'办公室灯泡坏了2个',type:'已处理'},
-          {title:'厕所水龙头坏了,不出水',type:'暂存'},
-        ]
+          // {title:'上月水费不太对,怀疑水表异常',type:'已受理'},
+          // {title:'空调坏了,不能使用',type:'已受理'},
+          // {title:'办公室灯泡坏了2个',type:'已处理'},
+          // {title:'厕所水龙头坏了,不出水',type:'暂存'},
+        ],
+        dc_key: ['REPAIR_STATUS'],
+        dic_SelectList:[],
+        params: {
+          pageNum: 1,
+          pageSize: 10,
+          createdBy: getUserLocalStorageInfo().userId
+        },
       }
     },
-  methods:{
-    toDetail(item){
-      uni.navigateTo({
-        url:'/pages/subPackages/reportRepair/repairDetail?type=' + item.type
-      })
+    created(){
+        this.getByCodes()
+    },
+    methods:{
+      async getByCodes() {
+        let data = await getByCodes(JSON.stringify(this.dc_key));
+        this.dic_SelectList = this.$common.handleDicList(data);
+        this.getList()
+      },
+      getList(){
+        const _this = this
+        repairList(this.params).then(res=>{
+          if (res.data) {
+            res.data.forEach(function(item) {
+              const jsonMap = _this.getItemJson(item)
+              _this.recordList.push(jsonMap)
+            })
+          }
+        })
+      },
+      toDetail(item){
+        uni.navigateTo({
+          url:'/pages/subPackages/reportRepair/repairDetail?item=' + JSON.stringify(item)
+        })
+      },
+      getItemJson(item) {
+        item.companyId = '固定公司名'
+        console.log('item',item)
+        if (item.fileUrl){
+          const fileUrl = item.fileUrl.split(',')
+          const newFile = []
+          fileUrl.forEach((e=>{
+              newFile.push({
+                imgUrl: "/FileController/download/" + e,
+                id: e,
+                url: this.$constant.BASE_URI +
+                    "/FileController/download/" +
+                    e,
+                isImage: true,
+              });
+            })
+          )
+          item.fileUrl = newFile
+        }
+
+        // fileUrls.forEach((item) => {
+        //   item = item.replace('/server', '/smartParkH5Server')
+        //   fileUrl.push(item)
+        // })
+        item.createdAt = this.$common.transServDate(item.createdAt)
+        let transformedObject = this.dic_SelectList.REPAIR_STATUS.reduce((acc, obj) => {
+          acc[obj.value] = obj.label;
+          return acc;
+        }, {});
+        item.statusName = transformedObject[item.status]
+        return item
+      },
     }
-  }
 }
 </script>
 <style lang="scss" scoped>

+ 2 - 2
pages/utils/constant.js

@@ -1,10 +1,10 @@
 // 系统常量
 // export const BASE_URI = "http://192.168.2.111:9011"; // 正式
-// export const BASE_URI = 'https://www.idea-co-sf.com/gardenProductApi'
+export const BASE_URI = 'https://www.idea-co-sf.com/gardenProductApi'
 // export const BASE_URI = "http://192.168.3.94:9010"; // 老潘本地
 // export const BASE_URI = "http://192.168.2.107:9011"; // 洮洮本地
 // export const BASE_URI = "http://192.168.2.103:9010"; // 老崔本地
-export const BASE_URI = "http://192.168.2.112:9011"; // 许峰本地
+// export const BASE_URI = "http://192.168.2.110:9015"; // 许峰本地
 // export const BASE_URI = "http://192.168.2.112:9010"; // 陈凡本地
 
 export default {

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/components/activity.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/components/dynamic.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/components/enterpriseSide.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login2/login.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/activity/apply-popup.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/activity/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/activityPromulgate/list.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/addintention/addintention.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/chosseHouse/chosseHouse.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyHouse/companyHouse.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/companyreport.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/components/goReport.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/components/handlereport.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/components/reportDetails.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/companyreport/components/reportHistory.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/momo-multipleSelect/momo-multipleSelect.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/selectGenzongDep/tkitree.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/selectXiangguanDep/tkitree.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/select_dengjiren/tkitree.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/select_dengjiyuan/tkitree.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/tel-number/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/components/tkitree/tkitree.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/eventRelease/add.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/eventRelease/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/housedetails/housedetails.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/merchants/components/housemanger.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/merchants/components/mymechants.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/merchants/components/mymechantsdetails.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyHandle/handle.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyHandle/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyReport/add.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyReport/detail.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifyReport/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/modifySend/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/password/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/peripheralService/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/repairDispatch-app/add.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/repairDispatch-app/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/repairprocessing-app/detail.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/repairprocessing-app/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/reportRepair/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/todo/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/toread/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/venueRoom/confirm.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/subPackages/venueRoom/meetingroom.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-row/components/uni-col/uni-col.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-row/components/uni-row/uni-row.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.js.map


+ 2 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -84,7 +84,8 @@
         "housingResources/addPredetermine",
         "aboutThePark/index",
         "todo/resourceReview",
-        "minePages/registrationDetails"
+        "minePages/registrationDetails",
+        "economicDevelopmentReport/detail"
       ],
       "network": "all"
     }

+ 8 - 0
unpackage/dist/dev/mp-weixin/common/main.wxss

@@ -1827,6 +1827,14 @@ page,
 #app {
   background-color: var(--white);
 }
+.van-radio__label--disabled {
+  color: #666666 !important;
+}
+.van-radio__icon--checked {
+  background: #0365f9 !important;
+  color: white !important;
+  border: none !important;
+}
 .second_title {
   float: left;
   width: 30%;

File diff suppressed because it is too large
+ 535 - 435
unpackage/dist/dev/mp-weixin/common/vendor.js


File diff suppressed because it is too large
+ 14 - 14
unpackage/dist/dev/mp-weixin/pages/index/components/activity.js


File diff suppressed because it is too large
+ 89 - 89
unpackage/dist/dev/mp-weixin/pages/index/components/dynamic.js


File diff suppressed because it is too large
+ 39 - 21
unpackage/dist/dev/mp-weixin/pages/index/components/enterpriseSide.js


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -249,7 +249,7 @@ var _http = __webpack_require__(/*! @/js_sdk/http */ 63);
 // import {demo} from "@/js_sdk/http"
 var EnterpriseSide = function EnterpriseSide() {
   __webpack_require__.e(/*! require.ensure | pages/index/components/enterpriseSide */ "pages/index/components/enterpriseSide").then((function () {
-    return resolve(__webpack_require__(/*! ./components/enterpriseSide.vue */ 736));
+    return resolve(__webpack_require__(/*! ./components/enterpriseSide.vue */ 744));
   }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
 };
 var _default = {

File diff suppressed because it is too large
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/subPackages/activity/apply-popup.js


+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/subPackages/activity/index.js

@@ -145,12 +145,12 @@ exports.default = void 0;
 var _http = __webpack_require__(/*! @/js_sdk/http */ 63);
 var TelNum = function TelNum() {
   __webpack_require__.e(/*! require.ensure | pages/subPackages/components/tel-number/index */ "pages/subPackages/components/tel-number/index").then((function () {
-    return resolve(__webpack_require__(/*! ../../subPackages/components/tel-number */ 743));
+    return resolve(__webpack_require__(/*! ../../subPackages/components/tel-number */ 751));
   }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
 };
 var ApplyPopup = function ApplyPopup() {
   __webpack_require__.e(/*! require.ensure | pages/subPackages/activity/apply-popup */ "pages/subPackages/activity/apply-popup").then((function () {
-    return resolve(__webpack_require__(/*! ./apply-popup.vue */ 750));
+    return resolve(__webpack_require__(/*! ./apply-popup.vue */ 758));
   }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
 };
 var _default = {

File diff suppressed because it is too large
+ 8 - 8
unpackage/dist/dev/mp-weixin/pages/subPackages/addintention/addintention.js


File diff suppressed because it is too large
+ 12 - 12
unpackage/dist/dev/mp-weixin/pages/subPackages/addintention/chooseTime.js


File diff suppressed because it is too large
+ 4 - 4
unpackage/dist/dev/mp-weixin/pages/subPackages/chosseHouse/chosseHouse.js


+ 5 - 5
unpackage/dist/dev/mp-weixin/pages/subPackages/common/vendor.js

@@ -1787,7 +1787,7 @@ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAsCAYAAAAq
 
 /***/ }),
 
-/***/ 476:
+/***/ 420:
 /*!*************************************************************!*\
   !*** D:/project/product_wx/node_modules/dayjs/dayjs.min.js ***!
   \*************************************************************/
@@ -2206,7 +2206,7 @@ module.exports = "/pages/subPackages/housingResources/testImg.png";
 
 /***/ }),
 
-/***/ 804:
+/***/ 812:
 /*!*************************************************************************************!*\
   !*** D:/project/product_wx/pages/subPackages/components/select_dengjiyuan/tools.js ***!
   \*************************************************************************************/
@@ -2309,7 +2309,7 @@ exports.default = _default;
 
 /***/ }),
 
-/***/ 911:
+/***/ 919:
 /*!************************************************************************************!*\
   !*** D:/project/product_wx/pages/subPackages/components/select_dengjiren/tools.js ***!
   \************************************************************************************/
@@ -2412,7 +2412,7 @@ exports.default = _default;
 
 /***/ }),
 
-/***/ 919:
+/***/ 927:
 /*!************************************************************************************!*\
   !*** D:/project/product_wx/pages/subPackages/components/selectGenzongDep/tools.js ***!
   \************************************************************************************/
@@ -2515,7 +2515,7 @@ exports.default = _default;
 
 /***/ }),
 
-/***/ 927:
+/***/ 935:
 /*!**************************************************************************************!*\
   !*** D:/project/product_wx/pages/subPackages/components/selectXiangguanDep/tools.js ***!
   \**************************************************************************************/

+ 3 - 3
unpackage/dist/dev/mp-weixin/pages/subPackages/companyHouse/companyHouse.js

@@ -102,10 +102,10 @@ var components
 try {
   components = {
     uniSearchBar: function () {
-      return Promise.all(/*! import() | uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue */ 872))
+      return Promise.all(/*! import() | uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue */ 880))
     },
     uniDataCheckbox: function () {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox */ "uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue */ 853))
+      return __webpack_require__.e(/*! import() | uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox */ "uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue */ 861))
     },
   }
 } catch (e) {
@@ -285,7 +285,7 @@ var _http = __webpack_require__(/*! @/js_sdk/http */ 63);
 //
 var vanEmpty = function vanEmpty() {
   __webpack_require__.e(/*! require.ensure | wxcomponents/weapp/dist/empty/index */ "common/vendor").then((function () {
-    return resolve(__webpack_require__(/*! ../../../wxcomponents/weapp/dist/empty/index */ 871));
+    return resolve(__webpack_require__(/*! ../../../wxcomponents/weapp/dist/empty/index */ 879));
   }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
 };
 var _default = {

+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/subPackages/companyreport/companyreport.js


Some files were not shown because too many files changed in this diff