f54b7815d8451f362554e3d2d09b4991ce13d4ff..da4257bc32483409af02a06dd342c6981ec786ec
2025-11-17 liulijun
更新大屏幕页面和任务信息页面
da4257 对比 | 目录
2025-11-17 liulijun
更新前端页面
d842fb 对比 | 目录
已删除112个文件
已重命名5个文件
已添加49个文件
已复制9个文件
已修改32个文件
132086 ■■■■ 文件已修改
.gitignore 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/.babelrc 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/.devcontainer/devcontainer.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/.env.dev 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/.env.production 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/.env.test 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/.gitignore 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/LICENSE 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/README.md 430 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/babel.config.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/jsconfig.json 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/package-lock.json 15287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/package.json 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/favicon.ico 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/image.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/index.html 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/110000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/120000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/130000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/140000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/150000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/210000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/220000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/230000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/310000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/320000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/330000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/340000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/350000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/360000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/370000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/410000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/420000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/430000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/440000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/450000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/460000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/500000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/510000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/520000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/530000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/540000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/610000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/620000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/630000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/640000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/650000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/710000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/810000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/820000.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/china.json 98604 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/map-geojson/chinaNanhai.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/public/style.css 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/App.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/api/ajax.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/api/api.js 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/api/http.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/api/index.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/api/modules/index.js 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/FZ.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/JX.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/LB.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/SC.jpg 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/benterblue.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/bg5.jpg 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/blue.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/cnmc_logo.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/css/index.scss 361 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/css/modules/reset.scss 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/css/public.scss 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/css/theme/fonts/element-icons.ttf 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/css/theme/fonts/element-icons.woff 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/css/theme/index.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/css/variable.scss 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/css/webfont/index.css 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/head_bg1.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/iconfont/iconfont.css 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/iconfont/iconfont.ttf 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/iconfont/iconfont.woff 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/iconfont/iconfont.woff2 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/3DScreen.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/center_map.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/frame.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/guang.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/headers/juxing1.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/headers/juxing2.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/left_top_hong.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/left_top_huang.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/left_top_lan.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/left_top_lv.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/titles/you.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/titles/zuo.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/top.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/xieyou.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/xiezuo.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/img/zuo_xuxian.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/pageBg.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/red0.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/red1.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/scss/_variables.scss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/scss/index.scss 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/scss/style.scss 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/assets/yellow.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/common/echart/index.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/common/echart/theme.json 490 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/common/map/fujian.js 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/bottom/bottomCenterChart/chart.vue 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/bottom/bottomCenterChart/index.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/bottom/bottomLeftChart/chart.vue 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/bottom/bottomLeftChart/index.vue 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/bottom/bottomRightChart/chart.vue 358 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/bottom/bottomRightChart/index.vue 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/center/centerChartRate/index.vue 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/centerLeft/centerLeft1Chart/chart.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/centerLeft/centerLeft1Chart/index.vue 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/centerLeft/centerLeft2Chat/chart.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/centerLeft/centerLeft2Chat/index.vue 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/centerLeft/centerLeft3Chart/chart.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/centerLeft/centerLeft3Chart/index.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/echart/centerLeft1Chart/index.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/item-wrap/item-wrap.vue 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/kong.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/message/message.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/message/message.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/reacquire/reacquire.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/components/scale-screen/scale-screen.vue 253 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/config/UtilVar.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/directives/filters.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/lib/currency.js 429 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/lib/dd-moment.js 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/lib/index.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/lib/types.js 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/main.js 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/mock/mock.js 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/router/index.js 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/store/index.js 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/store/modules/setting.js 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/utils/drawMixin.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/utils/index.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/utils/map/china.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/utils/map/xzqCode.js 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/utils/resizeMixin.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/bottomView1.vue 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/centerView1.vue 505 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/home.scss 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/home.vue 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/index.vue 333 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexLine.vue 389 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexPick.vue 389 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/center-bottom.vue 363 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/center-map.vue 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/index.vue 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/left-bottom.vue 247 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/left-center-right.vue 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/left-center.vue 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/left-top.vue 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/pass-two.vue 442 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/plan.vue 363 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/right-bottom.vue 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/right-center.vue 451 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/right-top.vue 299 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/station-four.vue 237 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/station-one.vue 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/station-three.vue 441 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexs/station-two.vue 289 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/setting.vue 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/tjfx/tjfx.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/vue.config.js 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/public/webconfig.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/basic/apiInfo.js 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/basic/makeCenterInfo.js 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/inbound/mesProInOrderInfo.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/inbound/proDeliverBackOrder.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/inbound/proDeliverBackOrderDetail.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/inbound/returnBSTOrder.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/inbound/returnBSTOrderDetail.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/outbound/outBSTPickInfo.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/outbound/proDeliveryOrder.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/outbound/proDeliveryOrderDetail.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/extension/taskinfo/task.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/router/viewGird.js 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/basic/apiInfo.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/basic/customerInfo.vue 148 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/basic/makeCenterInfo.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/basic/supplierInfo.vue 137 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/inboundOrder.vue 247 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/inboundOrderDetail.vue 439 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/mesProInOrder.vue 392 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/mesProInOrderInfo.vue 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/proDeliverBackOrder.vue 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/proDeliverBackOrderDetail.vue 236 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/purchaseOrder.vue 285 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/purchaseOrderDetail.vue 264 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/returnBSTOrder.vue 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/inbound/returnBSTOrderDetail.vue 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/outbound/outBSTPickInfo.vue 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/outbound/outStockLockInfo.vue 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/outbound/proDeliveryOrder.vue 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/outbound/proDeliveryOrderDetail.vue 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/taskinfo/task.vue 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSClient/src/views/taskinfo/task_hty.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/ApiInfoCotroller.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/CustomerController.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/操作手册/龙利得WMS系统操作说明书.doc 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -271,3 +271,10 @@
/项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-wal
/项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm
/项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal
/项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices
/项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices
/项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/v17
/项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/v17
/项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/v17
/项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/v17
/项目代码/WMS/WMSServices/.vs
ÏîÄ¿´úÂë/BigScreen/.babelrc
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/.devcontainer/devcontainer.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/.env.dev
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/.env.production
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/.env.test
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/.gitignore
@@ -1,8 +1,6 @@
.DS_Store
node_modules
/dist
/dist-*
# local env files
.env.local
@@ -12,7 +10,6 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
ÏîÄ¿´úÂë/BigScreen/LICENSE
@@ -1,21 +1,201 @@
MIT License
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/
Copyright (c) 2022 daidai
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
   1. Definitions.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.
      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.
      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.
      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.
      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.
      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).
      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.
      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."
      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.
   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.
   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.
   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:
      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and
      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and
      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and
      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.
      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.
   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.
   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.
   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.
   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.
   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.
   END OF TERMS AND CONDITIONS
   APPENDIX: How to apply the Apache License to your work.
      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.
   Copyright [yyyy] [name of copyright owner]
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
       http://www.apache.org/licenses/LICENSE-2.0
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
ÏîÄ¿´úÂë/BigScreen/README.md
@@ -1,238 +1,200 @@
## é¡¹ç›®æè¿°
根据奔跑吧面条的**[vue-big-screen](https://gitee.com/MTrun/big-screen-vue-datav)**开源框架基础上进行修改。
- é¡¹ç›®éœ€è¦å…¨å±å±•示(按 F11)。
- é¡¹ç›®éƒ¨åˆ†åŒºåŸŸä½¿ç”¨äº†å…¨å±€æ³¨å†Œæ–¹å¼ï¼Œå¢žåŠ äº†æ‰“åŒ…ä½“ç§¯ï¼Œåœ¨å®žé™…è¿ç”¨ä¸­è¯·ä½¿ç”¨ **按需引入**。
- é¡¹ç›®çŽ¯å¢ƒï¼šVue-cli、DataV、Echarts、Webpack、Npm、Node,axios,mock。
- è¯·æ‹‰å– master åˆ†æ”¯çš„代码,其余分支是开发分支。
- åœ¨é¡¹ç›®public目录下存放地图数据合集,根据地市编存放。
友情链接:
1. [Vue å®˜æ–¹æ–‡æ¡£](https://gitee.com/link?target=https%3A%2F%2Fcn.vuejs.org%2Fv2%2Fguide%2Finstance.html)
2. [DataV å®˜æ–¹æ–‡æ¡£](https://gitee.com/link?target=http%3A%2F%2Fdatav.jiaminghi.com%2Fguide%2F)
3. [echarts å®žä¾‹](https://gitee.com/link?target=https%3A%2F%2Fecharts.apache.org%2Fexamples%2Fzh%2Findex.html),[echarts API æ–‡æ¡£](https://gitee.com/link?target=https%3A%2F%2Fecharts.apache.org%2Fzh%2Fapi.html%23echarts)
4. [mock.js官网](http://mockjs.com/examples.html)
5. [axios官网](https://axios-http.com/)
**项目展示**
![项目展示](https://www.daidaibg.com/bigscreen/a-img/home.png)
### é¡¹ç›®é¢„览地址
[https://www.daidaibg.com/bigscreen](https://www.daidaibg.com/bigscreen)
### é¡¹ç›®ä»“库地址
**github地址**
[https://github.com/daidaibg/IofTV-Screen](https://github.com/daidaibg/IofTV-Screen)
**Gitee地址**
[https://gitee.com/daidaibg/IofTV-Screen](https://gitee.com/daidaibg/IofTV-Screen)
### vue3+vite版本地址
**github地址**
[https://github.com/daidaibg/IofTV-Screen-Vue3](https://github.com/daidaibg/IofTV-Screen-Vue3)
**Gitee地址**
[https://gitee.com/daidaibg/IofTV-Screen-Vue3](https://gitee.com/daidaibg/IofTV-Screen-Vue3)
### 1.1.0版本开始采用自适应组件方式,不再使用mixin方式。
###  æ»šåŠ¨è®¾ç½®ï¼Œè‡ªé€‚åº”è®¾ç½®
项目中可以进行滚动配置,内容是否滚动
点击右上角设置按钮
![设置](https://www.daidaibg.com/bigscreen/a-img/setting.png)
可以进行以下配置,可以自行代码中进行修改或增加配置
![在这里插入图片描述](https://www.daidaibg.com/bigscreen/a-img/setting2.png)
##  2、主要文件介绍
| æ–‡ä»¶              | ä½œç”¨/功能                                                    |
| ----------------- | ------------------------------------------------------------ |
| main.js           | ä¸»ç›®å½•文件,引入 Echart/DataV ç­‰æ–‡ä»¶                         |
| utils             | å·¥å…·å‡½æ•°ä¸Ž mixins å‡½æ•°ç­‰                                     |
| views/ home.vue   | é¡¹ç›®ä¸»ç»“æž„                                                   |
| views/其余文件    | ç•Œé¢å„个区域组件(按照位置来命名)                           |
| assets            | é™æ€èµ„源目录,放置 logo ä¸ŽèƒŒæ™¯å›¾ç‰‡                           |
| assets / css/     | é€šç”¨ CSS æ–‡ä»¶ï¼Œå…¨å±€é¡¹ç›®å¿«æ·æ ·å¼è°ƒèŠ‚                          |
| components/echart | æ‰€æœ‰ echart å›¾è¡¨ï¼ˆæŒ‰ç…§ä½ç½®æ¥å‘½åï¼‰                           |
| common/...        | å…¨å±€å°è£…çš„ ECharts å’Œ flexible æ’件代码(适配屏幕尺寸,可定制化修改) |
| api/api.js        | æŽ¥å£å°è£…文件                                                 |
| mock              | æ¨¡æ‹Ÿæ•°æ®æŽ¥å£åœ°å€                                             |
###
## ä½¿ç”¨ä»‹ç»
### å®‰è£…
```npm
npm install
```
### å¯åЍ
```npm
npm start
```
[接下来跟面条的差不多还是看面条的文档吧](https://gitee.com/MTrun/big-screen-vue-datav/tree/master#%E4%B8%89%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D)
https://gitee.com/MTrun/big-screen-vue-datav/tree/master#%E4%B8%89%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D
### å–消mock模拟数据
```javascript
// src\main.js文件
把下面这句话注释掉就可以了。
require('./mock/mock')//是否使用mock
```
## è‡ªé€‚应缩放组件
### æ³¨æ„
采用Scale方式,会自动给组件父元素添加overflow:hidden
### ä½¿ç”¨
```vue
<template>
  <scale-screen width="1920" height="1080">
    <div>
      <v-chart>....</v-chart>
      <v-chart>....</v-chart>
      <v-chart>....</v-chart>
      <v-chart>....</v-chart>
      <v-chart>....</v-chart>
    </div>
  </scale-screen>
</template>
<script>
import ScaleScreen from 'scale-screen'
export default {
  name:'Demo',
  components:{
    VScaleScreen
  }
}
</script>
```
### API
| å±žæ€§         | è¯´æ˜Ž                                                         | ç±»åž‹                             | é»˜è®¤å€¼ |
| ------------ | ------------------------------------------------------------ | -------------------------------- | ------ |
| selfAdaption | æ˜¯å¦è¿›è¡Œè‡ªé€‚应                                               | Boolean                          | true   |
| width        | å¤§å±å®½åº¦                                                     | `Number` or `String`             | 1920   |
| height       | å¤§å±é«˜åº¦                                                     | `Number` or `String`             | 1080   |
| autoScale    | è‡ªé€‚应配置,配置为boolean类型时,为启动或者关闭自适应,配置为对象时,若x为true,x轴产生边距,y为true时,y轴产生边距,启用fullScreen时此配置失效 | Boolean or {x:boolean,y:boolean} | true   |
| delay        | çª—口变化防抖延迟时间                                         | Number                           | 500    |
| fullScreen   | å…¨å±è‡ªé€‚应,启用此配置项时会存在拉伸效果,同时autoScale失效,非必要情况下不建议开启 | Boolean                          | false  |
| boxStyle     | ä¿®æ”¹å®¹å™¨æ ·å¼ï¼Œå¦‚居中展示时侧边背景色,符合Vue双向绑定style标准格式 | Object                           | null   |
| wrapperStyle | ä¿®æ”¹è‡ªé€‚应区域样式,符合Vue双向绑定style标准格式             | Object                           | null   |
## å…¬ç”¨ç»„ä»¶
封装了除面条外个别用到的组件
### 5.1 message消息提示
因为刚开始没想着用第三方提示库,自己简单封装了一个。
注:组件内部目前只有warning,类型,如果需要其他类型自己组件内添加。
因在main.js注册全局可以直接使用,不需要引入
```js
  this.$Message({
      text: res.msg,
      type: 'warning'
  })
//也可以这样
this.$Message.warning(res.msg)
```
| å‚æ•° |   æè¿°   | é»˜è®¤å€¼  |  ç±»åž‹  | å¯é€‰å€¼  |
| :--: | :------: | :-----: | :----: | :-----: |
| text | æç¤ºæ–‡å­— |    -    | string |    -    |
| type | å¼¹çª—类型 | warning | string | warning |
### 5.2 å¤–边框
因为我的项目外边框几乎一样,还有title,所以封装了此组件。
根据自己需求更改,更换外边框(src\components\item-wrap\item-wrap.vue)下更换。
```vue
<ItemWrap
    title="我是title"
    >
       <div>我是谁?</div>
</ItemWrap>
```
| å‚æ•°  | æè¿° | é»˜è®¤å€¼ |  ç±»åž‹  | å¯é€‰å€¼ |
| :---: | :--: | :----: | :----: | :----: |
| title | æ ‡å¤´ |   -    | string |   -    |
## ä¸­é—´åœ°å›¾
### å—海显隐控制
 æ ¹æ®éœ€æ±‚来,**修改此值请刷新页面**
```indexs/center-map.vue``` æ–‡ä»¶ä¸­```isSouthChinaSea```变量 é»˜è®¤ä¸æ˜¾ç¤ºå—æµ·(false),为```true```的时候显示南海
```
isSouthChinaSea:false,//默认不显示南海,改为true可显示南海
```
## å…¨å±€å‚æ•°
### filter
监测数据项统一过滤,保留两位小数。
```vue
{{10.23123|montionFilter }}
```
##  å¤§å±äº¤æµåé¦ˆï¼ˆé¢æ¡çš„群)
### å¤§å±QQ群
QQ群号:713105837
### å¤§å±äºŒç»´ç 
 **QQ交流群: 713105837 å¼€æºé¡¹ç›®Vue/Vue3/React-big-screen交流群**
QQ群二维码:
![输入图片说明](https://gitee.com/MTrun/big-screen-vue-datav/raw/master/public/image.png)
![输入图片说明](public/image.png)
## ä¸€ã€é¡¹ç›®æè¿°
- ä¸€ä¸ªåŸºäºŽ Vue、Datav、Echart æ¡†æž¶çš„ " **数据大屏项目** ",通过 Vue ç»„件实现数据动态刷新渲染,内部图表可实现自由替换。部分图表使用 DataV è‡ªå¸¦ç»„件,可进行更改,详情请点击下方 DataV æ–‡æ¡£ã€‚
- [**Vue3 ç‰ˆæœ¬è¯·ç‚¹å‡»è¿™é‡ŒæŸ¥çœ‹ï¼Œä½¿ç”¨ Hooks+TypeScript å®žçŽ°ï¼Œå…¨æ–°å†…å®¹ç­‰ä½ æŽ¢ç´¢!**](https://gitee.com/MTrun/vue-big-screen-plugin)
- [**React ç‰ˆæœ¬è¯·ç‚¹å‡»è¿™é‡ŒæŸ¥çœ‹ï¼Œå…¨æ–°ç•Œé¢è¶…级好看!!!**](https://gitee.com/MTrun/react-big-screen)
- é¡¹ç›®éœ€è¦å…¨å±å±•示(按 F11)。
- é¡¹ç›®éƒ¨åˆ†åŒºåŸŸä½¿ç”¨äº†å…¨å±€æ³¨å†Œæ–¹å¼ï¼Œå¢žåŠ äº†æ‰“åŒ…ä½“ç§¯ï¼Œåœ¨å®žé™…è¿ç”¨ä¸­è¯·ä½¿ç”¨ **按需引入**。
- æ‹‰å–项目之后,建议按照自己的功能区域重命名文件,现以简单的位置进行区分。
- é¡¹ç›®çŽ¯å¢ƒï¼šVue-cli-3.0、DataV-2.7.3、Echarts-4.6.0(如果5.x版本有问题,请切换到4.x版本)、Webpack-4.0、Npm-6.13、Node-v12.16。
- è¯·æ‹‰å– master åˆ†æ”¯çš„代码,其余分支是开发分支。
- éœ€è¦å…¶å®ƒåœ°å›¾æ•°æ®çš„,请查看我的其它项目(有一个地图合集)
友情链接:
1.  [Vue å®˜æ–¹æ–‡æ¡£](https://cn.vuejs.org/v2/guide/instance.html)
2.  [DataV å®˜æ–¹æ–‡æ¡£](http://datav.jiaminghi.com/guide/)
3.  [echarts å®žä¾‹](https://echarts.apache.org/examples/zh/index.html),[echarts API æ–‡æ¡£](https://echarts.apache.org/zh/api.html#echarts)
4.  [项目 gitee åœ°å€ï¼ˆå›½å†…速度快)](https://gitee.com/MTrun/big-screen-vue-datav)
项目展示
![项目展示](https://images.gitee.com/uploads/images/2020/1208/183608_b893a510_4964818.gif "20201208_221020.gif")
## äºŒã€ä¸»è¦æ–‡ä»¶ä»‹ç»
| æ–‡ä»¶                | ä½œç”¨/功能                                                              |
| ------------------- | --------------------------------------------------------------------- |
| main.js             | ä¸»ç›®å½•文件,引入 Echart/DataV ç­‰æ–‡ä»¶                                    |
| utils               | å·¥å…·å‡½æ•°ä¸Ž mixins å‡½æ•°ç­‰                                                |
| views/ index.vue    | é¡¹ç›®ä¸»ç»“æž„                                                             |
| views/其余文件       | ç•Œé¢å„个区域组件(按照位置来命名)                                       |
| assets              | é™æ€èµ„源目录,放置 logo ä¸ŽèƒŒæ™¯å›¾ç‰‡                                       |
| assets / style.scss | é€šç”¨ CSS æ–‡ä»¶ï¼Œå…¨å±€é¡¹ç›®å¿«æ·æ ·å¼è°ƒèŠ‚                                      |
| assets / index.scss | Index ç•Œé¢çš„ CSS æ–‡ä»¶                                                  |
| components/echart   | æ‰€æœ‰ echart å›¾è¡¨ï¼ˆæŒ‰ç…§ä½ç½®æ¥å‘½åï¼‰                                      |
| common/...          | å…¨å±€å°è£…çš„ ECharts å’Œ flexible æ’件代码(适配屏幕尺寸,可定制化修改)     |
## ä¸‰ã€ä½¿ç”¨ä»‹ç»
### å¯åŠ¨é¡¹ç›®
需要提前安装好 `nodejs` ä¸Ž `yarn`,下载项目后在项目主目录下运行 `yarn` æ‹‰å–依赖包。安装完依赖包之后然后使用 `vue-cli` æˆ–者直接使用命令`npm run serve`,就可以启动项目,启动项目后需要手动全屏(按 F11)。如果编译项目的时候提示没有 DataV æ¡†æž¶çš„依赖,输入 `npm install @jiaminghi/data-view` æˆ–者 `yarn add @jiaminghi/data-view` è¿›è¡Œæ‰‹åŠ¨å®‰è£…ã€‚
### å°è£…组件渲染图表
所有的 ECharts å›¾è¡¨éƒ½æ˜¯åŸºäºŽ `common/echart/index.vue` å°è£…组件创建的,已经对数据和屏幕改动进行了监听,能够动态渲染图表数据和大小。在监听窗口小大的模块,使用了防抖函数来控制更新频率,节约浏览器性能。
项目配置了默认的 ECharts å›¾è¡¨æ ·å¼ï¼Œæ–‡ä»¶åœ°å€ï¼š`common/echart/theme.json`。
封装的渲染图表组件支持传入以下参数,可根据业务需求自行添加/删除。
参数名称              | ç±»åž‹      | ä½œç”¨/功能                      |
| -------------------| --------- | ------------------------------|
| id                 | String    | å”¯ä¸€ id,渲染图表的节点(非必填,使用了 $el)|
| className          | String    | class样式名称(非必填)                 |
| options            | Object    | ECharts é…ç½®ï¼ˆå¿…填)                   |
| height             | String    | å›¾è¡¨é«˜åº¦ï¼ˆå»ºè®®å¡«ï¼‰                    |
| width              | String    | å›¾è¡¨å®½åº¦ï¼ˆå»ºè®®å¡«ï¼‰                    |
### åŠ¨æ€æ¸²æŸ“å›¾è¡¨
动态渲染图表案例为 `components` ç›®å½•下各个图表组件,index æ–‡ä»¶è´Ÿè´£æ•°æ®èŽ·å–å’Œå¤„ç†ï¼Œchart æ–‡ä»¶è´Ÿè´£ç›‘听和数据渲染。
chart æ–‡ä»¶çš„主要逻辑为:
```html
<template>
  <div>
    <Echart :options="options" id="id" height="height" width="width" ></Echart>
  </div>
</template>
<script>
  // å¼•入封装组件
import Echart from '@/common/echart'
export default {
  // å®šä¹‰é…ç½®æ•°æ®
  data(){ return { options: {}}},
  // å£°æ˜Žç»„ä»¶
  components: { Echart},
  // æŽ¥æ”¶æ•°æ®
  props: {
    cdata: {
      type: Object,
      default: () => ({})
    },
  },
  // è¿›è¡Œç›‘听,也可以使用 computed è®¡ç®—属性实现此功能
  watch: {
    cdata: {
      handler (newData) {
        this.options ={
          // è¿™é‡Œç¼–写 ECharts é…ç½®
        }
      },
      // ç«‹å³ç›‘听
      immediate: true,
      // æ·±åº¦ç›‘听
      deep: true
    }
  }
};
</script>
```
### å¤ç”¨å›¾è¡¨ç»„ä»¶
复用图表组件案例为中间部分的 `任务通过率与任务达标率` æ¨¡å—,两个图表类似,区别在于颜色和主要渲染数据。只需要传入对应的唯一 id å’Œæ ·å¼ï¼Œç„¶åŽåœ¨å¤ç”¨çš„组件 `components/echart/center/centerChartRate` é‡Œè¿›è¡ŒæŽ¥æ”¶å¹¶åœ¨å¯¹åº”位置赋值即可。
如:在调用处 `views/center.vue` é‡ŒåŽ»å®šä¹‰å¥½æ•°æ®å¹¶ä¼ å…¥ç»„ä»¶
```js
//组件调用
<span>今日任务通过率</span>
<centerChart :id="rate[0].id" :tips="rate[0].tips" :colorObj="rate[0].colorData" />
<span>今日任务达标率</span>
<centerChart :id="rate[1].id" :tips="rate[1].tips" :colorObj="rate[1].colorData" />
...
import centerChart from "@/components/echart/center/centerChartRate";
data() {
  return {
    rate: [
      {
        id: "centerRate1",
        tips: 60,
        ...
      },
      {
        id: "centerRate2",
        tips: 40,
        colorData: {
          ...
        }
      }
    ]
  }
}
```
### æ›´æ¢è¾¹æ¡†
边框是使用了 DataV è‡ªå¸¦çš„组件,只需要去 views ç›®å½•下去寻找对应的位置去查找并替换就可以,具体的种类请去 DavaV å®˜ç½‘查看
如:
```html
<dv-border-box-1></dv-border-box-1>
<dv-border-box-2></dv-border-box-2>
<dv-border-box-3></dv-border-box-3>
```
### æ›´æ¢å›¾è¡¨
直接进入 `components/echart` ä¸‹çš„æ–‡ä»¶ä¿®æ”¹æˆä½ è¦çš„ echarts æ¨¡æ ·ï¼Œå¯ä»¥åŽ»[echarts å®˜æ–¹ç¤¾åŒº](https://gallery.echartsjs.com/explore.html#sort=rank~timeframe=all~author=all)里面查看案例。
### Mixins è§£å†³è‡ªé€‚应适配功能
使用 mixins æ³¨å…¥è§£å†³äº†ç•Œé¢å¤§å°å˜åŠ¨å›¾è¡¨è‡ªé€‚åº”é€‚é…çš„åŠŸèƒ½ï¼Œå‡½æ•°åœ¨ `utils/resizeMixins.js` ä¸­ï¼Œåº”用在 `common/echart/index.vue` çš„封装渲染组件,主要是对 `this.chart` è¿›è¡Œäº†åŠŸèƒ½æ³¨å…¥ã€‚
### å±å¹•适配
1.5 ç‰ˆæœ¬é¡¹ç›®æ”¾å¼ƒäº† flexible æ’件方案,将 rem æ”¹å›žpx,使用更流程通用的 `css3:scale` ç¼©æ”¾æ–¹æ¡ˆï¼Œé€šè¿‡ `ref` æŒ‡å‘ `views/index`,屏幕改变时缩放内容。项目的基准尺寸是 `1920px*1080px`,所以支持同比例屏幕 100% å¡«å……,如果非同比例则会自动计算比例居中填充,不足的部分则留白。实现代码在 `src/utils/userDraw` ï¼Œå¦‚果有其它的适配方案,欢迎交流。
### è¯·æ±‚数据
现在的项目未使用前后端数据请求,建议使用 axios è¿›è¡Œæ•°æ®è¯·æ±‚,在 main.js ä½ç½®è¿›è¡Œå…¨å±€é…ç½®ã€‚
- axios çš„ main.js é…ç½®å‚考范例(因人而异)
```js
import axios from 'axios';
//把方法放到vue的原型上,这样就可以全局使用了
Vue.prototype.$http = axios.create({
  //设置20秒超时时间
  timeout: 20000,
  baseURL: 'http://172.0.0.1:80080', //这里写后端地址
});
```
## å››ã€æ›´æ–°æƒ…况
1. å¢žåŠ äº† Echart ç»„件复用的功能,如:中间任务达标率的两个百分比图使用的是同一个组件。
2. ä¿®å¤äº†å¤´éƒ¨å³ä¾§çš„图案条不对称的问题。
3. ä½¿ç”¨ Mixins æ³¨å…¥å›¾è¡¨å“åº”式代码(scale方案之后无需使用)。
4. vue-awesome æ”¹æˆæŒ‰éœ€å¼•入的方式。
5. å°è£…渲染函数,抽离了数据使逻辑更加清晰。
6. æ–°å¢žåœ°å›¾ç»„件,并添加自动轮播功能
7. å°†é€‚配方案从 rem æ”¹æˆ scale
## äº”、其余
这个项目是个人的作品,难免会有问题和 BUG,如果有问题请进行评论,我也会尽力去更新,自己也在前端学习的路上,欢迎交流,非常感谢!
ÏîÄ¿´úÂë/BigScreen/babel.config.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ]
}
ÏîÄ¿´úÂë/BigScreen/jsconfig.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/package-lock.json
ÎļþÌ«´ó
ÏîÄ¿´úÂë/BigScreen/package.json
@@ -1,45 +1,65 @@
{
  "name": "web",
  "version": "0.1.0",
  "name": "big-screen-vue-datav",
  "version": "1.5.1",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve --mode dev",
    "start": "vue-cli-service serve --mode dev ",
    "build": "vue-cli-service build --mode production",
    "report": "vue-cli-service build --report",
    "build:test": "vue-cli-service build --mode test"
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "@jiaminghi/data-view": "^2.10.0",
    "async-validator": "^4.2.5",
    "axios": "^0.24.0",
    "echarts": "^5.4.0",
    "ejs": "^3.1.8",
    "element-ui": "^2.15.10",
    "follow-redirects": "^1.15.2",
    "glob-parent": "^6.0.2",
    "node-forge": "^1.3.1",
    "sass": "^1.55.0",
    "uglify-js": "^3.17.4",
    "vue": "^2.7.13",
    "vue-easytable": "^2.21.5",
    "vue-router": "^3.6.5",
    "vue-seamless-scroll": "^1.1.23",
    "vuex": "^3.4.0"
    "@types/echarts": "^4.4.3",
    "@vue/cli-plugin-babel": "^5.0.4",
    "@vue/cli-plugin-eslint": "^5.0.4",
    "@vue/composition-api": "^1.4.9",
    "@vue/shared": "^3.2.33",
    "axios": "^0.26.1",
    "babel-loader": "^8.2.5",
    "cache-loader": "^4.1.0",
    "core-js": "^3.6.4",
    "echarts": "^4.6.0",
    "element-plus": "^2.1.10",
    "element-ui": "^2.15.8",
    "vue": "^2.6.11",
    "vue-awesome": "^4.0.2",
    "vue-axios": "^3.4.1",
    "vue-loader": "^17.0.0",
    "vue-resource": "^1.5.3",
    "vue-router": "^3.1.5",
    "vuex": "^3.1.2",
    "yarn": "^1.22.18"
  },
  "devDependencies": {
    "@vue/cli-plugin-router": "^4.5.19",
    "@vue/cli-plugin-vuex": "^4.5.19",
    "@vue/cli-service": "^4.5.19",
    "babel-plugin-component": "^1.1.1",
    "mockjs": "^1.1.0",
    "@vue/cli-plugin-babel": "^4.2.0",
    "@vue/cli-plugin-eslint": "^4.2.0",
    "@vue/cli-service": "^4.2.0",
    "babel-eslint": "^10.0.3",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^6.1.2",
    "sass": "^1.25.0",
    "sass-loader": "^8.0.2",
    "vue-template-compiler": "^2.7.13",
    "webpack-dev-server": "^4.15.1"
    "vue-template-compiler": "^2.6.11"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {
      "vue/no-unused-components": "off",
      "no-unused-vars": "off"
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
    "last 2 versions"
  ]
}
ÏîÄ¿´úÂë/BigScreen/public/favicon.ico

ÏîÄ¿´úÂë/BigScreen/public/image.png
ÏîÄ¿´úÂë/BigScreen/public/index.html
@@ -1,38 +1,18 @@
<!DOCTYPE html>
<html lang="">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  <link href="./style.css" rel="stylesheet">
  <title>
    å¤§å±
  </title>
</head>
<body>
  <noscript>
    <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
        Please enable it to continue.</strong>
  </noscript>
  <div id="app">
    <div class="container_nomount">
      <div class="loading">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
      </div>
      <h2>Loading...</h2>
    </div>
  </div>
  <!-- built files will be auto injected -->
</body>
</html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- <meta name="viewport" content="width=device-width,initial-scale=1.0"> -->
    <meta name="viewport" content="width=device-width,user-scalable=yes, initial-scale=0.4, maxmum-scale=1.0, minimum-scale=0.4">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/110000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/120000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/130000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/140000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/150000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/210000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/220000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/230000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/310000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/320000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/330000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/340000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/350000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/360000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/370000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/410000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/420000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/430000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/440000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/450000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/460000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/500000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/510000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/520000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/530000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/540000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/610000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/620000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/630000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/640000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/650000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/710000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/810000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/820000.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/china.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/map-geojson/chinaNanhai.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/public/style.css
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/App.vue
@@ -1,13 +1,6 @@
<!--
 * @Author: daidai
 * @Date: 2022-01-12 14:06:47
 * @LastEditors: daidai
 * @LastEditTime: 2022-03-01 17:55:49
 * @FilePath: \web-pc\src\pages\big-screen\App.vue
-->
<template>
  <div id="app">
    <router-view/>
    <router-view />
  </div>
</template>
@@ -15,7 +8,7 @@
#app {
  width: 100vw;
  height: 100vh;
  background-color: #03050C;
  // overflow: hidden;
  background-color: #020308;
  overflow: hidden;
}
</style>
</style>
ÏîÄ¿´úÂë/BigScreen/src/api/ajax.js
@@ -1,10 +1,8 @@
// è¿™ä¸ªæ—¶axios的配置
import axios from 'axios';
// import { config } from 'vue/types/umd';
axios.defaults.withCredentials=true;
axios.defaults.crossDomain=true;
axios.defaults.baseURL = 'http://10.30.4.92:7081';//'http://192.168.2.51:8099'; //'http://localhost:8099'; //'http://192.168.2.51:8099';//
axios.defaults.headers.post["Content-Type"]="application/json;charset=utf-8";
axios.defaults.baseURL = 'http://192.168.2.155:8099'; //'http://192.168.2.155:8099';
// é”™è¯¯ä¿¡æ¯å¤„理
const  errorHandle = (status, other) => {
  switch (status) {
@@ -32,7 +30,6 @@
  // console.log(config);
  if(localStorage.elementToken){
    config.headers.Authorization=localStorage.elementToken;
    config.headers.con;
  }
  // console.log(config);
  return config;
@@ -47,7 +44,7 @@
  // console.log();
  // console.log(response.data.token);
  // response.headers['Authorization'] = response.data.token;
  return response.status=== 200 ? response.data: response.data;
  return response.status=== 200 ? Promise.resolve(response): Promise.reject(response);
}, function (error) {
  // å¯¹å“åº”错误做点什么
  const {response}=error;
@@ -55,7 +52,7 @@
    errorHandle(response.status,response.data.message)
    return Promise.reject(response.data);
  }else{
    console.log('断了');
  }
});
export default axios;
ÏîÄ¿´úÂë/BigScreen/src/api/api.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/api/http.js
@@ -1,33 +1 @@
import axios from './ajax';
//成品执行任务统计
export function  Floorfault (data) {
    return axios.post('/api/Large/ProMonthTaskStatistics', data)//返回的时promies对象,所以直接return出去就好了
}
//成品货位统计
export function  ProLocationStatistics (data) {
    return axios.post('/api/Large/ProLocationStatistics?id=7', data)//返回的时promies对象,所以直接return出去就好了
}
//成品入库产量统计
export function  Productions (data) {
    return axios.post('/api/Large/Productions', data)//返回的时promies对象,所以直接return出去就好了
}
//成品出库产量统计
export function  ProductionsOut (data) {
    return axios.post('/api/Large/ProductionsOut', data)//返回的时promies对象,所以直接return出去就好了
}
//成品排行
export function  ProductionRanking (data) {
    return axios.post('/api/Large/ProductionRanking', data)//返回的时promies对象,所以直接return出去就好了
}
//成品库存
export function  ProductionStock (data) {
    return axios.post('/api/Large/ProductionStock', data)//返回的时promies对象,所以直接return出去就好了
}
//成品产品库存总数统计
export function  GetCPLargeStockCount (data) {
    return axios.post('/api/Large/GetCPLargeStockCount', data)//返回的时promies对象,所以直接return出去就好了
}
//成品近七天任务统计
export function  GetProWeekTasks (data) {
    return axios.post('/api/Large/GetProWeekTasks', data)//返回的时promies对象,所以直接return出去就好了
}
import axios from './ajax';
ÏîÄ¿´úÂë/BigScreen/src/api/index.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/api/modules/index.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/assets/FZ.png
ÏîÄ¿´úÂë/BigScreen/src/assets/JX.png
ÏîÄ¿´úÂë/BigScreen/src/assets/LB.png
ÏîÄ¿´úÂë/BigScreen/src/assets/SC.jpg
ÏîÄ¿´úÂë/BigScreen/src/assets/benterblue.png
ÏîÄ¿´úÂë/BigScreen/src/assets/bg5.jpg
ÏîÄ¿´úÂë/BigScreen/src/assets/blue.png
ÏîÄ¿´úÂë/BigScreen/src/assets/cnmc_logo.png
ÏîÄ¿´úÂë/BigScreen/src/assets/css/index.scss
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/assets/css/modules/reset.scss
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/assets/css/public.scss
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/assets/css/theme/fonts/element-icons.ttf
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/css/theme/fonts/element-icons.woff
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/css/theme/index.css
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/assets/css/variable.scss
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/assets/css/webfont/index.css
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/assets/head_bg1.png
ÏîÄ¿´úÂë/BigScreen/src/assets/iconfont/iconfont.css
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/assets/iconfont/iconfont.ttf
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/iconfont/iconfont.woff
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/iconfont/iconfont.woff2
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/3DScreen.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/center_map.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/frame.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/guang.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/headers/juxing1.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/headers/juxing2.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/left_top_hong.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/left_top_huang.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/left_top_lan.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/left_top_lv.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/titles/you.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/titles/zuo.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/top.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/xieyou.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/xiezuo.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/img/zuo_xuxian.png
Binary files differ
ÏîÄ¿´úÂë/BigScreen/src/assets/logo.png
ÏîÄ¿´úÂë/BigScreen/src/assets/pageBg.png

ÏîÄ¿´úÂë/BigScreen/src/assets/red0.png
ÏîÄ¿´úÂë/BigScreen/src/assets/red1.png
ÏîÄ¿´úÂë/BigScreen/src/assets/scss/_variables.scss
ÎļþÃû´Ó ÏîÄ¿´úÂë/BigScreen/src/assets/css/modules/variables.scss ÐÞ¸Ä
@@ -43,7 +43,7 @@
}
//flex
.flex {
.d-flex {
  display: flex;
}
.flex-column {
ÏîÄ¿´úÂë/BigScreen/src/assets/scss/index.scss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
#index {
  color: #000000;
  width: 1920px;
  height: 1080px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: left top;
  overflow: hidden;
  .bg {
    width: 100%;
    height: 100%;
    padding: 25px 16px 0 16px;
    // background-image: url("../assets/bg5.jpg");
    // url("../assets/bg5.jpg");
    background-size: cover;
    background-position: center center;
  }
  .host-body {
    .dv-dec-10,
    .dv-dec-10-s {
      width: 133.3%;
      height: 5px;
    }
    .dv-dec-10-s {
      transform: rotateY(180deg);
    }
    .dv-dec-8 {
      width: 200px;
      height: 50px;
    }
    .title {
      position: relative;
      width: 500px;
      text-align: center;
      background-size: cover;
      background-repeat: no-repeat;
      .title-text {
        font-size: 25px;
        position: absolute;
        left: 30%;
        transform: translate(-50%);
      }
      .dv-dec-6 {
        position: absolute;
        bottom: -30px;
        left: 30%;
        width: 250px;
        height: 8px;
        transform: translate(-50%);
      }
    }
    // ç¬¬äºŒè¡Œ
    .aside-width {
      width: 40%;
    }
    .react-r-s,
    .react-l-s {
      background-color: #000000;
    }
    // å¹³è¡Œå››è¾¹å½¢
    .react-right {
      &.react-l-s {
        text-align: right;
        width: 500px;
      }
      font-size: 18px;
      width: 300px;
      line-height: 30px;
      text-align: center;
      transform: skewX(-45deg);
      .react-after {
        position: absolute;
        right: -25px;
        top: 0;
        height: 50px;
        width: 50px;
        background-color: #0f1325;
        transform: skewX(45deg);
      }
      .text {
        padding-left: 80px;
        display: inline-block;
        transform: skewX(45deg);
      }
    }
    .react-left {
      &.react-l-s {
        width: 500px;
        text-align: left;
      }
      font-size: 18px;
      width: 300px;
      height: 50px;
      line-height: 50px;
      text-align: center;
      transform: skewX(45deg);
      background-color: #0f1325;
      .react-before {
        position: absolute;
        left: -25px;
        top: 0;
        height: 50px;
        width: 50px;
        background-color: #0f1325;
        transform: skewX(-45deg);
      }
      .text {
        display: inline-block;
        transform: skewX(-45deg);
      }
    }
    .body-box {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 20px;
      padding: 0 20px;
      //下方区域的布局
      .content-box {
        width: 100%;
      }
    }
  }
}
ÏîÄ¿´úÂë/BigScreen/src/assets/scss/style.scss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,185 @@
@import "./variables";
//  å…¨å±€æ ·å¼
* {
  margin: 0;
  padding: 0;
  list-style-type: none;
  outline: none;
  box-sizing: border-box;
}
html {
  margin: 0;
  padding: 0;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.2em;
  background-color: #f1f1f1;
  margin: 0;
  padding: 0;
}
a {
  color: #343440;
  text-decoration: none;
}
.clearfix {
  &::after {
    content: "";
    display: table;
    height: 0;
    line-height: 0;
    visibility: hidden;
    clear: both;
  }
}
//浮动
.float-r {
  float: right;
}
//浮动
.float-l {
  float: left;
}
// å­—体加粗
.fw-b {
  font-weight: bold;
}
//文章一行显示,多余省略号显示
.title-item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bg-color-black {
  background-color: rgba(19, 25, 47, 0.6);
}
.bg-color-blue {
  background-color: #1a5cd7;
}
.colorBlack {
  color: #272727 !important;
  &:hover {
    color: #272727 !important;
  }
}
.colorGrass {
  color: #33cea0;
  &:hover {
    color: #33cea0 !important;
  }
}
.colorRed {
  color: #ff5722;
  &:hover {
    color: #ff5722 !important;
  }
}
.colorText {
  color: #d3d6dd !important;
  &:hover {
    color: #d3d6dd !important;
  }
}
.colorBlue {
  color: #257dff !important;
  &:hover {
    color: #257dff !important;
  }
}
//颜色
@each $colorkey, $color in $colors {
  .text-#{$colorkey} {
    color: $color;
  }
  .bg-#{$colorkey} {
    background-color: $color;
  }
}
//对齐
@each $var in (left, center, right) {
  .text-#{$var} {
    text-align: $var !important;
  }
}
//flex
@each $key, $value in $flex-jc {
  .jc-#{$key} {
    justify-content: $value;
  }
}
@each $key, $value in $flex-ai {
  .ai-#{$key} {
    align-items: $value;
  }
}
//字体
@each $fontkey, $fontvalue in $font-sizes {
  .fs-#{$fontkey} {
    font-size: $fontvalue * $base-font-size;
  }
}
//.mt-1 => margin top
//spacing
@each $typekey, $type in $spacing-types {
  //.m-1
  @each $sizekey, $size in $spacing-sizes {
    .#{$typekey}-#{$sizekey} {
      #{$type}: $size * $spacing-base-size;
    }
  }
  //.mx-1
  @each $sizekey, $size in $spacing-sizes {
    .#{$typekey}x-#{$sizekey} {
      #{$type}-left: $size * $spacing-base-size;
      #{$type}-right: $size * $spacing-base-size;
    }
    .#{$typekey}y-#{$sizekey} {
      #{$type}-top: $size * $spacing-base-size;
      #{$type}-bottom: $size * $spacing-base-size;
    }
  }
  //.mt-1
  @each $directionkey, $direction in $spacing-directions {
    @each $sizekey, $size in $spacing-sizes {
      .#{$typekey}#{$directionkey}-#{$sizekey} {
        #{$type}-#{$direction}: $size * $spacing-base-size;
      }
    }
  }
  .#{$typekey} {
    #{$type}: 0;
  }
}
ÏîÄ¿´úÂë/BigScreen/src/assets/yellow.png
ÏîÄ¿´úÂë/BigScreen/src/common/echart/index.vue
ÎļþÃû´Ó ÏîÄ¿´úÂë/BigScreen/src/components/echart/index.vue ÐÞ¸Ä
@@ -1,16 +1,11 @@
<!--
 * @Author: daidai
 * @Date: 2022-02-28 16:29:08
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-09-27 15:05:45
 * @FilePath: \web-pc\src\pages\big-screen\components\echart\index.vue
-->
<template>
  <div :id="id" :class="className" :style="{ height: height, width: width }" />
</template>
<script>
import * as echarts from 'echarts';
import tdTheme from './theme.json' // å¼•入默认主题
import '../map/fujian.js'
export default {
  name: 'echart',
  props: {
@@ -28,7 +23,7 @@
    },
    height: {
      type: String,
      default: '100%'
      default: '2.5rem'
    },
    options: {
      type: Object,
@@ -50,6 +45,7 @@
    }
  },
  mounted () {
    this.$echarts.registerTheme('tdTheme', tdTheme); // è¦†ç›–默认主题
    this.initChart();
  },
  beforeDestroy () {
@@ -59,7 +55,7 @@
  methods: {
    initChart () {
      // åˆå§‹åŒ–echart
      this.chart = echarts.init(this.$el)
      this.chart = this.$echarts.init(this.$el, 'tdTheme')
      this.chart.setOption(this.options, true)
    }
  }
ÏîÄ¿´úÂë/BigScreen/src/common/echart/theme.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,490 @@
{
  "color": [
    "#2d8cf0",
    "#19be6b",
    "#ff9900",
    "#E46CBB",
    "#9A66E4",
    "#ed3f14"
  ],
  "backgroundColor": "rgba(0,0,0,0)",
  "textStyle": {},
  "title": {
    "textStyle": {
      "color": "#516b91"
    },
    "subtextStyle": {
      "color": "#93b7e3"
    }
  },
  "line": {
    "itemStyle": {
      "normal": {
        "borderWidth": "2"
      }
    },
    "lineStyle": {
      "normal": {
        "width": "2"
      }
    },
    "symbolSize": "6",
    "symbol": "emptyCircle",
    "smooth": true
  },
  "radar": {
    "itemStyle": {
      "normal": {
        "borderWidth": "2"
      }
    },
    "lineStyle": {
      "normal": {
        "width": "2"
      }
    },
    "symbolSize": "6",
    "symbol": "emptyCircle",
    "smooth": true
  },
  "bar": {
    "itemStyle": {
      "normal": {
        "barBorderWidth": 0,
        "barBorderColor": "#ccc"
      },
      "emphasis": {
        "barBorderWidth": 0,
        "barBorderColor": "#ccc"
      }
    }
  },
  "pie": {
    "itemStyle": {
      "normal": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      },
      "emphasis": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      }
    }
  },
  "scatter": {
    "itemStyle": {
      "normal": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      },
      "emphasis": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      }
    }
  },
  "boxplot": {
    "itemStyle": {
      "normal": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      },
      "emphasis": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      }
    }
  },
  "parallel": {
    "itemStyle": {
      "normal": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      },
      "emphasis": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      }
    }
  },
  "sankey": {
    "itemStyle": {
      "normal": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      },
      "emphasis": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      }
    }
  },
  "funnel": {
    "itemStyle": {
      "normal": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      },
      "emphasis": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      }
    }
  },
  "gauge": {
    "itemStyle": {
      "normal": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      },
      "emphasis": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      }
    }
  },
  "candlestick": {
    "itemStyle": {
      "normal": {
        "color": "#edafda",
        "color0": "transparent",
        "borderColor": "#d680bc",
        "borderColor0": "#8fd3e8",
        "borderWidth": "2"
      }
    }
  },
  "graph": {
    "itemStyle": {
      "normal": {
        "borderWidth": 0,
        "borderColor": "#ccc"
      }
    },
    "lineStyle": {
      "normal": {
        "width": 1,
        "color": "#aaa"
      }
    },
    "symbolSize": "6",
    "symbol": "emptyCircle",
    "smooth": true,
    "color": [
      "#2d8cf0",
      "#19be6b",
      "#f5ae4a",
      "#9189d5",
      "#56cae2",
      "#cbb0e3"
    ],
    "label": {
      "normal": {
        "textStyle": {
          "color": "#eee"
        }
      }
    }
  },
  "map": {
    "itemStyle": {
      "normal": {
        "areaColor": "#f3f3f3",
        "borderColor": "#516b91",
        "borderWidth": 0.5
      },
      "emphasis": {
        "areaColor": "rgba(165,231,240,1)",
        "borderColor": "#516b91",
        "borderWidth": 1
      }
    },
    "label": {
      "normal": {
        "textStyle": {
          "color": "#000"
        }
      },
      "emphasis": {
        "textStyle": {
          "color": "rgb(81,107,145)"
        }
      }
    }
  },
  "geo": {
    "itemStyle": {
      "normal": {
        "areaColor": "#f3f3f3",
        "borderColor": "#516b91",
        "borderWidth": 0.5
      },
      "emphasis": {
        "areaColor": "rgba(165,231,240,1)",
        "borderColor": "#516b91",
        "borderWidth": 1
      }
    },
    "label": {
      "normal": {
        "textStyle": {
          "color": "#000"
        }
      },
      "emphasis": {
        "textStyle": {
          "color": "rgb(81,107,145)"
        }
      }
    }
  },
  "categoryAxis": {
    "axisLine": {
      "show": true,
      "lineStyle": {
        "color": "#cccccc"
      }
    },
    "axisTick": {
      "show": false,
      "lineStyle": {
        "color": "#333"
      }
    },
    "axisLabel": {
      "show": true,
      "textStyle": {
        "color": "#fff"
      }
    },
    "splitLine": {
      "show": false,
      "lineStyle": {
        "color": [
          "#eeeeee"
        ]
      }
    },
    "splitArea": {
      "show": false,
      "areaStyle": {
        "color": [
          "rgba(250,250,250,0.05)",
          "rgba(200,200,200,0.02)"
        ]
      }
    }
  },
  "valueAxis": {
    "axisLine": {
      "show": true,
      "lineStyle": {
        "color": "#cccccc"
      }
    },
    "axisTick": {
      "show": false,
      "lineStyle": {
        "color": "#333"
      }
    },
    "axisLabel": {
      "show": true,
      "textStyle": {
        "color": "#fff"
      }
    },
    "splitLine": {
      "show": false,
      "lineStyle": {
        "color": [
          "#eeeeee"
        ]
      }
    },
    "splitArea": {
      "show": false,
      "areaStyle": {
        "color": [
          "rgba(250,250,250,0.05)",
          "rgba(200,200,200,0.02)"
        ]
      }
    }
  },
  "logAxis": {
    "axisLine": {
      "show": true,
      "lineStyle": {
        "color": "#cccccc"
      }
    },
    "axisTick": {
      "show": false,
      "lineStyle": {
        "color": "#333"
      }
    },
    "axisLabel": {
      "show": true,
      "textStyle": {
        "color": "#999999"
      }
    },
    "splitLine": {
      "show": true,
      "lineStyle": {
        "color": [
          "#eeeeee"
        ]
      }
    },
    "splitArea": {
      "show": false,
      "areaStyle": {
        "color": [
          "rgba(250,250,250,0.05)",
          "rgba(200,200,200,0.02)"
        ]
      }
    }
  },
  "timeAxis": {
    "axisLine": {
      "show": true,
      "lineStyle": {
        "color": "#cccccc"
      }
    },
    "axisTick": {
      "show": false,
      "lineStyle": {
        "color": "#333"
      }
    },
    "axisLabel": {
      "show": true,
      "textStyle": {
        "color": "#999999"
      }
    },
    "splitLine": {
      "show": true,
      "lineStyle": {
        "color": [
          "#eeeeee"
        ]
      }
    },
    "splitArea": {
      "show": false,
      "areaStyle": {
        "color": [
          "rgba(250,250,250,0.05)",
          "rgba(200,200,200,0.02)"
        ]
      }
    }
  },
  "toolbox": {
    "iconStyle": {
      "normal": {
        "borderColor": "#999"
      },
      "emphasis": {
        "borderColor": "#666"
      }
    }
  },
  "legend": {
    "textStyle": {
      "color": "#fff"
    }
  },
  "tooltip": {
    "axisPointer": {
      "lineStyle": {
        "color": "#ccc",
        "width": 1
      },
      "crossStyle": {
        "color": "#ccc",
        "width": 1
      }
    }
  },
  "timeline": {
    "lineStyle": {
      "color": "#8fd3e8",
      "width": 1
    },
    "itemStyle": {
      "normal": {
        "color": "#8fd3e8",
        "borderWidth": 1
      },
      "emphasis": {
        "color": "#8fd3e8"
      }
    },
    "controlStyle": {
      "normal": {
        "color": "#8fd3e8",
        "borderColor": "#8fd3e8",
        "borderWidth": 0.5
      },
      "emphasis": {
        "color": "#8fd3e8",
        "borderColor": "#8fd3e8",
        "borderWidth": 0.5
      }
    },
    "checkpointStyle": {
      "color": "#8fd3e8",
      "borderColor": "rgba(138,124,168,0.37)"
    },
    "label": {
      "normal": {
        "textStyle": {
          "color": "#8fd3e8"
        }
      },
      "emphasis": {
        "textStyle": {
          "color": "#8fd3e8"
        }
      }
    }
  },
  "visualMap": {
    "color": [
      "#516b91",
      "#59c4e6",
      "#a5e7f0"
    ]
  },
  "dataZoom": {
    "backgroundColor": "rgba(0,0,0,0)",
    "dataBackgroundColor": "rgba(255,255,255,0.3)",
    "fillerColor": "rgba(167,183,204,0.4)",
    "handleColor": "#a7b7cc",
    "handleSize": "100%",
    "textStyle": {
      "color": "#333"
    }
  },
  "markPoint": {
    "label": {
      "normal": {
        "textStyle": {
          "color": "#eee"
        }
      },
      "emphasis": {
        "textStyle": {
          "color": "#eee"
        }
      }
    }
  }
}
ÏîÄ¿´úÂë/BigScreen/src/common/map/fujian.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/
(function (root, factory) {
  // eslint-disable-next-line
  if (typeof define === 'function' && define.amd) {
      // AMD. Register as an anonymous module.
      // eslint-disable-next-line
      define(['exports', 'echarts'], factory);
    } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
        // CommonJS
        factory(exports, require('echarts'));
    } else {
        // Browser globals
        factory({}, root.echarts);
    }
}(this, function (exports, echarts) {
    var log = function (msg) {
        if (typeof console !== 'undefined') {
            console && console.error && console.error(msg);
        }
    }
    if (!echarts) {
        log('ECharts is not Loaded');
        return;
    }
    if (!echarts.registerMap) {
        log('ECharts Map is not loaded')
        return;
    }
    echarts.registerMap('福建', {"type":"FeatureCollection","features":[{"id":"350100","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@K@KLDBLBBIHCAA"],["@@CBABCD@FJFCFBDHFFBB@FM@CCEBCCEMC"],["@@ACCBBDDA"],["@@@CC@@DD@"],["@@B@A@"],["@@MCKEO@ICCCAEAKBKAAIAC@AVFPCRBBFBNHNBVXJ@DADCHAB@@GBCL@B@BCCIEEBC@CHCACG@ABKPA@CC"],["@@@A@B"],["@@A@CDC@WH@FLXCB@DFDATBFH@HELA@CCACI@AFAD@BA@AH@DED@FDBHHHJDT@JC@AEOECGKC@EDOQIACBG@CC@CKC"],["@@B@BCE@BD"],["@@J@BA@AAAI@ABBD"],["@@B@@ACABD"],["@@B@@AA@@B"],["@@B@AC@@@D"],["@@BAA@@B"],["@@@A@B"],["@@BAA@ABB@"],["@@DA@CCB@D"],["@@MDFFAFBH@BCFCDBN@BHFDJJHFBDCDMCCE@AA@EHOD@HDDABC@ECCGDCEGAGACC@G@A"],["@@B@@AA@@B"],["@@B@@AA@@B"],["@@B@A@"],["@@B@A@"],["@@B@AC@B@B"],["@@BA@AAB@B"],["@@BA@CC@ABCCC@@BDDHB"],["@@BKCEEAEF@HBDHDDA"],["@@E@AFCBC@CCABACA@AACFB@@BADQAALDDAB@JBFADLADGAC@@PBHF@@DCAAAECEJCDDAFBDCDBLDBBA@AAADAAADA@ADBDACGDACADCAADEGKE@AA"],["@@ABBBAFEBQBEDQBABCJOLEHD^NF\\BLGFMH@FKD@LBPENB@A@CM@CAAE@CBA@CE@A@@ABA@EDAAKE@MEC@"],["@@@HCBEAEJAH@BDDL@DCFDNBB@@CFBDEEEGGG@A@BCEEEA"],["@@ABFLAB@DJDFNDDJ@BCDAFHBBFC@CGEBCKEA@BEIC@CCBADIIA@ACC@"],["@@FD@A@CAC@ACABFAD"],["@@C@@BDDD@@FBB@DAB@B@BB@BA@AF@@CFEIEIC"],["@@BDHBB@CGBGEADAACCCEACCC@@DE@@DHDBFHJ"],["@@@AA@BB"],["@@FFB@@CACC@AB"],["@@ABD@@BB@HACCABE@"],["@@BBJ@DBDAAEA@CAABC@ACCH"],["@@ABBBF@AACA"],["@@@DFJDBFFHDB@@ECCEGEACEE@"],["@@DHDBD@FADCCEFAFBB@HKBECCEDC@A@CF@@AGEECCCGABABABCAEBAABCAAA@GH@DDDAFF@BBADGBECABARA@CGCECBABBFAFJD@HBBD@JABCDC@EAI@AF@FBF@@F"],["@@CBD@BAA@"],["@@B@@AA@@B"],["@@DBBACAAB"],["@@DFDAACA@AEA@@F"],["@@DB@CC@ABB@"],["@@FNFAFFFACGA@ACC@EEE@@B"],["@@@DBBF@AECAAB"],["@@BDB@@CBAEEA@BH"],["@@BBD@@ACCDAE@@D@B"],["@@JB@@AAE@CA@BB@"],["@@BDDBBAAC@CC@ACA@BH"],["@@DD@CD@ACC@AD"],["@@FDH@GEEB"],["@@C@ADHBBF@@DAFBCEIE"],["@@BCAEBA@IECABBJEHID@FMFBBBBBFD@FFD@D@@HBBF@RADCBE@CGCEBAAGG@CBC"],["@@B@@BD@@CAAAA@BAD@@"],["@@BDAE@B"],["@@CFDDD@DAJ@D@BAACBACC@EAACBABKH"],["@@BB@AA@"],["@@DBBGAAA@CA@BDFAB"],["@@@BDFDBB@CGEA"],["@@@BB@@AA@"],["@@EDBDB@FA@EC@"],["@@CF@DADDFB@BA@CBBHBBABAD@ACAABEAAEAIB"],["@@@@@A@B"],["@@BBBA@ACB"],["@@DB@CA@AB"],["@@DDB@@ABACCABAB"],["@@ABBBD@@CD@@ACACD"],["@@BBDAAEE@BF"],["@@@BB@AA@@"],["@@JFB@CEG@"],["@@@DFBAEC@"],["@@@DD@ACA@"],["@@ABFB@CC@"],["@@B@B@AAAB"],["@@BDB@ACA@"],["@@B@@@A@"],["@@JHB@ACGCA@"],["@@DDHFBBDCFDD@JHDA@@KKCAACEBEGGCABBDCD"],["@@DFNJHBJOJEBACGIACCK@CACBCCC@CDADDP"],["@@ADBBHAAABCAAED"],["@@@BBA@AAB"],["@@HBBCAEGF@B"],["@@HHB@GIAB"],["@@P@@A@CECM@@DDF"],["@@IKGACD@FNLHJHB@EGM"],["@@A@CDG@CBC@EFIDBBAD@BDDFA@FDFD@BICKDAD@JNDBBJAB@BPH@BJJF@FDAHHDF@DAJDBDB@@GCA@CBCCMIKBCE@CA@GECE@IEE@@ABACGIEC@"],["@@BA@ACBBB"],["@@BCAAAAC@DHB@"],["@@DB@CBAE@@D"],["@@@@@@"],["@@FAB@BCAAE@CDBD"],["@@JNPJF@DABAAI@ADAVHZFFBHJJDF@DA@EEI@EFG@C@A@KAEECEAC@GBIJC@IGQA@BC@GEEBE@GCABADMJC@@BAHBD"],["@@DDBA@CCAAB@B"],["@@BAAB"],["@@DBBA@CC@AD"],["@@JFBCDA@AACIACD@D"],["@@@BDAC@"],["@@B@BAA@AB"],["@@BBDBAEAAA@@D"],["@@@DHBBMCG@AAAC@AFBN"],["@@BBBCA@AB"],["@@@BBB@CA@"],["@@@DD@AEC@BB"],["@@BBBAACC@BD"],["@@BBB@@C@AG@DD"],["@@@BB@@CAB"],["@@BBBCC@@B"],["@@BBB@ACAB"],["@@@B@A"],["@@B@@AAB"],["@@BDF@CECB"],["@@ABDBBCC@"],["@@ABDBDEA@CB"],["@@@BBBDAAAC@"],["@@D@AAAB"],["@@E@@FB@@ADA@A"],["@@@BF@DEC@ED"],["@@DDD@@ACAC@"],["@@B@B@AAAB"],["@@HHDAAACEE@@B"],["@@B@AA@B"],["@@BDB@BCCAAB"],["@@FBAAC@@@"],["@@B@AAA@BB"],["@@BBF@B@@EEACB@D"],["@@BDB@@EC@@B"],["@@CDBBDAAC"],["@@CD@F@BDAHA@CD@@E@AC@GD"],["@@FFB@@ACGA@AD"],["@@ADB@BCA@"],["@@@BF@AAC@"],["@@@DBCA@"],["@@@AAAADD@"],["@@DIF@ACCBCAC@@DCBALA@@DF@FG"],["@@BDD@CI@@AF"],["@@@@@@"],["@@@BB@@AA@"],["@@BHBBFA@AAABCCCBCAAA@ABC@@FBB"],["@@CB@BF@@AAA"],["@@ADBDB@FMC@CF"],["@@ADBBDEC@"],["@@@BBAA@"],["@@ADD@@CA@"],["@@AB@BBC@@"],["@@B@@AAB"],["@@@B@A"],["@@@BDAC@"],["@@@BBDFADB@CE@ACCA@D"],["@@J@BCCCG@@H"],["@@A@@DBC@@"],["@@@EAACFAAAFBBBCF@"],["@@EDADD@DABBD@@EEA"],["@@@BBFCBC@A@ERBBJ@FBF@EFE@@DDBN@HED@FBCFFBBDD@JC@CEEBCAANCBCB@@CKEEEOAGCADE@ME"],["@@@BBBF@@CAAEB"],["@@@BBBBECA@D"],["@@ABBBDCCA@B"],["@@GDDFHABAACCA"],["@@BDB@DA@CAAA@CD"],["@@DB@CAAAD"],["@@ABBBHACAC@"],["@@DHH@BA@EFBBA@ICCACCBE@@FEF@D"],["@@DFHDBAACCCCACB"],["@@@DFBD@@CAAGA@B"],["@@B@@AA@@B"],["@@@DF@ACDCAGA@@FCF"],["@@@DDBDCBAAAE@AB"],["@@@BDAC@"],["@@DBBAEAABB@"],["@@ABBBBAAA"],["@@DBB@AAC@"],["@@@BB@@CA@@B"],["@@B@AA@B"],["@@@@@@@@"],["@@ADDADDDB@GEEE@BF"],["@@ADFBFBDA@ACACECBAB"],["@@BFFGCAA@AD"],["@@AB@BDCA@"],["@@B@@CE@AD@@F@"],["@@CDM@@BDBAFFBBDBB@FFDRFLDAK@ICEHKACGACBABC@K@"],["@@DBDA@CEAAB@D"],["@@DDAEA@@B"],["@@CCA@DLB@DCBCE@"],["@@BBBCCAABBB"],["@@BBBAAAAB"],["@@@BDJDBDDDACEBCDAHCBAEACDQ@"],["@@@DDAAAA@"],["@@AB@BFCA@A@"],["@@@BB@AA"],["@@@AAB@@B@"],["@@DBCA"],["@@@BB@@CAB"],["@@ADD@@CA@"],["@@AB@DDCAA"],["@@AAABD@"],["@@f•f¯BGEOBGBCLKbqBEBOBCRORQBAIKAEBEVEZ@\\HjRXJ\\@FA@COeCEe_aUGEAOEEKAIAmDQEG@A@CRCDGFSDG@…]GGBILENADC@EAIEIYWIACBMLOPIFI@Ÿ_YCYAmGECGG@KDGRQBE@EAGUMAC@UAIEEoM]_YISKAM@MFILIFcFKBCNEPARM@ECEJYR@BWHMJyH]BEFAHBdNH@F@NERGLODMAiCUIaYOuCIGCSC{CMCICEEEGGWGeAeD{D‡HMBCH@DOAGCEQKEIEEMGCCEOCAAEEA@EJCBGFC@AQcQIUA‘JaA‰SAKMEKBGEAE@IHMDUAIBA`BNMFAJFF@^EFBHJJ@FCBGAQFM@GACQSACDKJ@REVBTCJDJDPNJBL@DAHMEQ@ATOFQHC@GAGHWBKCGKKAKDWFELKJM@E@EGG@GBADAJ@FDTVLDDABA@]BAlJHV@BEB@HHFBFVHFPDDTFREF@JDBD@DSHABDLCH@F@DH@@V@LKXELcPALIJAH@JJHH@BJLLBHXND@FAD@DBBPDHHFTJXFTLBH@@HAjZF@FAFG@KCEYa@C@GDOJMDAJA\\HLAD@HIFCH@PKPGFG@ECCECCIIK@ADCH@PMhKN@ZLH@DA@EE[GKYUKEGAI@CDGPGDIBiSGECCEUAWDODGBCXCDCDIDEBANDDBB@JCDIPHBDB@FEAKBIKS@KEEK@EBABCLCFAB[FGAECCEKCEBIAKIKCc[IAGACCEO@MHCN@FCLAFC@GMC@KEABCACE@EBCAAB@DA@GCE@SPCHAHGDCFSBIFKAKPKDW@C@@B@DVD@FAHEBAEM@CBEHGDCD@DNR@FG@CAC@IL@D{OAA@GCKCIYMG@CC@CHEPADAH@BBBHD@D@JILA@FAHBHF@F@FBFCDE@SDI@AEG@MEAIBGA@KAC@EJ[DC@MDA@AGEBEAAA@GHC@SMQCKE@CDAVBTHHHF@BA@CCMGIECEG_IWBABMBEAMIIAEBCHKN@HDBLBQXIV@LBFJLDRCFAPIDCH@LHJCDIFADDH@NCJGFMAEAEECEBEGUHIFADADE@IBAH@DBDEDKDI@AGEMECIAEACIEGBECAKEABG@CEEIAMEE@@JDF@D@HEBEBO@KAGIQEEQC@QHCD@JJP^XDD@HENQVGFGBCDBNJfCFGDE@GA]BCACIGOQSG[EACDBTCJON@DPJTT@HIFA@AHDVBFHHJ^AFGDMBI@OSAAEAiHEDATEFsVIFIDIAEIGUKsAODOJYJO@EBQAICCI@CECBCDGHO@IGG[IEIDM@OASBWTOJKVA`JZJRHFGDMEIBEF@TA@o]AIO@EAEJA@GACBADFJ@DELCD@DDBLANCD@LVBFENB@JCF@DDDBDDAHFP@FGNMT@PIJAPIGGCQOIGCCADAHIBIFICGBCBKRMDCRSTBBBBJBFGFCB@BHCPEB@EAAC@C@DN@DADEBIB@HBB@BBDGDALMFGFMR@HAH@JJTFPFJANFBHAJ@BBCFIBIJETBDNBDBBDCHADGAAHADEBI@@HIAAABAEC@BCB@A@AABBHHFPNJDJHLT@DABIDG@EBEBGHMGEHkDEAKGAACBCLA@CAEGGCKDCD@HEC@EgGMK_BSIACmAIGKDMAEEEIMCCCAGOGANDTDHBFCPEF@D@HDDF@DB@DADCBC@MG@GGGG@ICIOMMAKIACAQCGECBCGCCCEKGIIEAEEC@ABHL@FGBCCO@OGC@MDADEBG@QLEHADW@EBEGOI@AHABAMSUMWIICMBIDMNCBCA@CBEBGCGIGMAIMEEE@GBADL`@NCBUOI@EGCAKF@HA@CCIFAJSAMBED@BBBHFON]FO@EAI@ECACAOICEBIHIDAJABC@CA@EDMCAEDCA@CBOAGEAGAADELABGACA@MCGCAGPEBEAAC@CJIGEC@INUKIFOMCGDEEEGCYAEBCLKJGLGFC@IJKJALUPAJWFMJGJA@CBKEGBIFQRGV@LBBARCHIHCH@JG`EJSHGFKRMCEF@FVXDP@NDLD@LEHDLNF@HF@DEJIZABKFADBDJBCLDFN@BDCJV\\LNHC\\ULOFAFCBCI{BAJHP@FHBZCFAHAFC@AFBDJHHBPINALCP@JO@AACD@HB@BKPCJEBHHALBFNRDJAFG@AFDTHLAHDFKLBDDFDFEF@FEDJTBHCXGF@L@BH@ETBFJJBZIPAHAHBB\\CpBnHJ@XSRFONBHJHFNCBGCGBAFE^CBEFAN@LAFFHFLAFDD@FCBSGG@GFGNA`FL@LCFBD@LD@PGDBDDITDJDHBDCFBDABBB@BF@FDBB@DBB\\BTKFLIHKTEFPLFHDAhANINGLANJD@HCBDDLFHBDCDHB@F@NK`BHABHJVJDDCJH@D@@DD@BADCF@DBBD@DABKDBZDDNJFFHDHHR\\|AFABA@ENE\\EFB\\RHDDVDJBJEHQLE@EBCDGLIHDHEFGFQBEDAFDF@JJBELJPEDSH]PGFHNBFCRDJ@RBFHFD@HJRHBHAHIBBLCDEB@B@HDHVAFBD@DCHAT@FEFIEKBAJAPENEDG@]OK@CXSDEACC@@E@KFKJGJAL@XHbTJNBLPHDD@J@D\\HDDHDbJLAVBF@PSHEN@LHH\\ALEFOAEFAHDLPNDVFJLFRH`BFAJGF@DBBDFB@DEHBDFF@DOP@DDDFDD@LEHF@BCJBDJJ@DE@AD@HHBBDBNFBJED@@DANHD`CJ@DBNND@DADENIFEFE@EACIAKGEGAEDCRGL@PDB@DCDAJBBB@LDBD@@GDCAEFGACAAJADEBCFCAIFG@CDCHBFABB@DDBT@DAHGBBBHHBF@FCHBDAD@BFJJD@H@NFDDJNHDFJDBNEDENYHG@SDCNSFAD@ZHJJJZDFHAVIJGBCJCDDH†HRVXFBF@VA@GFABAAIE@CE@CB@HD@CFCBFFBB@DAHDFH@FJFJAFFAFED@B@DBBH@DC@LDAH@DCDAVDFFJP@NBFPBNAJCJADAH@JDAHYJABBBH@BB@DDBLANOFANBVDNFT@HADCF@FB@DFBTKLC@EXBDCJKAC@INQJCBILELQ@AKIPUDCN@^KBC@EECDCDAJDFANKRBHGF@HFF@NEFCDC@EFA@CB@NABAAE@ADAF@RFNHDAHBPEJ@FBBH@DDHF@FENF@DPpDDFBJ@NJVEH@FAXKJDTPDBGF@DDBLA\\DJATMJCDGTKBGJM"]],"encodeOffsets":[[[121678,27068]],[[122867,26893]],[[123104,26891]],[[123102,26881]],[[122918,26872]],[[122887,26845]],[[122899,26847]],[[122808,26762]],[[123295,26793]],[[122500,26759]],[[122597,26600]],[[122653,26290]],[[122432,26267]],[[122495,26224]],[[122330,26023]],[[122337,25968]],[[122386,25960]],[[122568,25912]],[[122491,25946]],[[122489,25944]],[[122479,25933]],[[122477,25932]],[[122575,25918]],[[122572,25914]],[[122600,25884]],[[122600,25866]],[[122778,26197]],[[122515,26757]],[[122816,26587]],[[122847,26569]],[[122779,27057]],[[122762,27045]],[[122794,27053]],[[122756,27019]],[[122755,26998]],[[122828,27009]],[[122848,27000]],[[122971,27014]],[[123107,26964]],[[123388,27005]],[[122776,26927]],[[122780,26924]],[[122774,26924]],[[122896,26865]],[[122900,26866]],[[122880,26870]],[[122857,26818]],[[122855,26792]],[[122703,26916]],[[122688,26897]],[[122685,26889]],[[122705,26880]],[[122597,26897]],[[122598,26867]],[[122549,26752]],[[122532,26772]],[[122538,26773]],[[122508,26742]],[[122877,26603]],[[122846,26566]],[[122564,26378]],[[122535,26397]],[[122528,26369]],[[122546,26375]],[[122686,26379]],[[122731,26321]],[[122734,26322]],[[122700,26282]],[[122700,26286]],[[122708,26284]],[[122643,26330]],[[122631,26281]],[[122600,26328]],[[122566,26286]],[[122561,26282]],[[122575,26281]],[[122577,26283]],[[122534,26303]],[[122539,26306]],[[122511,26289]],[[122521,26281]],[[122483,26327]],[[122477,26331]],[[122496,26319]],[[122487,26291]],[[122494,26291]],[[122458,26284]],[[122450,26243]],[[122414,26223]],[[122416,26230]],[[122478,26197]],[[122483,26194]],[[122473,26208]],[[122535,26263]],[[122567,26229]],[[122588,26246]],[[122671,26268]],[[122676,26263]],[[122686,26264]],[[122691,26237]],[[122726,26231]],[[122737,26209]],[[122786,26210]],[[122722,26189]],[[122715,26193]],[[122751,26184]],[[122716,26129]],[[122701,26140]],[[122691,26129]],[[122691,26122]],[[122699,26124]],[[122696,26122]],[[122542,26118]],[[122578,26154]],[[122582,26156]],[[122583,26146]],[[122580,26168]],[[122590,26165]],[[122580,26144]],[[122571,26142]],[[122568,26189]],[[122479,26187]],[[122495,26125]],[[122497,26125]],[[122499,26129]],[[122500,26143]],[[122545,26107]],[[122532,26091]],[[122519,26069]],[[122539,26058]],[[122556,26069]],[[122511,26041]],[[122587,26026]],[[122681,26067]],[[122677,26060]],[[122686,26053]],[[122695,26033]],[[122691,26034]],[[122693,26038]],[[122818,26043]],[[122753,26083]],[[122747,26086]],[[122725,26100]],[[122643,26003]],[[122650,26004]],[[122634,25999]],[[122631,26000]],[[122628,26000]],[[122620,26011]],[[122548,26022]],[[122539,26005]],[[122542,26007]],[[122602,25961]],[[122588,25985]],[[122578,25962]],[[122579,25943]],[[122579,25951]],[[122570,25955]],[[122565,25953]],[[122556,25945]],[[122648,25899]],[[122646,25905]],[[122632,25906]],[[122619,25901]],[[122600,25885]],[[122442,26033]],[[122436,26036]],[[122438,26056]],[[122438,25999]],[[122455,26007]],[[122420,25975]],[[122403,25968]],[[122376,25971]],[[122375,25972]],[[122375,25975]],[[122470,25938]],[[122346,25914]],[[122355,25916]],[[122358,25920]],[[122351,25932]],[[122342,25940]],[[122331,25960]],[[122336,25979]],[[122230,26022]],[[122230,26020]],[[122245,26043]],[[122256,26046]],[[122280,26060]],[[122299,26064]],[[122846,26708]],[[122684,26856]],[[122684,26858]],[[122686,26859]],[[122689,26858]],[[122586,25928]],[[122556,26196]],[[122676,27184]]]},"properties":{"cp":[119.206239,26.075302],"name":"福州市","childNum":197}},{"id":"350200","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@C@@DJ@@AEA"],["@@QDKHAHJPLBJIFCDCBE@GCCGA"],["@@BFF@@CCACA@B"],["@@JDFFJ@HCFDDABAAAC@AEMAC@GCGBCF"],["@@FDJC@AEBECAGA@AACB@BHDAF"],["@@FcAIO[•…MOMKQAcDUFaNIJKTMNAFCP@HHNFjTxBHJXJNHHXNfHJDNBFAFEJQFC^ClQNKFIDOB["],["@@iDoCEBSHKREDQBEDONKTCLHV@@CBABHHBHAJBBG`E@AFOHCHCBEAEBADCPEHKHCBO@GD@LBJBDGHAFDRFF@HEHEDMHMLMHADJFDJ@J@FALDBBBNCPDRADBTfJHNFLLJDDDDNDH@DAJLDDF@FCNK\\CNBLABMFCFIhARFLDTDHJDFBALHJDLBNAXALGNF@DBBF@FABAFDJAFFTIFCBSCG@EBWbMHQLBJBDFDH@H@DCJGFKBAXJTEHIHQHEDGDAHHF@ZLLDBBONAD@DLNL@RCDBBFCHOJSDGF@FDFHBZMHADDBPFBXGLBFADEAQDGLKHMFEHAFDHNH@DABE@SDMFAPTrXBAF@LTLHTLFBLEN@LB@FJDN@JADADEDAD@DDJCNBRUAAKAEM@EFGTKLCHGTGBIACEEBELODIDAFAH@FBDLHBF@DGFBDADCF@FBHHTDH@JERCFCHWFCHMLEHEHACGHEAEGIBCRMD@BFDDDBFCDE@KA@CBCBCACE@EFEESCCC@CDSAEE@EDCFUDANADCJMAG]iAEDCHGXM@EAGBC\\QA_OMHWCQEEIAEOCCEE@CDIDBFBJNB@BC@GCQLGLEBEBKBAJ@DW@]IUEGOGkG‰GsMkGl]ZgZOZIJKNICOGaOQMMUOGGIIOIKUO}AEQSGSEu"]],"encodeOffsets":[[[120993,25143]],[[120906,25022]],[[121027,25035]],[[121218,25145]],[[121249,25142]],[[121042,25093]],[[120883,25005]]]},"properties":{"cp":[118.11022,24.690474],"name":"厦门市","childNum":7}},{"id":"350300","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@ABG@DFAFHDDH@B@BF@@CHBBCAAHCAGDC@CE@GBMC"],["@@@FAAGDBNDFD@@EBA@CBCB@DBDAGGA@CC"],["@@F@@ACAAD"],["@@EBMLCF@FHBLEDEDG@CAAAA"],["@@B@A@@@"],["@@BBB@ACAB"],["@@BDD@CCA@"],["@@BBB@ACAB"],["@@DBFAFCCCE@ED@D"],["@@KDADDBDADDHCBA@CGA"],["@@T@BA@AECC@KFG@@DB@FA"],["@@@BDFBCDDDABCACMB"],["@@@BBBF@BAJAACB@@ACCKAGDABBDDB"],["@@FD@BD@@GI@A@BB"],["@@@FBBH@BA@IF@@EBCC@CDAACDAAC@AFBD"],["@@AEEBCCEAADDJA@A@@FB@FAF@@BBBFGAC"],["@@FBDAAAC@C@@B"],["@@CD@BFBBHH@B@AC@AJ@CCBA@ACCA@CDIA"],["@@HDBCGAAB@@"],["@@FHADDBDIAGEACF"],["@@@BEBAFDBJLBAAGH@@CEEAMGB@DBD"],["@@OJ@FJAZK@AAEC@MF"],["@@ADBFFDHABEAAEIA@E@BDAB"],["@@BHFBBBD@BEACGCDC@AA@GF@B"],["@@ADCBBBD@BC@AAA"],["@@BAACABBD"],["@@@BBDAFDBDBBDPI@C@CGEIAGF"],["@@RDDAACCACEE@ACAHIFBBFA"],["@@YDI@SFETDJFFBFOR@D@HDDD@JEHADDBHDHDDD@JADB@HBJFHFBJEDEBIAECA@CBAFCFBBBABBDDBJAHCDEAQBSDIJER@BGDEbKL@BDDHDFDABEBAHBDED@FBFHHDPAFABC@CECA@AAFGEEEAIAIBEFCACEDQ@AMDCC@CNSCGDC@AICGAW@QGA@ABBHADCDGFODAB@FCD@DDFABKDG@GDIDGAGHSJ"],["@@FJFFFBH@LCJHnBBDTJ`ANLhH@FFD@GDCLCHDFHDBB@DKDABBLHNBdCFGNHHGFAFAH@JCBAAGIOIGICOMGEAEBC@DDA@AFDABBBJB@GJ@FABCBGHBBCDGACCAMAACFSJIJADEAAI@GBEABMEIEOIS@IBG@GNQHENEBKHCAC@AAA@GJAFABC@CCMD@D@BB@FFADOAGA@EDEHIAAAAATSDQNCLQDAHAJDJEJADKDDJHRPHDJHBOJI@ONSHM@EEOBGAAECCCE@IDA@FMAEKUC@MDKBCC@ADCFK@CEIBCDAHBB@FIMIuSqYEGOUKkAaBELCJBNFD@HE@MDCpMPAFDDBXEHKBC@IFCBCAKBGPS@OJG@EDAFAFBBJCZBDD@F@HATIHATBJBFBPAFCXgnkHGVEN@HIVGH@PHF@BAEIAIAKBMACCCYIIEIA]BGACE@IEAQDMHGBKEC@EFI@EAAEFI@CAC@EFKBKDKJMNEDGCCGAEEIMCAC@ADEAYQGMOEEB@JED@DDFADqVIFEBWCWOSEQ@ODGFOHEDEJcZGJCHBLAHEDMCEGEIMECC@EGGAIAAEB@CJYLOR@NIN@DCDGAMGECBAABEFCHEF@B@JHN@FCDGCeBG@EK_@KAKIAIKKECAAI@KHMEEAEBCL@BC@GAAGAAGGCAGGICUICFKAE@@K@C@@HBJALGDEFKBCDBDHD@BCHCBODOLADFDJ@ZIHBDDDD@DO\\EHBDDDJ@HPLFJJFBTBDB@DAFIFG@©FMQSFSNGNUHKJM\\AVBLANDPDDFFB@TIRCJBHJPXBJBbDHLHBHU\\_EI@GAIIEASBIAACCOAEEEOIKAKDICE@AFBNQREH@JDHHJFDBH@LBJHHDNDBLGFGBEBAHALDFHDDDHAHEHKBMAOFIBGCIIC@Q@IBK@GDG@CCCGCAiSGAKDI@MIGMIE[CUBACICBKAGGGQAECGIC@ADDH@FOBE@BGCACAIAEASBICGBKCEBBHMEGCQECCEKDQ@AAAMAKBEAGEQEICGBEKWYCBM@IIEGGC@ASAA@AEC@BHC@DJCFBJOFEHEBCNDNKJ@BBFFBL@DFHDBFFF@B@BECAFG@@EAA@RAHBBF@@FEFBBHFBD@BCBADAH@DJRLF@BYREFGCGGCAK@ABCBEQA@CFIFAHGBBHFFTDFFBJFHKPDHMDSEG@MFEAMOEACBI@EBIJA@CAAEA@KNA@OEI@IDCC@CE@A@@GCB@ADGAEC@AFIB]@ACCAEF@BS@BLGNAHFHFL@FELCBECCECIGKA@G@ADAHBFFFDJDDN@ABIFBZJJDD@HQJ@JAFCBUNGLEBK@AD@FJRADSFEP@VADCBICMBA@AJILERADDHNTFNJBBDDP@HADC@KCC@CB@BJDDDBFADOFBLEF@JJH@DGB@BJLJFJPLNLLBBCD@DFFJDZNBR@DABBJjpBLLFBHLFADADFFHPEF[LCBABJLRL@DADEFFFCFDHPNJEVLJMD@HFIJ@DBDFBFAHODBDH@NDBHBBAFKBCHBFBBHAP@DDBFCDBCN@FDBD@BABIJCJGFAJDBPDFdD^EDCLIGEAA@AFCNATBBIJEDDB@@GJCF@FHL@TPDA@MK_BCHAF@FFJNNBJHDHAHAF@DDBDANMJCNAJDXJVNNTABGB@BPJFHFAX@BCFGRKH@FABCNCD@PHP@DDHA@EGKBAD@FFFBJJLHDFDDDHDAHFRDDBJBBLNNJPJDH@HH@HFDLDDABC@CCAE@CC@G@CFEDOAECGCSBMPHBHDDND"]],"encodeOffsets":[[[122386,25872]],[[122237,25718]],[[121933,25635]],[[122329,25582]],[[122027,26000]],[[122033,25986]],[[122061,25979]],[[122434,25772]],[[122266,25758]],[[122516,25833]],[[122474,25841]],[[122480,25849]],[[122461,25848]],[[122461,25821]],[[122449,25855]],[[122450,25871]],[[122423,25772]],[[122463,25792]],[[122389,25759]],[[122350,25860]],[[122207,25920]],[[122233,25935]],[[122120,25960]],[[122130,25957]],[[122231,25718]],[[122143,25765]],[[121875,25778]],[[121906,25704]],[[122339,25802]],[[121825,26342]]]},"properties":{"cp":[119.007558,25.431011],"name":"莆田市","childNum":30}},{"id":"350400","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@A@CFUPGBQAQKC@EDCbADKF@FARCHIFEBIAEIK]IEK@O@GHIXEDCAOOEAGFGNI@IAIIGIAGLSBECEECIAIDMAEECIKCGEGEOLIJIHM@EEEKKGQCOBGF@JFF@HCBODOJIBMMGCO@QBKEQEEGE@IDOKKCQBGAAG@GHCHCBCBEAEICKGKMIGE@EDEHGHC@MCG@EFEHABC@CAAGWCAA@EFCBKJAFEBCLGDIIMCD@HADGIEACCCMIE@IEOAC@CHC@CCIBOEGAMOEE@GBGFC@AAAEAOAAEDE@@A@GBCJC@IDGFEDE@GBCNBFA@AGGBCHEDIBALRD@FA@IMgAMEGECWAKGC@M@WCEC@ABCACK@EDG@ACHE@AKCEECCCM@CBAH@NHJ@BECEHQFDFALD@AFCAGH@HG@CCCJADEF@AEDEFAAAC@BCB@BCB@FNDEPAPHTDJNLCLBDABADMBOAGBECOCICCGCAEDKGEAA@MACOGOMCEQGACMSYGCE@KAGBAD@DAACCACBKLULK@IEICI@EKIACKGCQEEBCAEEAAYAA@@ECAYBSGC@MBUMIAEBIFUdMJEFK@SOCAIDO@CCBKBQNMDEBGACC@GBKFMNIHINC@EEEBCNEFI@SEMDEDADFB@DABQAIBCCABICC@KFCFQGCEGR@XBHFJDPFPBBH@HHRKLKHAD@JPRPJNJlAJG@CEMBcGKLK\\U\\YVMHGNGTKTQJOBECG@GC_UOIKAI@GBGJKVBFLJAHOPIPCBKBI@ODOHEFCPKTEFE@GGG@QGKIKSGCA@@HIH@NGNBFPLBHABQGGBCNEBG@GEOCO@CC@CHEFDHCFC@CAECCKEOISoKgIG{M]@EHBJTdDJANCN@TEjEHACBSAGAASNCVGPBBJFDDATEDGf]FM@KICQBMAQYEWI]OQCM@MAWKKMASECAKMOMYLGZFPBJALQBIEMg[SQaQCMAQGKEIMIIWMECC@IQU\\AACCAKCCEIEIFQ\\EBGAACEEEAGBBRDN@TSbYXGLCXOPwNQAAAGAKAK@CPKP@BDBHCF@BLG@AD@FABG@@HE@KCCBEB@DTNBZ@FOZCBA@A@DOCAQRADBDPFFHLB@FMV@D@FJFBD@DADKLBLBF@HENQRW`KhC^GPOHOBWCUCQGKGeGGJSFKJQBOAWIWYO[CCOGGKM_IGODMEOGcGUNMPg\\INF\\FPJRLNAFIDSA[OQGOLGjA`CJIJOHQFYTMDUBMVEDKAOPU@GBCFAZDLCJGF@VFRDFAFBDFFEBK@ABDHSNKDGkIKGCKAGDGFKDGBMOIEQHgJ]NG@IEMM[Q[WK@GFGLCPB`CLIJOHwFWFOD]PIHFLCPDBLDTJDFBRDDFBTNPFTPJLLBDF^RLLFFBPANCHADIH@JDHGJ@FDJAF@DEBEHBDABB@IFO@CGC@CCC@EA@CB@AAEACBWKQAGBCCADBDHFGHCAGOE@C@ADCFUDIH@DDFHFAFBFBLFD@BE@AFDDABEACD@DB@JB@BGFBF@@EBAACCF@@AAAG@IFHDD@FNCNGNCNVN@D@FAFEF@BDJHHAJDFFDbHDDDL@JSN^DBBPLBBD\\JHFB@@DDJFFJFRLHPFN@DFPJL@HDBDCFGDFL@PBJFBLAHHBJ@LFNHD^CBE@IVGJBFDDE@GHO@MIYDA^LL@FA@CDAFANJNBFBBJNNDTMXBHALBDDBAJBHHLFFFFNDFDDFBJ@JBHFFFDBDAJDL@DMAUBSCMNCAIB@BHNEBMDCFNJFJ@FCDK@ADED@HQDBJ@JCFMFONIFQHIFGDAFADDNDDH@NLLjFrFN@PHNEP_BIRIFGJadGLGdFZNNRHNJBHXVLRFNANINKVGZBbHhRXHFPHllNFJLh~X^``VZh`NFRLTHLDLBPATBXGHEPEPbRLRFvLRFJARAhMTD^TJL\\LTB^@RCRYHFJRDNX`RR„fXJPBZFZPLDDDB@DFPLF@B@BGAGJGPCNCHDFJDLDBD@JCNINMHAHBJFPDPNFDN@DFD@HKPGFEFCDEFSHIHORWJEN@JGRCHCDCVGDQDCF@JDDBFJFPBBPFNNJ@BB@RDJBFAPGNDJLHBDAVCFG@EAEEG@@FDTBFFDFBJ@`SNEHAFAL@FAJMPGNCFEBCNHL@JBPAHCLBFEBIGK@KCEBK@ADADBRCFC@CBGNOLANNPBLJHBF@DA@CEGQQEE@CBCHCJLFBHCDCDUBEGK@ALEBACMFMHCF@NNZHDHFFDDHC@CGQ@AdAFBBFLDBAAGLCFGFCLDDABCACBERBHEBAEGAEOEAG@KAEASAAEC_EGCCECIAQBE@IBCJILCRLFBJ@PGD@D@HNFBN@HKFCF@LHHADCF[LaJC@CBAHAHCX[B@HBDAHMLI@CAIFGBGBEPKNQFMJK\\S@CGE@QHIBGIKIEIICI@KCIEGGOKEOCCAIMAESDEAEECKKSAAI@ACAEDEFCP@HC@C@CKIBCJCLAJIDFNENAJC@IHGICCBA@@ABCHADG^ATBDA@EAEMGBGHOD@TFDLDBZEFPHJNHNDH@HDFDJAFEB@BBAHDDDADAFKD@TFF@TKHNLHFBDAP@XJPAFED@FHDALERFJLTHHADABED@IEDEEEAEAACAACVK@BCF@BF@BABCAICEECAKLEBGRCFCACGIO@GEGBCGHEDYNCDCBKGQ@AFANBBCDGBGEIJSDDHJXJHD@@@EBGB@FFDBDABKBAXARJNTB@B@LEHMLFPCLFB@NIJJBD@FGJBDD@FCJBF@DAJIHAN@BA@AKIU[@KCC@EXQDC@UEI@ED@DED@NFF@DEXHF@D@JEDEAEAACDA@GMC@@AJQIAECAC@IHUDCDAFJDFFBFBFANGAKBEPMCCEC@ICA@CBELEBQDCB@HDD@HEL@@EHKBGEI@CBCFC@IJ@JDHGFALB@GFEEG@GJ@FCR@D@DE@OBAB@d\\F@FCB@DDH@BB@NFDHBHCFBLG@CFCHBHFJBHDDFHBHFAN@JNFF@DEFCRAJ@EM@A`CNL@JEDAFBDHLHJX@DALKDAVJBF@FGJ@DTLDADKZATPD@@@@CESICECCE@KDGFCL@FDL@@FFHB@BCFSDCDANDBEB@NJDHVIFKDCLEJ@V@FFPBf@DCHADBBJBDDBH@@CCEHOAICCCCC@OPCDE@IGGI@OBKFEFIDCBGFEPCFCDQDCZNFFJDBFTHRNHDFADGDALANMBGPWFBR@DHDBNBNAPKBEEK@CHEDAPFdABCGIDGFCBEFGHCFDD@JGBEDQJBLCHBBADO@GBGJIDEZ@DCLQRWAEEECKACGDC@MIKBMHMJgBCBEGOKFELSJGEKSL]CAEECE@@AAABAACDEACCGCIJSCCCAOHC@@KACDE@KEKB_HMHEH@THDA@ECCBEEKEGBE@KBMFEDAF]BEHAHDDAEMIGAGPMQEWTI@mGoA[DAABGBGJOAYIIAEFSG@@A@KHEDWAGISFC@EFECECEACLKCEBGGKCSBEH@BECIMQAEBKGGFADILO@AGAC@BD@BIPO@KDMBOJGAIGACBED@BEBGDEAYEGO@IGABJ|ADEDEBKP[VGDKMU[DIACM@CE"],"encodeOffsets":[[121252,26511]]},"properties":{"cp":[117.435001,26.265444],"name":"三明市","childNum":1}},{"id":"350500","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@D@ACC@BD"],["@@DAJBAEEAG@AFDB"],["@@CB@F@DDBBDH@BAAGEGC@"],["@@BAAAEBBBD@"],["@@HBDAACG@A@@D"],["@@@AABB@"],["@@DDDACCC@@B"],["@@@A@B"],["@@DA@AEAADDB"],["@@B@@AA@@B"],["@@F@B@GA@B@@"],["@@MHIBEF@BJFBDBFCJ@FFFN@DZDJHDR@BBBDFBDBDAPKVIAKCG@MEKAAI@ABADE@IGBECGICGDC@EAIMEA"],["@@BAAAE@@BFB"],["@@H@AEBGHAFBD@AEICGFE@BFEHDD"],["@@B@DCJ@CCGACDC@@DDB"],["@@ACA@@BDB"],["@@BA@AC@@BBB"],["@@GAADLJH@@EDCAAK@"],["@@BBB@ACAB"],["@@@BDAAAAB"],["@@BBBACA@B"],["@@FB@CC@AB"],["@@DBDACAC@@B"],["@@@BBA@AAB"],["@@BBBAAAAB"],["@@BB@AAA@B"],["@@BBFBACCCAB@B"],["@@DDFB@CAAEAAB"],["@@DBAAA@"],["@@@@BAAA@D"],["@@BDBAACAB"],["@@BBB@ACAB"],["@@D@@@AAAB"],["@@BBBAAAAB"],["@@BB@AAA@B"],["@@D@@AA@AB"],["@@@BB@BCC@@B"],["@@B@BA@@CB"],["@@DBBA@CC@AD"],["@@BA@AGABFD@"],["@@@AABB@"],["@@@AA@@BB@"],["@@HC@AC@CD@B"],["@@@BBBBC@ECB@D"],["@@AACAAEEAAIC@AJBDDBBADJBFFBD@@AAABAAC"],["@@@AA@BB"],["@@@A@ACB@BD@"],["@@ABBBF@@ABDD@AGIB"],["@@B@BGAECCAD@HDF"],["@@@B@BD@DA@C@@GB"],["@@@AC@BDBA"],["@@DB@CAAAD"],["@@B@BAC@@B"],["@@EDBBFA@CA@"],["@@@FAB@DCDBDBBBAF@BA@EBCHA@AGGGBAB"],["@@@BB@AA"],["@@A@@BBA"],["@@ACCAEB@BNF@AAA"],["@@BAAAE@ABHB"],["@@AB@BD@DA@CAACD"],["@@BAAACB@BD@"],["@@BAAAC@BDB@"],["@@AB@BBABBBAAAA@"],["@@ADDAAA"],["@@@BB@@AA@"],["@@DBB@AAC@"],["@@D@AAAB"],["@@DBB@@AAACB"],["@@DAA@AB"],["@@B@BACB"],["@@BBBACA@B"],["@@@BAA@BD@@AA@"],["@@BBBAC@"],["@@D@AAAB"],["@@@DF@@CCAAB"],["@@@DDACA"],["@@@@D@AAAB"],["@@BAAB"],["@@FDD@@AECCB"],["@@BBD@BAG@"],["@@BNCHBDD@BEFCB@@DHBH@DCDBBACCFGBKFEDAZAFA@AAI@EBCFABCBOHIDAHDHA@CIMAG@MFMDEH@FC@E@GCEEAC@@BABAACEEABEBAFIGGC@CBCAAABG@AEEQGC@MGUACFBDHDJ@BDADIHSBKDKHKFY@gCWKOICE[sGGGAG@MBWPOBAHGF@FWNAD@DDDN@DB@DEHBDHBd@@BC`I\\CHCDKFABAJDLNJTFBHFBLEDCl]NEdIJCNBPLDJAJMNBBJAF@BFLFBFAFEB@BBB@FCN@FRBRH"],["@@D@A@A@"],["@@@DD@@CC@"],["@@AB@BH@@CAACB"],["@@BBBAA@A@"],["@@@DB@@CA@"],["@@@BBAA@"],["@@BBBAAAAB"],["@@AAABDB@A"],["@@DDJARBBA@CEABCFCNCTFJ@FEDMFAFFD@JMJGNMLEHAD@BDAHCFMNARALDDP@JCDBTPL@FENIVcJEFAJBVNNAD@THZADB@FB@ZBBBFFDBFARFHDDLJBFLJ@JDJFL@VKLKDADBBDIDBH@LDFZHNTBDRHDFPNPHBD@NBBHFCLBFHDDDDJDPAFBHAPCNABCBKAKDIMSCOGOBCFEMA@ADA@ADD@BBEBCFBFE@CFIBDD@DGHG@BHED@BKCEBECGRDFAFI@MGG@AB@DDNDDFFLD@BGFBDH@FCL@BDAD@BFDXDN@D@LHXBFDFHBNNh@JEBC@KQABCJGFADHH@BEBMAAD@HCFEFCH@JIDAD@H@BF@FCBBBPBFBBD@HEHAF@PFBNFHAPDJ@DGD@DBDFP@JJFDNDDFBHJBC@GDCJNCJKHADEFIBALED@FBBXDBHDBD@BAFGFEH@NDD@HGFGFCF@JHLNLHJDBFAFADGDGD@HBHHBRALDPLJCF@FHRFLFRAP@HDNNJAPIPCDA@GEE@IHEPARDLHFLFFN@JGJIPKHFHFLDDJFFNBJCJBFDDFAFKTBHHJJJJBJ@HMHEFBPPDBFCJWHGP@L@JFL^FJJBFAJEDGBQ@ELEBCDaFCD@RLRBHAVODEB@DKIA@GLEBAJYFI@CGEE@KMGCKFC@CK@MCOUW@EFENDLQHETGFIH_@IDGJGDGBQAA@KHURQJEHALFDAB@HINIXEBIVOBKLIJID@HEHKLIDGBC^@HDDCDE@CQKIKBADA\\KFEGOEEBCBCKEAGKEAKioAIBA@CAQYMICEE@CDCAAKKKMIOIEEECGHA@CIG@E@CFEAKPEBCAECCIC@ADAD@LDD@BC@GCOACIAEMMSCGBCFQJKBIB@NAJDDABC@UFOTEBCIQ@EBCL@FAHKVMDABE@IRI@GCCIIAYJEBAM@CCCIGI@ABGDCF@B@HLDJDFFDDADGBIEKEGBGHMAKT@@AFEDBBD^@JABED@BFCH@BDA@HB@F@@DDDJCJ@PFB@LMB@BFDBB@JIFAJ@DAFBNPFBNEH@TFNCCGLOEGAIEEEAMAEEAGHABGJEFGBBDRDABAL@DBHHHDFETMFEKEGMAGDKDA@AACGEAAFE@EE@AABG@QBB@FH@BEFD@A@AEEAEGCCEK@EAAE@ALICMDMFAFGPEAIDECID@AGD@BFB@TB@BHDFHJJN@DAXZFLHAJDRFHFFBLANBBB@BCRBFHJhPAGFAHDLAJDTAFBJBHDAHF@PA@ECGBCD@HJFDRBHHBHALJDBDPADAZBNCLFDCJADKRCJIRCBGEE@EDEDAHGF@bFHADOBCVG@mBKEAKIGCOKYAAE@MBSBIFANBFGRCBCAEMGYIEEICSIG@KDUAEE_GM@qST]FGJGJ@TBJALEHMAYHKVKJAF@JFHBHAPIHAL@HBLHJ\\BFDBP@DBLJRJH@JIJ@BC@CIMIKIE@QEEAMHG@CCAI@@CDCBCGAKAEFG@EKAGBMLUNID@HDDADE@OD@PJFBDCL@JAACBC[UII_C_KCD@BFBABGBƒ\\G@GAIE]cAEBIDGLADADQBCDARBFCJKDCHAJBHDPDP@NGBABMHIBCCEWGaEKCA@DDABA@CCC@ABADCBGAE@KGIASF]FMFGJIB]FWAGCEEEAMKS@AKCCRCDCAACAAGEEIAGLKJIHMDMAIGCCWO‰UGI@WCGCCCAGBEFATAHCBYDYDKHAJHV@DGDC@CAMSIEUIkGECCU@GJgFEJAHCFIHCHCJ@FBRJXIRBHF@DCJ@BHNJDV@DEBCGSBODKDGJEHANANBBAFBHENBJABAHBH@@CEE@CDCEIDE@CCCGYEEIAGEAE@C@EAAIABEGGGCABKJGCCGDANBBCQOC@@CEABKB@FBBAEGAEA@KCAGCACBADAAAADABCEG@ECAK@EGGACEGEUEM@IDGFIPCJMEKGCGE_DiDIFIHCJ@FLBHDBLBBA@CF@@FBBDABCBmIQ@MGUCGIGQAMGCGBMBIAAG@EBIAKI@COGKOA@CBC@GSCGIEMEYCUMCAIDCDE@KAEBADRRC`AF]NEFALDHHFJBDBBF@FCFytSPMDƒN_BeAMGYUEC_IƒcMIEEACCTI@ABALAFKFKHDR@HADA@IMEACACJ@DFFDDFPJBFFDRGXPNB`[RADBH@FWNGHCDBF^jBHINCDMBCBEVCD@FFFTBDCD@DDFTEF@FDFDBDADAB@@JCHCDEACCAEC@QNADHJBFGFDHGBGFKFGNEDGXEDQDIFG@SCGGEAE@CDCBEACHE@GACKEAG@EBCBCJKPAFFFBDAJSHGHKDSLEH@FFNLBBBQVMAIDCCC@CBCFCBIBM@IC@EKAM@KFEASKKGKSE@ABqWOSEBCN@TAFCBG@GMECGBEFGNKLCHBRCFEBKAWHEAAOCCGBYNGACE@EHETCPIDGAECAQDK@KM@CBCPMAAKCYKE@GGCBCHGFGRGJSFWIABELIHCDG@G@ECACAKI@GHIBIJAFBHCFIJIDAABIAAEIGEAE@ICCCBKLMAGEEAKDULG@IEGGHOIIDC@CIECGCAIDKB@DCD@LEFE@AACICECAQIE@IJBF@BCRADC@ICEDIDAHEBOBKFE@OCOIGGEMCCECYGMEGGEAMBIJEBOCINKAC@IJGFGBOAENIHAFBD@FCJ@J@FBBRJFJHHBVCDW@ODGF@JEN@LJJJPJHfNHDFFXL@DCJBJ@FFBR@JDHALIHIF@JDDD@HJNJBPAF@FXDFHBZPFF@JAFYLLPADGN@VEJCDE@KGGKC@QVGFO@SNGHCNA\\BXABMJUHa@ADCJCBIGKTAFDH@LMFK@IBIFCHMDI@EDON@BDDADEDO@ECEBEF@FDZEJPLFFD@F@@FHFBHFBFAPGF@B@DA@EB@LCB@DDJAF@FFJVDLCNGJKJOHDf@HELCD@DLJT@HBTPRFVLLJFRHNJJ\\LFD@FIFBFNDLR@JCPDRON@HPRFJBHHJOZ@JDL@HDFDDLDDFBNFNHHLBFDGJELALFPBN"]],"encodeOffsets":[[[121802,25820]],[[121740,25685]],[[121899,25675]],[[121684,25454]],[[121623,25425]],[[121623,25333]],[[121555,25259]],[[121539,25232]],[[121508,25224]],[[121270,25180]],[[121098,25050]],[[121068,24987]],[[121114,25038]],[[121002,24979]],[[120996,24966]],[[121182,24971]],[[121184,24974]],[[121622,25426]],[[121505,25152]],[[121225,25095]],[[121247,25105]],[[121281,25132]],[[121310,25121]],[[121294,25099]],[[121308,25078]],[[121313,25080]],[[121224,25052]],[[121217,25047]],[[121312,25017]],[[121314,25021]],[[121048,25070]],[[121078,25061]],[[121087,25044]],[[121071,25039]],[[121068,25037]],[[121054,25036]],[[121052,25033]],[[121055,25030]],[[121034,25014]],[[121843,25475]],[[121818,25469]],[[121820,25470]],[[121739,25478]],[[121837,25804]],[[121861,25787]],[[121838,25757]],[[121820,25703]],[[121800,25650]],[[121798,25647]],[[121880,25681]],[[121897,25672]],[[121871,25658]],[[121870,25623]],[[121876,25629]],[[121885,25631]],[[121885,25580]],[[121891,25561]],[[121897,25564]],[[121836,25535]],[[121815,25501]],[[121685,25431]],[[121692,25439]],[[121642,25448]],[[121650,25451]],[[121624,25406]],[[121606,25376]],[[121609,25377]],[[121549,25420]],[[121535,25397]],[[121552,25256]],[[121505,25148]],[[121483,25130]],[[121401,25127]],[[121359,25192]],[[121301,25152]],[[121289,25160]],[[121259,25116]],[[121278,25108]],[[121282,25109]],[[121304,24997]],[[121255,25103]],[[121040,25021]],[[121071,24986]],[[121034,24979]],[[121012,24979]],[[121005,24963]],[[120979,24957]],[[120982,24961]],[[120987,24961]],[[120544,26125]]]},"properties":{"cp":[118.289421,25.108853],"name":"泉州市","childNum":90}},{"id":"350600","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@@BBDH@ACGA"],["@@@DD@DA@CAAC@AD"],["@@@@B@BAAAAD"],["@@BBBAAAAB"],["@@AABB@@"],["@@ADBBHADGA@EDC@"],["@@@DBA@AA@"],["@@@DDABDD@ACCCCB@@"],["@@ABD@AA"],["@@CB@DD@DA@ECB"],["@@A@CDBBDE"],["@@B@BAA@AB"],["@@@BDACA@B"],["@@AFB@BCAA@@"],["@@PHDAACECC@EAAB@B"],["@@AACBHFAC@A"],["@@BAAABAACEBCBC@ADBBFAHB"],["@@BBB@AEA@@D"],["@@CDAHFABBF@BCFBFABAB@DAAEBAA@IFCGIAA@@FAB"],["@@AB@BB@DBHCCGEDAB"],["@@FCFDBIFC@EGBCFEDC@@HB@"],["@@D@@AA@AB"],["@@@DAF@LBDB@BADG@IDAACDA@AACCACDCF"],["@@BBD@EC@@@B"],["@@BACA@DB@"],["@@B@DA@E@AGF@DB@"],["@@RKNGXaFAH@TDDAJEESBECIBEBA@EAECAE@HMBKBWAMCKGIBKEAICCGCSEKBQJgDENEBAAKDML[DM@ECEKCBI@CCGCMCCICKKMEIGSeCAQBOCMDAACABK@E@ICIIEBCNGNKNGFCFG@GEECQBEHGACAI@KHCP@DALGFGDOBCFAFBDADGPGBEF@H_AABIAGGGBADA@@GUDKLSPMFCRAFCLQZIpDXAVAˆODC@EGiBQCKEGGEAEBCJEJDTBVAJAPMDEBUFABC@]B@XGJGDICQ@GTSHKBOAMCIEEKEGAcBA@AaAEECGCQAEKCIGMSGEGEcKKAM@EI_a@mIKIG_QWQa[UWOUAEC[FaBSCMQ]EOIIUKSCs@ICWcmeeeIUS}IMeWMA…BqDYAWIMK[uM‹BGDGJKDGAMCGgeWe]‰IOMGK@I@UJULqHMCcSc@CAO[GU@IBEHAFADCFO@QCGMIKAiAICGIEI@aBKPOBUACSUWGM@OBIAWKyWM@G@SFI@OA_G_CM@QBGHGJEXiIßGAÀBJCHIFEAIBICGHK@GDKJMRIEADC@CAG@OIAAERKVKBUAIHIAABEJKLEPEFE@GCQFEDCJ@NBFEF@DBJCFAFDFAJBF@DCJ@XCJILE^EHENSPIJBFCL@BRPEPCVEJAHABEDAHABYHIFIBICEIQ@OFEFEJBBDDDBZACFBFBJFD@BABIBAB@DDFCH]LADDFBD@HAFEDCHBDHBFAJBLHFHBNFFBNCJHNORCF@FBJAFBDBNLLBFIJMFGAKGKHAD@DDN@FKJGHGBCF@DBBLBDBBFBJALDBBFGBMEG@ABCNIHADBHC^BLCJAJBFHLFZBHJJDFJBDBHNHFJLFDR@DBBHHHRHDDDJJJBDAFGJWLGJCBKAGJCJOJ@HU@EAQFANDJF@@@BRAFELDNAVFF@F@FA@C@@B@DDF@DGFIBQEC@GFCnBJLNCFMHADAXYT@FBLRZ@DELL@NATDFBNPJpFTBRIbEPQXEPM^GVC^DJRLN[D@BBHP@JGN`Xv@NA`GTHVXJRBX@TDP@PS\\BXHDdELNFRBT@BMVML@DFJBJDD@PCDUB@LCHMLL~@`AZBLHL^TJ@HHFJA\\BNFJNDJGBGDSCY@IBIFENCTJBDJBLBzIN@NLNbHLXRFHB^BT@NBRHJVLDJF@LHFL@DGB@NKBCDGT@HCJBHZGR@JANUDCJAFBFJPTAPHNBFDDF@BPCFUB@JDFlNTJNLJPNFLGBEMO@EDANHL@LOHAHDBAD@HF\\HLHPCLENCNBFDNNLFTGP@fCDBFCHELMNMHC^ARB^AHBJFFRIžBNJJFPHJFNBbBLFhOfkXEF@HJNBd@ZDDNCDB@LDFPDVAHDLHHHBZFFBBLMLED@BFIX@FBDF@N@FICY@EFEFAFDP@FCBCCC@APMFCJ@NCDGJEJAL@NE@KCGBELSJHDADIBCb@VGNIBAAWB[DMHGTMP@HERUD@HLLHF@DCFI@UHMBCKOZKBE@IEEYOGACEEWE@OBIAIM@GCCICE@GJKJGBICQ@EA@EAIDI@CWKEEGCeMIGIOII@KFM@IHEPCX@DCAUGGEIQIAA@E@IDI@EACBEJGFMPBHAHEJID@LBJMPDFAJINAFBHHNFZHFDDDFNHHPJPDF@LEPAFABGJCFCJDD@BCDQ@AAEJIF@RJDBDFDJBBF@FE@KDC@CLAJCDBDHJF@DCDJJGPHHJFH@VKLCFBHFNBLKDADD@JBFHFFJBBAJBBJCJIDEAGBEJIJAHGJB"],["@@JE@EA@AAA@BHED@B@@"],["@@DDFBBBB@@EECC@CCABBD"],["@@BDD@@CAAC@@B"],["@@BDB@DCEAAB"],["@@C@@FCFBBCFDB@BAFA@AF@DBBD@LGBEDAACEA@CBCB@@ADCCCE@AA"]],"encodeOffsets":[[[120963,24945]],[[120535,24416]],[[120559,24424]],[[120918,24768]],[[120921,24767]],[[120968,24911]],[[120975,24931]],[[120916,24946]],[[120923,24946]],[[120861,24766]],[[120641,24511]],[[120694,24484]],[[120562,24394]],[[120570,24387]],[[120585,24385]],[[120560,24355]],[[120557,24362]],[[120543,24340]],[[120537,24344]],[[120521,24355]],[[120509,24356]],[[120498,24353]],[[120494,24362]],[[120517,24095]],[[120494,24116]],[[120293,24163]],[[120743,25468]],[[120278,24145]],[[120239,24127]],[[120243,24135]],[[121075,24739]],[[120987,24903]]]},"properties":{"cp":[117.561801,24.310897],"name":"漳州市","childNum":32}},{"id":"350700","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@NCDCHMHE@GCIEGCMACSCSUECKAGEU_@KBAR@HDPHJ@VGJGDIBMEYEMDOAIDCSIGKCAC@QBKAEAEECQKEKDMGAACICAEGCGMGGKI@@A@]BGJCPODIAEIOES@SFGHKCCBGCYBELEbeBKH@N@LCBAZEhQBGECAC@AdC@CEGJK@C@OJKFCFAKKBKNEDI@GEEAEAMCCCCROBGBCCEFQFGLGBE@OFKBECAE@ICECFKCENEDEJ@BABOJKJSL]DAHAFCJMJKJBF@AIHI@CAEG@UBM@CAAGJKBEAECEGE@EBCHI@EBELKPIHMJKBIEKDCBAAMFCJ@DABCAIGEAMCIBGGGBE@M@KFEHCCEQCGECMIQMIYEKUGAEK@GBAJEFBNDBBFCBKAA@CBAFA@CCCDCLDDGDG@KCC@CBEJBHEJSAIFCFAX@DBJ@NBD@FADGVEJKFDJVAFADCBNJH@PFNAHDBHAFDF@DEFEDCD@FPJHGHEN@XDHAFGLEPSFCD@DFVGBKRKDBLJF@FAHKHAD@HDDFFDJHNFLJPCHCFGFSACO@ICBCHEDC@CCKAIAG@ANIF@HDD@LAFE@GDAHDDBJEFBFDFEB@J@JFD@JENEFGJBJADDFDJAPGZDFEBBJD@RFDBABE@I@EFDHDHAFAAEAMDOFMJIHGBOMSKEM@CC@MDM@EICEA@GAEECAEDG@KBGUBECAIAAA@KFCAGEM]DE@EAGEA@WBKDKACG@C@BCHCBGFAF@D@LSTONHH@BABEDBLIDDFA@AACAELEDILGBCEKEGAIC@ABAJIBCCE@ACCAAD@HCFEBEEABGHBNAD@HGDGAKFI@GHE@C@CE@GG_UGIAKFCEDCCE@K@K@M@GEI@C@AF@LBHADEDIAKIaAGBCJEJ@RGFCBEEEAGGAIICBEHMFCCEAE@GCOCECAOFGACCCEBECUGSDKAAABSBCJIFYACaE@LEDAB@FCDE@C@AD@JADMDKJAJDH@HCDWBGDABEA@BC@ECC@ADAAACG@AFBHA@IIA@CHIFE@AA@GIBEAYBECIIIBGHEGE@CBAFGBCJNRDLOJCFDTGhCHEDKAE@SJQ@IBMDGHE@ECGG@CFC@AAG@AD@LFAIMY@KFAJ@JBFDAM@MT@@KDEACCAIQGCSDGFAHC@I@AAAEAKGGCEQEGEIWAMQMGKIKCICOCKSQCAEGKFEBECIIAKBGFEAKGCCCDG@CWKIGQEWCQMEGBMAKGGKCU@QFQAMBYNGAOMKEIAODIHEH@LKHSAEEMYFIf]J]DEHI@CEAAK@IAGMKHSCCGKOEIBIEIBGDYCEEBEACC@G@UAAAIWDENIFGFGBI@GGiEEI@CACEDE@ECEAOGIKUAI@[CGKG@IES@MC@GDC@ECEDC@KOCKDEKIEIACDCJGVAPGDADM@EKMBKCQEME@CGBG@EEMHQ@GEO@KCIBOCI@ECCDGFILEJAHADAFBLHLAD@FE@EMOFM@IYmHW@IEIGMEGE@C@AJC@GGWIKEECEGCEAEBIAEIGBAJCFEDGAIAEIEEKGAGG@K@AAABQDA@GVGDC@OAUBAJADDBFDDPAFBDHAFFBDC@CEM@GDCJC@KCGL@FDNPDBD@HHFBJALMFCRCTMLCLG@CCEFOSMCEFEFIBCAGFKHGBEBOCOFGAGNeAG@EAAE@MTKRCDGBOAOPAH@HCRA@KAGDIACRAFIHC@ECIFELILHJADcBOECBGF@DFLAFOLMBMACACGQ@EAOXAHMNKBCBCHCBICQMSGAEICEEYMCDCREDODEFAHCDEJEFAL@PHJJHF@DCPOD@DDDDBJGPDF@DG@CAACAICAGBCDe@OAEEU@I@KFCDELUJCGMIA@AFMCCBCDETADA@EG@EK@ECK@EDCH@LDFFDJDFT@D@@C@SOYBCLCBSK@CHI@EAEUICBKLCBW@GIGKACBEFC@IMK_D@BFNI@QBEDCFE@ME@IBMGEGACEGCIAGEGAED@DKHEAGDGAEC@MAAG@CCA@EDE@c[A@AB@PCFC@Q@EDI@@HFHEF@HKAEBGHICI@@JEDAD@DFJAHGL@FK@GFC@GCA@CDARKFAF@DDB@JFDDDONAFBLMHEBEAEACEEICBCDGV@JBDFDJBIR@BD@HNB@DCBBBFCFIFC@E@WGCFE@MEC@CFC@@FFJ@VCDWR@FDD@LV\\LJ@BABM@GBIJCBE@IAEDC@ACHI@EACIIMJA@KEODKEGNKFA@A@MSQIWBABALCBCAEEA@AH@F@@GCWIGICCITFJAHCHADMAEB@BHRALCDMDCZGFDHHAHFP@HJBDEDQDAHKFBLFDDFBJADABE@@ADE@AULBDDBBBBFFFCFJFC@AFCBGBSGIKQEKFCBEGC@EFOBWIO@CBEAKGGMSLE@SEC@ELCBCBCCBGAAA@EFIBECGCG@MCMGGIEOYFCACKSEC@GPAHNHBF@FCBSA]BCHGBAD@BB@DAJDGH@JIDMBMFCEIJKBIDADLJ@D@DGDO@EDCFBFBDJ@BBLTDLFFFBTCBFJNDBPDLFHPFHDJ@LDJJJJFJLAHGJ@RHF@D[TILENMROLAFAHEHBJ@DKJGNCBGAA@W\\GDGBAB@DIDKbE\\CDGBKGE@EDGLM@EAGMC@C@OHI@EAQKKDIJAD@JAFBRDJDFHD`FFDBBBTBF@LBHPFBFFHABGFQAAFBDADCBKCEDEHKDBHABKCAEEAcB@BHR@DGDCCEECGYGMME@GDENDNABKF@BHLAFCVCDGDEAIKGDAD@DFFRRFH@DCBE@GAKIOAMMKBMPAH@DEDQDCACB@BALDF@LHLAJEFKAGDOBIAK@MGADEFMDOHINEBK@EBGBMF_TI@EAECAECS@EH@FFFBH@DEBUACKGCIHMBOAECI@QAAI@MMOEAAEOEICAICE@CDCRUHCDGDQDIHM@IFQXGPGJETCFEDEFOHGLC@CEM@ECOMOCIEGAGBMNMJIDC@CACKEIGCMDODEDCDBLCDE@OKCEA@EX@JADEHET@NDPFHRJDNTX`PDFDJR^HDHGXHDFDLJDFJVNFLNHBDCJLL@RDDHDHAFF@LFDCHDFFRCDG@GBCDGNM@IAQDBJJP@FCHU@]LGCA@IHGLAFFZCPFRADEJAHNF@RBF`NFHDDBJHVBFMRAdCBIAMJCDBNCD@DFNIHCD@FBJJLFBCFEBAJCHEDALB`APEHOFEJBJINCDCBICEMMGIOGECAGNE@MCIFG@GBMHGJAHFPJjEHAHCDIDAB@DHJ@BOLEJEFDDFDBFJEDBFNFJCTLPPHHJFBL@JDPCLILOPM@CAEBG`]DAF@JFLFABCBAF@JHBDDSdKJ@@HTLH@JJBHJFDJ@BCJAFGLDL@PGJBfQRFFFN@JDNA@@AF@HBPCH@HBJFHFBJANFNBN@LCFBJPFDFBNCFDBNFJJJLDBDGV@FDJD@LGV@JPHHBF@FQb@DD\\HfCHONO@GBGDADF^DHCD@DDBDABCFAJFN@HDLJ@LJJHLHBH@DAJGDCBIBICMBECE@GB@HCHGNBFBDD@JJLPXXLNCHDLJT@PHFH`\\BJDDDBFBHDHPHDFJNDD@DE@CDCJABEB@HALRl`FDDJDZVPNBDA@KFEVGN@FCHCDGFCBEGQDMHGHCHNLHNGCMDA@SDKAECG@GBCBANGFOHGFECYBGBCFA@AFCV@FEvQLITGHKHQNID@JHD@HCB@FDHJHBBAFKJGHOTMHIFCHAF@BBJLPJFVJPJFFFL@DDJTJLBDAFEDCJBNFJDLCJAJBFDBNDHFBJHFJDJPLFXFJFZPDFJNFBDADCDIDANJJBTHFBRCHFR@@HJJFJPFH@FFHHHBF@VGDADGFCH@ZHLHFHDPPPDALSHDH@DAF@NLRBD@FCFKFAB@DBDBN@HDNEFEBODCVCL@JBDB@FIXDPAF@JBLFFLHDNFAHEPAH@JHBDALCHIJARJF@FTL@DDDN@LDJFNGTALCLGL@HDB@FEF@LFJHDBFAVFXRLNTMFBVRPHN@HDPCdPFAJCLDVAF@BEDAXFFHBLALFJBHEJ@NFFRF@BADILADBJGLBBBHRFPLDDIP@HBPADCBSBKFUCMFIZKDQLIL@FLHdRB@JAFLFFBDAJBBRBJD@FHJNJD@DCRDJH@DHFNBBFBBJFJBRNJ@FDB@BIGQFEDQHBDA@EEEBAT@BCII@A@EHBDEHCHABAF@DCLFLCHFNKJEHNND@FDF@BGAABBB@FC@CHGD@@DHBLBDHBFHD@RSHAXB`HBB@L@F@DBBTGXFLCTBHCFILKBEEIBMJENFZAD@HHNBNZN@JFF@JIJCJ@LBNPPZHVLPHBHAHFH@HAFCLKDE@KCIAG@KZEBE@O\\[RG\\GHE^@"],"encodeOffsets":[[121647,28921]]},"properties":{"cp":[118.178459,27.335627],"name":"南平市","childNum":1}},{"id":"350800","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@JG^OPCXExEPGJIDKA_DOHKHEL@\\X\\RNNJFH@^MhIRGJFNPHALCHEHCLBHDJLHlLCTMCGBAL@FAEEACBECEEQ@UHEDICKBYDEHAV@POLBFCNUVANCZSREPGJIDIB_HiPKRH\\PTBJCBEKMIQEOE[JMh[NOVMdHPHNFPCJHN`HLPHDDP\\XZXJPBRALITEHIfHLHRHVDXDPAPGHOD]LgX_RQFM@GAEAKLKBC@CACIE@E@CNU@EKAEGOEACBCRQDBCPB@B@DAPY@EAYSM@CFADALDF@@GH@BA@EBCH@AKE@GDCA@ALODOL@LBHBBBRBxMPODWHKZWTa@SCMAQHAFBFFBDHBFAR[JEJFDFLDDBBD[BRV@JDDNFJXNJFJHLBRDNbRTRh\\FNAJKRIBOAYEKHNZNPBLFDBTLNXLNBN@RD^PXJZFBRANBJBHLJN@^EHeFCBSCCIEAAHODUTMBBBHATBDFGFi@SDMBMCIScAIFG^@|NJHLhTpPJLFDDBF@DEDGDECGF@DDDP@PDHFH@FADMHARHBAAGOKAEHM@MJG@GB@HDLTLJRHH@HHF@FELSDOFEPGPCJ@LADAJOPOBGKIAELUHIHAJ@LBPJ`VHDH@FDPARILSHSHMNGZUV[L[LKdHNAFFF@@A@QGaIMQOIOC@GBKLQLGGG@AAEOCOEIA_HQDFRHDELED@JDBAAMEOBKFKHIECKAGGEMAMCEKCEGAICK@EBGNUGIAGEIOQ@GPMCQDO@IKQMCAEJE@EEC[KIIGMEQKIUKQESOGAS@KI@CDCFK@GCePGLIHIDMCKIUEEE@IBCCA@KDA@@FCBA@E@OHEBEAAGGE@EE@C@EEOKS@AC@EJWAEC@KFKNAAEEAYGGKGGCUBOCCE@KCAMDCC@YAcIM@GFElWPeEgAKAaEMGIEOIIAMJEQIEGA]BQA]BGDMNKNGFEDCAeDO@SHKEMMECMAMDKFODKG[GGEC@ABGCGBKPK@MGCB@FNPAFKHMEIOMKSIkMCE@IVADEAOE@CCAEGMBOOSEIEAIBCDMVIBQ@YHAGDI@GHSDCLA@MHA@CEKKGE@CIUKGIAQ@MASA]EGWQGKMaMKM@yJKAIAACSIMDEFAJ@JDZE\\IHMCEIAMB[EIGGI@]SGKAKBY@_K}NKDG@KVADC@OCCAIEI@CNKNU@AASEQKMcFGCAWT[@OCO@SAWIQKMIISG_HMBu@_WHM@IGOAAC@M\\QKCID]HUN]FORWFOJaAQESIoMOEASCMBK@FK@CCEKXURCLE@EAKGCHCF@TIBABKVCFOHABO^@DHFCLBBTCBBLHDF@DMPIROPOT[SKEA@@D@BHH@B_NIHORINGN@FBLCBM@[XCH@JBDHFNHIXEHBFjjDHFHBHPJDDDDCRBJFDFBFFJDBBDREJCLQZIBIASDGAQQMKQS@@MHGJAFCBM@I@KEKDGAI@CCAEAEECUHICQBQ@UEEAAEC@QAEEG@CGAGA@CBKBEHGDEAE@SNGBGIAKIMSGIEAE@EAEQCAEIACAACSAKEOGG@KLIDIFGLHHAHFL@JBF@DHFBHCFGBAJIJCFCHAV@FDH@LCFSVEPGFE@GEQD[KI@IBGFCLANCHEDI@AHABQDEDAFDFHBIJ@BFHF@CH@DOPIFCFCJCNADC@KGE@I@EFBJMLAFFRAHHHFDJBFDJ@NHXJFF@DILI@ALMAEBEFAHDNIHDDHB@DAB_@ECC@@ABGACI@GFGCOSGEBE@GCM@MCKGGI@CACGC@@JIGSIGIOGIKGAYEY@MB[MK@IDOJ@DBHJNNNJD@H@DGDKBMCECCAMHABAXADADIDELCDODIPGXGBMEGKWUGEQSGAOAIF_DIDGCIBC@CCEDG@CABIGKA@GFBFALCFA@WBAEEAEPCDI@KDCFEHDHABABGEE@@BDBBDCBAPCFQNMPGFGBA@SQA@KAMHG@C@CNCDAH@FC@A@ICA@CFAEEAGD@BMFCCEBCCAFCBI@I@GBI@UHG@EAABAFADQPABGAKRCJGDG@EBEL@RDHVJDADGJCFODAF@JFZKH@FBBBAHMTedaFCDBHIFAFAF@NAHLJRCDFBJJBBFBDDBDAFHPDLGDDFJH@DFADKJAD@HO@@FFDAHHFEFEJIHMFKBW@EBAFBPFHOLCFAD@NDDLAJFDHAJCNEBCDALCDC@OEGBEHKAADAHAHBBPD@DCDGFCHJD@DAXBFC^PLHNFAHCDGDAPFBAHDVZRDPEBBHDLDDBDLHJFPJH@FJJBNEPALFLDBF@JCLIJ@DBFD@NBBDBF@HEDIB@HHJHLNDNHP@DEDIB@DHDBD@LEHCFQD@@BHLDDNOZ@HFJZ\\AFIX@HBBDDT@JHDD@HAD@HDLADIJ@HIRBPFLFJABMGGFAFDTCBAFJHFHFTHBVDLHCHBD@DAPBTDLBBDBPCLBDBBHHHDJ@DKLBJGJ@^CJIFGBED@FNTGFCNDBP@BDDLFFFBDAFGD@BDBTKHAHIJ@DJH@DCHBHH@@B@BQLHN@LFBBABIFBATBFDBFGHBLKD@D@HHNAF@PHDB@HAN@RJNFBDDCLBFHLJJBFDHP@FBBBJCDFH@JFJBH@B@BCEIBI@KHCLFBbDJFL@DEDCJCDGBAFCFCDGBCBDPCHUNMBCD@FEFGECD@RADAF@ZDFAJXNBDBFBBRJRDNAHN@FHNZNPATDJHVFD@DAJMFALDLBNCFBDBFPHFFBZ@LHF@H@NFDBDNFHJHHBHFHTBHDDT@LHLBbAFBDDBBEVEPIR@FBD@HHJJ@FBAJLLLZBB`D"],"encodeOffsets":[[119194,26658]]},"properties":{"cp":[116.72978,25.191603],"name":"龙岩市","childNum":1}},{"id":"350900","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@KBWJOLYXEJAFDRFHHHXLLDRARGPKJKFUDI\\KDEBEACEAUDC@]SIA"],["@@MFEFM^@RJXDHPLHDH@PKTGjEZHTJ\\HRCLGBOIOosKuC"],["@@I@IHIHEJAJPLLFFHFNTTHJFDHBJ@LGFE@I@MI_CAKBOEAIBGSMIC"],["@@E@IH@JBBJDBDBFDH@BEFBDNDFDJBRGDLDDFBF@DCDC@CASEICMGECAEDO@AAAEEES@"],["@@DMA@K@IBIHABNHFEL@"],["@@BBH@DDD@AGKCA@AF"],["@@NLFBPBDBDAACEIE@EAAAIBIEAB@D"],["@@BFF@DBB@BCHB@GDA@AKAE@BCH@@ACCC@@ADA@CEACAID@FFBABBDABCB@BFDAB"],["@@CFHB@FBABBDCD@D@BADBFEE@EEB@BBDACC@AIA@ACC@ACAC@ABBFBB@DCD@B"],["@@ADD@DEE@@B"],["@@ADDAAA"],["@@@FBBBGDEAAA@ABAF"],["@@JDBBD@B@BEAAC@M@@B"],["@@BBDCD@DDDACGE@EAA@AFBD"],["@@BBD@FEFFJAJABCCAGBKEC@AAA@AB@FCBAD"],["@@JBABBBN@RC@CACF@DFB@BCAA@AD@BCEACDEA@AC@@CCABECAIBEAADEAADG@EAOHEFBDDBHAPF"],["@@H@@AB@HBBACCEAKFBB"],["@@D@DEJADHDALBBBD@@CGAKIEC@AD@D@JBD@@E@AE@AIA@ADCACBEAAAE@AEG@@D@HJHGDBFAHBD"],["@@ILDHRJL@@AECBC@CDACEKGG@"],["@@FBJ@NBD@EEI@CCK@EA@DDD"],["@@HBHCD@DB@FNDDAACFEAAGCEAIBCAKAGF@BDD"],["@@C@CB@DG@IDEH@DF@BDB@BCD@BAFDDABEH@BCAEEE"],["@@JBDHHDB@DCB@BCH@@CFABA@EAAM@CCG@KGCA@F@FEAEBBFABBDDDB@@C@@"],["@@@DJJJABCDABEBAHDFCEC@ECAIDAF@@ICCDEAAF"],["@@HHJ@@CF@ACAAKCCAA@AB@B@D"],["@@DDL@@AHB@@CEKAGD"],["@@HBFD@HD@B@BGDCDCCCBAAAGBGAE@GB@DB@BD"],["@@BDFADBDFCLJBFFBA@EBCHEDGIACGWBED"],["@@AB@DPBHHD@BEAC@CEEEGIAAF@DAD"],["@@CPBBF@DABAEIFBFA@C@CECAGGGI@ABBDBBHP"],["@@FDD@DIQBDD"],["@@H@@CACC@BDC@@D"],["@@BBJ@HBF@FAT@JBFDBBTCDC@AKIE@@ABCACCC@GEE@ALGFI@AAAKBEBEJA@ECG@ABBFCNQACFKDAFGB@BFDADBD"],["@@IFIHBDADN@FAHEF@DCD@BA@A@AHDD@@EF@CEEACEEAEAC@AD@@DD@DGDE@"],["@@A@AFDLDFJDNC@CBCAC[K"],["@@CH@FBBLDHDLBL@dLDADERCNIBCACIGEGC@GDOBAEGEYEEEC@AFEBG@CDCDCJ"],["@@FJHBJKEECAEBEAAD@D"],["@@BBFBFARHB@EE@ADACEBCAEEBE@@BG@AFCBAD"],["@@A@BCCCIDGEJOJ@HGH@DCBKACDEHEAIBCFAP@HCDGJCAEDCDCJABM@INFFC@EIGKMPEDMDEH@HEN@D@DGCG@CBEHEH@JAHGAEKGILCBA@AEBU@ACE@CDAB@F@JCTCDDDLD@^KHKLCDB@HDBFA@ABANDLCDBFNKBIJPRFDFADEHEDCHDJCN@BAAAMG@CDANBBAAGDCFD@HBHHABCB@BF@FB@JEHBF@BHDDHBD@D@H@LIDBADDBNAHBHAPCBDCLG@ADDDCF@BJHABI@ABDDL@DBDF@DFHRJDDFH@DABOEADBHHDVDRFP@BB@JLFVEFABG@ONBFKPO@GAEDCP@TGN@BLDFL@JVDDHBFFDLLBNNJ@FDAVDDRHVDHAFABEFAJBFHBJCJEFCHBFFFPFdDF@BBFABCJ@LEBBF@VNH@LBD@LKFCHADDFABDJBDHPDRLDJD@XMDE@G@OGECE@EDELKNWDAH@HDJJJDFANGJ@DFBCHABBAHDJ@H@BFDHCBC@CGEBANEH@RHLIHKDGEMGI@ABECCACDGRGBE@AEK@ELIBERKJADAHKJUJI\\UDYJOLIFCZUAGCEICGDEHI@QKGIBEVMHG@AGOIG@CDEKEDAJ@BA@CGEJIBGEE@ARADGNGBCCEDIRIDE@GBAHBFAbeuoQMoUAI@MACOKY@kH_D]ACDCJCBE@[KCAIBSLC@GCAEBKLKBEAIEOHOPUBG@CGC@I@CAAEDAXAJCDGBEDUAKCIFIBGCICCaCGIKG@EFMIGCKAOCKBAFBBAAK@OEEMIISC@MBDJC@O@KFeECBMJEB_@QEIBGHC@MMECEBGJCBK@CCACACBQHS@I@EGIMIMKMAQ@QAGCIIEAIA]DKAIECKBOJ]BEFEJApARAhHFECCKEEGFWJOHAD@LFNBB@FEHAPFD@BICG]QOaOQ@CPQL@LCnPDBJ@DE@EACIGAC@CTBDAFC@QGMCASMkGKCMKIICEBCDCDQHMCMBEHCNDHBB@@CIGAEBG@@JBJDJAFC@A@ECEIG…cKKGA]FIDCDING@ƒgoYSCIAQBSFMDUESKIQGG@AFCAADKFCHA@CAAEAACICAOEEYAUIEGIECCBEEIKQSGQ@KAYDQDQBGDELGDAFBBDPAFBFLP@HAPBDPLDF@JEJ@BFNLLFD`NPJJLRDTPD@D@VED@LDNALBF@FGBIBCDADBBDATDDLDJR@HEFAJFHT@DDCN@HBDHHFFAFKJAFAFBHNJNNDBFLJTNH^DJDBLAHBBRJFHBBP@ddFFBJAJGLCBGBgGo@QAUCYKI@GBAB@FDH@FEDGAGGG@IDM@UIECGIAENONY@OEGGUc[IMGQKIDOFGBIEE@EBEHADC@EGEKAIGKCGIUGG@IBEBEHAH@J@DLV@BAFUPeRMA[GECmNG@•MW@Q@SFaT}|CHI^G@BGBI@EBIFEJE@GGYEIOCMFEDCAECCCBGNM@EMQK@IgGOQIQGUOKDA@OMBIrqLGLENBLJLBHHrPHFFHFBR@JCLITA^DVDT@JEFEPQDETIP@fOHMBEEGACJOJGDMAEINAHSLCHIDSNIB[CKBCA@CHECASOICWLEBG@UFMII@EACCOo@CMEEFE@CG@CAGEAI@OFGACBMGQEE@CB@BBFABMBA@@DEB@FCDEDMFE@GEE@GHQAMLEBICCBCDFD@FAD]LM@CDOVLJ@BKRKFAJIDMR@JBDILCDWA@FKDSLEA@CEAE@CDGBS@MEUCMAEBMPKBCA@CAAG@AABAZIBGICG@CBIBIDMBOAAE@MIOEEUCCBCDG@CB@KCDG@AA@C@AFCBEEEIBIE@EEGGCCBA@EAAEED@DGCA@@DDFF@BJABEB@HUBE@EAUWGQG…CCIDADIHUJGBCEIYII]GEBQX@TGHMZCFMFCAEIGCIMCCMEG@C@IIAEC@CBGAEDE@GAAGAAGHEBQ@CA@CAAO@AD@DEHBJEDADCFIBBBBDEHBFCD@HC@CA@KAAIACBCDA@OCK@QHCDBFFHLHJBBD@FEFEFMJCFCBC@MMCAI@_DGCBMACKFEAAMACGA@EBEF@@CIIACDI@AGEKFC@ECCC@CPO@CEEACFG@AECACCAE@IHEBS@KAQGKEEICUOMCKBGFEPBFEBKG[GECAM@CDSVE@UAKBaIGCCC[G@C@ICCOGAKIMaSUGCNBBGDAJOCFEMGCJ@L@FD@BDCFWT@DPL@^CHMFOFIBABFLEJEFS@GBCDC@EAUBCG@G@AFADCAKJABGAGQGGIC@GEAE@QCIDQAEGMHE^OTGFCIOFKIA@ICEBEFCRAHEFECGJGHKDCFAF@RKFGAICICUGC[QEA[FMF@FABEB{BQ[GGGCEEMICCAYLCBA@CACCAE@CDABC@@CC@G@DICCUIGICFDPAPAFGHELBHADEJEFDFTNEPDF@DKHKDSNQDEDKNIBEAGGC@CAMOECK@DH@LIDCD@HFN@DCDEABECGEAOBCCAECCIBABBV@PCDUH@HCB@HAJBB@B@LHHHBFLJFBFBJCHEFID@DHFBFAJBFJNRJXJHHD@BID@F@JLJT@JGXZn@JENNP@FEFC@KBKGEACBGBIBKFEJCHDD@FDJAPDJ@LFP@HGRFN@FAHDHF@FNDRALLN@FCNCBOHUBIHCDBDFJLJCFDLLPD@FCFDD@HCD@@NFT@JLHDH@\\BJLVHJBPDF@FCFDFDBJ@FFHj@HAJEHEHMJCFJXBBVBH@D@BDAFFFZDHCJAJFJAPFHLDDGTNLBH@JBLFB@DGJCFI^e^EJHPLPTBLG@KFGJGPCJBLFPNHBZMNARBREV@LDHHBLANFHRNXDRFJHXL@DCHDDHDBLEFAHBLJJFDFALEFHDBTRDLDPDJJLHLRNBNJXHFRFDFHHBLBFBBJ@D@BGHETCHDJRDBBDCF@LS@@NBNECIAI@EB@LNZBJKEC@@BBH@BED@DHHFDF@HGNCJAR@TIF@LBFCDGHgCSDEPICKMQDIHABEDAF@FHHGJAJJFDZAFBJA@HBBF@JEDGB@JJB@AGBEH@BDBBBCD@FDD@@AFBBAHCXADC@GCGBILINCBC@IBCD@F@DC@EBAFC@KbFBDEZIJADATBBLBTCVHFDFADDBDEHBPFDPDHDF@FBDDNEFGDAJJHBBHFFAFEDQHI@IFADBHJbBLCJCFGBKAE@@B@DFJ@H@N@L@LDFCDDFLEJBVHH`@HDFD@F@HGJ@LEHBHC@GBCAMHGBAFFFADE@GBCDBBDF@DDJABIBAD@BJFHFJAFKHCJKFBFBD@BEBCCKJCAAFABG@MGSPKTC@E@EBAHGDADD@H@BDCLAL@XFBBH@FCFN^HFDBLEB@BBBJFDVAAH@LCHBFFDBF@HFBJD@FCN@NDDN@LFNR@BAPGHIJCDCPAPDNLBBBDJLPBF@DNdNH~ZLHNDLHFHD@AHHBAHEB@F@JCBFHJHTTVPLFfJl@LEJK@IDMHKJIPFLDJHTTRZDL@RLTDNE^N\\XRBD@BENBHCHFFAFD\\@JN@FHFAFCFAFDBDBJBDVCFBDH@FELBFH@DGHABI@A@ABAHBDAD@HFHCBBLFDFB@DAFEDALALDDJB@PFD@NAFBFCBC\\CDCF@HE@EIQBEPQ@ACIECCG@EAAGDAAGEC@ECAKDGFE@ECE@GDGBWFCLBJEH@vGDGIM@OC@C@ACEKEGCIHCDCACD@JFPBFADB@FBBDEHACCBCVQACDKHAFC@EIGAOBALC@GBGGC@EBCFB@A@CEADGEIHMMIDGCC@KIEEA"]],"encodeOffsets":[[[123250,27563]],[[122541,27268]],[[123020,27189]],[[122916,27125]],[[121678,27068]],[[123398,27612]],[[123294,27747]],[[123611,27636]],[[123592,27651]],[[123587,27574]],[[123587,27576]],[[123438,27501]],[[123358,27630]],[[123380,27622]],[[123263,27607]],[[123185,27583]],[[123137,27586]],[[123136,27581]],[[123105,27518]],[[123002,27474]],[[123025,27443]],[[123021,27325]],[[123237,27343]],[[123240,27281]],[[123209,27290]],[[122984,27247]],[[123034,27193]],[[123016,27168]],[[123017,27126]],[[122884,27182]],[[122850,27191]],[[122865,27137]],[[122785,27331]],[[122683,27314]],[[122653,27317]],[[122636,27252]],[[122672,27239]],[[122677,27206]],[[122569,28102]]]},"properties":{"cp":[119.527082,26.95924],"name":"宁德市","childNum":39}}],"UTF8Encoding":true});
}));
ÏîÄ¿´úÂë/BigScreen/src/components/echart/bottom/bottomCenterChart/chart.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,184 @@
<template>
  <div>
    <Echart
      :options="options"
      id="bottomLeftChart"
      height="480px"
      width="100%"
    ></Echart>
  </div>
</template>
<script>
import Echart from "@/common/echart";
export default {
  data() {
    return {
      options: {},
    };
  },
  components: {
    Echart,
  },
  props: {
    cdata: {
      type: Object,
      default: () => ({}),
    },
  },
  watch: {
    cdata: {
      handler(newData) {
        this.options = {
          title: {
            text: "",
          },
          tooltip: {
            trigger: "axis",
            backgroundColor: "rgba(255,255,255,0.1)",
            axisPointer: {
              type: "shadow",
              label: {
                show: true,
                backgroundColor: "#7B7DDC",
              },
            },
          },
          legend: {
            data: [
              "稼动率",
            ],
            textStyle: {
              color: "#fff",
              fontSize: 14,
            },
            top: "0%",
            right:"5%"
          },
          grid: {
            x: "7%",
            width: "93%",
            bottom:"10%"
          },
          xAxis: {
            data: newData.category,
            name:'日期',
            nameLocation:"middle",
            nameTextStyle:{
              color: ["white"],
              padding:[15,0,0,0],
              fontSize:16
            },
            splitLine: {
              show: true,
              lineStyle: {
                color: ["#273169"],
              },
            },
            axisLine: {
              lineStyle: {
                color: "#B4B4B4",
              },
            },
            axisTick: {
              show: false,
            },
          },
          calculable: true,
          yAxis: [
            {
              min: 0, // åˆ»åº¦æœ€å°å€¼
              max: 100, // åˆ»åº¦æœ€å¤§å€¼ï¼ˆéœ€è¦åŠ¨æ€èŽ·å–æœ€å¤§å€¼,并且能被3整除(向下取整再乘回来))
              splitNumber: 10, // æ¨ªçº¿æ•°
              interval: 10, // åˆ»åº¦é—´éš”
              axisLine: {
                lineStyle: {
                  color: "#B4B4B4",
                },
              },
              splitLine: {
              show: true,
              lineStyle: {
                color: ["#273169"],
              },
            },
              axisLabel: {
                formatter: "{value} ",
              },
              name: "单位(%)",
              nameTextStyle: {
                color: "#ffffff",
                nameLocation: "start",
                padding:[0,0,10,0],
                fontSize:14
              },
            },
            {
              axisLine: {
                lineStyle: {
                  color: "#B4B4B4",
                },
              },
              axisLabel: {
                formatter: "{value} ",
              },
            },
          ],
          series: [
            {
              name: "稼动率",
              type: "bar",
              barWidth: 20,
              areaStyle: {
                color: {
                  type: "linear",
                  x: 0,
                  y: 0,
                  x2: 0,
                  y2: 0,
                  colorStops: [
                    {
                      offset: 0,
                      color: "rgba(255, 255, 0,0.5)",
                    },
                    {
                      offset: 0.6, //这是于下方线的距离,设置1就不留空隙
                      color: "rgba(255, 255, 0,0.1)",
                    },
                  ],
                  global: false,
                },
              },
              itemStyle: {
                normal: {
                  barBorderRadius: 2,
                  color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    { offset: 0, color: "#ffff00" },
                    { offset: 1, color: "#ffff00" },
                  ]),
                  label: {
                    show: true, //开启显示
                    position: 'top', //在上方显示
                    textStyle: { //数值样式
                      color: 'white',
                      fontSize: 12
                    },
                    formatter: function (params) {
                      return params.value + '%';
                    },
                  }
                },
              },
              data: newData.actionData,
            },
          ],
        };
      },
      immediate: true,
      deep: true,
    },
  },
};
</script>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/bottom/bottomCenterChart/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
<template>
  <div>
    <Chart :cdata="cdata" />
  </div>
</template>
<script>
import Chart from "./chart.vue";
import axios from "@/api/ajax.js"
export default {
  data() {
    return {
      isActivation: true,
      datelist: [ "2024-06-06", "2024-06-05", "2024-06-04", "2024-06-03", "2024-06-02", "2024-06-01", "2024-05-31" ],
      cdata: {
        category: ["06-01", "06-02", "06-03", "06-04", "06-05", "06-06", "06-07"],
        actionData: [100, 100, 100, 100, 100, 100, 100],
      },
    };
  },
  components: {
    Chart,
  },
  mounted() {
    this.GetUtilization();
  },
  methods: {
    GetUtilization() {
      axios.post("/api/dt_WorkOrder/getUtilization", null, "").then((x) => {
        if (x.data.status) {
          var data = x.data.data;
          if(data==null){
            return;
          }
          var dateslist=[];
          data.datelist.forEach(x=>{
            var date=x.substring(x.indexOf("-")+1,x.length);
            dateslist.push(date);
          });
          this.cdata={
            category:dateslist.reverse(),
            actionData: data.perdatalist.reverse()
          };
          if(this.isActivation){
            setInterval(() => {
              this.GetUtilization();
            },5000);
            this.isActivation=false;
          }
        }
      });
    },
  },
};
</script>
<style lang="scss" scoped>
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/bottom/bottomLeftChart/chart.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,187 @@
<template>
  <div>
    <Echart
      :options="options"
      id="bottomLeftChart"
      height="480px"
      width="100%"
    ></Echart>
  </div>
</template>
<script>
import Echart from "@/common/echart";
export default {
  data() {
    return {
      options: {},
    };
  },
  components: {
    Echart,
  },
  props: {
    cdata: {
      type: Object,
      default: () => ({}),
    },
  },
  watch: {
    cdata: {
      handler(newData) {
        this.options = {
          title: {
            text: "",
          },
          tooltip: {
            trigger: "axis",
            backgroundColor: "rgba(255,255,255,0.1)",
            axisPointer: {
              type: "shadow",
              label: {
                show: true,
                backgroundColor: "#7B7DDC",
              },
            },
          },
          legend: {
            data: ["压力值"],
            textStyle: {
              color: "#fff",
              fontSize: 14,
            },
            top: "0%",
            right: "3%",
          },
          grid: {
            x: "4.8%",
            width: "94%",
            bottom: "10%",
          },
          xAxis: {
            type: 'value',
            name:'单位(h)',
            nameLocation:"middle",
            min:0.5,
            max:20,
            interval: 0.5,
            nameTextStyle:{
              color: ["white"],
              padding:[15,0,0,0],
              fontSize:14
            },
            axisLine: {
              lineStyle: {
                color: "#B4B4B4",
              },
            },
            splitLine: {
              show:true,
              lineStyle: {
                color: ["#273169"],
              },
            },
            axisTick: {
              show: false,
            },
          },
          calculable: true,
          yAxis: [
            {
              type:"value",
              min: 28, // åˆ»åº¦æœ€å°å€¼
              max: 35, // åˆ»åº¦æœ€å¤§å€¼ï¼ˆéœ€è¦åŠ¨æ€èŽ·å–æœ€å¤§å€¼,并且能被3整除(向下取整再乘回来))
              splitNumber: 10, // æ¨ªçº¿æ•°
              interval: 0.5, // åˆ»åº¦é—´éš”
              splitLine: {
                show: true,
                lineStyle: {
                  color: ["#273169"],
                },
              },
              axisLine: {
                lineStyle: {
                  color: "#B4B4B4",
                },
              },
              axisLabel: {
                formatter: "{value} ",
              },
              name: "单位(t)",
              nameTextStyle: {
                color: "#ffffff",
                nameLocation: "start",
                padding:[0,0,10,0],
                fontSize:14
              },
            },
            {
              axisLine: {
                lineStyle: {
                  color: "#B4B4B4",
                },
              },
              axisLabel: {
                formatter: "{value} ",
              },
            },
          ],
          series: [
            {
              name: "压力值",
              type: "line",
              barWidth: 10,
              areaStyle: {
                color: {
                  type: "linear",
                  x: 0,
                  y: 0,
                  x2: 0,
                  y2: 0,
                  colorStops: [
                    {
                      offset: 0,
                      color: "rgba(220, 20, 60,0.5)",
                    },
                    {
                      offset: 0.6, //这是于下方线的距离,设置1就不留空隙
                      color: "rgba(220, 20, 60,0.1)",
                    },
                  ],
                  global: false,
                },
              },
              itemStyle: {
                normal: {
                  barBorderRadius: 2,
                  color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    { offset: 0, color: "red" },
                    { offset: 1, color: "red" },
                  ]),
                  label: {
                    // show: true, //开启显示
                    position: "top", //在上方显示
                    distance: 10,
                    textStyle: {
                      //数值样式
                      color: "white",
                      fontSize: 10,
                    },
                    //添加后缀
                    formatter: function (params) {
                      return params.value;
                    },
                  },
                },
              },
              data: newData.pressData,
            }
          ],
        };
      },
      immediate: true,
      deep: true,
    },
  },
};
</script>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/bottom/bottomLeftChart/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
<template>
  <div>
    <Chart :cdata="cdata" />
  </div>
</template>
<script>
import Chart from "./chart.vue";
import axios from "@/api/ajax.js";
export default {
  data() {
    return {
      isProductQuality: true,
      cdata: {
        // category: ["0.5","1", "1.5", "2", "2.5",
        // "3", "3.5","4", "4.5", "5",
        // "5.5","6","6.5","7","7.5",
        // "8", "8.5", "9", "9.5", "10",
        // "10.5", "11","11.5", "12","12.5","13", "13.5", "14", "14.5",
        // "15", "15.5","16", "16.5", "17",
        // "17.5","18","18.5","19","19.5",
        // "20", "20.5", "21", "21.5", "22",
        // "22.5", "23","23.5", "24","24.5","25", "25.5", "26", "26.5",
        // "27", "27.5","28", "28.5", "29",
        // "29.5","30","30.5","31","31.5",
        // "32", "32.5", "33", "33.5", "34",
        // "34.5", "35","35.5", "36","36.5", "37","37.5", "38","38.5","39", "39.5", "40", "40.5",
        // "41", "41.5","42", "42.5", "43",
        // "43.5","44","44.5","45","45.5",
        // "46", "46.5", "47", "47.5", "48"],
        pressData: [[0.5,29],[1,29.5],[1.5,30],[2,30],[2.5,30.5],[3.5,28],[18,30]], //压机历史值
      },
      IsPrevalue:true,
      orderID:""
    };
  },
  components: {
    Chart,
  },
  mounted() {
    this.GetPrevalues();
  },
  methods: {
    GetPrevalues() {
      axios.post("/api/dt_WorkOrder/getPLCData", null, "").then((res) => {
        if (res.data.status) {
          var data=res.data.data.prevalus;
          var id=res.data.data.workorderid;
          if(data==null && id!=this.orderID)
            return console.log("data值为空");
          this.orderID=id;
          this.cdata.pressData=data;
        }
        if(this.IsPrevalue){
            setInterval(() => {
              this.GetPrevalues();
            },3333);
            this.IsPrevalue=false;
          }
      });
    }
  },
};
</script>
<style lang="scss" scoped>
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/bottom/bottomRightChart/chart.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,358 @@
<template>
  <div>
    <Echart
      :options="options"
      id="centreLeft1Chart"
      height="480px"
      width="100%"
    ></Echart>
  </div>
</template>
<script>
import Echart from '@/common/echart'
export default {
  data () {
    return {
      options: {},
      // å®šä¹‰é¢œè‰²
      colorList: {
        linearYtoG: {
          type: "linear",
          x: 0,
          y: 0,
          x2: 1,
          y2: 1,
          colorStops: [
            {
              offset: 0,
              color: "#f5b44d"
            },
            {
              offset: 1,
              color: "#28f8de"
            }
          ]
        },
        linearGtoB: {
          type: "linear",
          x: 0,
          y: 0,
          x2: 1,
          y2: 0,
          colorStops: [
            {
              offset: 0,
              color: "#43dfa2"
            },
            {
              offset: 1,
              color: "#28f8de"
            }
          ]
        },
        linearBtoG: {
          type: "linear",
          x: 0,
          y: 0,
          x2: 1,
          y2: 0,
          colorStops: [
            {
              offset: 0,
              color: "#1c98e8"
            },
            {
              offset: 1,
              color: "#28f8de"
            }
          ]
        },
        areaBtoG: {
          type: "linear",
          x: 0,
          y: 0,
          x2: 0,
          y2: 1,
          colorStops: [
            {
              offset: 0,
              color: "rgba(35,184,210,.2)"
            },
            {
              offset: 1,
              color: "rgba(35,184,210,0)"
            }
          ]
        }
      }
    };
  },
  components: {
    Echart,
  },
  props: {
    cdata: {
      type: Object,
      default: () => ({})
    },
  },
  watch: {
    cdata: {
      handler (newData) {
        this.options = {
          title: {
            text: "",
            textStyle: {
              color: "#D3D6DD",
              fontSize: 24,
              fontWeight: "normal"
            },
            subtext: newData.year + "/" + newData.weekCategory[6],
            subtextStyle: {
              color: "#fff",
              fontSize: 16
            },
            top: 50,
            left: 80
          },
          legend: {
            top: 120,
            left: 80,
            orient: "vertical",
            itemGap: 15,
            itemWidth: 12,
            itemHeight: 12,
            data: ["平均指标", "我的指标"],
            textStyle: {
              color: "#fff",
              fontSize: 14
            }
          },
          tooltip: {
            trigger: "item"
          },
          radar: {
            center: ["68%", "27%"],
            radius: "40%",
            name: {
              color: "#fff"
            },
            splitNumber: 8,
            axisLine: {
              lineStyle: {
                color: this.colorList.linearYtoG,
                opacity: 0.6
              }
            },
            splitLine: {
              lineStyle: {
                color: this.colorList.linearYtoG,
                opacity: 0.6
              }
            },
            splitArea: {
              areaStyle: {
                color: "#fff",
                opacity: 0.1,
                shadowBlur: 25,
                shadowColor: "#000",
                shadowOffsetX: 0,
                shadowOffsetY: 5
              }
            },
            indicator: [
              {
                name: "Ng率",
                max: newData.maxData
              },
              {
                name: "Ok率",
                max: 10
              },
              {
                name: "异常率",
                max: 12
              },
              {
                name: "正常率",
                max: 3.5
              }
            ]
          },
          grid: {
            left: 90,
            right: 80,
            bottom: 40,
            top: "60%"
          },
          xAxis: {
            type: "category",
            position: "bottom",
            axisLine: true,
            axisLabel: {
              color: "rgba(255,255,255,.8)",
              fontSize: 12
            },
            data: newData.weekCategory
          },
          // ä¸‹æ–¹Yè½´
          yAxis: {
            name: "OK数量",
            nameLocation: "end",
            nameGap: 24,
            nameTextStyle: {
              color: "rgba(255,255,255,.5)",
              fontSize: 14
            },
            max: newData.maxData,
            splitNumber: 4,
            axisLine: {
              lineStyle: {
                opacity: 0
              }
            },
            splitLine: {
              show: true,
              lineStyle: {
                color: "#fff",
                opacity: 0.1
              }
            },
            axisLabel: {
              color: "rgba(255,255,255,.8)",
              fontSize: 12
            }
          },
          series: [
            {
              name: "",
              type: "radar",
              symbolSize: 0,
              data: [
                {
                  value: newData.radarDataAvg[6],
                  name: "平均指标",
                  itemStyle: {
                    normal: {
                      color: "#f8d351"
                    }
                  },
                  lineStyle: {
                    normal: {
                      opacity: 0
                    }
                  },
                  areaStyle: {
                    normal: {
                      color: "#f8d351",
                      shadowBlur: 25,
                      shadowColor: "rgba(248,211,81,.3)",
                      shadowOffsetX: 0,
                      shadowOffsetY: -10,
                      opacity: 1
                    }
                  }
                },
                {
                  value: newData.radarData[6],
                  name: "我的指标",
                  itemStyle: {
                    normal: {
                      color: "#43dfa2"
                    }
                  },
                  lineStyle: {
                    normal: {
                      opacity: 0
                    }
                  },
                  areaStyle: {
                    normal: {
                      color: this.colorList.linearGtoB,
                      shadowBlur: 15,
                      shadowColor: "rgba(0,0,0,.2)",
                      shadowOffsetX: 0,
                      shadowOffsetY: 5,
                      opacity: 0.8
                    }
                  }
                }
              ]
            },
            {
              name: "",
              type: "line",
              smooth: true,
              symbol: "emptyCircle",
              symbolSize: 8,
              itemStyle: {
                normal: {
                  color: "#fff"
                }
              },
              lineStyle: {
                normal: {
                  color: this.colorList.linearBtoG,
                  width: 3
                }
              },
              areaStyle: {
                normal: {
                  color: this.colorList.areaBtoG
                }
              },
              data: newData.weekLineData,
              lineSmooth: true,
              markLine: {
                silent: true,
                data: [
                  {
                    type: "average",
                    name: "平均值"
                  }
                ],
                precision: 0,
                label: {
                  normal: {
                    formatter: "平均值: \n {c}"
                  }
                },
                lineStyle: {
                  normal: {
                    color: "rgba(248,211,81,.7)"
                  }
                }
              },
              tooltip: {
                position: "top",
                formatter: "{c} m",
                backgroundColor: "rgba(28,152,232,.2)",
                padding: 6
              }
            },
            {
              name: "占位背景",
              type: "bar",
              itemStyle: {
                normal: {
                  show: true,
                  color: "#000",
                  opacity: 0
                }
              },
              silent: true,
              barWidth: "50%",
              data: newData.weekMaxData,
              animation: false
            }
          ]
        }
      },
      immediate: true,
      deep: true
    }
  }
};
</script>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/bottom/bottomRightChart/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
<template>
  <div>
    <Chart :cdata="cdata" />
  </div>
</template>
<script>
import Chart from "./chart.vue";
export default {
  data() {
    return {
      drawTiming: null,
      cdata: {
        year: null,
        weekCategory: [],
        radarData: [],
        radarDataAvg: [],
        maxData: 500,
        weekMaxData: [],
        weekLineData: [],
      },
    };
  },
  components: {
    Chart,
  },
  mounted() {
    this.drawTimingFn();
  },
  beforeDestroy() {
    clearInterval(this.drawTiming);
  },
  methods: {
    drawTimingFn() {
      this.setData();
      this.drawTiming = setInterval(() => {
        this.setData();
      }, 6000);
    },
    setData() {
      // æ¸…空轮询数据
      this.cdata.weekCategory = [];
      this.cdata.weekMaxData = [];
      this.cdata.weekLineData = [];
      this.cdata.radarData = [];
      this.cdata.radarDataAvg = [];
      let dateBase = new Date();
      this.cdata.year = dateBase.getFullYear();
      // å‘¨æ•°æ®
      for (let i = 0; i < 7; i++) {
        // æ—¥æœŸ
        let date = new Date();
        this.cdata.weekCategory.unshift(
          [date.getMonth() + 1, date.getDate() - i].join("/")
        );
        // æŠ˜çº¿å›¾æ•°æ®
        this.cdata.weekMaxData.push(this.cdata.maxData);
        let distance = Math.round(Math.random() * 500);
        this.cdata.weekLineData.push(distance);
        // é›·è¾¾å›¾æ•°æ®
        // æˆ‘的指标
        let averageSpeed = +(Math.random() * 5 + 3).toFixed(3);
        let maxSpeed = averageSpeed + +(Math.random() * 3).toFixed(2);
        let hour = +(distance / 1000 / averageSpeed).toFixed(1);
        let radarDayData = [distance, averageSpeed, maxSpeed, hour];
        this.cdata.radarData.unshift(radarDayData);
        // å¹³å‡æŒ‡æ ‡
        let distanceAvg = Math.round(Math.random() * 500);
        let averageSpeedAvg = +(Math.random() * 4 + 4).toFixed(3);
        let maxSpeedAvg = averageSpeedAvg + +(Math.random() * 2).toFixed(2);
        let hourAvg = +(distance / 1000 / averageSpeed).toFixed(1);
        let radarDayDataAvg = [
          distanceAvg,
          averageSpeedAvg,
          maxSpeedAvg,
          hourAvg,
        ];
        this.cdata.radarDataAvg.unshift(radarDayDataAvg);
      }
    },
  },
};
</script>
<style lang="scss" scoped>
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/center/centerChartRate/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
<template>
  <div>
    <!-- é€šè¿‡çއ/达标率 -->
    <Echart
      :options="options"
      :id="id"
      height="100px"
      width="100px"
    ></Echart>
  </div>
</template>
<script>
import Echart from '@/common/echart'
export default {
  data () {
    return {
      options: {},
    };
  },
  components: {
    Echart,
  },
  props: {
    id: {
      type: String,
      required: true,
      default: "chartRate"
    },
    tips: {
      type: Number,
      required: true,
      default: 50
    },
    colorObj: {
      type: Object,
      default: function () {
        return {
          textStyle: "#3fc0fb",
          series: {
            color: ["#00bcd44a", "transparent"],
            dataColor: {
              normal: "#03a9f4",
              shadowColor: "#97e2f5"
            }
          }
        };
      }
    }
  },
  watch: {
    // tips æ˜¯ä¼šå˜æ›´çš„æ•°æ®ï¼Œæ‰€ä»¥è¿›è¡Œç›‘听
    tips: {
      handler (newData) {
        this.options = {
          title:{
            text: newData * 1 + " ",
            x: "center",
            y: "center",
            textStyle: {
              color: this.colorObj.textStyle,
              fontSize: 28
            }
          },
          series: [
            {
              type: "pie",
              radius: ["75%", "80%"],
              center: ["50%", "50%"],
              hoverAnimation: false,
              color: this.colorObj.series.color,
              label: {
                normal: {
                  show: false
                }
              },
              data: [
                {
                  value: newData,
                  itemStyle: {
                    normal: {
                      color: this.colorObj.series.dataColor.normal,
                      shadowBlur: 10,
                      shadowColor: this.colorObj.series.dataColor.shadowColor
                    }
                  }
                },
                {
                  value: 500 - newData
                }
              ]
            }
          ]
        }
      },
      immediate: true,
      deep: true
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/centerLeft/centerLeft1Chart/chart.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
<template>
  <div>
    <Echart
      :options="options"
      id="centreLeft1Chart"
      height="220px"
      width="260px"
    ></Echart>
  </div>
</template>
<script>
import Echart from '@/common/echart'
export default {
  data () {
    return {
      options: {},
    };
  },
  components: {
    Echart,
  },
  props: {
    cdata: {
      type: Object,
      default: () => ({})
    },
  },
  watch: {
    cdata: {
      handler (newData) {
        this.options = {
          series: [
            {
              type: "pie",
              radius: [40, 50],
              hoverAnimation: false,
              itemStyle: {
                borderColor: 'gray', // è¾¹æ¡†é¢œè‰²
                borderWidth: 1      // è¾¹æ¡†å®½åº¦
            },
              center: ["50%", "35%"],
              data: newData.seriesData,
              label: {//饼图中间文字设置
                normal: {
                    show: false,
                    position: 'center',
                    color:'#fff',
                    fontSize:'16',
                    formatter: "{d}%",
                    },
                },
            }
          ]
        }
      },
      immediate: true,
      deep: true
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/centerLeft/centerLeft1Chart/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
<template>
  <div>
    <Chart :cdata="cdata" />
  </div>
</template>
<script>
import Chart from "./chart.vue";
import axios from "@/api/ajax.js";
export default {
  data() {
    return {
      isEfficient: true,
      cdata: {
        xData: [],
        seriesData: [
          {
            value: 200,
            name: "已完成",
            itemStyle: { color: "#32c5e9" },
            label: {
              normal: {
                show: true,
                formatter: "{d}%",
                textStyle: {
                  fontSize: 16,
                  fontWeight: "bolder",
                },
              },
            },
          },
          { value: 100, name: "未完成", itemStyle: { color: "#00000000" } },
        ],
      },
    };
  },
  components: {
    Chart,
  },
  mounted() {
    // this.GetEfficient();
  },
  methods: {
    GetEfficient() {
      axios.post("/api/xxx/GetEfficient", null, "").then((x) => {
        if (x.data.status) {
          var data = x.data.data;
          this.cdata.seriesData = [
            {
              value: data.dayeta[0], //已完成值
              name: "已完成",
              itemStyle: { color: "#32c5e9" },
              label: {
                normal: {
                  show: true,
                  formatter: "{d}%",
                  textStyle: {
                    fontSize: 16,
                    fontWeight: "bolder",
                  },
                },
              },
            },
            {
              value: data.dayeta[1],//未完成值
              name: "未完成",
              itemStyle: { color: "#00000000" },
            },
          ];
          //开启定时器
          if (this.isEfficient) {
            setInterval(() => {
              this.isEfficient = false;
              this.GetEfficient();
            }, 10000);
          }
        }
      });
    },
  },
};
</script>
<style lang="scss" scoped>
.ec-font {
  font-size: 18px;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/centerLeft/centerLeft2Chat/chart.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
<template>
  <div>
    <Echart
      :options="options"
      id="centreLeft1Chart"
      height="220px"
      width="260px"
    ></Echart>
  </div>
</template>
<script>
import Echart from '@/common/echart'
export default {
  data () {
    return {
      options: {},
    };
  },
  components: {
    Echart,
  },
  props: {
    cdata: {
      type: Object,
      default: () => ({})
    },
  },
  watch: {
    cdata: {
      handler (newData) {
        this.options = {
          series: [
            {
              type: "pie",
              radius: [40, 50],
              hoverAnimation: false,
              itemStyle: {
                borderColor: 'gray', // è¾¹æ¡†é¢œè‰²
                borderWidth: 1      // è¾¹æ¡†å®½åº¦
            },
              center: ["50%", "35%"],
              data: newData.seriesData,
              label: {//饼图中间文字设置
                normal: {
                    show: false,
                    position: 'center',
                    color:'#fff',
                    fontSize:'16',
                    formatter: "{d}%",
                    },
                },
            }
          ]
        }
      },
      immediate: true,
      deep: true
    }
  }
};
</script>
<style lang="scss" scoped>
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/centerLeft/centerLeft2Chat/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
<template>
  <div>
    <Chart :cdata="cdata" />
  </div>
</template>
<script>
import Chart from "./chart.vue";
import axios from "@/api/ajax.js";
export default {
  data() {
    return {
      isEfficient: true,
      cdata: {
        xData: [],
        seriesData: [
          {
            value: 2900,
            name: "已完成",
            itemStyle: { color: "#32c5e9" },
            label: {
              normal: {
                show: true,
                formatter: "{d}%",
                textStyle: {
                  fontSize: 16,
                  fontWeight: "bolder",
                },
              },
            },
          },
          { value:300, name: "未完成", itemStyle: { color: "#00000000" } },
        ],
      },
    };
  },
  components: {
    Chart,
  },
  mounted() {
    // this.GetEfficient();
  },
  methods: {
    GetEfficient() {
      axios.post("/api/xxx/GetEfficient", null, "").then((x) => {
        if (x.data.status) {
          var data = x.data.data;
          this.cdata.seriesData = [
            {
              value: data.moutheta[0], //已完成值
              name: "已完成",
              itemStyle: { color: "#32c5e9" },
              label: {
                normal: {
                  show: true,
                  formatter: "{d}%",
                  textStyle: {
                    fontSize: 16,
                    fontWeight: "bolder",
                  },
                },
              },
            },
            {
              value: data.moutheta[1],//未完成值
              name: "未完成",
              itemStyle: { color: "#00000000" },
            },
          ];
          //开启定时器
          if (this.isEfficient) {
            setInterval(() => {
              this.isEfficient = false;
              this.GetEfficient();
            }, 10000);
          }
        }
      });
    },
  },
};
</script>
<style lang="scss" scoped>
.ec-font {
  font-size: 18px;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/centerLeft/centerLeft3Chart/chart.vue
ÎļþÃû´Ó ÏîÄ¿´úÂë/BigScreen/src/components/echart/centerLeft1Chart/chart.vue ÐÞ¸Ä
@@ -2,15 +2,15 @@
  <div>
    <Echart
      :options="options"
      id="centreLeft1Chart"
      id="centreLeft3Chart"
      height="220px"
      width="360px"
      width="260px"
    ></Echart>
  </div>
</template>
<script>
import * as echarts from 'echarts';
import Echart from '@/common/echart'
export default {
  data () {
    return {
@@ -18,7 +18,7 @@
    };
  },
  components: {
    echarts,
    Echart,
  },
  props: {
    cdata: {
@@ -33,19 +33,8 @@
          color: [
            "#37a2da",
            "#32c5e9",
            "#9fe6b8",
            "#ffdb5c",
            "#ff9f7f",
            "#fb7293",
            "#e7bcf3",
            "#8378ea"
            "#ccc",
          ],
          legend:{
            textStyle:{
              color:"#ffffff",
              fontSize:18
            }
          },
          tooltip: {
            trigger: "item",
            formatter: "{a} <br/>{b} : {c} ({d}%)"
@@ -66,11 +55,11 @@
          },
          series: [
            {
              name: "通过率统计",
              name: "货位状态",
              type: "pie",
              radius: [20, 60],
              roseType: "area",
              center: ["50%", "50%"],
              radius: [10, 50],
              // roseType: "area",
              center: ["50%", "40%"],
              data: newData.seriesData
            }
          ]
ÏîÄ¿´úÂë/BigScreen/src/components/echart/centerLeft/centerLeft3Chart/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
<template>
  <div>
    <Chart :cdata="cdata" />
  </div>
</template>
<script>
import Chart from "./chart.vue";
// import{LEDloctionList} from "@/api/http.js";
export default {
  data() {
    return {
      cdata: {
        xData: ["空货位", "已使用", "禁用"],
        seriesData: [
          { value: 30, name: "空货位" },
          { value: 5, name: "已使用" },
          { value: 15, name: "禁用" },
        ],
      },
    };
  },
  components: {
    Chart,
  },
  mounted() {
    // setInterval(() => {
    //         this.LEDloctionList();
    //       }, 3000);
  },
  methods: {
  }
};
</script>
<style lang="scss" scoped>
</style>
ÏîÄ¿´úÂë/BigScreen/src/components/echart/centerLeft1Chart/index.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/components/item-wrap/item-wrap.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/components/kong.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/components/message/message.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/components/message/message.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/components/reacquire/reacquire.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/components/scale-screen/scale-screen.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/config/UtilVar.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/directives/filters.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/lib/currency.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/lib/dd-moment.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/lib/index.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/lib/types.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/main.js
@@ -1,54 +1,37 @@
/*
 * @Author: daidai
 * @Date: 2022-01-12 14:05:56
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2023-08-07 17:12:07
 * @FilePath: \web-pc\src\pages\big-screen\main.js
 */
import Vue from "vue";
import App from "./App.vue";
import router from './router'
import store from './store'
import {loading,borderBox13,digitalFlop,capsuleChart,borderBox8} from '@jiaminghi/data-view'
import { Radio,Button,RadioGroup } from 'element-ui'
import Echart from './components/echart/index.vue'
import ItemWrap from './components/item-wrap/item-wrap.vue'
import Message from './components/message/message.vue'
import Reacquire from './components/reacquire/reacquire.vue'
import Messages from './components/message/message'
import dataV from '@jiaminghi/data-view'
import "vue-easytable/libs/theme-default/index.css";
import  '@/assets/css/public.scss'
import "@/assets/css/index.scss"
import Vue from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
import dataV from '@jiaminghi/data-view';
// å¼•入全局css
import './assets/scss/style.scss';
// æŒ‰éœ€å¼•å…¥vue-awesome图标
import Icon from 'vue-awesome/components/Icon';
import 'vue-awesome/icons/chart-bar.js';
import 'vue-awesome/icons/chart-area.js';
import 'vue-awesome/icons/chart-pie.js';
import 'vue-awesome/icons/chart-line.js';
import 'vue-awesome/icons/align-left.js';
import ElementUI from 'element-ui';
import axios from 'axios';
import VueAxios from 'vue-axios';
import * as filters from '@/directives/filters'
require('./mock/mock')//是否使用mock
//引入echart
//4.x å¼•用方式
import echarts from 'echarts'
//5.x å¼•用方式为按需引用
//希望使用5.x版本的话,需要在package.json中更新版本号,并切换引用方式
//import * as echarts from 'echarts'
Vue.prototype.$echarts = echarts
Vue.config.productionTip = false;
Vue.use(VueAxios, axios)
// å…¨å±€æ³¨å†Œ
Vue.component('icon', Icon);
Vue.use(dataV);
Vue.use(ElementUI)
// è‡ªå®šä¹‰ç»„ä»¶
Vue.component("Echart",Echart)
Vue.component("ItemWrap",ItemWrap)
Vue.component("Message",Message)
Vue.component("Reacquire",Reacquire)
Vue.prototype.$Message =  Messages
// element组件
Vue.use(Radio);
Vue.use(Button);
Vue.use(RadioGroup)
// datav组件
Vue.use(loading)
Vue.use(borderBox13)
Vue.use(borderBox8)
Vue.use(digitalFlop)
Vue.use(capsuleChart)
// å…¨å±€æ•°æ®è¿‡æ»¤å™¨
Object.keys(filters).forEach(k => Vue.filter(k, filters[k]));
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app");
  render: (h) => h(App),
}).$mount('#app');
ÏîÄ¿´úÂë/BigScreen/src/mock/mock.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/router/index.js
@@ -1,36 +1,21 @@
/*
 * @Author: daidai
 * @Date: 2022-01-12 14:22:29
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-04-28 14:53:02
 * @FilePath: \web-pc\src\pages\big-screen\router\index.js
 */
import Vue from "vue";
import VueRouter from "vue-router";
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter);
Vue.use(VueRouter)
const routes = [  {
  path: '/',
  redirect: '/index',
const routes = [{
  path: '/line',
  name: 'indexLine',
  component: () => import('../views/indexLine.vue')
},
{
  path: '/home',
  name: 'home',
  component: () => import(/* webpackChunkName: "LSD.bighome" */ '../views/home.vue'),
  children:[
    {
      path: '/index',
      name: 'index',
      component: () => import(/* webpackChunkName: "LSD.bighome" */ '../views/indexs/index.vue'),
    }
  ]
},
];
  path:"/pick",
  name:"indexPick",
  component: () => import('../views/indexPick.vue')
}
]
const router = new VueRouter({
  mode: "hash",
  base: process.env.BASE_URL,
  routes
});
})
export default router;
export default router
ÏîÄ¿´úÂë/BigScreen/src/store/index.js
@@ -1,37 +1,15 @@
/*
 * @Author: your name
 * @Date: 2021-07-26 09:32:49
 * @LastEditTime: 2022-04-26 09:12:33
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \web-pc\src\pages\big-screen\store\index.js
 */
import Vuex from 'vuex';
import Vue from 'vue';
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  const value = modulesFiles(modulePath)
  modules[moduleName]=value.default
  modules[moduleName].namespaced = true;   //打开命名空间
  return modules
}, {})
export default new Vuex.Store({
  modules,
  state: {
export default new Vuex.Store({
  state: {
  },
  mutations: {
      setCollapsed(state,value){
      },
  },
  actions: {
    getUserdata({commit}){
    },
  },
  modules: {
  }
})
ÏîÄ¿´úÂë/BigScreen/src/store/modules/setting.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/utils/drawMixin.js
@@ -1,10 +1,3 @@
/*
 * @Author: daidai
 * @Date: 2022-02-28 10:48:02
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-04-26 14:55:41
 * @FilePath: \web-pc\src\pages\big-screen\utils\drawMixin.js
 */
// å±å¹•适配 mixin å‡½æ•°
// * é»˜è®¤ç¼©æ”¾å€¼
@@ -24,23 +17,15 @@
  data() {
    return {
      // * å®šæ—¶å‡½æ•°
      drawTiming: null,
    }
  },
  computed: {
    isScale(){
      return this.$store.state.setting.isScale
      drawTiming: null
    }
  },
  mounted () {
    if(!this.isScale){
      return
    }
    this.calcRate()
    window.addEventListener('resize', this.resize)
  },
  beforeDestroy () {
       window.removeEventListener('resize', this.resize)
    window.removeEventListener('resize', this.resize)
  },
  methods: {
    calcRate () {
@@ -63,9 +48,6 @@
      }
    },
    resize () {
      if(!this.isScale){
        return
      }
      clearTimeout(this.drawTiming)
      this.drawTiming = setTimeout(() => {
        this.calcRate()
ÏîÄ¿´úÂë/BigScreen/src/utils/index.js
@@ -1,11 +1,3 @@
/*
 * @Author: daidai
 * @Date: 2022-02-23 08:59:26
 * @LastEditors: daidai
 * @LastEditTime: 2022-02-24 17:11:58
 * @FilePath: \big-screen-vue-datav\src\utils\index.js
 */
/**
 * @param {Function} fn é˜²æŠ–函数
 * @param {Number} delay å»¶è¿Ÿæ—¶é—´
@@ -21,6 +13,7 @@
    }, delay);
  };
}
/**
 * @param {date} time éœ€è¦è½¬æ¢çš„æ—¶é—´
 * @param {String} fmt éœ€è¦è½¬æ¢çš„æ ¼å¼ å¦‚ yyyy-MM-dd、yyyy-MM-dd HH:mm:ss
ÏîÄ¿´úÂë/BigScreen/src/utils/map/china.json
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/utils/map/xzqCode.js
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/utils/resizeMixin.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
// æ··å…¥ä»£ç  resize-mixins.js
import { debounce } from '@/utils';
const resizeChartMethod = '$__resizeChartMethod';
export default {
  data() {
    // åœ¨ç»„件内部将图表 init çš„引用映射到 chart å±žæ€§ä¸Š
    return {
      chart: null,
    };
  },
  created() {
    window.addEventListener('resize', this[resizeChartMethod], false);
  },
  activated() {
    // é˜²æ­¢ keep-alive ä¹‹åŽå›¾è¡¨å˜å½¢
    if (this.chart) {
      this.chart.resize()
    }
  },
  beforeDestroy() {
    window.removeEventListener('reisze', this[resizeChartMethod]);
  },
  methods: {
    // é˜²æŠ–函数来控制 resize çš„频率
    [resizeChartMethod]: debounce(function() {
      if (this.chart) {
        this.chart.resize();
      }
    }, 300),
  },
};
ÏîÄ¿´úÂë/BigScreen/src/views/bottomView1.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
<template>
  <dv-border-box-12 id="content">
    <div class="Box">
      <div style="margin-top: -10px;position: absolute;top: 28px;left: 20px;">
       <span>
      <icon
        name="chart-line"
        class="text-icon"
        style="margin-left: 5px"
      ></icon>
      </span>
      <span class="fs-xl text mb-1 pl-3" style="font-size: 20px;font-weight: bold;"
        >加压动态</span>
      </div>
      <div style="width:680px;height:70px; position: absolute;left: 135px;top: 10px;background-color: red;border-radius: 15px; display: flex;justify-content: space-around;">
        <div style="width: 260px;text-align: center;">
          <span style="font-size: 30px;font-weight: bold;color: #fff;line-height: 70px;">保压压力:</span>
          <span style="font-size: 30px;font-weight: bold;color: #fff;line-height: 70px;">{{pressure_value!=""?pressure_value+"(吨)":"待保压"}}</span>
        </div>
        <div style="width: 280px;text-align: center;">
          <span style="font-size: 30px;font-weight: bold;color: #fff;line-height: 70px;">保压时间:</span>
          <span style="font-size: 30px;font-weight: bold;color: #fff;line-height: 70px;">{{pressuretime!=""?pressuretime:"待保压"}}</span>
        </div>
        <div style="width: 140px;text-align: center;">
          <span style="font-size: 30px;font-weight: bold;color: #fff;line-height: 70px;">{{ pressureresult }}</span>
        </div>
      </div>
      <div style="margin-top: -10px;position: absolute;top: 28px;right: 360px;">
       <span>
      <icon
        name="chart-bar"
        class="text-icon"
        style="margin-left: 5px"
      ></icon>
      </span>
      <span class="fs-xl text mb-1 pl-3" style="font-size: 20px;font-weight: bold;"
        >设备稼动</span>
      </div>
      <div style="position: absolute;height: 1px; width: 865px;left: 44px;top: 355px; background-color:#ffff00;">
      </div>
      <div style="position: absolute;height: 375px; width: 1px;left: 821px;top: 88px; background-color:#ffff00;">
      </div>
      <div class="bottomLeft">
        <bottomLeft />
      </div>
      <div class="bottomCenter">
        <bottomCenter />
      </div>
    </div>
  </dv-border-box-12>
</template>
  <script>
import axios from "@/api/ajax.js";
import bottomLeft from "../components/echart/bottom/bottomLeftChart";
import bottomCenter from "../components/echart/bottom/bottomCenterChart";
export default {
  components: {
    bottomLeft,
    bottomCenter,
  },
  data() {
    return {
      areaD: ["D9", "D8", "D7", "D6", "D5", "D4", "D3", "D2", "D1"],
      areaA: ["A9", "A8", "A7", "A6", "A5", "A4", "A3", "A2", "A1"],
      areaBC: [
        { name1: "C6", name2: "B6" },
        { name1: "C5", name2: "B5" },
        { name1: "C4", name2: "B4" },
        { name1: "C3", name2: "B3" },
      ],
      areaB: [
        { name1: "B2", img: require("../assets/red0.png") },
        { name1: "B1", img: require("../assets/red1.png") },
      ],
      ScStyle: {
        top: "600px",
        left: "1180px",
      },
      pressure_value:"30.5",
      pressuretime:"18时60分",
      pressureresult:"加压合格",
      IsPrevalue:true,
    };
  },
  mounted() {
    this.GetPressInfo();
  },
  methods: {
    GetPressInfo() {
      axios.post("/api/dt_WorkOrder/getPressInfo", null, "").then((res) => {
        if (res.data.status) {
          var data=res.data.data;
          if(data==null)
            return;
          this.pressure_value=data.pressure_value;
          this.pressuretime=data.pressuretime;
          this.pressureresult=data.pressureresult;
        }
        if(this.IsPrevalue){
            setInterval(() => {
              this.GetPressInfo();
            },2000);
            this.IsPrevalue=false;
          }
      });
    }
  },
};
</script>
<style lang="scss" scoped>
$box-height: 520px;
$box-width: 1420px;
#content {
  position: absolute;
  right: 20px;
  width: $box-width;
  height: $box-height;
  margin: 10px auto;
}
.bottomLeft {
  width: 920px;
  height: 520px;
  margin-top: 30px;
}
.bottomCenter {
  width: 480px;
  height: 520px;
  margin-top: 30px;
  margin-left: 10px;
}
.Box{
  width:1870px;
  margin: 0px auto;
  display: flex;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/views/centerView1.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,505 @@
<template>
  <div id="box">
    <div class="container">
      <div class="boxTop">
        <div class="boxOrder">
          <div>
            <div style="margin-top: -10px">
              <span>
                <icon
                  name="align-left"
                  class="text-icon"
                  style="margin-left: 5px"
                ></icon>
              </span>
              <span class="fs-xl text mb-1 pl-3" style="font-size: 20px;font-weight: bold;"
                >工单信息</span
              >
            </div>
            <div style="margin-top: 10px">
              <div class="row" style="font-weight: bold">
                <div class="cell">工单号</div>
                <div class="cell">标准压力(t)</div>
                <div class="cell">保压时间(h)</div>
                <div class="cell">饼总层数</div>
                <div class="cell">标准直径(mm)</div>
                <div class="cell">实际直径(mm)</div>
                <div class="cell">测宽结果</div>
                <div class="cell" style="border-right: none;">工单状态</div>
              </div>
              <div class="body">
                <div class="cell">{{ OrderInfo.work_order_no }}</div>
                <div class="cell">{{ OrderInfo.pressure }}</div>
                <div class="cell">{{ OrderInfo.holding_time }}</div>
                <div class="cell">{{ OrderInfo.total_layer }}</div>
                <div class="cell">{{ OrderInfo.diameter_res }}</div>
                <div class="cell">{{ OrderInfo.measure_diameter_res }}</div>
                <div class="cell"><span style="display: block;width: 60px;height: 25px;margin: 4px auto;border: 2px solid gray;" :class="getTolerance(OrderInfo.is_tolerance)"></span></div>
                <div class="cell" style="border-right: none;" :class="OrderInfo.status==1?'ing':'end'">{{ OrderInfo.status==1?"工单进行中":"工单已完成" }}</div>
              </div>
            </div>
          </div>
          <!-- <dv-water-level-pond :config="line" style="width:100px;height:85px;position: absolute;right: 85px;top: 20px;" /> -->
        </div>
        <div class="boxTitle">
          <span
            style="
              width: 5px;
              height: 30px;
              background-color: #f34336;
              display: block;
            "
          ></span>
          <span
            style="
              display: block;
              padding-left: 15px;
              font-size: 20px;
              font-weight: bold;
            "
            >设备状态</span
          >
        </div>
        <div style="display: flex;position: absolute;left: 10px;top: 112px; width:1400px;justify-content: space-between;">
          <dv-border-box-13 class="box" title="垒饼机">
            <div class="boxItem">
              <div class="boxLeft">
                <img src="../assets/LB.png" width="150" height="150" style="" />
              </div>
              <div class="boxRight">
                <div
                  style="
                    font-size: 22px;
                    font-weight: bold;
                    color: red;
                    width: 160px;
                    margin-top: 20px;
                  "
                >
                  åž’饼机
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right"
                    >心跳信号:</span
                  >
                  <span style="display: block; width: 50px;height: 25px;text-align: left;margin: 5px 0px;" :class="LbjInfo.rboolHeart==true?'success':'info'"></span>
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right"
                    >当前设备编号:</span
                  >
                  <span style="display: block; width: 100px; text-align: left"
                    >{{ LbjInfo.rintMCPDeviceID }}</span
                  >
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right"
                    >当前设备状态:</span
                  >
                  <span style="display: block; width: 100px; text-align: left"
                    >{{ GetDeviceStatus(LbjInfo.rintMCPDeviceStatus) }}</span
                  >
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right"
                    >当前设备流程:</span
                  >
                  <span style="display: block; width: 100px; text-align: left"
                    >{{ GetLbjStepNumber(LbjInfo.rintMCPAutoStepNumber) }}</span
                  >
                </div>
              </div>
            </div>
          </dv-border-box-13>
          <dv-border-box-13 class="box" title="翻转机">
            <div class="boxItem">
              <div class="boxLeft">
                <img src="../assets/FZ.png" width="150" height="150" style="" />
              </div>
              <div class="boxRight">
                <div
                  style="
                    font-size: 22px;
                    color: red;
                    font-weight: bold;
                    width: 180px;
                    margin-top: 20px;
                  "
                >
                  ç¿»è½¬æœº
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right"
                    >心跳信号:</span
                  >
                  <span style="display: block; width: 50px;height: 25px;text-align: left;margin: 5px 0px;" :class="FzjInfo.rboolRCP1Heart==true?'success':'info'"></span>
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right"
                    >当前设备编号:</span
                  >
                  <span style="display: block; width: 100px; text-align: left"
                    >{{ FzjInfo.rintRCP1DeviceID }}</span
                  >
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right"
                    >当前设备状态:</span
                  >
                  <span style="display: block; width: 100px; text-align: left"
                    >{{ GetDeviceStatus(FzjInfo.rintRCP1DeviceStatus) }}</span
                  >
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right"
                    >当前设备流程:</span
                  >
                  <span style="display: block; width: 100px; text-align: left"
                    >{{ GetFzjStepNumber(FzjInfo.rintRCP1AutoStepNumber) }}</span
                  >
                </div>
              </div>
            </div>
          </dv-border-box-13>
          <dv-border-box-13 class="box" title="机械手">
            <div class="boxItem">
              <div class="boxLeft">
                <img src="../assets/JX.png" width="150" height="150" style="" />
              </div>
              <div class="boxRight">
                <div
                  style="
                    font-size: 22px;
                    color: red;
                    font-weight: bold;
                    width: 180px;
                    margin-top: 20px;
                  "
                >
                  æœºæ¢°æ‰‹
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right">心跳信号:</span>
                  <span style="display: block; width: 50px;height: 25px;text-align: left;margin: 5px 0px;" :class="JxsInfo.rboolRCP2Heart==true?'success':'info'"></span>
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right">当前设备编号:</span>
                  <span style="display: block; width: 100px; text-align: left">{{ JxsInfo.rintRCP2DeviceID }}</span>
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right">当前设备状态:</span>
                  <span style="display: block; width: 100px; text-align: left">{{ GetJxsDeviceStatus(JxsInfo.rintRCP2DeviceStatus) }}</span>
                </div>
                <div class="boxitem_down">
                  <span style="display: block; width: 160px; text-align: right">当前设备流程:</span>
                  <span style="display: block; width: 100px; text-align: left">{{ GetJxsStepNumber(JxsInfo.rintRCP2AutoStepNumber) }}</span>
                </div>
              </div>
            </div>
          </dv-border-box-13>
        </div>
      </div>
    </div>
  </div>
</template>
  <script>
import axios from "@/api/ajax.js";
export default {
  data() {
    return {
      line: {
        data: [86],
        shape: 'roundRect',
        waveOpacity:0.2,
        colors:['#00baff']
      },
      config: {
        header: [
          '<span style="font-size:18px;">层数</span>',
          '<span style="font-size:18px;">标准饼厚</span>',
          '<span style="font-size:18px;">累计饼厚</span>',
          '<span style="font-size:18px;">本层饼厚</span>'
        ],
        data: [
          [
            '<span style="color:#67e0e3;">1层</span>',
            '<span style="color:#9fe6b8;">60mm</span>',
            '<span style="color:#fb7293;">60mm</span>',
          ],
          [
            '<span style="color:#67e0e3;">1层</span>',
            '<span style="color:#9fe6b8;">60mm</span>',
            '<span style="color:#fb7293;">60mm</span>',
          ]
        ],
        waitTime: 5000,
        columnWidth: [85,115,115,115],
        align: ["center", "center", "center", "center"]
      },
      OrderInfo: {
      },
      LbjInfo:{
      },
      FzjInfo:{
      },
      JxsInfo:{
      },
      IsInterval:true,
      IsPlc:true,
    };
  },
  mounted() {
    this.GetPLCData();
    this.GetOrderInfos();
  },
  methods: {
    GetOrderInfos() {
      axios.post("/api/dt_WorkOrder/getWorkOrderInfo", null, "").then((res) => {
        if (res.data.status) {
          if(res.data.data==null && this.OrderInfo!=null){
            this.OrderInfo.status=2;
            return;
          }
          this.OrderInfo = res.data.data;
          if(this.IsInterval){
            setInterval(() => {
              this.GetOrderInfos();
            },5000);
            this.IsInterval=false;
          }
        }
      });
    },
    GetPLCData() {
      axios.post("/api/dt_WorkOrder/getPLCData", null, "").then((res) => {
        if (res.data.status) {
          var data=res.data.data;
          if(data==null)
            return console.log("data值为空");
          this.LbjInfo=data.lbj_data;
          this.FzjInfo=data.fzj_data;
          this.JxsInfo=data.zljxs_Data;
        }
        if(this.IsPlc){
            setInterval(() => {
              this.GetPLCData();
            },1500);
            this.IsPlc=false;
        }
      });
    },
    GetLbjStepNumber(val){
      switch (val) {
        case 0:
          return "无";
        case 1:
          return "回待机位";
        case (val>=10 && val<=19):
          return "测高中";
        case (val>=20 && val<=29):
          return "测高完成后返回中";
        case (val>=100 && val<=110):
          return "压紧中";
        default:
          break;
      }
    },
    GetFzjStepNumber(val){
      switch (val) {
        case 0:
          return "无";
        case 1:
          return "回待机位";
        case (val>=10 && val<=19):
          return "正向送饼中";
        case (val>=20 && val<=29):
          return "反向送饼中";
        default:
          break;
      }
    },
    GetJxsStepNumber(val){
      switch (val) {
        case 0:
          return "无";
        case 1:
          return "设备待机中";
        case 2:
          return "设备运动中";
        default:
          break;
      }
    },
    GetDeviceStatus(val){
      switch (val) {
        case 1:
          return "自动作业";
        case 2:
          return "自动待机";
        case 3:
          return "故障";
        case 4:
          return "手动";
        default:
          break;
      }
    },
    GetJxsDeviceStatus(val){
      switch (val) {
        case 1:
          return "速度模式";
        case 2:
          return "力矩模式";
        case 3:
          return "位置模式";
        case 4:
          return "故障";
        default:
          break;
      }
    },
    getTolerance(val){
      if(val==true){
        return 'success';
      }else if(val==false){
        return 'error';
      }else{
        return null;
      }
    }
  },
};
</script>
  <style lang="scss" scoped>
$box-height: 420px;
$box-width: 1420px;
#box {
  padding: 16px;
  padding-top: 10px;
  height: $box-height;
  width: $box-width;
  border-radius: 5px;
}
.container {
  height: 750px;
  width: 100%;
}
.boxTop {
  width: 100%;
  height: 300px;
  padding-top: 20px;
  display: flex;
}
.boxTop .box {
  margin-top: 38px;
  width: 450px;
  height: 260px;
}
.boxItem {
  display: flex;
  background-color: rgb(0, 59, 81,0.6);
  width: 435px;
  margin: 15px auto;
  height: 240px;
  z-index: 0;
  border-radius: 0% 5%;
}
.boxitem_down {
  display: flex;
  font-size: 20px;
  color: whitesmoke;
}
.boxLeft {
  margin-top: 50px;
  margin-left: 10px;
  width: 150px;
  height: 150px;
}
.boxRight {
  margin-left: 10px;
  width: 300px;
  height: 260px;
}
.boxRight div {
  line-height: 35px;
  text-align: right;
}
.boxOrderHeight {
  height: 40px;
  line-height: 30px;
  width: 150px;
  position: absolute;
  left: 22px;
  top: 120px;
  display: flex;
}
.boxTitle {
  height: 40px;
  line-height: 30px;
  width: 150px;
  position: absolute;
  left: 20px;
  top: 115px;
  display: flex;
}
.boxOrder {
  margin-top: -10px;
}
.row {
  display: flex;
  background-color: rgb(0, 186, 255);
  color: #fff;
  height: 30px;
  line-height: 30px;
  font-size: 18px;
}
.cell {
  width: 160px;
  border-right: #fff 1px solid;
  text-align: center;
}
.body {
  display: flex;
  background-color: rgb(0, 59, 81);
  color: #fff;
  height: 32px;
  line-height: 32px;
}
.rows {
  display: flex;
  background-color: rgb(0, 186, 255);
  color: #fff;
  height: 30px;
  line-height: 30px;
  font-size: 18px;
}
.bodys {
  display: flex;
  background-color: rgb(0, 59, 81);
  color: #fff;
  height: 32px;
  line-height: 32px;
}
.error{
  background-color: red;
}
.success{
  background-color: #67c23a;
}
.info{
  background-color: lightgray;
}
.ing{
  color: #ffff00;
}
.end{
  color: #67c23a;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/views/home.scss
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/home.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,333 @@
<template>
  <div id="index" ref="appRef">
    <div class="bg">
      <div class="myhead"></div>
      <dv-loading v-if="loading">Loading...</dv-loading>
      <div v-else class="host-body">
        <div class="d-flex jc-center" style="margin-top: 17px">
          <div class="d-flex jc-center">
            <div class="dv-dec-8"></div>
            <div class="title">
              <dv-decoration-11 class="title-text" style="
                  font-size: 75px;
                  color: #ffffff;
                  width: 600px;
                  height: 80px;
                  line-height: 80px;
                  margin-top: -30px;
                ">监 æŽ§ æ˜¾ ç¤º</dv-decoration-11>
            </div>
          </div>
        </div>
        <div class="react-right" style="margin-left: 1510px">
          <span class="text" style="width: 400px">{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span>
        </div>
        <div class="body-box">
          <div class="content-box">
            <div class="boxOrderHeight"
              style="margin-left: 0px; display: flex; align-items: center; position: relative; width: 100%;">
              <span style="
                    width: 5px;
                    height: 40px;
                    background-color: #FF4500;
                    display: block;
                  "></span>
              <span style="
                    padding-left: 15px;
                    font-size: 50px;
                    font-weight: bold;
                    color: #90EE90;
                  ">立库输送轨道原纸信息(共 å·ï¼‰</span>
              //时间
              <div style="position: absolute; right: 20px;">
                <p style="
                      display: inline-block;
                      font-size: 50px;
                      font-weight: bold;
                      color: #f7b500;
                      margin: 0;
                      padding: 5px 15px;
                    ">{{ currentTime }}</p>
              </div>
            </div>
            <!-- å·¥å•信息模块 -->
            <dv-border-box-8 :reverse="true"
              style="width: 100%; height: 415px; margin-top: 5px; margin-left: auto; margin-right: auto;">
              <dv-scroll-board :config="config" ref="scrollBoard" style="width: 100%; height: 415px; padding: 5px" />
            </dv-border-box-8>
          </div>
          <div class="content-box">
            <div class="boxOrderHeight" style="margin-left: 0px; display: flex; align-items: center; position: relative; width: 100%;">
              <span style="
                    width: 5px;
                    height: 40px;
                    background-color: #FF4500;
                    display: block;
                  "></span>
              <span style="
                    padding-left: 15px;
                    font-size: 50px;
                    font-weight: bold;
                    color: #90EE90;
                  ">排除出库原纸信息(共 å·ï¼‰</span>
            </div>
            <!-- å·¥å•信息模块 -->
            <dv-border-box-8 :reverse="true"
              style="width: 100%; height: 415px; margin-top: 5px; margin-left: auto; margin-right: auto;">
              <dv-scroll-board :config="config" ref="scrollBoard" style="width: 100%; height: 415px; padding: 5px;" />
            </dv-border-box-8>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import drawMixin from "../utils/drawMixin";
import { formatTime } from "../utils/index.js";
import centerView1 from "./centerView1.vue";
import bottomView1 from "./bottomView1.vue";
import axios from "@/api/ajax.js";
// import{GetDateForLED} from "@/api/http.js"
export default {
  mixins: [drawMixin],
  data() {
    return {
      timing: null,
      loading: true,
      dateDay: null,
      dateYear: null,
      dateWeek: null,
      currentTime: '',
      weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
      config: {
        header: [
          '<span style="font-size:50px;">纸卷条码</span>',
          '<span style="font-size:50px;">工单号</span>',
          '<span style="font-size:50px;">代码</span>',
          '<span style="font-size:50px;">上机位</span>',
          '<span style="font-size:50px;">宽幅</span>',
          '<span style="font-size:50px;">纸卷长</span>',
          '<span style="font-size:50px;">需用纸长</span>'
        ],
        data: [
          [
            '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">1</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
          [
           '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">2</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
          [
           '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">3</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
          [
            '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">4</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
          [
           '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">5</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
        ],
        headerHeight: 60,
        oddRowBGC: "rgba(0, 0, 0, 0.6)",
        evenRowBGC: "rgba(0, 0, 0, 0.6)",
        headerBGC: "rgba(0, 0, 0, 0.6)",
        waitTime: 5000,
        columnWidth: [350, 350, 200, 200, 250, 250, 350],
        rowNum: 4,
        align: ["center", "center", "center", "center", "center", "center", "center"],
      },
      IsDetail: true,
      OrderCreator: {},
    };
  },
  components: {
    centerView1,
    bottomView1,
  },
  mounted() {
    this.updateTime(); // åˆå§‹åŒ–æ—¶é—´
    this.timing = setInterval(() => {
      this.updateTime(); // æ¯ç§’æ›´æ–°æ—¶é—´
    }, 1000);
    this.cancelLoading();
    // this.GetOrderDetail();
  },
  beforeDestroy() {
    clearInterval(this.timing);
  },
  methods: {
    // æ›´æ–°åŒ—京时间
    updateTime() {
      const now = new Date();
      const year = now.getFullYear();
      const month = String(now.getMonth() + 1).padStart(2, '0');
      const day = String(now.getDate()).padStart(2, '0');
      const hours = String(now.getHours()).padStart(2, '0');
      const minutes = String(now.getMinutes()).padStart(2, '0');
      const seconds = String(now.getSeconds()).padStart(2, '0');
      const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
      const weekday = weekdays[now.getDay()];
      this.currentTime = `${year}-${month}-${day} ${weekday} ${hours}:${minutes}:${seconds}`;
    },
    //刷新时间
    timeFn() {
      this.timing = setInterval(() => {
        axios.post("/api/dt_WorkOrder/GetCurrentTime", null, "").then((x) => {
          if (x.data.status) {
            var data = x.data.data;
            this.dateDay = formatTime(data, "HH: mm: ss");
            this.dateYear = formatTime(data, "yyyy-MM-dd");
          }
        });
      }, 1000);
    },
    cancelLoading() {
      setTimeout(() => {
        this.loading = false;
      }, 1000);
    },
    GetOrderDetail() {
      axios.post("/api/dt_WorkOrder/getWorkOrderInfo", null, "").then((res) => {
        if (res.data.status) {
          if (res.data.data == null) {
            return;
          }
          var sp = '</span>';
          var arr = [];
          res.data.data.dt_WorkOrderDetail.forEach((x) => {
            var item = [
              '<span style="color:#67e0e3;">' + x.layer + '层' + sp,
              '<span style="color:#9fe6b8;">' + (x.lj_hight == null ? '无需测量' : x.lj_hight + 'mm') + sp,
              '<span style="color:#fb7503;">' + (x.measure_hight == null ? '无需测量' : x.measure_hight + 'mm') + sp,
              '<span style="color:#fb7503;">' + x.lj_is_tolerance + sp,
            ];
            arr.push(item);
          });
          this.OrderCreator = res.data.data;
          if (this.IsDetail) {
            this.config = {
              header: [
                '<span style="font-size:18px;">层数</span>',
                '<span style="font-size:18px;">累计标准饼厚</span>',
                '<span style="font-size:18px;">累计饼厚</span>',
                '<span style="font-size:18px;">测高结果</span>'
              ],
              data: arr,
              waitTime: 10000,
              rowNum: 15,
              columnWidth: [75, 150, 110, 110],
              align: ["center", "center", "center", "center"]
            };
          } else {
            this.$refs["scrollBoard"].updateRows(arr)
          }
          if (this.IsDetail) {
            setInterval(() => {
              this.GetOrderDetail();
            }, 10000);
            this.IsDetail = false;
          }
        }
      });
    }
  },
};
</script>
<style lang="scss">
@import "../assets/scss/index.scss";
</style>
<style lang="css" scoped>
.myhead {
  position: absolute;
  width: 100%;
  height: 100px;
  /* background-color: red; */
  top: 0;
  left: 0;
  z-index: 999;
  background-image: url("../assets/head_bg1.png");
  background-size: cover;
  background-position: center center;
}
.b-color {
  width: 1420px;
}
.boxOrderHeight {
  height: 40px;
  line-height: 40px;
  width: 400px;
  display: flex;
}
.body-box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 20px;
}
.content-box {
  width: 100%;
}
.rows {
  display: flex;
  background-color: rgb(0, 0, 0);
  color: #fff;
  height: 30px;
  line-height: 30px;
  font-size: 18px;
}
.cell {
  width: 160px;
  border-right: #fff 1px solid;
  text-align: center;
}
.bodys {
  display: flex;
  background-color: rgb(0, 59, 81);
  color: #fff;
  height: 32px;
  line-height: 40px;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/views/indexLine.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,389 @@
<template>
    <div id="index" ref="appRef">
        <div class="bg">
            <div class="myhead"></div>
            <dv-loading v-if="loading">Loading...</dv-loading>
            <div v-else class="host-body">
                <div class="react-right" style="margin-left: 1510px">
                    <span class="text" style="width: 400px">{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span>
                </div>
                <div class="body-box">
                    <div class="content-box">
                        <div class="boxOrderHeight"
                            style="margin-left: 0px; display: flex; align-items: center; position: relative; width: 100%;">
                            <span style="
                    width: 5px;
                    height: 40px;
                    background-color: #FF4500;
                    display: block;
                  "></span>
                            <span style="
                    padding-left: 15px;
                    font-size: 50px;
                    font-weight: bold;
                    color: #90EE90;
                  ">立库输送轨道原纸信息(共 å·ï¼‰</span>
                            //时间
                            <div style="position: absolute; right: 20px;">
                                <p style="
                      display: inline-block;
                      font-size: 50px;
                      font-weight: bold;
                      color: #f7b500;
                      margin: 0;
                      padding: 5px 15px;
                    ">{{ currentTime }}</p>
                            </div>
                        </div>
                        <!-- å·¥å•信息模块 -->
                        <dv-border-box-8 :reverse="true"
                            style="width: 100%; height: 950px; margin-top: 5px; margin-left: auto; margin-right: auto;">
                            <dv-scroll-board :config="config" ref="scrollBoard"
                                style="width: 100%; height: 950px; padding: 5px" />
                        </dv-border-box-8>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
import drawMixin from "../utils/drawMixin";
import { formatTime } from "../utils/index.js";
import centerView1 from "./centerView1.vue";
import bottomView1 from "./bottomView1.vue";
import axios from "@/api/ajax.js";
// import{GetDateForLED} from "@/api/http.js"
export default {
    mixins: [drawMixin],
    data() {
        return {
            timing: null,
            loading: true,
            dateDay: null,
            dateYear: null,
            dateWeek: null,
            currentTime: '',
            weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
            config: {
                header: [
                    '<span style="font-size:50px;">纸卷条码</span>',
                    '<span style="font-size:50px;">工单号</span>',
                    '<span style="font-size:50px;">代码</span>',
                    '<span style="font-size:50px;">上机位</span>',
                    '<span style="font-size:50px;">宽幅</span>',
                    '<span style="font-size:50px;">纸卷长</span>',
                    '<span style="font-size:50px;">需用纸长</span>'
                ],
                data: [
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">1</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">2</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">3</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">4</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">5</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">6</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">7</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">8</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">9</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">10</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">11</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">12</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">13</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">14</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">15</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                ],
                headerHeight: 60,
                oddRowBGC: "rgba(0, 0, 0, 0.6)",
                evenRowBGC: "rgba(0, 0, 0, 0.6)",
                headerBGC: "rgba(0, 0, 0, 0.6)",
                waitTime: 5000,
                columnWidth: [350, 350, 200, 200, 250, 250, 350],
                rowNum: 10,
                align: ["center", "center", "center", "center", "center", "center", "center"],
            },
            IsDetail: true,
            OrderCreator: {},
        };
    },
    components: {
        centerView1,
        bottomView1,
    },
    mounted() {
        this.updateTime(); // åˆå§‹åŒ–æ—¶é—´
        this.timing = setInterval(() => {
            this.updateTime(); // æ¯ç§’æ›´æ–°æ—¶é—´
        }, 1000);
        this.cancelLoading();
        // this.GetOrderDetail();
    },
    beforeDestroy() {
        clearInterval(this.timing);
    },
    methods: {
        // æ›´æ–°åŒ—京时间
        updateTime() {
            const now = new Date();
            const year = now.getFullYear();
            const month = String(now.getMonth() + 1).padStart(2, '0');
            const day = String(now.getDate()).padStart(2, '0');
            const hours = String(now.getHours()).padStart(2, '0');
            const minutes = String(now.getMinutes()).padStart(2, '0');
            const seconds = String(now.getSeconds()).padStart(2, '0');
            const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
            const weekday = weekdays[now.getDay()];
            this.currentTime = `${year}-${month}-${day} ${weekday} ${hours}:${minutes}:${seconds}`;
        },
        //刷新时间
        timeFn() {
            this.timing = setInterval(() => {
                axios.post("/api/dt_WorkOrder/GetCurrentTime", null, "").then((x) => {
                    if (x.data.status) {
                        var data = x.data.data;
                        this.dateDay = formatTime(data, "HH: mm: ss");
                        this.dateYear = formatTime(data, "yyyy-MM-dd");
                    }
                });
            }, 1000);
        },
        cancelLoading() {
            setTimeout(() => {
                this.loading = false;
            }, 1000);
        },
        GetOrderDetail() {
            axios.post("/api/dt_WorkOrder/getWorkOrderInfo", null, "").then((res) => {
                if (res.data.status) {
                    if (res.data.data == null) {
                        return;
                    }
                    var sp = '</span>';
                    var arr = [];
                    res.data.data.dt_WorkOrderDetail.forEach((x) => {
                        var item = [
                            '<span style="color:#67e0e3;">' + x.layer + '层' + sp,
                            '<span style="color:#9fe6b8;">' + (x.lj_hight == null ? '无需测量' : x.lj_hight + 'mm') + sp,
                            '<span style="color:#fb7503;">' + (x.measure_hight == null ? '无需测量' : x.measure_hight + 'mm') + sp,
                            '<span style="color:#fb7503;">' + x.lj_is_tolerance + sp,
                        ];
                        arr.push(item);
                    });
                    this.OrderCreator = res.data.data;
                    if (this.IsDetail) {
                        this.config = {
                            header: [
                                '<span style="font-size:18px;">层数</span>',
                                '<span style="font-size:18px;">累计标准饼厚</span>',
                                '<span style="font-size:18px;">累计饼厚</span>',
                                '<span style="font-size:18px;">测高结果</span>'
                            ],
                            data: arr,
                            waitTime: 10000,
                            rowNum: 15,
                            columnWidth: [75, 150, 110, 110],
                            align: ["center", "center", "center", "center"]
                        };
                    } else {
                        this.$refs["scrollBoard"].updateRows(arr)
                    }
                    if (this.IsDetail) {
                        setInterval(() => {
                            this.GetOrderDetail();
                        }, 10000);
                        this.IsDetail = false;
                    }
                }
            });
        }
    },
};
</script>
<style lang="scss">
@import "../assets/scss/index.scss";
</style>
<style lang="css" scoped>
.myhead {
    position: absolute;
    width: 100%;
    height: 100px;
    /* background-color: red; */
    top: 0;
    left: 0;
    z-index: 999;
    background-size: cover;
    background-position: center center;
}
.b-color {
    width: 1420px;
}
.boxOrderHeight {
    height: 40px;
    line-height: 40px;
    width: 400px;
    display: flex;
}
.body-box {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 20px;
}
.content-box {
    width: 100%;
}
.rows {
    display: flex;
    background-color: rgb(0, 0, 0);
    color: #fff;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
}
.cell {
    width: 160px;
    border-right: #fff 1px solid;
    text-align: center;
}
.bodys {
    display: flex;
    background-color: rgb(0, 59, 81);
    color: #fff;
    height: 32px;
    line-height: 40px;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/views/indexPick.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,389 @@
<template>
    <div id="index" ref="appRef">
        <div class="bg">
            <div class="myhead"></div>
            <dv-loading v-if="loading">Loading...</dv-loading>
            <div v-else class="host-body">
                <div class="react-right" style="margin-left: 1510px">
                    <span class="text" style="width: 400px">{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span>
                </div>
                <div class="body-box">
                    <div class="content-box">
                        <div class="boxOrderHeight"
                            style="margin-left: 0px; display: flex; align-items: center; position: relative; width: 100%;">
                            <span style="
                    width: 5px;
                    height: 40px;
                    background-color: #FF4500;
                    display: block;
                  "></span>
                            <span style="
                    padding-left: 15px;
                    font-size: 50px;
                    font-weight: bold;
                    color: #90EE90;
                  ">排除出库原纸信息(共 å·ï¼‰</span>
                            //时间
                            <div style="position: absolute; right: 20px;">
                                <p style="
                      display: inline-block;
                      font-size: 50px;
                      font-weight: bold;
                      color: #f7b500;
                      margin: 0;
                      padding: 5px 15px;
                    ">{{ currentTime }}</p>
                            </div>
                        </div>
                        <!-- å·¥å•信息模块 -->
                        <dv-border-box-8 :reverse="true"
                            style="width: 100%; height: 950px; margin-top: 5px; margin-left: auto; margin-right: auto;">
                            <dv-scroll-board :config="config" ref="scrollBoard"
                                style="width: 100%; height: 950px; padding: 5px" />
                        </dv-border-box-8>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
import drawMixin from "../utils/drawMixin";
import { formatTime } from "../utils/index.js";
import centerView1 from "./centerView1.vue";
import bottomView1 from "./bottomView1.vue";
import axios from "@/api/ajax.js";
// import{GetDateForLED} from "@/api/http.js"
export default {
    mixins: [drawMixin],
    data() {
        return {
            timing: null,
            loading: true,
            dateDay: null,
            dateYear: null,
            dateWeek: null,
            currentTime: '',
            weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
            config: {
                header: [
                    '<span style="font-size:50px;">纸卷条码</span>',
                    '<span style="font-size:50px;">工单号</span>',
                    '<span style="font-size:50px;">代码</span>',
                    '<span style="font-size:50px;">上机位</span>',
                    '<span style="font-size:50px;">宽幅</span>',
                    '<span style="font-size:50px;">纸卷长</span>',
                    '<span style="font-size:50px;">需用纸长</span>'
                ],
                data: [
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">1</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">2</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">3</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">4</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">5</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">6</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">7</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">8</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">9</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">10</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">11</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">12</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">13</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">14</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">15</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                ],
                headerHeight: 60,
                oddRowBGC: "rgba(0, 0, 0, 0.6)",
                evenRowBGC: "rgba(0, 0, 0, 0.6)",
                headerBGC: "rgba(0, 0, 0, 0.6)",
                waitTime: 5000,
                columnWidth: [350, 350, 200, 200, 250, 250, 350],
                rowNum: 10,
                align: ["center", "center", "center", "center", "center", "center", "center"],
            },
            IsDetail: true,
            OrderCreator: {},
        };
    },
    components: {
        centerView1,
        bottomView1,
    },
    mounted() {
        this.updateTime(); // åˆå§‹åŒ–æ—¶é—´
        this.timing = setInterval(() => {
            this.updateTime(); // æ¯ç§’æ›´æ–°æ—¶é—´
        }, 1000);
        this.cancelLoading();
        // this.GetOrderDetail();
    },
    beforeDestroy() {
        clearInterval(this.timing);
    },
    methods: {
        // æ›´æ–°åŒ—京时间
        updateTime() {
            const now = new Date();
            const year = now.getFullYear();
            const month = String(now.getMonth() + 1).padStart(2, '0');
            const day = String(now.getDate()).padStart(2, '0');
            const hours = String(now.getHours()).padStart(2, '0');
            const minutes = String(now.getMinutes()).padStart(2, '0');
            const seconds = String(now.getSeconds()).padStart(2, '0');
            const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
            const weekday = weekdays[now.getDay()];
            this.currentTime = `${year}-${month}-${day} ${weekday} ${hours}:${minutes}:${seconds}`;
        },
        //刷新时间
        timeFn() {
            this.timing = setInterval(() => {
                axios.post("/api/dt_WorkOrder/GetCurrentTime", null, "").then((x) => {
                    if (x.data.status) {
                        var data = x.data.data;
                        this.dateDay = formatTime(data, "HH: mm: ss");
                        this.dateYear = formatTime(data, "yyyy-MM-dd");
                    }
                });
            }, 1000);
        },
        cancelLoading() {
            setTimeout(() => {
                this.loading = false;
            }, 1000);
        },
        GetOrderDetail() {
            axios.post("/api/dt_WorkOrder/getWorkOrderInfo", null, "").then((res) => {
                if (res.data.status) {
                    if (res.data.data == null) {
                        return;
                    }
                    var sp = '</span>';
                    var arr = [];
                    res.data.data.dt_WorkOrderDetail.forEach((x) => {
                        var item = [
                            '<span style="color:#67e0e3;">' + x.layer + '层' + sp,
                            '<span style="color:#9fe6b8;">' + (x.lj_hight == null ? '无需测量' : x.lj_hight + 'mm') + sp,
                            '<span style="color:#fb7503;">' + (x.measure_hight == null ? '无需测量' : x.measure_hight + 'mm') + sp,
                            '<span style="color:#fb7503;">' + x.lj_is_tolerance + sp,
                        ];
                        arr.push(item);
                    });
                    this.OrderCreator = res.data.data;
                    if (this.IsDetail) {
                        this.config = {
                            header: [
                                '<span style="font-size:18px;">层数</span>',
                                '<span style="font-size:18px;">累计标准饼厚</span>',
                                '<span style="font-size:18px;">累计饼厚</span>',
                                '<span style="font-size:18px;">测高结果</span>'
                            ],
                            data: arr,
                            waitTime: 10000,
                            rowNum: 15,
                            columnWidth: [75, 150, 110, 110],
                            align: ["center", "center", "center", "center"]
                        };
                    } else {
                        this.$refs["scrollBoard"].updateRows(arr)
                    }
                    if (this.IsDetail) {
                        setInterval(() => {
                            this.GetOrderDetail();
                        }, 10000);
                        this.IsDetail = false;
                    }
                }
            });
        }
    },
};
</script>
<style lang="scss">
@import "../assets/scss/index.scss";
</style>
<style lang="css" scoped>
.myhead {
    position: absolute;
    width: 100%;
    height: 100px;
    /* background-color: red; */
    top: 0;
    left: 0;
    z-index: 999;
    background-size: cover;
    background-position: center center;
}
.b-color {
    width: 1420px;
}
.boxOrderHeight {
    height: 40px;
    line-height: 40px;
    width: 400px;
    display: flex;
}
.body-box {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 20px;
}
.content-box {
    width: 100%;
}
.rows {
    display: flex;
    background-color: rgb(0, 0, 0);
    color: #fff;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
}
.cell {
    width: 160px;
    border-right: #fff 1px solid;
    text-align: center;
}
.bodys {
    display: flex;
    background-color: rgb(0, 59, 81);
    color: #fff;
    height: 32px;
    line-height: 40px;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/center-bottom.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/center-map.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/index.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/left-bottom.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/left-center-right.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/left-center.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/left-top.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/pass-two.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/plan.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/right-bottom.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/right-center.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/right-top.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/station-four.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/station-one.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/station-three.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/indexs/station-two.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/setting.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/src/views/tjfx/tjfx.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/BigScreen/vue.config.js
@@ -1,129 +1,16 @@
/*
 * @Author: daidai
 * @Date: 2021-11-22 14:57:15
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-04-29 15:12:50
 */
const path = require("path");
function resolve(dir) {
  return path.join(__dirname, dir);
const path = require('path')
const resolve = dir => {
  return path.join(__dirname, dir)
}
module.exports = {
  publicPath: './',
  outputDir: process.env.VUE_APP_outputDir || 'dist',
  assetsDir: 'static',
  filenameHashing: true,
  lintOnSave: false,
  runtimeCompiler: false,
  transpileDependencies: [],
  productionSourceMap: false,
  css: {
    // æ˜¯å¦ä½¿ç”¨css分离插件 ExtractTextPlugin
    extract: process.env.NODE_ENV === "production" ? true : false,//是否将组件中的 CSS æå–至一个独立的 CSS æ–‡ä»¶ä¸­ (而不是动态注入到 JavaScript ä¸­çš„ inline ä»£ç )。
    sourceMap: false,//是否为 CSS å¼€å¯ source map。设置为 true ä¹‹åŽå¯èƒ½ä¼šå½±å“æž„建的性能。
    loaderOptions: {
      sass: {
        prependData: `@import "@/assets/css/variable.scss";`
      }
    },
    requireModuleExtension: true,
  devServer:{
    host:'0.0.0.0',
    port:8090
  },
  chainWebpack: (config) => {
    // é…ç½®åˆ«å
  chainWebpack: config => {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('assets', resolve('src/assets'))
      .set('assetsBig', resolve('src/pages/big-screen/assets'))
      .set('components', resolve('src/components'))
      .set('views', resolve('src/views'))
      .set('api', resolve('src/api'))
      .set('lib', resolve('src/lib'))
    if (process.env.NODE_ENV === "production") {
      // åˆ é™¤ç³»ç»Ÿé»˜è®¤çš„splitChunk
      config.optimization.delete("splitChunks");
    }
    // åˆ é™¤é¢„加载
    //  // ç§»é™¤ prefetch  æ’ä»¶
    //  config.plugins.delete('prefetch-index')
    //  // ç§»é™¤ preload æ’ä»¶
    //  config.plugins.delete('preload-index');
    //   config.optimization.minimizer('terser').tap((args) => {
    //     // åŽ»é™¤ç”Ÿäº§çŽ¯å¢ƒconsole
    //     args[0].terserOptions.compress.drop_console = true
    //     return args
    //   })
      .set('_c', resolve('src/components')) // key,value自行定义,比如.set('@@', resolve('src/components'))
  },
  configureWebpack: config => {
    // ç»™è¾“出的js名称添加hash
    config.output.filename = "static/js/[name].[hash].js";
    config.output.chunkFilename = "static/js/[name].[hash].js";
    config.optimization = {
      splitChunks: {
        cacheGroups: {
          // æŠ½ç¦»æ‰€æœ‰å…¥å£çš„公用资源为一个chunk
          common: {
            name: "chunk-common",
            chunks: "initial",
            minChunks: 2,
            maxInitialRequests: 5,
            minSize: 0,
            priority: 1,
            reuseExistingChunk: true,
            enforce: true
          },
          // æŠ½ç¦»node_modules下的库为一个chunk
          // vendors: {
          //   name: "chunk-vendors",
          //   test: /[\\/]node_modules[\\/]/,
          //   chunks: "initial",
          //   priority: 2,
          //   reuseExistingChunk: true,
          //   enforce: true
          // },
          element: {
            name: "chunk-element-ui",
            test: /[\\/]node_modules[\\/]element-ui[\\/]/,
            chunks: "all",
            priority: 3,
            reuseExistingChunk: true,
            enforce: true
          },
          yhhtUi: {
            name: "chunk-yhht-ui",
            test: /[\\/]node_modules[\\/]yhht-ui[\\/]/,
            chunks: "all",
            priority: 4,
            reuseExistingChunk: true,
            enforce: true
          },
          datav: {
            name: "chunk-datav",
            test: /[\\/]node_modules[\\/]@jiaminghi[\\/]data-view[\\/]/,
            chunks: "all",
            priority: 4,
            reuseExistingChunk: true,
            enforce: true
          },
        }
      }
    };
  },
  // æ˜¯å¦ä¸º Babel æˆ– TypeScript ä½¿ç”¨ thread-loader。该选项在系统的 CPU æœ‰å¤šäºŽä¸€ä¸ªå†…核时自动启用,仅作用于生产构建。
  parallel: require('os').cpus().length > 1,
  devServer: {
    // '/api':{
    //   target: 'http://192.168.8.211:8098/',
    //   // è·¨åŸŸé…ç½®
    //   changeOrigin: true,
    //   // è·¯å¾„重写
    //   pathRewrite:{
    //         '^/api': '/'
    //     }
    // }
  },
  pluginOptions: {
  }
}
  lintOnSave: false
}
ÏîÄ¿´úÂë/WMS/WMSClient/public/webconfig.js
@@ -1,5 +1,5 @@
window.webConfig = {
    "webApiBaseUrl": "http://192.168.35.3:9283/",
    // "webApiBaseUrl": "http://127.0.0.1:9293/",
    //"webApiBaseUrl": "http://192.168.35.3:9283/",
    "webApiBaseUrl": "http://127.0.0.1:9293/",
    "webApiProduction":"http://192.168.35.3:9283/"
}
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/basic/apiInfo.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/basic/apiInfo.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -1,4 +1,3 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
@@ -16,7 +15,19 @@
    buttons: { view: [], box: [], detail: [] }, //扩展的按钮
    methods: {
       //下面这些方法可以保留也可以删除
      onInit() {
      onInit() {  //框架初始化配置前,
          //示例:在按钮的最前面添加一个按钮
          //   this.buttons.unshift({  //也可以用push或者splice方法来修改buttons数组
          //     name: '按钮', //按钮名称
          //     icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
          //     type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
          //     onClick: function () {
          //       this.$Message.success('点击了按钮');
          //     }
          //   });
          //示例:设置修改新建、编辑弹出框字段标签的长度
          // this.boxOptions.labelWidth = 150;
      },
      onInited() {
        //框架初始化配置后
@@ -51,6 +62,10 @@
        //(3)this.editFormFields.字段='xxx';
        //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
        //看不懂就把输出看:console.log(this.editFormOptions)
        let isAdd = this.currentAction == 'Add'
        if (isAdd) {
            this.editFormFields.aGVStationCode = 'PNT_'
        }
      }
    }
  };
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/basic/makeCenterInfo.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/basic/makeCenterInfo.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -1,4 +1,3 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
@@ -16,7 +15,19 @@
    buttons: { view: [], box: [], detail: [] }, //扩展的按钮
    methods: {
       //下面这些方法可以保留也可以删除
      onInit() {
      onInit() {  //框架初始化配置前,
          //示例:在按钮的最前面添加一个按钮
          //   this.buttons.unshift({  //也可以用push或者splice方法来修改buttons数组
          //     name: '按钮', //按钮名称
          //     icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
          //     type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
          //     onClick: function () {
          //       this.$Message.success('点击了按钮');
          //     }
          //   });
          //示例:设置修改新建、编辑弹出框字段标签的长度
          // this.boxOptions.labelWidth = 150;
      },
      onInited() {
        //框架初始化配置后
@@ -51,6 +62,10 @@
        //(3)this.editFormFields.字段='xxx';
        //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
        //看不懂就把输出看:console.log(this.editFormOptions)
        let isAdd = this.currentAction == 'Add'
        if (isAdd) {
            this.editFormFields.aGVStationCode = 'PNT_'
        }
      }
    }
  };
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrderInfo.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrderInfo.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -24,13 +24,19 @@
        //this.detailOptions.columns.forEach(column=>{ });
      },
      searchBefore(param) {
        //界面查询前,可以给param.wheres添加查询参数
        //返回false,则不会执行查询
        return true;
        //界面查询前,确保返回有效参数
        if (!param) {
          param = { wheres: [] };
        }
        //可以给param.wheres添加查询参数
        return param;
      },
      searchAfter(result) {
        //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
        return true;
        //查询后,确保正确处理返回结果
        if (result && result.data && Array.isArray(result.data)) {
          return result.data;
        }
        return result;
      },
      addBefore(formData) {
        //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/proDeliverBackOrder.js
ÎļþÃû´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ÐÞ¸Ä
@@ -19,6 +19,16 @@
      onInit() {  
      },
      onInited() {
        this.detailOptions.summary = true;
        this.detailOptions.columns.forEach(x => {
          if (x.field == 'orderQuantity') {
              x.summary = true;
              //计算平均值
              // x.summary = 'avg';//2023.05.03更新voltable文件后才能使用
              //设置小数显示位数(默认2位)
              // x.numberLength = 4;
          }
        });
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/proDeliverBackOrderDetail.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/proDeliverBackOrderDetail.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -19,6 +19,16 @@
      onInit() {  
      },
      onInited() {
        this.detailOptions.summary = true;
        this.detailOptions.columns.forEach(x => {
          if (x.field == 'orderQuantity') {
              x.summary = true;
              //计算平均值
              // x.summary = 'avg';//2023.05.03更新voltable文件后才能使用
              //设置小数显示位数(默认2位)
              // x.numberLength = 4;
          }
        });
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/returnBSTOrder.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/returnBSTOrder.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -19,6 +19,16 @@
      onInit() {  
      },
      onInited() {
        this.detailOptions.summary = true;
        this.detailOptions.columns.forEach(x => {
          if (x.field == 'orderQuantity') {
              x.summary = true;
              //计算平均值
              // x.summary = 'avg';//2023.05.03更新voltable文件后才能使用
              //设置小数显示位数(默认2位)
              // x.numberLength = 4;
          }
        });
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/returnBSTOrderDetail.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/returnBSTOrderDetail.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -19,6 +19,16 @@
      onInit() {  
      },
      onInited() {
        this.detailOptions.summary = true;
        this.detailOptions.columns.forEach(x => {
          if (x.field == 'orderQuantity') {
              x.summary = true;
              //计算平均值
              // x.summary = 'avg';//2023.05.03更新voltable文件后才能使用
              //设置小数显示位数(默认2位)
              // x.numberLength = 4;
          }
        });
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/outbound/outBSTPickInfo.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/outbound/outBSTPickInfo.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -19,6 +19,16 @@
      onInit() {  
      },
      onInited() {
        this.detailOptions.summary = true;
        this.detailOptions.columns.forEach(x => {
          if (x.field == 'orderQuantity') {
              x.summary = true;
              //计算平均值
              // x.summary = 'avg';//2023.05.03更新voltable文件后才能使用
              //设置小数显示位数(默认2位)
              // x.numberLength = 4;
          }
        });
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/outbound/proDeliveryOrder.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/outbound/proDeliveryOrder.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -19,6 +19,16 @@
      onInit() {  
      },
      onInited() {
        this.detailOptions.summary = true;
        this.detailOptions.columns.forEach(x => {
          if (x.field == 'orderQuantity') {
              x.summary = true;
              //计算平均值
              // x.summary = 'avg';//2023.05.03更新voltable文件后才能使用
              //设置小数显示位数(默认2位)
              // x.numberLength = 4;
          }
        });
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/outbound/proDeliveryOrderDetail.js
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/inbound/mesProInOrder.js" copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/outbound/proDeliveryOrderDetail.js"
Îļþ´Ó ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/inbound/mesProInOrder.js ¸´ÖÆ
@@ -19,6 +19,16 @@
      onInit() {  
      },
      onInited() {
        this.detailOptions.summary = true;
        this.detailOptions.columns.forEach(x => {
          if (x.field == 'orderQuantity') {
              x.summary = true;
              //计算平均值
              // x.summary = 'avg';//2023.05.03更新voltable文件后才能使用
              //设置小数显示位数(默认2位)
              // x.numberLength = 4;
          }
        });
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/taskinfo/task.js
@@ -62,6 +62,32 @@
              });
        }
      }
      let ResendTaskBtn = this.buttons.find(x => x.value == 'ResendTask');
      if (ResendTaskBtn) {
        ResendTaskBtn.onClick = function () {
          this.$confirm("是否确认重新下发任务","重新下发任务警告",{
              confirmButtonText: "确定",
              cancelButtonText: "取消",
              type: "warning",
              center: true,
              }).then(() => {
                let rows = this.$refs.table.getSelected();
                if (rows.length == 0) return this.$error("请选择数据!");
                if (rows.length > 1) return this.$error("请选择一条数据!");
                var param = rows[0].taskNum;
                this.http
                .post("api/Task/ResendTask?taskNum="+param, "")
                .then((x) => {
                    if (x.status) {
                    this.$Message.success('任务重新下发');
                    this.refresh();
                  } else {
                    return this.$error(x.message);
                  }
                });
              });
        }
      }
      },
      onInited() {
        //框架初始化配置后
ÏîÄ¿´úÂë/WMS/WMSClient/src/router/viewGird.js
@@ -70,6 +70,14 @@
    name: 'inboundOrderDetail',
    component: () => import('@/views/inbound/inboundOrderDetail.vue')
  }, {
    path: '/proDeliverBackOrder',
    name: 'ProDeliverBackOrder',
    component: () => import('@/views/inbound/proDeliverBackOrder.vue')
  }, {
    path: '/proDeliverBackOrderDetail',
    name: 'ProDeliverBackOrderDetail',
    component: () => import('@/views/inbound/proDeliverBackOrderDetail.vue')
  },{
    path: '/outBSTOrder',
    name: 'outBSTOrder',
    component: () => import('@/views/outbound/outBSTOrder.vue')
@@ -77,13 +85,19 @@
    path: '/outBSTOrderDetail',
    name: 'outBSTOrderDetail',
    component: () => import('@/views/outbound/outBSTOrderDetail.vue')
  },
  {
  }, {
    path: '/outStockLockInfo',
    name: 'outStockLockInfo',
    component: () => import('@/views/outbound/outStockLockInfo.vue')
  },
  {
  },{
    path: '/proDeliveryOrder',
    name: 'ProDeliveryOrder',
    component: () => import('@/views/outbound/proDeliveryOrder.vue')
  },{
    path: '/proDeliveryOrderDetail',
    name: 'ProDeliveryOrderDetail',
    component: () => import('@/views/outbound/proDeliveryOrderDetail.vue')
  },{
    path: '/materielnfoStatistics',
    name: 'materielnfoStatistics',
    component: () => import('@/views/stock/materielnfoStatistics.vue')
@@ -202,9 +216,9 @@
    component: () => import('@/views/stock/proStockInfoDetail_Hty.vue')
  },
  {
    path: '/mesProInOrder',
    name: 'mesProInOrder',
    component: () => import('@/views/inbound/mesProInOrder.vue')
    path: '/mesProInOrderInfo',
    name: 'mesProInOrderInfo',
    component: () => import('@/views/inbound/mesProInOrderInfo.vue')
  },
  {
    path: '/mesProInOrderDetail',
@@ -232,6 +246,16 @@
    component: () => import('@/views/basic/agvStationInfo.vue')
  },
  {
    path: '/apiInfo',
    name: 'apiInfo',
    component: () => import('@/views/basic/apiInfo.vue')
  },
  {
    path: '/makeCenterInfo',
    name: 'makeCenterInfo',
    component: () => import('@/views/basic/makeCenterInfo.vue')
  },
  {
    path: '/outSGOrder',
    name: 'outSGOrder',
    component: () => import('@/views/outbound/outSGOrder.vue')
@@ -239,6 +263,18 @@
    path: '/purchaseBSTOrder',
    name: 'purchaseBSTOrder',
    component: () => import('@/views/inbound/purchaseBSTOrder.vue')
  },{
    path: '/outBSTPickInfo',
    name: 'outBSTPickInfo',
    component: () => import('@/views/outbound/outBSTPickInfo.vue')
  },{
    path: '/returnBSTOrder',
    name: 'returnBSTOrder',
    component: () => import('@/views/inbound/returnBSTOrder.vue')
  },{
    path: '/returnBSTOrderDetail',
    name: 'returnBSTOrderDetail',
    component: () => import('@/views/inbound/returnBSTOrderDetail.vue')
  }
]
export default viewgird
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/basic/apiInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,147 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  </view-grid>
</template>
    <script>
import extend from "@/extension/basic/apiInfo.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "接口信息",
      name: "apiInfo",
      url: "/ApiInfo/",
      sortName: "id",
    });
    const editFormFields = ref({
    });
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
        apiCode: "",
        apiName: "",
        enable: "",
        createDate: "",
    });
    const searchFormOptions = ref([
        [
            { title: "接口编号", field: "apiCode", type: "like" },
            { title: "接口名称", field: "apiName", type: "like" },
            { title: "状态", field: "enable", type: "select", dataKey: "enableEnum", data: [] },
            { title: "创建时间", field: "createDate", type: "datetime" },
        ],
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "apiCode",
        title: "接口编号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "apiName",
        title: "接口名称",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "apiAddress",
        title: "接口地址",
        type: "string",
        width: 300,
        align: "left",
      },
      {
        field: "enable",
        title: "状态",
        type: "string",
        width: 150,
        align: "left",
        bind:{key:"enableEnum",data: [] },
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
        hidden:true
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
        hidden:true
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
      table: "",
      columns: [],
      sortName: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/basic/customerInfo.vue
@@ -5,79 +5,83 @@
 *业务请在@/extension/widesea_wcs/order/Dt_CustomerInfo.js此处编写
 -->
<template>
    <view-grid ref="grid"
               :columns="columns"
               :detail="detail"
               :editFormFields="editFormFields"
               :editFormOptions="editFormOptions"
               :searchFormFields="searchFormFields"
               :searchFormOptions="searchFormOptions"
               :table="table"
               :extend="extend">
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
    import extend from "@/extension/basic/customerInfo.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'id',
                footer: "Foots",
                cnName: '客户信息',
                name: 'customerInfo',
                url: "/CustomerInfo/",
                sortName: "id"
            });
            const editFormFields = ref({
                outRule: ""
            });
            const editFormOptions = ref([[
                {
                    title: "出入库规则",
                    required: true,
                    field: "outRule",
                    type: "select",
                    dataKey: "customerOutRuleEnum",
                    data: [],
                },]
            ]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([
               [
                    {title:"客户编码", field:"code", type:"like"},
                    {title:"客户名称", field:"name", type:"like"},
                    {title:"客户全称", field : "nickName", type:"like"},
                    {title:"状态", field:"state",type:"select",dataKey:"",data:[{key:1, value:"启用"},{key:0, value:"禁用"}]}
               ]
            ]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'code',title:'客户编码',type:'string',width:110,align:'left'},
                       {field:'outRule',title:'出入库规则',type:'string',width:130,align:'left',bind: { key: "customerOutRuleEnum", data: [] } },
                       {field:'name',title:'客户名称',type:'string',width:110,align:'left'},
                       {field:'nickName',title:'客户全称',type:'string',width:120,align:'left'},
                       {field:'state',title:'状态',type:'bool',width:110,require:true,align:'left',bind: { key: "enableEnum", data: [] }},
                       {field:'creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left'},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left'}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
import extend from "@/extension/basic/customerInfo.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: 'id',
            footer: "Foots",
            cnName: '客户信息',
            name: 'customerInfo',
            url: "/CustomerInfo/",
            sortName: "id"
        });
        const editFormFields = ref({
            outRule: ""
        });
        const editFormOptions = ref([[
            {
                title: "出入库规则",
                required: true,
                field: "outRule",
                type: "select",
                dataKey: "customerOutRuleEnum",
                data: [],
            },]
        ]);
        const searchFormFields = ref({
            customerCode: "",
            customerName: "",
            shortName: "",
            state: "",
            createDate: ""
        });
        const searchFormOptions = ref([
            [
                { title: "客户编码", field: "customerCode", type: "like" },
                { title: "客户全称", field: "name", type: "like" },
                { title: "客户简称", field: "shortName", type: "like" },
                { title: "状态", field: "status", type: "select", dataKey: "enableEnum", data: [] },
            ],
            [
                { title: "创建时间", field: "createDate", type: "datetime" },
            ]
        ]);
        const columns = ref([
            { field: 'id', title: '主键', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
            { field: 'customerCode', title: '客户编码', type: 'string', width: 110, align: 'left' },
            { field: 'customerName', title: '客户全称', type: 'string', width: 120, align: 'left' },
            { field: 'shortName', title: '客户简称', type: 'string', width: 110, align: 'left' },
            { field: 'status', title: '状态', type: 'bool', width: 110, require: true, align: 'left', bind: { key: "enableEnum", data: [] } },
            { field: 'outRule', title: '出库规则', type: 'string', width: 130, align: 'left', bind: { key: "customerOutRuleEnum", data: [] } },
            { field: 'creater', title: '创建者', type: 'string', width: 110, require: true, align: 'left' },
            { field: 'createDate', title: '创建时间', type: 'datetime', width: 150, require: true, align: 'left' },
            { field: 'modifier', title: '修改人', type: 'string', width: 100, align: 'left' },
            { field: 'modifyDate', title: '修改日期', type: 'datetime', width: 150, align: 'left' }]);
        const detail = ref({
            cnName: "#detailCnName",
            table: "#detailTable",
            columns: [],
            sortName: "",
            key: ""
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/basic/makeCenterInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,147 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  </view-grid>
</template>
    <script>
import extend from "@/extension/basic/makeCenterInfo.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "加工中心信息",
      name: "makeCenterInfo",
      url: "/MakeCenterInfo/",
      sortName: "id",
    });
    const editFormFields = ref({
    });
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
    });
    const searchFormOptions = ref([
        [
            { title: "加工中心编码", field: "makeCode", type: "string" },
            { title: "加工中心名称", field: "makeName", type: "string" },
            { title: "加工区域", field: "makeArea", type: "string" },
             { title: "状态", field: "enable", type: "select", dataKey: "enableEnum", data: [] },
        ],
        [
            { title: "创建时间", field: "createDate", type: "datetime" },
        ],
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "makeCode",
        title: "加工中心编码",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "makeName",
        title: "加工中心名称",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "makeArea",
        title: "加工区域",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "status",
        title: "状态",
        type: "string",
        width: 150,
        align: "left",
        bind:{key:"enableEnum",data: [] },
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
        hidden:true
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
        hidden:true
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
      table: "",
      columns: [],
      sortName: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/basic/supplierInfo.vue
@@ -5,78 +5,73 @@
 *业务请在@/extension/widesea_wcs/order/Dt_SupplierInfo.js此处编写
 -->
<template>
    <view-grid ref="grid"
               :columns="columns"
               :detail="detail"
               :editFormFields="editFormFields"
               :editFormOptions="editFormOptions"
               :searchFormFields="searchFormFields"
               :searchFormOptions="searchFormOptions"
               :table="table"
               :extend="extend">
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
    import extend from "@/extension/basic/supplierInfo.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'id',
                footer: "Foots",
                cnName: '供应商信息',
                name: 'supplierInfo',
                url: "/SupplierInfo/",
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([
            ]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([
               [
                 {title:"供应商编码", field:"supplierCode", type:"like"},
                 {title:"供应商名称", field:"supplierName", type:"like"},
                 {title:"供应商简称", field:"supplierShortName", type:"like"}
                ],
                [
                 {title:"库存组织", field:"invOrgId", type:"like"},
                 {title:"状态", field:"status",type:"select",dataKey:"status",data:[]},
                ]
            ]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'supplierCode',title:'供应商编码',type:'string',width:110,align:'left',sort:true},
                       {field:'supplierName',title:'供应商名称',type:'string',width:180,align:'left'},
                       {field:'supplierShortName',title:'供应商简称',type:'string',width:110,align:'left'},
                       {field:'contacts',title:'联系人',type:'string',width:110,align:'left'},
                       {field:'contactNumber',title:'联系电话',type:'string',width:110,align:'left'},
                       {field:'contactAddress',title:'联系地址',type:'string',width:180,align:'left'},
                       {field:'email',title:'电子邮箱',type:'string',width:110,align:'left'},
                       {field:'description',title:'描述',type:'string',width:180,align:'left',hidden:true},
                       {field:'invOrgId',title:'库存组织',type:'string',width:110,align:'left'},
                       {field:'status',title:'状态',type:'int',width:110,require:true,align:'left',bind: { key: "status", data: [] },},
                       {field:'creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'modifier',title:'修改人',type:'string',width:100,align:'left',hidden:true},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true,hidden:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
import extend from "@/extension/basic/supplierInfo.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: 'id',
            footer: "Foots",
            cnName: '供应商信息',
            name: 'supplierInfo',
            url: "/SupplierInfo/",
            sortName: "id"
        });
        const editFormFields = ref({});
        const editFormOptions = ref([
        ]);
        const searchFormFields = ref({});
        const searchFormOptions = ref([
            [
                { title: "供应商编码", field: "supplierCode", type: "like" },
                { title: "供应商名称", field: "supplierName", type: "like" },
                { title: "供应商简称", field: "supplierShortName", type: "like" }
            ],
            [
                { title: "库存组织", field: "invOrgId", type: "like" },
                { title: "状态", field: "status", type: "select", dataKey: "status", data: [] },
                { title: "创建时间", field: "createDate", type: "datetime" }
            ]
        ]);
        const columns = ref([{ field: 'id', title: '主键', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
        { field: 'supplierCode', title: '供应商编码', type: 'string', width: 110, align: 'left', sort: true },
        { field: 'supplierName', title: '供应商名称', type: 'string', width: 180, align: 'left' },
        { field: 'supplierShortName', title: '供应商简称', type: 'string', width: 110, align: 'left' },
        { field: 'contacts', title: '联系人', type: 'string', width: 110, align: 'left' },
        { field: 'contactNumber', title: '联系电话', type: 'string', width: 110, align: 'left' },
        { field: 'contactAddress', title: '联系地址', type: 'string', width: 180, align: 'left' },
        { field: 'email', title: '电子邮箱', type: 'string', width: 110, align: 'left' },
        { field: 'description', title: '描述', type: 'string', width: 180, align: 'left', hidden: true },
        { field: 'invOrgId', title: '库存组织', type: 'string', width: 110, align: 'left' },
        { field: 'status', title: '状态', type: 'int', width: 110, require: true, align: 'left', bind: { key: "status", data: [] }, },
        { field: 'creater', title: '创建者', type: 'string', width: 110, require: true, align: 'left' },
        { field: 'createDate', title: '创建时间', type: 'datetime', width: 150, require: true, align: 'left', sort: true },
        { field: 'modifier', title: '修改人', type: 'string', width: 100, align: 'left', hidden: true },
        { field: 'modifyDate', title: '修改日期', type: 'datetime', width: 150, align: 'left', sort: true, hidden: true }]);
        const detail = ref({
            cnName: "#detailCnName",
            table: "#detailTable",
            columns: [],
            sortName: "",
            key: ""
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/inboundOrder.vue
@@ -1,19 +1,10 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
    <script>
<script>
import extend from "@/extension/inbound/inboundOrder.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
@@ -21,84 +12,36 @@
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "入库单",
      cnName: "新厂入库单",
      name: "inboundOrder",
      url: "/InboundOrder/",
      sortName: "id",
    });
    const editFormFields = ref({
      orderType: "",
      inboundOrderNo: "",
      upperOrderNo: "",
      remark: "",
    });
    const editFormOptions = ref([
      [
        {
          title: "单据类型",
          required: true,
          field: "orderType",
          type: "select",
          dataKey: "inOrderType",
          data: [],
        },
        {
          field: "inboundOrderNo",
          title: "单据编号",
          type: "string",
        },
        {
          title: "上游单据编号",
          field: "upperOrderNo",
          type: "string",
        },
        {
          title: "备注",
          field: "remark",
          type: "textarea",
        },
      ],
    ]);
    const searchFormFields = ref({
      warehouseId: "",
      inboundOrderNo: "",
      upperOrderNo: "",
      orderType: "",
      orderStatus: "",
      createType: "",
      creater: "",
      createDate: "",
    });
    const searchFormOptions = ref([
      [
        { title: "仓库", field: "warehouseId", type: "select", dataKey: "warehouses", data: [] },
        { title: "单据编号", field: "inboundOrderNo", type: "like" },
        { title: "上游单据编号", field: "upperOrderNo", type: "like" },
        {
          title: "单据类型",
          field: "orderType",
          type: "select",
          dataKey: "inOrderType",
          data: [],
        },
        {
          title: "单据状态",
          field: "orderStatus",
          type: "select",
          dataKey: "inboundState",
          data: [],
        },
        { title: "单据类型", field: "orderType", type: "select", dataKey: "inOrderTypeEnum", data: [], },
      ],
      [
        {
          title: "创建方式",
          field: "createType",
          type: "select",
          dataKey: "createType",
          data: [],
        },
        { title: "创建者", field: "creater", type: "like" },
        { title: "状态", field: "orderStatus", type: "select", dataKey: "inboundState", data: [], },
        { title: "创建时间", field: "createDate", type: "datetime" },
        { title: "所属仓库", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}
      ],
      ]
    ]);
    const columns = ref([
      {
@@ -112,12 +55,19 @@
        align: "left",
      },
      {
        field: "warehouseId",
        title: "仓库",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "warehouses", data: [] }
      },
      {
        field: "inboundOrderNo",
        title: "单据编号",
        type: "string",
        width: 120,
        width: 200,
        align: "left",
        link: true,
      },
      {
        field: "upperOrderNo",
@@ -127,23 +77,15 @@
        align: "left",
      },
      {
          field: "warehouseId",
          title: "仓库",
          type: "string",
          width: 90,
          align: "left",
          bind:{key: "warehouses", data: []}
      },
      {
        field: "orderType",
        title: "单据类型",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "inOrderType", data: [] },
        bind: { key: "inOrderTypeEnum", data: [] },
      },
      {
        field: "orderStatus",
        field: "inboundOrderStatus",
        title: "单据状态",
        type: "decimal",
        width: 90,
@@ -151,12 +93,11 @@
        bind: { key: "inboundState", data: [] },
      },
      {
        field: "createType",
        title: "创建方式",
        field: "remark",
        title: "备注",
        type: "string",
        width: 120,
        width: 150,
        align: "left",
        bind: { key: "createType", data: [] },
      },
      {
        field: "creater",
@@ -186,138 +127,13 @@
        width: 160,
        align: "left",
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 100,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "入库单明细",
      table: "InboundOrderDetail",
      columns: [
        {
          field: "id",
          title: "Id",
          type: "int",
          width: 90,
          hidden: true,
          readonly: true,
          require: true,
          align: "left",
        },
        {
          field: "orderId",
          title: "入库单主键",
          type: "string",
          width: 90,
          align: "left",
          hidden: true,
        },
        {
          field: "materielCode",
          title: "物料编号",
          type: "select",
          width: 150,
          align: "left",
          edit: { type: "" },
          required: true,
        },
        {
          field: "materielName",
          title: "物料名称",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "materielSpec",
          title: "物料规格",
          type: "select",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "batchNo",
          title: "批次号",
          type: "decimal",
          width: 90,
          align: "left",
          edit: { type: "" },
          required: true,
        },
        {
          field: "orderQuantity",
          title: "单据数量",
          type: "decimal",
          width: 90,
          align: "left",
          edit: { type: "number" },
          required: true,
        },
        {
          field: "receiptQuantity",
          title: "组盘数量",
          type: "int",
          width: 120,
          align: "left",
        },
        {
          field: "overInQuantity",
          title: "上架数量",
          type: "string",
          width: 200,
          align: "left",
        },
        {
          field: "orderDetailStatus",
          title: "订单明细状态",
          type: "string",
          width: 180,
          align: "left",
          bind: { key: "orderDetailStatusEnum", data: [] },
        },
        {
          field: "creater",
          title: "创建人",
          type: "string",
          width: 90,
          align: "left",
        },
        {
          field: "createDate",
          title: "创建时间",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "modifier",
          title: "修改人",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "modifyDate",
          title: "修改时间",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "remark",
          title: "备注",
          type: "string",
          width: 100,
          align: "left",
        },
      ],
      sortName: "id",
      key: "id",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
@@ -331,5 +147,4 @@
    };
  },
});
</script>
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/inboundOrderDetail.vue
@@ -1,221 +1,220 @@
<template>
    <view-grid
      ref="grid"
      :columns="columns"
      :detail="detail"
      :editFormFields="editFormFields"
      :editFormOptions="editFormOptions"
      :searchFormFields="searchFormFields"
      :searchFormOptions="searchFormOptions"
      :table="table"
      :extend="extend"
    >
    </view-grid>
  </template>
    <script>
  import extend from "@/extension/inbound/inboundOrderDetail.js";
  import { ref, defineComponent } from "vue";
  export default defineComponent({
    setup() {
      const table = ref({
        key: "id",
        footer: "Foots",
        cnName: "入库单明细",
        name: "inboundOrderDetail",
        url: "/InboundOrderDetail/",
        sortName: "id",
      });
      const editFormFields = ref({
        deviceCode: "",
        deviceName: "",
        deviceType: "",
        deviceStatus: "",
        deviceIp: "",
        devicePort: "",
        devicePlcType: "",
        deviceRemark: "",
      });
      const editFormOptions = ref([
        [
          {
            title: "设备编号",
            required: true,
            field: "deviceCode",
            type: "string",
          },
          {
            title: "设备名称",
            required: true,
            field: "deviceName",
            type: "string",
          },
          {
            title: "设备类型",
            required: true,
            field: "deviceType",
            type: "string",
          },
          {
            title: "设备状态",
            required: true,
            field: "deviceStatus",
            type: "string",
          },
        ],
        [
          { title: "设备IP", required: true, field: "deviceIp", type: "string" },
          {
            title: "设备端口",
            required: true,
            field: "devicePort",
            type: "string",
          },
          {
            title: "PLC类型",
            required: true,
            field: "devicePlcType",
            type: "string",
          },
          {
            title: "备注",
            field: "deviceRemark",
            type: "string",
          },
        ],
      ]);
      const searchFormFields = ref({
        deviceCode: "",
        deviceType: "",
        deviceStatus: "",
      });
      const searchFormOptions = ref([
        [
          { title: "设备编号", field: "deviceCode" },
          { title: "设备类型", field: "deviceType" },
          { title: "设备状态", field: "deviceStatus" },
        ],
      ]);
      const columns = ref([
        {
          field: "id",
          title: "Id",
          type: "int",
          width: 90,
          hidden: true,
          readonly: true,
          require: true,
          align: "left",
        },
        {
          field: "orderId",
          title: "入库单主键",
          type: "string",
          width: 90,
          align: "left",
        },
        {
          field: "materielCode",
          title: "物料编号",
          type: "string",
          width: 150,
          align: "left",
        },
        {
          field: "materielName",
          title: "物料名称",
          type: "string",
          width: 150,
          align: "left",
        },
        {
          field: "batchNo",
          title: "批次号",
          type: "decimal",
          width: 90,
          align: "left",
        },
        {
          field: "orderQuantity",
          title: "单据数量",
          type: "string",
          width: 90,
          align: "left",
        },
        {
          field: "receiptQuantity",
          title: "组盘数量",
          type: "int",
          width: 120,
          align: "left",
        },
        {
          field: "overInQuantity",
          title: "上架数量",
          type: "string",
          width: 200,
          align: "left",
        },
        {
          field: "orderDetailStatus",
          title: "订单明细状态",
          type: "string",
          width: 180,
          align: "left",
        },
        {
          field: "creater",
          title: "创建人",
          type: "string",
          width: 90,
          align: "left",
        },
        {
          field: "createDate",
          title: "创建时间",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "modifier",
          title: "修改人",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "modifyDate",
          title: "修改时间",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "remark",
          title: "备注",
          type: "string",
          width: 100,
          align: "left",
        },
      ]);
      const detail = ref({
        cnName: "#detailCnName",
        table: "",
        columns: [],
        sortName: "",
      });
      return {
        table,
        extend,
        editFormFields,
        editFormOptions,
        searchFormFields,
        searchFormOptions,
        columns,
        detail,
      };
    },
  });
  </script>
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
<script>
import extend from "@/extension/inbound/inboundOrderDetail.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "新厂入库单明细",
      name: "inboundOrderDetail",
      url: "/InboundOrderDetail/",
      sortName: "id",
    });
    const editFormFields = ref({
    });
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
      orderId: "",
      detailId: "",
      barCode: "",
      materielCode: "",
      materielName: "",
      batchNo: "",
      orderDetailStatus: "",
      createDate: "",
    });
    const searchFormOptions = ref([
      [
        { title: "入库单", field: "orderId", type: "like" },
        { title: "上游明细Id", field: "detailId", type: "like" },
        { title: "物料条码", field: "barCode", type: "like" },
        { title: "物料编号", field: "materielCode", type: "like" },
      ],
      [
        { title: "物料名称", field: "materielName", type: "like" },
        { title: "物料批次", field: "batchNo", type: "like" },
        { title: "状态", field: "orderDetailStatus", type: "select", dataKey: "inboundState", data: [], },
        { title: "创建时间", field: "createDate", type: "datetime", },
      ],
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "orderId",
        title: "入库单",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "detailId",
        title: "上游明细Id",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "barCode",
        title: "物料条码",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialCode",
        title: "物料编号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialName",
        title: "物料名称",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialLot",
        title: "物料批次",
        type: "decimal",
        width: 90,
        align: "left",
      },
      {
        field: "materialWide",
        title: "幅宽",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "materialThick",
        title: "卷径",
        type: "int",
        width: 120,
        align: "left",
      },
      {
        field: "materialWeight",
        title: "重量",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "materialSpec",
        title: "规格",
        type: "string",
        width: 180,
        align: "left",
      },
      {
        field: "orderQuantity",
        title: "单据数量",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "bindQuantity",
        title: "组盘数量",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "inQuantity",
        title: "已入库数量",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "orderDetailStatus",
        title: "明细状态",
        type: "string",
        width: 120,
        align: "left",
      },
      {
        field: "unit",
        title: "单位",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
      table: "",
      columns: [],
      sortName: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/mesProInOrder.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/mesProInOrderInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,238 @@
<template>
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
<script>
import extend from "@/extension/inbound/mesProInOrderInfo.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "MES成品/半成品单",
      name: "mesProInOrderInfo",
      url: "/MesProInOrderInfo/",
      sortName: "id",
    });
    const editFormFields = ref({
    });
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
      warehouseId:"",
      productOrderNo:"",
      mESProOrderType:"",
      mESProOrderStatus:"",
      materialCode:"",
      materialLot:"",
      proPackCode:"",
      createDate:"",
    });
    const searchFormOptions = ref([
      [
        { title: "仓库", field: "warehouseId", type: "select", dataKey: "warehouses", data: [], },
        { title: "生产订单编码", field: "productOrderNo", type: "like" },
        { title: "订单类型", field: "mESProOrderType", type: "select", dataKey: "inOrderTypeEnum", data: [], },
        { title: "单据状态", field: "mESProInStatus", type: "select", dataKey: "inboundState", data: [], },
      ],
      [
        { title: "物料编号", field: "materialCode", type: "like" },
        { title: "物料批次", field: "materialLot", type: "like" },
        { title: "纸箱物料编码", field: "proPackCode", type: "like" },
        { title: "创建时间", field: "createDate", type: "datetime" },
      ],
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "warehouseId",
        title: "仓库",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "warehouses", data: [] }
      },
      {
        field: "productOrderNo",
        title: "生产订单编码",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "processNum",
        title: "工序序号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "mesProOrderType",
        title: "订单类型",
        type: "select",
        width: 150,
        align: "left",
        bind: { key: "inOrderTypeEnum", data: [] },
      },
      {
        field: "processNum",
        title: "派单工单编码",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "materialCode",
        title: "物料编号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialLot",
        title: "物料批次",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "gradeCode",
        title: "物料等级",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "proQuantity",
        title: "物料数量",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "barCode",
        title: "物料条码",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "thickness",
        title: "卷径",
        type: "string",
        width: 120,
        align: "left",
      },
      {
        field: "wide",
        title: "幅宽",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "weight",
        title: "重量",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "proPackCode",
        title: "成品包材纸箱物料编码",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "length",
        title: "箱长",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "width",
        title: "箱宽",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "height",
        title: "箱高",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "mesProInStatus",
        title: "单据状态",
        type: "decimal",
        width: 90,
        align: "left",
        bind: { key: "inboundState", data: [] },
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "入库单明细",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/proDeliverBackOrder.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,199 @@
<template>
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
import extend from "@/extension/inbound/proDeliverBackOrder.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: "id",
            footer: "Foots",
            cnName: "成品销售退货入库单",
            name: "proDeliverBackOrder",
            url: "/ProDeliverBackOrder/",
            sortName: "id",
        });
        const editFormFields = ref({
        });
        const editFormOptions = ref([
            [
                {
                    title: "仓库",
                    required: true,
                    field: "warehouseId",
                    type: "string",
                },
                {
                    title: "WMS单据编号",
                    required: true,
                    field: "deliveryBackInCode",
                    type: "string",
                },
                {
                    title: "成品销售退货单号",
                    required: true,
                    field: "deliveryBackCode",
                    type: "string",
                },
                {
                    title: "订单类型",
                    required: true,
                    field: "orderType",
                    type: "string",
                },
                {
                    title: "操作员工",
                    required: true,
                    field: "employeeName",
                    type: "string",
                },
                {
                    title: "状态",
                    required: true,
                    field: "deliveryBackStatus",
                    type: "decimal",
                },
                {
                    title: "备注",
                    required: false,
                    field: "remark",
                    type: "string",
                },
            ],
        ]);
        const searchFormFields = ref({
            warehouseId: "",
            deliveryBackInCode: "",
            deliveryBackCode: "",
            orderType: "",
            employeeName: "",
            deliveryBackStatus: "",
        });
        const searchFormOptions = ref([
            [
                { title: "仓库", field: "warehouseId", type: "select", dataKey: "warehouses", data: [] },
                { title: "WMS单号", field: "deliveryBackInCode", type: "like" },
                { title: "成品单号", field: "deliveryBackCode", type: "like" },
                { title: "订单类型", field: "orderType", type: "select", dataKey: "inOrderTypeEnum", data: [] },
            ],
            [
                { title: "操作员工", field: "employeeName", type: "like" },
                { title: "状态", field: "deliveryBackStatus", type: "select", dataKey: "inboundState", data: [] },
                { title: "创建时间", field: "createDate", type: "datetime" },
            ],
        ]);
        const columns = ref([
            {
                field: "id",
                title: "Id",
                type: "int",
                width: 90,
                hidden: true,
                readonly: true,
                require: true,
                align: "left",
            },
            {
                field: "warehouseId",
                title: "仓库",
                type: "string",
                width: 70,
                align: "left",
            },
            {
                field: "deliveryBackInCode",
                title: "WMS单号",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "deliveryBackCode",
                title: "成品单号",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "orderType",
                title: "订单类型",
                type: "select",
                width: 150,
                align: "left",
                bind: { key: "inOrderTypeEnum", data: [] },
            },
            {
                field: "employeeName",
                title: "操作员工",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "deliveryBackStatus",
                title: "状态",
                type: "select",
                width: 90,
                align: "left",
                bind: { key: "inboundState", data: [] },
            },
            {
                field: "remark",
                title: "备注",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "creater",
                title: "创建人",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "createDate",
                title: "创建时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
            {
                field: "modifier",
                title: "修改人",
                type: "string",
                width: 100,
                align: "left",
            },
            {
                field: "modifyDate",
                title: "修改时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
        ]);
        const detail = ref({
            cnName: "#detailCnName",
            table: "",
            columns: [],
            sortName: "",
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/proDeliverBackOrderDetail.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,236 @@
<template>
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
import extend from "@/extension/inbound/proDeliverBackOrderDetail.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: "id",
            footer: "Foots",
            cnName: "成品销售退货入库单明细",
            name: "proDeliverBackOrderDetail",
            url: "/ProDeliverBackOrderDetail/",
            sortName: "id",
        });
        const editFormFields = ref({
        });
        const editFormOptions = ref([
            [
                {
                    title: "头表",
                    required: true,
                    field: "deliverBackId",
                    type: "string",
                },
                {
                    title: "销售出库发货单号",
                    required: true,
                    field: "deliverCode",
                    type: "string",
                },
                {
                    title: "销售单号",
                    required: true,
                    field: "saleOrderNo",
                    type: "string",
                },
                {
                    title: "物料条码",
                    required: true,
                    field: "barCode",
                    type: "string",
                },
                {
                    title: "物料编号",
                    required: true,
                    field: "materialCode",
                    type: "string",
                },
                {
                    title: "物料名称",
                    required: true,
                    field: "materialName",
                    type: "string",
                },
            ],
        ]);
        const searchFormFields = ref({
            deliverBackId: "",
            deliverCode: "",
            saleOrderNo: "",
            barCode: "",
            materialCode: "",
            materialName: "",
            materialLot: "",
            quantity: "",
            customer: "",
        });
        const searchFormOptions = ref([
            [
                { title: "头表", field: "deliverBackId", type: "like" },
                { title: "出库单号", field: "deliverCode", type: "like" },
                { title: "销售单号", field: "saleOrderNo", type: "like" },
                { title: "物料条码", field: "barCode", type: "like" },
            ],
            [
                { title: "物料编号", field: "materialCode", type: "like" },
                { title: "物料名称", field: "materialName", type: "like" },
                { title: "物料批次", field: "materialLot", type: "like" },
                { title: "客户编号", field: "customer", type: "like" },
            ],
            [
                { title: "状态", field: "deliverBackDetailStatus", type: "select", dataKey: "inboundState", data: [] },
                { title:"创建时间", field:"createDate", type:"datetime" },
            ]
        ]);
        const columns = ref([
            {
                field: "id",
                title: "Id",
                type: "int",
                width: 90,
                hidden: true,
                readonly: true,
                require: true,
                align: "left",
            },
            {
                field: "deliverBackId",
                title: "头表",
                type: "string",
                width: 70,
                align: "left",
            },
            {
                field: "deliverCode",
                title: "出库单号",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "saleOrderNo",
                title: "销售单号",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "barCode",
                title: "物料条码",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "materialCode",
                title: "物料编号",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "materielName",
                title: "物料名称",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "materialLot",
                title: "物料批次",
                type: "decimal",
                width: 90,
                align: "left",
            },
            {
                field: "quantity",
                title: "数量",
                type: "decimal",
                width: 90,
                align: "left",
            },
            {
                field: "customer",
                title: "客户编号",
                type: "string",
                width: 100,
                align: "left",
            },
            {
                field: "backInboundQty",
                title: "已入库数量",
                type: "decimal",
                width: 120,
                align: "left",
            },
            {
                field: "deliverBackDetailStatus",
                title: "状态",
                type: "string",
                width: 120,
                align: "left",
                bind: { key: "inboundState", data: [] },
            },
            {
                field: "unit",
                title: "单位",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "creater",
                title: "创建人",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "createDate",
                title: "创建时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
            {
                field: "modifier",
                title: "修改人",
                type: "string",
                width: 100,
                align: "left",
            },
            {
                field: "modifyDate",
                title: "修改时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
        ]);
        const detail = ref({
            cnName: "#detailCnName",
            table: "",
            columns: [],
            sortName: "",
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/purchaseOrder.vue
@@ -1,19 +1,10 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
    <script>
<script>
import extend from "@/extension/inbound/purchaseOrder.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
@@ -21,67 +12,64 @@
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "采购单",
      cnName: "二期采购单",
      name: "purchaseOrder",
      url: "/PurchaseOrder/",
      sortName: "id",
    });
    const editFormFields = ref({
      // orderType: "",
      // inboundOrderNo: "",
      // upperOrderNo: "",
      // remark: "",
      orderType: "",
      inboundOrderNo: "",
      upperOrderNo: "",
      remark: "",
    });
    const editFormOptions = ref([
      // [
      //   {
      //     title: "单据类型",
      //     required: true,
      //     field: "orderType",
      //     type: "select",
      //     dataKey: "inOrderType",
      //     data: [],
      //   },
      //   {
      //     field: "inboundOrderNo",
      //     title: "单据编号",
      //     type: "string",
      //   },
      //   {
      //     title: "上游单据编号",
      //     field: "upperOrderNo",
      //     type: "string",
      //   },
      //   {
      //     title: "备注",
      //     field: "remark",
      //     type: "textarea",
      //   },
      // ],
      [
        {
          title: "单据类型",
          required: true,
          field: "orderType",
          type: "select",
          dataKey: "inOrderType",
          data: [],
        },
        {
          field: "inboundOrderNo",
          title: "单据编号",
          type: "string",
        },
        {
          title: "上游单据编号",
          field: "upperOrderNo",
          type: "string",
        },
        {
          title: "备注",
          field: "remark",
          type: "textarea",
        },
      ],
    ]);
    const searchFormFields = ref({
      purchaseOrderNo: "",
      purchaseOrderType: "",
      purchaseOrderStatus: "",
      inboundOrderNo: "",
      upperOrderNo: "",
      orderType: "",
      orderStatus: "",
      createType: "",
      creater: "",
      createDate: "",
    });
    const searchFormOptions = ref([
      [
        { title: "采购单号", field: "purchaseOrderNo", type: "like" },
        {
          title: "单据类型",
          field: "purchaseOrderType",
          type: "select",
          dataKey: "purchaseType",
          data: [],
        },
        {
          title: "单据状态",
          field: "purchaseOrderStatus",
          type: "select",
          dataKey: "purchaseOrderStatus",
          data: [],
        },
      ]
        { title: "仓库", field: "warehouseId", type: "select", dataKey: "warehouses", data: [], },
        { title: "单据编号", field: "inboundOrderNo", type: "like" },
        { title: "上游单号", field: "upperOrderNo", type: "like" },
        { title: "状态", field: "orderStatus", type: "select", dataKey: "inboundState", data: [], },
      ],
      [
        {title: "创建时间",field: "createDate",type: "datetime",},
      ],
    ]);
    const columns = ref([
      {
@@ -95,49 +83,47 @@
        align: "left",
      },
      {
        field: "warehouseId",
        title: "仓库",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "warehouses", data: [] },
      },
      {
        field: "purchaseOrderNo",
        title: "采购单号",
        type: "string",
        width: 150,
        align: "left",
        link: true,
      },
      {
        field: "purchaseOrderType",
        title: "单据类型",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "", data: [{key:'S',value:"标准入库"},{key:'V',value:"寄售补给入库"}] },
      },
      {
        field: "supplierCode",
        title: "供应商编号",
        type: "string",
        width: 120,
        width: 150,
        align: "left",
      },
      {
        field: "orderQuantity",
        title: "采购数量",
        type: "decimal",
        type: "int",
        width: 90,
        align: "left",
      },
      {
        field: "purchaseOrderStatus",
        title: "采购单状态",
        title: "状态",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "purchaseOrderStatus", data: [] },
        bind: { key: "inboundState", data: [] },
      },
      {
        field: "orderDate",
        title: "下单日期",
        field: "remark",
        title: "备注",
        type: "string",
        width: 160,
        width: 200,
        align: "left",
      },
      {
@@ -153,7 +139,6 @@
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
@@ -178,140 +163,9 @@
      },
    ]);
    const detail = ref({
      cnName: "采购单明细",
      table: "InboundOrderDetail",
      columns: [
        {
          field: "id",
          title: "Id",
          type: "int",
          width: 90,
          hidden: true,
          readonly: true,
          require: true,
          align: "left",
        },
        {
          field: "purchaseOrderId",
          title: "采购单主键",
          type: "string",
          width: 90,
          align: "left",
          hidden: true,
        },
        {
          field: "rowNo",
          title: "行号",
          type: "string",
          width: 150,
          align: "left"
        },
        {
          field: "materielCode",
          title: "物料编号",
          type: "select",
          width: 150,
          align: "left",
          edit: { type: "" },
          required: true,
        },
        {
          field: "materielName",
          title: "物料名称",
          type: "string",
          width: 100,
          align: "left"
        },
        {
          field: "materielSpec",
          title: "物料规格",
          type: "select",
          type: "string",
          width: 100,
          align: "left",
        },
        // {
        //   field: "batchNo",
        //   title: "批次号",
        //   type: "decimal",
        //   width: 90,
        //   align: "left",
        //   edit: { type: "" },
        //   required: true,
        // },
        {
          field: "purchaseDetailQuantity",
          title: "单据数量",
          type: "decimal",
          width: 100,
          align: "left",
        },
        {
          field:"purchaseDetailReceiveQty",
          title: "已收数量",
          type: "decimal",
          width: 100,
          align: "left",
        },
        {
          field: "unit",
          title: "单位",
          type: "string",
          width: 120,
          align: "left",
        },
        {
          field: "warehouseId",
          title: "仓库",
          type: "string",
          width: 100,
          align: "left",
          bind: { key: "warehouses", data: [] },
        },
        {
          field: "purchaseDetailStatus",
          title: "订单明细状态",
          type: "string",
          width: 180,
          align: "left",
          bind: { key: "purchaseOrderStatus", data: [] },
        },
        {
          field: "creater",
          title: "创建人",
          type: "string",
          width: 90,
          align: "left",
        },
        {
          field: "createDate",
          title: "创建时间",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "modifier",
          title: "修改人",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "modifyDate",
          title: "修改时间",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "remark",
          title: "备注",
          type: "string",
          width: 100,
          align: "left",
        },
      ],
      cnName: "#detailCnName",
      table: "",
      columns: [],
      sortName: "id",
      key: "id",
    });
@@ -327,5 +181,4 @@
    };
  },
});
</script>
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/purchaseOrderDetail.vue
@@ -1,67 +1,205 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wcs/order/Dt_PurchaseOrderDetail.js此处编写
 -->
<template>
    <view-grid ref="grid"
               :columns="columns"
               :detail="detail"
               :editFormFields="editFormFields"
               :editFormOptions="editFormOptions"
               :searchFormFields="searchFormFields"
               :searchFormOptions="searchFormOptions"
               :table="table"
               :extend="extend">
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
    import extend from "@/extension/inbound/purchaseOrderDetail.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'id',
                footer: "Foots",
                cnName: '采购单明细',
                name: 'purchaseOrderDetail',
                url: "/PurchaseOrderDetail/",
                sortName: "id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({});
            const searchFormOptions = ref([]);
            const columns = ref([{field:'id',title:'主键',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'purchaseOrderId',title:'头表主键',type:'int',width:110,require:true,align:'left',sort:true},
                       {field:'rowNo',title:'行号',type:'int',width:110,require:true,align:'left'},
                       {field:'materielCode',title:'物料编号',type:'string',width:110,require:true,align:'left'},
                       {field:'purchaseDetailStatus',title:'采购单明细状态',type:'int',width:110,require:true,align:'left'},
                       {field:'warehouseId',title:'WarehouseId',type:'int',width:110,require:true,align:'left'},
                       {field:'purchaseDetailQuantity',title:'PurchaseDetailQuantity',type:'float',width:110,require:true,align:'left'},
                       {field:'unit',title:'Unit',type:'string',width:110,require:true,align:'left'},
                       {field:'creater',title:'创建者',type:'string',width:110,require:true,align:'left'},
                       {field:'createDate',title:'创建时间',type:'datetime',width:150,require:true,align:'left',sort:true},
                       {field:'codifier',title:'修改人',type:'string',width:100,align:'left'},
                       {field:'modifyDate',title:'修改日期',type:'datetime',width:150,align:'left',sort:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                table: "#detailTable",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
</script>
import extend from "@/extension/inbound/purchaseOrderDetail.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: "id",
            footer: "Foots",
            cnName: "二期采购单明细",
            name: "purchaseOrderDetail",
            url: "/PurchaseOrderDetail/",
            sortName: "id",
        });
        const editFormFields = ref({
        });
        const editFormOptions = ref([
        ]);
        const searchFormFields = ref({
            purchaseOrderId: "",
            detailId: "",
            barCode: "",
            materielCode: "",
            materielName: "",
            purchaseDetailStatus: "",
        });
        const searchFormOptions = ref([
            [
                { title: "头表", field: "purchaseOrderId", type: "like" },
                { title: "上游明细Id", field: "detailId", type: "like" },
                { title: "物料条码", field: "barCode", type: "like" },
                { title: "物料编号", field: "materielCode", type: "like" },
            ],
            [
                { title: "物料名称", field: "materielName", type: "like" },
                { title: "状态", field: "purchaseDetailStatus", type: "select", dataKey: "inboundState", data: [] },
            ]
        ]);
        const columns = ref([
            {
                field: "id",
                title: "Id",
                type: "int",
                width: 90,
                hidden: true,
                readonly: true,
                require: true,
                align: "left",
            },
            {
                field: "purchaseOrderId",
                title: "头表",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "detailId",
                title: "上游明细Id",
                type: "string",
                width: 120,
                align: "left",
            },
            {
                field: "barCode",
                title: "物料条码",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "materialCode",
                title: "物料编号",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "materielName",
                title: "物料名称",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "materialLot",
                title: "物料批次",
                type: "string",
                width: 120,
                align: "left",
            },
            {
                field: "purchaseDetailQuantity",
                title: "数量",
                type: "int",
                width: 90,
                align: "left",
            },
            {
                field: "purchaseDetailWide",
                title: "幅宽",
                type: "int",
                width: 90,
                align: "left",
            },
            {
                field: "purchaseDetailThickness",
                title: "卷径",
                type: "int",
                width: 90,
                align: "left",
            },
            {
                field: "purchaseDetailWeight",
                title: "重量",
                type: "string",
                width: 120,
                align: "left",
            },
            {
                field: "materielSpec",
                title: "物料规格",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "purchaseDetailStatus",
                title: "明细状态",
                type: "string",
                width: 90,
                align: "left",
                bind: { key: "inboundState", data: [] },
            },
            {
                field: "purchaseDetailInboundQty",
                title: "已入库数量",
                type: "int",
                width: 90,
                align: "left",
            },
            {
                field: "unit",
                title: "单位",
                type: "int",
                width: 90,
                align: "left",
            },
            {
                field: "creater",
                title: "创建人",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "createDate",
                title: "创建时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
            {
                field: "modifier",
                title: "修改人",
                type: "string",
                width: 100,
                align: "left",
            },
            {
                field: "modifyDate",
                title: "修改时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
        ]);
        const detail = ref({
            cnName: "#detailCnName",
            table: "",
            columns: [],
            sortName: "id",
            key: "id",
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/returnBSTOrder.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,167 @@
<template>
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
<script>
import extend from "@/extension/inbound/returnBSTOrder.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "BST退料单",
      name: "returnBSTOrder",
      url: "/returnBSTOrder/",
      sortName: "id",
    });
    const editFormFields = ref({
    });
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
      warehouseId:"",
      paperWreturnId:"",
      returnInboundNo:"",
      paperWreturnNo:"",
      returnDate:"",
    });
    const searchFormOptions = ref([
      [
        { title: "仓库", field: "warehouseId", type: "select", dataKey: "warehouses", data: [] },
        { title: "退料单来源ID", field: "paperWreturnId", type: "like" },
        { title: "WMS单号", field: "returnInboundNo", type: "like" },
        { title: "退料单号", field: "paperWreturnNo", type: "like", },
      ],
      [
        { title: "退料日期", field: "returnDate", type: "datetime", }
      ],
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "warehouseId",
        title: "仓库",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "warehouses", data: [] }
      },
      {
        field: "paperWreturnId",
        title: "退料单来源ID",
        type: "int",
        width: 120,
        align: "left",
      },
      {
        field: "returnInboundNo",
        title: "WMS单据编号",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "paperWreturnNo",
        title: "退料单编号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "employeeName",
        title: "退料员工",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "totalPaperWreturnLength",
        title: "退料总长度",
        type: "decimal",
        width: 150,
        align: "left",
      },
      {
        field: "returnOrderStatus",
        title: "退料单状态",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "wreturnDate",
        title: "退料日期",
        type: "date",
        width: 150,
        align: "left",
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "入库单明细",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/inbound/returnBSTOrderDetail.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,214 @@
<template>
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
<script>
import extend from "@/extension/inbound/returnBSTOrderDetail.js";
import { ref, defineComponent } from "vue";
import { data } from "vue-barcode";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "BST退料单明细",
      name: "returnBSTOrderDetail",
      url: "/ReturnBSTOrderDetail/",
      sortName: "id",
    });
    const editFormFields = ref({
    });
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
      returnBSTOrderId:"",
      paperWreturnId:"",
      materialId:"",
      barcode:"",
      materialNo:"",
      materialName:"",
      seqNo:"",
      returnBSTOrderDetailStatus:"",
    });
    const searchFormOptions = ref([
      [
        { title: "头表", field: "returnBSTOrderId", type: "like" },
        { title: "退料来源ID", field: "paperWreturnId", type: "like" },
        { title: "物料来源ID", field: "materialId", type: "like" },
        { title: "物料条码", field: "barcode", type: "like" },
      ],
      [
        { title: "物料编号", field: "materialNo", type: "like" },
        { title: "物料名称", field: "materialName", type: "like" },
        { title: "批次序列号", field: "seqNo", type: "like" },
        { title: "状态", field: "returnBSTOrderDetailStatus", type: "select", dataKey: "inboundState", data: [], },
      ],
      [
        { title: "创建时间", field: "createDate", type: "datetime" },
      ]
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "returnBSTOrderId",
        title: "头表",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "paperWreturnId",
        title: "退料来源ID",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialId",
        title: "物料来源ID",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "barcode",
        title: "物料条码",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialNo",
        title: "物料编号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialName",
        title: "物料名称",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "seqNo",
        title: "批次序列号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "unit",
        title: "单位",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialWide",
        title: "幅宽",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialThick",
        title: "直径",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "procurementLength",
        title: "退料长度",
        type: "decimal",
        width: 150,
        align: "left",
      },
      {
        field: "qty",
        title: "退料数量",
        type: "decimal",
        width: 150,
        align: "left",
      },
      {
        field: "returnBSTOrderDetailStatus",
        title: "状态",
        type: "select",
        width: 90,
        align: "left",
        bind: { key: "inboundState", data: [] },
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "入库单明细",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/outbound/outBSTPickInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,187 @@
<template>
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
import extend from "@/extension/outbound/outBSTPickInfo.js";
import { ref, defineComponent } from "vue";
import { data } from "vue-barcode";
export default defineComponent({
    setup() {
        const table = ref({
            key: "id",
            footer: "Foots",
            cnName: "博思通领料信息",
            name: "outBSTPickInfo",
            url: "/OutBSTPickInfo/",
            sortName: "id",
        });
        const editFormFields = ref({
        });
        const editFormOptions = ref([
        ]);
        const searchFormFields = ref({
        });
        const searchFormOptions = ref([
            [
                { title: "出库主表ID", field: "outBSTOrderId", type: "like" },
                { title: "关联主表ID", field: "boardMpsId", type: "like" },
                { title: "物料来源ID", field: "materialId", type: "like" },
                { title: "物料编号", field: "materialNo", type: "like" },
            ],
            [
                { title: "物料名称", field: "materialName", type: "like" },
                { title: "状态", field: "outBSTOrderDetailStatus", type: "select", dataKey: "outboundStatusEnum", data: [] },
                { title: "创建时间", field: "createDate", type: "datetime" },
            ],
        ]);
        const columns = ref([
            {
                field: "id",
                title: "Id",
                type: "int",
                width: 90,
                hidden: true,
                readonly: true,
                require: true,
                align: "left",
            },
            {
                field: "outBSTOrderId",
                title: "出库主表ID",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "boardMpsId",
                title: "关联的主表ID",
                type: "string",
                width: 100,
                align: "left",
            },
            {
                field: "width",
                title: "幅宽",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "xqLen",
                title: "需求长度",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "totalUsage",
                title: "总用量",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "materialId",
                title: "物料来源ID",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "materialNo",
                title: "物料编号",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "materialName",
                title: "物料名称",
                type: "string",
                width: 150,
                align: "left",
            },
            {
                field: "procurementLength",
                title: "采购长度",
                type: "string",
                width: 110,
                align: "left",
            },
            {
                field: "assignTotalUsage",
                title: "已分配用量",
                type: "string",
                width: 110,
                align: "left",
            },
            {
                field: "outTotalUsage",
                title: "已出用量",
                type: "string",
                width: 110,
                align: "left",
            },
            {
                field: "outBSTOrderDetailStatus",
                title: "状态",
                type: "select",
                width: 90,
                align: "left",
                bind: { key: "outboundStatusEnum", data: [] },
            },
            {
                field: "creater",
                title: "创建人",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "createDate",
                title: "创建时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
            {
                field: "modifier",
                title: "修改人",
                type: "string",
                width: 100,
                align: "left",
            },
            {
                field: "modifyDate",
                title: "修改时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
        ]);
        const detail = ref({
            cnName: "入库单明细",
            table: "",
            columns: [],
            sortName: "",
            key: "",
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/outbound/outStockLockInfo.vue
@@ -96,7 +96,7 @@
          title: "单据类型",
          field: "orderType",
          type: "select",
          dataKey: "outOrderType",
          dataKey: "outOrderTypeEnum",
          data: [],
        },
        
@@ -111,8 +111,11 @@
        {title: "货位编号",field: "locationCode",type: "like",},
        { title: "托盘编号", field: "palletCode", type: "like" },
        { title: "任务号", field: "taskNum", type: "like" },
        { title: "状态", field: "status", type: "select",dataKey:"outLockStockStatusEnum", data:[]},
        { title: "状态", field: "status", type: "select",dataKey:"outboundStatusEnum", data:[]},
      ],
      [
        { title: "创建时间", field: "createDate", type: "datetime" },
      ]
    ]);
    const columns = ref([
      {
@@ -131,7 +134,34 @@
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "orderType",
        title: "单据类型",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "outOrderTypeEnum", data: [] },
      },
      {
        field: "orderDetailId",
        title: "单据明细主键",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "materielId",
        title: "物料id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "batchNo",
@@ -149,20 +179,21 @@
        align: "left",
      },
      {
        field: "orderType",
        title: "单据类型",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "outOrderType", data: [] },
      },
      {
        field: "materielName",
        title: "物料名称",
        type: "string",
        width: 120,
        align: "left",
      },
      {
        field: "stockId",
        title: "库存主键",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "orderQuantity",
@@ -207,17 +238,17 @@
        align: "left",
      },
      {
        field: "productionDate",
        title: "生产日期",
        field: "machineName",
        title: "机台位置",
        type: "string",
        width: 160,
        width: 100,
        align: "left",
      },
      {
        field: "effectiveDate",
        title: "有效期",
        field: "makeCode",
        title: "加工中心",
        type: "string",
        width: 160,
        width: 100,
        align: "left",
      },
      {
@@ -230,10 +261,40 @@
      {
        field: "status",
        title: "状态",
        type: "select",
        width: 100,
        align: "left",
        bind: { key: "outboundStatusEnum", data: [] },
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
        bind:{key:"outLockStockStatusEnum", data: []}
        hidden: true,
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
        hidden: true,
      },
    ]);
    const detail = ref({
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/outbound/proDeliveryOrder.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,169 @@
<template>
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
<script>
import extend from "@/extension/outbound/proDeliveryOrder.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "销售出库单",
      name: "proDeliveryOrder",
      url: "/ProDeliveryOrder/",
      sortName: "id",
    });
    const editFormFields = ref({
    });
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
      warehouseId: "",
      proDeliveryCode: "",
      deliveryCode: "",
      deliveryType: "",
      proDeliveryStatus: "",
    });
    const searchFormOptions = ref([
      [
        { title: "仓库", field: "warehouseId", type: "select", dataKey: "warehouses", data: [] },
        { title: "WMS单号", field: "proDeliveryCode", type: "like" },
        { title: "出库单号", field: "deliveryCode", type: "like" },
        { title: "订单类型", field: "deliveryType", type: "select", dataKey: "outOrderTypeEnum", data: [] },
      ],
      [
        { title: "状态", field: "proDeliveryStatus", type: "select", dataKey: "outboundStatusEnum", data: [] },
      ],
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "warehouseId",
        title: "仓库",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "warehouses", data: [] }
      },
      {
        field: "proDeliveryCode",
        title: "WMS单号",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "deliveryCode",
        title: "出库单号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "deliveryType",
        title: "订单类型",
        type: "select",
        width: 150,
        align: "left",
        bind: { key: "outOrderTypeEnum", data: [] },
      },
      {
        field: "employeeName",
        title: "创建员工",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "proDeliveryStatus",
        title: "状态",
        type: "decimal",
        width: 90,
        align: "left",
        bind: { key: "outboundStatusEnum", data: [] },
      },
      {
        field: "planDate",
        title: "计划领料时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "details",
        title: "采购列表",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "入库单明细",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/outbound/proDeliveryOrderDetail.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
<template>
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
<script>
import extend from "@/extension/outbound/proDeliveryOrderDetail.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "销售出库单明细",
      name: "proDeliveryOrderDetail",
      url: "/ProDeliveryOrderDetail/",
      sortName: "id",
    });
    const editFormFields = ref({
    });
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
      proDeliveryId: "",
      detailId: "",
      saleOrderNo: "",
      customer: "",
      materialCode: "",
      materielName: "",
      materialLot: "",
      proDeliveryDetailStatus: "",
    });
    const searchFormOptions = ref([
      [
        { title: "头表", field: "proDeliveryId", type: "like" },
        { title: "出库明细ID", field: "detailId", type: "like" },
        { title: "销售单号", field: "saleOrderNo", type: "like" },
        { title: "客户编号", field: "customer", type: "like" },
      ],
      [
        { title: "物料编号", field: "materialCode", type: "like" },
        { title: "物料名称", field: "materialName", type: "like" },
        { title: "物料批次", field: "materialLot", type: "like" },
        { title: "状态", field: "proDeliveryDetailStatus", type: "select", dataKey: "outboundStatusEnum", data: [] },
      ],
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "proDeliveryId",
        title: "头表",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "detailId",
        title: "出库明细ID",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "saleOrderNo",
        title: "销售单号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "customer",
        title: "客户编号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialCode",
        title: "物料编号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materielName",
        title: "物料名称",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materialLot",
        title: "物料批次",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "quantity",
        title: "数量",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "unit",
        title: "单位",
        type: "string",
        width: 120,
        align: "left",
      },
      {
        field: "assignTotalUsage",
        title: "已分配需求数量",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "outTotalUsage",
        title: "已出需求数量",
        type: "decimal",
        width: 120,
        align: "left",
      },
      {
        field: "proDeliveryDetailStatus",
        title: "状态",
        type: "decimal",
        width: 90,
        align: "left",
        bind: { key: "outboundStatusEnum", data: [] },
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "入库单明细",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/taskinfo/task.vue
@@ -1,19 +1,10 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
    <script>
<script>
import extend from "@/extension/taskinfo/task.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
@@ -35,7 +26,7 @@
      taskStatus: "",
      taskType: "",
      sourceAddress: "",
      rfidCode:"",
      rfidCode: "",
      targetAddress: "",
      currentAddress: "",
      nextAddress: "",
@@ -47,30 +38,34 @@
        { title: "任务号", field: "taskNum", type: "int" },
        { title: "条码/托盘号", field: "palletCode", type: "like" },
        { title: "RFID编号", field: "rfidCode", type: "like" },
        { title: "单据编号", field: "orderNo", type: "like" }
      ],
      [
        { title: "任务类型",field: "taskType",type: "selectList",dataKey: "taskType",data: [],},
        { title: "任务状态",field: "taskStatus",type: "selectList",dataKey: "taskStatusEnum",data: [],},
        { title: "巷道号", field: "roadway", type: "selectList",dataKey: "",data: [{key: "SC01_CP",value: "1号堆垛机-成品库"},
        {key: "SC02_CP",value: "2号堆垛机-成品库"},
        {key: "SC03_CP",value: "3号堆垛机-成品库"},
        {key: "SC04_CP",value: "4号堆垛机-成品库"},
        {key: "SC05_CP",value: "5号堆垛机-成品库"},
        {key: "SC01_YL",value: "1号堆垛机-原料库"},
        {key: "SC02_YL",value: "2号堆垛机-原料库"},
        {key: "SC03_YLDual",value: "3号堆垛机-原料库"},
        {key: "SC04_YLDual",value: "4号堆垛机-原料库"},
        {key: "SC05_YLDual",value: "5号堆垛机-原料库"},
      ], },
        { title: "任务类型", field: "taskType", type: "selectList", dataKey: "taskType", data: [], },
        { title: "任务状态", field: "taskStatus", type: "selectList", dataKey: "taskStatusEnum", data: [], },
        {
          title: "巷道号", field: "roadway", type: "selectList", dataKey: "", data: [{ key: "SC01_CP", value: "1号堆垛机-成品库" },
          { key: "SC02_CP", value: "2号堆垛机-成品库" },
          { key: "SC03_CP", value: "3号堆垛机-成品库" },
          { key: "SC04_CP", value: "4号堆垛机-成品库" },
          { key: "SC05_CP", value: "5号堆垛机-成品库" },
          { key: "SC01_YL", value: "1号堆垛机-原料库" },
          { key: "SC02_YL", value: "2号堆垛机-原料库" },
          { key: "SC03_YLDual", value: "3号堆垛机-原料库" },
          { key: "SC04_YLDual", value: "4号堆垛机-原料库" },
          { key: "SC05_YLDual", value: "5号堆垛机-原料库" },
          ],
        },
        { title: "所属仓库", field: "warehouseId", type: "selectList", dataKey: "warehouses", data: [], },
      ],
      [
        { title: "起始地址", field: "sourceAddress", type: "like" },
        { title: "目标地址", field: "targetAddress", type: "like" },
        { title: "下一地址", field: "nextAddress", type: "like" },
        { title: "创建时间", field: "createDate", type: "datetime" },
      ],
      [
        { title: "创建时间", field: "createDate", type: "datetime" },
        { title: "所属仓库", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],},
        { title: "创建人", field: "creater", type: "like" },
      ],
    ]);
@@ -120,18 +115,20 @@
        type: "string",
        width: 130,
        align: "left",
        bind: { key: "", data: [
        {key: "SC01_CP",value: "1号堆垛机-成品库"},
        {key: "SC02_CP",value: "2号堆垛机-成品库"},
        {key: "SC03_CP",value: "3号堆垛机-成品库"},
        {key: "SC04_CP",value: "4号堆垛机-成品库"},
        {key: "SC05_CP",value: "5号堆垛机-成品库"},
        {key: "SC01_YL",value: "1号堆垛机-原料库"},
        {key: "SC02_YL",value: "2号堆垛机-原料库"},
        {key: "SC03_YLDual",value: "3号堆垛机-原料库"},
        {key: "SC04_YLDual",value: "4号堆垛机-原料库"},
        {key: "SC05_YLDual",value: "5号堆垛机-原料库"},
        ] },
        bind: {
          key: "", data: [
            { key: "SC01_CP", value: "1号堆垛机-成品库" },
            { key: "SC02_CP", value: "2号堆垛机-成品库" },
            { key: "SC03_CP", value: "3号堆垛机-成品库" },
            { key: "SC04_CP", value: "4号堆垛机-成品库" },
            { key: "SC05_CP", value: "5号堆垛机-成品库" },
            { key: "SC01_YL", value: "1号堆垛机-原料库" },
            { key: "SC02_YL", value: "2号堆垛机-原料库" },
            { key: "SC03_YLDual", value: "3号堆垛机-原料库" },
            { key: "SC04_YLDual", value: "4号堆垛机-原料库" },
            { key: "SC05_YLDual", value: "5号堆垛机-原料库" },
          ]
        },
      },
      {
        field: "taskType",
@@ -218,7 +215,7 @@
        type: "datetime",
        width: 160,
        align: "left",
        hidden:true,
        hidden: true,
      },
      {
        field: "wMSId",
@@ -297,5 +294,4 @@
    };
  },
});
</script>
</script>
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/taskinfo/task_hty.vue
@@ -1,19 +1,10 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
    <script>
<script>
import extend from "@/extension/taskinfo/task_hty.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
@@ -43,34 +34,37 @@
      rfidCode: "",
    });
    const searchFormOptions = ref([
    [
      [
        { title: "任务号", field: "taskNum", type: "int" },
        { title: "条码/托盘号", field: "palletCode", type: "like" },
        { title: "RFID编号", field: "rfidCode", type: "like" },
        { title: "单据编号", field: "orderNo", type: "like" },
      ],
      [
        { title: "任务类型",field: "taskType",type: "selectList",dataKey: "taskType",data: [],},
        { title: "任务状态",field: "taskStatus",type: "selectList",dataKey: "taskStatusEnum",data: [],},
        { title: "巷道号", field: "roadway", type: "selectList",dataKey: "",data: [{key: "SC01_CP",value: "1号堆垛机-成品库"},
        {key: "SC02_CP",value: "2号堆垛机-成品库"},
        {key: "SC03_CP",value: "3号堆垛机-成品库"},
        {key: "SC04_CP",value: "4号堆垛机-成品库"},
        {key: "SC05_CP",value: "5号堆垛机-成品库"},
        {key: "SC01_YL",value: "1号堆垛机-原料库"},
        {key: "SC02_YL",value: "2号堆垛机-原料库"},
        {key: "SC03_YLDual",value: "3号堆垛机-原料库"},
        {key: "SC04_YLDual",value: "4号堆垛机-原料库"},
        {key: "SC05_YLDual",value: "5号堆垛机-原料库"},
      ], },
        { title: "任务类型", field: "taskType", type: "selectList", dataKey: "taskType", data: [], },
        { title: "任务状态", field: "taskStatus", type: "selectList", dataKey: "taskStatusEnum", data: [], },
        {
          title: "巷道号", field: "roadway", type: "selectList", dataKey: "", data: [{ key: "SC01_CP", value: "1号堆垛机-成品库" },
          { key: "SC02_CP", value: "2号堆垛机-成品库" },
          { key: "SC03_CP", value: "3号堆垛机-成品库" },
          { key: "SC04_CP", value: "4号堆垛机-成品库" },
          { key: "SC05_CP", value: "5号堆垛机-成品库" },
          { key: "SC01_YL", value: "1号堆垛机-原料库" },
          { key: "SC02_YL", value: "2号堆垛机-原料库" },
          { key: "SC03_YLDual", value: "3号堆垛机-原料库" },
          { key: "SC04_YLDual", value: "4号堆垛机-原料库" },
          { key: "SC05_YLDual", value: "5号堆垛机-原料库" },
          ],
        },
        { title: "所属仓库", field: "warehouseId", type: "selectList", dataKey: "warehouses", data: [], },
      ],
      [
        { title: "起始地址", field: "sourceAddress", type: "like" },
        { title: "目标地址", field: "targetAddress", type: "like" },
        { title: "下一地址", field: "nextAddress", type: "like" },
        { title: "创建时间", field: "createDate", type: "datetime" },
      ],
      [
        { title: "创建时间", field: "createDate", type: "datetime" },
        { title: "所属仓库", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],},
        { title: "创建人", field: "creater", type: "like" },
      ],
    ]);
@@ -120,18 +114,20 @@
        type: "string",
        width: 130,
        align: "left",
        bind: { key: "", data: [
        {key: "SC01_CP",value: "1号堆垛机-成品库"},
        {key: "SC02_CP",value: "2号堆垛机-成品库"},
        {key: "SC03_CP",value: "3号堆垛机-成品库"},
        {key: "SC04_CP",value: "4号堆垛机-成品库"},
        {key: "SC05_CP",value: "5号堆垛机-成品库"},
        {key: "SC01_YL",value: "1号堆垛机-原料库"},
        {key: "SC02_YL",value: "2号堆垛机-原料库"},
        {key: "SC03_YLDual",value: "3号堆垛机-原料库"},
        {key: "SC04_YLDual",value: "4号堆垛机-原料库"},
        {key: "SC05_YLDual",value: "5号堆垛机-原料库"},
        ] },
        bind: {
          key: "", data: [
            { key: "SC01_CP", value: "1号堆垛机-成品库" },
            { key: "SC02_CP", value: "2号堆垛机-成品库" },
            { key: "SC03_CP", value: "3号堆垛机-成品库" },
            { key: "SC04_CP", value: "4号堆垛机-成品库" },
            { key: "SC05_CP", value: "5号堆垛机-成品库" },
            { key: "SC01_YL", value: "1号堆垛机-原料库" },
            { key: "SC02_YL", value: "2号堆垛机-原料库" },
            { key: "SC03_YLDual", value: "3号堆垛机-原料库" },
            { key: "SC04_YLDual", value: "4号堆垛机-原料库" },
            { key: "SC05_YLDual", value: "5号堆垛机-原料库" },
          ]
        },
      },
      {
        field: "taskType",
@@ -297,5 +293,4 @@
    };
  },
});
</script>
</script>
ÏîÄ¿´úÂë/WMS/WMSServices/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
@@ -1,18 +1,10 @@
{
  "Version": 1,
  "WorkspaceRootPath": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\",
  "WorkspaceRootPath": "C:\\Users\\Administrator\\Desktop\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wms\\wmsservices\\widesea_basicservice\\base\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\base\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wms\\wmsservices\\widesea_taskinfoservice\\taskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wms\\wmsservices\\widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|c:\\users\\administrator\\desktop\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wms\\wmsservices\\widesea_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -27,48 +19,14 @@
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "LocationInfoService.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_BasicService\\Base\\LocationInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Base\\LocationInfoService.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_BasicService\\Base\\LocationInfoService.cs",
              "RelativeToolTip": "WIDESEA_BasicService\\Base\\LocationInfoService.cs",
              "ViewState": "AgIAAG4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ToolTip": "C:\\Users\\Administrator\\Desktop\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-09-11T09:31:06.62Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "AssignInboundTaskLocation_BC.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
              "ViewState": "AgIAAEoAAAAAAAAAAAAhwJMAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-09-11T07:40:25.502Z",
              "EditorCaption": ""
            },
            {
              "$type": "Bookmark",
              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
            },
            {
              "$type": "Bookmark",
              "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "TaskService_Inbound.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_TaskInfoService\\TaskService_Inbound.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService_Inbound.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_TaskInfoService\\TaskService_Inbound.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService_Inbound.cs",
              "ViewState": "AgIAANABAAAAAAAAAAAAAOMBAABaAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-09-11T07:30:48.968Z",
              "WhenOpened": "2025-11-16T11:09:41.55Z",
              "EditorCaption": ""
            }
          ]
ÏîÄ¿´úÂë/WMS/WMSServices/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
@@ -1,10 +1,10 @@
{
  "Version": 1,
  "WorkspaceRootPath": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\",
  "WorkspaceRootPath": "C:\\Users\\Administrator\\Desktop\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wms\\wmsservices\\widesea_taskinfoservice\\taskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|c:\\users\\administrator\\desktop\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wms\\wmsservices\\widesea_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -14,27 +14,23 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 2,
          "SelectedChildIndex": 1,
          "Children": [
            {
              "$type": "Bookmark",
              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
            },
            {
              "$type": "Bookmark",
              "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
              "Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}"
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "TaskService_Inbound.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_TaskInfoService\\TaskService_Inbound.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService_Inbound.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_TaskInfoService\\TaskService_Inbound.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService_Inbound.cs",
              "ViewState": "AgIAANABAAAAAAAAAAAAAOMBAAAJAAAAAAAAAA==",
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "C:\\Users\\Administrator\\Desktop\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ToolTip": "C:\\Users\\Administrator\\Desktop\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WMSServices\\WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-09-11T07:30:48.968Z",
              "WhenOpened": "2025-11-16T11:09:41.55Z",
              "EditorCaption": ""
            }
          ]
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/ApiInfoCotroller.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.BaseController;
using WIDESEA_IBasicService;
using WIDESEA_Model.Models;
namespace WIDESEA_WMSServer.Controllers.Basic
{
    /// <summary>
    /// æŽ¥å£ä¿¡æ¯
    /// </summary>
    [Route("api/ApiInfo")]
    [ApiController]
    public class ApiInfoController : ApiBaseController<IApiInfoService, Dt_ApiInfo>
    {
        public ApiInfoController(IApiInfoService service) : base(service)
        {
        }
    }
}
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/CustomerController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.BaseController;
using WIDESEA_IBasicService;
using WIDESEA_Model.Models;
namespace WIDESEA_WMSServer.Controllers.Basic
{
    /// <summary>
    /// å®¢æˆ·ä¿¡æ¯
    /// </summary>
    [Route("api/CustomerInfo")]
    [ApiController]
    public class CustomerInfoController : ApiBaseController<ICustomerInfoService, Dt_CustomerInfo>
    {
        public CustomerInfoController(ICustomerInfoService service) : base(service)
        {
        }
    }
}
ÏîÄ¿×ÊÁÏ/²Ù×÷ÊÖ²á/ÁúÀûµÃWMSϵͳ²Ù×÷˵Ã÷Êé.doc
Binary files differ