diff --git a/.gitignore b/.gitignore index 4afe644..44e168b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ node_modules/ /.pnp .pnp.js unpackage/ - + # testing /coverage diff --git a/manifest.json b/manifest.json index 14251ee..4d7c03a 100644 --- a/manifest.json +++ b/manifest.json @@ -59,5 +59,8 @@ }, "usingComponents" : true }, - "vueVersion" : "2" + "vueVersion" : "2", + "h5": { + "template": "template.html" + } } diff --git a/package-lock.json b/package-lock.json index e609e02..e94f375 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,15 @@ { "name": "xffxkh-app", + "version": "1.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "dependencies": { "@escook/request-miniprogram": "^0.2.1", + "echarts": "^4.9.0", + "es6-promise": "^4.2.8", + "flv.js": "^1.6.2", "crypto-js": "^4.2.0", "moment": "^2.30.1" } @@ -15,6 +19,28 @@ "resolved": "https://registry.npmmirror.com/@escook/request-miniprogram/-/request-miniprogram-0.2.1.tgz", "integrity": "sha512-ueWV5YsaEm/ycQZuEjMiA88GFMhfBQSjy9GrP9omy4xAQajkGTbYIlnhzsDfWzRPmRC1fKmAiKMrCVcgS+SHcQ==" }, + "node_modules/echarts": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-4.9.0.tgz", + "integrity": "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==", + "dependencies": { + "zrender": "4.3.2" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "node_modules/flv.js": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/flv.js/-/flv.js-1.6.2.tgz", + "integrity": "sha512-xre4gUbX1MPtgQRKj2pxJENp/RnaHaxYvy3YToVVCrSmAWUu85b9mug6pTXF6zakUjNP2lFWZ1rkSX7gxhB/2A==", + "dependencies": { + "es6-promise": "^4.2.8", + "webworkify-webpack": "^2.1.5" + } + }, "node_modules/crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", @@ -22,11 +48,21 @@ }, "node_modules/moment": { "version": "2.30.1", - "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "engines": { "node": "*" } + }, + "node_modules/webworkify-webpack": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz", + "integrity": "sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==" + }, + "node_modules/zrender": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-4.3.2.tgz", + "integrity": "sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g==" } }, "dependencies": { @@ -35,6 +71,28 @@ "resolved": "https://registry.npmmirror.com/@escook/request-miniprogram/-/request-miniprogram-0.2.1.tgz", "integrity": "sha512-ueWV5YsaEm/ycQZuEjMiA88GFMhfBQSjy9GrP9omy4xAQajkGTbYIlnhzsDfWzRPmRC1fKmAiKMrCVcgS+SHcQ==" }, + "echarts": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-4.9.0.tgz", + "integrity": "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==", + "requires": { + "zrender": "4.3.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "flv.js": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/flv.js/-/flv.js-1.6.2.tgz", + "integrity": "sha512-xre4gUbX1MPtgQRKj2pxJENp/RnaHaxYvy3YToVVCrSmAWUu85b9mug6pTXF6zakUjNP2lFWZ1rkSX7gxhB/2A==", + "requires": { + "es6-promise": "^4.2.8", + "webworkify-webpack": "^2.1.5" + } + }, "crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", @@ -42,8 +100,18 @@ }, "moment": { "version": "2.30.1", - "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + }, + "webworkify-webpack": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz", + "integrity": "sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==" + }, + "zrender": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-4.3.2.tgz", + "integrity": "sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g==" } } } diff --git a/package.json b/package.json index 2f5ce1f..3e051f4 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,9 @@ "dependencies": { "@escook/request-miniprogram": "^0.2.1", "crypto-js": "^4.2.0", + "echarts": "^4.9.0", + "es6-promise": "^4.2.8", + "flv.js": "^1.6.2", "moment": "^2.30.1" } } diff --git a/pages.json b/pages.json index 2e4dd8a..f8f4b65 100644 --- a/pages.json +++ b/pages.json @@ -50,7 +50,89 @@ { "navigationBarTitleText" : "" } - } + }, + { + "path" : "pages/forewarning/forewarning", + "style" : + { + "navigationBarTitleText" : "" + } + }, + { + "path" : "pages/forewarning/sh", + "style" : + { + "navigationBarTitleText" : "" + } + }, + { + "path" : "pages/forewarning/shInformation/shInformation", + "style" : + { + "navigationBarTitleText" : "" + } + }, + { + "path" : "pages/addressBook/addressBook", + "style" : + { + "navigationBarTitleText" : "" + } + }, + { + "path" : "pages/water/water", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + }, + { + "path" : "pages/rain/rain", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + }, + + + { + "path" : "pages/rainDetail/rainDetail", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + }, + { + "path" : "pages/hdDetail/hdDetail", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + }, + { + "path" : "pages/skDetail/skDetail", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + }, + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom" + } + } ], "tabBar": { @@ -87,5 +169,22 @@ "app-plus": { "background": "#efeff4" } - } + }, + "subPackages":[{ + "root": "subpkg", + "pages": [{ + "path": "rainDetail/rainDetail" + }] + }], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8", + "backgroundColorTop":"transparent", + "navigationStyle": "custom", + "app-plus": { + "background": "#efeff4" + } + } } diff --git a/pages/addressBook/addressBook.vue b/pages/addressBook/addressBook.vue new file mode 100644 index 0000000..abe6872 --- /dev/null +++ b/pages/addressBook/addressBook.vue @@ -0,0 +1,1234 @@ + + + + + diff --git a/pages/forewarning/forewarning.vue b/pages/forewarning/forewarning.vue new file mode 100644 index 0000000..3491337 --- /dev/null +++ b/pages/forewarning/forewarning.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/pages/forewarning/hd.vue b/pages/forewarning/hd.vue new file mode 100644 index 0000000..9cfb2ee --- /dev/null +++ b/pages/forewarning/hd.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/pages/forewarning/sh.vue b/pages/forewarning/sh.vue new file mode 100644 index 0000000..3d36320 --- /dev/null +++ b/pages/forewarning/sh.vue @@ -0,0 +1,328 @@ + + + + + diff --git a/pages/forewarning/shInformation/shInformation.vue b/pages/forewarning/shInformation/shInformation.vue new file mode 100644 index 0000000..0903de9 --- /dev/null +++ b/pages/forewarning/shInformation/shInformation.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/pages/forewarning/sk.vue b/pages/forewarning/sk.vue new file mode 100644 index 0000000..9469f60 --- /dev/null +++ b/pages/forewarning/sk.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/pages/hdDetail/hdDetail.vue b/pages/hdDetail/hdDetail.vue new file mode 100644 index 0000000..80db6ab --- /dev/null +++ b/pages/hdDetail/hdDetail.vue @@ -0,0 +1,100 @@ + + + + + \ No newline at end of file diff --git a/pages/hdDetail/jcsj/chartOption.js b/pages/hdDetail/jcsj/chartOption.js new file mode 100644 index 0000000..d6720c7 --- /dev/null +++ b/pages/hdDetail/jcsj/chartOption.js @@ -0,0 +1,241 @@ + +import echarts from 'echarts/lib/echarts'; + +export default function DrpOption(data=[],wrz,grz) { + const maxVal = Math.max(...data.map(obj => obj.drp)) + const maxSw = Math.max(...data.map(obj => obj.z)) + const minSw = Math.min(...data.map(obj => obj.z)) + const maxLl = Math.max(...data.map(obj => obj.tq)) + const minLl = Math.min(...data.map(obj => obj.tq)) + let eopts = { + tooltip: { + trigger: 'axis', + }, + grid: [ + { + top: "13%", + left: "10%", + right: "8%", + width: '80%', + height: '35%' + }, + { + bottom: "5%", + left: "10%", + right: "8%", + width: '80%', + height: '35%' + }, + ], + legend: { + // 显示图例 + show: true, + // 图例的位置 + data: ['警戒水位', '危险水位', "降雨量", "水位", "转换流量"], + left:3, + right:0, + itemWidth:16, + }, + xAxis: [ + { + gridIndex: 0, + type: 'category', + data: data.map(o => o.tm).reverse(), + splitLine: { + show: false + }, + axisLabel: { + color: '#333', + fontSize: 12, + show:false, + }, + axisLine: { + lineStyle: { + color: '#07a6ff', + width: 0.5, + } + }, + axisTick: { + show: false, + }, + }, + { + gridIndex: 1, + type: 'category', + data: data.map(o => o.tm.substr("2020-".length,11)), + inverse: true, + splitLine: { + show: false + }, + axisLabel: { + color: '#333', + fontSize: 12, + formatter: val => val.substr('2020-'.length, 11) + }, + axisLine: { + lineStyle: { + color: '#07a6ff', + width: 0.5, + } + }, + axisTick: { + show: false, + }, + } + ], + yAxis: [ + { + inverse: true, + gridIndex: 0, + type: 'value', + position: 'left', + name: "降雨量(mm)", + nameLocation: "start", + axisLabel: { + color: '#333', + fontSize: 12, + }, + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 0, + max: maxVal + }, + { + gridIndex: 1, + type: 'value', + position: 'left', + name: "水位(m)", + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLabel: { + color: '#333', + fontSize: 12, + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: minSw, + max: maxSw + }, + { + gridIndex: 1, + type: 'value', + position: 'right', + name: "流量(m³/s)", + splitLine: { + show: false, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLabel: { + color: '#333', + fontSize: 12, + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: minLl, + max: maxLl + } + ], + } + let chartData = { + series: [ + + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '警戒水位', + type: 'line', + color: "#F59A23", + barWidth: '60%', + data: data.map(o => wrz), + lineStyle: { + type: "dashed" + }, + symbol: 'none' // 设置标记点为'none',即去掉圆点 + }, + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '危险水位', + type: 'line', + color: "#D9001B", + lineStyle: { + type: "dashed" + }, + data: data.map(o => grz), + symbol: 'none' // 设置标记点为'none',即去掉圆点 + }, + { + name: '降雨量', + type: 'bar', + barWidth: '60%', + data: data.map(o => o.drp).reverse(), + itemStyle: { + color: "#007AFD", + }, + label: { + show: false, + }, + + }, + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '水位', + type: 'line', + symbol: 'none', + color: "#0AE0B5", + label: { + show: false, + }, + data: data.map(o => o.z ? o.z.toFixed(2) : null), + }, + { + xAxisIndex: 1, + yAxisIndex: 2, + name: '转换流量', + type: 'line', + color: "#007AFD", + symbol: 'none', + showSymbol: false, + label: { + show: false, + }, + data: data.map(o => o.tq), + } + ] + } + return { + eopts, + chartData + } +} diff --git a/pages/hdDetail/jcsj/jcsj.vue b/pages/hdDetail/jcsj/jcsj.vue new file mode 100644 index 0000000..0fe7737 --- /dev/null +++ b/pages/hdDetail/jcsj/jcsj.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/pages/hdDetail/jcsj/jcsjTable.vue b/pages/hdDetail/jcsj/jcsjTable.vue new file mode 100644 index 0000000..442b0cc --- /dev/null +++ b/pages/hdDetail/jcsj/jcsjTable.vue @@ -0,0 +1,103 @@ + + + + + \ No newline at end of file diff --git a/pages/hdDetail/spjk/spjk.vue b/pages/hdDetail/spjk/spjk.vue new file mode 100644 index 0000000..3f4df08 --- /dev/null +++ b/pages/hdDetail/spjk/spjk.vue @@ -0,0 +1,103 @@ + + + + diff --git a/pages/hdDetail/tjsj/tjsj.vue b/pages/hdDetail/tjsj/tjsj.vue new file mode 100644 index 0000000..f02303e --- /dev/null +++ b/pages/hdDetail/tjsj/tjsj.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/pages/hdDetail/zbyq/resList.vue b/pages/hdDetail/zbyq/resList.vue new file mode 100644 index 0000000..d40603e --- /dev/null +++ b/pages/hdDetail/zbyq/resList.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/pages/hdDetail/zbyq/zbyq.vue b/pages/hdDetail/zbyq/zbyq.vue new file mode 100644 index 0000000..4e38246 --- /dev/null +++ b/pages/hdDetail/zbyq/zbyq.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/pages/homeIndex/index.vue b/pages/homeIndex/index.vue index 4cc0881..3559c38 100644 --- a/pages/homeIndex/index.vue +++ b/pages/homeIndex/index.vue @@ -24,15 +24,17 @@ -