wangtong 1 rok temu
rodzic
commit
512b831a8e
100 zmienionych plików z 7044 dodań i 1479 usunięć
  1. 3 0
      api/common.js
  2. 2 0
      app.json
  3. 1 1
      common/http.js
  4. 498 0
      components/mp-html/mp-html.vue
  5. 576 0
      components/mp-html/node/node.vue
  6. 1335 0
      components/mp-html/parser.js
  7. 1 1
      manifest.json
  8. 124 178
      pages.json
  9. 10 5
      pages/index/index.vue
  10. 2 9
      pages/login/login.vue
  11. 391 362
      pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement.vue
  12. 165 126
      pages/noLogin/PressureRegulatingBox/PressureRegulatingBox.vue
  13. 112 109
      pages/noLogin/WarningPileForm/WarningPileForm.vue
  14. 6 3
      pages/noLogin/communitylist.vue
  15. 139 146
      pages/noLogin/emergencyRepairOrder/emergencyRepairOrder.vue
  16. 1 1
      pages/noLogin/typeList.vue
  17. BIN
      static/icon/gongzuo.png
  18. BIN
      static/icon/index-top.png
  19. BIN
      static/icon/loginbj.png
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/back.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ming-pop/ming-pop.js.map
  25. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mp-html/mp-html.js.map
  26. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mp-html/node/node.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/aboutme/aboutme.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chart.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartAll.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartDetail.js.map
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartList.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/details.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/newchartDetail.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cityConstrution/cityConstrution.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/historyConstruction.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/historyDetail.js.map
  37. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/updateInfo.js.map
  38. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  39. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  40. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement.js.map
  41. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/My.js.map
  42. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/Myphoto.js.map
  43. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/PressureRegulatingBox/PressureRegulatingBox.js.map
  44. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/WarningPileForm/WarningPileForm.js.map
  45. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/WarningPileList.js.map
  46. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/buildinglist.js.map
  47. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/cityProject.js.map
  48. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/communitylist.js.map
  49. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/data.js.map
  50. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/emergencyRepairOrder/emergencyRepairOrder.js.map
  51. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/list.js.map
  52. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/listProject.js.map
  53. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/repair.js.map
  54. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/typeList.js.map
  55. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/unitlist.js.map
  56. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/uploadProject.js.map
  57. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/notice/noticeDetail.js.map
  58. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/notice/noticeList.js.map
  59. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.js.map
  60. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-error/qiun-error.js.map
  61. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading1.js.map
  62. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading2.js.map
  63. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading3.js.map
  64. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading4.js.map
  65. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading5.js.map
  66. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-button/u-button.js.map
  67. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map
  68. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox/u-checkbox.js.map
  69. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-col/u-col.js.map
  70. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-empty/u-empty.js.map
  71. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form-item/u-form-item.js.map
  72. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form/u-form.js.map
  73. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-icon/u-icon.js.map
  74. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-input/u-input.js.map
  75. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-loading/u-loading.js.map
  76. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-mask/u-mask.js.map
  77. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-parse/libs/trees.js.map
  78. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-parse/u-parse.js.map
  79. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-picker/u-picker.js.map
  80. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-popup/u-popup.js.map
  81. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-radio-group/u-radio-group.js.map
  82. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-radio/u-radio.js.map
  83. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-row/u-row.js.map
  84. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-search/u-search.js.map
  85. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-select/u-select.js.map
  86. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-switch/u-switch.js.map
  87. 2 2
      unpackage/dist/dev/mp-weixin/common/runtime.js
  88. 1678 461
      unpackage/dist/dev/mp-weixin/common/vendor.js
  89. 430 0
      unpackage/dist/dev/mp-weixin/components/mp-html/mp-html.js
  90. 6 0
      unpackage/dist/dev/mp-weixin/components/mp-html/mp-html.json
  91. 1 0
      unpackage/dist/dev/mp-weixin/components/mp-html/mp-html.wxml
  92. 498 0
      unpackage/dist/dev/mp-weixin/components/mp-html/mp-html.wxss
  93. 407 0
      unpackage/dist/dev/mp-weixin/components/mp-html/node/node.js
  94. 6 0
      unpackage/dist/dev/mp-weixin/components/mp-html/node/node.json
  95. 29 0
      unpackage/dist/dev/mp-weixin/components/mp-html/node/node.wxml
  96. 544 0
      unpackage/dist/dev/mp-weixin/components/mp-html/node/node.wxss
  97. 3 3
      unpackage/dist/dev/mp-weixin/pages/chart/chartAll.js
  98. 3 3
      unpackage/dist/dev/mp-weixin/pages/chart/chartDetail.js
  99. 4 4
      unpackage/dist/dev/mp-weixin/pages/chart/chartList.js
  100. 0 0
      unpackage/dist/dev/mp-weixin/pages/chart/newchartDetail.js

+ 3 - 0
api/common.js

@@ -219,4 +219,7 @@ export default {
 	getpatrolRecord(data) {
 		return utils.requestEn(`/mobile/patrolRecord/${data}`)
 	},
+	getAdministrativeOffice(data) {
+		return utils.requestEn(`/mobile/regulatorBox/getAdministrativeOffice`, data)
+	},
 }

+ 2 - 0
app.json

@@ -1,4 +1,5 @@
 {
+  "lazyCodeLoading": "requiredComponents",
   "pages": [
     "pages/login/login",
     "pages/noLogin/uploadProject",
@@ -32,6 +33,7 @@
     "navigationBarBackgroundColor": "#2f93fc",
     "backgroundColor": "#F8F8F8"
   },
+  
   "tabBar": {
     "list": [
       {

+ 1 - 1
common/http.js

@@ -1,7 +1,7 @@
 // 配置信息
 export default {
 	// webUrl: 'http://127.0.0.1:8080',
-	//webUrl: 'https://www.cczdsz.cn/prod-api/',
+	// webUrl: 'https://www.cczdsz.cn/prod-api/',
 	// webUrl: 'http://124.221.101.24:8082',
 	webUrl: 'http://192.168.4.20:8080',
 }

+ 498 - 0
components/mp-html/mp-html.vue

@@ -0,0 +1,498 @@
+<template>
+  <view id="_root" :class="(selectable?'_select ':'')+'_root'" :style="containerStyle">
+    <slot v-if="!nodes[0]" />
+    <!-- #ifndef APP-PLUS-NVUE -->
+    <node v-else :childs="nodes" :opts="[lazyLoad,loadingImg,errorImg,showImgMenu,selectable]" name="span" />
+    <!-- #endif -->
+    <!-- #ifdef APP-PLUS-NVUE -->
+    <web-view ref="web" src="/static/app-plus/mp-html/local.html" :style="'margin-top:-2px;height:' + height + 'px'" @onPostMessage="_onMessage" />
+    <!-- #endif -->
+  </view>
+</template>
+
+<script>
+/**
+ * mp-html v2.4.2
+ * @description 富文本组件
+ * @tutorial https://github.com/jin-yufeng/mp-html
+ * @property {String} container-style 容器的样式
+ * @property {String} content 用于渲染的 html 字符串
+ * @property {Boolean} copy-link 是否允许外部链接被点击时自动复制
+ * @property {String} domain 主域名,用于拼接链接
+ * @property {String} error-img 图片出错时的占位图链接
+ * @property {Boolean} lazy-load 是否开启图片懒加载
+ * @property {string} loading-img 图片加载过程中的占位图链接
+ * @property {Boolean} pause-video 是否在播放一个视频时自动暂停其他视频
+ * @property {Boolean} preview-img 是否允许图片被点击时自动预览
+ * @property {Boolean} scroll-table 是否给每个表格添加一个滚动层使其能单独横向滚动
+ * @property {Boolean | String} selectable 是否开启长按复制
+ * @property {Boolean} set-title 是否将 title 标签的内容设置到页面标题
+ * @property {Boolean} show-img-menu 是否允许图片被长按时显示菜单
+ * @property {Object} tag-style 标签的默认样式
+ * @property {Boolean | Number} use-anchor 是否使用锚点链接
+ * @event {Function} load dom 结构加载完毕时触发
+ * @event {Function} ready 所有图片加载完毕时触发
+ * @event {Function} imgtap 图片被点击时触发
+ * @event {Function} linktap 链接被点击时触发
+ * @event {Function} play 音视频播放时触发
+ * @event {Function} error 媒体加载出错时触发
+ */
+// #ifndef APP-PLUS-NVUE
+import node from './node/node'
+// #endif
+import Parser from './parser'
+const plugins=[]
+// #ifdef APP-PLUS-NVUE
+const dom = weex.requireModule('dom')
+// #endif
+export default {
+  name: 'mp-html',
+  data () {
+    return {
+      nodes: [],
+      // #ifdef APP-PLUS-NVUE
+      height: 3
+      // #endif
+    }
+  },
+  props: {
+    containerStyle: {
+      type: String,
+      default: ''
+    },
+    content: {
+      type: String,
+      default: ''
+    },
+    copyLink: {
+      type: [Boolean, String],
+      default: true
+    },
+    domain: String,
+    errorImg: {
+      type: String,
+      default: ''
+    },
+    lazyLoad: {
+      type: [Boolean, String],
+      default: false
+    },
+    loadingImg: {
+      type: String,
+      default: ''
+    },
+    pauseVideo: {
+      type: [Boolean, String],
+      default: true
+    },
+    previewImg: {
+      type: [Boolean, String],
+      default: true
+    },
+    scrollTable: [Boolean, String],
+    selectable: [Boolean, String],
+    setTitle: {
+      type: [Boolean, String],
+      default: true
+    },
+    showImgMenu: {
+      type: [Boolean, String],
+      default: true
+    },
+    tagStyle: Object,
+    useAnchor: [Boolean, Number]
+  },
+  // #ifdef VUE3
+  emits: ['load', 'ready', 'imgtap', 'linktap', 'play', 'error'],
+  // #endif
+  // #ifndef APP-PLUS-NVUE
+  components: {
+    node
+  },
+  // #endif
+  watch: {
+    content (content) {
+      this.setContent(content)
+    }
+  },
+  created () {
+    this.plugins = []
+    for (let i = plugins.length; i--;) {
+      this.plugins.push(new plugins[i](this))
+    }
+  },
+  mounted () {
+    if (this.content && !this.nodes.length) {
+      this.setContent(this.content)
+    }
+  },
+  beforeDestroy () {
+    this._hook('onDetached')
+  },
+  methods: {
+    /**
+     * @description 将锚点跳转的范围限定在一个 scroll-view 内
+     * @param {Object} page scroll-view 所在页面的示例
+     * @param {String} selector scroll-view 的选择器
+     * @param {String} scrollTop scroll-view scroll-top 属性绑定的变量名
+     */
+    in (page, selector, scrollTop) {
+      // #ifndef APP-PLUS-NVUE
+      if (page && selector && scrollTop) {
+        this._in = {
+          page,
+          selector,
+          scrollTop
+        }
+      }
+      // #endif
+    },
+
+    /**
+     * @description 锚点跳转
+     * @param {String} id 要跳转的锚点 id
+     * @param {Number} offset 跳转位置的偏移量
+     * @returns {Promise}
+     */
+    navigateTo (id, offset) {
+      return new Promise((resolve, reject) => {
+        if (!this.useAnchor) {
+          reject(Error('Anchor is disabled'))
+          return
+        }
+        offset = offset || parseInt(this.useAnchor) || 0
+        // #ifdef APP-PLUS-NVUE
+        if (!id) {
+          dom.scrollToElement(this.$refs.web, {
+            offset
+          })
+          resolve()
+        } else {
+          this._navigateTo = {
+            resolve,
+            reject,
+            offset
+          }
+          this.$refs.web.evalJs('uni.postMessage({data:{action:"getOffset",offset:(document.getElementById(' + id + ')||{}).offsetTop}})')
+        }
+        // #endif
+        // #ifndef APP-PLUS-NVUE
+        let deep = ' '
+        // #ifdef MP-WEIXIN || MP-QQ || MP-TOUTIAO
+        deep = '>>>'
+        // #endif
+        const selector = uni.createSelectorQuery()
+          // #ifndef MP-ALIPAY
+          .in(this._in ? this._in.page : this)
+          // #endif
+          .select((this._in ? this._in.selector : '._root') + (id ? `${deep}#${id}` : '')).boundingClientRect()
+        if (this._in) {
+          selector.select(this._in.selector).scrollOffset()
+            .select(this._in.selector).boundingClientRect()
+        } else {
+          // 获取 scroll-view 的位置和滚动距离
+          selector.selectViewport().scrollOffset() // 获取窗口的滚动距离
+        }
+        selector.exec(res => {
+          if (!res[0]) {
+            reject(Error('Label not found'))
+            return
+          }
+          const scrollTop = res[1].scrollTop + res[0].top - (res[2] ? res[2].top : 0) + offset
+          if (this._in) {
+            // scroll-view 跳转
+            this._in.page[this._in.scrollTop] = scrollTop
+          } else {
+            // 页面跳转
+            uni.pageScrollTo({
+              scrollTop,
+              duration: 300
+            })
+          }
+          resolve()
+        })
+        // #endif
+      })
+    },
+
+    /**
+     * @description 获取文本内容
+     * @return {String}
+     */
+    getText (nodes) {
+      let text = '';
+      (function traversal (nodes) {
+        for (let i = 0; i < nodes.length; i++) {
+          const node = nodes[i]
+          if (node.type === 'text') {
+            text += node.text.replace(/&amp;/g, '&')
+          } else if (node.name === 'br') {
+            text += '\n'
+          } else {
+            // 块级标签前后加换行
+            const isBlock = node.name === 'p' || node.name === 'div' || node.name === 'tr' || node.name === 'li' || (node.name[0] === 'h' && node.name[1] > '0' && node.name[1] < '7')
+            if (isBlock && text && text[text.length - 1] !== '\n') {
+              text += '\n'
+            }
+            // 递归获取子节点的文本
+            if (node.children) {
+              traversal(node.children)
+            }
+            if (isBlock && text[text.length - 1] !== '\n') {
+              text += '\n'
+            } else if (node.name === 'td' || node.name === 'th') {
+              text += '\t'
+            }
+          }
+        }
+      })(nodes || this.nodes)
+      return text
+    },
+
+    /**
+     * @description 获取内容大小和位置
+     * @return {Promise}
+     */
+    getRect () {
+      return new Promise((resolve, reject) => {
+        uni.createSelectorQuery()
+          // #ifndef MP-ALIPAY
+          .in(this)
+          // #endif
+          .select('#_root').boundingClientRect().exec(res => res[0] ? resolve(res[0]) : reject(Error('Root label not found')))
+      })
+    },
+
+    /**
+     * @description 暂停播放媒体
+     */
+    pauseMedia () {
+      for (let i = (this._videos || []).length; i--;) {
+        this._videos[i].pause()
+      }
+      // #ifdef APP-PLUS
+      const command = 'for(var e=document.getElementsByTagName("video"),i=e.length;i--;)e[i].pause()'
+      // #ifndef APP-PLUS-NVUE
+      let page = this.$parent
+      while (!page.$scope) page = page.$parent
+      page.$scope.$getAppWebview().evalJS(command)
+      // #endif
+      // #ifdef APP-PLUS-NVUE
+      this.$refs.web.evalJs(command)
+      // #endif
+      // #endif
+    },
+
+    /**
+     * @description 设置媒体播放速率
+     * @param {Number} rate 播放速率
+     */
+    setPlaybackRate (rate) {
+      this.playbackRate = rate
+      for (let i = (this._videos || []).length; i--;) {
+        this._videos[i].playbackRate(rate)
+      }
+      // #ifdef APP-PLUS
+      const command = 'for(var e=document.getElementsByTagName("video"),i=e.length;i--;)e[i].playbackRate=' + rate
+      // #ifndef APP-PLUS-NVUE
+      let page = this.$parent
+      while (!page.$scope) page = page.$parent
+      page.$scope.$getAppWebview().evalJS(command)
+      // #endif
+      // #ifdef APP-PLUS-NVUE
+      this.$refs.web.evalJs(command)
+      // #endif
+      // #endif
+    },
+
+    /**
+     * @description 设置内容
+     * @param {String} content html 内容
+     * @param {Boolean} append 是否在尾部追加
+     */
+    setContent (content, append) {
+      if (!append || !this.imgList) {
+        this.imgList = []
+      }
+      const nodes = new Parser(this).parse(content)
+      // #ifdef APP-PLUS-NVUE
+      if (this._ready) {
+        this._set(nodes, append)
+      }
+      // #endif
+      this.$set(this, 'nodes', append ? (this.nodes || []).concat(nodes) : nodes)
+
+      // #ifndef APP-PLUS-NVUE
+      this._videos = []
+      this.$nextTick(() => {
+        this._hook('onLoad')
+        this.$emit('load')
+      })
+
+      if (this.lazyLoad || this.imgList._unloadimgs < this.imgList.length / 2) {
+        // 设置懒加载,每 350ms 获取高度,不变则认为加载完毕
+        let height = 0
+        const callback = rect => {
+          if (!rect || !rect.height) rect = {}
+          // 350ms 总高度无变化就触发 ready 事件
+          if (rect.height === height) {
+            this.$emit('ready', rect)
+          } else {
+            height = rect.height
+            setTimeout(() => {
+              this.getRect().then(callback).catch(callback)
+            }, 350)
+          }
+        }
+        this.getRect().then(callback).catch(callback)
+      } else {
+        // 未设置懒加载,等待所有图片加载完毕
+        if (!this.imgList._unloadimgs) {
+          this.getRect().then(rect => {
+            this.$emit('ready', rect)
+          }).catch(() => {
+            this.$emit('ready', {})
+          })
+        }
+      }
+      // #endif
+    },
+
+    /**
+     * @description 调用插件钩子函数
+     */
+    _hook (name) {
+      for (let i = plugins.length; i--;) {
+        if (this.plugins[i][name]) {
+          this.plugins[i][name]()
+        }
+      }
+    },
+
+    // #ifdef APP-PLUS-NVUE
+    /**
+     * @description 设置内容
+     */
+    _set (nodes, append) {
+      this.$refs.web.evalJs('setContent(' + JSON.stringify(nodes).replace(/%22/g, '') + ',' + JSON.stringify([this.containerStyle.replace(/(?:margin|padding)[^;]+/g, ''), this.errorImg, this.loadingImg, this.pauseVideo, this.scrollTable, this.selectable]) + ',' + append + ')')
+    },
+
+    /**
+     * @description 接收到 web-view 消息
+     */
+    _onMessage (e) {
+      const message = e.detail.data[0]
+      switch (message.action) {
+        // web-view 初始化完毕
+        case 'onJSBridgeReady':
+          this._ready = true
+          if (this.nodes) {
+            this._set(this.nodes)
+          }
+          break
+        // 内容 dom 加载完毕
+        case 'onLoad':
+          this.height = message.height
+          this._hook('onLoad')
+          this.$emit('load')
+          break
+        // 所有图片加载完毕
+        case 'onReady':
+          this.getRect().then(res => {
+            this.$emit('ready', res)
+          }).catch(() => {
+            this.$emit('ready', {})
+          })
+          break
+        // 总高度发生变化
+        case 'onHeightChange':
+          this.height = message.height
+          break
+        // 图片点击
+        case 'onImgTap':
+          this.$emit('imgtap', message.attrs)
+          if (this.previewImg) {
+            uni.previewImage({
+              current: parseInt(message.attrs.i),
+              urls: this.imgList
+            })
+          }
+          break
+        // 链接点击
+        case 'onLinkTap': {
+          const href = message.attrs.href
+          this.$emit('linktap', message.attrs)
+          if (href) {
+            // 锚点跳转
+            if (href[0] === '#') {
+              if (this.useAnchor) {
+                dom.scrollToElement(this.$refs.web, {
+                  offset: message.offset
+                })
+              }
+            } else if (href.includes('://')) {
+              // 打开外链
+              if (this.copyLink) {
+                plus.runtime.openWeb(href)
+              }
+            } else {
+              uni.navigateTo({
+                url: href,
+                fail () {
+                  uni.switchTab({
+                    url: href
+                  })
+                }
+              })
+            }
+          }
+          break
+        }
+        case 'onPlay':
+          this.$emit('play')
+          break
+        // 获取到锚点的偏移量
+        case 'getOffset':
+          if (typeof message.offset === 'number') {
+            dom.scrollToElement(this.$refs.web, {
+              offset: message.offset + this._navigateTo.offset
+            })
+            this._navigateTo.resolve()
+          } else {
+            this._navigateTo.reject(Error('Label not found'))
+          }
+          break
+        // 点击
+        case 'onClick':
+          this.$emit('tap')
+          this.$emit('click')
+          break
+        // 出错
+        case 'onError':
+          this.$emit('error', {
+            source: message.source,
+            attrs: message.attrs
+          })
+      }
+    }
+    // #endif
+  }
+}
+</script>
+
+<style>
+/* #ifndef APP-PLUS-NVUE */
+/* 根节点样式 */
+._root {
+  padding: 1px 0;
+  overflow-x: auto;
+  overflow-y: hidden;
+  -webkit-overflow-scrolling: touch;
+}
+
+/* 长按复制 */
+._select {
+  user-select: text;
+}
+/* #endif */
+</style>

+ 576 - 0
components/mp-html/node/node.vue

@@ -0,0 +1,576 @@
+<template>
+  <view :id="attrs.id" :class="'_block _'+name+' '+attrs.class" :style="attrs.style">
+    <block v-for="(n, i) in childs" v-bind:key="i">
+      <!-- 图片 -->
+      <!-- 占位图 -->
+      <image v-if="n.name==='img'&&!n.t&&((opts[1]&&!ctrl[i])||ctrl[i]<0)" class="_img" :style="n.attrs.style" :src="ctrl[i]<0?opts[2]:opts[1]" mode="widthFix" />
+      <!-- 显示图片 -->
+      <!-- #ifdef H5 || (APP-PLUS && VUE2) -->
+      <img v-if="n.name==='img'" :id="n.attrs.id" :class="'_img '+n.attrs.class" :style="(ctrl[i]===-1?'display:none;':'')+n.attrs.style" :src="n.attrs.src||(ctrl.load?n.attrs['data-src']:'')" :data-i="i" @load="imgLoad" @error="mediaError" @tap.stop="imgTap" @longpress="imgLongTap" />
+      <!-- #endif -->
+      <!-- #ifndef H5 || (APP-PLUS && VUE2) -->
+      <!-- 表格中的图片,使用 rich-text 防止大小不正确 -->
+      <rich-text v-if="n.name==='img'&&n.t" :style="'display:'+n.t" :nodes="[{attrs:{style:n.attrs.style,src:n.attrs.src},name:'img'}]" :data-i="i" @tap.stop="imgTap" />
+      <!-- #endif -->
+      <!-- #ifndef H5 || APP-PLUS -->
+      <image v-else-if="n.name==='img'" :id="n.attrs.id" :class="'_img '+n.attrs.class" :style="(ctrl[i]===-1?'display:none;':'')+'width:'+(ctrl[i]||1)+'px;height:1px;'+n.attrs.style" :src="n.attrs.src" :mode="!n.h?'widthFix':(!n.w?'heightFix':'')" :lazy-load="opts[0]" :webp="n.webp" :show-menu-by-longpress="opts[3]&&!n.attrs.ignore" :image-menu-prevent="!opts[3]||n.attrs.ignore" :data-i="i" @load="imgLoad" @error="mediaError" @tap.stop="imgTap" @longpress="imgLongTap" />
+      <!-- #endif -->
+      <!-- #ifdef APP-PLUS && VUE3 -->
+      <image v-else-if="n.name==='img'" :id="n.attrs.id" :class="'_img '+n.attrs.class" :style="(ctrl[i]===-1?'display:none;':'')+'width:'+(ctrl[i]||1)+'px;'+n.attrs.style" :src="n.attrs.src||(ctrl.load?n.attrs['data-src']:'')" :mode="!n.h?'widthFix':(!n.w?'heightFix':'')" :data-i="i" @load="imgLoad" @error="mediaError" @tap.stop="imgTap" @longpress="imgLongTap" />
+      <!-- #endif -->
+      <!-- 文本 -->
+      <!-- #ifdef MP-WEIXIN -->
+      <text v-else-if="n.text" :user-select="opts[4]=='force'&&isiOS" decode>{{n.text}}</text>
+      <!-- #endif -->
+      <!-- #ifndef MP-WEIXIN || MP-BAIDU || MP-ALIPAY || MP-TOUTIAO -->
+      <text v-else-if="n.text" decode>{{n.text}}</text>
+      <!-- #endif -->
+      <text v-else-if="n.name==='br'">\n</text>
+      <!-- 链接 -->
+      <view v-else-if="n.name==='a'" :id="n.attrs.id" :class="(n.attrs.href?'_a ':'')+n.attrs.class" hover-class="_hover" :style="'display:inline;'+n.attrs.style" :data-i="i" @tap.stop="linkTap">
+        <node name="span" :childs="n.children" :opts="opts" style="display:inherit" />
+      </view>
+      <!-- 视频 -->
+      <!-- #ifdef APP-PLUS -->
+      <view v-else-if="n.html" :id="n.attrs.id" :class="'_video '+n.attrs.class" :style="n.attrs.style" v-html="n.html" @vplay.stop="play" />
+      <!-- #endif -->
+      <!-- #ifndef APP-PLUS -->
+      <video v-else-if="n.name==='video'" :id="n.attrs.id" :class="n.attrs.class" :style="n.attrs.style" :autoplay="n.attrs.autoplay" :controls="n.attrs.controls" :loop="n.attrs.loop" :muted="n.attrs.muted" :object-fit="n.attrs['object-fit']" :poster="n.attrs.poster" :src="n.src[ctrl[i]||0]" :data-i="i" @play="play" @error="mediaError" />
+      <!-- #endif -->
+      <!-- #ifdef H5 || APP-PLUS -->
+      <iframe v-else-if="n.name==='iframe'" :style="n.attrs.style" :allowfullscreen="n.attrs.allowfullscreen" :frameborder="n.attrs.frameborder" :src="n.attrs.src" />
+      <embed v-else-if="n.name==='embed'" :style="n.attrs.style" :src="n.attrs.src" />
+      <!-- #endif -->
+      <!-- #ifndef MP-TOUTIAO || ((H5 || APP-PLUS) && VUE3) -->
+      <!-- 音频 -->
+      <audio v-else-if="n.name==='audio'" :id="n.attrs.id" :class="n.attrs.class" :style="n.attrs.style" :author="n.attrs.author" :controls="n.attrs.controls" :loop="n.attrs.loop" :name="n.attrs.name" :poster="n.attrs.poster" :src="n.src[ctrl[i]||0]" :data-i="i" @play="play" @error="mediaError" />
+      <!-- #endif -->
+      <view v-else-if="(n.name==='table'&&n.c)||n.name==='li'" :id="n.attrs.id" :class="'_'+n.name+' '+n.attrs.class" :style="n.attrs.style">
+        <node v-if="n.name==='li'" :childs="n.children" :opts="opts" />
+        <view v-else v-for="(tbody, x) in n.children" v-bind:key="x" :class="'_'+tbody.name+' '+tbody.attrs.class" :style="tbody.attrs.style">
+          <node v-if="tbody.name==='td'||tbody.name==='th'" :childs="tbody.children" :opts="opts" />
+          <block v-else v-for="(tr, y) in tbody.children" v-bind:key="y">
+            <view v-if="tr.name==='td'||tr.name==='th'" :class="'_'+tr.name+' '+tr.attrs.class" :style="tr.attrs.style">
+              <node :childs="tr.children" :opts="opts" />
+            </view>
+            <view v-else :class="'_'+tr.name+' '+tr.attrs.class" :style="tr.attrs.style">
+              <view v-for="(td, z) in tr.children" v-bind:key="z" :class="'_'+td.name+' '+td.attrs.class" :style="td.attrs.style">
+                <node :childs="td.children" :opts="opts" />
+              </view>
+            </view>
+          </block>
+        </view>
+      </view>
+      
+      <!-- 富文本 -->
+      <!-- #ifdef H5 || ((MP-WEIXIN || MP-QQ || APP-PLUS || MP-360) && VUE2) -->
+      <rich-text v-else-if="!n.c&&!handler.isInline(n.name, n.attrs.style)" :id="n.attrs.id" :style="n.f" :user-select="opts[4]" :nodes="[n]" />
+      <!-- #endif -->
+      <!-- #ifndef H5 || ((MP-WEIXIN || MP-QQ || APP-PLUS || MP-360) && VUE2) -->
+      <rich-text v-else-if="!n.c" :id="n.attrs.id" :style="'display:inline;'+n.f" :preview="false" :selectable="opts[4]" :user-select="opts[4]" :nodes="[n]" />
+      <!-- #endif -->
+      <!-- 继续递归 -->
+      <view v-else-if="n.c===2" :id="n.attrs.id" :class="'_block _'+n.name+' '+n.attrs.class" :style="n.f+';'+n.attrs.style">
+        <node v-for="(n2, j) in n.children" v-bind:key="j" :style="n2.f" :name="n2.name" :attrs="n2.attrs" :childs="n2.children" :opts="opts" />
+      </view>
+      <node v-else :style="n.f" :name="n.name" :attrs="n.attrs" :childs="n.children" :opts="opts" />
+    </block>
+  </view>
+</template>
+<script module="handler" lang="wxs">
+// 行内标签列表
+var inlineTags = {
+  abbr: true,
+  b: true,
+  big: true,
+  code: true,
+  del: true,
+  em: true,
+  i: true,
+  ins: true,
+  label: true,
+  q: true,
+  small: true,
+  span: true,
+  strong: true,
+  sub: true,
+  sup: true
+}
+/**
+ * @description 判断是否为行内标签
+ */
+module.exports = {
+  isInline: function (tagName, style) {
+    return inlineTags[tagName] || (style || '').indexOf('display:inline') !== -1
+  }
+}
+</script>
+<script>
+
+import node from './node'
+export default {
+  name: 'node',
+  options: {
+    // #ifdef MP-WEIXIN
+    virtualHost: true,
+    // #endif
+    // #ifdef MP-TOUTIAO
+    addGlobalClass: false
+    // #endif
+  },
+  data () {
+    return {
+      ctrl: {},
+      // #ifdef MP-WEIXIN
+      isiOS: uni.getSystemInfoSync().system.includes('iOS')
+      // #endif
+    }
+  },
+  props: {
+    name: String,
+    attrs: {
+      type: Object,
+      default () {
+        return {}
+      }
+    },
+    childs: Array,
+    opts: Array
+  },
+  components: {
+
+    // #ifndef (H5 || APP-PLUS) && VUE3
+    node
+    // #endif
+  },
+  mounted () {
+    this.$nextTick(() => {
+      for (this.root = this.$parent; this.root.$options.name !== 'mp-html'; this.root = this.root.$parent);
+    })
+    // #ifdef H5 || APP-PLUS
+    if (this.opts[0]) {
+      let i
+      for (i = this.childs.length; i--;) {
+        if (this.childs[i].name === 'img') break
+      }
+      if (i !== -1) {
+        this.observer = uni.createIntersectionObserver(this).relativeToViewport({
+          top: 500,
+          bottom: 500
+        })
+        this.observer.observe('._img', res => {
+          if (res.intersectionRatio) {
+            this.$set(this.ctrl, 'load', 1)
+            this.observer.disconnect()
+          }
+        })
+      }
+    }
+    // #endif
+  },
+  beforeDestroy () {
+    // #ifdef H5 || APP-PLUS
+    if (this.observer) {
+      this.observer.disconnect()
+    }
+    // #endif
+  },
+  methods:{
+    // #ifdef MP-WEIXIN
+    toJSON () { return this },
+    // #endif
+    /**
+     * @description 播放视频事件
+     * @param {Event} e
+     */
+    play (e) {
+      this.root.$emit('play')
+      // #ifndef APP-PLUS
+      if (this.root.pauseVideo) {
+        let flag = false
+        const id = e.target.id
+        for (let i = this.root._videos.length; i--;) {
+          if (this.root._videos[i].id === id) {
+            flag = true
+          } else {
+            this.root._videos[i].pause() // 自动暂停其他视频
+          }
+        }
+        // 将自己加入列表
+        if (!flag) {
+          const ctx = uni.createVideoContext(id
+            // #ifndef MP-BAIDU
+            , this
+            // #endif
+          )
+          ctx.id = id
+          if (this.root.playbackRate) {
+            ctx.playbackRate(this.root.playbackRate)
+          }
+          this.root._videos.push(ctx)
+        }
+      }
+      // #endif
+    },
+
+    /**
+     * @description 图片点击事件
+     * @param {Event} e
+     */
+    imgTap (e) {
+      const node = this.childs[e.currentTarget.dataset.i]
+      if (node.a) {
+        this.linkTap(node.a)
+        return
+      }
+      if (node.attrs.ignore) return
+      // #ifdef H5 || APP-PLUS
+      node.attrs.src = node.attrs.src || node.attrs['data-src']
+      // #endif
+      this.root.$emit('imgtap', node.attrs)
+      // 自动预览图片
+      if (this.root.previewImg) {
+        uni.previewImage({
+          // #ifdef MP-WEIXIN
+          showmenu: this.root.showImgMenu,
+          // #endif
+          // #ifdef MP-ALIPAY
+          enablesavephoto: this.root.showImgMenu,
+          enableShowPhotoDownload: this.root.showImgMenu,
+          // #endif
+          current: parseInt(node.attrs.i),
+          urls: this.root.imgList
+        })
+      }
+    },
+
+    /**
+     * @description 图片长按
+     */
+    imgLongTap (e) {
+      // #ifdef APP-PLUS
+      const attrs = this.childs[e.currentTarget.dataset.i].attrs
+      if (this.opts[3] && !attrs.ignore) {
+        uni.showActionSheet({
+          itemList: ['保存图片'],
+          success: () => {
+            const save = path => {
+              uni.saveImageToPhotosAlbum({
+                filePath: path,
+                success () {
+                  uni.showToast({
+                    title: '保存成功'
+                  })
+                }
+              })
+            }
+            if (this.root.imgList[attrs.i].startsWith('http')) {
+              uni.downloadFile({
+                url: this.root.imgList[attrs.i],
+                success: res => save(res.tempFilePath)
+              })
+            } else {
+              save(this.root.imgList[attrs.i])
+            }
+          }
+        })
+      }
+      // #endif
+    },
+
+    /**
+     * @description 图片加载完成事件
+     * @param {Event} e
+     */
+    imgLoad (e) {
+      const i = e.currentTarget.dataset.i
+      /* #ifndef H5 || (APP-PLUS && VUE2) */
+      if (!this.childs[i].w) {
+        // 设置原宽度
+        this.$set(this.ctrl, i, e.detail.width)
+      } else /* #endif */ if ((this.opts[1] && !this.ctrl[i]) || this.ctrl[i] === -1) {
+        // 加载完毕,取消加载中占位图
+        this.$set(this.ctrl, i, 1)
+      }
+      this.checkReady()
+    },
+
+    /**
+     * @description 检查是否所有图片加载完毕
+     */
+    checkReady () {
+      if (this.root && !this.root.lazyLoad) {
+        this.root._unloadimgs -= 1
+        if (!this.root._unloadimgs) {
+          setTimeout(() => {
+            this.root.getRect().then(rect => {
+              this.root.$emit('ready', rect)
+            }).catch(() => {
+              this.root.$emit('ready', {})
+            })
+          }, 350)
+        }
+      }
+    },
+
+    /**
+     * @description 链接点击事件
+     * @param {Event} e
+     */
+    linkTap (e) {
+      const node = e.currentTarget ? this.childs[e.currentTarget.dataset.i] : {}
+      const attrs = node.attrs || e
+      const href = attrs.href
+      this.root.$emit('linktap', Object.assign({
+        innerText: this.root.getText(node.children || []) // 链接内的文本内容
+      }, attrs))
+      if (href) {
+        if (href[0] === '#') {
+          // 跳转锚点
+          this.root.navigateTo(href.substring(1)).catch(() => { })
+        } else if (href.split('?')[0].includes('://')) {
+          // 复制外部链接
+          if (this.root.copyLink) {
+            // #ifdef H5
+            window.open(href)
+            // #endif
+            // #ifdef MP
+            uni.setClipboardData({
+              data: href,
+              success: () =>
+                uni.showToast({
+                  title: '链接已复制'
+                })
+            })
+            // #endif
+            // #ifdef APP-PLUS
+            plus.runtime.openWeb(href)
+            // #endif
+          }
+        } else {
+          // 跳转页面
+          uni.navigateTo({
+            url: href,
+            fail () {
+              uni.switchTab({
+                url: href,
+                fail () { }
+              })
+            }
+          })
+        }
+      }
+    },
+
+    /**
+     * @description 错误事件
+     * @param {Event} e
+     */
+    mediaError (e) {
+      const i = e.currentTarget.dataset.i
+      const node = this.childs[i]
+      // 加载其他源
+      if (node.name === 'video' || node.name === 'audio') {
+        let index = (this.ctrl[i] || 0) + 1
+        if (index > node.src.length) {
+          index = 0
+        }
+        if (index < node.src.length) {
+          this.$set(this.ctrl, i, index)
+          return
+        }
+      } else if (node.name === 'img') {
+        // #ifdef H5 && VUE3
+        if (this.opts[0] && !this.ctrl.load) return
+        // #endif
+        // 显示错误占位图
+        if (this.opts[2]) {
+          this.$set(this.ctrl, i, -1)
+        }
+        this.checkReady()
+      }
+      if (this.root) {
+        this.root.$emit('error', {
+          source: node.name,
+          attrs: node.attrs,
+          // #ifndef H5 && VUE3
+          errMsg: e.detail.errMsg
+          // #endif
+        })
+      }
+    }
+  }
+}
+</script>
+<style>
+/* a 标签默认效果 */
+._a {
+  padding: 1.5px 0 1.5px 0;
+  color: #366092;
+  word-break: break-all;
+}
+
+/* a 标签点击态效果 */
+._hover {
+  text-decoration: underline;
+  opacity: 0.7;
+}
+
+/* 图片默认效果 */
+._img {
+  max-width: 100%;
+  -webkit-touch-callout: none;
+}
+
+/* 内部样式 */
+
+._block {
+  display: block;
+}
+
+._b,
+._strong {
+  font-weight: bold;
+}
+
+._code {
+  font-family: monospace;
+}
+
+._del {
+  text-decoration: line-through;
+}
+
+._em,
+._i {
+  font-style: italic;
+}
+
+._h1 {
+  font-size: 2em;
+}
+
+._h2 {
+  font-size: 1.5em;
+}
+
+._h3 {
+  font-size: 1.17em;
+}
+
+._h5 {
+  font-size: 0.83em;
+}
+
+._h6 {
+  font-size: 0.67em;
+}
+
+._h1,
+._h2,
+._h3,
+._h4,
+._h5,
+._h6 {
+  display: block;
+  font-weight: bold;
+}
+
+._image {
+  height: 1px;
+}
+
+._ins {
+  text-decoration: underline;
+}
+
+._li {
+  display: list-item;
+}
+
+._ol {
+  list-style-type: decimal;
+}
+
+._ol,
+._ul {
+  display: block;
+  padding-left: 40px;
+  margin: 1em 0;
+}
+
+._q::before {
+  content: '"';
+}
+
+._q::after {
+  content: '"';
+}
+
+._sub {
+  font-size: smaller;
+  vertical-align: sub;
+}
+
+._sup {
+  font-size: smaller;
+  vertical-align: super;
+}
+
+._thead,
+._tbody,
+._tfoot {
+  display: table-row-group;
+}
+
+._tr {
+  display: table-row;
+}
+
+._td,
+._th {
+  display: table-cell;
+  vertical-align: middle;
+}
+
+._th {
+  font-weight: bold;
+  text-align: center;
+}
+
+._ul {
+  list-style-type: disc;
+}
+
+._ul ._ul {
+  margin: 0;
+  list-style-type: circle;
+}
+
+._ul ._ul ._ul {
+  list-style-type: square;
+}
+
+._abbr,
+._b,
+._code,
+._del,
+._em,
+._i,
+._ins,
+._label,
+._q,
+._span,
+._strong,
+._sub,
+._sup {
+  display: inline;
+}
+
+/* #ifdef APP-PLUS */
+._video {
+  width: 300px;
+  height: 225px;
+}
+/* #endif */
+</style>

Plik diff jest za duży
+ 1335 - 0
components/mp-html/parser.js


+ 1 - 1
manifest.json

@@ -50,7 +50,7 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wx9efdc4932f07063d",
+        "appid" : "wxa537100824cd1a15",
         "setting" : {
             "urlCheck" : true,
             "minified" : true,

+ 124 - 178
pages.json

@@ -3,48 +3,27 @@
 		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
 	},
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
-	
-	{
-	
-		//登录
-		"path": "pages/login/login",
-		"style": {
-			"navigationStyle": "custom"
-		}
-	},
-	{
-	    "path" : "pages/noLogin/PressureRegulatingBox/PressureRegulatingBox",
-	    "style" :
-	    {
-	        "navigationBarTitleText": "",
-	        "enablePullDownRefresh": false
-	    }
-	    
-	},
-	// {
-	//     "path" : "pages/noLogin/PressureRegulatingBox/PressureRegulatingBox",
-	//     "style" :                                                                                    
-	//     {
-	//         "navigationStyle": "custom"
-	//     }
-	    
-	// },
-	// {
-	
-	// 	//登录
-	// 	"path": "pages/login/login",
-	// 	"style": {
-	// 		"navigationStyle": "custom"
-	// 	}
-	// },
 		{
-				"path": "pages/index/index",
+			//登录
+			"path": "pages/login/login",
 			"style": {
 				"navigationStyle": "custom"
 			}
-},
+		}, {
+			"path": "pages/noLogin/PressureRegulatingBox/PressureRegulatingBox",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+		},
+		// {
+		//     "path" : "pages/noLogin/PressureRegulatingBox/PressureRegulatingBox",
+		//     "style" :                                                                                    
+		//     {
+		//         "navigationStyle": "custom"
+		//     }
+		// },
 		// {
-		
 		// 	//登录
 		// 	"path": "pages/login/login",
 		// 	"style": {
@@ -52,131 +31,125 @@
 		// 	}
 		// },
 		{
-			//上传市政项目
-			"path": "pages/noLogin/uploadProject",
+			"path": "pages/index/index",
 			"style": {
 				"navigationStyle": "custom"
 			}
 		},
-		
+		// {
+		// 	//登录
+		// 	"path": "pages/login/login",
+		// 	"style": {
+		// 		"navigationStyle": "custom"
+		// 	}
+		// },
 		{
+			//上传市政项目
+			"path": "pages/noLogin/uploadProject",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		}, {
 			//项目类型
 			"path": "pages/noLogin/typeList",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//小区
 			"path": "pages/noLogin/communitylist",
-			"style":{
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-		},
-		{
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+		}, {
 			//楼栋
 			"path": "pages/noLogin/buildinglist",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//单元
 			"path": "pages/noLogin/unitlist",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//历史施工(详情页)
-			"path": "pages/historyConstruction/historyDetail", 
+			"path": "pages/historyConstruction/historyDetail",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//历史施工(详情页)
-			"path": "pages/noLogin/listProject", 
+			"path": "pages/noLogin/listProject",
 			"style": {
-				"navigationBarTitleText":"历史记录",
-				"enablePullDownRefresh":true//开启下拉刷新
+				"navigationBarTitleText": "历史记录",
+				"enablePullDownRefresh": true //开启下拉刷新
 			}
-		},
-		{
+		}, {
 			//修改
 			"path": "pages/historyConstruction/updateInfo",
 			"style": {
-				"navigationBarTitleText":"修改"
+				"navigationBarTitleText": "修改"
 			}
-		},
-		{
+		}, {
 			//市政项目
 			"path": "pages/noLogin/cityProject",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//安检
 			"path": "pages/noLogin/data",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//安检
 			"path": "pages/noLogin/list",
 			"style": {
-				"navigationBarTitleText":"列表",
-				"enablePullDownRefresh":true//开启下拉刷新
+				"navigationBarTitleText": "列表",
+				"enablePullDownRefresh": true //开启下拉刷新
 			}
-		},
-		
-		{
+		}, {
 			//公告详情
 			"path": "pages/notice/noticeDetail",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//公告列表
 			"path": "pages/notice/noticeList",
 			"style": {
-				"navigationBarTitleText":"公告列表",
-				"enablePullDownRefresh":true//开启下拉刷新
+				"navigationBarTitleText": "公告列表",
+				"enablePullDownRefresh": true //开启下拉刷新
 			}
-		},
-		{
+		}, {
 			//阀管施工
 			"path": "pages/cityConstrution/cityConstrution",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//历史施工
 			"path": "pages/historyConstruction/historyConstruction",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//服务说明
 			"path": "pages/service/service",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//关于我们
 			"path": "pages/aboutme/aboutme",
 			"style": {
 				"navigationStyle": "custom"
 			}
 		},
-	
 		// {
 		// 	//首页
 		// 	"path": "pages/index/index",
@@ -186,119 +159,95 @@
 		// },
 		{
 			//统计图页面
-			"path":"pages/chart/chart",
+			"path": "pages/chart/chart",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//汇总统计图
-			"path":"pages/chart/chartAll",
+			"path": "pages/chart/chartAll",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//统计图
-			"path":"pages/chart/chartDetail",
+			"path": "pages/chart/chartDetail",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//统计图
-			"path":"pages/chart/newchartDetail",
+			"path": "pages/chart/newchartDetail",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{
+		}, {
 			//工程管理
-			"path":"pages/chart/chartList",
+			"path": "pages/chart/chartList",
 			"style": {
-				"navigationBarTitleText":"工程管理"
+				"navigationBarTitleText": "工程管理"
 			}
-		},
-		{
+		}, {
 			//工程管理
-			"path":"pages/chart/details",
+			"path": "pages/chart/details",
 			"style": {
-				"navigationBarTitleText":"详情"
+				"navigationBarTitleText": "详情"
 			}
-		},
-		{	//安检
-			"path":"pages/noLogin/repair",
+		}, { //安检
+			"path": "pages/noLogin/repair",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{	//安检
-			"path":"pages/noLogin/My",
+		}, { //安检
+			"path": "pages/noLogin/My",
 			"style": {
 				"navigationStyle": "custom"
 			}
-		},
-		{	//安检(查看照片)
-			"path":"pages/noLogin/Myphoto",
+		}, { //安检(查看照片)
+			"path": "pages/noLogin/Myphoto",
 			"style": {
 				"navigationStyle": "custom"
 			}
+		}, {
+			"path": "pages/noLogin/home/home",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+		}, {
+			"path": "pages/noLogin/emergencyRepairOrder/emergencyRepairOrder",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+		}, {
+			"path": "pages/noLogin/WarningPileForm/WarningPileForm",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+		}, {
+			"path": "pages/noLogin/WarningPileList",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+		}, {
+			"path": "pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
 		}
-	    ,{
-            "path" : "pages/noLogin/home/home",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/noLogin/emergencyRepairOrder/emergencyRepairOrder",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/noLogin/WarningPileForm/WarningPileForm",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-		,{
-		    "path" : "pages/noLogin/WarningPileList",
-		    "style" :                                                                                    
-		    {
-		        "navigationBarTitleText": "",
-		        "enablePullDownRefresh": false
-		    }
-		    
-		}
-        ,{
-            "path" : "pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        // ,{
-        //     "path" : "pages/noLogin/PressureRegulatingBox/PressureRegulatingBox",
-        //     "style" :                                                                                    
-        //     {
-        //         "navigationBarTitleText": "",
-        //         "enablePullDownRefresh": false
-        //     }
-            
-        // }
-    ],
+		// ,{
+		//     "path" : "pages/noLogin/PressureRegulatingBox/PressureRegulatingBox",
+		//     "style" :                                                                                    
+		//     {
+		//         "navigationBarTitleText": "",
+		//         "enablePullDownRefresh": false
+		//     }
+		// }
+	],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "长春贞达市政施工管理平台",
@@ -311,8 +260,7 @@
 				"text": "首页",
 				"iconPath": "static/icon/home.png",
 				"selectedIconPath": "static/icon/home-on.png"
-			},
-			{
+			}, {
 				"pagePath": "pages/noLogin/typeList",
 				"text": "工作",
 				"iconPath": "static/icon/work.png",
@@ -332,14 +280,12 @@
 			// }
 		]
 	},
-	"condition" : { //模式配置,仅开发期间生效
+	"condition": { //模式配置,仅开发期间生效
 		"current": 0, //当前激活的模式(list 的索引项)
-		"list": [
-			{
-				"name": "", //模式名称
-				"path": "", //启动页面,必选
-				"query": "" //启动参数,在页面的onLoad函数里面得到
-			}
-		]
+		"list": [{
+			"name": "", //模式名称
+			"path": "", //启动页面,必选
+			"query": "" //启动参数,在页面的onLoad函数里面得到
+		}]
 	}
-}
+}

+ 10 - 5
pages/index/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="content" style="position: relative;">
 		<view>	
-			<image src="/static/icon/index-top.png" mode="" class="header"></image>
+			<image src="https://zdsz.obs.cn-south-1.myhuaweicloud.com/file/5fde4230055e4eefb4dded5ba3325333.png" mode="" class="header"></image>
 		</view>
 		<view class="justify-content">
 			<view class="align-items" style="position: absolute; top: 66rpx;left: 40rpx;">
@@ -65,12 +65,12 @@
 				</view>
 			</view>
 			<view class="notice" :key="index">
-				<view class="row-item" style="margin: 30rpx 0;">
+				<view  style="margin: 30rpx 0;">
 					<rich-text class="one-title" :nodes="oneManage.title"></rich-text>
 					<rich-text class="one-time" :nodes="oneManage.time"></rich-text>
-					<view class="font-forty">
-						<u-parse :html="oneManage.text"></u-parse>
-					</view>
+					<!-- <view class="font-forty"> -->
+						<mpHtml :content="oneManage.text"></mpHtml>
+					<!-- </view> -->
 				</view>
 			</view>
 		<!-- 	</view> -->
@@ -80,7 +80,11 @@
 
 <script>
 	import service from '@/api/index.js'
+	import mpHtml from'@/components/mp-html/mp-html.vue'
 	export default {
+		components:{
+			mpHtml
+		},
 		data() {
 			return {
 				list:[],
@@ -123,6 +127,7 @@
 			{
 				service.getOne().then(res=>{
 					this.oneManage= res
+					console.log(this.oneManage)
 					
 				})
 			},

+ 2 - 9
pages/login/login.vue

@@ -1,8 +1,8 @@
 <template>
 	<view class="bigback">
-		<image src="/static/icon/loginbj.png" mode="" class="background"></image>
+		<image src="https://zdsz.obs.cn-south-1.myhuaweicloud.com/file/42ad4e72a9bb4f08ac613933c04c679a.png" mode="" class="background"></image>
 		<view class="title">
-			<image src="/static/icon/loginlogo.png" mode="" class="logo"></image>
+			<image src="https://zdsz.obs.cn-south-1.myhuaweicloud.com/file/41743f2fb9b54c8e87e1168bb094505b.png" mode="" class="logo"></image>
 			<!-- <view class="font-sixty-four">
 				长春贞达市政施工管理平台
 			</view> -->
@@ -34,7 +34,6 @@
 		</view>
 	</view>
 </template>
-
 <script>
 	import service from '@/api/index.js'
 	export default {
@@ -125,7 +124,6 @@
 		}
 	}
 </script>
-
 <style lang="scss">
 	.background {
 		z-index: -1;
@@ -141,7 +139,6 @@
 			margin: 0 auto;
 		}
 	}
-
 	.margin {
 		margin:20rpx;
 		background: #f1f7ff;
@@ -153,7 +150,6 @@
 		.img {
 			width: 70rpx;
 			height: 60rpx;
-
 		}
 
 		.input {
@@ -164,7 +160,6 @@
 			color: #999999;
 		}
 	}
-	
 	.remember{
 		width: 100%;
 		height: 80rpx;
@@ -172,7 +167,6 @@
 		padding-left: 80rpx;
 		letter-spacing: 2rpx;
 	}
-	
 	.btn {
 		width: 86%;
 		margin: 0rpx auto 0;
@@ -180,5 +174,4 @@
 		border-radius: 72rpx;
 		box-shadow: 0rpx 0rpx 20rpx #3f8fff;
 	}
-
 </style>

+ 391 - 362
pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement.vue

@@ -1,387 +1,416 @@
 <template>
-	<view>
-		<image src="/static/icon/background-from.png" class="background"></image>
-		<view  class="project-content">
-		<u-form :model="form" :rules="rules" ref="form" >
-			<u-form-item label="楼栋" borderBottom ref="item1" labelWidth="140">
-				<u-input v-model="buildingName" disabled borderBottom @click=" showbuilding= true&&type!=1" placeholder="请选择楼栋"></u-input>
-				<u-select v-model="showbuilding" :list="buildingList" label-name="name" value-name="id" @confirm="buildingconfirm()"> </u-select>
-				<u-icon slot="right" name="arrow-right"></u-icon>
-			</u-form-item>
-			<u-form-item label="单元" labelWidth="140" borderBottom ref="item1">
-				<u-input v-model="unitName" disabled borderBottom  @click=" showunit= true&&type!=1" placeholder="请选择单元"></u-input>
-				<u-select v-model="showunit" :list="unitList" label-name="name" value-name="id" @confirm="unitconfirm()"> </u-select>
-				<u-icon slot="right" name="arrow-right"></u-icon>
-			</u-form-item>
-			<u-form-item label="发现问题" labelWidth="140" borderBottom ref="item1">
-				<u-input v-model="causesOfFamageLabel" disabled @click=" showrepairType= true&&type!=1" borderBottom placeholder="请输入发现问题"></u-input>
-				<u-select v-model="showrepairType" :list="typelist.find_problem" label-name="dictLabel" value-name="dictValue" @confirm="confirm()"> </u-select>
-				<u-icon slot="right" name="arrow-right"></u-icon>
-			</u-form-item>
-			<u-form-item borderBottom ref="item1">
-				<view>备注</view>
-				<u-input v-model="form.remarks"  type="textarea" placeholder="请输入备注" :disabled="type==1" ></u-input>
-			</u-form-item>
-			<u-form-item borderBottom ref="item1">
-				<view>巡检照片</view>
-				<u-input v-model="WarningColumnInformation"  placeholder="请上传巡检照片" ></u-input>
-				<view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
-					<image src="/static/icon/chooseimg.png" mode="" style="width: 190rpx; height: 190rpx; margin: 0 12rpx; "
-						@click="choose()" v-if="type!=1"></image>
-					<view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
-						<view v-if="item.type == 'image'">
-							<image :src="item.url" mode=""
-								style="width: 190rpx; height: 190rpx; margin: 0 20rpx;" @click="showPhoto(index)">
-							</image>
-						</view>
-						<view v-else>
-							<video :src="item"
-								style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
-						</view>
-						<view @click="remove(index)" style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;" >
-							<u-icon name="close" color="#FFFFFF" size="35" v-if="type!=1" ></u-icon> 
-						</view>
+<view>
+<image src="/static/icon/background-from.png" class="background"></image>
+<view class="project-content">
+	<u-form :model="form" :rules="rules" ref="form">
+		<u-form-item label="楼栋" borderBottom ref="item1" labelWidth="140">
+			<u-input v-model="buildingName" disabled borderBottom @click=" showbuilding= true&&type!=1"
+				placeholder="请选择楼栋"></u-input>
+			<u-select v-model="showbuilding" :list="buildingList" label-name="name" value-name="id"
+				@confirm="buildingconfirm()"> </u-select>
+			<u-icon slot="right" name="arrow-right"></u-icon>
+		</u-form-item>
+		<!-- <u-form-item label="单元" labelWidth="140" borderBottom ref="item1">
+			<u-input v-model="unitName" disabled borderBottom @click=" showunit= true&&type!=1"
+				placeholder="请选择单元"></u-input>
+			<u-select v-model="showunit" :list="unitList" label-name="name" value-name="id"
+				@confirm="unitconfirm()"> </u-select>
+			<u-icon slot="right" name="arrow-right"></u-icon>
+		</u-form-item> -->
+		<u-form-item label="发现问题" labelWidth="140" borderBottom ref="item1">
+			<u-input v-model="causesOfFamageLabel" disabled @click=" showrepairType= true&&type!=1" borderBottom
+				placeholder="请输入发现问题"></u-input>
+			<u-select v-model="showrepairType" :list="typelist.find_problem" label-name="dictLabel"
+				value-name="dictValue" @confirm="confirm()"> </u-select>
+			<u-icon slot="right" name="arrow-right"></u-icon>
+		</u-form-item>
+		<u-form-item borderBottom ref="item1">
+			<view>备注</view>
+			<u-input v-model="form.remarks" type="textarea" placeholder="请输入备注" :disabled="type==1"></u-input>
+		</u-form-item>
+		<u-form-item borderBottom ref="item1">
+			<view>巡检照片</view>
+			<u-input v-model="WarningColumnInformation" placeholder="请上传巡检照片"></u-input>
+			<view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
+				<image src="/static/icon/chooseimg.png" mode=""
+					style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()" v-if="type!=1">
+				</image>
+				<view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
+					<view v-if="item.type == 'image'">
+						<image :src="item.url" mode="" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"
+							@click="showPhoto(index)">
+						</image>
+					</view>
+					<view v-else>
+						<video :src="item" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
+					</view>
+					<view @click="remove(index)"
+						style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;">
+						<u-icon name="close" color="#FFFFFF" size="35" v-if="type!=1"></u-icon>
 					</view>
 				</view>
-			</u-form-item>
-			</u-form>
-			<u-button style="background: #2d95f4;color: #fff;border-radius: 20rpx;" @click="save()" v-if="type!=1" type='primary'>确认上传</u-button>
 			</view>
-			</view>
-			
+		</u-form-item>
+	</u-form>
+	<u-button style="background: #2d95f4;color: #fff;border-radius: 20rpx;" @click="save()" v-if="type!=1"
+		type='primary'>确认上传</u-button>
+</view>
+</view>
 </template>
-
 <script>
-	import service from '@/api/index.js'
-	export default {
-		data() {
-			return {
-				repairType:[
-					{label:'施工问题',value:1},{label:'施工问题',value:2},],
-				showrepairType:false,
-				action: this.$HTTP.webUrl + `/obs`,
-								headers: {
-									MAuthorization: "wxBearer " + uni.getStorageSync('token')
-								},
-								url: [],
-								uploading: false,
-									imgArr: [],
-									imgymxs: [],
-									progress: 0 ,//图片或视频上传百分比
-				form:{},
-				typelist:[],
-				causesOfFamageLabel:null,
-				dictlist:['find_problem'],
-				buildingName:null,
-				unit:null,
-				unitName:null,
-				showbuilding:false,
-				showunit:false,
-				buildingList:[],
-				unitList:[],
-				type:2,
-				id:null,
-				community:null
-			}
+import service from '@/api/index.js'
+export default {
+data() {
+	return {
+		repairType: [{
+			label: '施工问题',
+			value: 1
+		}, {
+			label: '施工问题',
+			value: 2
+		}, ],
+		showrepairType: false,
+		action: this.$HTTP.webUrl + `/obs`,
+		headers: {
+			MAuthorization: "wxBearer " + uni.getStorageSync('token')
 		},
-		onLoad(e)
+		url: [],
+		uploading: false,
+		imgArr: [],
+		imgymxs: [],
+		progress: 0, //图片或视频上传百分比
+		form: {},
+		typelist: [],
+		causesOfFamageLabel: null,
+		dictlist: ['find_problem'],
+		buildingName: null,
+		unit: null,
+		unitName: null,
+		showbuilding: false,
+		showunit: false,
+		buildingList: [],
+		unitList: [],
+		type: 2,
+		id: null,
+		community: null
+	}
+},
+onLoad(e) {
+	this.building = e.building
+	this.buildingName = e.buildingName
+	this.community = e.community
+	this.unitName = e.unitName
+	this.unit = e.unit
+	this.id = e.id
+	this.type = e.type
+	console.log(e)
+	this.getdictsysinfo()
+	uni.setNavigationBarTitle({
+		title: '庭院网管表单'
+	});
+	uni.setNavigationBarColor({
+		frontColor: '#ffffff',
+		backgroundColor: '#2d95f4',
+	})
+	if (this.type != 1) {
+		this.getBuildingList()
+	}
+},
+methods: {
+	showPhoto(index) {
+		uni.previewImage({
+			current: index,
+			urls: this.imgArr,
+		})
+	},
+	showPhotos(index) {
+		uni.previewImage({
+			current: index,
+			urls: this.photo,
+		})
+	},
+	buildingconfirm(e) {
+		this.buildingName = e[0].label
+		this.building = e[0].value
+		console.log(this.building)
+		//this.getUnitList(e[0].value)
+	},
+	unitconfirm(e) {
+		this.unitName = e[0].label
+		this.unit = e[0].value
+	},
+	getBuildingList() {
+		const _this = this
+		service.getBuildingList({
+			areaId: this.community
+		}).then(res => {
+			_this.buildingList = res
+		})
+	},
+	getUnitList(building) {
+		const _this = this
+		service.getUnitList({
+			buildingId: building
+		}).then(res => {
+			_this.unitList = res
+		})
+	},
+	save() {
+		let _this = this
+		this.form.photoList = this.imgArr
+		if(this.building==null)
 		{
-			this.building=e.building
-			this.buildingName=e.buildingName
-			this.community=e.community
-			this.unitName=e.unitName
-			this.unit=e.unit
-			this.id=e.id
-			this.type=e.type
-			console.log(e)
-			this.getdictsysinfo()
-			uni.setNavigationBarTitle({
-					title: '庭院网管表单'
-			});
-			uni.setNavigationBarColor({
-			    frontColor: '#ffffff',
-			    backgroundColor: '#2d95f4',
+			uni.showToast({
+				title: '请选择楼栋',
+				icon: 'none'
 			})
-			if(this.type!=1)
-			{
-				this.getBuildingList()
-			}
-		},
-		methods: {
-			showPhoto(index){
-				uni.previewImage({
-					current:index,
-					urls:this.imgArr,
-				})
-			},
-			showPhotos(index){
-				uni.previewImage({
-					current:index,
-					urls:this.photo,
-				})
-			},
-			buildingconfirm(e)
-			{
-				this.buildingName=e[0].label
-				this.building=e[0].value
-				console.log(e)
-				this.getUnitList(e[0].value)
-			},
-			unitconfirm(e)
-			{
-				this.unitName=e[0].label
-				this.unit=e[0].value
-			},
-			getBuildingList()
-			{ const _this=this
-				service.getBuildingList({areaId:this.community}).then(res=>{
-					_this.buildingList=res
-				})
-			},
-			getUnitList(building)
-			{ const _this=this
-				service.getUnitList({buildingId:building}).then(res=>{
-					_this.unitList=res
-					
-				})
-			},
-			save()
-			{
-				 let _this =this
-				this.form.photoList=this.imgArr
-				this.form.unitId=this.unit
-				
-				service.setcourtyardNetworkManagement(this.form
-				).then(res => {
-					console.log(res)
-					_this.$UTILS.showPrompt('上报成功!')
-					setTimeout(()=>{
-						console.log('跳')
-						uni.switchTab({
-							url:'/pages/index/index'
+			return
+		}
+		if(this.imgArr.length==0)
+		{
+			uni.showToast({
+				title: '请上传图片或视频!',
+				icon: 'none'
+			})
+			return
+		}
+		this.form.buildingId = this.building
+		this.form.communityId=this.community
+		service.setcourtyardNetworkManagement(this.form).then(res => {
+			console.log(res)
+			_this.$UTILS.showPrompt('上报成功!')
+			// setTimeout(() => {
+			// 	console.log('跳')
+			// 	uni.switchTab({
+			// 		url: '/pages/index/index'
+			// 	})
+			// }, 2000)
+			this.form={}
+			this.buildingName=''
+			this.causesOfFamageLabel=''
+			this.imgArr=[]
+			this.imgymxs=[]
+		})
+	},
+	getdictsysinfo() {
+		let _this = this
+		service.getDictInfoList({
+			type: this.dictlist
+		}).then(res => {
+			if (this.type == 1) {
+				let _this = this
+				console.log(this.id)
+				service.getcourtyardNetworkManagement(this.id).then(res => {
+					console.log(_this.typelist)
+					_this.buildingName = res.buildingName
+					_this.unitName = res.unitName
+					let list = []
+					list = _this.typelist.find_problem
+					list.forEach((item) => {
+						if (item.dictValue == res.findProblem) {
+							_this.causesOfFamageLabel = item.dictLabel
+						}
+					})
+					if (null != res.photoList) {
+						res.photoList.forEach(item => {
+							let url = {}
+							url.url = item
+							url.type = 'image'
+							this.imgymxs.push(url)
 						})
-					},2000)
+					}
+					this.form = res
+				})
+			}
+			_this.typelist = res
+			console.log(res)
+		})
+	},
+	confirm(e) {
+		console.log(e)
+		this.causesOfFamageLabel = e[0].label
+		this.form.findProblem = e[0].value
+	},
+	choose() {
+		let _this = this;
+		uni.showActionSheet({
+			title: '上传',
+			itemList: ['图片', '视频'],
+			success: (res) => {
+				// console.log(res)
+				if (res.tapIndex == 0) {
+					this.chooseimage()
+				} else {
+					this.choosevideo()
 				}
-				)
-			},
-			getdictsysinfo() {
-				let _this = this
-				service.getDictInfoList({
-					type: this.dictlist
-				}).then(res => {
-					if(this.type==1)
-					{
-						let _this = this
-							console.log(this.id)
-							service.getcourtyardNetworkManagement(this.id).then(res => {
-								console.log(_this.typelist)
-								_this.buildingName=res.buildingName
-								_this.unitName=res.unitName
-								let list =[]
-								list=_this.typelist.find_problem
-								list.forEach((item)=>{
-									if(item.dictValue==res.findProblem)
-									{
-										_this.causesOfFamageLabel=item.dictLabel
-									}
-								})
-								if(null!=res.photoList)
-								{
-									res.photoList.forEach(item=>{
-										let url={}
-										url.url=item
-										url.type='image'
-										this.imgymxs.push(url)
+			}
+		})
+	},
+	chooseimage() {
+		console.log('图片')
+		let _this = this;
+		uni.chooseImage({
+			sourceType: ['camera'],
+			success(resp) {
+				console.log('res--uni.chooseMedia', resp);
+				resp.tempFiles.forEach((item, index) => {
+					const task = uni.uploadFile({
+						url: _this.$HTTP.webUrl + `/obs`,
+						filePath: item.path,
+						name: 'file',
+						formData: {},
+						header: _this.headers,
+						success: res => {
+							// 判断是否json字符串,将其转为json格式
+							let data = _this.$u.test.jsonString(res.data) ? JSON.parse(
+								res.data) : res.data;
+							if (![200, 201, 204].includes(res.statusCode)) {
+								// this.uploadError(index, data);
+								_this.$UTILS.showPrompt('选取失败!')
+							} else {
+								// 上传成功
+								// this.lists[index].response = data;
+								// this.lists[index].progress = 100;
+								// this.lists[index].error = false;
+								// this.$emit('on-success', data, index, this.lists, this
+								// 	.index);
+								if (_this.progress === 100) {
+									// console.log('_this.progress', _this.progress)
+									// console.log('data----', data)
+									// console.log('res--', res)
+									_this.imgymxs.push({
+										url: data.data.url,
+										type: 'image'
 									})
+									_this.imgArr.push(data.data.url)
+									// console.log('imgArr', _this.imgArr)
+									_this.$UTILS.showPrompt('选取成功!')
 								}
-								this.form=res
-							})
+							}
+						},
+						fail: e => {
+							_this.$UTILS.showPrompt('选取失败!')
+							this.uploadError(index, e);
+						},
+						complete: res => {
+							_this.uploading = false;
+							// _this.uploadFile(index + 1);
+							// this.$emit('on-change', res, index, this.lists, this
+							// .index);
 						}
-					_this.typelist = res
-					console.log(res)
+					});
+					task.onProgressUpdate(res => {
+						// if (res.progress > 0) {
+						// 	this.lists[index].progress = res.progress;
+						// 	this.$emit('on-progress', res, index, this.lists, this.index);
+						// }
+						_this.progress = res.progress;
+						console.log('onProgressUpdate', res)
+						uni.showLoading({
+							title: '选取中'
+						})
+					});
 				})
 			},
-			confirm(e) {
-				console.log(e)
-				this.causesOfFamageLabel=e[0].label
-				this.form.findProblem=e[0].value
-			},
-			choose() {
-				let _this = this;
-				uni.showActionSheet({
-					title: '上传',
-					itemList: ['图片', '视频'],
-					success: (res) => {
-						// console.log(res)
-						if (res.tapIndex == 0) {
-							this.chooseimage()
+		})
+	},
+	choosevideo() {
+		let _this = this;
+		console.log('视频')
+		uni.chooseVideo({
+			sourceType: ['camera'],
+			maxDuration: 30,
+			success(resp) {
+				const task = uni.uploadFile({
+					url: _this.$HTTP.webUrl + `/obs`,
+					filePath: resp.tempFilePath,
+					name: 'file',
+					formData: {},
+					header: _this.headers,
+					success: res => {
+						// 判断是否json字符串,将其转为json格式
+						let data = _this.$u.test.jsonString(res.data) ? JSON.parse(res.data) :
+							res.data;
+						if (![200, 201, 204].includes(res.statusCode)) {
+							this.uploadError(index, data);
 						} else {
-							this.choosevideo()
-						}
-					}
-				})
-			},
-			chooseimage() {
-				console.log('图片')
-				let _this = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					success(resp) {
-						console.log('res--uni.chooseMedia', resp);
-						resp.tempFiles.forEach((item, index) => {
-							const task = uni.uploadFile({
-								url: _this.$HTTP.webUrl + `/obs`,
-								filePath: item.path,
-								name: 'file',
-								formData: {},
-								header: _this.headers,
-								success: res => {
-									// 判断是否json字符串,将其转为json格式
-									let data = _this.$u.test.jsonString(res
-										.data) ? JSON.parse(res.data) : res.data;
-									if (![200, 201, 204].includes(res.statusCode)) {
-										// this.uploadError(index, data);
-										_this.$UTILS.showPrompt('选取失败!')
-									} else {
-										// 上传成功
-										// this.lists[index].response = data;
-										// this.lists[index].progress = 100;
-										// this.lists[index].error = false;
-										// this.$emit('on-success', data, index, this.lists, this
-										// 	.index);
-										if (_this.progress === 100) {
-											// console.log('_this.progress', _this.progress)
-											// console.log('data----', data)
-											// console.log('res--', res)
-											_this.imgymxs.push({url:data.data.url,type:'image'})
-											_this.imgArr.push(data.data.url)
-											// console.log('imgArr', _this.imgArr)
-											_this.$UTILS.showPrompt('选取成功!')
-										}
-									}
-								},
-								fail: e => {
-									_this.$UTILS.showPrompt('选取失败!')
-									this.uploadError(index, e);
-								},
-								complete: res => {
-									_this.uploading = false;
-									// _this.uploadFile(index + 1);
-									// this.$emit('on-change', res, index, this.lists, this
-									// .index);
-								}
-							});
-							task.onProgressUpdate(res => {
-								// if (res.progress > 0) {
-								// 	this.lists[index].progress = res.progress;
-								// 	this.$emit('on-progress', res, index, this.lists, this.index);
-								// }
-								_this.progress = res.progress;
-								console.log('onProgressUpdate', res)
-								uni.showLoading({
-									title: '选取中'
+							// 上传成功
+							// this.lists[index].response = data;
+							// this.lists[index].progress = 100;
+							// this.lists[index].error = false;
+							// this.$emit('on-success', data, index, this.lists, this
+							// 	.index);	
+							if (_this.progress === 100) {
+								console.log('_this.progress', _this.progress)
+								console.log('data----', data)
+								console.log('res--', res)
+								// _this.imgArr.push(data.data.url)
+								_this.imgymxs.push({
+									url: data.data.url,
+									type: 'video'
 								})
-							});
-						})
-					},
-				})
-			},
-			choosevideo() {
-				let _this = this;
-				console.log('视频')
-				uni.chooseVideo({
-					sourceType: ['album','camera'],
-					maxDuration: 30,
-					success(resp) {
-						const task = uni.uploadFile({
-							url: _this.$HTTP.webUrl + `/obs`,
-							filePath: resp.tempFilePath,
-							name: 'file',
-							formData: {},
-							header: _this.headers,
-							success: res => {
-								// 判断是否json字符串,将其转为json格式
-								let data = _this.$u.test.jsonString(res
-									.data) ? JSON.parse(res.data) : res.data;
-								if (![200, 201, 204].includes(res.statusCode)) {
-									this.uploadError(index, data);
-								} else {
-									// 上传成功
-									// this.lists[index].response = data;
-									// this.lists[index].progress = 100;
-									// this.lists[index].error = false;
-									// this.$emit('on-success', data, index, this.lists, this
-									// 	.index);	
-									if (_this.progress === 100) {
-										console.log('_this.progress', _this.progress)
-										console.log('data----', data)
-										console.log('res--', res)
-										// _this.imgArr.push(data.data.url)
-										_this.imgymxs.push({url:data.data.url,type:'video'})
-										_this.imgArr.push(data.data.url)
-										console.log('imgArr', _this.imgArr)
-										_this.$UTILS.showPrompt('选取成功!')
-									} 
-								}
-							},
-							fail: e => {
-								_this.$UTILS.showPrompt('选取失败!')
-								this.uploadError(index, e);
-							},
-							complete: res => {
-								uni.hideLoading();
-								_this.uploading = false;
-								// _this.uploadFile(index + 1);
-								// this.$emit('on-change', res, index, this.lists, this
-								// .index);
+								_this.imgArr.push(data.data.url)
+								console.log('imgArr', _this.imgArr)
+								_this.$UTILS.showPrompt('选取成功!')
 							}
-						});
-						task.onProgressUpdate(res => {
-							// if (res.progress > 0) {
-							// 	this.lists[index].progress = res.progress;
-							// 	this.$emit('on-progress', res, index, this.lists, this.index);
-							// }
-							_this.progress = res.progress;
-							console.log('onProgressUpdate', res)
-							uni.showLoading({
-								title: '选取中'
-							})
-						});
-			
-					},
-				})
-			},
-			remove(index) {
-				uni.showModal({
-					title: '提示',
-					content: '是否删除该图片或视频?',
-					success: (res) => {
-						if (res.confirm) {
-							this.imgArr.splice(index, 1);
-							this.imgymxs.splice(index, 1);
-							console.log('this.imgarr',this.imgArr)
 						}
+					},
+					fail: e => {
+						_this.$UTILS.showPrompt('选取失败!')
+						this.uploadError(index, e);
+					},
+					complete: res => {
+						uni.hideLoading();
+						_this.uploading = false;
+						// _this.uploadFile(index + 1);
+						// this.$emit('on-change', res, index, this.lists, this
+						// .index);
 					}
-				})
+				});
+				task.onProgressUpdate(res => {
+					// if (res.progress > 0) {
+					// 	this.lists[index].progress = res.progress;
+					// 	this.$emit('on-progress', res, index, this.lists, this.index);
+					// }
+					_this.progress = res.progress;
+					console.log('onProgressUpdate', res)
+					uni.showLoading({
+						title: '选取中'
+					})
+				});
 			},
-		}
-	}
+		})
+	},
+	remove(index) {
+		uni.showModal({
+			title: '提示',
+			content: '是否删除该图片或视频?',
+			success: (res) => {
+				if (res.confirm) {
+					this.imgArr.splice(index, 1);
+					this.imgymxs.splice(index, 1);
+					console.log('this.imgarr', this.imgArr)
+				}
+			}
+		})
+	},
+}
+}
 </script>
-
 <style>
-	
 .project-content {
-		padding: 10rpx 20rpx;
-		border-radius: 20rpx;
-		background: #fff;
-		width: 90%;
-		margin: 0 auto;
-	}
-	.background {
-		z-index: -1;
-		position: fixed;
-		width: 100%;
-		height: 100%;
-		background-size: 100% 100%;
-	}
-</style>
+padding: 10rpx 20rpx;
+border-radius: 20rpx;
+background: #fff;
+width: 90%;
+margin: 0 auto;
+}
+
+.background {
+z-index: -1;
+position: fixed;
+width: 100%;
+height: 100%;
+background-size: 100% 100%;
+}
+</style>

+ 165 - 126
pages/noLogin/PressureRegulatingBox/PressureRegulatingBox.vue

@@ -5,19 +5,24 @@
 			<u-form :model="form" ref="form">
 				<view class="top">
 					<u-icon class="top-icon" name="map-fill"></u-icon>
-					<u-form-item label=" " borderBottom ref="item1" placeholder=" " labelWidth="80" label-align="left">
+					<u-form-item label=" " borderBottom ref="item1" placeholder=" " labelWidth="20" label-align="left">
 						<u-input v-model="communityName" disabled placeholder=" " disabled trim="false"></u-input>
 					</u-form-item>
 					<u-icon class="top-icon" name="calendar"></u-icon>
-					<u-form-item label=" " borderBottom ref="item1" placeholder=" " labelWidth="80">
-						<u-input v-model="time" disabled  length='20px' trim="false" placeholder=" " ></u-input>
+					<u-form-item label=" " borderBottom ref="item1" placeholder=" " labelWidth="20">
+						<u-input v-model="time" disabled style="font-size: 2rpx" length='30px' trim="true"
+							placeholder=" "></u-input>
 					</u-form-item>
 				</view>
 				<view class="small-title">调压箱部分</view>
 				<u-row gutter="12">
 					<u-col>
 						<u-form-item label="管理所" borderBottom ref="item1" labelWidth="140">
-							<u-input v-model="form.administrativeOffice" placeholder="请输入管理所名称" :disabled="type==1"></u-input>
+							<u-input v-model="AdministrativeOfficeLabel" placeholder="请输入管理所名称"
+								disabled @click="showadministrativeOffice= true&&type!=1" borderBottom></u-input>
+								<u-select v-model="showadministrativeOffice" :list="AdministrativeOfficeList" label-name="name"
+									value-name="value" @confirm="AdministrativeOffice()"> </u-select>
+								<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
 					</u-col>
 					<u-col>
@@ -43,8 +48,8 @@
 					<u-col>
 						<u-form-item label="方砖" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
 							<u-radio-group v-model="form.squareBrick" :disabled="type==1">
-								<u-radio @change="squareBrick" v-for="(item, index) in typelist.square_brick" :key="index"
-									:name="item.dictValue">
+								<u-radio @change="squareBrick" v-for="(item, index) in typelist.square_brick"
+									:key="index" :name="item.dictValue">
 									{{item.dictLabel}}
 								</u-radio>
 							</u-radio-group>
@@ -73,8 +78,8 @@
 					<u-col>
 						<u-form-item label="压力表" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
 							<u-radio-group v-model="form.pressureGage" :disabled="type==1">
-								<u-radio @change="pressureGage" v-for="(item, index) in typelist.pressure_gage" :key="index"
-									:name="item.dictValue">
+								<u-radio @change="pressureGage" v-for="(item, index) in typelist.pressure_gage"
+									:key="index" :name="item.dictValue">
 									{{item.dictLabel}}
 								</u-radio>
 							</u-radio-group>
@@ -109,11 +114,12 @@
 				<u-row class="un-row" gutter="12" style="text-align:left;">
 					<u-col span="10">
 						<u-form-item label="入口压力" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
-							<u-input v-model="form.inletPressure" length='20px' placeholder="请输入入口压力" :disabled="type==1"></u-input>
+							<u-input v-model="form.inletPressure" length='20px' placeholder="请输入入口压力"
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="2">
-					<viwe class="danwei">Mpa</viwe>
+						<viwe class="danwei">Mpa</viwe>
 					</u-col>
 				</u-row>
 				<u-row gutter="12">
@@ -127,8 +133,8 @@
 					</u-col>
 					<u-col span="3">
 						<u-form-item label="副路" borderBottom ref="item1" placeholder=" " labelWidth="80">
-							<u-input v-model="form.exportPressureAccessory" length='20px' trim="false"
-								aceholder="" :disabled="type==1"></u-input>
+							<u-input v-model="form.exportPressureAccessory" length='20px' trim="false" aceholder=""
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="1">
@@ -138,7 +144,8 @@
 				<u-row gutter="12">
 					<u-col span="5">
 						<u-form-item label="关闭压力 主路" borderBottom ref="item1" placeholder=" " labelWidth="200">
-							<u-input v-model="form.closingPressureMain" placeholder=" " trim="false" :disabled="type==1"></u-input>
+							<u-input v-model="form.closingPressureMain" placeholder=" " trim="false"
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="2">
@@ -146,8 +153,8 @@
 					</u-col>
 					<u-col span="3">
 						<u-form-item label="副路" borderBottom ref="item1" placeholder=" " labelWidth="80">
-							<u-input v-model="form.closingPressureAccessory" length='20px' trim="false"
-								placeholder=" " :disabled="type==1"></u-input>
+							<u-input v-model="form.closingPressureAccessory" length='20px' trim="false" placeholder=" "
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="1">
@@ -157,7 +164,8 @@
 				<u-row>
 					<u-col>
 						<u-form-item label="伴热带" labelWidth="140" borderBottom ref="item1">
-							<u-input v-model="xtvLabel" disabled @click="showxtv= true&&type!=1" borderBottom placeholder="请选择伴热带" ></u-input>
+							<u-input v-model="xtvLabel" disabled @click="showxtv= true&&type!=1" borderBottom
+								placeholder="请选择伴热带"></u-input>
 							<u-select v-model="showxtv" :list="typelist.xtv" @confirm="xtv()" :show="showxtv"
 								label-name="dictLabel" value-name="dictValue"> </u-select>
 							<u-icon slot="right" name="arrow-right"></u-icon>
@@ -204,8 +212,8 @@
 					</u-col>
 					<u-col span="3">
 						<u-form-item label="副路" borderBottom ref="item1" placeholder="" labelWidth="80">
-							<u-input v-model="form.cutOffPressureAccessory" length='20px'
-								placeholder="请输入副路" :disabled="type==1"></u-input>
+							<u-input v-model="form.cutOffPressureAccessory" length='20px' placeholder="请输入副路"
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="1">
@@ -215,7 +223,8 @@
 				<u-row gutter="12" style="text-align: center;">
 					<u-col span="10">
 						<u-form-item label="放散压力" borderBottom ref="item1" placeholder="请输入放散压力" labelWidth="140">
-							<u-input v-model="form.releasePressure" length='20px' placeholder="请输入放散压力" :disabled="type==1"></u-input>
+							<u-input v-model="form.releasePressure" length='20px' placeholder="请输入放散压力"
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="2">
@@ -244,7 +253,8 @@
 					<u-col span="12">
 						<u-form-item label="操作结果主副路已交替完毕,现" borderBottom ref="item1" placeholder="请输入编号"
 							labelWidth="420">
-							<u-input v-model="form.mainRoad" length='20px' placeholder="请输入" :disabled="type==1"></u-input>
+							<u-input v-model="form.mainRoad" length='20px' placeholder="请输入"
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="12">
@@ -288,7 +298,8 @@
 					</u-col>
 					<u-col>
 						<u-form-item label="其他原因" borderBottom ref="item1" labelWidth="160">
-							<u-input v-model="form.otherReasonsForOverdueInspection" placeholder="(非必填项)" :disabled="type==1"></u-input>
+							<u-input v-model="form.otherReasonsForOverdueInspection" placeholder="(非必填项)"
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 				</u-row>
@@ -301,10 +312,12 @@
 					</u-col>
 					<u-col>
 						<u-form-item label="阀井情况" labelWidth="140" borderBottom ref="item1">
-							<u-input v-model="valveWellConditioLabel" disabled @click=" showvalveWellCondition= true&& type!=1"
-								borderBottom  placeholder="请选择阀井情况" ></u-input>
+							<u-input v-model="valveWellConditioLabel" disabled
+								@click=" showvalveWellCondition= true&& type!=1" borderBottom
+								placeholder="请选择阀井情况"></u-input>
 							<u-select v-model="showvalveWellCondition" :list="typelist.valve_well_condition"
-								@confirm="valveWellCondition()" label-name="dictLabel" value-name="dictValue"> </u-select>
+								@confirm="valveWellCondition()" label-name="dictLabel" value-name="dictValue">
+							</u-select>
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
 					</u-col>
@@ -313,7 +326,8 @@
 				<u-row>
 					<u-col>
 						<u-form-item label=" " labelWidth="0" borderBottom ref="item1">
-							<u-input v-model="form.remarks" type="textarea" borderBottom placeholder="请填写备注信息内容" :disabled="type==1"></u-input>
+							<u-input v-model="form.remarks" type="textarea" borderBottom placeholder="请填写备注信息内容"
+								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col>
@@ -321,15 +335,18 @@
 							<u-input v-model="form.WarningColumnInformation" disabled placeholder="请上传巡检照片"></u-input>
 							<view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
 								<image src="/static/icon/chooseimg.png" mode=""
-									style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()"  v-if="type!=1"></image>
+									style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()"
+									v-if="type!=1"></image>
 								<view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
 									<view v-if="item.type == 'image'">
-										<image :src="item.url" mode="" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"
+										<image :src="item.url" mode=""
+											style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"
 											@click="showPhoto(index)">
 										</image>
 									</view>
 									<view v-else>
-										<video :src="item" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
+										<video :src="item"
+											style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
 									</view>
 									<view @click="remove(index)" v-if="type!=1"
 										style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;">
@@ -341,13 +358,13 @@
 					</u-col>
 				</u-row>
 			</u-form>
-			<u-button class="from-but" style="margin: 40rpx 0;" @click="save()" v-if="type!=1" type='primary'>确认上传</u-button>
+			<u-button class="from-but" style="margin: 40rpx 0;" @click="save()" v-if="type!=1"
+				type='primary'>确认上传</u-button>
 		</view>
 		</u-form>
 	</view>
 	</view>
 </template>
-
 <script>
 	import service from '@/api/index.js'
 	export default {
@@ -358,12 +375,13 @@
 					MAuthorization: "wxBearer " + uni.getStorageSync('token')
 				},
 				url: [],
+				showadministrativeOffice:false,
 				uploading: false,
 				imgArr: [],
-				PhotoList:[],
-				community:'',
-				building:'',
-				unit:'',
+				PhotoList: [],
+				community: '',
+				building: '',
+				unit: '',
 				imgymxs: [],
 				progress: 0, //图片或视频上传百分比
 				showxtv: false,
@@ -388,11 +406,7 @@
 						message: "单元id不能为空",
 						trigger: "change"
 					}],
-					administrativeOffice: [{
-						required: true,
-						message: "管理所不能为空",
-						trigger: "blur"
-					}],
+					
 					number: [{
 						required: true,
 						message: "编号不能为空",
@@ -554,8 +568,9 @@
 						trigger: "change"
 					}]
 				},
-				communityName:'',
-				time:'',
+				communityName: '',
+				communityId:'',
+				time: '',
 				showrepairType: false,
 				showrepairType: null,
 				checked: true,
@@ -565,29 +580,28 @@
 					'special_case_of_pressure_regulating_facilities', 'overdue_inspection_days',
 					'reason_for_overdue_inspection', 'valve_well_condition', 'find_problem', 'xtv'
 				],
-				type:2,
-				id:null,
-				
-
-
+				type: 2,
+				id: null,
+				AdministrativeOfficeList:[],
+				AdministrativeOfficeLabel:null
 			}
 		},
-
 		// onReady() {
 		// 		uni.setNavigationBarTitle({
 		// 			title: '调压箱表单'
 		// 		});
 		// 	},
-		showPhoto(index){
+		showPhoto(index) {
 			uni.previewImage({
-				current:index,
-				urls:this.imgArr,
+				current: index,
+				urls: this.imgArr,
 			})
 		},
-		showPhotos(index){
+		
+		showPhotos(index) {
 			uni.previewImage({
-				current:index,
-				urls:this.photo,
+				current: index,
+				urls: this.photo,
 			})
 		},
 		onLoad(e) {
@@ -595,65 +609,73 @@
 				title: '调压箱表单'
 			});
 			uni.setNavigationBarColor({
-			    frontColor: '#ffffff',
-			    backgroundColor: '#2d95f4',
+				frontColor: '#ffffff',
+				backgroundColor: '#2d95f4',
 			})
 			let time1 = new Date()
-			this.type=e.type
-			this.id=e.id
-			this.time=time1.toLocaleString()
+			console.log(time1.toLocaleString())
+			var year = time1.getFullYear(); //得到年份
+			var month = time1.getMonth() + 1; //得到月份
+			var date = time1.getDate(); //得到日期
+			var hours = time1.getHours(); //获取系统时
+			var Min = time1.getMinutes(); //分
+			this.type = e.type
+			this.id = e.id
+			this.time = year + "/" + month + "/" + date + "-" + hours + ":" + Min
 			this.form.areaId = e.community
+			this.communityId=e.community
 			this.communityName = e.communityName
-			
 			this.getdictsysinfo()
+			this.getUserName()
 		},
 		methods: {
+			getUserName(){
+				service.getUserName().then(res=>{
+					this.getAdministrativeOffice(res.id)
+				})
+			},
+			getAdministrativeOffice(userId){
+				service.getAdministrativeOffice({userId:userId}).then(res=>{
+					this.AdministrativeOfficeList=res
+				})
+			},
 			getdictsysinfo() {
 				let _this = this
 				service.getDictInfoList({
 					type: this.dictlist
 				}).then(res => {
 					_this.typelist = res
-					if(this.type==1)
-					{
-						
-					
-					service.getregulatorBox(this.id
-					).then(res => {
-						this.communityName=res.areaName
-						this.time=res.createTime
-						if(null!=res.photoList)
-						{
-							res.photoList.forEach(item=>{
-								let url={}
-								url.url=item
-								url.type='image'
-								this.imgymxs.push(url)
-							})
-						}
-						let list =[]
-						list=_this.typelist.xtv
-						list.forEach((item)=>{
-							if(item.dictValue==res.xtv)
-							{
-								_this.xtvLabel=item.dictLabel
-							}
-						})
-						let list2 =[]
-						list2=_this.typelist.valve_well_condition
-						list2.forEach((item)=>{
-							if(item.dictValue==res.valveWellCondition)
-							{
-								_this.valveWellConditioLabel=item.dictLabel
+					if (this.type == 1) {
+						service.getregulatorBox(this.id).then(res => {
+							this.communityName = res.areaName
+							this.time = res.createTime
+							if (null != res.photoList) {
+								res.photoList.forEach(item => {
+									let url = {}
+									url.url = item
+									url.type = 'image'
+									this.imgymxs.push(url)
+								})
 							}
+							let list = []
+							list = _this.typelist.xtv
+							list.forEach((item) => {
+								if (item.dictValue == res.xtv) {
+									_this.xtvLabel = item.dictLabel
+								}
+							})
+							let list2 = []
+							list2 = _this.typelist.valve_well_condition
+							list2.forEach((item) => {
+								if (item.dictValue == res.valveWellCondition) {
+									_this.valveWellConditioLabel = item.dictLabel
+								}
+							})
+							this.form = res
 						})
-						this.form=res
-						
-					})
-					console.log(res)
+						console.log(res)
 					}
 				})
-
 			},
 			//外观
 			appearance(e) {
@@ -717,28 +739,44 @@
 				this.xtvLabel = e[0].label
 				console.log(this.xtvLabel)
 			},
+			AdministrativeOffice(e)
+			{
+				this.form.administrativeOffice=e[0].value
+				this.AdministrativeOfficeLabel = e[0].label
+				console.log('11111',e)
+			},
 			valveWellCondition(e) {
 				this.form.valveWellCondition = e[0].value
 				this.valveWellConditioLabel = e[0].label
 				console.log(this.$refs.form.valveWellCondition)
 			},
 			save() {
-				let _this=this
-				this.form.photoList=this.imgArr
-				this.form.unitId=this.unit
-				service.setregulatorBox(this.form
-				).then(res => {
-					
+				let _this = this
+				if(this.imgArr.length==0)
+				{
+					this.$UTILS.showPrompt('请上传照片或视频!')
+					return
+				}
+				this.form.photoList = this.imgArr
+				this.form.unitId = this.unit
+				this.form.areaId =  this.communityId
+				service.setregulatorBox(this.form).then(res => {
 					console.log(res)
 					_this.$UTILS.showPrompt('上报成功!')
-					setTimeout(()=>{
-						console.log('跳')
-						uni.switchTab({
-							url:'/pages/index/index'
-						})
-					},2000)
+					// setTimeout(() => {
+					// 	console.log('跳')
+					// 	uni.switchTab({
+					// 		url: '/pages/index/index'
+					// 	})
+					// }, 2000)
+					this.form={}
+					this.valveWellConditioLabel=''
+					this.xtvLabel=''
+					this.valveWellConditioLabel=''
+					this.AdministrativeOfficeLabel=''
+					this.imgArr=[]
+					this.imgymxs=[]
 				})
-				
 			},
 			choose() {
 				let _this = this;
@@ -771,8 +809,8 @@
 								header: _this.headers,
 								success: res => {
 									// 判断是否json字符串,将其转为json格式
-									let data = _this.$u.test.jsonString(res
-										.data) ? JSON.parse(res.data) : res.data;
+									let data = _this.$u.test.jsonString(res.data) ? JSON.parse(
+										res.data) : res.data;
 									if (![200, 201, 204].includes(res.statusCode)) {
 										// this.uploadError(index, data);
 										_this.$UTILS.showPrompt('选取失败!')
@@ -838,8 +876,8 @@
 							header: _this.headers,
 							success: res => {
 								// 判断是否json字符串,将其转为json格式
-								let data = _this.$u.test.jsonString(res
-									.data) ? JSON.parse(res.data) : res.data;
+								let data = _this.$u.test.jsonString(res.data) ? JSON.parse(res.data) :
+									res.data;
 								if (![200, 201, 204].includes(res.statusCode)) {
 									this.uploadError(index, data);
 								} else {
@@ -887,7 +925,6 @@
 								title: '选取中'
 							})
 						});
-
 					},
 				})
 			},
@@ -904,14 +941,9 @@
 					}
 				})
 			},
-
-
-
-
 		}
 	}
 </script>
-
 <style>
 	.project-content {
 		padding: 0rpx 20rpx;
@@ -928,34 +960,41 @@
 		height: 100%;
 		background-size: 100% 100%;
 	}
-	.top-left{
+
+	.top-left {
 		display: flex;
 		align-items: center;
 	}
-	.small-title{
+
+	.small-title {
 		font-size: 38rpx;
 		color: #2d95f4;
 		margin: 20rpx 0;
 	}
+
 	.form-item {
 		display: flex;
 		align-items: center;
 		font-size: 32rpx;
 		border: none;
 	}
-	.danwei{
+
+	.danwei {
 		text-align: center;
 		line-height: 110rpx;
 	}
-	.un-row{
+
+	.un-row {
 		text-align: left;
 	}
-	.top{
+
+	.top {
 		display: flex;
-		align-items:center;
-		justify-content:space-between;
+		align-items: center;
+		justify-content: space-between;
 	}
-	.top-icon{
+
+	.top-icon {
 		font-size: 40rpx;
 		color: #2d95f4;
 	}

+ 112 - 109
pages/noLogin/WarningPileForm/WarningPileForm.vue

@@ -1,120 +1,115 @@
 <template>
 	<view>
 		<image src="/static/icon/background-from.png" mode="" class="background"></image>
-		<view  class="project-content">
-		<u-form :model="form" :rules="rules" ref="form" >
-			<u-form-item borderBottom ref="item1">
-				<view>备注</view>
-				<u-input v-model="form.remarks"  :disabled="type==1" type="textarea" placeholder="请输入警示柱信息" ></u-input>
-			</u-form-item>
-			<u-form-item borderBottom ref="item1">
-				<view>警示柱照片</view>
-				<view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
-					<image src="/static/icon/chooseimg.png" mode="" style="width: 190rpx; height: 190rpx; margin: 0 12rpx; "
-						@click="choose()" v-if="type!=1"></image>
-					<view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
-						<view v-if="item.type == 'image'">
-							<image :src="item.url" mode=""
-								style="width: 190rpx; height: 190rpx; margin: 0 20rpx;" @click="showPhoto(index)">
-							</image>
-						</view>
-						<view v-else>
-							<video :src="item"
-								style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
-						</view>
-						<view @click="remove(index)" style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;" >
-							<u-icon name="close" color="#FFFFFF" size="35" v-if="type!=1" ></u-icon> 
+		<view class="project-content">
+			<u-form :model="form" :rules="rules" ref="form">
+				<u-form-item borderBottom ref="item1">
+					<view>备注</view>
+					<u-input v-model="form.remarks" :disabled="type==1" type="textarea"
+						placeholder="请输入警示柱信息"></u-input>
+				</u-form-item>
+				<u-form-item borderBottom ref="item1">
+					<view>警示柱照片</view>
+					<view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
+						<image src="/static/icon/chooseimg.png" mode=""
+							style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()" v-if="type!=1">
+						</image>
+						<view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
+							<view v-if="item.type == 'image'">
+								<image :src="item.url" mode="" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"
+									@click="showPhoto(index)">
+								</image>
+							</view>
+							<view v-else>
+								<video :src="item" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
+							</view>
+							<view @click="remove(index)"
+								style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;">
+								<u-icon name="close" color="#FFFFFF" size="35" v-if="type!=1"></u-icon>
+							</view>
 						</view>
 					</view>
-				</view>
-			</u-form-item>
+				</u-form-item>
 			</u-form>
 			<u-button style="margin: 500rpx 155rpx 0;" @click="save()" v-if="type!=1" type='primary'>确认上传</u-button>
-			</view>
-			</view>
+		</view>
+	</view>
 </template>
-
 <script>
-import service from '@/api/index.js'
+	import service from '@/api/index.js'
 	export default {
 		data() {
 			return {
 				action: this.$HTTP.webUrl + `/obs`,
-								headers: {
-									MAuthorization: "wxBearer " + uni.getStorageSync('token')
-								},
-								url: [],
-								uploading: false,
-									imgymxs: [],
-									progress: 0 ,//图片或视频上传百分比
-				form:{},
-				value:null,
+				headers: {
+					MAuthorization: "wxBearer " + uni.getStorageSync('token')
+				},
+				url: [],
+				uploading: false,
+				imgymxs: [],
+				progress: 0, //图片或视频上传百分比
+				form: {},
+				value: null,
 				imgArr: [],
-				type:2,
-				id:null,
-				userId:null
+				type: 2,
+				id: null,
+				userId: null
 			}
 		},
-		onLoad(e)
-		{
+		onLoad(e) {
 			console.log(e)
-			this.id=e.id
+			this.id = e.id
 			//this.userId=e.userId
-			if(e.type==1)
-			{
-				this.type=e.type
+			if (e.type == 1) {
+				this.type = e.type
 				console.log(this.id)
 				service.getpatrolRecord(this.id).then(res => {
-					this.form=res
+					this.form = res
 					//this.imgymxs=res.photoList
-					if(null!=res.photoList)
-					{
-						res.photoList.forEach(item=>{
-							let url={}
-							url.url=item
-							url.type='image'
+					if (null != res.photoList) {
+						res.photoList.forEach(item => {
+							let url = {}
+							url.url = item
+							url.type = 'image'
 							this.imgymxs.push(url)
 						})
 					}
 				})
-			}else{
+			} else {
 				//this.getwarningPileInfo(e.value)
 			}
 			uni.setNavigationBarTitle({
-					title: '警示柱巡查记录',
+				title: '警示柱巡查记录',
 			});
 			uni.setNavigationBarColor({
-			    frontColor: '#ffffff',
-			    backgroundColor: '#2d95f4',
+				frontColor: '#ffffff',
+				backgroundColor: '#2d95f4',
 			})
 			this.getUsreName()
 		},
 		methods: {
-			showPhoto(index){
+			showPhoto(index) {
 				uni.previewImage({
-					current:index,
-					urls:this.imgArr,
+					current: index,
+					urls: this.imgArr,
 				})
 			},
-			showPhotos(index){
+			showPhotos(index) {
 				uni.previewImage({
-					current:index,
-					urls:this.photo,
+					current: index,
+					urls: this.photo,
 				})
 			},
-			getwarningPileInfo(value)
-			{
+			getwarningPileInfo(value) {
 				service.getpatrolRecord(value).then(res => {
-					this.form=res
-					if(null!=res.photoList)
-					{
+					this.form = res
+					if (null != res.photoList) {
 						//this.imgymxs=res.photoList
-						if(null!=res.photoList)
-						{
-							res.photoList.forEach(item=>{
-								let url={}
-								url.url=item
-								url.type='image'
+						if (null != res.photoList) {
+							res.photoList.forEach(item => {
+								let url = {}
+								url.url = item
+								url.type = 'image'
 								this.imgymxs.push(url)
 							})
 						}
@@ -122,30 +117,34 @@ import service from '@/api/index.js'
 					console.log(this.imgymxs)
 				})
 			},
-			getUsreName()
-			{
-			service.getUserName().then(res => {
-				this.userId = res.id;
-			})	
+			getUsreName() {
+				service.getUserName().then(res => {
+					this.userId = res.id;
+				})
 			},
-			save()
-			{
-				
-				let _this=this
-				this.form.photoList=this.imgArr
-				this.form.warningPileId=this.id
-				this.form.userId=this.userId
-				service.patrolRecord(this.form
-				).then(res => {
+			save() {
+				let _this = this
+				if(this.imgArr.length==0)
+				{
+					this.$UTILS.showPrompt('请上传图片或视频!')
+					return
+				}
+				this.form.photoList = this.imgArr
+				this.form.warningPileId = this.id
+				this.form.userId = this.userId
+				service.patrolRecord(this.form).then(res => {
 					console.log(res)
 					_this.$UTILS.showPrompt('上报成功')
-					setTimeout(()=>{
-						console.log('跳')
-						uni.switchTab({
-							url: `/pages/index/index`
-						})
-					},2000)
-					})
+					// setTimeout(() => {
+					// 	console.log('跳')
+					// 	uni.switchTab({
+					// 		url: `/pages/index/index`
+					// 	})
+					// }, 2000)
+					this.form={}
+					this.imgArr=[]
+					this.imgymxs=[]
+				})
 			},
 			choose() {
 				let _this = this;
@@ -178,8 +177,8 @@ import service from '@/api/index.js'
 								header: _this.headers,
 								success: res => {
 									// 判断是否json字符串,将其转为json格式
-									let data = _this.$u.test.jsonString(res
-										.data) ? JSON.parse(res.data) : res.data;
+									let data = _this.$u.test.jsonString(res.data) ? JSON.parse(
+										res.data) : res.data;
 									if (![200, 201, 204].includes(res.statusCode)) {
 										// this.uploadError(index, data);
 										_this.$UTILS.showPrompt('选取失败!')
@@ -194,7 +193,10 @@ import service from '@/api/index.js'
 											// console.log('_this.progress', _this.progress)
 											// console.log('data----', data)
 											// console.log('res--', res)
-											_this.imgymxs.push({url:data.data.url,type:'image'})
+											_this.imgymxs.push({
+												url: data.data.url,
+												type: 'image'
+											})
 											_this.imgArr.push(data.data.url)
 											// console.log('imgArr', _this.imgArr)
 											_this.$UTILS.showPrompt('选取成功!')
@@ -242,8 +244,8 @@ import service from '@/api/index.js'
 							header: _this.headers,
 							success: res => {
 								// 判断是否json字符串,将其转为json格式
-								let data = _this.$u.test.jsonString(res
-									.data) ? JSON.parse(res.data) : res.data;
+								let data = _this.$u.test.jsonString(res.data) ? JSON.parse(res.data) :
+									res.data;
 								if (![200, 201, 204].includes(res.statusCode)) {
 									this.uploadError(index, data);
 								} else {
@@ -258,11 +260,14 @@ import service from '@/api/index.js'
 										console.log('data----', data)
 										console.log('res--', res)
 										// _this.imgArr.push(data.data.url)
-										_this.imgymxs.push({url:data.data.url,type:'video'})
+										_this.imgymxs.push({
+											url: data.data.url,
+											type: 'video'
+										})
 										_this.imgArr.push(data.data.url)
 										console.log('imgArr', _this.imgArr)
 										_this.$UTILS.showPrompt('选取成功!')
-									} 
+									}
 								}
 							},
 							fail: e => {
@@ -288,7 +293,6 @@ import service from '@/api/index.js'
 								title: '选取中'
 							})
 						});
-			
 					},
 				})
 			},
@@ -300,7 +304,7 @@ import service from '@/api/index.js'
 						if (res.confirm) {
 							this.imgArr.splice(index, 1);
 							this.imgymxs.splice(index, 1);
-							console.log('this.imgarr',this.imgArr)
+							console.log('this.imgarr', this.imgArr)
 						}
 					}
 				})
@@ -308,16 +312,15 @@ import service from '@/api/index.js'
 		}
 	}
 </script>
-
 <style>
-	
-.project-content {
+	.project-content {
 		padding: 20rpx;
 		border-radius: 20rpx;
 		background: #fff;
 		width: 90%;
 		margin: 0 auto;
 	}
+
 	.background {
 		z-index: -1;
 		position: fixed;
@@ -325,4 +328,4 @@ import service from '@/api/index.js'
 		height: 100%;
 		background-size: 100% 100%;
 	}
-</style>
+</style>

+ 6 - 3
pages/noLogin/communitylist.vue

@@ -26,14 +26,15 @@
 				list:[],
 				value:'',
 				nameValue:'',
-				civilPower:''
+				civilPower:'',
+				userId:''
 			}
 		},
 		onLoad(e) {
 			console.log(e)
 			this.value = e.value
-			 this.getProjectList();
 			this.getUserName();
+			 //this.getProjectList();
 			uni.setNavigationBarTitle({
 					title: '选择小区',
 			});
@@ -70,7 +71,7 @@
 			},
 			getProjectList() {
 				this.list=[]
-				service.getArea({name:this.nameValue}).then(res=>{
+				service.getArea({name:this.nameValue,userId:this.userId}).then(res=>{
 					console.log('getProjectType', res)
 					if(res.length == 0){
 						this.$UTILS.showPrompt('暂无项目!')
@@ -81,6 +82,8 @@
 			getUserName(){
 				service.getUserName().then(res=>{
 					this.civilPower = res.civilPower;
+					this.userId=res.id
+					this.getProjectList()
 				})
 			},
 		},

+ 139 - 146
pages/noLogin/emergencyRepairOrder/emergencyRepairOrder.vue

@@ -4,61 +4,70 @@
 		<view class="project-content">
 			<u-form labelPosition="left" :model="form" :rules="rules" ref="form">
 				<u-form-item label="接警时间" borderBottom ref="item1" labelWidth="150">
-					<u-input v-model="form.repairTime" borderBottom  placeholder="请选择接警时间" disabled @click="showtime=true&&type!=1" ></u-input>
+					<u-input v-model="form.repairTime" borderBottom placeholder="请选择接警时间" disabled
+						@click="showtime=true&&type!=1"></u-input>
 					<u-picker v-model="showtime" mode="time" :params="params" @confirm="time()"></u-picker>
 				</u-form-item>
 				<u-form-item label="报修人" labelWidth="150" borderBottom ref="item1">
-					<u-input v-model="form.repairName" borderBottom  placeholder="请输入报修人" :disabled="type==1"></u-input>
+					<u-input v-model="form.repairName" borderBottom placeholder="请输入报修人" :disabled="type==1"></u-input>
 				</u-form-item>
 				<u-form-item label="联系电话" labelWidth="150" borderBottom ref="item1">
-					<u-input v-model="form.repairPhone" borderBottom  placeholder="请输入联系电话" :disabled="type==1"></u-input>
+					<u-input v-model="form.repairPhone" borderBottom placeholder="请输入联系电话"
+						:disabled="type==1"></u-input>
 				</u-form-item>
 				<u-form-item label="报修类型" labelWidth="150" borderBottom ref="item1">
 					<u-input v-model="repairTypeLabel" disabled @click=" showrepairType= true;" borderBottom
 						disabledColor="#ffffff" placeholder="请选择报修类型" v-if="type!=1"></u-input>
-						<u-input v-model="labelList.repair_type" disabled  borderBottom
-							disabledColor="#ffffff" placeholder="请选择报修类型" v-if="type==1"></u-input>
+					<u-input v-model="labelList.repair_type" disabled borderBottom disabledColor="#ffffff"
+						placeholder="请选择报修类型" v-if="type==1"></u-input>
 					<u-select v-model="showrepairType" :list="typelist.repair_type" label-name="dictLabel"
 						value-name="dictValue" @confirm="repairType()" :value="form.repairType"></u-select>
 					<u-icon slot="right" name="arrow-right"></u-icon>
 				</u-form-item>
 				<u-form-item borderBottom ref="item1">
 					<view>报修内容</view>
-					<u-input v-model="form.repairContent" type="textarea" showWordLimit='255' borderBottom :disabled="type==1" placeholder="请输入报修内容" ></u-input>
+					<u-input v-model="form.repairContent" type="textarea" showWordLimit='255' borderBottom
+						:disabled="type==1" placeholder="请输入报修内容"></u-input>
 				</u-form-item>
 				<u-form-item label="损坏原因" labelWidth="150" borderBottom ref="item1">
 					<u-input v-model="causesOfFamageLabel" disabled @click=" causesOfFamageType = true;" v-if="type!=1"
-						borderBottom placeholder="请选择损坏原因"  ></u-input>
-						<u-input v-model="labelList.causes_of_damage" disabled v-if="type==1"
-							borderBottom placeholder="请选择损坏原因"  ></u-input>
-					<u-select v-model="causesOfFamageType" :list="typelist.causes_of_damage" label-name="dictLabel" value-name="dictValue" @confirm="causesOfFamage()" :value="form.causesOfFamage"></u-select>
+						borderBottom placeholder="请选择损坏原因"></u-input>
+					<u-input v-model="labelList.causes_of_damage" disabled v-if="type==1" borderBottom
+						placeholder="请选择损坏原因"></u-input>
+					<u-select v-model="causesOfFamageType" :list="typelist.causes_of_damage" label-name="dictLabel"
+						value-name="dictValue" @confirm="causesOfFamage()" :value="form.causesOfFamage"></u-select>
 					<u-icon slot="right" name="arrow-right"></u-icon>
 				</u-form-item>
 				<u-form-item label="管线压力" labelWidth="150" borderBottom ref="item1">
-					<u-input v-model="pipelinePressureLabel" disabled @click=" pipelinePressureType= true;" v-if="type!=1"  placeholder="请输入管线压力"
-						borderBottom></u-input>
-						<u-input v-model="labelList.pipeline_pressure" disabled 
-							borderBottom v-if="type==1"></u-input>
-					<u-select v-model="pipelinePressureType" :list="typelist.pipeline_pressure" label-name="dictLabel" value-name="dictValue" @confirm="pipelinePressure()" :value="form.pipelinePressure"></u-select>
+					<u-input v-model="pipelinePressureLabel" disabled @click=" pipelinePressureType= true;"
+						v-if="type!=1" placeholder="请输入管线压力" borderBottom></u-input>
+					<u-input v-model="labelList.pipeline_pressure" disabled borderBottom v-if="type==1"></u-input>
+					<u-select v-model="pipelinePressureType" :list="typelist.pipeline_pressure" label-name="dictLabel"
+						value-name="dictValue" @confirm="pipelinePressure()" :value="form.pipelinePressure"></u-select>
 					<u-icon slot="right" name="arrow-right"></u-icon>
 				</u-form-item>
 				<u-form-item label="停气方式" labelWidth="150" borderBottom ref="item1">
-					<u-input v-model="form.stopGasMethod" borderBottom :disabled="type==1"  placeholder="请输入停气方式" ></u-input>
+					<u-input v-model="form.stopGasMethod" borderBottom :disabled="type==1"
+						placeholder="请输入停气方式"></u-input>
 				</u-form-item>
 				<u-form-item label="使用材料" labelWidth="150" borderBottom ref="item1">
-					<u-input v-model="form.usingMaterials" borderBottom :disabled="type==1"  placeholder="请输入使用材料"></u-input>
+					<u-input v-model="form.usingMaterials" borderBottom :disabled="type==1"
+						placeholder="请输入使用材料"></u-input>
 				</u-form-item>
 				<u-form-item label="维修人" labelWidth="150" borderBottom ref="item1">
-					<u-input v-model="form.maintenanceName" borderBottom :disabled="type==1" placeholder="请输入维修人"></u-input>
+					<u-input v-model="form.maintenanceName" borderBottom :disabled="type==1"
+						placeholder="请输入维修人"></u-input>
 				</u-form-item>
 				<u-form-item label="完成时间" labelWidth="150" borderBottom ref="item1">
-					<u-input v-model="form.maintenanceTime" borderBottom disabled @click="showtime2=true&&type!=1"></u-input>
+					<u-input v-model="form.maintenanceTime" borderBottom disabled
+						@click="showtime2=true&&type!=1"></u-input>
 					<u-picker v-model="showtime2" mode="time" :params="params" @confirm="time2()"></u-picker>
 				</u-form-item>
 				<u-form-item label="维修照片" labelWidth="150" borderBottom ref="item1">
 					<view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
 						<image src="/static/icon/chooseimg.png" mode=""
-							style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()" v-if="type!=1"></image>
+							style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()" v-if="type!=1">
+						</image>
 						<view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
 							<view v-if="item.type == 'image'">
 								<image :src="item.url" mode="" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"
@@ -68,7 +77,7 @@
 							<view v-else>
 								<video :src="item" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
 							</view>
-							<view @click="remove(index)" 
+							<view @click="remove(index)"
 								style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;">
 								<u-icon name="close" color="#FFFFFF" size="25" v-if="type!=1"></u-icon>
 							</view>
@@ -79,36 +88,32 @@
 					<view>备注</view>
 					<u-input v-model="form.remarks" borderBottom type="textarea" :disabled="type==1"></u-input>
 				</u-form-item>
-
-
 			</u-form>
 			<u-button @click="save()" v-if="type!=1" type='primary'>确认上传</u-button>
 		</view>
 	</view>
 </template>
-
 <script>
 	import service from '@/api/index.js'
 	export default {
-
 		data() {
 			return {
 				params: {
-									year: true,
-									month: true,
-									day: true,
-									hour: true,
-									minute: true,
-									second: false
-								},
-				showtime:false,
+					year: true,
+					month: true,
+					day: true,
+					hour: true,
+					minute: true,
+					second: false
+				},
+				showtime: false,
 				action: this.$HTTP.webUrl + `/obs`,
 				causesOfFamageType: false,
 				pipelinePressureType: false,
 				repairTypeLabel: null,
 				causesOfFamageLabel: null,
 				pipelinePressureLabel: null,
-				showtime2:false,
+				showtime2: false,
 				headers: {
 					MAuthorization: "wxBearer " + uni.getStorageSync('token')
 				},
@@ -116,167 +121,156 @@
 				uploading: false,
 				imgArr: [],
 				imgymxs: [],
-				causesOfDamage:null,
+				causesOfDamage: null,
 				progress: 0, //图片或视频上传百分比
-				form: {
-				},
+				form: {},
 				userInfo: {},
 				showrepairType: false,
 				community: null,
-				communityName:null,
-				dictlist: ['causes_of_damage', 'pipeline_pressure','repair_type'],
+				communityName: null,
+				dictlist: ['causes_of_damage', 'pipeline_pressure', 'repair_type'],
 				typelist: {},
 				typelist2: {},
-				labelList:{},
-				type:2,
-				id:null
+				labelList: {},
+				type: 2,
+				id: null
 			};
 		},
 		onLoad(e) {
 			this.getdictsysinfo()
-			this.type=e.type
-			this.id=e.id
-			
+			this.type = e.type
+			this.id = e.id
 			uni.setNavigationBarTitle({
 				title: '抢险维修单'
 			});
 			uni.setNavigationBarColor({
-			    frontColor: '#ffffff',
-			    backgroundColor: '#2d95f4',
+				frontColor: '#ffffff',
+				backgroundColor: '#2d95f4',
 			})
 		},
-		onShow()
-		{
-			
-			
-		},
+		onShow() {},
 		methods: {
-			
 			getdictsysinfo() {
 				let _this = this
 				service.getDictInfoList({
 					type: this.dictlist
 				}).then(res => {
 					_this.typelist = res
-					if(this.type==1)
-					{
+					if (this.type == 1) {
 						let _this = this
-							console.log(this.id)
-							service.getemergencyRepair(this.id).then(res => {
-								console.log(_this.typelist)
-								let list =[]
-								list=_this.typelist.repair_type
-								list.forEach((item)=>{
-									if(item.dictValue==res.repairType)
-									{
-										_this.labelList.repair_type=item.dictLabel
-									}
-								})
-								let list2 =[]
-								list2=_this.typelist.causes_of_damage
-								list2.forEach((item)=>{
-									if(item.dictValue==res.causesOfDamage)
-									{
-										_this.labelList.causes_of_damage=item.dictLabel
-									}
-								})
-								let list3 =[]
-								list3=_this.typelist.pipeline_pressure
-								list3.forEach((item)=>{
-									if(item.dictValue==res.pipelinePressure)
-									{
-										_this.labelList.pipeline_pressure=item.dictLabel
-									}
-								})
-								if(null!=res.photoList)
-								{
-									res.photoList.forEach(item=>{
-										let url={}
-										url.url=item
-										url.type='image'
-										this.imgymxs.push(url)
-									})
+						console.log(this.id)
+						service.getemergencyRepair(this.id).then(res => {
+							console.log(_this.typelist)
+							let list = []
+							list = _this.typelist.repair_type
+							list.forEach((item) => {
+								if (item.dictValue == res.repairType) {
+									_this.labelList.repair_type = item.dictLabel
 								}
-								this.form=res
 							})
-						}else{
-							// this.getwarningPileInfo(e.value)
-						}
-					
+							let list2 = []
+							list2 = _this.typelist.causes_of_damage
+							list2.forEach((item) => {
+								if (item.dictValue == res.causesOfDamage) {
+									_this.labelList.causes_of_damage = item.dictLabel
+								}
+							})
+							let list3 = []
+							list3 = _this.typelist.pipeline_pressure
+							list3.forEach((item) => {
+								if (item.dictValue == res.pipelinePressure) {
+									_this.labelList.pipeline_pressure = item.dictLabel
+								}
+							})
+							if (null != res.photoList) {
+								res.photoList.forEach(item => {
+									let url = {}
+									url.url = item
+									url.type = 'image'
+									this.imgymxs.push(url)
+								})
+							}
+							this.form = res
+						})
+					} else {
+						// this.getwarningPileInfo(e.value)
+					}
 				})
-
-
 			},
-			showPhoto(index){
+			showPhoto(index) {
 				uni.previewImage({
-					current:index,
-					urls:this.imgArr,
+					current: index,
+					urls: this.imgArr,
 				})
 			},
-			showPhotos(index){
+			showPhotos(index) {
 				uni.previewImage({
-					current:index,
-					urls:this.photo,
+					current: index,
+					urls: this.photo,
 				})
 			},
-			getdictinfo(data,value) {
+			getdictinfo(data, value) {
 				let _this = this
-				let name =null
-				 
+				let name = null
 				service.getDictInfo({
 					type: data
 				}).then(res => {
-					let list=[]
-					list=res
-					list.forEach((item)=>
-					{
-						if(item.dictValue==value)
-						{		
-							_this.labelList[item.dictType]=item.dictLabel
+					let list = []
+					list = res
+					list.forEach((item) => {
+						if (item.dictValue == value) {
+							_this.labelList[item.dictType] = item.dictLabel
 						}
-						
 					})
-					
 				})
-				
 			},
-			time(e)
-			{
+			time(e) {
 				console.log(`${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`)
-				    
-				this.form.repairTime= `${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`
+				this.form.repairTime = `${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`
 			},
-			time2(e)
-			{
+			time2(e) {
 				console.log(`${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`)
-				    
-				this.form.maintenanceTime= `${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`
+				this.form.maintenanceTime = `${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`
 			},
 			save() {
-				let _this=this
+				let _this = this
 				// this.form.unitId=this.unit
-			    this.form.photoList=this.imgArr 
-				service.setemergencyRepair(this.form
-				).then(res => {
+				if(this.imgArr.length==0)
+				{
+					_this.$UTILS.showPrompt('请上传照片!')
+					return
+				}
+				this.form.photoList = this.imgArr
+				service.setemergencyRepair(this.form).then(res => {
 					console.log(res)
 					_this.$UTILS.showPrompt('上报成功!')
-					setTimeout(()=>{
-						console.log('跳')
-						uni.switchTab({
-							url:'/pages/index/index'
-						})
-					},2000)
+					// setTimeout(() => {
+					// 	console.log('跳')
+					// 	uni.switchTab({
+					// 		url: '/pages/index/index'
+					// 	})
+					// }, 2000)
+					this.form={}
+					this.labelList.repair_type=''
+					this.repairTypeLabel=''
+					this.labelList.causes_of_damage=''
+					this.causesOfFamageLabel=''
+					this.causesOfFamageType=''
+					this.labelList.pipeline_pressure=''
+					this.pipelinePressureLabel=''
+					this.pipelinePressureType=''
+					this.showtime2=''
+					this.imgArr=[]
+					this.imgymxs=[]
 				})
-				
 			},
 			repairType(e) {
 				console.log(e[0])
-				 this.form.repairType = e[0].value
+				this.form.repairType = e[0].value
 				this.repairTypeLabel = e[0].label
 			},
 			causesOfFamage(e) {
-				
-				this.causesOfDamage=e[0].value
+				this.causesOfDamage = e[0].value
 				this.form.causesOfDamage = e[0].value
 				console.log(e[0])
 				this.causesOfFamageLabel = e[0].label
@@ -317,8 +311,8 @@
 								header: _this.headers,
 								success: res => {
 									// 判断是否json字符串,将其转为json格式
-									let data = _this.$u.test.jsonString(res
-										.data) ? JSON.parse(res.data) : res.data;
+									let data = _this.$u.test.jsonString(res.data) ? JSON.parse(
+										res.data) : res.data;
 									if (![200, 201, 204].includes(res.statusCode)) {
 										// this.uploadError(index, data);
 										_this.$UTILS.showPrompt('选取失败!')
@@ -373,7 +367,7 @@
 				let _this = this;
 				console.log('视频')
 				uni.chooseVideo({
-					sourceType: ['album', 'camera'],
+					sourceType: ['camera'],
 					maxDuration: 30,
 					success(resp) {
 						const task = uni.uploadFile({
@@ -384,8 +378,8 @@
 							header: _this.headers,
 							success: res => {
 								// 判断是否json字符串,将其转为json格式
-								let data = _this.$u.test.jsonString(res
-									.data) ? JSON.parse(res.data) : res.data;
+								let data = _this.$u.test.jsonString(res.data) ? JSON.parse(res.data) :
+									res.data;
 								if (![200, 201, 204].includes(res.statusCode)) {
 									this.uploadError(index, data);
 								} else {
@@ -433,7 +427,6 @@
 								title: '选取中'
 							})
 						});
-
 					},
 				})
 			},
@@ -453,7 +446,6 @@
 		}
 	}
 </script>
-
 <style lang="scss">
 	.background {
 		z-index: -1;
@@ -471,7 +463,8 @@
 		margin: 0 auto;
 		background: #fff;
 	}
-	.button{
+
+	.button {
 		background: #2d95f4;
 	}
 </style>

+ 1 - 1
pages/noLogin/typeList.vue

@@ -1,7 +1,7 @@
 <template>
 	<view>
 		<image src="/static/icon/backgroundgz.png" mode="" class="background"></image>
-		<image src="/static/icon/gongzuo.png" mode="" class="gongzuobj"></image>
+		<image src="https://zdsz.obs.cn-south-1.myhuaweicloud.com/file/0e1e285e104144caa274659b3429284c.png" mode="" class="gongzuobj"></image>
 		<view class="justify-content" v-if="visable">
 			
 			<view class="align-items" style="position: absolute; top: 110rpx; left: 50rpx;">

BIN
static/icon/gongzuo.png


BIN
static/icon/index-top.png


BIN
static/icon/loginbj.png


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/back.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/ming-pop/ming-pop.js.map


Plik diff jest za duży
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mp-html/mp-html.js.map


Plik diff jest za duży
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mp-html/node/node.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/aboutme/aboutme.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chart.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartAll.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartDetail.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartList.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/details.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/newchartDetail.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cityConstrution/cityConstrution.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/historyConstruction.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/historyDetail.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/updateInfo.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/My.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/Myphoto.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/PressureRegulatingBox/PressureRegulatingBox.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/WarningPileForm/WarningPileForm.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/WarningPileList.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/buildinglist.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/cityProject.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/communitylist.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/data.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/emergencyRepairOrder/emergencyRepairOrder.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/list.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/listProject.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/repair.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/typeList.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/unitlist.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/uploadProject.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/notice/noticeDetail.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/notice/noticeList.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-error/qiun-error.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading1.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading2.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading3.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading4.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading5.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-button/u-button.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox/u-checkbox.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-col/u-col.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-empty/u-empty.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form-item/u-form-item.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form/u-form.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-icon/u-icon.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-input/u-input.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-loading/u-loading.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-mask/u-mask.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-parse/libs/trees.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-parse/u-parse.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-picker/u-picker.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-popup/u-popup.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-radio-group/u-radio-group.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-radio/u-radio.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-row/u-row.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-search/u-search.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-select/u-select.js.map


Plik diff jest za duży
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-switch/u-switch.js.map


Plik diff jest za duży
+ 2 - 2
unpackage/dist/dev/mp-weixin/common/runtime.js


Plik diff jest za duży
+ 1678 - 461
unpackage/dist/dev/mp-weixin/common/vendor.js


Plik diff jest za duży
+ 430 - 0
unpackage/dist/dev/mp-weixin/components/mp-html/mp-html.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/components/mp-html/mp-html.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "node": "/components/mp-html/node/node"
+  }
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/components/mp-html/mp-html.wxml

@@ -0,0 +1 @@
+<view class="{{[(selectable?'_select ':'')+'_root']}}" style="{{(containerStyle)}}" id="_root"><block wx:if="{{!nodes[0]}}"><slot></slot></block><block wx:else><node vue-id="ecb6c454-1" childs="{{nodes}}" opts="{{[lazyLoad,loadingImg,errorImg,showImgMenu,selectable]}}" name="span" bind:__l="__l"></node></block></view>

+ 498 - 0
unpackage/dist/dev/mp-weixin/components/mp-html/mp-html.wxss

@@ -0,0 +1,498 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* 根节点样式 */
+._root {
+  padding: 1px 0;
+  overflow-x: auto;
+  overflow-y: hidden;
+  -webkit-overflow-scrolling: touch;
+}
+/* 长按复制 */
+._select {
+  -webkit-user-select: text;
+          user-select: text;
+}
+
+

Plik diff jest za duży
+ 407 - 0
unpackage/dist/dev/mp-weixin/components/mp-html/node/node.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/components/mp-html/node/node.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "node": "/components/mp-html/node/node"
+  }
+}

Plik diff jest za duży
+ 29 - 0
unpackage/dist/dev/mp-weixin/components/mp-html/node/node.wxml


+ 544 - 0
unpackage/dist/dev/mp-weixin/components/mp-html/node/node.wxss

@@ -0,0 +1,544 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* a 标签默认效果 */
+._a {
+  padding: 1.5px 0 1.5px 0;
+  color: #366092;
+  word-break: break-all;
+}
+/* a 标签点击态效果 */
+._hover {
+  text-decoration: underline;
+  opacity: 0.7;
+}
+/* 图片默认效果 */
+._img {
+  max-width: 100%;
+  -webkit-touch-callout: none;
+}
+/* 内部样式 */
+._block {
+  display: block;
+}
+._b,
+._strong {
+  font-weight: bold;
+}
+._code {
+  font-family: monospace;
+}
+._del {
+  text-decoration: line-through;
+}
+._em,
+._i {
+  font-style: italic;
+}
+._h1 {
+  font-size: 2em;
+}
+._h2 {
+  font-size: 1.5em;
+}
+._h3 {
+  font-size: 1.17em;
+}
+._h5 {
+  font-size: 0.83em;
+}
+._h6 {
+  font-size: 0.67em;
+}
+._h1,
+._h2,
+._h3,
+._h4,
+._h5,
+._h6 {
+  display: block;
+  font-weight: bold;
+}
+._image {
+  height: 1px;
+}
+._ins {
+  text-decoration: underline;
+}
+._li {
+  display: list-item;
+}
+._ol {
+  list-style-type: decimal;
+}
+._ol,
+._ul {
+  display: block;
+  padding-left: 40px;
+  margin: 1em 0;
+}
+._q::before {
+  content: '"';
+}
+._q::after {
+  content: '"';
+}
+._sub {
+  font-size: smaller;
+  vertical-align: sub;
+}
+._sup {
+  font-size: smaller;
+  vertical-align: super;
+}
+._thead,
+._tbody,
+._tfoot {
+  display: table-row-group;
+}
+._tr {
+  display: table-row;
+}
+._td,
+._th {
+  display: table-cell;
+  vertical-align: middle;
+}
+._th {
+  font-weight: bold;
+  text-align: center;
+}
+._ul {
+  list-style-type: disc;
+}
+._ul ._ul {
+  margin: 0;
+  list-style-type: circle;
+}
+._ul ._ul ._ul {
+  list-style-type: square;
+}
+._abbr,
+._b,
+._code,
+._del,
+._em,
+._i,
+._ins,
+._label,
+._q,
+._span,
+._strong,
+._sub,
+._sup {
+  display: inline;
+}
+
+
+
+
+
+
+

+ 3 - 3
unpackage/dist/dev/mp-weixin/pages/chart/chartAll.js

@@ -290,16 +290,16 @@ var components
 try {
   components = {
     uPopup: function () {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-popup/u-popup */ "uview-ui/components/u-popup/u-popup").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-popup/u-popup.vue */ 465))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-popup/u-popup */ "uview-ui/components/u-popup/u-popup").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-popup/u-popup.vue */ 473))
     },
     uSearch: function () {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-search/u-search */ "uview-ui/components/u-search/u-search").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-search/u-search.vue */ 458))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-search/u-search */ "uview-ui/components/u-search/u-search").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-search/u-search.vue */ 466))
     },
     uSelect: function () {
       return __webpack_require__.e(/*! import() | uview-ui/components/u-select/u-select */ "uview-ui/components/u-select/u-select").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-select/u-select.vue */ 434))
     },
     qiunDataCharts: function () {
-      return Promise.all(/*! import() | uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(__webpack_require__.bind(null, /*! @/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue */ 489))
+      return Promise.all(/*! import() | uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(__webpack_require__.bind(null, /*! @/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue */ 497))
     },
   }
 } catch (e) {

+ 3 - 3
unpackage/dist/dev/mp-weixin/pages/chart/chartDetail.js

@@ -101,16 +101,16 @@ var components
 try {
   components = {
     uPopup: function () {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-popup/u-popup */ "uview-ui/components/u-popup/u-popup").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-popup/u-popup.vue */ 465))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-popup/u-popup */ "uview-ui/components/u-popup/u-popup").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-popup/u-popup.vue */ 473))
     },
     uSearch: function () {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-search/u-search */ "uview-ui/components/u-search/u-search").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-search/u-search.vue */ 458))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-search/u-search */ "uview-ui/components/u-search/u-search").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-search/u-search.vue */ 466))
     },
     uSelect: function () {
       return __webpack_require__.e(/*! import() | uview-ui/components/u-select/u-select */ "uview-ui/components/u-select/u-select").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-select/u-select.vue */ 434))
     },
     qiunDataCharts: function () {
-      return Promise.all(/*! import() | uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(__webpack_require__.bind(null, /*! @/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue */ 489))
+      return Promise.all(/*! import() | uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(__webpack_require__.bind(null, /*! @/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue */ 497))
     },
   }
 } catch (e) {

+ 4 - 4
unpackage/dist/dev/mp-weixin/pages/chart/chartList.js

@@ -101,22 +101,22 @@ var components
 try {
   components = {
     uPopup: function () {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-popup/u-popup */ "uview-ui/components/u-popup/u-popup").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-popup/u-popup.vue */ 465))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-popup/u-popup */ "uview-ui/components/u-popup/u-popup").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-popup/u-popup.vue */ 473))
     },
     uSearch: function () {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-search/u-search */ "uview-ui/components/u-search/u-search").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-search/u-search.vue */ 458))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-search/u-search */ "uview-ui/components/u-search/u-search").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-search/u-search.vue */ 466))
     },
     uSelect: function () {
       return __webpack_require__.e(/*! import() | uview-ui/components/u-select/u-select */ "uview-ui/components/u-select/u-select").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-select/u-select.vue */ 434))
     },
     uPicker: function () {
-      return Promise.all(/*! import() | uview-ui/components/u-picker/u-picker */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uview-ui/components/u-picker/u-picker")]).then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-picker/u-picker.vue */ 472))
+      return Promise.all(/*! import() | uview-ui/components/u-picker/u-picker */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uview-ui/components/u-picker/u-picker")]).then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-picker/u-picker.vue */ 480))
     },
     uInput: function () {
       return Promise.all(/*! import() | uview-ui/components/u-input/u-input */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uview-ui/components/u-input/u-input")]).then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-input/u-input.vue */ 392))
     },
     uEmpty: function () {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-empty/u-empty */ "uview-ui/components/u-empty/u-empty").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-empty/u-empty.vue */ 482))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-empty/u-empty */ "uview-ui/components/u-empty/u-empty").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-empty/u-empty.vue */ 490))
     },
   }
 } catch (e) {

+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/chart/newchartDetail.js


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